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