United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6502189 applet hang when try to reload a page with the applets in a frame
JDK-6502189 : applet hang when try to reload a page with the applets in a frame

Details
Type:
Bug
Submit Date:
2006-12-07
Status:
Resolved
Updated Date:
2010-04-04
Project Name:
JDK
Resolved Date:
2007-03-27
Component:
deploy
OS:
windows
Sub-Component:
plugin
CPU:
x86
Priority:
P2
Resolution:
Fixed
Affected Versions:
5.0u10
Fixed Versions:
5.0u12 (b02)

Related Reports
Backport:
Backport:

Sub Tasks

Description
This is for escalation #1-20467020, radiance case #64990026, attention Ragini Prasad.

Customer Starwood reported the following problem:

We were able to reproduce the error using sample applets that ship with Sun???s JDK. We modified the applets to perform tasks that emulate what our application does, mainly providing a callback via live connect to a javascript function when an applet is started. All worked well, until we introduced frames into the mix. When we try to reload a page with the applets in a frame, it hangs, just like our application.

Attached are the files necessary to reproduce the error. If you view test1.html or test2.html by itself using IE 7, you can reload without a problem. However, if you view test.html which uses a frameset to display both test1.html and test2.html, you cannot reload the individual frames. It locks up similar to how our application locks up.
 
However, if you modify the javascript files (*.js) so that instead of writing out the applet control directly, write out using the setTimeout function, you are able to reload the individual frames.


To reproduce:

1. install Tomcat
2. unzip the attachment multiAppletTest2.zip
3. deploy the test case mutliAppletTest2 into Tomcat's webapps directory
4. execute the test by running the URL
   http://localhost:8080/multiAppletTest2/test.html

                                    

Comments
EVALUATION

In IE7 the calling sequence from the browser to ActiveX control has changed. There is an additional query with method "unselectable"
ATL: CAxControl::GetIDsOfNames, Method: unselectable, Applet Status:>>> 0
As in SUN JRE plugin we do not implement this method return failure on this query solves the problem.

// IE7 has been changed to forward the "unselectable" property on to the active ActiveX object upon
// setting focus. To avoid hang in the AtlWaitWithMessageLoop, E_FAIL will
be returned.
if (lstrcmpi(OLE2A(rgszNames[0]), "unselectable") == 0)
     {
       rgdispid[0] = DISP_E_UNKNOWNNAME;
       return E_FAIL;
     }
                                     
2007-01-26



Hardware and Software, Engineered to Work Together