187 } else {
188 // continue XEmbed with a new parent
189 server = newParent;
190 embedded.notifyStarted();
191 }
192 }
193 }
194 boolean requestFocus() {
195 if (active && embedded.focusAllowedFor()) {
196 sendMessage(server, XEMBED_REQUEST_FOCUS);
197 return true;
198 }
199 return false;
200 }
201 void handleWindowFocusOut() {
202 // fix for 6269309: it is possible that we call this method twice
203 // (for example, when receiving XEMBED_WINDOW_DEACTIVATE and then
204 // XEMBED_FOCUS_OUT client messages), so we first need to check if
205 // embedded is an active window before sending WINDOW_LOST_FOCUS
206 // to shared code
207 if (XKeyboardFocusManagerPeer.getCurrentNativeFocusedWindow() == embedded.target) {
208 embedded.handleWindowFocusOut(null, 0);
209 }
210 }
211
212 long getEmbedder(XWindowPeer embedded, XClientMessageEvent info) {
213 // Embedder is the parent of embedded.
214 return XlibUtil.getParentWindow(embedded.getWindow());
215 }
216
217 boolean isApplicationActive() {
218 return applicationActive;
219 }
220
221 boolean isActive() {
222 return active;
223 }
224
225 void traverseOutForward() {
226 if (active) {
227 sendMessage(server, XEMBED_FOCUS_NEXT);
|
187 } else {
188 // continue XEmbed with a new parent
189 server = newParent;
190 embedded.notifyStarted();
191 }
192 }
193 }
194 boolean requestFocus() {
195 if (active && embedded.focusAllowedFor()) {
196 sendMessage(server, XEMBED_REQUEST_FOCUS);
197 return true;
198 }
199 return false;
200 }
201 void handleWindowFocusOut() {
202 // fix for 6269309: it is possible that we call this method twice
203 // (for example, when receiving XEMBED_WINDOW_DEACTIVATE and then
204 // XEMBED_FOCUS_OUT client messages), so we first need to check if
205 // embedded is an active window before sending WINDOW_LOST_FOCUS
206 // to shared code
207 if (XKeyboardFocusManagerPeer.getInstance().getCurrentFocusedWindow() == embedded.target) {
208 embedded.handleWindowFocusOut(null, 0);
209 }
210 }
211
212 long getEmbedder(XWindowPeer embedded, XClientMessageEvent info) {
213 // Embedder is the parent of embedded.
214 return XlibUtil.getParentWindow(embedded.getWindow());
215 }
216
217 boolean isApplicationActive() {
218 return applicationActive;
219 }
220
221 boolean isActive() {
222 return active;
223 }
224
225 void traverseOutForward() {
226 if (active) {
227 sendMessage(server, XEMBED_FOCUS_NEXT);
|