United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8029135 : ESL not working for JNLP applications without an href

Details
Type:
Bug
Submit Date:
2013-11-25
Status:
Closed
Updated Date:
2014-04-18
Project Name:
JDK
Resolved Date:
2013-12-09
Component:
deploy
OS:
windows_7
Sub-Component:
plugin
CPU:
x86
Priority:
P2
Resolution:
Fixed
Affected Versions:
7u51,8
Fixed Versions:
7u51 (b11)

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Duplicate:

Sub Tasks

Description
See BugDB https://bug.oraclecorp.com/pls/bug/webbug_print.show?c_rptno=17852672 for detail. 
                                    

Comments
full fix webrev at: http://oklahoma.us.oracle.com/www/webrevs/aherrick/1.7.0_51/8029135/deploy/webrev/
                                     
2013-12-04
The problem here is the jnlp file does not have an href.
If a jnlp application is launched normally (ie: by clicking on a jnlp file link in a browser) and it does not have an href to it's jnlp file, we cannot know where the jnlp file came from.
In that case we cannot match an ESL location or a location based DRS rule.
This is internally documented at: http://wiki.se.oracle.com/display/JPGC/Exception+Site+List
but does not seem to be documented in the release notes.

you can fix app by adding an href to the main jnlp file (in the jnlp file) 

This solution will not work for customer since both jars and jnlp files are embedded in firmware.
we need a solution for subset of cases where Exception Site List can work in a jnlp application even when jnlp file has no href.

There is also a related problem that must be addresed, caused by ELS implementation..
    When a jnlp application is run normally from a link, the jnlp file is downloaded to the browser and a copy is made in native code and its path is passed as main arg to com.sun.javaws.Main(). Now the code in XMLFormat and LaunchDesc consider that path the original location of the jnlp file, create a file URL to that path and set it as LaunchDesc._originalHref.  (as if user has issued command "javaws <path>").  This is then passed to the constructor of the RuleId as the jnlpLocation, causing ESL and DRS to use this file URL as location.  This is easy to fix since we know (via existing additional arg) when the jnlp file passed to main is a copy of one downloaded by browser)
                                     
2013-12-03
The fix in Deployment sandbox since Dec 5th. SQE (Dima G) analyzed nightly test run results. No new issues. So, SQE OK to take the fix into CPU14_01
                                     
2013-12-09



Hardware and Software, Engineered to Work Together