RFR: 8342993: Remove uses of AccessController and AccessControlContext from JavaFX
Kevin Rushforth
kcr at openjdk.org
Thu Nov 14 22:40:39 UTC 2024
This PR removes all remaining uses of `AccessController` and `AccessControlContext`, which represent the last remaining uses of the terminally deprecated security APIs except for those in the `/ios/` or `/android/` directories.
With the removal of doPrivileged and the `if (System.getSecurityManager() != null)` code paths, the ACC is no longer used, so can be completely eliminated. Along with this, I removed all unused imports of security-related APIs and all related `@SuppressWarnings("removal") annotations.
### Notes to reviewers
* Most of the changes were straight-forward removals of methods and fields to save, retrieve and pass around the `AccessControlContext`.
* The Toolkit class stores a collection of listeners in a `WeakHashMap` with the listener as the key (thus weakly held) and the ACC as the value. We no longer need or want the ACC, but I kept the use of `WeakHashMap` and changed the value type to `Object`, storing a singleton dummy object as the value for each entry. This minimizes the changes, while preserving the behavior of reclaiming the entries when they are garbage collected.
-------------
Commit messages:
- 8342993: Remove uses of AccessController and AccessControlContext from JavaFX
Changes: https://git.openjdk.org/jfx/pull/1638/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1638&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8342993
Stats: 324 lines in 30 files changed: 7 ins; 260 del; 57 mod
Patch: https://git.openjdk.org/jfx/pull/1638.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1638/head:pull/1638
PR: https://git.openjdk.org/jfx/pull/1638
More information about the openjfx-dev
mailing list