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