<AWT Dev> [9] Review request for 8042465: Applet menus not rendering when browser is full screen on Mac

dmitry markov dmitry.markov at oracle.com
Thu May 15 07:04:12 UTC 2014

Hi Petr, Anthony,

Thank you for looking at this. I really missed the case pointed out by 
Petr. If the test app is running in browser instead of IDE or 
appletviewer, the situation is much worse - the opened popup does not 
hide at all when we switch to another space. This behavior is caused by 
usage of NSWindowCollectionBehaviorCanJoinAllSpaces. I used that option 
since NSWindowCollectionBehaviorFullScreenAuxiliary does not work 
properly alone, (i.e if browser is in full screen mode and we open the 
popup first time, it works well; however if we exit full screen and then 
enter back again and try to open the popup, it will be displayed behind 
the browsers window). I am not sure, but it is most likely such behavior 
is caused by popups caching.
I need more time for deeper investigation.

On 14/05/2014 14:46, Anthony Petrov wrote:
> To add to what Petr just said, what is the exact reason to specify the 
> NSWindowCollectionBehaviorCanJoinAllSpaces behavior? I believe that 
> NSWindowCollectionBehaviorFullScreenAuxiliary alone should do the 
> trick, does it not?
> Petr: we used to build JDK with OS X 10.6 SDK where the 10.7-specific 
> constants are not defined. Hence the reason for (1 << 8), etc. As long 
> as this fix is not going to be ported to JDK 7u, I think we could use 
> the constant names explicitly (we need to make sure RE builds 8u with 
> 10.7+ SDK though.)
> -- 
> best regards,
> Anthony
> On 5/14/2014 1:22 PM, Petr Pchelko wrote:
>> Hello, Dmitry.
>> With your fix I'm observing the following regression:
>> 1. Run the test app from the bug in IDE or appletviewer.
>> 2. Open the menu
>> 3. Without closing the menu switch to another space using keyboard 
>> (Ctrl+Arrow) or touchpad gesture
>> 4. The opened popup will be shown on another space and than will 
>> disappear. But it will be visible for enough time to get noticed and 
>> annoying.
>> And also, why are you explicitly setting 1<<8 instead of using the 
>> name of the constant?
>> Thank you.
>> With best regards. Petr.
>> On 14 мая 2014 г., at 12:54, dmitry markov <dmitry.markov at oracle.com> 
>> wrote:
>>> Hello,
>>> Could you review the fix for jdk9, please?
>>>     bug: https://bugs.openjdk.java.net/browse/JDK-8042465
>>>     webrev: http://cr.openjdk.java.net/~dmarkov/8042465/jdk9/webrev.00/
>>> Problem description: On Mac OS X when a browser is in full screen 
>>> mode, applet's popup is displayed behind the browser's window.
>>> Fix: It is necessary to change the collection behavior for the popup 
>>> windows to make them visible when the browser runs in full screen mode.
>>> Thanks,
>>> Dmitry

More information about the awt-dev mailing list