Skip to content

Commit

Permalink
8270859: Post JEP 411 refactoring: client libs with maximum covering …
Browse files Browse the repository at this point in the history
…> 10K

Backport-of: 90cd2fa16458dcc3e36171fa4bf21f26bc92b168
  • Loading branch information
mrserb committed Mar 13, 2023
1 parent 1ad9e68 commit c118b0e
Show file tree
Hide file tree
Showing 22 changed files with 185 additions and 136 deletions.
17 changes: 16 additions & 1 deletion src/java.desktop/macosx/classes/com/apple/eio/FileManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,13 @@
*
* @since 1.4
*/
@SuppressWarnings("removal")
public class FileManager {
static {
loadOSXLibrary();
}

@SuppressWarnings("removal")
private static void loadOSXLibrary() {
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
Expand Down Expand Up @@ -132,6 +136,7 @@ public static int OSTypeToInt(String type) {
* @since 1.4
*/
public static void setFileTypeAndCreator(String filename, int type, int creator) throws IOException {
@SuppressWarnings("removal")
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkWrite(filename);
Expand All @@ -146,6 +151,7 @@ public static void setFileTypeAndCreator(String filename, int type, int creator)
* @since 1.4
*/
public static void setFileType(String filename, int type) throws IOException {
@SuppressWarnings("removal")
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkWrite(filename);
Expand All @@ -160,6 +166,7 @@ public static void setFileType(String filename, int type) throws IOException {
* @since 1.4
*/
public static void setFileCreator(String filename, int creator) throws IOException {
@SuppressWarnings("removal")
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkWrite(filename);
Expand All @@ -174,6 +181,7 @@ public static void setFileCreator(String filename, int creator) throws IOExcepti
* @since 1.4
*/
public static int getFileType(String filename) throws IOException {
@SuppressWarnings("removal")
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkRead(filename);
Expand All @@ -188,6 +196,7 @@ public static int getFileType(String filename) throws IOException {
* @since 1.4
*/
public static int getFileCreator(String filename) throws IOException {
@SuppressWarnings("removal")
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkRead(filename);
Expand Down Expand Up @@ -251,6 +260,7 @@ public static String findFolder(short domain, int folderType) throws FileNotFoun
* @since 1.4
*/
public static String findFolder(short domain, int folderType, boolean createIfNeeded) throws FileNotFoundException {
@SuppressWarnings("removal")
final SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkPermission(new RuntimePermission("canExamineFileSystem"));
Expand Down Expand Up @@ -278,6 +288,7 @@ public static String findFolder(short domain, int folderType, boolean createIfNe
*/
@Deprecated
public static void openURL(String url) throws IOException {
@SuppressWarnings("removal")
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkPermission(new RuntimePermission("canOpenURLs"));
Expand Down Expand Up @@ -329,6 +340,7 @@ public static String getResource(String resourceName, String subDirName, String

private static native String getNativeResourceFromBundle(String resourceName, String subDirName, String type) throws FileNotFoundException;
private static String getResourceFromBundle(String resourceName, String subDirName, String type) throws FileNotFoundException {
@SuppressWarnings("removal")
final SecurityManager security = System.getSecurityManager();
if (security != null) security.checkPermission(new RuntimePermission("canReadBundle"));

Expand All @@ -347,6 +359,7 @@ private static String getResourceFromBundle(String resourceName, String subDirNa
* @since Java for Mac OS X 10.5 Update 2 - 1.5
*/
public static String getPathToApplicationBundle() {
@SuppressWarnings("removal")
SecurityManager security = System.getSecurityManager();
if (security != null) security.checkPermission(new RuntimePermission("canReadBundle"));
return getNativePathToApplicationBundle();
Expand All @@ -368,6 +381,7 @@ public static boolean moveToTrash(final File file) throws FileNotFoundException
if (file == null) throw new FileNotFoundException();
final String fileName = file.getAbsolutePath();

@SuppressWarnings("removal")
final SecurityManager security = System.getSecurityManager();
if (security != null) security.checkDelete(fileName);

Expand All @@ -391,6 +405,7 @@ public static boolean revealInFinder(final File file) throws FileNotFoundExcepti
if (file == null || !file.exists()) throw new FileNotFoundException();
final String fileName = file.getAbsolutePath();

@SuppressWarnings("removal")
final SecurityManager security = System.getSecurityManager();
if (security != null) security.checkRead(fileName);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

import com.apple.laf.AquaUtils.RecyclableSingleton;

@SuppressWarnings({"removal","serial"}) // JDK implementation class
@SuppressWarnings("serial") // JDK implementation class
class AquaFileView extends FileView {
private static final boolean DEBUG = false;

Expand All @@ -57,6 +57,11 @@ class AquaFileView extends FileView {
static final int kLSItemInfoExtensionIsHidden = 0x00100000; /* Item has a hidden extension*/

static {
loadOSXUILibrary();
}

@SuppressWarnings("removal")
private static void loadOSXUILibrary() {
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,17 @@
import sun.lwawt.LWToolkit;
import sun.lwawt.macosx.*;

@SuppressWarnings({"removal","serial"}) // JDK implementation class
@SuppressWarnings("serial") // JDK implementation class
final class ScreenMenu extends Menu
implements ContainerListener, ComponentListener,
ScreenMenuPropertyHandler {

static {
loadAWTLibrary();
}

@SuppressWarnings("removal")
private static void loadAWTLibrary() {
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,16 @@
import sun.awt.AWTAccessor;
import sun.lwawt.LWWindowPeer;

@SuppressWarnings("removal")
class CAccessibility implements PropertyChangeListener {
private static Set<String> ignoredRoles;

static {
// Need to load the native library for this code.
loadAWTLibrary();
}

@SuppressWarnings("removal")
private static void loadAWTLibrary() {
// Need to load the native library for this code.
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
Expand Down
21 changes: 13 additions & 8 deletions src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ final class NamedCursor extends Cursor {
/**
* Mac OS X Cocoa-based AWT Toolkit.
*/
@SuppressWarnings("removal")
public final class LWCToolkit extends LWToolkit {
// While it is possible to enumerate all mouse devices
// and query them for the number of buttons, the code
Expand All @@ -147,6 +146,7 @@ public final class LWCToolkit extends LWToolkit {
static {
System.err.flush();

@SuppressWarnings("removal")
ResourceBundle platformResources = java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<ResourceBundle>() {
@Override
Expand Down Expand Up @@ -176,20 +176,23 @@ public ResourceBundle run() {
if (!GraphicsEnvironment.isHeadless()) {
initIDs();
}
inAWT = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
@Override
public Boolean run() {
return !Boolean.parseBoolean(System.getProperty("javafx.embed.singleThread", "false"));
}
});
}

/*
* If true we operate in normal mode and nested runloop is executed in JavaRunLoopMode
* If false we operate in singleThreaded FX/AWT interop mode and nested loop uses NSDefaultRunLoopMode
*/
private static final boolean inAWT;
@SuppressWarnings("removal")
private static final boolean inAWT
= AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
@Override
public Boolean run() {
return !Boolean.parseBoolean(
System.getProperty("javafx.embed.singleThread", "false"));
}
});

@SuppressWarnings("removal")
public LWCToolkit() {
final String extraButtons = "sun.awt.enableExtraMouseButtons";
AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
Expand Down Expand Up @@ -248,6 +251,7 @@ public static Color getAppleColor(int color) {
}

// This is only called from native code.
@SuppressWarnings("removal")
static void systemColorsChanged() {
EventQueue.invokeLater(() -> {
AccessController.doPrivileged( (PrivilegedAction<Object>) () -> {
Expand Down Expand Up @@ -586,6 +590,7 @@ public boolean isAlwaysOnTopSupported() {
private static final String APPKIT_THREAD_NAME = "AppKit Thread";

// Intended to be called from the LWCToolkit.m only.
@SuppressWarnings("removal")
private static void installToolkitThreadInJava() {
Thread.currentThread().setName(APPKIT_THREAD_NAME);
AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
Expand Down
22 changes: 12 additions & 10 deletions src/java.desktop/share/classes/java/awt/EventQueue.java
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@
*
* @since 1.1
*/
@SuppressWarnings("removal")
public class EventQueue {
private static final AtomicInteger threadInitNumber = new AtomicInteger();

Expand Down Expand Up @@ -192,8 +191,6 @@ private static final PlatformLogger getEventLog() {
return eventLog;
}

private static boolean fxAppThreadIsDispatchThread;

static {
AWTAccessor.setEventQueueAccessor(
new AWTAccessor.EventQueueAccessor() {
Expand Down Expand Up @@ -230,15 +227,16 @@ public long getMostRecentEventTime(EventQueue eventQueue) {
return eventQueue.getMostRecentEventTimeImpl();
}
});
AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
fxAppThreadIsDispatchThread =
"true".equals(System.getProperty("javafx.embed.singleThread"));
return null;
}
});
}

@SuppressWarnings("removal")
private static boolean fxAppThreadIsDispatchThread =
AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
public Boolean run() {
return "true".equals(System.getProperty("javafx.embed.singleThread"));
}
});

/**
* Initializes a new instance of {@code EventQueue}.
*/
Expand Down Expand Up @@ -734,8 +732,11 @@ public void run() {
}
};

@SuppressWarnings("removal")
final AccessControlContext stack = AccessController.getContext();
@SuppressWarnings("removal")
final AccessControlContext srcAcc = getAccessControlContextFrom(src);
@SuppressWarnings("removal")
final AccessControlContext eventAcc = event.getAccessControlContext();
if (srcAcc == null) {
javaSecurityAccess.doIntersectionPrivilege(action, stack, eventAcc);
Expand All @@ -750,6 +751,7 @@ public Void run() {
}
}

@SuppressWarnings("removal")
private static AccessControlContext getAccessControlContextFrom(Object src) {
return src instanceof Component ?
((Component)src).getAccessControlContext() :
Expand Down
8 changes: 2 additions & 6 deletions src/java.desktop/share/classes/javax/print/DocFlavor.java
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,6 @@
*
* @author Alan Kaminsky
*/
@SuppressWarnings("removal")
public class DocFlavor implements Serializable, Cloneable {

/**
Expand All @@ -405,13 +404,10 @@ public class DocFlavor implements Serializable, Cloneable {
* This is the charset for all the "HOST" pre-defined {@code DocFlavors} in
* the executing VM.
*/
public static final String hostEncoding;

static {
hostEncoding =
@SuppressWarnings("removal")
public static final String hostEncoding =
java.security.AccessController.doPrivileged(
new sun.security.action.GetPropertyAction("file.encoding"));
}

/**
* MIME type.
Expand Down
48 changes: 23 additions & 25 deletions src/java.desktop/share/classes/javax/swing/ImageIcon.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
* @author Lynn Monsanto
* @since 1.2
*/
@SuppressWarnings({"removal","serial"}) // Same-version serialization only
@SuppressWarnings("serial") // Same-version serialization only
public class ImageIcon implements Icon, Serializable, Accessible {
/* Keep references to the filename and location so that
* alternate persistence schemes have the option to archive
Expand All @@ -105,39 +105,37 @@ public class ImageIcon implements Icon, Serializable, Accessible {
* It is left for backward compatibility only.
* @deprecated since 1.8
*/
@SuppressWarnings("removal")
@Deprecated
protected static final Component component;
protected static final Component component
= AccessController.doPrivileged(new PrivilegedAction<Component>() {
public Component run() {
try {
final Component component = createNoPermsComponent();

// 6482575 - clear the appContext field so as not to leak it
AWTAccessor.getComponentAccessor().
setAppContext(component, null);

return component;
} catch (Throwable e) {
// We don't care about component.
// So don't prevent class initialisation.
e.printStackTrace();
return null;
}
}
});

/**
* Do not use this shared media tracker, which is used to load images.
* It is left for backward compatibility only.
* @deprecated since 1.8
*/
@Deprecated
protected static final MediaTracker tracker;

static {
component = AccessController.doPrivileged(new PrivilegedAction<Component>() {
public Component run() {
try {
final Component component = createNoPermsComponent();

// 6482575 - clear the appContext field so as not to leak it
AWTAccessor.getComponentAccessor().
setAppContext(component, null);

return component;
} catch (Throwable e) {
// We don't care about component.
// So don't prevent class initialisation.
e.printStackTrace();
return null;
}
}
});
tracker = new MediaTracker(component);
}
protected static final MediaTracker tracker = new MediaTracker(component);

@SuppressWarnings("removal")
private static Component createNoPermsComponent() {
// 7020198 - set acc field to no permissions and no subject
// Note, will have appContext set.
Expand Down
Loading

1 comment on commit c118b0e

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.