United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6740523 DnD: should pick up codebase automatically for relaunches of dragged-out JNLP applets
6740523 : DnD: should pick up codebase automatically for relaunches of dragged-out JNLP applets

Details
Type:
Enhancement
Submit Date:
2008-08-22
Status:
Closed
Updated Date:
2010-09-08
Project Name:
JDK
Resolved Date:
2008-10-02
Component:
deploy
OS:
generic
Sub-Component:
plugin
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u10
Fixed Versions:
6u10

Related Reports
Backport:
Relates:

Sub Tasks

Description
Currently the new Java Plug-In can infer the codebase for JNLP-launched applets, allowing the developer to not specify it at all to maintain portability of their JNLP file and its associated resources. This is similar to functionality the JnlpDownloadServlet provides for Java Web Start applications with the $$codebase and other macros.

However, when such an applet is dragged out of the browser and relaunched from a desktop shortcut, the JNLP client does not know how to re-infer the original codebase. This means that any JNLP applet that the developer wants to drag out of the browser and relaunch from a desktop shortcut must have an absolute codebase, which is undesirable.

We should use the codebase, now stored in the LocalApplicationProperties with the fix for 6732975, to begin the re-launch process for such applets.

                                    

Comments
SUGGESTED FIX

testcase: http://web-east.east.sun.com/www/tests/1.6.0_10/6740523/
                                     
2008-09-21
SUGGESTED FIX

http://sa.sfbay.sun.com/projects/deployment_data/6u10/6740523.1
                                     
2008-09-19
EVALUATION

Problem: a dragged-out JNLP applet cannot be relaunched if the codebase isn't specified in the JNLP file.

Fix: with the fix for 6740228, we're storing the codebase and documentbase into the LocalApplicationProperties (lap). For this fix, in JNLP2Viewer, we're obtaining the codebase and documentbase from the lap before instantiating the JNLP2Manager which instantiates the LaunchDesc. The lap is now obtained from the cache. This eliminates the dependency on LaunchDesc.
In launcher.c, we no longer prepend the file protocol (file:///) to the cached JNLP filename. Instead, the file protocol will be prepended to the cached JNLP filename in JNLP2Viewer if needed.
                                     
2008-09-19



Hardware and Software, Engineered to Work Together