fhigit / text20

Automatically exported from code.google.com/p/text20
0 stars 0 forks source link

Switch from <applet> to <object> tag #32

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
.

Original issue reported on code.google.com by r.biedert on 13 Oct 2010 at 2:37

GoogleCodeExporter commented 9 years ago
I enhanced the text20.js with the capability to switch between <applet> to 
<object> tag via the new introduced useObjectTag-Flag (default: false) setable 
within the loading html file.

After testing with Safari 5.0.2, Firefox 3.6, Firefox 4.0, Opera 10.63 and 
Chrome 7.0.517.44 only Chrome and Firefox 3.6 where able to run the script 
properly.
Firefox 3.6 complains about mayscript not being enabled which is not true...

The other browsers won't currently run with the <object> tag...

Original comment by arman.va...@gmail.com on 11 Nov 2010 at 5:24

GoogleCodeExporter commented 9 years ago
Update:

Safari 5.0.3, Firefox 4.0 Beta 8 and Chrome 8.0.552.231 work fine with the 
<object> tag.

Firefox 3.6 seems to have problems with the script itself (needs further 
investigation).

Original comment by arman.va...@gmail.com on 22 Dec 2010 at 6:30

GoogleCodeExporter commented 9 years ago
What about Opera 11?

Original comment by r.biedert on 22 Dec 2010 at 6:33

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Opera 11: Still the same issues as before regardless whether the <applet> or 
the <object> tag is used. Page loads, JS and Java work halfway through ("Using 
mouse") but that's it... sometimes I get following error.

statusListener() failure : Error: java.lang.NoSuchFieldException: id in class: 
de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl

Original comment by arman.va...@gmail.com on 22 Dec 2010 at 6:49

GoogleCodeExporter commented 9 years ago
Okay... here's an update for this issue:

The Good:
For Firefox 4 RC and Safari 5.0.4 works the <object> tag as good as the 
<applet> tag did. :)

The Bad:
For Google Chrome 10.0.648.134 neither the <object> nor the <applet> tag work 
completely.
The Browser Calibration.html works fine but although the Simple Test.html loads 
completely all onFixation, onGazeOver, onGazeOut events do not trigger.

For Opera 11.01 both tags don't work correctly.
As far as I tested the plugin is loaded partly (yodeling test is successful) 
but the loading process hangs up with following JS Alert:
<localhost>
statusListener() failure : Error: java.lang.NoSuchFieldException: id in class: 
de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl

Fixing this issue will probably restore the Opera support.

The Ugly:
Firefox 3.6.13 doesn't work at all...

Running the Browser Calibration.html result in following JS Alerts:

getExtensions() not found. All extensions are disabled! Please report this bug!

statusListener() failure : InternalError: Java class 
de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl 
has no public field or method named "getExtensions"

Simple Test.html is even worse:

MRJ Plugin for Mac OS X v1.0.1
[starting up Java Applet Security @ Thu Mar 17 16:55:37 CET 2011]
Thu Mar 17 16:56:00 CET 2011 JEP creating applet 
de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl 
(file:/Users/Vartan/Documents/workspace/Text%202.0%20Browser%20Plugin/examples/)
<<< ProxyClassLoader: defined LiveConnectProxy class. >>>
<<< Here're the permissions you've got: >>>
<<< java.security.Permissions@1e05236 (
 (java.io.FilePermission  read)
)
 >>>
17.03.2011 16:56:12 
de.dfki.km.text20.browserplugin.services.devicemanager.impl.TrackingDeviceManage
rImpl initEyeTrackerConnection
INFO: Device is now eyetrackingdevice:trackingserver
17.03.2011 16:56:12 
de.dfki.km.text20.browserplugin.services.devicemanager.impl.TrackingDeviceManage
rImpl initEyeTrackerConnection
INFO: Device found, opening connection to discover://nearest
17.03.2011 16:56:18 
de.dfki.km.text20.services.trackingdevices.eyes.impl.trackingserver.TrackingServ
erDeviceProviderImpl$ServerTrackingDevice <init>
INFO: Connected registry says null
17.03.2011 16:56:18 
de.dfki.km.text20.browserplugin.services.devicemanager.impl.TrackingDeviceManage
rImpl initEyeTrackerConnection
INFO: Device did not open. Trying mouse.
17.03.2011 16:56:18 
de.dfki.km.text20.services.trackingdevices.eyes.impl.mouse.MouseTrackingDevicePr
oviderImpl openDevice
INFO: Mouse device was opened with URL discover://nearest
java.lang.NullPointerException
    at netscape.oji.JNIUtils.checkClassAccess(JNIUtils.java:106)
    at netscape.oji.JNIUtils.checkClassAccess(JNIUtils.java:68)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.privateGetPublicMethods(Class.java:2547)
    at java.lang.Class.getMethods(Class.java:1410)
    at netscape.oji.JNIRunnable.run(Native Method)
    at netscape.oji.LiveConnectProxy.run(LiveConnectProxy.java:48)
java.lang.NullPointerException
    at netscape.oji.JNIUtils.checkClassAccess(JNIUtils.java:106)
    at netscape.oji.JNIUtils.checkClassAccess(JNIUtils.java:68)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.privateGetPublicMethods(Class.java:2547)
    at java.lang.Class.getMethods(Class.java:1410)
    at netscape.oji.JNIRunnable.run(Native Method)
    at netscape.oji.LiveConnectProxy.run(LiveConnectProxy.java:48)

Either my Firefox 3.6.13 is broken or there are some Java permission issues. :/

All browser had a NullPointerException in common while starting Browser 
Calibration.html:

java.lang.NullPointerException
    at net.xeoh.plugins.base.impl.classpath.loader.InternalClasspathLoader.handlesURI(InternalClasspathLoader.java:62)
    at net.xeoh.plugins.base.impl.classpath.ClassPathManager.addFromLocation(ClassPathManager.java:137)
    at net.xeoh.plugins.base.impl.PluginManagerImpl.addPluginsFrom(PluginManagerImpl.java:126)
    at de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl$6.f(Unknown Source)
    at de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl$6.f(Unknown Source)
    at net.jcores.cores.CoreObject.forEach(CoreObject.java:837)
    at de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl.processAdditionalParameters(Unknown Source)
    at de.dfki.km.text20.browserplugin.browser.browserplugin.impl.BrowserPluginImpl.init(Unknown Source)
    at sun.applet.AppletPanel.run(AppletPanel.java:424)
    at java.lang.Thread.run(Thread.java:680)

I currently have no idea what causes this exception but at least it doesn't 
seem be critical :|

Original comment by arman.va...@gmail.com on 17 Mar 2011 at 4:46

GoogleCodeExporter commented 9 years ago
We can ignore Firefox 3.x completely, the only thing that worries me is Chrome. 
I can reproduce the problems over here with 10.0.648.134.

Original comment by r.biedert on 17 Mar 2011 at 4:54

GoogleCodeExporter commented 9 years ago
Chrome 10 problem solved. Appears to be a bug in Chrome when transmitting 
integers (e.g., in setPreferences()). We now just send strings instead of 
numbers ...

Original comment by r.biedert on 30 Mar 2011 at 4:20

GoogleCodeExporter commented 9 years ago
I verified the fix for FF4, Safari 5.0.4 and Chrome 10.

Thus the useObjectFlag can be removed?!

Original comment by arman.va...@gmail.com on 30 Mar 2011 at 4:44

GoogleCodeExporter commented 9 years ago
(Almost) switched. Works on FF4 and Chrome  (>10), Safari works on some 
machines, on others it doesn't. 

Original comment by r.biedert on 4 Apr 2011 at 3:00