summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/webkit/WebViewClassic.java5
-rw-r--r--core/java/android/webkit/WebViewCore.java5
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();
}