4747import org .cef .network .CefResponse ;
4848import org .cef .network .CefURLRequest ;
4949
50- import java .awt .Component ;
51- import java .awt .Container ;
5250import java .awt .Dimension ;
53- import java .awt .FocusTraversalPolicy ;
54- import java .awt .KeyboardFocusManager ;
5551import java .awt .Point ;
5652import java .awt .Rectangle ;
5753import java .beans .PropertyChangeEvent ;
6864 */
6965public class CefClient extends CefClientHandler
7066 implements CefContextMenuHandler , CefDialogHandler , CefDisplayHandler , CefDownloadHandler ,
71- CefDragHandler , CefFocusHandler , CefJSDialogHandler , CefKeyboardHandler ,
72- CefLifeSpanHandler , CefLoadHandler , CefPrintHandler , CefRenderHandler ,
73- CefRequestHandler , CefWindowHandler {
67+ CefDragHandler , CefFocusHandler , CefJSDialogHandler , CefKeyboardHandler ,
68+ CefLifeSpanHandler , CefLoadHandler , CefPrintHandler , CefRenderHandler ,
69+ CefRequestHandler , CefWindowHandler {
7470 private HashMap <Integer , CefBrowser > browser_ = new HashMap <Integer , CefBrowser >();
7571 private CefContextMenuHandler contextMenuHandler_ = null ;
7672 private CefDialogHandler dialogHandler_ = null ;
@@ -85,43 +81,15 @@ public class CefClient extends CefClientHandler
8581 private CefPrintHandler printHandler_ = null ;
8682 private CefRequestHandler requestHandler_ = null ;
8783 private boolean isDisposed_ = false ;
88- private volatile CefBrowser focusedBrowser_ = null ;
89- private final PropertyChangeListener propertyChangeListener = new PropertyChangeListener () {
90- @ Override
91- public void propertyChange (PropertyChangeEvent evt ) {
92- if (focusedBrowser_ != null ) {
93- Component browserUI = focusedBrowser_ .getUIComponent ();
94- Object oldUI = evt .getOldValue ();
95- if (isPartOf (oldUI , browserUI )) {
96- focusedBrowser_ .setFocus (false );
97- focusedBrowser_ = null ;
98- }
99- }
100- }
101- };
10284
10385 /**
10486 * The CTOR is only accessible within this package.
10587 * Use CefApp.createClient() to create an instance of
10688 * this class.
107- * @see org.cef.CefApp. createClient()
89+ * @see org.cef.CefApp# createClient()
10890 */
10991 CefClient () throws UnsatisfiedLinkError {
11092 super ();
111-
112- KeyboardFocusManager .getCurrentKeyboardFocusManager ().addPropertyChangeListener (
113- propertyChangeListener );
114- }
115-
116- private boolean isPartOf (Object obj , Component browserUI ) {
117- if (obj == browserUI ) return true ;
118- if (obj instanceof Container ) {
119- Component childs [] = ((Container ) obj ).getComponents ();
120- for (Component child : childs ) {
121- return isPartOf (child , browserUI );
122- }
123- }
124- return false ;
12593 }
12694
12795 @ Override
@@ -133,15 +101,15 @@ public void dispose() {
133101 // CefClientHandler
134102
135103 public CefBrowser createBrowser (
136- String url , boolean isOffscreenRendered , boolean isTransparent ) {
137- return createBrowser (url , isOffscreenRendered , isTransparent , null );
104+ String url , boolean isTransparent ) {
105+ return createBrowser (url , isTransparent , null );
138106 }
139107
140- public CefBrowser createBrowser (String url , boolean isOffscreenRendered , boolean isTransparent ,
141- CefRequestContext context ) {
108+ public CefBrowser createBrowser (String url , boolean isTransparent ,
109+ CefRequestContext context ) {
142110 if (isDisposed_ )
143111 throw new IllegalStateException ("Can't create browser. CefClient is disposed" );
144- return CefBrowserFactory .create (this , url , isOffscreenRendered , isTransparent , context );
112+ return CefBrowserFactory .create (this , url , isTransparent , context );
145113 }
146114
147115 @ Override
@@ -248,7 +216,7 @@ public void onBeforeContextMenu(
248216
249217 @ Override
250218 public boolean onContextMenuCommand (CefBrowser browser , CefFrame frame ,
251- CefContextMenuParams params , int commandId , int eventFlags ) {
219+ CefContextMenuParams params , int commandId , int eventFlags ) {
252220 if (contextMenuHandler_ != null && browser != null )
253221 return contextMenuHandler_ .onContextMenuCommand (
254222 browser , frame , params , commandId , eventFlags );
@@ -274,7 +242,7 @@ public void removeDialogHandler() {
274242
275243 @ Override
276244 public boolean onFileDialog (CefBrowser browser , FileDialogMode mode , String title ,
277- String defaultFilePath , Vector <String > acceptFilters , CefFileDialogCallback callback ) {
245+ String defaultFilePath , Vector <String > acceptFilters , CefFileDialogCallback callback ) {
278246 if (dialogHandler_ != null && browser != null ) {
279247 return dialogHandler_ .onFileDialog (
280248 browser , mode , title , defaultFilePath , acceptFilters , callback );
@@ -322,7 +290,7 @@ public void onStatusMessage(CefBrowser browser, String value) {
322290
323291 @ Override
324292 public boolean onConsoleMessage (CefBrowser browser , CefSettings .LogSeverity level ,
325- String message , String source , int line ) {
293+ String message , String source , int line ) {
326294 if (displayHandler_ != null && browser != null ) {
327295 return displayHandler_ .onConsoleMessage (browser , level , message , source , line );
328296 }
@@ -360,7 +328,7 @@ public void removeDownloadHandler() {
360328
361329 @ Override
362330 public void onBeforeDownload (CefBrowser browser , CefDownloadItem downloadItem ,
363- String suggestedName , CefBeforeDownloadCallback callback ) {
331+ String suggestedName , CefBeforeDownloadCallback callback ) {
364332 if (downloadHandler_ != null && browser != null )
365333 downloadHandler_ .onBeforeDownload (browser , downloadItem , suggestedName , callback );
366334 }
@@ -405,27 +373,6 @@ public void removeFocusHandler() {
405373 public void onTakeFocus (CefBrowser browser , boolean next ) {
406374 if (browser == null ) return ;
407375
408- browser .setFocus (false );
409- Container parent = browser .getUIComponent ().getParent ();
410- if (parent != null ) {
411- FocusTraversalPolicy policy = null ;
412- while (parent != null ) {
413- policy = parent .getFocusTraversalPolicy ();
414- if (policy != null ) break ;
415- parent = parent .getParent ();
416- }
417- if (policy != null ) {
418- Component nextComp = next
419- ? policy .getComponentAfter (parent , browser .getUIComponent ())
420- : policy .getComponentBefore (parent , browser .getUIComponent ());
421- if (nextComp == null ) {
422- policy .getDefaultComponent (parent ).requestFocus ();
423- } else {
424- nextComp .requestFocus ();
425- }
426- }
427- }
428- focusedBrowser_ = null ;
429376 if (focusHandler_ != null ) focusHandler_ .onTakeFocus (browser , next );
430377 }
431378
@@ -442,8 +389,6 @@ public boolean onSetFocus(final CefBrowser browser, FocusSource source) {
442389 public void onGotFocus (CefBrowser browser ) {
443390 if (browser == null ) return ;
444391
445- focusedBrowser_ = browser ;
446- browser .setFocus (true );
447392 if (focusHandler_ != null ) focusHandler_ .onGotFocus (browser );
448393 }
449394
@@ -460,8 +405,8 @@ public void removeJSDialogHandler() {
460405
461406 @ Override
462407 public boolean onJSDialog (CefBrowser browser , String origin_url , JSDialogType dialog_type ,
463- String message_text , String default_prompt_text , CefJSDialogCallback callback ,
464- BoolRef suppress_message ) {
408+ String message_text , String default_prompt_text , CefJSDialogCallback callback ,
409+ BoolRef suppress_message ) {
465410 if (jsDialogHandler_ != null && browser != null )
466411 return jsDialogHandler_ .onJSDialog (browser , origin_url , dialog_type , message_text ,
467412 default_prompt_text , callback , suppress_message );
@@ -470,7 +415,7 @@ public boolean onJSDialog(CefBrowser browser, String origin_url, JSDialogType di
470415
471416 @ Override
472417 public boolean onBeforeUnloadDialog (CefBrowser browser , String message_text , boolean is_reload ,
473- CefJSDialogCallback callback ) {
418+ CefJSDialogCallback callback ) {
474419 if (jsDialogHandler_ != null && browser != null )
475420 return jsDialogHandler_ .onBeforeUnloadDialog (
476421 browser , message_text , is_reload , callback );
@@ -584,8 +529,6 @@ private void cleanupBrowser(int identifier) {
584529 }
585530
586531 if (browser_ .isEmpty () && isDisposed_ ) {
587- KeyboardFocusManager .getCurrentKeyboardFocusManager ().removePropertyChangeListener (
588- propertyChangeListener );
589532 removeContextMenuHandler (this );
590533 removeDialogHandler (this );
591534 removeDisplayHandler (this );
@@ -639,7 +582,7 @@ public void onLoadEnd(CefBrowser browser, CefFrame frame, int httpStatusCode) {
639582
640583 @ Override
641584 public void onLoadError (CefBrowser browser , CefFrame frame , ErrorCode errorCode ,
642- String errorText , String failedUrl ) {
585+ String errorText , String failedUrl ) {
643586 if (loadHandler_ != null && browser != null )
644587 loadHandler_ .onLoadError (browser , frame , errorCode , errorText , failedUrl );
645588 }
@@ -677,7 +620,7 @@ public boolean onPrintDialog(
677620
678621 @ Override
679622 public boolean onPrintJob (CefBrowser browser , String documentName , String pdfFilePath ,
680- CefPrintJobCallback callback ) {
623+ CefPrintJobCallback callback ) {
681624 if (printHandler_ != null && browser != null )
682625 return printHandler_ .onPrintJob (browser , documentName , pdfFilePath , callback );
683626 return false ;
@@ -745,7 +688,7 @@ public void onPopupSize(CefBrowser browser, Rectangle size) {
745688
746689 @ Override
747690 public void onPaint (CefBrowser browser , boolean popup , Rectangle [] dirtyRects ,
748- ByteBuffer buffer , int width , int height ) {
691+ ByteBuffer buffer , int width , int height ) {
749692 if (browser == null ) return ;
750693
751694 CefRenderHandler realHandler = browser .getRenderHandler ();
@@ -783,7 +726,7 @@ public void removeRequestHandler() {
783726
784727 @ Override
785728 public boolean onBeforeBrowse (CefBrowser browser , CefFrame frame , CefRequest request ,
786- boolean user_gesture , boolean is_redirect ) {
729+ boolean user_gesture , boolean is_redirect ) {
787730 if (requestHandler_ != null && browser != null )
788731 return requestHandler_ .onBeforeBrowse (
789732 browser , frame , request , user_gesture , is_redirect );
@@ -801,8 +744,8 @@ public boolean onOpenURLFromTab(
801744
802745 @ Override
803746 public CefResourceRequestHandler getResourceRequestHandler (CefBrowser browser , CefFrame frame ,
804- CefRequest request , boolean isNavigation , boolean isDownload , String requestInitiator ,
805- BoolRef disableDefaultHandling ) {
747+ CefRequest request , boolean isNavigation , boolean isDownload , String requestInitiator ,
748+ BoolRef disableDefaultHandling ) {
806749 if (requestHandler_ != null && browser != null ) {
807750 return requestHandler_ .getResourceRequestHandler (browser , frame , request , isNavigation ,
808751 isDownload , requestInitiator , disableDefaultHandling );
@@ -812,7 +755,7 @@ public CefResourceRequestHandler getResourceRequestHandler(CefBrowser browser, C
812755
813756 @ Override
814757 public boolean getAuthCredentials (CefBrowser browser , String origin_url , boolean isProxy ,
815- String host , int port , String realm , String scheme , CefAuthCallback callback ) {
758+ String host , int port , String realm , String scheme , CefAuthCallback callback ) {
816759 if (requestHandler_ != null && browser != null )
817760 return requestHandler_ .getAuthCredentials (
818761 browser , origin_url , isProxy , host , port , realm , scheme , callback );
0 commit comments