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?

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.





Reply via email to