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