RFR: 8344063: Remove doPrivileged calls from swing classes in the java.desktop module
altrisi
duke at openjdk.org
Thu Nov 14 18:40:59 UTC 2024
On Wed, 13 Nov 2024 23:19:32 GMT, Phil Race <prr at openjdk.org> wrote:
> This is the first of a number of PRs to remove doPrivileged uses in client libraries.
> These calls are obsolete dead code after JEP 486.
>
> I have run all our automated tests, including JCK tests, and manually tested SwingSet.
>
> One thing I might have missed in a couple of cases is that it seems that javac doesn't seem to notice if you leave an un-needed SuppressWarnings("removal") annotation.
>
> As per the bug report I am limiting (as much as I can) what I touch here to be just the immediate consequences of removing doPrivileged calls. These changes are plenty enough as it is.
Not a Reviewer, but checked some of the changes.
src/java.desktop/share/classes/javax/swing/RepaintManager.java line 216:
> 214: @SuppressWarnings("removal")
> 215: var t1 = "true".equals(AccessController.
> 216: doPrivileged(new GetPropertyAction(
Missed the GetPropertyAction import for this file (can't annotate there)
src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java line 2186:
> 2184: AWTEventHelper() {
> 2185: super();
> 2186: run();
I don't think this method being called `run()` still makes sense when just being called from the constructor, it used to make (more) sense when it was an override from PrivilegedAction.
src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java line 150:
> 148: @SuppressWarnings("removal")
> 149: String systemFonts = AccessController.doPrivileged(
> 150: new GetPropertyAction("swing.useSystemFontSettings"));
Missed the GetPropertyAction import for this file (can't annotate there).
src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java line 150:
> 148: if (defaultI18NProperty == null) {
> 149: // determine default setting for i18n support
> 150: String o = System.getProperty(I18NProperty);
I believe the whole handling of `I18NProperty` (this line and the if-else below) can be simplified to Boolean.getBoolean, similar to what has been done in other places in this PR.
-------------
PR Review: https://git.openjdk.org/jdk/pull/22090#pullrequestreview-2436892099
PR Review Comment: https://git.openjdk.org/jdk/pull/22090#discussion_r1842706904
PR Review Comment: https://git.openjdk.org/jdk/pull/22090#discussion_r1842715788
PR Review Comment: https://git.openjdk.org/jdk/pull/22090#discussion_r1842723025
PR Review Comment: https://git.openjdk.org/jdk/pull/22090#discussion_r1842720574
More information about the client-libs-dev
mailing list