From 2b03dbdac4819bc0d40912f273a1ca7ab4e8715e Mon Sep 17 00:00:00 2001
From: Kevin Rushforth
Date: Fri, 18 Oct 2024 00:23:39 +0000
Subject: [PATCH] 8311530: Deprecate jdk.jsobject module for removal
Reviewed-by: rriggs, alanb, erikj
---
make/conf/module-loader-map.conf | 2 +-
src/java.base/share/lib/security/default.policy | 4 ----
src/jdk.jsobject/share/classes/module-info.java | 5 ++++-
.../share/classes/netscape/javascript/JSException.java | 5 ++++-
.../share/classes/netscape/javascript/JSObject.java | 5 ++++-
.../share/classes/netscape/javascript/package-info.java | 6 ++++++
test/jdk/jdk/modules/etc/UpgradeableModules.java | 5 +++--
7 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/make/conf/module-loader-map.conf b/make/conf/module-loader-map.conf
index 1062b780a79..b628bfbf2da 100644
--- a/make/conf/module-loader-map.conf
+++ b/make/conf/module-loader-map.conf
@@ -62,6 +62,7 @@ UPGRADEABLE_PLATFORM_MODULES= \
java.compiler \
jdk.graal.compiler \
jdk.graal.compiler.management \
+ jdk.jsobject \
#
PLATFORM_MODULES= \
@@ -79,7 +80,6 @@ PLATFORM_MODULES= \
jdk.crypto.cryptoki \
jdk.dynalink \
jdk.httpserver \
- jdk.jsobject \
jdk.localedata \
jdk.naming.dns \
jdk.security.auth \
diff --git a/src/java.base/share/lib/security/default.policy b/src/java.base/share/lib/security/default.policy
index aa67bd6b53e..d9bfdede978 100644
--- a/src/java.base/share/lib/security/default.policy
+++ b/src/java.base/share/lib/security/default.policy
@@ -167,10 +167,6 @@ grant codeBase "jrt:/jdk.graal.compiler" {
permission java.security.AllPermission;
};
-grant codeBase "jrt:/jdk.jsobject" {
- permission java.security.AllPermission;
-};
-
grant codeBase "jrt:/jdk.localedata" {
permission java.lang.RuntimePermission "accessClassInPackage.sun.text.*";
permission java.lang.RuntimePermission "accessClassInPackage.sun.util.*";
diff --git a/src/jdk.jsobject/share/classes/module-info.java b/src/jdk.jsobject/share/classes/module-info.java
index 7903dbb2c24..22ee6576af3 100644
--- a/src/jdk.jsobject/share/classes/module-info.java
+++ b/src/jdk.jsobject/share/classes/module-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,10 @@
*
* @moduleGraph
* @since 9
+ * @deprecated The jdk.jsobject module will be delivered with JavaFX.
*/
+@Deprecated(since = "24", forRemoval = true)
+@SuppressWarnings("removal")
module jdk.jsobject {
exports netscape.javascript;
}
diff --git a/src/jdk.jsobject/share/classes/netscape/javascript/JSException.java b/src/jdk.jsobject/share/classes/netscape/javascript/JSException.java
index 5d677cccec8..7fe8ad8dd04 100644
--- a/src/jdk.jsobject/share/classes/netscape/javascript/JSException.java
+++ b/src/jdk.jsobject/share/classes/netscape/javascript/JSException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2023, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,10 @@ package netscape.javascript;
* a marker class to indicate an exception relating to the JavaScript
* interface.
* @since 1.5
+ * @deprecated The jdk.jsobject module will be delivered with JavaFX.
*/
+@Deprecated(since = "24", forRemoval = true)
+@SuppressWarnings("removal")
public class JSException extends RuntimeException {
private static final long serialVersionUID = 2778103758223661489L;
diff --git a/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java b/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java
index 0eff2d18e26..f038728d7bd 100644
--- a/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java
+++ b/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2023, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -44,7 +44,10 @@ package netscape.javascript;
* engine is converted to JavaScript data types.
*
* @since 1.5
+ * @deprecated The jdk.jsobject module will be delivered with JavaFX.
*/
+@Deprecated(since = "24", forRemoval = true)
+@SuppressWarnings("removal")
public abstract class JSObject {
/**
* Constructs a new JSObject. Users should neither call this method nor
diff --git a/src/jdk.jsobject/share/classes/netscape/javascript/package-info.java b/src/jdk.jsobject/share/classes/netscape/javascript/package-info.java
index fcc97132a50..f7aae37db50 100644
--- a/src/jdk.jsobject/share/classes/netscape/javascript/package-info.java
+++ b/src/jdk.jsobject/share/classes/netscape/javascript/package-info.java
@@ -24,6 +24,12 @@
*/
/**
+ *
+ * Deprecated, for removal: This API element is subject to removal
+ * in a future version.
+ * The jdk.jsobject module will be delivered with JavaFX.
+ *
+ *
*
* Provides Java code the ability to access the JavaScript engine and the
* HTML DOM in the web browser.
diff --git a/test/jdk/jdk/modules/etc/UpgradeableModules.java b/test/jdk/jdk/modules/etc/UpgradeableModules.java
index 3616c6b6d4d..8c5fbeafb28 100644
--- a/test/jdk/jdk/modules/etc/UpgradeableModules.java
+++ b/test/jdk/jdk/modules/etc/UpgradeableModules.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,8 @@ public class UpgradeableModules {
private static final List UPGRADEABLE_MODULES =
List.of("java.compiler",
"jdk.graal.compiler",
- "jdk.graal.compiler.management");
+ "jdk.graal.compiler.management",
+ "jdk.jsobject");
public static void main(String... args) {