The synopsis - which I rephrased for better English, turns out to still
not represent most of what is happening here. The synopsis would
make one think this is mostly about removing an unused abstract class
and the font changes are a foot note to that. In fact this is MOSTLY
about removing per-appcontext code in the font code - code which
just asked for an appcontext and had no direct relationship with the
AWTSecurityManager class except to check for it in a one time call as a cheap way
of knowing we needed to be prepared to check for multiple contexts.
If you are removing AWTSecurityManager, the logical thing would be
to find another way to see if it is multiple appcontexts, not remove all the code
that handles such a case.
In other words there is an extrapolation here from "AWTSecurityManager is gone"
to "multiple appcontexts are gone" which happens to be true, but does not
logically follow.

So I thought I was reviewing one thing and it turns out to be quite different
and better summarised as :
"Remove multiple appcontext support from the font code because AWTSecurityManager is being removed"
The removal of AWTSecurityManager is < 10% of this change ..

Alternatively everything changed in the font code could have been handled with this :-

private static boolean maybeMultiAppContext() { // Do we have multiple app contexts any more ? // Or do we need a new way to check for multiple app contexts ? // If not, can we remove this code + its downstream dependencies too in a separate fix ? return false; } Are there any tests that are also obsoleted ? I am approving this change (modulo the answer about tests) since the end result will be the same but personally I would have split it into an AWT bug and a 2D bug each with an appropriate synopsis.

-phil.

On 1/15/19 11:49 AM, Sergey Bylokhov wrote:
Hello.
Please review the fix for jdk 13.

Bug: https://bugs.openjdk.java.net/browse/JDK-8216592
Webrev: http://cr.openjdk.java.net/~serb/8216592/webrev.01

The AWTSecurityManager class is an abstract class which provided
the AppContext objects through SecurityManager extensions. The plugin
provided a concrete implementation of this class. Since plugin was
removed the AWTSecurityManager itself can be removed as well.

Since we currently never set AWTSecurityManager some of our checks like:
"sm instanceof sun.awt.AWTSecurityManager"
are always "false". And I dropped the code which uses such
checks(mostly in the SunFontManager)



Reply via email to