Mozilla ActiveX Control
Topics of Discussion
|
|
|
An overview of ActiveX |
|
A description of the Internet Explorer
control |
|
The Mozilla control |
|
Feature comparison |
|
The future |
What Is an ActiveX
Control?
|
|
|
|
Extends the functionality of the host
application |
|
Usually running in-process (I.e.
contained in a DLL) |
|
Usually a visible component embedded
into a dialog/window of a host application |
|
Controlled through an automation
interface |
|
Language independent |
|
Uses a binary type library |
|
Does not require header files or
libraries |
|
Works in many development environments,
e.g. Visual Basic, Visual C++, Delphi, Internet Explorer |
Internet Explorer 4 &
5
|
|
|
|
Ships as an application and control
written around a layout engine |
|
Control and application support via
automation interface |
|
Create customized applications around
rendering engine |
|
AOL |
|
Encyclopedia Britannica |
|
Intuit Quicken |
|
Qualcomm Eudora |
|
Create HTML authoring tools using
control for preview mode |
|
Frontpage 2000/Express |
|
Coldfusion Studio |
|
Topstyle |
IE Object Model
Goal
|
|
|
Create an ActiveX control for Mozilla
using the “Gecko” layout engine |
|
Implement the control using the same
API as the IE control |
|
Implement as much functionality of the
IE control as possible |
|
Produce tools and samples that
demonstrate how to use the control |
Applications
|
|
|
|
Customized browsers |
|
Skins |
|
Kiosks |
|
Report engines |
|
Encyclopedias, dictionaries |
|
Etc |
|
Specialized HTML/CSS/XML development
tools |
|
Side by side comparison between IE and
Mozilla |
Implementation
DOM Implementation
An Application’s View
The Control’s View
Also…
Using the Control in MFC
1
Using the Control in MFC
2
Using the Control in MFC
3
CBrowse Application
Using the Control in VB 1
Using the Control in VB 2
Using the Control in VB 3
Patching Software
What This All Means
|
|
|
|
Smaller distributable |
|
Approx 3-6Mb compared to 40+Mb |
|
Less download time |
|
Faster installation |
|
Standards compliance |
|
XML, HTML4.0, DOM 1, CSS 1, ECMAScript,
PNG |
|
Liberal distribution license |
|
No product registration |
|
No compulsion to upgrade to use latest
version within 6 months |
|
Open source code |
|
Customization |
|
Bug fixing |
|
Community of developers |
What the Control Can’t Do
|
|
|
|
Run Internet Explorer specific HTML |
|
IE DHTML |
|
Embedded controls |
|
VBScript |
|
Extend the behaviour of the underlying
Mozilla engine |
|
Change the DOM to be like IE |
|
Add ActiveX/VBScript support |
|
Exact implementation |
Other Goodies
|
|
|
|
The Mozilla control project has spawned
some other useful code! |
|
An ActiveX control container class |
|
An ActiveX script host |
|
An ActiveX IE-compatible wrapper for
expat |
|
ActiveX control hosting support in
Communicator 4.x |
|
Generic implementations for standard
COM interfaces IOleCommandTarget, IPropertyBag and IDropTarget |
Resources
|
|
|
|
My site |
|
http://www.iol.ie/~locka/mozilla/mozilla.htm |
|
Mozilla.org |
|
http://www.mozilla.org |
|
news:netscape.public.mozilla.embedding |
|
Microsoft! |
|
http://msdn.microsoft.com/workshop/browser/WebBrowser/WebBrowser.asp |
Future Plans
|
|
|
Implement a simple DHTML editor mode |
|
Implement ActiveX control support |