On Thu, 31 Oct 2024 14:09:52 GMT, Lukasz Kostyra <lkost...@openjdk.org> wrote:
>> This PR removes uses of `AccessControler.doPrivileged()` from >> `javafx.graphics` package. All uses of `doPrivileged()` were removed >> _excluding_ `com.sun.javafx.tk` and `com.sun.ui.glass` subpackages - those >> are handled by [JDK-8342453](https://bugs.openjdk.org/browse/JDK-8342453) >> (already completed) and >> [JDK-8342454](https://bugs.openjdk.org/browse/JDK-8342454) respectively. >> >> Most of these changes are fairly straightforward and follow the standard >> replacement from `AccessController.doPrivileged(LAMBDA)` to just simply >> `LAMBDA` with a couple exceptions: >> >> - `StyleManager.java` where `loadStylesheet()` followed two steps - >> attempting straightforward stylesheet load via >> `loadStylesheetUnPrivileged()` and in case of `AccessControlException` >> retrying the load via `AccessController.doPrivileged` with read-only access >> to stylesheet JAR. Now that `doPrivileged` is deprecated and not used >> anymore, `loadStylesheetUnPrivileged()` was always successful and the >> fallback became essentially dead code. Fallback was removed and >> `loadStylesheetUnPrivileged()` was renamed to `loadStylesheet()`. >> - `Scene.java` integrates with `com.sun.javafx.tk` so only straightforward >> `doPrivileged()` calls were removed - `AccessControlContext` remained, as it >> needs to be removed from both tk and Scene via a follow-up >> ([JDK-8342993](https://bugs.openjdk.org/browse/JDK-8342993)) >> >> Building graphics module now produces less warnings than before this change >> with no new warning messages (all warnings refer to the use of `Unsafe` >> which is out of scope of this change). > > Lukasz Kostyra has updated the pull request incrementally with one additional > commit since the last revision: > > Scene: Remove missed doPrivileged use modules/javafx.graphics/src/main/java/com/sun/prism/es2/GLPixelFormat.java line 35: > 33: private long nativePFInfo; > 34: private static int defaultDepthSize; > 35: private static int defaultBufferSize; private static final int defaultDepthSize = Integer.getInteger("prism.glDepthSize", 24); private static final int defaultBufferSize = Integer.getInteger("prism.glBufferSize", 32); modules/javafx.graphics/src/main/java/javafx/application/Preloader.java line 107: > 105: > 106: // Too bad this isn't already available in a Java core class > 107: private static final String lineSeparator; Suggestion: private static final String lineSeparator = System.getProperty("line.separator", "\n"); modules/javafx.graphics/src/main/java/javafx/scene/Scene.java line 1445: > 1443: } > 1444: > 1445: snapshotRunnableList.add(() -> { snapshotRunnableList.add(runnable); ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1619#discussion_r1824656823 PR Review Comment: https://git.openjdk.org/jfx/pull/1619#discussion_r1824665495 PR Review Comment: https://git.openjdk.org/jfx/pull/1619#discussion_r1824670314