On 14.07.2020 12:06, Pankaj Bansal wrote:
Hi Sergey,

Thanks for the review. Please see my comments inline. Following the new webrev

webrev: http://cr.openjdk.java.net/~pbansal/8249251/webrev02/ 
<http://cr.openjdk.java.net/%7Epbansal/8249251/webrev02/>

Looks fine.


On 14/07/20 12:43 PM, Sergey Bylokhov wrote:
Hi, Pankaj.

A few notes about the fix and test:
 - The usage of textarea selection as a temporal solution is fine, but did you 
notice that mouse over effect over JButtons
   in the SwingSet use correct "light color"? Did you tried to check can we use 
it for menu as well?
I tried this, but I think this is not very viable option.
1. The highlight is again not very much visible over the menu. It looks good in 
SwingSet2 as there are other menus to compare, but if we create one menu, the 
highlight is not visible properly. I saw that there is very less difference in 
the color values.
2. Doing this will make the Menu more consistent with Popup menu highlight in 
Ubuntu 20.04. But for Ubuntu 18.04 and OL 76, OL82, this will make it less 
consistent. In OL 76, OL 82, Ubuntu 18.04 the highlight in native popup is also 
of same color as selected Text color background (Blue and Orange). so using 
button highlight color will make the menu highlight less consistent with native 
terminal popup menu highlight.
3. This is also a workaround in the end and we will need to fix this also by 
reading the popup highlight color from Terminal.
4. If you would like to try out this out, here is a webrev 
http://cr.openjdk.java.net/~pbansal/8249251/webrev02_Button/ 
<http://cr.openjdk.java.net/%7Epbansal/8249251/webrev02_Button/>
 - The test should not check exact selection color and compare it to the 
textarea selection, it should check
   that the selection color is clearly visible on the background. I guess it 
should use the logic similar to the
   logic which was deleted by the fix.

Done.
 - The next code should be inverted, or additional waitForIdle should be added:
       frame.setVisible(true);
       ........
       SwingUtilities.invokeAndWait(() -> {
          point = menu.getLocationOnScreen();
          rect = menu.getBounds();
       });
       robot.waitForIdle();
       robot.delay(500);
   You need to wait and then read the bounds, otherwise the test may fail(It 
sometimes fail on my local run for that reason)

Done.


Regards,
Pankaj

On 13.07.2020 11:30, Pankaj Bansal wrote:
Hi All,

Please review the following fix for jdk15.

Bug : https://bugs.openjdk.java.net/browse/JDK-8249251
webrev: http://cr.openjdk.java.net/~pbansal/8249251/webrev01/ 
<http://cr.openjdk.java.net/%7Epbansal/8249251/webrev01/>

Issue: In Ubuntu 20.04 in dark mode, the selected Menu is not being highlighted 
properly. so, there is no difference between selected and unselected Menu. The 
issue can be reproduced by running Swingset2 or using the test added in fix.

Cause: In dark mode, the highlight color for Menu is not visible over the dark 
background color for the Menubar. So, the highlight is not visible properly and 
it looks like there is no highlight being drawn.

Fix: The fix is to use some color for highlighting, which will be properly 
visible. We have taken the background color for selected text. This color is is 
visible over the dark Background easily. The fix is tested on Ubuntu 18.04, 
Ubuntu 20.04 and OL 8.2.

Added an automated test to verify that the highlight color is same as 
background color for selected text. The test passes on mach5 with multiple 
iterations. Link added in JBS.


Regards
Pankaj






--
Best regards, Sergey.

Reply via email to