From 435e6f5fd217faef001480fae1936da4cfb9ff29 Mon Sep 17 00:00:00 2001 From: John Reck Date: Wed, 16 May 2012 14:56:20 -0700 Subject: [PATCH] Fix android:focusableInTouchMode support Bug: 6448106 Change-Id: I17161754eaf08145623466a6db25893e3e5b2e16 --- core/java/android/webkit/WebViewClassic.java | 11 +++++------ core/res/res/values/styles.xml | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java index f1f3db233568d..3ae7e9c8493b1 100644 --- a/core/java/android/webkit/WebViewClassic.java +++ b/core/java/android/webkit/WebViewClassic.java @@ -1598,8 +1598,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc private void init() { OnTrimMemoryListener.init(mContext); mWebView.setWillNotDraw(false); - mWebView.setFocusable(true); - mWebView.setFocusableInTouchMode(true); mWebView.setClickable(true); mWebView.setLongClickable(true); @@ -5767,14 +5765,15 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc return false; } - if (!mWebView.isFocused()) { - mWebView.requestFocus(); - } - if (mInputDispatcher == null) { return false; } + if (mWebView.isFocusable() && mWebView.isFocusableInTouchMode() + && !mWebView.isFocused()) { + mWebView.requestFocus(); + } + if (mInputDispatcher.postPointerEvent(ev, getScrollX(), getScrollY() - getTitleHeight(), mZoomManager.getInvScale())) { mInputDispatcher.dispatchUiEvents(); diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index 2b34dab1b1c6c..4d038e0b811bb 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -631,6 +631,7 @@ please see styles_device_defaults.xml.