[rfc][icedtea-web] jnlp_href extensions inside HTML applets - PR974

Andrew Azores aazores at redhat.com
Tue Jun 25 12:47:13 PDT 2013


Changelog:

* netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge, 
getResources): Constructor stores list of JNLP extensions, getResources 
returns this list

* 
tests/reproducers/custom/ExtensionJnlpsInApplet/testcases/ExtensionJnlpsInAppletTest.java: 
tests browser launch of HTML file with embedded JNLP applet referencing 
extension JNLP
* 
tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpTest.html: 
same
* 
tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpHelper.jnlp: 
same
* 
tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpTestApplet.jnlp: 
same
* 
tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/ExtensionJnlpHelper.java: 
same
* 
tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/ExtensionJnlpTestApplet.java: 
same
* tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/Makefile: same

PluginBridge had null parserSettings, which caused a NPE in JNLPFile 
parse() method later on. I wasn't sure if there was a particular reason 
why the PluginBridge constructor never called super(), so instead it 
instantiates a new ParserSettings on its own, with default values. The 
constructor also stores a list of extension JNLP files, which are then 
returned later when getResources is called with the param 
ExtensionDesc.class. The reproducer tests set up a scenario as described 
in the original bug report; one HTML file which uses jnlp_href tag. This 
JNLP file has another JNLP file as an extension. Each of these JNLP 
files references one JAR. One of these JARs contains a helper class 
which is referenced by a class in the other JAR. Previously this 
scenario would result in a NoClassDefFoundError for the helper class 
when a browser was used to load the HTML, although using javaws to 
launch the JNLP directly worked fine.

Thanks,

Andrew A
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix.patch
Type: text/x-patch
Size: 2787 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130625/c7ad7531/fix.patch 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reproducer.patch
Type: text/x-patch
Size: 17175 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130625/c7ad7531/reproducer.patch 


More information about the distro-pkg-dev mailing list