2008-04-07  Andreia Gaita <avidigal@novell.com> 
	[Backport to 1.9]
	* Mono.Mozilla/Base.cs: Change the initialization logic so that
	  gluezilla_init is only called once for every app run (no matter how
	  many browser windows end up being created).

2008-02-06  Andreia Gaita <avidigal@novell.com>
	[Backport to 1.9]
	* Navigation.cs: Pass the proper flags to reload

2008-01-28  Andreia Gaita <avidigal@novell.com>

	* Assembly/AssemblyInfo.cs: Version change 
	
2008-01-28  Andreia Gaita <avidigal@novell.com>

	* Mono.WebBrowser/DOM/IWindow.cs, Mono.Mozilla/DOM/Window.cs: 
	Add Document, Frames, StatusText properties, Load and Unload events.

	* Mono.Mozilla/WebBrowser.cs: Add StatusText getter and update it on 
	callback. Add Load and Unload events and bubble them to the current
	Window.

	* Mono.Mozilla/ICallback.cs, Mono.Mozilla/Callback.cs: Rearrange callbacks,
	FocusIn and FocusOut are now Focus and Blur. Add Load and Unload callbacks.

	* Mono.Mozilla/DOM/DOMObject.cs: Add event handler support.

2008-01-24  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla.dll.sources, Mono.Mozilla.2K5.csproj: Added files.

	* Mono.Mozilla/interfaces/*.cs: Add yet more mozilla interfaces to 
	support getting windows, page encodings, dealing with focused elements.
	Update GetProxyForObject signature.

	* Mono.Mozilla/Base.cs: Remove unneeded navigation methods, Navigation
	now goes through the Navigation object. 
	(GetProxyForObject): Use GetObjectForIUnknown instead of 
	GetTypedObjectForIUnknown, this one is not working properly. GetProxyForObject
	now has two parameters, instead of three (no need to send the type). All the
	interfaces have been regenerated and xpidl2cs changed for the new signature.

	* Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: 
	Implement Window getter. Add events	and event watcher to track page loading.
	
	* Mono.Mozilla/DOM/Attribute.cs, Mono.WebBrowser/DOM/IAttribute.cs:
	Add GetHashCode

	* Mono.WebBrowser/DOM/IDocument.cs, Mono.Mozilla/DOM/Document.cs:
	Implemented: Active, ActiveLinkColor, Anchors, Applets, Background, BackColor,
	Charset, Cookie, Domain, ForeColor, Forms, Images, LinkColor, Links, 
	VisitedLinkColor, GetElement, Equals, GetHashCode

	* Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/Element.cs:
	Implemented: Children, TagName, AppendChild, Equals, GetElementsByTagName, 
	GetHashCode, SetAttribute.
	Changed get_All to return all children recursively.
	
	* Mono.WebBrowser/DOM/IElementCollection.cs: Fix header. Add GetHashCode.
	
	* Mono.Mozilla/DOM/HTMLElementCollection.cs: Fix header. Change Load() so
	it only includes html elements in the collection.

	* Mono.WebBrowser/DOM/INavigation.cs, Mono.Mozilla/DOM/Navigation.cs: 
	Implement GetHashCode. Add CharsetChange option to the load flags so support
	refreshing a page after an encoding change.

	* Mono.WebBrowser/DOM/INode.cs, Mono.Mozilla/DOM/Node.cs:
	Implement: InsertBefore, LastChild, Next, Owner, Parent, Previous, GetHashCode

	* Mono.WebBrowser/DOM/INodeList.cs, Mono.Mozilla/DOM/NodeList.cs:
	Fix header. Implement GetHashCode. Add support for creating empty 
	collections that get nodes added later, add support for removing nodes. 

	* Mono.WebBrowser/DOM/IWindow.cs, Mono.Mozilla/DOM/Window.cs:
	Added. Represents a window (top level or frame) and wraps nsIDOMWindow.

	* Mono.WebBrowser/DOM/IWindowCollection.cs, 
	Mono.Mozilla/DOM/WindowCollection.cs:
	Added. Represents a collection of windows, wraps nsIDOMWindowCollection.

2008-01-21  Andreia Gaita <avidigal@novell.com>

	* Mono.WebBrowser/DOM/INavigation.cs: Add Go overload with flags, 
	and LoadFlags enumeration.

	* Mono.WebBrowser/DOM/IDocument.cs: Add CreateElement, GetElement,
	Equals and Write.

	* Mono.Mozilla/DOM/Document.cs: Add CreateElement, GetElement,
	Equals and Write implementations.
	Fix GetElementsByTagName to return a proper IElementCollection instance.

	* Mono.Mozilla/DOM/Element.cs: Add Top, Left, Width and Height
	properties to support retrieving elements by location.

	* Mono.Mozilla/DOM/Navigation.cs: Reset WebBrowser object cache
	so that the next time Document (and others, eventually) is accessed, 
	it will be retrieved from mozilla. This should happen on any
	action that causes a document reload.
	
	Add Go overload to support flags when loading an uri (bypassing proxies,
	refreshing from cache, etc).

	* Mono.Mozilla/DOM/HTMLElementCollection.cs: Fix inheritance

2008-01-21  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla/WebBrowser.cs: fix Document accessor

2008-01-14  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla.dll.sources, Mono.Mozilla2K5.csproj: Updated.
	
	* build-csproj2k5: Fix guid.

	* Mono.Mozilla/DOM/*, Mono.WebBrowser/DOM/*:
	  - Reorganization to get rid of unneeded DOM prefix.
	  - All constructors now get a proxy only if the application is running under
	    a different toolkit than the mozilla engine. If they match, no proxies are
	    needed since there is no need to switch threads.
	
	* Mono.Mozilla/DOM/DOMObject.cs:
	  - Move resources list to here since most objects need one.
	  - WebBrowser now has some internal methods, so store the class instead of the
	    interface for child classes to use.
	
	* Mono.Mozilla/DOM/HTMLElement.cs, Mono.Mozilla/DOM/Element.cs: 
	  IElement represents all element types (html or not), and is implemented
	  by two classes, one that wraps html elements, and another that wraps other 
	  element types. IElement represents both in the public API so it's easier 
	  to deal with for the api user.
	
	* Mono.Mozilla/DOM/Attribute.cs, 
	  Mono.Mozilla/DOM/AttributeCollection.cs,
	  Mono.WebBrowser/DOM/IAttributeCollection.cs,
	  Mono.WebBrowser/DOM/IAttribute.cs:
	  Added. Represent attributes from an element.
	  
	* Mono.Mozilla/DOM/Document.cs, Mono.WebBrowser/DOM/IDocument.cs: 
	  - renamed from DOMHTMLDocument and IDOMHTMLDocument, respectively
	  - Added GetElementsByTagName method.
	  - Document is now retrieved from the WebNavigation interface, so get a proxy for
	    it in the constructor.
	  - Add an internal method that returns the unmanaged resource, the Element.InnerText
	    property needs to use it.
	
	* Mono.Mozilla/DOM/Element.cs, Mono.WebBrowser/DOM/IElement.cs: 
	  - renamed from DOMElement and IDOMElement, respectively
	  - Added the following properties: InnerText, InnerHTML, All (returns all child
	    elements), HasAttribute, GetAttribute. InnerHTML is virtual, and is implemented
	    in HTMLElement.

	* Mono.Mozilla/DOM/HTMLElement.cs: Implement InnerHTML property. 

	* Mono.Mozilla/DOM/HTMLElementCollection.cs: Added. Subclass of NodeList that
	  represents a list of html elements.

	* Mono.Mozilla/DOM/Navigation.cs: Added a Document property that uses the 
	  nsIWebNavigation interface to access the Document directly instead of going 
	  through gluezilla.
	  
	* Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs: Renamed from 
	  DOMNode and IDOMNode, respectively. Added the following properties:
	  - Attributes (returns the attributes of a node)
	  - ChildNodes
	  - Type (returns the type of a node, i.e., Element, Attribute, etc)
	  - FirstChild
	  - LocalName
	  Added public enumeration to determine a node type.

	* Mono.Mozilla/DOM/NodeList.cs, Mono.WebBrowser/DOM/INodeList.cs: Renamed
	  from DOMNodeList and IDOMNodeList, respectively. Allow subclasses to fill in and 
	  access the collection of nodes, as well as override the loading method.
	 
	* Mono.Mozilla/interfaces/extras/NodeType.cs: Added. Represents the various 
	  types of a Node (element, attribute, etc).
	
	* Mono.WebBrowser/DOM/IDOMHTMLElement.cs: Removed. Merged with IElement.
	
	* Mono.Mozilla/Base.cs: Add support for tracking which toolkit the 
	  application is running under, so I know if I need to create threads and 
	  proxies or not. Send that info to gluezilla, and get back which toolkit
	  the mozilla engine is using.
	  
	* Mono.Mozilla/WebBrowser.cs: Save the application and engine toolkit info.
	  Change the Document accessor so it goes through the Navigation object instead
	  of thru gluezilla.

2008-01-14  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla/interfaces/nsIDOMNSHTMLElement.cs: Added. Interface to
	access the InnerHtml property of an element.

2008-01-09  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla/Base.cs, 
	  Mono.Mozilla/WebBrowser.cs, 
	  Mono.WebBrowser/IWebBrowser.cs,
	  Mono.WebBrowser/Manager.cs:
	  Add initial support for specifying the toolkit the application is running 
	  on (gtk or winforms). Knowing this allows gluezilla not to initialize
	  a gtk loop if the application is already running one (and is passing 
	  gluezilla a gtk handle and not an X/HWND handle). This should make it 
	  easy to also use gluezilla/Mono.Mozilla with gtk apps.

2008-01-09  Andreia Gaita <avidigal@novell.com>

	* build-csproj2k5: take out weird characters creeping in, vstudio 
	doesn't appreciate them.

2008-01-07  Andreia Gaita <avidigal@novell.com>

	* build-csproj2k5: Added to generate Mono.Mozilla2K5.csproj from .sources
	* Mono.Mozilla2K5.csproj: updated
	* Makefile: run the build-csproj2k5

2008-01-07  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla.dll.sources: Added new classes (see below).

	* Mono.Mozilla/DOM/DOMObject.cs: 
	- Store reference to the IWebBrowser control that created this (and	
	subclassed) object. This reference needs to be used in any gluezilla calls 
	that have to invoke methods on the mozilla ui thread (any Widget method, 
	whose ptr reference	is stored in Base and indexed by IWebBrowser control).
	
	- Tweak the Dispose pattern: subclasses don't have their own private
	dispose field to keep track of whether they've been disposed already, this
	base class takes care of that.
	
	* Mono.Mozilla/DOM/DOMNode.cs:
	- Initialize a proxy to the nsI object that this wrapper encapsulates.
	- Cache all objects returned from this object in an hashtable, so that 
		1) we can keep track of all objects and release them earlier and 
		properly
		2) we don't have to keep creating new objects everytime we get requests 
		for read-only stuff 
	- Implement FirstChild and LocalName
	- Add Dispose pattern

	* Mono.Mozilla/DOM/DOMHTMLElement.cs: 
	- Change the inheritance to DOMElement.
	- Change the constructor to send the nsI object and IWebBrowser up the tree.
	- Get a proxy to the nsI object.
	- Add dispose pattern.
	
	* Mono.Mozilla/DOM/DOMHTMLDocument.cs: 
	- Change the constructor to send the IWebBrowser instance up the tree.
	- Add resources hashtable to keep track of already-fetched objects. 
	Particularly useful here since getElementById can be called n times, so it
	would be complicated to keep track and dispose properly of all the objects.
	- Implement DocumentElement
	- Change Body and GetElementById to use resources cache
	- Fix GetElementById case

	* Mono.Mozilla/DOM/DOMElement.cs: Added. Inherits from DOMNode, so the 
	parent class also keeps track of the nsI object.
	* Mono.Mozilla/DOM/DOMNodeList.cs: Added to support easy iteration of nodes.
	* Mono.Mozilla/DOM/Navigation.cs: Tweak dispose pattern and constructor to
	the new model.

	* Mono.Mozilla/WebBrowser.cs: Fix the DOMHTMLDocument creation. 
	
	* Mono.WebBrowser/DOM/IDOMHTMLDocument.cs: Fix case on GetElementById, add
	DocumentElement property.

	* Mono.WebBrowser/DOM/IDOMNodeList.cs, 
	  Mono.WebBrowser/DOM/IDOMElement.cs:
	Added, no external functionality for now.
	
2008-01-07  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla/DOM/Navigation.cs: Fix calls to the nsIWebNavigation
	interface (case change from being generated through xpidl2cs. that's what
	I get for merging in batches :/ )

2008-01-07  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla/Base.cs: Add GetProxyForObject method to create proxies
	for mozilla objects.
	Remove trace listener.

2008-01-07  Andreia Gaita <avidigal@novell.com>

	* Mono.Mozilla/interfaces/nsIDOMRange.cs,
	  Mono.Mozilla/interfaces/nsIDOMDocumentRange.cs:
	Added to get the content of elements. 

	* Mono.Mozilla/interfaces/*.cs: Regenerated with the xpidl2cs.pl script.
	Add helper class to create a proxy for all native mozilla interfaces. 

	* Mono.Mozilla/interfaces/extras/: classes for the mozilla interfaces that 
	don't get generated automatically, like enums, delegates, etc.

	* Mono.Mozilla/interfaces/extras/nsIWriteSegmentFun.cs: 
	Delegate callback for a writer function for mozilla	streams 
	(nsIInputStream.readSegments)
	
	* Mono.Mozilla/interfaces/extras/Options.cs: Enum for nsIWebNavigation.stop

2007-12-25  Andreia Gaita  <avidigal@novell.com>

	* Mono.Mozilla/DOM/DOMHTMLDocument.cs,
	  Mono.Mozilla/DOM/DOMObject.cs
	  Mono.Mozilla/DOM/Navigation.cs:
	  
	Properly dispose unmanaged resources.
	Use native mozilla dom interfaces through com directly instead
	of going through the glue, as they are now proxies that invoke
	the methods on the main mozilla ui properly (avoiding threading problems).
	Check if library was properly initialized.
	Add Go method - implements navigation
	directly through COM instead of going through the glue.
	
	* Mono.Mozilla/interfaces/nsIWebNavigation.cs: Use typed flags instead of
	generic uint32. Remove comments about threading (as it is now safe to use
	this interface)

	* Mono.Mozilla/Base.cs: Return bool on initialization so I can track if
	library was properly initialized from the interfaces that go directly 
	through COM and not through the glue

	* Mono.Mozilla/WebBrowser.cs: Save initialization result so interfaces
	don't get called if the library was not initialized.

2007-11-08  Andreia Gaita  <avidigal@novell.com>

	* Mono.Mozilla.csproj, Mono.Mozilla2K5.csproj: Synch with .sources

2007-11-08  Andreia Gaita  <avidigal@novell.com>

	* Mono.Mozilla.dll.sources,
	  Mono.Mozilla/DOM/Navigation.cs,
	  Mono.Mozilla/interfaces/nsIHistoryEntry.cs,
	  Mono.Mozilla/interfaces/nsIInputStream.cs,
	  Mono.Mozilla/interfaces/nsISHistory.cs,
	  Mono.Mozilla/interfaces/nsISHistoryListener.cs,
	  Mono.Mozilla/interfaces/nsISimpleEnumerator.cs,
	  Mono.Mozilla/interfaces/nsIURI.cs,
	  Mono.Mozilla/interfaces/nsIWebNavigation.cs,
	  Mono.WebBrowser/DOM/INavigation.cs:

	Add nsIWebNavigation interface and related 
	dependencies to access navigation-related properties directly (CanGoBack, etc). 
	Add INavigation interface and implementation to expose navigation properties. 
	Navigation is now done through this interface (Reload(), Stop(), etc).
	
	Please note: Due to threading issues on linux (namely, mozilla being run 
	on a different thread), only methods that do not affect drawing can be 
	invoked through the interfaces, so although Reload is now called from 
	the INavigation interface, it is still being routed through the Base 
	class and the glue code (and not through the nsIWebNavigation.Reload 
	call, as are other non-drawing-affecting methods like GetTitle).

	* Mono.Mozilla/ICallback.cs, Callback.cs: Remove unneeded events, adjust parameters, 
	add support enumeration for tracking loading state.

	* Mono.Mozilla/DOM/DOMHTMLDocument.cs, Mono.WebBrowser/DOM/IDOMHTMLDocument.cs: 
	Add URL getter.

	* Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: 
	Add Navigation interface getter.
	Add Navigated event support through the StateChange and LocationChange
	events.
	Clean up cached objects when navigating.
	Remove Reload, Forward, Stop, Home methods, these are now accessible 
	through the INavigation interface.

	* Mono.Mozilla/Base.cs: Add call to return the navigation interface. 
	Add MarshalAs so that returning interfaces directly works on mono.

2007-10-31  Andreia Gaita  <avidigal@novell.com>

	* Base.cs: Send (and create if needed) user dir to store local mozilla data

2007-10-30  Andreia Gaita  <avidigal@novell.com>

	* Base.cs: use the blur method to signal when the webbrowser loses
	focus
	
2007-10-18 Andreia Gaita <avidigal@novell.com>

	* use the newly-renamed gluezilla library

2007-10-07 Andreia Gaita <avidigal@novell.com>

	* More dialog event options.
	* Mono.Mozilla/interfaces/nsIDOM*: Added mozilla dom interfaces.
	* Mono.WebBrowser/DOM/IDOM*: Added generic interfaces for public 
	  dom access.
	* Mono.Mozilla/DOM/DOM*: corresponding implementations for 
	  accessing mozilla.
	* WebBrowser.cs: moved to Mono.Mozilla, since it is a 
	  mozilla-specific implementation of the generic public
	  interface.

2007-09-23 Andreia Gaita <avidigal@novell.com>

	* Added implementation of dialog popups - alert,
	alertcheck, confirm, confirmcheck, confirmex, prompt, 
	promptusernameandpassword, promptpassword, select.
	Cleaned up some.

2007-09-19 Andreia Gaita <avidigal@novell.com>

	* Forgot to commit an update on the xulbrowser check :/

2007-09-13 Andreia Gaita <avidigal@novell.com>

	* add check for xulbrowser library, if it's not 
	present complain then leave (don't blow up)
	* change blur method to call deactivate (mozilla seems
	to need it to know when it loses focus)
	* add FocusOption enumeration for finer focus control

2007-09-12 Andreia Gaita <avidigal@novell.com>

	* Base.cs, IWebBrowser.cs, WebBrowser.cs: setup shutdown routine

2007-08-11 Andreia Gaita <avidigal@novell.com>

	* AssemblyInfo.cs: fix version and attributes

2007-08-10 Andreia Gaita <avidigal@novell.com>

	* Reorganize sources by namespace, fix csproj

2007-08-10 Andreia Gaita <avidigal@novell.com>

	* Move to main tree

2007-08-10 Andreia Gaita <avidigal@novell.com>

	* Add file headers. Take out generic collections, because
	we'll need to use this on 1.1 as well.

2007-08-09 Andreia Gaita <avidigal@novell.com>

	* Change external generic interfaces to Mono.WebBrowser
	namespace, while mozilla-specific stuff is Mono.Mozilla.
	Encapsulate code even further with a Manager, so that
	callers can only use what's available in the IWebBrowser
	interface by asking for a new instance from the Manager.
	Everything not in the IWebBrowser interface is private.
	Navigation control, new window creation events.

2007-07-30 Andreia Gaita <avidigal@novell.com>

	* Add focus and activation management
	  Add new ICallback interface to encapsulate callbacks
	  from xulbrowser. IWebBrowser has all calls and events
	  accessible from MWF.
	  Implement mouse, focus and key handlers

2007-07-21 Andreia Gaita <avidigal@novell.com>

	* MozilaInvoke is now called Base, and encapsulates all the
	pinvokes plus a list of web controls that have been loaded
	indexed the control, with binding info (callback object and
	IntPtr to the native xulbrowser instance.
	WebBrowser.cs implements IWebBrowser and is the entry point
	to the library - the WebControl api keeps a reference and 
	calls only this.
	Add vstudio 2005 project for 2.0 api

2007-06-25 Andreia Gaita <avidigal@novell.com>

	* Callback.cs, IWebBrowser.cs, WebBrowser.cs: 
	Change OnWidgetLoaded callback to send the new 	
	handle when it's called.
	
2007-06-18	Andreia Gaita	<avidigal@novell.com>

	* initial checkin.
