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