Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6695848
Votes 0
Synopsis Must break compile-time dependencies to enable ports to other operating systems
Category java_plugin:plugin2
Reported Against
Release Fixed 6u10(b24)
State 11-Closed, Unverified, bug
Priority: 3-Medium
Related Bugs 6696179
Submit Date 30-APR-2008
Description
In order to increase adoption of the new Java Plug-In, it is essential that it be rapidly ported to as many platforms as possible as quickly as possible. Currently there are certain compile-time dependencies that must be broken in order to achieve better portability of the sources.
Posted Date : 2008-04-30 00:48:52.0
Work Around
N/A
Evaluation
To facilitate rapid adoption of the new Java Plug-In, it must be
easily portable to other operating systems. Currently there are
several compile-time and algorithmic depenencies that prevent this.
The following changes have therefore been made:

  - Compile-time dependencies on the old plug-in's AppletViewer and
    related classes have been removed.

  - References to the old plug-in's
    sun.plugin.viewer.context.PluginAppletContext and
    sun.plugin.viewer.context.PluginBeansContext classes from the
    BrowserService interface, which is implemented by the new plug-in,
    have been removed, their types instead raised to java.lang.Object.
    Downcasts have been introduced at the call sites. These
    dependencies will go away with the old plug-in anyway, as the
    concepts are not used in the new plug-in.

  - The "reload" functionality of the gray box painter's error panel
    has been factored out to allow separate implementation for the old
    and new plug-ins. (The current code in the workspace does not work
    for the case of the new plug-in and has never worked -- this was
    not noticed until now.)

  - The code from JarCacheUtil.verifyJarVersions(), which was
    incorrectly specialized for the old plug-in, has been pulled into
    the old plug-in's AppletViewer class.

  - The code in the JVMParameters class which parses and comprehends
    the boot class path has been changed to look for a specific list
    of jars rather than try to infer things based on a predefined
    notion of the default boot class path for the JVM, which is
    OS- and vendor-specific.

  - Some errors in the C code for the Unix plug-in port (where C
    functions did not return values, etc.) have been corrected, as
    well as an unnecessary dependence in console.c removed.

  - Some additional performance traces were inserted into
    Applet2Environment for better diagnosability of initial bringup.

  - The failure case in MessagePassingExecutionContext.getProxyList()
    was changed to ease initial porting.

  - Extraneous debugging printouts were removed.

  - Error checking was added to the AbstractPlugin.cpp native code to
    avoid browser crashes in failure situations.

  - Explicit references to the EmbeddedFrame class in PluginMain have
    been eschewed in favor of direct references to the new plug-in's
    PluginEmbeddedFrame concept to allow ports the flexibility of not
    subclassing sun.awt.EmbeddedFrame.
Posted Date : 2008-04-30 16:46:51.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang