Summary
Deprecate the jdk.jsobject module for removal. This module will be included with JavaFX.
Problem
jdk.jsobject
is a legacy JDK module that delivers a single package, netscape.javascript
. It is not used by the JDK. It is only used by JavaFX WebView for Java <--> JavaScript interoperation. Prior to JDK 11, it was also used by the LiveConnect feature of Java Plug-In to allow applets to communicate with the hosting web page. JavaFX, which was unbundled from the JDK in 11, is the only remaining client of the jdk.jsobject
APIs.
Solution
Deprecate the jdk.jsobject
module, and all exported types in that module, for removal in a future release. Deliver a copy of the jdk.jsobject module
as part of the JavaFX distribution -- see JDK-8338249. Further, make jdk.jsobject
an upgradable module in the JDK.
Developers who use the JavaFX modular jars to compile and run their application can specify the --upgrade-module-path
option when running java
or javac
to use the version of the jdk.jsobject
module delivered with JavaFX and avoid the removal warnings. Applications that use the JavaFX modular jars and do not specify --upgrade-module-path
will use the version of the jdk.jsobject
from the JDK and see the removal warning at compile time. The application will otherwise continue to run normally.
Applications that use jlink
with the module path pointing to the JavaFX jmods
will pick up the version of the jdk.jsobject
module delivered with JavaFX and avoid the removal warnings by default. If the JDK jmod files are put on the module path ahead of the JavaFX jmod
files, jlink
will pick up the one from the JDK; applications that use javac
from that JDK will see the removal warning at compile time.
Specification
Deprecate for removal the jdk.jsobject
module, and all public types in the netscape.javascript
package by adding the following @deprecated
javadoc tag and @Deprecated
annotation:
+ * @deprecated The jdk.jsobject module will be delivered with JavaFX.
*/
+@Deprecated(since = "24", forRemoval = true)
Additionally, add the following documentation to the netscape.javascript package-info:
+ * <p>
+ * <b>Deprecated, for removal: This API element is subject to removal
+ * in a future version.</b><br>
+ * <em>The jdk.jsobject module will be delivered with JavaFX.</em>
+ * </p>
Also, make jdk.jsobject
an upgradable module in the JDK.
See the attached file apidiff-8311530.zip file for the complete specification.
- csr of
-
JDK-8311530 Deprecate jdk.jsobject module for removal
-
- Resolved
-
- relates to
-
JDK-8338249 Include jdk.jsobject module with JavaFX
-
- Closed
-