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