Hi Manajit, The fix looks good to me. Can you port it to JDK 8u too, please?
Thanks, Dmitry > On 7 Sep 2018, at 12:22, Manajit Halder <manajit.hal...@oracle.com> wrote: > > Hi Dmitry, > > Thanks for the test scenarios. I have run all the AWT, Swing and JCK > automatic (open and closed) test cases along with manual test cases related > to Modal Dialog and ordering to ensure that fix doesn't cause any regression. > These JCK interactive test were run > "api/java_awt/interactive/ModalDialogTests.html", > "api/java_awt/interactive/FileDialogTests.html", > "api/java_awt/interactive/PageDialogTest.html" and > "api/java_awt/interactive/WindowTest.html" (tests toFront and toBack between > a window and a Frame). > For example, manual test > "open/test/jdk/java/awt/Modal/WsDisabledStyle/CloseBlocker/CloseBlocker.java" > tests the scenario specified by you. Also there are many automatic test cases > in "open/test/jdk/java/awt/Modal/ToBack" and > "open/test/jdk/java/awt/Modal/ToFront" which tests different scenarios > related to Modal Dialog and Frame/Window ordering. > > Please let me know if you have any other test scenarios to be tested. > > Thanks, > Manajit > On 05/09/18 4:47 PM, Dmitry Markov wrote: >> Hi Manajit, >> >> Thank you for the clarification. >> >> Actually I worry about the case when a window is blocked by another window >> or a modal dialog. We call orderAboveSiblings() for the blocker window in >> several places, (e.g. inside setVisible(), checkBlockingAndOrder(), etc.) >> and I guess some of these call might fail with the new implementation of >> orderAboveSiblings(), (i.e. the modal dialog might be placed behind the >> blocked window). >> >> For example, let’s say we have the window which is blocked by the modal >> dialog. What will be the position of the dialog (above or behind the blocked >> window) once the window is activated? Please note: there are several ways to >> activate the window: mouse click, toFront() call, etc. Can you verify that >> these scenarios still work properly on the build with your fix, please? >> >> Also it would be good to execute related AWT/Swing jtreg tests to ensure >> that nothing is broken. >> >> Thanks, >> Dmitry >> >>> On 4 Sep 2018, at 18:54, Manajit Halder <manajit.hal...@oracle.com >>> <mailto:manajit.hal...@oracle.com>> wrote: >>> >>> Hi Dmitry, >>> >>> Thanks for your reply. Please see my reply inline. >>> >>> Thanks, >>> Manajit >>> >>> On 01/09/18 12:02 AM, Dmitry Markov wrote: >>>> Hi Manajit, >>>> >>>> The current implementation assumes that orderAboveSiblings() places the >>>> window in front of other windows located at the same level. The proposed >>>> fix introduces new behaviour: if the window does not have an owner and >>>> child windows it won’t be ordered, (i.e. in certain conditions the window >>>> may be obscured by other windows even after orderAboveSibling() >>>> execution). Most likely such approach will break existed functionality - >>>> some windows will be incorrectly placed behind other windows. >>> If I am not wrong windows (other than Window.Type.POPUP) are already >>> ordered in setVisible method at line no 632 while creation. While debugging >>> I observed that orderFront is called twice when the window is displayed for >>> the first time (in method setVisible and in method orderAboveSiblings). Now >>> when Key press COMMAND + ` is pressed the current window receives >>> windowDidBecomeMain notification and which calls orderFront and also >>> COMMAND + ` tries to order the window above. Two time ordering the window >>> when COMMAND + ` is pressed is causing problem in case of multiple windows. >>>> >>>> I am sorry, but the relationship between the original problem described in >>>> the bug, (i.e. cycling through windows issue) and implementation of >>>> orderAboveSiblings() is NOT clear. Can you explain this? >>> This issue is a regression of JDK-8169589 introduced in JDK release >>> 8u131. 8169589 introduced new window ordering model and which has >>> introduced the cycling through window issue. >>>> >>>> Thanks, >>>> Dmitry >>>> >>>>> On 31 Aug 2018, at 07:55, Manajit Halder <manajit.hal...@oracle.com >>>>> <mailto:manajit.hal...@oracle.com>> wrote: >>>>> >>>>> Hi All, >>>>> >>>>> Please review the fix for JDK12. >>>>> >>>>> >>>>> >>>>> Bug: >>>>> https://bugs.openjdk.java.net/browse/JDK-8206392 >>>>> <https://bugs.openjdk.java.net/browse/JDK-8206392> >>>>> <https://bugs.openjdk.java.net/browse/JDK-8206392> >>>>> Webrev: >>>>> >>>>> http://cr.openjdk.java.net/~mhalder/8206392/webrev.00/ >>>>> <http://cr.openjdk.java.net/%7Emhalder/8206392/webrev.00/> >>>>> Fix: >>>>> >>>>> Window ordering is not required if the window doesn't own any other >>>>> windows. >>>>> >>>>> Regards, >>>>> Manajit >>>> >>> >> >