diff options
author | benm@chromium.org <benm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-22 09:21:36 +0000 |
---|---|---|
committer | benm@chromium.org <benm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-22 09:21:36 +0000 |
commit | ce97ff45b621a7211c60bc4ef7f8a0a4704d6de5 (patch) | |
tree | 94c0b04a03bdbca900372ce2dc833ec8aee678fc /content | |
parent | c3e53ec08ceb5cc16bc45e1741e5bc3a92035ea1 (diff) | |
download | chromium_src-ce97ff45b621a7211c60bc4ef7f8a0a4704d6de5.zip chromium_src-ce97ff45b621a7211c60bc4ef7f8a0a4704d6de5.tar.gz chromium_src-ce97ff45b621a7211c60bc4ef7f8a0a4704d6de5.tar.bz2 |
Merge 218549 "[Android] Set ContentViewCore embedder focus appro..."
> [Android] Set ContentViewCore embedder focus appropriately.
>
> Don't override what the embedding view has specified for focus-ability
> in ContentViewCore. Leave it up to the embedding View to decide whether
> it should have focus or not.
>
> Additionally, only request focus on touch if the embedding View is
> focusable.
>
> BUG=276218
>
> Review URL: https://chromiumcodereview.appspot.com/23249005
TBR=benm@chromium.org
Review URL: https://codereview.chromium.org/23241017
git-svn-id: svn://svn.chromium.org/chrome/branches/1599/src@218969 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/public/android/java/src/org/chromium/content/browser/ContentView.java | 3 | ||||
-rw-r--r-- | content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentView.java b/content/public/android/java/src/org/chromium/content/browser/ContentView.java index c1d7b0a..a04dcd9 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ContentView.java +++ b/content/public/android/java/src/org/chromium/content/browser/ContentView.java @@ -101,6 +101,9 @@ public class ContentView extends FrameLayout setVerticalScrollBarEnabled(false); } + setFocusable(true); + setFocusableInTouchMode(true); + mContentViewCore = new ContentViewCore(context); mContentViewCore.initialize(this, this, nativeWebContents, windowAndroid, Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN ? diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java index 6b65a9c..0b720ff 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java @@ -757,8 +757,6 @@ import java.util.Map; mContainerViewInternals = internalDispatcher; mContainerView.setWillNotDraw(false); - mContainerView.setFocusable(true); - mContainerView.setFocusableInTouchMode(true); mContainerView.setClickable(true); mZoomManager = new ZoomManager(mContext, this); @@ -1870,7 +1868,10 @@ import java.util.Map; private void handleTapOrPress( long timeMs, float xPix, float yPix, int isLongPressOrTap, boolean showPress) { - if (!mContainerView.isFocused()) mContainerView.requestFocus(); + if (mContainerView.isFocusable() && mContainerView.isFocusableInTouchMode() + && !mContainerView.isFocused()) { + mContainerView.requestFocus(); + } if (!mPopupZoomer.isShowing()) mPopupZoomer.setLastTouch(xPix, yPix); |