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