<AWT Dev> [11] RFR 8130655: OS X: keyboard input in textfield is not possible if the window contained textfield is owned by EmbeddedFrame

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Wed Jun 27 00:15:31 UTC 2018

Hi, Dmitry.
Can you please provide some more details why this bug is reproducible 
only on mac and not on the other platforms(I meant the bug related to 
the popup menu not SHOULD_BECOME_KEY and SHOULD_BECOME_MAIN bits)

I have checked our current behavior on win/lin/mac in all cases the 
simple "Window" cannot get a focus, without any difference which parent 
is used(null/frame/window).

So for example if the window1 is owned by another window2, then both of 
them are "unfocusable", but after the current fix, both will be 
"focusable" if the window2 will be owned by the embedded frame.

On 25/06/2018 03:35, Dmitry Markov wrote:
> Hello,
> Could you review a fix for jdk11, please?
>   bug: https://bugs.openjdk.java.net/browse/JDK-8130655
>   webrev: http://cr.openjdk.java.net/~dmarkov/8130655/webrev.00/
> Problem description:
> On OS X platform a window does not receive keyboard input if it is owned 
> by embedded frame. According to the current implementation “simple 
> window” (not frame or dialog) is NOT natively focusable, (i.e. 
> SHOULD_BECOME_KEY and SHOULD_BECOME_MAIN bits are not set for its native 
> peer); embedded frame receives events from the embedder, (e.g. browser, 
> etc.) but does not translate them to the its own child windows. So if 
> “simple window” is owned by embedded frame it is impossible for the 
> window to receive any key events.
> Fix:
> Set SHOULD_BECOME_KEY and SHOULD_BECOME_MAIN bits for simple window 
> which is owned by embedded frame.
> Thanks,
> Dmitry

Best regards, Sergey.

More information about the awt-dev mailing list