1 2008-06-02 Andreia Gaita <avidigal@novell.com>
3 * Mono.WebBrowser.dll.sources, Mono.WebBrowser2K5.csproj: Added new
5 * Mono.WebBrowser/DOM/IMediaList.cs: Added (Stylesheet.Media support)
6 * Mono.WebBrowser/DOM/IDocument.cs: Added Doctype, Implementation,
8 * Mono.WebBrowser/DOM/IDocumentType.cs,
9 Mono.Mozilla/DOM/DocumentType.cs: Added (Document.DocumentType
11 * Mono.WebBrowser/DOM/IStylesheetList.cs,
12 Mono.Mozilla/DOM/StylesheetList.cs,
13 Mono.Mozilla/interfaces/nsIDOMHTMLStyleElement.cs,
14 Mono.Mozilla/interfaces/nsIDOMDocumentStyle.cs,
15 Mono.Mozilla/interfaces/nsIDOMStyleSheetList.cs: Added
16 (Document.Stylesheets support)
17 * Mono.WebBrowser/DOM/IDOMImplementation.cs,
18 Mono.Mozilla/DOM/DOMImplementation.cs: Added
19 (Document.Implementation support)
20 * Mono.WebBrowser/DOM/INamedNodeMap.cs,
21 Mono.Mozilla/DOM/NamedNodeMap.cs: Added (Node collection for named
22 node access - DocumentType.Entities, DocumentType.Notations)
23 * Mono.WebBrowser/DOM/IStylesheet.cs, Mono.Mozilla/DOM/Stylesheet.cs:
24 Added (StylesheetList.Item support)
25 * Mono.WebBrowser/Exception.cs: Added error code for Preferences
27 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Add
28 Offline, ScrollbarsEnabled
29 * Mono.Mozilla/DOM/Document.cs: This class wraps both dom Document and
30 HTMLDocument, so assume that the object is a Document (which
31 HTMLDocument inherits from), and cast appropriately when calling
32 properties or methods that are from the child class. Add DocType,
33 Implementation, Stylesheets acessors
34 * Mono.Mozilla/interfaces/nsIPrefBranch.cs,
35 Mono.Mozilla/interfaces/nsIPrefService.cs: Added (browser
37 * Mono.Mozilla/interfaces/nsIClassInfo.cs: Added (interface querying
39 * Assembly/AssemblyInfo.cs: Version bump
41 2008-05-22 Andreia Gaita <avidigal@novell.com>
43 * Makefile: Fix build target
45 2008-05-22 Andreia Gaita <avidigal@novell.com>
47 * README: Warning about dependencies
49 2008-05-22 Andreia Gaita <avidigal@novell.com>
51 * Assembly/AssemblyInfo.cs, build-csproj2k5,
52 Mono.WebBrowser.dll.sources, Mono.WebBrowser.csproj,
53 Mono.WebBrowser2K5.csproj, Makefile: Long overdue rename of
54 Mono.Mozilla to Mono.WebBrowser. step 2 - renaming the assembly,
55 project files, version bump
57 2008-05-22 Andreia Gaita <avidigal@novell.com>
59 * Makefile: Long overdue rename of Mono.Mozilla to Mono.WebBrowser.
60 step 1 - directory moving
62 2008-05-22 Andreia Gaita <avidigal@novell.com>
64 * Mono.WebBrowser/DOM/INavigation.cs: GetHashCode is not needed here
65 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Hide the
66 generic event, internal use only
67 * Mono.Mozilla/Callback.cs: Add more xpcom helper objects for
68 OnProgress. Cache the current uri for events.
70 2008-05-20 Andreia Gaita <avidigal@novell.com>
72 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Refactor
73 loading events to something more sane and usable
74 * Mono.Mozilla/DOM/Document.cs: Check for nulls
75 * Mono.Mozilla/Callback.cs: Added progress and request objects from the
76 loading events. Track progress updates.
78 2008-05-08 Andreia Gaita <avidigal@novell.com>
80 * Mono.Mozilla2K5.csproj, Mono.Mozilla.dll.sources: Interfaces added to
81 support stylesheet getters/setters
82 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/Node.cs: Implement
84 * Mono.Mozilla/interfaces/nsIDOMMediaList.cs,
85 Mono.Mozilla/interfaces/nsIDOMCSSValue.cs,
86 Mono.Mozilla/interfaces/nsIDOMCSSStyleSheet.cs,
87 Mono.Mozilla/interfaces/nsIDOMCSSRuleList.cs,
88 Mono.Mozilla/interfaces/nsIDOMStyleSheet.cs,
89 Mono.Mozilla/interfaces/nsIDOMCSSStyleDeclaration.cs,
90 Mono.Mozilla/interfaces/nsIDOMViewCSS.cs,
91 Mono.Mozilla/interfaces/nsIDOMCSSRule.cs: Added to support
92 stylesheet getters/setters
94 2008-05-07 Andreia Gaita <avidigal@novell.com>
96 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/HTMLElement.cs,
97 Mono.Mozilla/DOM/Element.cs: Implement TabIndex
99 2008-05-07 Andreia Gaita <avidigal@novell.com>
101 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/HTMLElement.cs,
102 Mono.Mozilla/DOM/Element.cs: Implement InnerHTML setter
104 2008-05-07 Andreia Gaita <avidigal@novell.com>
106 * Mono.WebBrowser/DOM/IDocument.cs, Mono.Mozilla/DOM/Document.cs,
107 Mono.Mozilla/DOM/Window.cs: Helper to retrieve the window of a
110 2008-04-23 Andreia Gaita <avidigal@novell.com>
112 * Mono.Mozilla/DOM/Node.cs: No need to proxy event objects, they should
115 2008-04-23 Andreia Gaita <avidigal@novell.com>
117 * Mono.Mozilla/DOM/Node.cs: Add support for different types of events
118 that can be injected into the embedded browser
120 2008-04-23 Andreia Gaita <avidigal@novell.com>
122 * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs: Add event
124 * Mono.Mozilla/interfaces/nsIDOMDocumentEvent.cs,
125 Mono.Mozilla.dll.sources, Mono.Mozilla2K5.csproj: Interface to
126 support firing events
127 * Mono.Mozilla/WebBrowser.cs: Hide away debug CWLs
129 2008-04-18 Andreia Gaita <avidigal@novell.com>
131 * Mono.WebBrowser/DOM/IDocument.cs, Mono.Mozilla/DOM/Document.cs,
132 Mono.Mozilla/Base.cs: Add javascript script evaluation support
133 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Add
134 StatusChanged event handler and args
135 * Mono.Mozilla/Callback.cs: Change OnStatusChange callback signature to
136 unicode, implement listeners call.
138 2008-04-18 Andreia Gaita <avidigal@novell.com>
140 * Mono.Mozilla.dll.sources, Mono.Mozilla2K5.csproj: Added new generated
141 interfaces for "Save to Disk" support and page loading monitoring
142 * Mono.Mozilla/interfaces/nsICancelable.cs,
143 Mono.Mozilla/interfaces/nsIWebBrowserPersist.cs: Interfaces for
144 "Save to Disk" support
145 * Mono.Mozilla/interfaces/nsIWebProgress.cs,
146 Mono.Mozilla/interfaces/nsIWebProgressListener.cs: Interfaces for
147 page loading monitoring
149 2008-04-18 Andreia Gaita <avidigal@novell.com>
151 * build-csproj2k5: Fix line endings
153 2008-04-16 Andreia Gaita <avidigal@novell.com>
155 * Mono.Mozilla/DOM/Navigation.cs, Mono.WebBrowser/DOM/INavigation.cs:
156 Add history count getter
158 2008-04-09 Andreia Gaita <avidigal@novell.com>
160 * Mono.Mozilla2K5.csproj, Mono.Mozilla.dll.sources,
161 Mono.Mozilla/interfaces/nsIDOMNSRange.cs: New interface for
162 OuterHTML setter support
163 * Mono.WebBrowser/DOM/INode.cs: Add Attributes accessor
164 * Mono.WebBrowser/DOM/IElement.cs: Add OuterText, OuterHTML
165 * Mono.Mozilla/DOM/HTMLElement.cs: Use the base class's unmanaged
166 object directly instead of storing a copy locally. Makes it easier
167 to replace the object if needed (outerHTML setter). Implement
169 * Mono.Mozilla/DOM/AttributeCollection.cs: Update nodeCount on parent
171 * Mono.Mozilla/DOM/NodeList.cs: Use the Count property getter on all
172 methods at least once to make sure the list always gets a chance to
174 * Mono.Mozilla/DOM/Node.cs: Use the base class's unmanaged object
175 directly instead of storing a copy locally. Makes it easier to
176 replace the object if needed (outerHTML setter).
177 * Mono.Mozilla/DOM/Element.cs: Use the base class's unmanaged object
178 directly instead of storing a copy locally. Makes it easier to
179 replace the object if needed (outerHTML setter). Implement
182 2008-04-07 Andreia Gaita <avidigal@novell.com>
184 * Mono.Mozilla/Base.cs: Change the initialization logic so that
185 gluezilla_init is only called once for every app run (no matter how
186 many browser windows end up being created).
188 2008-04-04 Andreia Gaita <avidigal@novell.com>
\r
190 * Mono.Mozilla/DOM/Element.cs,
\r
191 * Mono.Mozilla/DOM/HTMLElement.cs,
\r
192 * Mono.WebBrowser/DOM/IElement.cs: Implement ClientWidth, ClientHeight,
193 ScrollWidth, ScrollHeight, ScrollLeft, ScrollTop, OffsetHeight,
194 OffsetWidth, OffsetLeft, OffsetTop, OffsetParent, Disabled.
196 2008-04-04 Andreia Gaita <avidigal@novell.com>
198 * Mono.Mozilla/DOM/Document.cs: Differentiate between html and non-html
\r
199 elements when creating the wrapper object for the active element, as
200 certain properties are only implemented in html elements.
202 2008-04-04 Andreia Gaita <avidigal@novell.com>
204 * Mono.Mozilla/AsciiString.cs, Mono.Mozilla/UniString.cs: Fix for string
205 getter cache, always mark the string as dirty when fetching the handle.
207 2008-03-27 Andreia Gaita <avidigal@novell.com>
209 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Add
210 Initialized property so users can check whether everything loaded
211 properly. Abstract the stream behind nice Render methods.
212 * Mono.Mozilla/AsciiString.cs, Mono.Mozilla/UniString.cs: Add missing
213 field to the string container structure. Fix handle getter.
214 * Mono.Mozilla/Base.cs: Debug helper method change
216 2008-03-03 Andreia Gaita <avidigal@novell.com>
218 * Mono.WebBrowser/Exception.cs: Fix 1.1 build. Add header.
220 2008-03-03 Andreia Gaita <avidigal@novell.com>
222 * Mono.Mozilla/Base.cs: Add service manager getter.
223 * Mono.Mozilla/interfaces/nsIWebBrowserStream.cs: Send basic IntPtr instead of byte array, arrays
225 * Mono.Mozilla/WebBrowser.cs: Proper streaming support, and exception handling
226 * Mono.WebBrowser/Exception.cs, Manager.cs: exception handling
228 2008-03-02 Andreia Gaita <avidigal@novell.com>
230 * Mono.Mozilla.dll.sources: Added yet another bunch of interfaces to support
231 streaming and services
232 * Mono.Mozilla/Base.cs: Added a ServiceManager getter to allow direct access
233 to all mozilla services through contract IDs
234 * Mono.Mozilla/WebBrowser.cs: Stream support, for sending data directly to
235 the embedded browser.
237 2008-02-28 Andreia Gaita <avidigal@novell.com>
239 * Mono.Mozilla/DOM/EventListener.cs: Implementation of the
240 nsIDOMEventListener, so that events can be registered as-needed
241 for each dom object, instead of gluezilla firing everything up.
242 This class will eventually replace gluezilla's EventListener.
244 * Mono.Mozilla/DOM/Node.cs: Store the hashcode of the unmanaged
245 object before proxying so we can use it to match events to objects.
246 Implement event handling for dom objects. These events are registered
247 on the managed EventListener and go straight out to the caller (don't
248 go out through the Callback class).
250 * Mono.Mozilla/DOM/HTMLElement.cs,
251 Mono.Mozilla/DOM/Attribute.cs,
252 Mono.Mozilla/DOM/Element.cs: Use the hashcode stored on the
253 parent Node class instead of the local object hashcode (the
254 local object is a proxy, while the stored hashcode is from
257 * Mono.Mozilla/DOM/Navigation.cs: Implement navigation through
260 * Mono.Mozilla/WebBrowser.cs: Move callback-related code to
261 the Callback class. Add support for registering and firing events
262 coming from the Callback class (generic window events, element
263 specific events come through the element it was registered on).
265 * Mono.Mozilla/Callback.cs: Cleaned up unused callbacks, moved
266 callback-related code from WebBrowser.cs to here to keep all
267 callback code together. All events coming through here are
268 window-related and get sent to the handlers registered through
269 the WebBrowser class/interface.
271 * Mono.Mozilla/ICallback.cs: Removed, unnecessary overhead.
272 * Mono.Mozilla/Base.cs: new pinvokes to support the string classes
273 * Mono.Mozilla/UniString.cs: Wrapper for mozilla's nsString class
274 * Mono.Mozilla/AsciiString.cs: Wrapper for mozilla's nsCString class
276 * Mono.Mozilla.dll.sources:
277 new files: AsciiString, UniString, EventListener, nsIDOMEvent,
278 nsIDOMEventListener, nsIDOMEventTarget, nsIDOMKeyEvent, nsIDOMMouseEvent,
279 nsIDOMUIEvent, NodeEventArgs, NodeEventHandler
282 2008-02-06 Andreia Gaita <avidigal@novell.com>
284 * Navigation.cs: Pass the proper flags to reload
286 2008-01-28 Andreia Gaita <avidigal@novell.com>
288 * Assembly/AssemblyInfo.cs: Version change
290 2008-01-28 Andreia Gaita <avidigal@novell.com>
292 * Mono.WebBrowser/DOM/IWindow.cs, Mono.Mozilla/DOM/Window.cs:
293 Add Document, Frames, StatusText properties, Load and Unload events.
295 * Mono.Mozilla/WebBrowser.cs: Add StatusText getter and update it on
296 callback. Add Load and Unload events and bubble them to the current
299 * Mono.Mozilla/ICallback.cs, Mono.Mozilla/Callback.cs: Rearrange callbacks,
300 FocusIn and FocusOut are now Focus and Blur. Add Load and Unload callbacks.
302 * Mono.Mozilla/DOM/DOMObject.cs: Add event handler support.
304 2008-01-24 Andreia Gaita <avidigal@novell.com>
306 * Mono.Mozilla.dll.sources, Mono.Mozilla.2K5.csproj: Added files.
308 * Mono.Mozilla/interfaces/*.cs: Add yet more mozilla interfaces to
309 support getting windows, page encodings, dealing with focused elements.
310 Update GetProxyForObject signature.
312 * Mono.Mozilla/Base.cs: Remove unneeded navigation methods, Navigation
313 now goes through the Navigation object.
314 (GetProxyForObject): Use GetObjectForIUnknown instead of
315 GetTypedObjectForIUnknown, this one is not working properly. GetProxyForObject
316 now has two parameters, instead of three (no need to send the type). All the
317 interfaces have been regenerated and xpidl2cs changed for the new signature.
319 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs:
320 Implement Window getter. Add events and event watcher to track page loading.
322 * Mono.Mozilla/DOM/Attribute.cs, Mono.WebBrowser/DOM/IAttribute.cs:
325 * Mono.WebBrowser/DOM/IDocument.cs, Mono.Mozilla/DOM/Document.cs:
326 Implemented: Active, ActiveLinkColor, Anchors, Applets, Background, BackColor,
327 Charset, Cookie, Domain, ForeColor, Forms, Images, LinkColor, Links,
328 VisitedLinkColor, GetElement, Equals, GetHashCode
\r
330 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/Element.cs:
331 Implemented: Children, TagName, AppendChild, Equals, GetElementsByTagName,
332 GetHashCode, SetAttribute.
333 Changed get_All to return all children recursively.
335 * Mono.WebBrowser/DOM/IElementCollection.cs: Fix header. Add GetHashCode.
337 * Mono.Mozilla/DOM/HTMLElementCollection.cs: Fix header. Change Load() so
338 it only includes html elements in the collection.
340 * Mono.WebBrowser/DOM/INavigation.cs, Mono.Mozilla/DOM/Navigation.cs:
341 Implement GetHashCode. Add CharsetChange option to the load flags so support
342 refreshing a page after an encoding change.
344 * Mono.WebBrowser/DOM/INode.cs, Mono.Mozilla/DOM/Node.cs:
345 Implement: InsertBefore, LastChild, Next, Owner, Parent, Previous, GetHashCode
\r
347 * Mono.WebBrowser/DOM/INodeList.cs, Mono.Mozilla/DOM/NodeList.cs:
348 Fix header. Implement GetHashCode. Add support for creating empty
349 collections that get nodes added later, add support for removing nodes.
351 * Mono.WebBrowser/DOM/IWindow.cs, Mono.Mozilla/DOM/Window.cs:
352 Added. Represents a window (top level or frame) and wraps nsIDOMWindow.
354 * Mono.WebBrowser/DOM/IWindowCollection.cs,
355 Mono.Mozilla/DOM/WindowCollection.cs:
356 Added. Represents a collection of windows, wraps nsIDOMWindowCollection.
358 2008-01-21 Andreia Gaita <avidigal@novell.com>
360 * Mono.WebBrowser/DOM/INavigation.cs: Add Go overload with flags,
361 and LoadFlags enumeration.
363 * Mono.WebBrowser/DOM/IDocument.cs: Add CreateElement, GetElement,
366 * Mono.Mozilla/DOM/Document.cs: Add CreateElement, GetElement,
367 Equals and Write implementations.
368 Fix GetElementsByTagName to return a proper IElementCollection instance.
370 * Mono.Mozilla/DOM/Element.cs: Add Top, Left, Width and Height
371 properties to support retrieving elements by location.
373 * Mono.Mozilla/DOM/Navigation.cs: Reset WebBrowser object cache
374 so that the next time Document (and others, eventually) is accessed,
375 it will be retrieved from mozilla. This should happen on any
376 action that causes a document reload.
378 Add Go overload to support flags when loading an uri (bypassing proxies,
379 refreshing from cache, etc).
381 * Mono.Mozilla/DOM/HTMLElementCollection.cs: Fix inheritance
383 2008-01-21 Andreia Gaita <avidigal@novell.com>
385 * Mono.Mozilla/WebBrowser.cs: fix Document accessor
387 2008-01-14 Andreia Gaita <avidigal@novell.com>
389 * Mono.Mozilla.dll.sources, Mono.Mozilla2K5.csproj: Updated.
391 * build-csproj2k5: Fix guid.
393 * Mono.Mozilla/DOM/*, Mono.WebBrowser/DOM/*:
394 - Reorganization to get rid of unneeded DOM prefix.
395 - All constructors now get a proxy only if the application is running under
396 a different toolkit than the mozilla engine. If they match, no proxies are
397 needed since there is no need to switch threads.
399 * Mono.Mozilla/DOM/DOMObject.cs:
400 - Move resources list to here since most objects need one.
401 - WebBrowser now has some internal methods, so store the class instead of the
402 interface for child classes to use.
404 * Mono.Mozilla/DOM/HTMLElement.cs, Mono.Mozilla/DOM/Element.cs:
405 IElement represents all element types (html or not), and is implemented
406 by two classes, one that wraps html elements, and another that wraps other
407 element types. IElement represents both in the public API so it's easier
408 to deal with for the api user.
410 * Mono.Mozilla/DOM/Attribute.cs,
411 Mono.Mozilla/DOM/AttributeCollection.cs,
412 Mono.WebBrowser/DOM/IAttributeCollection.cs,
413 Mono.WebBrowser/DOM/IAttribute.cs:
414 Added. Represent attributes from an element.
416 * Mono.Mozilla/DOM/Document.cs, Mono.WebBrowser/DOM/IDocument.cs:
417 - renamed from DOMHTMLDocument and IDOMHTMLDocument, respectively
418 - Added GetElementsByTagName method.
419 - Document is now retrieved from the WebNavigation interface, so get a proxy for
420 it in the constructor.
421 - Add an internal method that returns the unmanaged resource, the Element.InnerText
422 property needs to use it.
424 * Mono.Mozilla/DOM/Element.cs, Mono.WebBrowser/DOM/IElement.cs:
425 - renamed from DOMElement and IDOMElement, respectively
426 - Added the following properties: InnerText, InnerHTML, All (returns all child
427 elements), HasAttribute, GetAttribute. InnerHTML is virtual, and is implemented
430 * Mono.Mozilla/DOM/HTMLElement.cs: Implement InnerHTML property.
432 * Mono.Mozilla/DOM/HTMLElementCollection.cs: Added. Subclass of NodeList that
433 represents a list of html elements.
435 * Mono.Mozilla/DOM/Navigation.cs: Added a Document property that uses the
436 nsIWebNavigation interface to access the Document directly instead of going
439 * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs: Renamed from
440 DOMNode and IDOMNode, respectively. Added the following properties:
441 - Attributes (returns the attributes of a node)
443 - Type (returns the type of a node, i.e., Element, Attribute, etc)
446 Added public enumeration to determine a node type.
448 * Mono.Mozilla/DOM/NodeList.cs, Mono.WebBrowser/DOM/INodeList.cs: Renamed
449 from DOMNodeList and IDOMNodeList, respectively. Allow subclasses to fill in and
450 access the collection of nodes, as well as override the loading method.
452 * Mono.Mozilla/interfaces/extras/NodeType.cs: Added. Represents the various
453 types of a Node (element, attribute, etc).
455 * Mono.WebBrowser/DOM/IDOMHTMLElement.cs: Removed. Merged with IElement.
457 * Mono.Mozilla/Base.cs: Add support for tracking which toolkit the
458 application is running under, so I know if I need to create threads and
459 proxies or not. Send that info to gluezilla, and get back which toolkit
460 the mozilla engine is using.
462 * Mono.Mozilla/WebBrowser.cs: Save the application and engine toolkit info.
463 Change the Document accessor so it goes through the Navigation object instead
466 2008-01-14 Andreia Gaita <avidigal@novell.com>
468 * Mono.Mozilla/interfaces/nsIDOMNSHTMLElement.cs: Added. Interface to
469 access the InnerHtml property of an element.
471 2008-01-09 Andreia Gaita <avidigal@novell.com>
\r
473 * Mono.Mozilla/Base.cs,
474 Mono.Mozilla/WebBrowser.cs,
475 Mono.WebBrowser/IWebBrowser.cs,
476 Mono.WebBrowser/Manager.cs:
477 Add initial support for specifying the toolkit the application is running
478 on (gtk or winforms). Knowing this allows gluezilla not to initialize
479 a gtk loop if the application is already running one (and is passing
480 gluezilla a gtk handle and not an X/HWND handle). This should make it
481 easy to also use gluezilla/Mono.Mozilla with gtk apps.
483 2008-01-09 Andreia Gaita <avidigal@novell.com>
\r
485 * build-csproj2k5: take out weird characters creeping in, vstudio
\r
486 doesn't appreciate them.
488 2008-01-07 Andreia Gaita <avidigal@novell.com>
490 * build-csproj2k5: Added to generate Mono.Mozilla2K5.csproj from .sources
491 * Mono.Mozilla2K5.csproj: updated
492 * Makefile: run the build-csproj2k5
494 2008-01-07 Andreia Gaita <avidigal@novell.com>
496 * Mono.Mozilla.dll.sources: Added new classes (see below).
498 * Mono.Mozilla/DOM/DOMObject.cs:
499 - Store reference to the IWebBrowser control that created this (and
500 subclassed) object. This reference needs to be used in any gluezilla calls
501 that have to invoke methods on the mozilla ui thread (any Widget method,
502 whose ptr reference is stored in Base and indexed by IWebBrowser control).
504 - Tweak the Dispose pattern: subclasses don't have their own private
505 dispose field to keep track of whether they've been disposed already, this
506 base class takes care of that.
508 * Mono.Mozilla/DOM/DOMNode.cs:
509 - Initialize a proxy to the nsI object that this wrapper encapsulates.
510 - Cache all objects returned from this object in an hashtable, so that
511 1) we can keep track of all objects and release them earlier and
513 2) we don't have to keep creating new objects everytime we get requests
515 - Implement FirstChild and LocalName
516 - Add Dispose pattern
518 * Mono.Mozilla/DOM/DOMHTMLElement.cs:
519 - Change the inheritance to DOMElement.
520 - Change the constructor to send the nsI object and IWebBrowser up the tree.
521 - Get a proxy to the nsI object.
522 - Add dispose pattern.
524 * Mono.Mozilla/DOM/DOMHTMLDocument.cs:
525 - Change the constructor to send the IWebBrowser instance up the tree.
526 - Add resources hashtable to keep track of already-fetched objects.
527 Particularly useful here since getElementById can be called n times, so it
528 would be complicated to keep track and dispose properly of all the objects.
529 - Implement DocumentElement
530 - Change Body and GetElementById to use resources cache
531 - Fix GetElementById case
533 * Mono.Mozilla/DOM/DOMElement.cs: Added. Inherits from DOMNode, so the
534 parent class also keeps track of the nsI object.
535 * Mono.Mozilla/DOM/DOMNodeList.cs: Added to support easy iteration of nodes.
536 * Mono.Mozilla/DOM/Navigation.cs: Tweak dispose pattern and constructor to
539 * Mono.Mozilla/WebBrowser.cs: Fix the DOMHTMLDocument creation.
541 * Mono.WebBrowser/DOM/IDOMHTMLDocument.cs: Fix case on GetElementById, add
542 DocumentElement property.
544 * Mono.WebBrowser/DOM/IDOMNodeList.cs,
545 Mono.WebBrowser/DOM/IDOMElement.cs:
546 Added, no external functionality for now.
548 2008-01-07 Andreia Gaita <avidigal@novell.com>
550 * Mono.Mozilla/DOM/Navigation.cs: Fix calls to the nsIWebNavigation
551 interface (case change from being generated through xpidl2cs. that's what
552 I get for merging in batches :/ )
554 2008-01-07 Andreia Gaita <avidigal@novell.com>
556 * Mono.Mozilla/Base.cs: Add GetProxyForObject method to create proxies
558 Remove trace listener.
560 2008-01-07 Andreia Gaita <avidigal@novell.com>
562 * Mono.Mozilla/interfaces/nsIDOMRange.cs,
563 Mono.Mozilla/interfaces/nsIDOMDocumentRange.cs:
564 Added to get the content of elements.
566 * Mono.Mozilla/interfaces/*.cs: Regenerated with the xpidl2cs.pl script.
567 Add helper class to create a proxy for all native mozilla interfaces.
569 * Mono.Mozilla/interfaces/extras/: classes for the mozilla interfaces that
570 don't get generated automatically, like enums, delegates, etc.
572 * Mono.Mozilla/interfaces/extras/nsIWriteSegmentFun.cs:
573 Delegate callback for a writer function for mozilla streams
574 (nsIInputStream.readSegments)
576 * Mono.Mozilla/interfaces/extras/Options.cs: Enum for nsIWebNavigation.stop
578 2007-12-25 Andreia Gaita <avidigal@novell.com>
580 * Mono.Mozilla/DOM/DOMHTMLDocument.cs,
581 Mono.Mozilla/DOM/DOMObject.cs
582 Mono.Mozilla/DOM/Navigation.cs:
584 Properly dispose unmanaged resources.
585 Use native mozilla dom interfaces through com directly instead
586 of going through the glue, as they are now proxies that invoke
587 the methods on the main mozilla ui properly (avoiding threading problems).
588 Check if library was properly initialized.
589 Add Go method - implements navigation
590 directly through COM instead of going through the glue.
592 * Mono.Mozilla/interfaces/nsIWebNavigation.cs: Use typed flags instead of
593 generic uint32. Remove comments about threading (as it is now safe to use
596 * Mono.Mozilla/Base.cs: Return bool on initialization so I can track if
597 library was properly initialized from the interfaces that go directly
598 through COM and not through the glue
600 * Mono.Mozilla/WebBrowser.cs: Save initialization result so interfaces
601 don't get called if the library was not initialized.
603 2007-11-08 Andreia Gaita <avidigal@novell.com>
605 * Mono.Mozilla.csproj, Mono.Mozilla2K5.csproj: Synch with .sources
607 2007-11-08 Andreia Gaita <avidigal@novell.com>
609 * Mono.Mozilla.dll.sources,
610 Mono.Mozilla/DOM/Navigation.cs,
611 Mono.Mozilla/interfaces/nsIHistoryEntry.cs,
612 Mono.Mozilla/interfaces/nsIInputStream.cs,
613 Mono.Mozilla/interfaces/nsISHistory.cs,
614 Mono.Mozilla/interfaces/nsISHistoryListener.cs,
615 Mono.Mozilla/interfaces/nsISimpleEnumerator.cs,
616 Mono.Mozilla/interfaces/nsIURI.cs,
617 Mono.Mozilla/interfaces/nsIWebNavigation.cs,
618 Mono.WebBrowser/DOM/INavigation.cs:
620 Add nsIWebNavigation interface and related
621 dependencies to access navigation-related properties directly (CanGoBack, etc).
622 Add INavigation interface and implementation to expose navigation properties.
623 Navigation is now done through this interface (Reload(), Stop(), etc).
625 Please note: Due to threading issues on linux (namely, mozilla being run
626 on a different thread), only methods that do not affect drawing can be
627 invoked through the interfaces, so although Reload is now called from
628 the INavigation interface, it is still being routed through the Base
629 class and the glue code (and not through the nsIWebNavigation.Reload
630 call, as are other non-drawing-affecting methods like GetTitle).
632 * Mono.Mozilla/ICallback.cs, Callback.cs: Remove unneeded events, adjust parameters,
633 add support enumeration for tracking loading state.
635 * Mono.Mozilla/DOM/DOMHTMLDocument.cs, Mono.WebBrowser/DOM/IDOMHTMLDocument.cs:
638 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs:
639 Add Navigation interface getter.
640 Add Navigated event support through the StateChange and LocationChange
642 Clean up cached objects when navigating.
643 Remove Reload, Forward, Stop, Home methods, these are now accessible
644 through the INavigation interface.
646 * Mono.Mozilla/Base.cs: Add call to return the navigation interface.
647 Add MarshalAs so that returning interfaces directly works on mono.
649 2007-10-31 Andreia Gaita <avidigal@novell.com>
651 * Base.cs: Send (and create if needed) user dir to store local mozilla data
653 2007-10-30 Andreia Gaita <avidigal@novell.com>
655 * Base.cs: use the blur method to signal when the webbrowser loses
658 2007-10-18 Andreia Gaita <avidigal@novell.com>
660 * use the newly-renamed gluezilla library
662 2007-10-07 Andreia Gaita <avidigal@novell.com>
664 * More dialog event options.
665 * Mono.Mozilla/interfaces/nsIDOM*: Added mozilla dom interfaces.
666 * Mono.WebBrowser/DOM/IDOM*: Added generic interfaces for public
668 * Mono.Mozilla/DOM/DOM*: corresponding implementations for
670 * WebBrowser.cs: moved to Mono.Mozilla, since it is a
671 mozilla-specific implementation of the generic public
674 2007-09-23 Andreia Gaita <avidigal@novell.com>
676 * Added implementation of dialog popups - alert,
677 alertcheck, confirm, confirmcheck, confirmex, prompt,
678 promptusernameandpassword, promptpassword, select.
681 2007-09-19 Andreia Gaita <avidigal@novell.com>
683 * Forgot to commit an update on the xulbrowser check :/
685 2007-09-13 Andreia Gaita <avidigal@novell.com>
687 * add check for xulbrowser library, if it's not
688 present complain then leave (don't blow up)
689 * change blur method to call deactivate (mozilla seems
690 to need it to know when it loses focus)
691 * add FocusOption enumeration for finer focus control
693 2007-09-12 Andreia Gaita <avidigal@novell.com>
695 * Base.cs, IWebBrowser.cs, WebBrowser.cs: setup shutdown routine
697 2007-08-11 Andreia Gaita <avidigal@novell.com>
699 * AssemblyInfo.cs: fix version and attributes
701 2007-08-10 Andreia Gaita <avidigal@novell.com>
703 * Reorganize sources by namespace, fix csproj
705 2007-08-10 Andreia Gaita <avidigal@novell.com>
709 2007-08-10 Andreia Gaita <avidigal@novell.com>
711 * Add file headers. Take out generic collections, because
712 we'll need to use this on 1.1 as well.
714 2007-08-09 Andreia Gaita <avidigal@novell.com>
716 * Change external generic interfaces to Mono.WebBrowser
717 namespace, while mozilla-specific stuff is Mono.Mozilla.
718 Encapsulate code even further with a Manager, so that
719 callers can only use what's available in the IWebBrowser
720 interface by asking for a new instance from the Manager.
721 Everything not in the IWebBrowser interface is private.
722 Navigation control, new window creation events.
724 2007-07-30 Andreia Gaita <avidigal@novell.com>
726 * Add focus and activation management
727 Add new ICallback interface to encapsulate callbacks
728 from xulbrowser. IWebBrowser has all calls and events
730 Implement mouse, focus and key handlers
732 2007-07-21 Andreia Gaita <avidigal@novell.com>
734 * MozilaInvoke is now called Base, and encapsulates all the
735 pinvokes plus a list of web controls that have been loaded
736 indexed the control, with binding info (callback object and
737 IntPtr to the native xulbrowser instance.
738 WebBrowser.cs implements IWebBrowser and is the entry point
739 to the library - the WebControl api keeps a reference and
741 Add vstudio 2005 project for 2.0 api
743 2007-06-25 Andreia Gaita <avidigal@novell.com>
745 * Callback.cs, IWebBrowser.cs, WebBrowser.cs:
746 Change OnWidgetLoaded callback to send the new
747 handle when it's called.
749 2007-06-18 Andreia Gaita <avidigal@novell.com>