diff options
| -rw-r--r-- | core/java/android/webkit/WebViewClassic.java | 5 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java index 851fd221e31a..44019e326c1b 100644 --- a/core/java/android/webkit/WebViewClassic.java +++ b/core/java/android/webkit/WebViewClassic.java @@ -7144,7 +7144,8 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc if (mFindIsUp) return false; boolean result = false; result = mWebViewPrivate.super_requestFocus(direction, previouslyFocusedRect); - if (mWebViewCore.getSettings().getNeedInitialFocus() && !mWebView.isInTouchMode()) { + if (mWebViewCore.getSettings().getNeedInitialFocus() + && !mWebView.isInTouchMode()) { // For cases such as GMail, where we gain focus from a direction, // we want to move to the first available link. // FIXME: If there are no visible links, we may not want to @@ -7165,7 +7166,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc default: return result; } - // TODO: Send initial focus request to webkit (b/6108927) + mWebViewCore.sendMessage(EventHub.SET_INITIAL_FOCUS, fakeKeyDirection); } return result; } diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index c83d10697459..7652417b8c6f 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -1176,6 +1176,7 @@ public final class WebViewCore { // key was pressed (down and up) static final int KEY_PRESS = 223; + static final int SET_INITIAL_FOCUS = 224; // Private handler for WebCore messages. private Handler mHandler; @@ -1748,6 +1749,9 @@ public final class WebViewCore { WebViewClassic.UPDATE_MATCH_COUNT, request).sendToTarget(); break; } + case SET_INITIAL_FOCUS: + nativeSetInitialFocus(mNativeClass, msg.arg1); + break; } } }; @@ -3071,6 +3075,7 @@ public final class WebViewCore { private native void nativeClearTextSelection(int nativeClass); private native boolean nativeSelectWordAt(int nativeClass, int x, int y); private native void nativeSelectAll(int nativeClass); + private native void nativeSetInitialFocus(int nativeClass, int keyDirection); private static native void nativeCertTrustChanged(); } |