* Mono.Mozilla/DOM/Node.cs,
[mono.git] / mcs / class / Mono.WebBrowser / ChangeLog
index 9c688c05383fc0a2d94e0206a613952320fc8ef2..63bb28984fff85586272207f9a3e09ea19d8c4f2 100644 (file)
@@ -1,3 +1,269 @@
+2008-10-22  Andreia Gaita  <shana@jitted.com>
+
+       * Mono.Mozilla/DOM/Node.cs,
+         Mono.Mozilla/DOM/Window.cs: Fix overrides
+
+2008-10-22  Andreia Gaita  <shana@jitted.com>
+
+       * Mono.Mozilla/DOM/Document.cs,
+         Mono.Mozilla/DOM/Element.cs,
+         Mono.Mozilla/DOM/Node.cs,
+         Mono.Mozilla/DOM/Window.cs,
+         Mono.WebBrowser/DOM/IDocument.cs,
+         Mono.WebBrowser/DOM/IElement.cs,
+         Mono.WebBrowser/DOM/INode.cs,
+         Mono.WebBrowser/DOM/IWindow.cs: Fix equality operators (fixes #428173)
+
+2008-10-14  Andreia Gaita  <avidigal@novell.com>
+
+       * Mono.WebBrowser2K5.csproj:
+       * Mono.WebBrowser.dll.sources:
+       * Mono.Mozilla/interfaces/nsIDocumentEncoder.cs:
+       * Mono.Mozilla/interfaces/extras/DocumentEncoderFlags.cs:
+       * Mono.Mozilla/interfaces/nsIDocumentEncoderNodeFixup.cs:
+         Added new interfaces to support retrieving node contents (OuterHTML and probably
+         others)
+
+       * Mono.WebBrowser/Exception.cs: New exception for the
+         DocumentEncoder service
+
+       * Mono.Mozilla/DOM/HTMLElement.cs: Rewrite OuterHTML,
+         looks like the old approach doesn't work on 1.9, but DocumentRange is
+         not working properly when I use selectNode directly, so the silliness
+         of recreating the current tag's html by going through all the
+         properties is ongoing.
+
+       * Mono.Mozilla/DOM/Element.cs:
+       * Mono.Mozilla/DOM/Document.cs: 
+       * Mono.Mozilla/DOM/Node.cs:
+       * Mono.Mozilla/DOM/HTMLElement.cs: The Node class now
+         always stores retrieved unmanaged nodes, regardless of type, and
+         child classes only cast from it for easier access.
+
+       * Mono.Mozilla/DOM/Node.cs: The Node class now always
+         stores retrieved unmanaged nodes, regardless of type, and child
+         classes only cast from it for easier access. Added a reference to the
+         original unmanaged object prior to proxying (Documentencoder only
+         works with non-proxies objects, apparently)
+
+       * Mono.Mozilla/DOM/Window.cs: Expose the unmanaged
+         window object internally, the selection api needs it.
+
+       * Mono.Mozilla/Base.cs:
+       * Mono.Mozilla/WebBrowser.cs: Get the service manager
+         from the proper thread
+
+2008-09-23  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/interfaces/nsIServiceManager.cs: change signature to
+         return the object immediately
+
+2008-09-23  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs,
+         Mono.Mozilla/WebBrowser.cs: Expose native accessibility object
+       * Mono.WebBrowser/Exception.cs, Mono.WebBrowser2K5.csproj,
+         Mono.WebBrowser.dll.sources,
+         Mono.Mozilla/interfaces/nsIErrorService.cs: Add error service for
+         error lookups
+
+2008-09-23  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/interfaces/nsIDOMRGBColor.cs,
+         Mono.Mozilla/interfaces/nsITimer.cs,
+         Mono.Mozilla/interfaces/nsIAccessible.cs,
+         Mono.Mozilla/interfaces/nsIDOMDOMStringList.cs,
+         Mono.Mozilla/interfaces/nsIAccessibleRetrieval.cs,
+         Mono.Mozilla/interfaces/nsIAccessibleRelation.cs,
+         Mono.Mozilla/interfaces/nsITimerCallback.cs,
+         Mono.Mozilla/interfaces/nsIAccessibilityService.cs,
+         Mono.Mozilla/interfaces/nsIOutputStream.cs,
+         Mono.Mozilla/interfaces/nsIPersistentProperties.cs,
+         Mono.Mozilla/interfaces/nsIDOMCSSPrimitiveValue.cs,
+         Mono.Mozilla/interfaces/nsIDOMCounter.cs,
+         Mono.Mozilla/interfaces/nsIObserver.cs,
+         Mono.Mozilla/interfaces/extras/nsIReadSegmentFun.cs,
+         Mono.Mozilla/interfaces/extras/nsITimerCallbackDelegate.cs,
+         Mono.Mozilla/interfaces/nsIProperties.cs,
+         Mono.Mozilla/interfaces/nsIDOMRect.cs,
+         Mono.Mozilla/interfaces/nsIAccessNode.cs,
+         Mono.Mozilla/interfaces/nsIArray.cs,
+         Mono.Mozilla/interfaces/nsIAccessibleDocument.cs,
+         Mono.WebBrowser.dll.sources, Mono.WebBrowser2K5.csproj: Added
+         Accessibility interfaces
+
+2008-09-16  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/AsciiString.cs: Change marshalling to ansi - auto is no
+         good on windows. Fixes #414146
+
+2008-09-08  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/Base.cs: Create cache directory with a version specific
+         name so there's no conflict when the user has both xulrunner
+         runtime 1.8 and 1.9 installed. Get rid of gluezillaInstalled flag,
+         redundant. Bind now returns bool so I can check if the engine is
+         actually running properly after initialization. Check the return
+         value of createBrowserWindow and bail out if no valid pointer is
+         returned. Protect the string functions with a check so they don't
+         get called if the engine is not initialized.
+       * Mono.Mozilla/WebBrowser.cs: Update the loaded flag so users can now
+         if the engine is actually running properly.
+
+2008-08-19  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/Base.cs: Clean up list of webcontrol objects when
+         shutting down, and switch the initialized flag when there are no
+         more controls loaded. Lock initialization and shutdown.
+
+2008-08-19  Andreia Gaita <avidigal@novell.com> 
+
+       * Assembly/AssemblyInfo.cs, ChangeLog,
+         Mono.WebBrowser/DOM/IAttribute.cs,
+         Mono.WebBrowser/DOM/IElementCollection.cs,
+         Mono.WebBrowser/DOM/IWindow.cs, Mono.WebBrowser/DOM/IDocument.cs,
+         Mono.WebBrowser/DOM/IAttributeCollection.cs,
+         Mono.WebBrowser/DOM/INodeList.cs,
+         Mono.WebBrowser/DOM/IWindowCollection.cs,
+         Mono.WebBrowser/DOM/INode.cs, Mono.WebBrowser/DOM/IElement.cs,
+         Mono.WebBrowser/DOM/INavigation.cs,
+         Mono.WebBrowser/DOM/IHistory.cs, Mono.WebBrowser/Exception.cs,
+         Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/DOM/Document.cs,
+         Mono.Mozilla/DOM/HTMLElement.cs,
+         Mono.Mozilla/DOM/AttributeCollection.cs,
+         Mono.Mozilla/DOM/DocumentType.cs, Mono.Mozilla/DOM/NodeList.cs,
+         Mono.Mozilla/DOM/WindowCollection.cs, Mono.Mozilla/DOM/Node.cs,
+         Mono.Mozilla/DOM/NamedNodeMap.cs, Mono.Mozilla/DOM/Element.cs,
+         Mono.Mozilla/DOM/HTMLElementCollection.cs,
+         Mono.Mozilla/DOM/Navigation.cs, Mono.Mozilla/DOM/History.cs,
+         Mono.Mozilla/DOM/Attribute.cs, Mono.Mozilla/DOM/DOMObject.cs,
+         Mono.Mozilla/DOM/Window.cs, Mono.Mozilla/Callback.cs,
+         Mono.Mozilla/AsciiString.cs, Mono.Mozilla/WebBrowser.cs,
+         Mono.Mozilla/UniString.cs, Mono.Mozilla/Base.cs:  Fix inconsistent
+         newlines. Add eol-style property.
+
+2008-08-19  Andreia Gaita <avidigal@novell.com> 
+
+       * Assembly/AssemblyInfo.cs, ChangeLog,
+         Mono.WebBrowser/DOM/IAttribute.cs,
+         Mono.WebBrowser/DOM/IElementCollection.cs,
+         Mono.WebBrowser/DOM/IWindow.cs, Mono.WebBrowser/DOM/IDocument.cs,
+         Mono.WebBrowser/DOM/IAttributeCollection.cs,
+         Mono.WebBrowser/DOM/INodeList.cs,
+         Mono.WebBrowser/DOM/IWindowCollection.cs,
+         Mono.WebBrowser/DOM/INode.cs, Mono.WebBrowser/DOM/IElement.cs,
+         Mono.WebBrowser/DOM/INavigation.cs,
+         Mono.WebBrowser/DOM/IHistory.cs, Mono.WebBrowser/Exception.cs,
+         Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/DOM/Document.cs,
+         Mono.Mozilla/DOM/HTMLElement.cs,
+         Mono.Mozilla/DOM/AttributeCollection.cs,
+         Mono.Mozilla/DOM/DocumentType.cs, Mono.Mozilla/DOM/NodeList.cs,
+         Mono.Mozilla/DOM/WindowCollection.cs, Mono.Mozilla/DOM/Node.cs,
+         Mono.Mozilla/DOM/NamedNodeMap.cs, Mono.Mozilla/DOM/Element.cs,
+         Mono.Mozilla/DOM/HTMLElementCollection.cs,
+         Mono.Mozilla/DOM/Navigation.cs, Mono.Mozilla/DOM/History.cs,
+         Mono.Mozilla/DOM/Attribute.cs, Mono.Mozilla/DOM/DOMObject.cs,
+         Mono.Mozilla/DOM/Window.cs, Mono.Mozilla/Callback.cs,
+         Mono.Mozilla/AsciiString.cs, Mono.Mozilla/WebBrowser.cs,
+         Mono.Mozilla/UniString.cs, Mono.Mozilla/Base.cs: Fix inconsistent
+         newlines. Add eol-style property
+
+2008-06-11  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/DOM/Attribute.cs: Fix missing setter
+
+2008-06-10  Andreia Gaita <avidigal@novell.com> 
+
+       * Assembly/AssemblyInfo.cs: Version bump
+       * Mono.Mozilla/Callback.cs: Fix initial load bug (uri can be null on
+         first load). Add LoadStopped event for documents. Add Security
+         change and Context menu events.
+       * Mono.Mozilla/DOM/AttributeCollection.cs: Fix header. Add support for
+         creating empty collections.
+       * Mono.Mozilla/DOM/Document.cs, Mono.WebBrowser/DOM/IDocument.cs:
+         Optimize Window getter. Add CreateAttribute, LoadStoppedEvent
+       * Mono.Mozilla/DOM/DOMImplementation.cs,
+         Mono.Mozilla/DOM/Navigation.cs: Save documents to a list so they
+         can be looked up later for events.
+       * Mono.Mozilla/DOM/Element.cs, Mono.WebBrowser/DOM/IElement.cs: Add
+         Focus, Blur, ScrollIntoView
+       * Mono.Mozilla/DOM/EventListener.cs: Fix header. Add support for firing
+         events for any type of object
+       * Mono.Mozilla/DOM/History.cs, Mono.WebBrowser/DOM/IHistory.cs: Added
+         to support separate history on each window
+       * Mono.Mozilla/DOM/HTMLElement.cs: Moved AppendChild and InsertBefore
+         to the Node parent class
+       * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs: Fetch owner
+         document from a cached list if it's been looked up before. Add
+         Value setter. Add InsertBefore and AppendChild from HTMLElement,
+         implement ReplaceChild, RemoveChild. Add AttachEventHandler and
+         DetachEventHandler to support generic event firing. Add Focus, Blur
+         events.
+       * Mono.Mozilla/DOM/NodeList.cs: add support for empty lists.
+       * Mono.Mozilla/DOM/Window.cs, Mono.WebBrowser/DOM/IWindow.cs: Fetch
+         owner document from a cached list if it's been looked up before.
+         Add history and focus support. Add Load, Unload, OnFocus, OnBlur,
+         Error, Scroll events.
+       * Mono.Mozilla/interfaces/extras/NodeType.cs,
+         Mono.Mozilla/interfaces/extras/Options.cs: Fix header
+       * Mono.Mozilla/WebBrowser.cs, Mono.WebBrowser/IWebBrowser.cs: Add
+         hashtable for caching document objects. Remove ScrollbarsEnabled
+         implementation, not needed (webbrowser is using javascript
+         instead). Add Security and Context menu events.
+       * Mono.WebBrowser.dll.sources, Mono.WebBrowser2K5.csproj: Added new
+         classes/interfaces: Mono.Mozilla/DOM/History.cs,
+         Mono.WebBrowser/DOM/IHistory.cs, Mono.WebBrowser/DOM/EventArgs.cs,
+         Mono.WebBrowser/DOM/EventHandlers.cs. Removed classes/interfaces:
+         Mono.WebBrowser/DOM/NodeEventArgs.cs,
+         Mono.WebBrowser/DOM/NodeEventHandler.cs
+       * Mono.WebBrowser/DOM/EventArgs.cs,
+         Mono.WebBrowser/DOM/EventHandlers.cs: Consolidate events into a
+         single file.
+       * Mono.WebBrowser/DOM/NodeEventArgs.cs: Removed, event declarations are
+         now in EventArgs
+       * Mono.WebBrowser/DOM/NodeEventHandler.cs: Removed, event declarations
+         are now in EventHandlers
+
+2008-06-02  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.WebBrowser.dll.sources, Mono.WebBrowser2K5.csproj: Added new
+         classes/interfaces
+       * Mono.WebBrowser/DOM/IMediaList.cs: Added (Stylesheet.Media support)
+       * Mono.WebBrowser/DOM/IDocument.cs: Added Doctype, Implementation,
+         Stylesheets
+       * Mono.WebBrowser/DOM/IDocumentType.cs,
+         Mono.Mozilla/DOM/DocumentType.cs: Added (Document.DocumentType
+         support)
+       * Mono.WebBrowser/DOM/IStylesheetList.cs,
+         Mono.Mozilla/DOM/StylesheetList.cs,
+         Mono.Mozilla/interfaces/nsIDOMHTMLStyleElement.cs,
+         Mono.Mozilla/interfaces/nsIDOMDocumentStyle.cs,
+         Mono.Mozilla/interfaces/nsIDOMStyleSheetList.cs: Added
+         (Document.Stylesheets support)
+       * Mono.WebBrowser/DOM/IDOMImplementation.cs,
+         Mono.Mozilla/DOM/DOMImplementation.cs: Added
+         (Document.Implementation support)
+       * Mono.WebBrowser/DOM/INamedNodeMap.cs,
+         Mono.Mozilla/DOM/NamedNodeMap.cs: Added (Node collection for named
+         node access - DocumentType.Entities, DocumentType.Notations)
+       * Mono.WebBrowser/DOM/IStylesheet.cs, Mono.Mozilla/DOM/Stylesheet.cs:
+         Added (StylesheetList.Item support)
+       * Mono.WebBrowser/Exception.cs: Added error code for Preferences
+         service
+       * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Add
+         Offline, ScrollbarsEnabled
+       * Mono.Mozilla/DOM/Document.cs: This class wraps both dom Document and
+         HTMLDocument, so assume that the object is a Document (which
+         HTMLDocument inherits from), and cast appropriately when calling
+         properties or methods that are from the child class. Add DocType,
+         Implementation, Stylesheets acessors
+       * Mono.Mozilla/interfaces/nsIPrefBranch.cs,
+         Mono.Mozilla/interfaces/nsIPrefService.cs: Added (browser
+         preferences support)
+       * Mono.Mozilla/interfaces/nsIClassInfo.cs: Added (interface querying
+         support)
+       * Assembly/AssemblyInfo.cs: Version bump
+
 2008-05-22  Andreia Gaita <avidigal@novell.com> 
 
        * Makefile: Fix build target
 2008-05-22  Andreia Gaita <avidigal@novell.com> 
 
        * Makefile: Fix build target
          gluezilla_init is only called once for every app run (no matter how
          many browser windows end up being created).
 
          gluezilla_init is only called once for every app run (no matter how
          many browser windows end up being created).
 
-2008-04-04  Andreia Gaita <avidigal@novell.com> \r
-\r
-       * Mono.Mozilla/DOM/Element.cs,\r
-       * Mono.Mozilla/DOM/HTMLElement.cs,\r
+2008-04-04  Andreia Gaita <avidigal@novell.com> 
+
+       * Mono.Mozilla/DOM/Element.cs,
+       * Mono.Mozilla/DOM/HTMLElement.cs,
        * Mono.WebBrowser/DOM/IElement.cs: Implement ClientWidth, ClientHeight, 
        ScrollWidth, ScrollHeight, ScrollLeft, ScrollTop, OffsetHeight, 
        OffsetWidth, OffsetLeft, OffsetTop, OffsetParent, Disabled.
 
 2008-04-04  Andreia Gaita <avidigal@novell.com> 
        * Mono.WebBrowser/DOM/IElement.cs: Implement ClientWidth, ClientHeight, 
        ScrollWidth, ScrollHeight, ScrollLeft, ScrollTop, OffsetHeight, 
        OffsetWidth, OffsetLeft, OffsetTop, OffsetParent, Disabled.
 
 2008-04-04  Andreia Gaita <avidigal@novell.com> 
-\r
-       * Mono.Mozilla/DOM/Document.cs: Differentiate between html and non-html\r
+
+       * Mono.Mozilla/DOM/Document.cs: Differentiate between html and non-html
        elements when creating the wrapper object for the active element, as
        certain properties are only implemented in html elements.
 
        elements when creating the wrapper object for the active element, as
        certain properties are only implemented in html elements.
 
        * 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, 
        * 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\r
+       VisitedLinkColor, GetElement, Equals, GetHashCode
 
        * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/Element.cs:
        Implemented: Children, TagName, AppendChild, Equals, GetElementsByTagName, 
 
        * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/Element.cs:
        Implemented: Children, TagName, AppendChild, Equals, GetElementsByTagName, 
        refreshing a page after an encoding change.
 
        * Mono.WebBrowser/DOM/INode.cs, Mono.Mozilla/DOM/Node.cs:
        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\r
+       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 
 
        * Mono.WebBrowser/DOM/INodeList.cs, Mono.Mozilla/DOM/NodeList.cs:
        Fix header. Implement GetHashCode. Add support for creating empty 
        * Mono.Mozilla/interfaces/nsIDOMNSHTMLElement.cs: Added. Interface to
        access the InnerHtml property of an element.
 
        * Mono.Mozilla/interfaces/nsIDOMNSHTMLElement.cs: Added. Interface to
        access the InnerHtml property of an element.
 
-2008-01-09  Andreia Gaita <avidigal@novell.com>\r
-\r
+2008-01-09  Andreia Gaita <avidigal@novell.com>
+
        * Mono.Mozilla/Base.cs, 
          Mono.Mozilla/WebBrowser.cs, 
          Mono.WebBrowser/IWebBrowser.cs,
        * Mono.Mozilla/Base.cs, 
          Mono.Mozilla/WebBrowser.cs, 
          Mono.WebBrowser/IWebBrowser.cs,
          gluezilla a gtk handle and not an X/HWND handle). This should make it 
          easy to also use gluezilla/Mono.Mozilla with gtk apps.
 
          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>\r
-\r
-       * build-csproj2k5: take out weird characters creeping in, vstudio \r
+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>
        doesn't appreciate them.
 
 2008-01-07  Andreia Gaita <avidigal@novell.com>
        
 2007-06-18     Andreia Gaita   <avidigal@novell.com>
 
        
 2007-06-18     Andreia Gaita   <avidigal@novell.com>
 
-       * initial checkin.
\ No newline at end of file
+       * initial checkin.