[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [platform-help-dev] Embedding Mozilla
|
John,
This looks very interesting. Thanks for informing me about your work. I
will be in touch.
Regards,
Nick
"John Ponzo" <jponzo@xxxxxxxxxx>
Sent by: platform-help-dev-admin@xxxxxxxxxxx
23/07/2002 08:33 PM
Please respond to platform-help-dev
To: platform-help-dev@xxxxxxxxxxx
cc:
Subject: Re: [platform-help-dev] Embedding Mozilla
Nick,
I have been working on embedded Web Browser support for Eclipse
that might be useful for you. I have a collection of SWT widgets that
embed Web Browser controls and provide two categories of APIs: Navigation,
and DOM access. The navigation APIs simply expose high level Web Browser
function such as url navigation, forward, back, and status. The DOM API
uses the Java interface bindings for W3C DOM level 3. The W3C DOM API is
implemented via direct calls to the native DOM interfaces of the embedded
Web browser controls.
I have three versions of this SWT widget:
1. Windows - using Internet Explorer
2. Windows - using Mozilla
3. Linux/GTK - using Mozilla (This runs on a backlevel GTK. I'm waiting
for Mozilla embed support for GTK2 in order to run on the new Eclipse GTK
2 builds)
In the case of Internet Explorer the internal implementation has a direct
Java API mapping of all the COM interfaces for accessing the browser DOM.
This extends the existing SWT support for COM/VTable binding to native
components on Windows found in org.eclipse.swt.ole.win32. These native
COM interfaces are surfaced as Java classes and are used to implement the
W3C DOM Interface. (I've also surfaced the Internet Explorer edit mode
interfaces so this widget also doubles as a light weight WYSIWYG HTML
layout editor. Mozilla also provides an editor which I also plan on
surfacing to Java)
As for Mozilla, I have an XPCOM package that is modeled after the COM
interface handling in org.eclipse.swt.ole.win32 for XPCOM bindings. This
works similar to the Internet Explorer version but surfaces all the XPCOM
related interfaces for Mozilla access. All the Java code for the
Mozilla-based widget is the same for both Windows and Linux. The only
difference is the SWT JNI library which includes a compile switch for
Windows or Linux.
In both cases developers can access the Web Browser specific APIs for DOM
manipulation if Web Browser specific function is required. However, the
W3C DOM interface provided for both Web Browser controls is sufficient
for most DOM related function and provides portability across Eclipse
plugins for Windows and Linux.
These controls can be used for simple Web Browser embedding and for Web
Browser DOM programming in Eclipse. Since these controls are SWT widgets
they can easily integrate into existing projects. The original goal of
this project was to provide developers with a simple path for migrating
Web-based tools and interfaces to Eclipse. Eclipse plug-in developers
can simply instantiate these SWT widgets and call a getDocument() method
which returns an object of type org.w3c.dom.html.HTMLDocument. The DOM
interface allows developers to dynamically modify Web pages and create
event handlers for processing HTML element events. For example, an event
handler can process button click events within a Web page or dynamically
augment external Web pages with Eclipse specific handlers.
I would like to contribute these controls to Eclipse. Please let me know
if this is what you are looking for.
John Ponzo
IBM Research
jponzo@xxxxxxxxxx