# HG changeset patch # User kcr # Date 1561498051 25200 # Node ID d0c2e34bae88c96eb4aec9d44d02460b028bedc7 # Parent cd7c66f9dd38013f7e3f72b4d7c2f45c7098893a 8222563: Remove terminally deprecated method netscape.javascript.JSObject::getWindow Reviewed-by: prr, herrick diff -r cd7c66f9dd38 -r d0c2e34bae88 src/jdk.jsobject/share/classes/jdk/internal/netscape/javascript/spi/JSObjectProvider.java --- a/src/jdk.jsobject/share/classes/jdk/internal/netscape/javascript/spi/JSObjectProvider.java Tue Jun 25 14:13:33 2019 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2016, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.internal.netscape.javascript.spi; - -import java.applet.Applet; -import netscape.javascript.JSException; -import netscape.javascript.JSObject; - -@SuppressWarnings("deprecation") -public interface JSObjectProvider { - /** - * Return a JSObject for the window containing the given applet. - * Implementations of this class should return null if not connected to a - * browser, for example, when running in AppletViewer. - * - * @param applet The applet. - * @return JSObject for the window containing the given applet or null if we - * are not connected to a browser. - * @throws JSException when an error is encountered. - */ - public JSObject getWindow(Applet applet) throws JSException; -} diff -r cd7c66f9dd38 -r d0c2e34bae88 src/jdk.jsobject/share/classes/module-info.java --- a/src/jdk.jsobject/share/classes/module-info.java Tue Jun 25 14:13:33 2019 +0530 +++ b/src/jdk.jsobject/share/classes/module-info.java Tue Jun 25 14:27:31 2019 -0700 @@ -30,9 +30,5 @@ * @since 9 */ module jdk.jsobject { - requires java.desktop; - exports netscape.javascript; - - uses jdk.internal.netscape.javascript.spi.JSObjectProvider; } diff -r cd7c66f9dd38 -r d0c2e34bae88 src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java --- a/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java Tue Jun 25 14:13:33 2019 +0530 +++ b/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java Tue Jun 25 14:27:31 2019 -0700 @@ -25,8 +25,6 @@ package netscape.javascript; -import jdk.internal.netscape.javascript.spi.JSObjectProvider; -import java.applet.Applet; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Iterator; @@ -139,52 +137,4 @@ */ public abstract void setSlot(int index, Object value) throws JSException; - /** - * Returns a JSObject for the window containing the given applet. This - * method only works when the Java code is running in a browser as an - * applet. The object returned may be used to access the HTML DOM directly. - * - * @param applet The applet. - * @return JSObject representing the window containing the given applet or - * {@code null} if we are not connected to a browser. - * @throws JSException when an error is reported from the browser or - * JavaScript engine or if applet is {@code null} - * - * @deprecated The Applet API is deprecated, no replacement. See the - * - * java.applet package documentation for further information. - */ - - @Deprecated(since="9", forRemoval=true) - @SuppressWarnings("exports") - public static JSObject getWindow(Applet applet) throws JSException { - return ProviderLoader.callGetWindow(applet); - } - - private static class ProviderLoader { - private static final JSObjectProvider provider; - - static { - provider = AccessController.doPrivileged( - new PrivilegedAction<>() { - @Override - public JSObjectProvider run() { - Iterator providers = - ServiceLoader.loadInstalled(JSObjectProvider.class).iterator(); - if (providers.hasNext()) { - return providers.next(); - } - return null; - } - } - ); - } - - private static JSObject callGetWindow(Applet applet) { - if (provider != null) { - return provider.getWindow(applet); - } - return null; - } - } } diff -r cd7c66f9dd38 -r d0c2e34bae88 test/jdk/jdk/modules/etc/JdkQualifiedExportTest.java --- a/test/jdk/jdk/modules/etc/JdkQualifiedExportTest.java Tue Jun 25 14:13:33 2019 +0530 +++ b/test/jdk/jdk/modules/etc/JdkQualifiedExportTest.java Tue Jun 25 14:27:31 2019 -0700 @@ -73,8 +73,7 @@ "jdk.internal.vm.ci/jdk.vm.ci.runtime", "jdk.internal.vm.ci/jdk.vm.ci.hotspot", "jdk.internal.vm.ci/jdk.vm.ci.meta", - "jdk.internal.vm.ci/jdk.vm.ci.code", - "jdk.jsobject/jdk.internal.netscape.javascript.spi"); + "jdk.internal.vm.ci/jdk.vm.ci.code"); static void checkExports(ModuleDescriptor md) { // build a map of upgradeable module to Exports that are qualified to it