Hi Sergey, Thank you for the review comment. Modified the test case as per your comment. Created issue https://bugs.openjdk.java.net/browse/JDK-8199116 <https://bugs.openjdk.java.net/browse/JDK-8199116> for the bug found by you.
Please review the webev: http://cr.openjdk.java.net/~mhalder/8190767/webrev.04/ <http://cr.openjdk.java.net/~mhalder/8190767/webrev.04/> Regards, Manajit > On 05-Mar-2018, at 11:36 PM, Sergey Bylokhov <sergey.bylok...@oracle.com> > wrote: > > Hi, Manajit. > On 26/02/2018 05:45, Manajit Halder wrote: >> Changed the fix as per Sergey’s review comment. Now both Frame and Dialog >> are checked for resizibility before setting canFullScreen to true. >> Please review the modified webrev: >> http://cr.openjdk.java.net/~mhalder/8190767/webrev.03/ >> <http://cr.openjdk.java.net/~mhalder/8190767/webrev.03/> > > There are small issues in the test; > - The Swing components should be created/accessed on EDT(see constructor of > AllFramesMaximize and dispose) > - @test 8190767, I guess @bug tag missed. > > Also I found another bug by this testcase: > - Change the of the window from JFrame to JDialog at line 103 > - Run the test. > - Click on the JButton which will open JDialog > - Click maximize on the JFrame > - Click on the JButton which will open JDialog again > - Two dialogs will try to get a focus in an endless loop, by switching > between the spaces. > > Please file a CR for this. > >> Thanks, >> Manajit >>> On 17-Feb-2018, at 8:03 AM, Manajit Halder <manajit.hal...@oracle.com >>> <mailto:manajit.hal...@oracle.com> <mailto:manajit.hal...@oracle.com >>> <mailto:manajit.hal...@oracle.com>>> wrote: >>> >>> Correcting the subject to indicate that the fix is for JDK 11. >>> >>> Regard, >>> Manajit >>> >>>> On 16-Feb-2018, at 9:48 PM, Kevin Rushforth <kevin.rushfo...@oracle.com >>>> <mailto:kevin.rushfo...@oracle.com> <mailto:kevin.rushfo...@oracle.com >>>> <mailto:kevin.rushfo...@oracle.com>>> wrote: >>>> >>>> Perhaps the subject should be changed to indicate that the fix is for JDK >>>> 11 (not JDK 10 for which it is way too late)... >>>> >>>> -- Kevin >>>> >>>> >>>> Manajit Halder wrote: >>>>> Hi Sergey, >>>>> >>>>> Please review the modified fix. The current webrev maintains the window >>>>> behaviour after it is shown as per the current implementation. >>>>> canFullScreen is set true in case the window is resizable. >>>>> >>>>> http://cr.openjdk.java.net/~mhalder/8190767/webrev.02/ >>>>> <http://cr.openjdk.java.net/~mhalder/8190767/webrev.02/> >>>>> <http://cr.openjdk.java.net/%7Emhalder/8190767/webrev.02/ >>>>> <http://cr.openjdk.java.net/%7Emhalder/8190767/webrev.02/>> >>>>> >>>>> Regards, >>>>> Manajit >>>>> >>>>>> On 14-Feb-2018, at 8:29 AM, Sergey Bylokhov <sergey.bylok...@oracle.com >>>>>> <mailto:sergey.bylok...@oracle.com><mailto:sergey.bylok...@oracle.com >>>>>> <mailto:sergey.bylok...@oracle.com>>> wrote: >>>>>> >>>>>> Hi, Manajit.>http://cr.openjdk.java.net/~mhalder/8190767/webrev.01/ >>>>>> <http://cr.openjdk.java.net/~mhalder/8190767/webrev.01/><http://cr.openjdk.java.net/%7Emhalder/8190767/webrev.01/ >>>>>> <http://cr.openjdk.java.net/%7Emhalder/8190767/webrev.01/>> >>>>>> After the window is shown behavior should be the same as in current >>>>>> implementation(resizable windows should have canFullScreen=true, others >>>>>> canFullScreen=false) so you cannot just set it to "true" or "false". >>>>>> >>>>>>> The issue is not reproducible in jdk8. > >>>>>>> Regards, >>>>>>> Manajit >>>>>>>> >>>>>>>> On 31-Jan-2018, at 2:40 AM, Sergey Bylokhov >>>>>>>> <sergey.bylok...@oracle.com >>>>>>>> <mailto:sergey.bylok...@oracle.com><mailto:sergey.bylok...@oracle.com >>>>>>>> <mailto:sergey.bylok...@oracle.com>> >>>>>>>> <mailto:sergey.bylok...@oracle.com >>>>>>>> <mailto:sergey.bylok...@oracle.com>>> wrote: >>>>>>>> >>>>>>>> Hi, Manajit. >>>>>>>> Did you check that it works properly in jdk8? >>>>>>>> >>>>>>>> I guess we need to set "WINDOW_FULLSCREENABLE" after we show the >>>>>>>> window for the first time, with one exception if the window is >>>>>>>> MAXIMIZED_BOTH. >>>>>>>> >>>>>>>> On 29/01/2018 04:39, Manajit Halder wrote: >>>>>>>>> Hi All, >>>>>>>>> Kindly review the fix for JDK10. >>>>>>>>> Bug: >>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8190767 >>>>>>>>> Webrev: >>>>>>>>> http://cr.openjdk.java.net/~mhalder/8190767/webrev.00/ >>>>>>>>> Problem: >>>>>>>>> In this problem two unrelated windows are created (first window and >>>>>>>>> second window). If the second window is created when the first window >>>>>>>>> is in fullscreen then the second window will automatically be created >>>>>>>>> in fullscreen mode. This is the default behaviour with Cocoa windows. >>>>>>>>> The second window receives windowWillEnterFullScreen notification >>>>>>>>> when the first window is in fullscreen. windowWillEnterFullScreen >>>>>>>>> notification is system generated notification and there is no way to >>>>>>>>> prevent it. >>>>>>>>> Above conclusion was made after debugging the issue to find out if >>>>>>>>> there is any way to prevent the windowWillEnterFullScreen >>>>>>>>> notification and also to find out if it generated due to some >>>>>>>>> existing java (generic and native) code. >>>>>>>>> I wrote a simple Mac OS X application with 2 windows and observed the >>>>>>>>> same behaviour. The second window is created in fullscreen mode if it >>>>>>>>> is created when the first window is in fullscreen. Whereas the second >>>>>>>>> window is displayed normal if the first window is in normal mode (not >>>>>>>>> in fullscreen mode). The only way found to prevent the second window >>>>>>>>> going to fullscreen is don’t set this behaviour for the second window. >>>>>>>>> Fix: >>>>>>>>> The behaviour is normal on Mac OS. But if we want to prevent the >>>>>>>>> second (all windows except the primary window) window to >>>>>>>>> automatically created in fullscreen mode then the following fix can >>>>>>>>> be applicable. >>>>>>>>> By default all the Frames are set the WINDOW_FULLSCREENABLE property >>>>>>>>> and by default all frames receives fullscreen event if the first >>>>>>>>> frame is in fullscreen when it is created. Due to this setting the >>>>>>>>> second frame which is created on button click goes to fullscreen on >>>>>>>>> creation automatically. Mac OS fullscreen event notifications are >>>>>>>>> received in case the first frame is in fullscreen and >>>>>>>>> WINDOW_FULLSCREENABLE set for the second frame. >>>>>>>>> Only the first frame should have the WINDOW_FULLSCREENABLE property >>>>>>>>> set. The frames created in this case were ownerless windows as >>>>>>>>> mentioned earlier. Therefore it is not possible to find out the owner >>>>>>>>> of the current frame, it is null for all the frames created. Hence >>>>>>>>> the fix is if the current frame is the first frame then set the >>>>>>>>> property otherwise don’t set the property WINDOW_FULLSCREENABLE. >>>>>>>>> Regards, >>>>>>>>> Manajit >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best regards, Sergey. >>>>>> >>>>>> >>>>>> -- >>>>>> Best regards, Sergey. >>>>> >>> > > > -- > Best regards, Sergey.