JDK-6673085 : Adding robustness to LiveConnect's ResultHandler
Type:Bug
Component:deploy
Sub-Component:plugin
Affected Version:6u10
Priority:P4
Status:Resolved
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2008-03-09
Updated:2010-09-08
Resolved:2008-04-03
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Add robustness to the other 'waitForResult' as it was done in CR 6668033 for the other one.
Comments
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()
12-03-2008
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.