diff --git a/api/system-current.txt b/api/system-current.txt index 77545c25611f3..91d6292315eb3 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -48852,7 +48852,9 @@ package android.webkit { public static abstract interface WebViewProvider.ViewDelegate { method public abstract boolean dispatchKeyEvent(android.view.KeyEvent); + method public abstract android.view.View findFocus(android.view.View); method public abstract android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider(); + method public abstract android.os.Handler getHandler(android.os.Handler); method public abstract void onActivityResult(int, int, android.content.Intent); method public abstract void onAttachedToWindow(); method public abstract void onConfigurationChanged(android.content.res.Configuration); diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 2eb258fb66835..b16508ea6afa1 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -32,6 +32,7 @@ import android.net.http.SslCertificate; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.Handler; import android.os.Looper; import android.os.Message; import android.os.StrictMode; @@ -2622,6 +2623,16 @@ public class WebView extends AbsoluteLayout mProvider.getViewDelegate().onFinishTemporaryDetach(); } + @Override + public Handler getHandler() { + return mProvider.getViewDelegate().getHandler(super.getHandler()); + } + + @Override + public View findFocus() { + return mProvider.getViewDelegate().findFocus(super.findFocus()); + } + /** * Receive the result from a previous call to {@link #startActivityForResult(Intent, int)}. * diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java index 94d231c45b985..e5b65e7b07d02 100644 --- a/core/java/android/webkit/WebViewProvider.java +++ b/core/java/android/webkit/WebViewProvider.java @@ -28,6 +28,7 @@ import android.graphics.drawable.Drawable; import android.net.http.SslCertificate; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.os.Message; import android.print.PrintDocumentAdapter; import android.view.DragEvent; @@ -386,6 +387,10 @@ public interface WebViewProvider { public void onFinishTemporaryDetach(); public void onActivityResult(int requestCode, int resultCode, Intent data); + + public Handler getHandler(Handler originalHandler); + + public View findFocus(View originalFocusedView); } interface ScrollDelegate {