1 2008-10-22 Andreia Gaita <shana@jitted.com>
3 * Mono.Mozilla/DOM/Node.cs,
4 Mono.Mozilla/DOM/Window.cs: Fix overrides
6 2008-10-22 Andreia Gaita <shana@jitted.com>
8 * Mono.Mozilla/DOM/Document.cs,
9 Mono.Mozilla/DOM/Element.cs,
10 Mono.Mozilla/DOM/Node.cs,
11 Mono.Mozilla/DOM/Window.cs,
12 Mono.WebBrowser/DOM/IDocument.cs,
13 Mono.WebBrowser/DOM/IElement.cs,
14 Mono.WebBrowser/DOM/INode.cs,
15 Mono.WebBrowser/DOM/IWindow.cs: Fix equality operators (fixes #428173)
17 2008-10-14 Andreia Gaita <avidigal@novell.com>
19 * Mono.WebBrowser2K5.csproj:
20 * Mono.WebBrowser.dll.sources:
21 * Mono.Mozilla/interfaces/nsIDocumentEncoder.cs:
22 * Mono.Mozilla/interfaces/extras/DocumentEncoderFlags.cs:
23 * Mono.Mozilla/interfaces/nsIDocumentEncoderNodeFixup.cs:
24 Added new interfaces to support retrieving node contents (OuterHTML and probably
27 * Mono.WebBrowser/Exception.cs: New exception for the
28 DocumentEncoder service
30 * Mono.Mozilla/DOM/HTMLElement.cs: Rewrite OuterHTML,
31 looks like the old approach doesn't work on 1.9, but DocumentRange is
32 not working properly when I use selectNode directly, so the silliness
33 of recreating the current tag's html by going through all the
34 properties is ongoing.
36 * Mono.Mozilla/DOM/Element.cs:
37 * Mono.Mozilla/DOM/Document.cs:
38 * Mono.Mozilla/DOM/Node.cs:
39 * Mono.Mozilla/DOM/HTMLElement.cs: The Node class now
40 always stores retrieved unmanaged nodes, regardless of type, and
41 child classes only cast from it for easier access.
43 * Mono.Mozilla/DOM/Node.cs: The Node class now always
44 stores retrieved unmanaged nodes, regardless of type, and child
45 classes only cast from it for easier access. Added a reference to the
46 original unmanaged object prior to proxying (Documentencoder only
47 works with non-proxies objects, apparently)
49 * Mono.Mozilla/DOM/Window.cs: Expose the unmanaged
50 window object internally, the selection api needs it.
52 * Mono.Mozilla/Base.cs:
53 * Mono.Mozilla/WebBrowser.cs: Get the service manager
54 from the proper thread
56 2008-09-23 Andreia Gaita <avidigal@novell.com>
58 * Mono.Mozilla/interfaces/nsIServiceManager.cs: change signature to
59 return the object immediately
61 2008-09-23 Andreia Gaita <avidigal@novell.com>
63 * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs,
64 Mono.Mozilla/WebBrowser.cs: Expose native accessibility object
65 * Mono.WebBrowser/Exception.cs, Mono.WebBrowser2K5.csproj,
66 Mono.WebBrowser.dll.sources,
67 Mono.Mozilla/interfaces/nsIErrorService.cs: Add error service for
70 2008-09-23 Andreia Gaita <avidigal@novell.com>
72 * Mono.Mozilla/interfaces/nsIDOMRGBColor.cs,
73 Mono.Mozilla/interfaces/nsITimer.cs,
74 Mono.Mozilla/interfaces/nsIAccessible.cs,
75 Mono.Mozilla/interfaces/nsIDOMDOMStringList.cs,
76 Mono.Mozilla/interfaces/nsIAccessibleRetrieval.cs,
77 Mono.Mozilla/interfaces/nsIAccessibleRelation.cs,
78 Mono.Mozilla/interfaces/nsITimerCallback.cs,
79 Mono.Mozilla/interfaces/nsIAccessibilityService.cs,
80 Mono.Mozilla/interfaces/nsIOutputStream.cs,
81 Mono.Mozilla/interfaces/nsIPersistentProperties.cs,
82 Mono.Mozilla/interfaces/nsIDOMCSSPrimitiveValue.cs,
83 Mono.Mozilla/interfaces/nsIDOMCounter.cs,
84 Mono.Mozilla/interfaces/nsIObserver.cs,
85 Mono.Mozilla/interfaces/extras/nsIReadSegmentFun.cs,
86 Mono.Mozilla/interfaces/extras/nsITimerCallbackDelegate.cs,
87 Mono.Mozilla/interfaces/nsIProperties.cs,
88 Mono.Mozilla/interfaces/nsIDOMRect.cs,
89 Mono.Mozilla/interfaces/nsIAccessNode.cs,
90 Mono.Mozilla/interfaces/nsIArray.cs,
91 Mono.Mozilla/interfaces/nsIAccessibleDocument.cs,
92 Mono.WebBrowser.dll.sources, Mono.WebBrowser2K5.csproj: Added
93 Accessibility interfaces
95 2008-09-16 Andreia Gaita <avidigal@novell.com>
97 * Mono.Mozilla/AsciiString.cs: Change marshalling to ansi - auto is no
98 good on windows. Fixes #414146
100 2008-09-08 Andreia Gaita <avidigal@novell.com>
102 * Mono.Mozilla/Base.cs: Create cache directory with a version specific
103 name so there's no conflict when the user has both xulrunner
104 runtime 1.8 and 1.9 installed. Get rid of gluezillaInstalled flag,
105 redundant. Bind now returns bool so I can check if the engine is
106 actually running properly after initialization. Check the return
107 value of createBrowserWindow and bail out if no valid pointer is
108 returned. Protect the string functions with a check so they don't
109 get called if the engine is not initialized.
110 * Mono.Mozilla/WebBrowser.cs: Update the loaded flag so users can now
111 if the engine is actually running properly.
113 2008-08-19 Andreia Gaita <avidigal@novell.com>
115 * Mono.Mozilla/Base.cs: Clean up list of webcontrol objects when
116 shutting down, and switch the initialized flag when there are no
117 more controls loaded. Lock initialization and shutdown.
119 2008-08-19 Andreia Gaita <avidigal@novell.com>
121 * Assembly/AssemblyInfo.cs, ChangeLog,
122 Mono.WebBrowser/DOM/IAttribute.cs,
123 Mono.WebBrowser/DOM/IElementCollection.cs,
124 Mono.WebBrowser/DOM/IWindow.cs, Mono.WebBrowser/DOM/IDocument.cs,
125 Mono.WebBrowser/DOM/IAttributeCollection.cs,
126 Mono.WebBrowser/DOM/INodeList.cs,
127 Mono.WebBrowser/DOM/IWindowCollection.cs,
128 Mono.WebBrowser/DOM/INode.cs, Mono.WebBrowser/DOM/IElement.cs,
129 Mono.WebBrowser/DOM/INavigation.cs,
130 Mono.WebBrowser/DOM/IHistory.cs, Mono.WebBrowser/Exception.cs,
131 Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/DOM/Document.cs,
132 Mono.Mozilla/DOM/HTMLElement.cs,
133 Mono.Mozilla/DOM/AttributeCollection.cs,
134 Mono.Mozilla/DOM/DocumentType.cs, Mono.Mozilla/DOM/NodeList.cs,
135 Mono.Mozilla/DOM/WindowCollection.cs, Mono.Mozilla/DOM/Node.cs,
136 Mono.Mozilla/DOM/NamedNodeMap.cs, Mono.Mozilla/DOM/Element.cs,
137 Mono.Mozilla/DOM/HTMLElementCollection.cs,
138 Mono.Mozilla/DOM/Navigation.cs, Mono.Mozilla/DOM/History.cs,
139 Mono.Mozilla/DOM/Attribute.cs, Mono.Mozilla/DOM/DOMObject.cs,
140 Mono.Mozilla/DOM/Window.cs, Mono.Mozilla/Callback.cs,
141 Mono.Mozilla/AsciiString.cs, Mono.Mozilla/WebBrowser.cs,
142 Mono.Mozilla/UniString.cs, Mono.Mozilla/Base.cs: Fix inconsistent
143 newlines. Add eol-style property.
145 2008-08-19 Andreia Gaita <avidigal@novell.com>
147 * Assembly/AssemblyInfo.cs, ChangeLog,
148 Mono.WebBrowser/DOM/IAttribute.cs,
149 Mono.WebBrowser/DOM/IElementCollection.cs,
150 Mono.WebBrowser/DOM/IWindow.cs, Mono.WebBrowser/DOM/IDocument.cs,
151 Mono.WebBrowser/DOM/IAttributeCollection.cs,
152 Mono.WebBrowser/DOM/INodeList.cs,
153 Mono.WebBrowser/DOM/IWindowCollection.cs,
154 Mono.WebBrowser/DOM/INode.cs, Mono.WebBrowser/DOM/IElement.cs,
155 Mono.WebBrowser/DOM/INavigation.cs,
156 Mono.WebBrowser/DOM/IHistory.cs, Mono.WebBrowser/Exception.cs,
157 Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/DOM/Document.cs,
158 Mono.Mozilla/DOM/HTMLElement.cs,
159 Mono.Mozilla/DOM/AttributeCollection.cs,
160 Mono.Mozilla/DOM/DocumentType.cs, Mono.Mozilla/DOM/NodeList.cs,
161 Mono.Mozilla/DOM/WindowCollection.cs, Mono.Mozilla/DOM/Node.cs,
162 Mono.Mozilla/DOM/NamedNodeMap.cs, Mono.Mozilla/DOM/Element.cs,
163 Mono.Mozilla/DOM/HTMLElementCollection.cs,
164 Mono.Mozilla/DOM/Navigation.cs, Mono.Mozilla/DOM/History.cs,
165 Mono.Mozilla/DOM/Attribute.cs, Mono.Mozilla/DOM/DOMObject.cs,
166 Mono.Mozilla/DOM/Window.cs, Mono.Mozilla/Callback.cs,
167 Mono.Mozilla/AsciiString.cs, Mono.Mozilla/WebBrowser.cs,
168 Mono.Mozilla/UniString.cs, Mono.Mozilla/Base.cs: Fix inconsistent
169 newlines. Add eol-style property
171 2008-06-11 Andreia Gaita <avidigal@novell.com>
173 * Mono.Mozilla/DOM/Attribute.cs: Fix missing setter
175 2008-06-10 Andreia Gaita <avidigal@novell.com>
177 * Assembly/AssemblyInfo.cs: Version bump
178 * Mono.Mozilla/Callback.cs: Fix initial load bug (uri can be null on
179 first load). Add LoadStopped event for documents. Add Security
180 change and Context menu events.
181 * Mono.Mozilla/DOM/AttributeCollection.cs: Fix header. Add support for
182 creating empty collections.
183 * Mono.Mozilla/DOM/Document.cs, Mono.WebBrowser/DOM/IDocument.cs:
184 Optimize Window getter. Add CreateAttribute, LoadStoppedEvent
185 * Mono.Mozilla/DOM/DOMImplementation.cs,
186 Mono.Mozilla/DOM/Navigation.cs: Save documents to a list so they
187 can be looked up later for events.
188 * Mono.Mozilla/DOM/Element.cs, Mono.WebBrowser/DOM/IElement.cs: Add
189 Focus, Blur, ScrollIntoView
190 * Mono.Mozilla/DOM/EventListener.cs: Fix header. Add support for firing
191 events for any type of object
192 * Mono.Mozilla/DOM/History.cs, Mono.WebBrowser/DOM/IHistory.cs: Added
193 to support separate history on each window
194 * Mono.Mozilla/DOM/HTMLElement.cs: Moved AppendChild and InsertBefore
195 to the Node parent class
196 * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs: Fetch owner
197 document from a cached list if it's been looked up before. Add
198 Value setter. Add InsertBefore and AppendChild from HTMLElement,
199 implement ReplaceChild, RemoveChild. Add AttachEventHandler and
200 DetachEventHandler to support generic event firing. Add Focus, Blur
202 * Mono.Mozilla/DOM/NodeList.cs: add support for empty lists.
203 * Mono.Mozilla/DOM/Window.cs, Mono.WebBrowser/DOM/IWindow.cs: Fetch
204 owner document from a cached list if it's been looked up before.
205 Add history and focus support. Add Load, Unload, OnFocus, OnBlur,
206 Error, Scroll events.
207 * Mono.Mozilla/interfaces/extras/NodeType.cs,
208 Mono.Mozilla/interfaces/extras/Options.cs: Fix header
209 * Mono.Mozilla/WebBrowser.cs, Mono.WebBrowser/IWebBrowser.cs: Add
210 hashtable for caching document objects. Remove ScrollbarsEnabled
211 implementation, not needed (webbrowser is using javascript
212 instead). Add Security and Context menu events.
213 * Mono.WebBrowser.dll.sources, Mono.WebBrowser2K5.csproj: Added new
214 classes/interfaces: Mono.Mozilla/DOM/History.cs,
215 Mono.WebBrowser/DOM/IHistory.cs, Mono.WebBrowser/DOM/EventArgs.cs,
216 Mono.WebBrowser/DOM/EventHandlers.cs. Removed classes/interfaces:
217 Mono.WebBrowser/DOM/NodeEventArgs.cs,
218 Mono.WebBrowser/DOM/NodeEventHandler.cs
219 * Mono.WebBrowser/DOM/EventArgs.cs,
220 Mono.WebBrowser/DOM/EventHandlers.cs: Consolidate events into a
222 * Mono.WebBrowser/DOM/NodeEventArgs.cs: Removed, event declarations are
224 * Mono.WebBrowser/DOM/NodeEventHandler.cs: Removed, event declarations
225 are now in EventHandlers
227 2008-06-02 Andreia Gaita <avidigal@novell.com>
229 * Mono.WebBrowser.dll.sources, Mono.WebBrowser2K5.csproj: Added new
231 * Mono.WebBrowser/DOM/IMediaList.cs: Added (Stylesheet.Media support)
232 * Mono.WebBrowser/DOM/IDocument.cs: Added Doctype, Implementation,
234 * Mono.WebBrowser/DOM/IDocumentType.cs,
235 Mono.Mozilla/DOM/DocumentType.cs: Added (Document.DocumentType
237 * Mono.WebBrowser/DOM/IStylesheetList.cs,
238 Mono.Mozilla/DOM/StylesheetList.cs,
239 Mono.Mozilla/interfaces/nsIDOMHTMLStyleElement.cs,
240 Mono.Mozilla/interfaces/nsIDOMDocumentStyle.cs,
241 Mono.Mozilla/interfaces/nsIDOMStyleSheetList.cs: Added
242 (Document.Stylesheets support)
243 * Mono.WebBrowser/DOM/IDOMImplementation.cs,
244 Mono.Mozilla/DOM/DOMImplementation.cs: Added
245 (Document.Implementation support)
246 * Mono.WebBrowser/DOM/INamedNodeMap.cs,
247 Mono.Mozilla/DOM/NamedNodeMap.cs: Added (Node collection for named
248 node access - DocumentType.Entities, DocumentType.Notations)
249 * Mono.WebBrowser/DOM/IStylesheet.cs, Mono.Mozilla/DOM/Stylesheet.cs:
250 Added (StylesheetList.Item support)
251 * Mono.WebBrowser/Exception.cs: Added error code for Preferences
253 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Add
254 Offline, ScrollbarsEnabled
255 * Mono.Mozilla/DOM/Document.cs: This class wraps both dom Document and
256 HTMLDocument, so assume that the object is a Document (which
257 HTMLDocument inherits from), and cast appropriately when calling
258 properties or methods that are from the child class. Add DocType,
259 Implementation, Stylesheets acessors
260 * Mono.Mozilla/interfaces/nsIPrefBranch.cs,
261 Mono.Mozilla/interfaces/nsIPrefService.cs: Added (browser
263 * Mono.Mozilla/interfaces/nsIClassInfo.cs: Added (interface querying
265 * Assembly/AssemblyInfo.cs: Version bump
267 2008-05-22 Andreia Gaita <avidigal@novell.com>
269 * Makefile: Fix build target
271 2008-05-22 Andreia Gaita <avidigal@novell.com>
273 * README: Warning about dependencies
275 2008-05-22 Andreia Gaita <avidigal@novell.com>
277 * Assembly/AssemblyInfo.cs, build-csproj2k5,
278 Mono.WebBrowser.dll.sources, Mono.WebBrowser.csproj,
279 Mono.WebBrowser2K5.csproj, Makefile: Long overdue rename of
280 Mono.Mozilla to Mono.WebBrowser. step 2 - renaming the assembly,
281 project files, version bump
283 2008-05-22 Andreia Gaita <avidigal@novell.com>
285 * Makefile: Long overdue rename of Mono.Mozilla to Mono.WebBrowser.
286 step 1 - directory moving
288 2008-05-22 Andreia Gaita <avidigal@novell.com>
290 * Mono.WebBrowser/DOM/INavigation.cs: GetHashCode is not needed here
291 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Hide the
292 generic event, internal use only
293 * Mono.Mozilla/Callback.cs: Add more xpcom helper objects for
294 OnProgress. Cache the current uri for events.
296 2008-05-20 Andreia Gaita <avidigal@novell.com>
298 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Refactor
299 loading events to something more sane and usable
300 * Mono.Mozilla/DOM/Document.cs: Check for nulls
301 * Mono.Mozilla/Callback.cs: Added progress and request objects from the
302 loading events. Track progress updates.
304 2008-05-08 Andreia Gaita <avidigal@novell.com>
306 * Mono.Mozilla2K5.csproj, Mono.Mozilla.dll.sources: Interfaces added to
307 support stylesheet getters/setters
308 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/Node.cs: Implement
310 * Mono.Mozilla/interfaces/nsIDOMMediaList.cs,
311 Mono.Mozilla/interfaces/nsIDOMCSSValue.cs,
312 Mono.Mozilla/interfaces/nsIDOMCSSStyleSheet.cs,
313 Mono.Mozilla/interfaces/nsIDOMCSSRuleList.cs,
314 Mono.Mozilla/interfaces/nsIDOMStyleSheet.cs,
315 Mono.Mozilla/interfaces/nsIDOMCSSStyleDeclaration.cs,
316 Mono.Mozilla/interfaces/nsIDOMViewCSS.cs,
317 Mono.Mozilla/interfaces/nsIDOMCSSRule.cs: Added to support
318 stylesheet getters/setters
320 2008-05-07 Andreia Gaita <avidigal@novell.com>
322 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/HTMLElement.cs,
323 Mono.Mozilla/DOM/Element.cs: Implement TabIndex
325 2008-05-07 Andreia Gaita <avidigal@novell.com>
327 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/HTMLElement.cs,
328 Mono.Mozilla/DOM/Element.cs: Implement InnerHTML setter
330 2008-05-07 Andreia Gaita <avidigal@novell.com>
332 * Mono.WebBrowser/DOM/IDocument.cs, Mono.Mozilla/DOM/Document.cs,
333 Mono.Mozilla/DOM/Window.cs: Helper to retrieve the window of a
336 2008-04-23 Andreia Gaita <avidigal@novell.com>
338 * Mono.Mozilla/DOM/Node.cs: No need to proxy event objects, they should
341 2008-04-23 Andreia Gaita <avidigal@novell.com>
343 * Mono.Mozilla/DOM/Node.cs: Add support for different types of events
344 that can be injected into the embedded browser
346 2008-04-23 Andreia Gaita <avidigal@novell.com>
348 * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs: Add event
350 * Mono.Mozilla/interfaces/nsIDOMDocumentEvent.cs,
351 Mono.Mozilla.dll.sources, Mono.Mozilla2K5.csproj: Interface to
352 support firing events
353 * Mono.Mozilla/WebBrowser.cs: Hide away debug CWLs
355 2008-04-18 Andreia Gaita <avidigal@novell.com>
357 * Mono.WebBrowser/DOM/IDocument.cs, Mono.Mozilla/DOM/Document.cs,
358 Mono.Mozilla/Base.cs: Add javascript script evaluation support
359 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Add
360 StatusChanged event handler and args
361 * Mono.Mozilla/Callback.cs: Change OnStatusChange callback signature to
362 unicode, implement listeners call.
364 2008-04-18 Andreia Gaita <avidigal@novell.com>
366 * Mono.Mozilla.dll.sources, Mono.Mozilla2K5.csproj: Added new generated
367 interfaces for "Save to Disk" support and page loading monitoring
368 * Mono.Mozilla/interfaces/nsICancelable.cs,
369 Mono.Mozilla/interfaces/nsIWebBrowserPersist.cs: Interfaces for
370 "Save to Disk" support
371 * Mono.Mozilla/interfaces/nsIWebProgress.cs,
372 Mono.Mozilla/interfaces/nsIWebProgressListener.cs: Interfaces for
373 page loading monitoring
375 2008-04-18 Andreia Gaita <avidigal@novell.com>
377 * build-csproj2k5: Fix line endings
379 2008-04-16 Andreia Gaita <avidigal@novell.com>
381 * Mono.Mozilla/DOM/Navigation.cs, Mono.WebBrowser/DOM/INavigation.cs:
382 Add history count getter
384 2008-04-09 Andreia Gaita <avidigal@novell.com>
386 * Mono.Mozilla2K5.csproj, Mono.Mozilla.dll.sources,
387 Mono.Mozilla/interfaces/nsIDOMNSRange.cs: New interface for
388 OuterHTML setter support
389 * Mono.WebBrowser/DOM/INode.cs: Add Attributes accessor
390 * Mono.WebBrowser/DOM/IElement.cs: Add OuterText, OuterHTML
391 * Mono.Mozilla/DOM/HTMLElement.cs: Use the base class's unmanaged
392 object directly instead of storing a copy locally. Makes it easier
393 to replace the object if needed (outerHTML setter). Implement
395 * Mono.Mozilla/DOM/AttributeCollection.cs: Update nodeCount on parent
397 * Mono.Mozilla/DOM/NodeList.cs: Use the Count property getter on all
398 methods at least once to make sure the list always gets a chance to
400 * Mono.Mozilla/DOM/Node.cs: Use the base class's unmanaged object
401 directly instead of storing a copy locally. Makes it easier to
402 replace the object if needed (outerHTML setter).
403 * Mono.Mozilla/DOM/Element.cs: Use the base class's unmanaged object
404 directly instead of storing a copy locally. Makes it easier to
405 replace the object if needed (outerHTML setter). Implement
408 2008-04-07 Andreia Gaita <avidigal@novell.com>
410 * Mono.Mozilla/Base.cs: Change the initialization logic so that
411 gluezilla_init is only called once for every app run (no matter how
412 many browser windows end up being created).
414 2008-04-04 Andreia Gaita <avidigal@novell.com>
416 * Mono.Mozilla/DOM/Element.cs,
417 * Mono.Mozilla/DOM/HTMLElement.cs,
418 * Mono.WebBrowser/DOM/IElement.cs: Implement ClientWidth, ClientHeight,
419 ScrollWidth, ScrollHeight, ScrollLeft, ScrollTop, OffsetHeight,
420 OffsetWidth, OffsetLeft, OffsetTop, OffsetParent, Disabled.
422 2008-04-04 Andreia Gaita <avidigal@novell.com>
424 * Mono.Mozilla/DOM/Document.cs: Differentiate between html and non-html
425 elements when creating the wrapper object for the active element, as
426 certain properties are only implemented in html elements.
428 2008-04-04 Andreia Gaita <avidigal@novell.com>
430 * Mono.Mozilla/AsciiString.cs, Mono.Mozilla/UniString.cs: Fix for string
431 getter cache, always mark the string as dirty when fetching the handle.
433 2008-03-27 Andreia Gaita <avidigal@novell.com>
435 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs: Add
436 Initialized property so users can check whether everything loaded
437 properly. Abstract the stream behind nice Render methods.
438 * Mono.Mozilla/AsciiString.cs, Mono.Mozilla/UniString.cs: Add missing
439 field to the string container structure. Fix handle getter.
440 * Mono.Mozilla/Base.cs: Debug helper method change
442 2008-03-03 Andreia Gaita <avidigal@novell.com>
444 * Mono.WebBrowser/Exception.cs: Fix 1.1 build. Add header.
446 2008-03-03 Andreia Gaita <avidigal@novell.com>
448 * Mono.Mozilla/Base.cs: Add service manager getter.
449 * Mono.Mozilla/interfaces/nsIWebBrowserStream.cs: Send basic IntPtr instead of byte array, arrays
451 * Mono.Mozilla/WebBrowser.cs: Proper streaming support, and exception handling
452 * Mono.WebBrowser/Exception.cs, Manager.cs: exception handling
454 2008-03-02 Andreia Gaita <avidigal@novell.com>
456 * Mono.Mozilla.dll.sources: Added yet another bunch of interfaces to support
457 streaming and services
458 * Mono.Mozilla/Base.cs: Added a ServiceManager getter to allow direct access
459 to all mozilla services through contract IDs
460 * Mono.Mozilla/WebBrowser.cs: Stream support, for sending data directly to
461 the embedded browser.
463 2008-02-28 Andreia Gaita <avidigal@novell.com>
465 * Mono.Mozilla/DOM/EventListener.cs: Implementation of the
466 nsIDOMEventListener, so that events can be registered as-needed
467 for each dom object, instead of gluezilla firing everything up.
468 This class will eventually replace gluezilla's EventListener.
470 * Mono.Mozilla/DOM/Node.cs: Store the hashcode of the unmanaged
471 object before proxying so we can use it to match events to objects.
472 Implement event handling for dom objects. These events are registered
473 on the managed EventListener and go straight out to the caller (don't
474 go out through the Callback class).
476 * Mono.Mozilla/DOM/HTMLElement.cs,
477 Mono.Mozilla/DOM/Attribute.cs,
478 Mono.Mozilla/DOM/Element.cs: Use the hashcode stored on the
479 parent Node class instead of the local object hashcode (the
480 local object is a proxy, while the stored hashcode is from
483 * Mono.Mozilla/DOM/Navigation.cs: Implement navigation through
486 * Mono.Mozilla/WebBrowser.cs: Move callback-related code to
487 the Callback class. Add support for registering and firing events
488 coming from the Callback class (generic window events, element
489 specific events come through the element it was registered on).
491 * Mono.Mozilla/Callback.cs: Cleaned up unused callbacks, moved
492 callback-related code from WebBrowser.cs to here to keep all
493 callback code together. All events coming through here are
494 window-related and get sent to the handlers registered through
495 the WebBrowser class/interface.
497 * Mono.Mozilla/ICallback.cs: Removed, unnecessary overhead.
498 * Mono.Mozilla/Base.cs: new pinvokes to support the string classes
499 * Mono.Mozilla/UniString.cs: Wrapper for mozilla's nsString class
500 * Mono.Mozilla/AsciiString.cs: Wrapper for mozilla's nsCString class
502 * Mono.Mozilla.dll.sources:
503 new files: AsciiString, UniString, EventListener, nsIDOMEvent,
504 nsIDOMEventListener, nsIDOMEventTarget, nsIDOMKeyEvent, nsIDOMMouseEvent,
505 nsIDOMUIEvent, NodeEventArgs, NodeEventHandler
508 2008-02-06 Andreia Gaita <avidigal@novell.com>
510 * Navigation.cs: Pass the proper flags to reload
512 2008-01-28 Andreia Gaita <avidigal@novell.com>
514 * Assembly/AssemblyInfo.cs: Version change
516 2008-01-28 Andreia Gaita <avidigal@novell.com>
518 * Mono.WebBrowser/DOM/IWindow.cs, Mono.Mozilla/DOM/Window.cs:
519 Add Document, Frames, StatusText properties, Load and Unload events.
521 * Mono.Mozilla/WebBrowser.cs: Add StatusText getter and update it on
522 callback. Add Load and Unload events and bubble them to the current
525 * Mono.Mozilla/ICallback.cs, Mono.Mozilla/Callback.cs: Rearrange callbacks,
526 FocusIn and FocusOut are now Focus and Blur. Add Load and Unload callbacks.
528 * Mono.Mozilla/DOM/DOMObject.cs: Add event handler support.
530 2008-01-24 Andreia Gaita <avidigal@novell.com>
532 * Mono.Mozilla.dll.sources, Mono.Mozilla.2K5.csproj: Added files.
534 * Mono.Mozilla/interfaces/*.cs: Add yet more mozilla interfaces to
535 support getting windows, page encodings, dealing with focused elements.
536 Update GetProxyForObject signature.
538 * Mono.Mozilla/Base.cs: Remove unneeded navigation methods, Navigation
539 now goes through the Navigation object.
540 (GetProxyForObject): Use GetObjectForIUnknown instead of
541 GetTypedObjectForIUnknown, this one is not working properly. GetProxyForObject
542 now has two parameters, instead of three (no need to send the type). All the
543 interfaces have been regenerated and xpidl2cs changed for the new signature.
545 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs:
546 Implement Window getter. Add events and event watcher to track page loading.
548 * Mono.Mozilla/DOM/Attribute.cs, Mono.WebBrowser/DOM/IAttribute.cs:
551 * Mono.WebBrowser/DOM/IDocument.cs, Mono.Mozilla/DOM/Document.cs:
552 Implemented: Active, ActiveLinkColor, Anchors, Applets, Background, BackColor,
553 Charset, Cookie, Domain, ForeColor, Forms, Images, LinkColor, Links,
554 VisitedLinkColor, GetElement, Equals, GetHashCode
556 * Mono.WebBrowser/DOM/IElement.cs, Mono.Mozilla/DOM/Element.cs:
557 Implemented: Children, TagName, AppendChild, Equals, GetElementsByTagName,
558 GetHashCode, SetAttribute.
559 Changed get_All to return all children recursively.
561 * Mono.WebBrowser/DOM/IElementCollection.cs: Fix header. Add GetHashCode.
563 * Mono.Mozilla/DOM/HTMLElementCollection.cs: Fix header. Change Load() so
564 it only includes html elements in the collection.
566 * Mono.WebBrowser/DOM/INavigation.cs, Mono.Mozilla/DOM/Navigation.cs:
567 Implement GetHashCode. Add CharsetChange option to the load flags so support
568 refreshing a page after an encoding change.
570 * Mono.WebBrowser/DOM/INode.cs, Mono.Mozilla/DOM/Node.cs:
571 Implement: InsertBefore, LastChild, Next, Owner, Parent, Previous, GetHashCode
573 * Mono.WebBrowser/DOM/INodeList.cs, Mono.Mozilla/DOM/NodeList.cs:
574 Fix header. Implement GetHashCode. Add support for creating empty
575 collections that get nodes added later, add support for removing nodes.
577 * Mono.WebBrowser/DOM/IWindow.cs, Mono.Mozilla/DOM/Window.cs:
578 Added. Represents a window (top level or frame) and wraps nsIDOMWindow.
580 * Mono.WebBrowser/DOM/IWindowCollection.cs,
581 Mono.Mozilla/DOM/WindowCollection.cs:
582 Added. Represents a collection of windows, wraps nsIDOMWindowCollection.
584 2008-01-21 Andreia Gaita <avidigal@novell.com>
586 * Mono.WebBrowser/DOM/INavigation.cs: Add Go overload with flags,
587 and LoadFlags enumeration.
589 * Mono.WebBrowser/DOM/IDocument.cs: Add CreateElement, GetElement,
592 * Mono.Mozilla/DOM/Document.cs: Add CreateElement, GetElement,
593 Equals and Write implementations.
594 Fix GetElementsByTagName to return a proper IElementCollection instance.
596 * Mono.Mozilla/DOM/Element.cs: Add Top, Left, Width and Height
597 properties to support retrieving elements by location.
599 * Mono.Mozilla/DOM/Navigation.cs: Reset WebBrowser object cache
600 so that the next time Document (and others, eventually) is accessed,
601 it will be retrieved from mozilla. This should happen on any
602 action that causes a document reload.
604 Add Go overload to support flags when loading an uri (bypassing proxies,
605 refreshing from cache, etc).
607 * Mono.Mozilla/DOM/HTMLElementCollection.cs: Fix inheritance
609 2008-01-21 Andreia Gaita <avidigal@novell.com>
611 * Mono.Mozilla/WebBrowser.cs: fix Document accessor
613 2008-01-14 Andreia Gaita <avidigal@novell.com>
615 * Mono.Mozilla.dll.sources, Mono.Mozilla2K5.csproj: Updated.
617 * build-csproj2k5: Fix guid.
619 * Mono.Mozilla/DOM/*, Mono.WebBrowser/DOM/*:
620 - Reorganization to get rid of unneeded DOM prefix.
621 - All constructors now get a proxy only if the application is running under
622 a different toolkit than the mozilla engine. If they match, no proxies are
623 needed since there is no need to switch threads.
625 * Mono.Mozilla/DOM/DOMObject.cs:
626 - Move resources list to here since most objects need one.
627 - WebBrowser now has some internal methods, so store the class instead of the
628 interface for child classes to use.
630 * Mono.Mozilla/DOM/HTMLElement.cs, Mono.Mozilla/DOM/Element.cs:
631 IElement represents all element types (html or not), and is implemented
632 by two classes, one that wraps html elements, and another that wraps other
633 element types. IElement represents both in the public API so it's easier
634 to deal with for the api user.
636 * Mono.Mozilla/DOM/Attribute.cs,
637 Mono.Mozilla/DOM/AttributeCollection.cs,
638 Mono.WebBrowser/DOM/IAttributeCollection.cs,
639 Mono.WebBrowser/DOM/IAttribute.cs:
640 Added. Represent attributes from an element.
642 * Mono.Mozilla/DOM/Document.cs, Mono.WebBrowser/DOM/IDocument.cs:
643 - renamed from DOMHTMLDocument and IDOMHTMLDocument, respectively
644 - Added GetElementsByTagName method.
645 - Document is now retrieved from the WebNavigation interface, so get a proxy for
646 it in the constructor.
647 - Add an internal method that returns the unmanaged resource, the Element.InnerText
648 property needs to use it.
650 * Mono.Mozilla/DOM/Element.cs, Mono.WebBrowser/DOM/IElement.cs:
651 - renamed from DOMElement and IDOMElement, respectively
652 - Added the following properties: InnerText, InnerHTML, All (returns all child
653 elements), HasAttribute, GetAttribute. InnerHTML is virtual, and is implemented
656 * Mono.Mozilla/DOM/HTMLElement.cs: Implement InnerHTML property.
658 * Mono.Mozilla/DOM/HTMLElementCollection.cs: Added. Subclass of NodeList that
659 represents a list of html elements.
661 * Mono.Mozilla/DOM/Navigation.cs: Added a Document property that uses the
662 nsIWebNavigation interface to access the Document directly instead of going
665 * Mono.Mozilla/DOM/Node.cs, Mono.WebBrowser/DOM/INode.cs: Renamed from
666 DOMNode and IDOMNode, respectively. Added the following properties:
667 - Attributes (returns the attributes of a node)
669 - Type (returns the type of a node, i.e., Element, Attribute, etc)
672 Added public enumeration to determine a node type.
674 * Mono.Mozilla/DOM/NodeList.cs, Mono.WebBrowser/DOM/INodeList.cs: Renamed
675 from DOMNodeList and IDOMNodeList, respectively. Allow subclasses to fill in and
676 access the collection of nodes, as well as override the loading method.
678 * Mono.Mozilla/interfaces/extras/NodeType.cs: Added. Represents the various
679 types of a Node (element, attribute, etc).
681 * Mono.WebBrowser/DOM/IDOMHTMLElement.cs: Removed. Merged with IElement.
683 * Mono.Mozilla/Base.cs: Add support for tracking which toolkit the
684 application is running under, so I know if I need to create threads and
685 proxies or not. Send that info to gluezilla, and get back which toolkit
686 the mozilla engine is using.
688 * Mono.Mozilla/WebBrowser.cs: Save the application and engine toolkit info.
689 Change the Document accessor so it goes through the Navigation object instead
692 2008-01-14 Andreia Gaita <avidigal@novell.com>
694 * Mono.Mozilla/interfaces/nsIDOMNSHTMLElement.cs: Added. Interface to
695 access the InnerHtml property of an element.
697 2008-01-09 Andreia Gaita <avidigal@novell.com>
699 * Mono.Mozilla/Base.cs,
700 Mono.Mozilla/WebBrowser.cs,
701 Mono.WebBrowser/IWebBrowser.cs,
702 Mono.WebBrowser/Manager.cs:
703 Add initial support for specifying the toolkit the application is running
704 on (gtk or winforms). Knowing this allows gluezilla not to initialize
705 a gtk loop if the application is already running one (and is passing
706 gluezilla a gtk handle and not an X/HWND handle). This should make it
707 easy to also use gluezilla/Mono.Mozilla with gtk apps.
709 2008-01-09 Andreia Gaita <avidigal@novell.com>
711 * build-csproj2k5: take out weird characters creeping in, vstudio
712 doesn't appreciate them.
714 2008-01-07 Andreia Gaita <avidigal@novell.com>
716 * build-csproj2k5: Added to generate Mono.Mozilla2K5.csproj from .sources
717 * Mono.Mozilla2K5.csproj: updated
718 * Makefile: run the build-csproj2k5
720 2008-01-07 Andreia Gaita <avidigal@novell.com>
722 * Mono.Mozilla.dll.sources: Added new classes (see below).
724 * Mono.Mozilla/DOM/DOMObject.cs:
725 - Store reference to the IWebBrowser control that created this (and
726 subclassed) object. This reference needs to be used in any gluezilla calls
727 that have to invoke methods on the mozilla ui thread (any Widget method,
728 whose ptr reference is stored in Base and indexed by IWebBrowser control).
730 - Tweak the Dispose pattern: subclasses don't have their own private
731 dispose field to keep track of whether they've been disposed already, this
732 base class takes care of that.
734 * Mono.Mozilla/DOM/DOMNode.cs:
735 - Initialize a proxy to the nsI object that this wrapper encapsulates.
736 - Cache all objects returned from this object in an hashtable, so that
737 1) we can keep track of all objects and release them earlier and
739 2) we don't have to keep creating new objects everytime we get requests
741 - Implement FirstChild and LocalName
742 - Add Dispose pattern
744 * Mono.Mozilla/DOM/DOMHTMLElement.cs:
745 - Change the inheritance to DOMElement.
746 - Change the constructor to send the nsI object and IWebBrowser up the tree.
747 - Get a proxy to the nsI object.
748 - Add dispose pattern.
750 * Mono.Mozilla/DOM/DOMHTMLDocument.cs:
751 - Change the constructor to send the IWebBrowser instance up the tree.
752 - Add resources hashtable to keep track of already-fetched objects.
753 Particularly useful here since getElementById can be called n times, so it
754 would be complicated to keep track and dispose properly of all the objects.
755 - Implement DocumentElement
756 - Change Body and GetElementById to use resources cache
757 - Fix GetElementById case
759 * Mono.Mozilla/DOM/DOMElement.cs: Added. Inherits from DOMNode, so the
760 parent class also keeps track of the nsI object.
761 * Mono.Mozilla/DOM/DOMNodeList.cs: Added to support easy iteration of nodes.
762 * Mono.Mozilla/DOM/Navigation.cs: Tweak dispose pattern and constructor to
765 * Mono.Mozilla/WebBrowser.cs: Fix the DOMHTMLDocument creation.
767 * Mono.WebBrowser/DOM/IDOMHTMLDocument.cs: Fix case on GetElementById, add
768 DocumentElement property.
770 * Mono.WebBrowser/DOM/IDOMNodeList.cs,
771 Mono.WebBrowser/DOM/IDOMElement.cs:
772 Added, no external functionality for now.
774 2008-01-07 Andreia Gaita <avidigal@novell.com>
776 * Mono.Mozilla/DOM/Navigation.cs: Fix calls to the nsIWebNavigation
777 interface (case change from being generated through xpidl2cs. that's what
778 I get for merging in batches :/ )
780 2008-01-07 Andreia Gaita <avidigal@novell.com>
782 * Mono.Mozilla/Base.cs: Add GetProxyForObject method to create proxies
784 Remove trace listener.
786 2008-01-07 Andreia Gaita <avidigal@novell.com>
788 * Mono.Mozilla/interfaces/nsIDOMRange.cs,
789 Mono.Mozilla/interfaces/nsIDOMDocumentRange.cs:
790 Added to get the content of elements.
792 * Mono.Mozilla/interfaces/*.cs: Regenerated with the xpidl2cs.pl script.
793 Add helper class to create a proxy for all native mozilla interfaces.
795 * Mono.Mozilla/interfaces/extras/: classes for the mozilla interfaces that
796 don't get generated automatically, like enums, delegates, etc.
798 * Mono.Mozilla/interfaces/extras/nsIWriteSegmentFun.cs:
799 Delegate callback for a writer function for mozilla streams
800 (nsIInputStream.readSegments)
802 * Mono.Mozilla/interfaces/extras/Options.cs: Enum for nsIWebNavigation.stop
804 2007-12-25 Andreia Gaita <avidigal@novell.com>
806 * Mono.Mozilla/DOM/DOMHTMLDocument.cs,
807 Mono.Mozilla/DOM/DOMObject.cs
808 Mono.Mozilla/DOM/Navigation.cs:
810 Properly dispose unmanaged resources.
811 Use native mozilla dom interfaces through com directly instead
812 of going through the glue, as they are now proxies that invoke
813 the methods on the main mozilla ui properly (avoiding threading problems).
814 Check if library was properly initialized.
815 Add Go method - implements navigation
816 directly through COM instead of going through the glue.
818 * Mono.Mozilla/interfaces/nsIWebNavigation.cs: Use typed flags instead of
819 generic uint32. Remove comments about threading (as it is now safe to use
822 * Mono.Mozilla/Base.cs: Return bool on initialization so I can track if
823 library was properly initialized from the interfaces that go directly
824 through COM and not through the glue
826 * Mono.Mozilla/WebBrowser.cs: Save initialization result so interfaces
827 don't get called if the library was not initialized.
829 2007-11-08 Andreia Gaita <avidigal@novell.com>
831 * Mono.Mozilla.csproj, Mono.Mozilla2K5.csproj: Synch with .sources
833 2007-11-08 Andreia Gaita <avidigal@novell.com>
835 * Mono.Mozilla.dll.sources,
836 Mono.Mozilla/DOM/Navigation.cs,
837 Mono.Mozilla/interfaces/nsIHistoryEntry.cs,
838 Mono.Mozilla/interfaces/nsIInputStream.cs,
839 Mono.Mozilla/interfaces/nsISHistory.cs,
840 Mono.Mozilla/interfaces/nsISHistoryListener.cs,
841 Mono.Mozilla/interfaces/nsISimpleEnumerator.cs,
842 Mono.Mozilla/interfaces/nsIURI.cs,
843 Mono.Mozilla/interfaces/nsIWebNavigation.cs,
844 Mono.WebBrowser/DOM/INavigation.cs:
846 Add nsIWebNavigation interface and related
847 dependencies to access navigation-related properties directly (CanGoBack, etc).
848 Add INavigation interface and implementation to expose navigation properties.
849 Navigation is now done through this interface (Reload(), Stop(), etc).
851 Please note: Due to threading issues on linux (namely, mozilla being run
852 on a different thread), only methods that do not affect drawing can be
853 invoked through the interfaces, so although Reload is now called from
854 the INavigation interface, it is still being routed through the Base
855 class and the glue code (and not through the nsIWebNavigation.Reload
856 call, as are other non-drawing-affecting methods like GetTitle).
858 * Mono.Mozilla/ICallback.cs, Callback.cs: Remove unneeded events, adjust parameters,
859 add support enumeration for tracking loading state.
861 * Mono.Mozilla/DOM/DOMHTMLDocument.cs, Mono.WebBrowser/DOM/IDOMHTMLDocument.cs:
864 * Mono.WebBrowser/IWebBrowser.cs, Mono.Mozilla/WebBrowser.cs:
865 Add Navigation interface getter.
866 Add Navigated event support through the StateChange and LocationChange
868 Clean up cached objects when navigating.
869 Remove Reload, Forward, Stop, Home methods, these are now accessible
870 through the INavigation interface.
872 * Mono.Mozilla/Base.cs: Add call to return the navigation interface.
873 Add MarshalAs so that returning interfaces directly works on mono.
875 2007-10-31 Andreia Gaita <avidigal@novell.com>
877 * Base.cs: Send (and create if needed) user dir to store local mozilla data
879 2007-10-30 Andreia Gaita <avidigal@novell.com>
881 * Base.cs: use the blur method to signal when the webbrowser loses
884 2007-10-18 Andreia Gaita <avidigal@novell.com>
886 * use the newly-renamed gluezilla library
888 2007-10-07 Andreia Gaita <avidigal@novell.com>
890 * More dialog event options.
891 * Mono.Mozilla/interfaces/nsIDOM*: Added mozilla dom interfaces.
892 * Mono.WebBrowser/DOM/IDOM*: Added generic interfaces for public
894 * Mono.Mozilla/DOM/DOM*: corresponding implementations for
896 * WebBrowser.cs: moved to Mono.Mozilla, since it is a
897 mozilla-specific implementation of the generic public
900 2007-09-23 Andreia Gaita <avidigal@novell.com>
902 * Added implementation of dialog popups - alert,
903 alertcheck, confirm, confirmcheck, confirmex, prompt,
904 promptusernameandpassword, promptpassword, select.
907 2007-09-19 Andreia Gaita <avidigal@novell.com>
909 * Forgot to commit an update on the xulbrowser check :/
911 2007-09-13 Andreia Gaita <avidigal@novell.com>
913 * add check for xulbrowser library, if it's not
914 present complain then leave (don't blow up)
915 * change blur method to call deactivate (mozilla seems
916 to need it to know when it loses focus)
917 * add FocusOption enumeration for finer focus control
919 2007-09-12 Andreia Gaita <avidigal@novell.com>
921 * Base.cs, IWebBrowser.cs, WebBrowser.cs: setup shutdown routine
923 2007-08-11 Andreia Gaita <avidigal@novell.com>
925 * AssemblyInfo.cs: fix version and attributes
927 2007-08-10 Andreia Gaita <avidigal@novell.com>
929 * Reorganize sources by namespace, fix csproj
931 2007-08-10 Andreia Gaita <avidigal@novell.com>
935 2007-08-10 Andreia Gaita <avidigal@novell.com>
937 * Add file headers. Take out generic collections, because
938 we'll need to use this on 1.1 as well.
940 2007-08-09 Andreia Gaita <avidigal@novell.com>
942 * Change external generic interfaces to Mono.WebBrowser
943 namespace, while mozilla-specific stuff is Mono.Mozilla.
944 Encapsulate code even further with a Manager, so that
945 callers can only use what's available in the IWebBrowser
946 interface by asking for a new instance from the Manager.
947 Everything not in the IWebBrowser interface is private.
948 Navigation control, new window creation events.
950 2007-07-30 Andreia Gaita <avidigal@novell.com>
952 * Add focus and activation management
953 Add new ICallback interface to encapsulate callbacks
954 from xulbrowser. IWebBrowser has all calls and events
956 Implement mouse, focus and key handlers
958 2007-07-21 Andreia Gaita <avidigal@novell.com>
960 * MozilaInvoke is now called Base, and encapsulates all the
961 pinvokes plus a list of web controls that have been loaded
962 indexed the control, with binding info (callback object and
963 IntPtr to the native xulbrowser instance.
964 WebBrowser.cs implements IWebBrowser and is the entry point
965 to the library - the WebControl api keeps a reference and
967 Add vstudio 2005 project for 2.0 api
969 2007-06-25 Andreia Gaita <avidigal@novell.com>
971 * Callback.cs, IWebBrowser.cs, WebBrowser.cs:
972 Change OnWidgetLoaded callback to send the new
973 handle when it's called.
975 2007-06-18 Andreia Gaita <avidigal@novell.com>