Name: dk106046 Date: 07/02/2004
JDK versions: Problem occurs in 1.4.2 and 1.5 (142_05, 5.0 beta), but NOT 1.3.1.
OS: WIndows
Here is the problem Scenario
1. A Webpage ( GOM - Javascript ) is running
2. Clicking on a button in the above webpage will load an applet ( enc3 )
3. Once we are done with the applet, click on return button to go back to GOM
4. To return to GOM, function performMiniflowReturnWithMessage in the java file is called which in turn calls "this.getAppletContext().showDocument(new URL(miniFlowClosePage.toString()),"_top");".
Subsequently function closeMiniflowWindow() is called in the HTML page which in turn calls sendREsultsToGOM.
Here the call to ""opener."+returnStatusMethodName+"(status, msg, data);";" is throwing a javascript error in Sun plugin.
Exact text of error message:
The exact error message is ( JavaScript Error: http://nc3ft3a.ugd.att.com/enc3home/closeminiflowapplet.html??Callback=NC3_alertOnError&Status=-1&Msg=Neither E2EPVC_ODBIDS or ROUTER_ODBID Params was not sent to VPN applet.&, line 44: opener.NC3_alertOnError is not a function )
Here are our findings :
1. I could notice that "getAppletContext().showDocument" is one java api that customer is using and this is being called before application encounters problem reported that is the javascript error
2. showDocument API's functionality is that it requests that the browser or applet viewer show the Web page indicated by the url argument. This API has 2 parameters one is URL and other is the TARGET.
Target can be any one these
a. "_self" show in the current frame
b. "_parent"show in the parent frame
c. "_top" show in the topmost frame
d. "_blank" show in a new unnamed top-level windownameshow in a new top-level window named name
3. In the customer's application, for this API showdocument, URL argument passed is "enc3home/closeminiflowapplet.html?" and _top is passed as Target argument. Hence, the expected behaviour is that topmost frame of this URL that is GOM should be shown instead the above javascript error is thrown. The probable cause could be that instead of getting the link to GOM ( topmost window of enc3 ), application is getting link to enc3 itself.
4. Actually this.getAppletContext() as used in the application along with showDocument sun.plugin.viewer.context.NetscapeAppletContext. Therefore NetscapeAppletContext.showDocument is called within the application.
5. NetscapeAppletContext extends DefaultPluginAppletContext and the showDocument method of this class is called. This function inturn calls doShowDocument. I suspect these functions and this needs to be investigated.
Also please note that the classes NetscapeAppletContext and DefaultPluginAppletContext are not there in 131 and customer says that problem is not there in 131. Also, the this.getAppletContext will return sun.plugin.navig.win32.AppletPluginContext.
Application source code is available.
======================================================================
JDK versions: Problem occurs in 1.4.2 and 1.5 (142_05, 5.0 beta), but NOT 1.3.1.
OS: WIndows
Here is the problem Scenario
1. A Webpage ( GOM - Javascript ) is running
2. Clicking on a button in the above webpage will load an applet ( enc3 )
3. Once we are done with the applet, click on return button to go back to GOM
4. To return to GOM, function performMiniflowReturnWithMessage in the java file is called which in turn calls "this.getAppletContext().showDocument(new URL(miniFlowClosePage.toString()),"_top");".
Subsequently function closeMiniflowWindow() is called in the HTML page which in turn calls sendREsultsToGOM.
Here the call to ""opener."+returnStatusMethodName+"(status, msg, data);";" is throwing a javascript error in Sun plugin.
Exact text of error message:
The exact error message is ( JavaScript Error: http://nc3ft3a.ugd.att.com/enc3home/closeminiflowapplet.html??Callback=NC3_alertOnError&Status=-1&Msg=Neither E2EPVC_ODBIDS or ROUTER_ODBID Params was not sent to VPN applet.&, line 44: opener.NC3_alertOnError is not a function )
Here are our findings :
1. I could notice that "getAppletContext().showDocument" is one java api that customer is using and this is being called before application encounters problem reported that is the javascript error
2. showDocument API's functionality is that it requests that the browser or applet viewer show the Web page indicated by the url argument. This API has 2 parameters one is URL and other is the TARGET.
Target can be any one these
a. "_self" show in the current frame
b. "_parent"show in the parent frame
c. "_top" show in the topmost frame
d. "_blank" show in a new unnamed top-level windownameshow in a new top-level window named name
3. In the customer's application, for this API showdocument, URL argument passed is "enc3home/closeminiflowapplet.html?" and _top is passed as Target argument. Hence, the expected behaviour is that topmost frame of this URL that is GOM should be shown instead the above javascript error is thrown. The probable cause could be that instead of getting the link to GOM ( topmost window of enc3 ), application is getting link to enc3 itself.
4. Actually this.getAppletContext() as used in the application along with showDocument sun.plugin.viewer.context.NetscapeAppletContext. Therefore NetscapeAppletContext.showDocument is called within the application.
5. NetscapeAppletContext extends DefaultPluginAppletContext and the showDocument method of this class is called. This function inturn calls doShowDocument. I suspect these functions and this needs to be investigated.
Also please note that the classes NetscapeAppletContext and DefaultPluginAppletContext are not there in 131 and customer says that problem is not there in 131. Also, the this.getAppletContext will return sun.plugin.navig.win32.AppletPluginContext.
Application source code is available.
======================================================================