You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.




Java and Plugins
Author: Michael Plitkins
Updated: 11 October, 1998

Overview

Plugins and Java support are closely related in NGLayout. This is because we are relying on the new set of interfaces designed to bring the Communicator 4 Plugin APIs into the XPCOM world. Part of that effort included adding new interfaces to allow Java to be removed from the base Communicator code and instead behave as a plugin yet retain all of the original functionality. As such, there are two tiers of Plugin APIs that NGLayout will support, plus a compatibility layer:

  • Base plugin APIs to support the functionality of Communicator 4 style plugins

  • A few new APIs to make the old APIs more complete and fit better in the XPCOM world.

  • A second tier of APIs that add the additional level of functionality that a Java VM and Applets/Objects require.

  • "Forward adapter code" that sits on top of the tier one interfaces and knows how to talk to Communicator 4 style plugins. This will allow NGLayout to be able to load both new and old school plugins.
  • Refer to the plugin guide for more information on the functionality supported by the plugin APIs.
    Risks

  • The APIs for plugins are still in flux, and as such we have a moving target, but it's small and easy to hit.
  • Dependencies

  • In order to ship Java, we need a high performance JavaVM that conforms to the plugin API spec.
  • Assumptions

  • Assume nothing.
  • Schedule