<AWT Dev> [9] Review request : 8038919, Requesting focus to a modeless dialog doesn't work on Safari
mikhail cherkasov
mikhail.cherkasov at oracle.com
Fri Oct 24 05:34:58 UTC 2014
Ok, will send review soon.
Does a bug already exist in JBS?
Thanks,
Mikhail.
On 10/22/2014 5:08 PM, Sergey Bylokhov wrote:
> Hi, Mikhail.
> As I said before, window.getPeer() can return null in some cases.
> After this fix some tests fail with NPE:
> ex: closed/java/awt/Frame/DisposeStressTest
> Please fix.
>
> On 09.10.2014 19:46, mikhail cherkasov wrote:
>> Hi Anton,
>>
>> Please review a new version:
>> http://cr.openjdk.java.net/~mcherkas/8038919/webrev.04/
>>
>> Thanks,
>> Mikhail.
>>
>> On 10/8/2014 10:41 AM, Anton V. Tarasov wrote:
>>> Hi Mikhail,
>>>
>>> (sorry, I was away yesterday)
>>>
>>> On 07.10.2014 19:37, mikhail cherkasov wrote:
>>>> Hi Anton,
>>>>
>>>> But anyway, I'll have to use "instanceof" to check the type
>>>> returned for
>>>> DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow().getPeer()
>>>> .
>>>> or does it always return only LWWindowPeer?
>>>
>>> That's right, on Mac a toplevel's peer is of LWWindowPeer type.
>>>
>>> Also, I think you should check for the active window to be not null
>>> (it's possible when all the toplevels are set non-focusable).
>>> However, you can omit a check for peer==null, as an active window
>>> may not have a null peer.
>>>
>>> Regards,
>>> Anton.
>>>
>>>>
>>>> Thanks,
>>>> Mikhail.
>>>>
>>>> On 10/6/2014 12:56 PM, Anton V. Tarasov wrote:
>>>>> Hi Mikhail,
>>>>>
>>>>> Ok, thank you for the clarification.
>>>>>
>>>>> Still, let's make another attempt to avoid the "instanceof". In
>>>>> LWWindowPeer we have a good public method - getPeerType() - which
>>>>> should return PeerType.EMBEDDED_FRAME for EF. Can it be used in
>>>>> the code spot?
>>>>>
>>>>> Regards,
>>>>> Anton.
>>>>>
>>>>> On 06.10.2014 11:08, mikhail cherkasov wrote:
>>>>>> Hi Anton,
>>>>>>
>>>>>> it's window problem, toFront doesn't work for windows when
>>>>>> embedded frame in browser is active.
>>>>>> Mac ignores toFront, because it recognizes browser is active
>>>>>> application and doesn't
>>>>>> allow to java process activate its window.
>>>>>> So the problem occurs only when we call toFront on Windows and
>>>>>> embedded frame is active, hence
>>>>>> fix should be done in Window's toFront method.
>>>>>>
>>>>>> Thanks,
>>>>>> Mikhail.
>>>>>>
>>>>>>
>>>>>> On 10/3/2014 5:48 PM, Anton V. Tarasov wrote:
>>>>>>> Hi Mikhail,
>>>>>>>
>>>>>>> Can we get rid of that "instance of"? I think it makes sense to
>>>>>>> create a new LWEmbeddedFramePeer class with toFront overriden.
>>>>>>> Then we can do all the verifications gracefully and call
>>>>>>> platformWindow.toFrontIgnoringOtherApps() (new method). I would
>>>>>>> also rename LWCToolkit.activateApplication to match its native
>>>>>>> API call.
>>>>>>>
>>>>>>> What do you think?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Anton.
>>>>>>>
>>>>>>> On 16.09.2014 15:39, mikhail cherkasov wrote:
>>>>>>>> Hello all,
>>>>>>>>
>>>>>>>> please review the fix
>>>>>>>> http://cr.openjdk.java.net/~mcherkas/8038919/webrev.01/
>>>>>>>>
>>>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8038919
>>>>>>>>
>>>>>>>> The problem appears if we trying to call toFront when embedded
>>>>>>>> window is active in browser, this
>>>>>>>> call is ignored, because for macosx the browser process is
>>>>>>>> active and it ignores
>>>>>>>> [nsWindow orderFront:nsWindow] call to java process windows.
>>>>>>>> To fix this issue I use [NSApp activateIgnoringOtherApps:YES];
>>>>>>>> before [nsWindow orderFront:nsWindow]
>>>>>>>> if an embedded frame is active window.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Mikhail.
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
More information about the awt-dev
mailing list