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