Summary: | Liveconnect: no window.java object available in the DOM | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Kai Hendry <hendry> | ||||
Component: | Java | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED WONTFIX | ||||||
Severity: | Normal | CC: | ap, ddkilzer, shadow2531, swingler | ||||
Priority: | P2 | ||||||
Version: | 523.x (Safari 3) | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.4 | ||||||
URL: | http://jsx.webvm.net/liveconnectenv.html | ||||||
Attachments: |
|
Description
Kai Hendry
2007-08-29 08:43:12 PDT
Created attachment 16156 [details]
Liveconnect enabled test
This is the same as the URL: field on the bug report
Confirmed with a local debug build of WebKit r25284 with Safari 3 Public Beta v. 3.0.3 (522.12.1) on Mac OS X 10.4.10 (8R218). Some Mozilla LiveConnect documentation: http://www.mozilla.org/js/liveconnect/ http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:LiveConnect_Overview http://developer.mozilla.org/en/docs/JavaScript_Language_Resources#LiveConnect window.java is a synonym for Packages.java, see <https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages>. I'm not sure if that's formally part of LiveConnect, FWIW. *** Bug 17607 has been marked as a duplicate of this bug. *** Per <http://java.sun.com/javase/6/webnotes/6u10/plugin2/liveconnect/index.html>, the global window.java and window.Packages properties are now deprecated, and for a good reason: ---------------------------- The Mozilla family of browsers has historically provided support for access to the Java language from JavaScript even on web pages that don't contain Java applets. In this browser family, there are global java, netscape and Packages keywords available to JavaScript code which allow calling static methods, accessing static fields, and creating new instances of Java classes in similar fashion to the per-applet Packages keyword above. The semantics of these keywords becomes problematic when more than one applet is available on the web page. If you want to access one particular applet's user-defined classes (for example, in a com.mycompany package), how would the global Packages keyword know which applet to refer to? The new Java Plug-In also supports attaching more than one Java virtual machine instance to the web browser for executing applets. The semantics of these global keywords becomes even more complicated in this situation. For this reason, the global java, netscape and Packages JavaScript keywords are deprecated. They continue to function in the Firefox browser, but it is strongly recommended to transition existing code using them to use the new per-applet Packages keyword. It is not possible to access user-defined classes using these global keywords; attempts to do so will yield undefined results. ---------------------------- We will probably need to support per-applet Packages property at some point, but I think that the global one is a clear WONTFIX. (In reply to comment #7) > Per > <http://java.sun.com/javase/6/webnotes/6u10/plugin2/liveconnect/index.html>, > the global window.java and window.Packages properties are now deprecated, and > for a good reason: Yeh, since Opera 10.5 now uses the NPAPI plug-in for Java, it no longer supports window.java stuff. And, they're not going to support it either because it's deprecated. (Opera never supported all the window.java stuff FF did anyway). |