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