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