JDK-8029135 : ESL not working for JNLP applications without an href
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.
See BugDB https://bug.oraclecorp.com/pls/bug/webbug_print.show?c_rptno=17852672 for detail.
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
full fix webrev at: http://oklahoma.us.oracle.com/www/webrevs/aherrick/1.7.0_51/8029135/deploy/webrev/
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)