United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6673085 Adding robustness to LiveConnect's ResultHandler
JDK-6673085 : Adding robustness to LiveConnect's ResultHandler

Details
Type:
Bug
Submit Date:
2008-03-09
Status:
Resolved
Updated Date:
2010-09-08
Project Name:
JDK
Resolved Date:
2008-04-03
Component:
deploy
OS:
generic
Sub-Component:
plugin
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
6u10
Fixed Versions:
6u10 (b21)

Related Reports

Sub Tasks

Description
Add robustness to the other 'waitForResult' as it was done in CR 6668033 for the other one.

                                    

Comments
EVALUATION

The server/client messages related to applet's 
can be queued up until the applet becomes ready.
This will simplify and ease all the special resend treatments
and earmarking of SetAppletSize.
                                     
2008-03-10
SUGGESTED FIX

6673085 : Adding robustness to LiveConnect's ResultHandler [Kenneth Russell, Hao Dong]

sun.plugin2.message.StartAppletResultMessage
    was: sun.plugin2.message.StartAppletAbortedMessage

    Handling both applet-ready or not ready

sun.plugin2.message.AppletMessage
    New marker class, delineate applet related messages,
    which holds the appletID.

    All messages derived from AppletMessages will be queued
    to an AppletID -> List<AppletMessage> until appletReady.
    After receiving this appletReady this queue will be drained.

    The following messages are AppletMessages now:
        sun.plugin2.message.CookieOpMessage
        sun.plugin2.message.GetAppletMessage
        sun.plugin2.message.GetAuthenticationMessage
        sun.plugin2.message.GetNameSpaceMessage
        sun.plugin2.message.GetProxyMessage
        sun.plugin2.message.HeartbeatMessage
        sun.plugin2.message.JavaScriptBaseMessage
        sun.plugin2.message.JavaScriptGetWindowMessage
        sun.plugin2.message.ModalityChangeMessage
        sun.plugin2.message.PluginMessages
        sun.plugin2.message.PrintAppletMessage
        sun.plugin2.message.PrintAppletReplyMessage
        sun.plugin2.message.PrintBandMessage
        sun.plugin2.message.PrintBandReplyMessage
        sun.plugin2.message.SetAppletSizeMessage
        sun.plugin2.message.ShowDocumentMessage
        sun.plugin2.message.ShowStatusMessage
        sun.plugin2.message.StartAppletResultMessage
        sun.plugin2.message.StopAppletMessage
        sun.plugin2.message.SynthesizeWindowActivationMessage

JVMInstance/JVMManager:
    Added handling of a positive StartAppletResultMessage (appletReady),
    which drains the AppletMessage queue and remove it (JVMManager).

    sendMessage tries to queue AppletMessages.
    If successfull it stops right there, else it sends the message
    over the wire.

LiveConnectSupport / ResultHandler / JVMManager
    Removed 'appletRelaunchedMap' and the resend LiveConnect message,
    since this is no more needed.

JVMManager/JVMInstance/PluginMain
    - Removed the earmarking of SetAppletSize

com.sun.deploy.util.OrderedHashSet
    - Fixing equals, so it uses the LinkedList.equals()
                                     
2008-03-12



Hardware and Software, Engineered to Work Together