JDK-8205479 : OS X: requestFocus() does not work properly for embedded frame
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
It is impossible to transfer focus programmatically, (e.g. using requestFocus() method) to a component located at EmbeddedFrame if the embedded frame does not have focus.
- Justification: The patch fixes focus transition issue for a component owned by an embedded frame
- Risk Analysis: Low. Simple changes in EmbeddedFrame functionality for OS X platform
- Testing: Client Libs regression tests.
- The patch applies cleanly.
On Mac OSX when focus is transferred to some component located at embedded frame, CPlatformEmbeddedFrame.requestWindowFocus() is called to activate owning frame. However that method does nothing, (i.e. no activation happens). As a result the focus cannot be transferred to the component because its owner is not active.
CPlatformEmbeddedFrame.requestWindowFocus() should activate the embedded frame, (i.e. invoke notifyActivation() for the corresponding peer).