RFR: 8342453: Remove calls to doPrivileged in javafx.graphics/com.sun.javafx.tk

Kevin Rushforth kcr at openjdk.org
Mon Oct 28 13:00:14 UTC 2024


This PR removes all doPrivileged calls from `com.sun.javafx.tk**` in the `javafx.graphics` module. 

Here is a quick overview of what I did for this fix:

1. Changed all simple cases of `doPrivileged((PrivilegedAction<T>) () -> LAMBDA)` to `LAMBDA`, removing the `@SuppressWarnings("removal")` if possible. In case of an unused or unneeded local variable, I removed the local variable.
2. Remove unused `AccessControlContext` variables, meaning those whose only use was to be passed into a doPrivileged call that is now gone.
3. Removed all `@SuppressWarnings("removal")` annotations that were unneeded after the removed doPrivileged calls. In some cases there are annotations on a method or class. Those can only be removed if the doPrivileged calls were the only use of deprecated SM API in that method or class.
4. Remove unused imports.

Finally, here are a few "best practices" that I tried to follow, and would ask others to follow when doing their piece of this. The idea is to reduce the cognitive load on the reviewers. It might take you a couple extra minutes, but will save time during the review:

* When removing the doPrivileged calls, please do the minimum amount of reformatting necessary to properly indent the body of the doPrivileged after it is removed. For example, don't wholesale reformat a method (or worse, an entire class) just because a couple doPrivileged calls are removed.
* Please try to not reorder the import statements when removing unused imports.

#### Notes to reviewers

As a helpful hint for reviewers, I recommend reviewing this using the "Hide whitespace" option.

An initial, limited review of this was done in my personal fork at kevinrushforth/jfx#4 if other reviwers are interested.

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

Commit messages:
 - Merge branch 'master' into 8342453-rm-dopriv-graphics-tk
 - review comments: simplify PerformanceTrackerHelper::createInstance
 - Iterate over toolkitListeners.keySet rather than entrySet, since we don't use the (deprecated) AccessControlContext
 - 8342453: Remove calls to doPrivileged in javafx.graphics/com.sun.javafx.tk

Changes: https://git.openjdk.org/jfx/pull/1608/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1608&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8342453
  Stats: 1106 lines in 18 files changed: 105 ins; 448 del; 553 mod
  Patch: https://git.openjdk.org/jfx/pull/1608.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1608/head:pull/1608

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


More information about the openjfx-dev mailing list