<AWT Dev> <AWT dev>[12] Review request for JDK-8206392: [macosx] Cycling through windows (JFrames) does not work with keyboard shortcut

Manajit Halder manajit.halder at oracle.com
Mon Sep 10 12:19:45 UTC 2018


Hi Dmitry,

Sure, I can port it to JDK 8u, but would require your help in check-in, 
as I don't have permission to check-in JDK 8u.

Thanks,

Manajit


On 09/09/18 3:35 PM, Dmitry Markov wrote:
> 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.halder at oracle.com 
>> <mailto:manajit.halder at 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.halder at oracle.com 
>>>> <mailto:manajit.halder at 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.halder at oracle.com <mailto:manajit.halder at 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>
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
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20180910/b032998c/attachment.html>


More information about the awt-dev mailing list