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