Posted by
blainebell on
May 03, 2011; 6:05pm
URL: https://forum.jogamp.org/Mac-OS-Java-Update-1-6-0-20-breaks-JOGL-applets-tp827857p2895322.html
OK, so I think I have gotten somewhere, the biggest problem I has was that I didn't write loadLibraryInternal() to call the JNLPAppletLauncher.loadLibrary() method (I am sure there is documentation somewhere, but I found it in the JNLPAppletLauncher code).
I can now get my applet running inside Safari when it is run inside the browser process. Whehew!!!
In Firefox, it does run, however, I cannot call the applet from javascript. I use the function getSubApplet() on the applet object, but get this error:
<<< ProxyClassLoader: defined LiveConnectProxy class. >>>
<<< Here're the permissions you've got: >>>
<<< java.security.Permissions@1e9d9b1 (
(java.net.SocketPermission localhost connect,accept,resolve)
(java.util.PropertyPermission jep.debug.visibility read)
(java.util.PropertyPermission jep.debug.release read)
(java.util.PropertyPermission javaplugin.version read)
(java.util.PropertyPermission javaplugin.vm.options read)
(java.util.PropertyPermission jep.version read)
(java.util.PropertyPermission browser.version read)
(java.util.PropertyPermission jep.debug.updates read)
(java.util.PropertyPermission http.agent read)
(java.util.PropertyPermission browser read)
(java.util.PropertyPermission browser.vendor read)
)
>>>
Exception in LiveConnect getting field "public static final java.lang.Class java.lang.Void.TYPE"
java.lang.NullPointerException
at netscape.oji.CSecureEnv.checkPackageAccess(CSecureEnv.java:115)
at netscape.oji.CSecureEnv.access$000(CSecureEnv.java:59)
at netscape.oji.CSecureEnv$GetField.run(CSecureEnv.java:245)
at netscape.oji.LiveConnectProxy.run(LiveConnectProxy.java:48)
java.lang.RuntimeException
at netscape.oji.CSecureEnv$GetField.run(CSecureEnv.java:251)
at netscape.oji.LiveConnectProxy.run(LiveConnectProxy.java:48)
Has anyone been able to communicate from JavaScript inside Firefox?
Also, when I run the applet in its own process in Safari, I get a similar error that started this thread, which I also get when I go to the
http://jogamp.org/jogl-demos/www/applettest-jnlp.html page (this is directly from this page):
java.lang.reflect.InvocationTargetException
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(DeployAWTUtil.java:116)
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Plugin2Manager.java:3542)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3073)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1498)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.SecurityException: attempted to open sandboxed jar
http://jogamp.org/deployment/webstart/jogl.all.jar as a Trusted-Library
at com.sun.deploy.security.CPCallbackHandler$ParentElement.checkResource(CPCallbackHandler.java:358)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(DeployURLClassPath.java:804)
Was there a fix for this, or are applets always suppose to be run inside the browser process? Strange, since I had it working in its own process... Is there a way to get it deployed properly for both?
Thanks a lot for your help (again!)
Blaine