RFR: 8342456: Remove calls to doPrivileged in javafx.graphics/other [v3]

Lukasz Kostyra lkostyra at openjdk.org
Fri Nov 1 09:37:19 UTC 2024


> 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:

  Review fixes

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/1619/files
  - new: https://git.openjdk.org/jfx/pull/1619/files/bd3780cf..43bfbefe

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1619&range=02
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1619&range=01-02

  Stats: 39 lines in 9 files changed: 5 ins; 24 del; 10 mod
  Patch: https://git.openjdk.org/jfx/pull/1619.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1619/head:pull/1619

PR: https://git.openjdk.org/jfx/pull/1619


More information about the openjfx-dev mailing list