On Fri, 2 Dec 2022 03:37:47 GMT, Sergey Bylokhov <[email protected]> wrote:
>> The above test was failing due to incorrect pixel color and wrong window >> bounds on Mac-ARM, Windows and Linux platforms. >> >> The following changes have been made: >> - Correct window bounds are obtained using the screen device being tested >> (this test checks FullScreen functionality on multiple screen devices). >> - Color tolerance has been added for color check >> - Instead of scanning the full screen to check pixel color, vertical and >> horizontal scans are done at the far right and bottom end to ensure that >> window is in full screen mode w.r.t to screen device and the window bounds >> are as expected. >> >> CI testing passes on all platforms (tested 50 times per platform). > > test/jdk/java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java line 44: > >> 42: * @bug 8003173 7019055 >> 43: * @summary Full-screen windows should have the proper insets. >> 44: * @run main FullScreenInsets > > run main is not needed if no options are provided for the test. less one > place to make a typo or copy-paste error in the name of the test. Added the @run tag to be consistent with other jtreg tests. I can remove it in the next update. > test/jdk/java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java line 61: > >> 59: final Frame wGreen = new Frame(); >> 60: wGreen.setBackground(Color.GREEN); >> 61: wGreen.setUndecorated(true); > > Why did you make that frame undecorated? I think the decoration was one of > the reasons why the bug was reproduced. When testing on Win10, observed that for a decorated frame the title bar is retained in full screen mode unlike some of the other applications (eg. Chrome and IDE in full screen mode). When I checked the Javadocs for [setFullScreenWindow(Window w)](https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/GraphicsDevice.html#setFullScreenWindow(java.awt.Window)), it states that - _"It is unspecified and platform-dependent how decorated windows operate in full-screen mode. For this reason, it is recommended to turn off the decorations in a Frame or Dialog object by using the setUndecorated method."_ For the above reasons and to aid testing the pixel-color across full-screen window without having to account for different platform specific title bar sizes, the frame was set as undecorated. ------------- PR: https://git.openjdk.org/jdk/pull/11462
