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