summaryrefslogtreecommitdiffstats
path: root/android_webview/java
diff options
context:
space:
mode:
authormariakhomenko@chromium.org <mariakhomenko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-15 15:13:11 +0000
committermariakhomenko@chromium.org <mariakhomenko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-15 15:13:11 +0000
commitbd38a51821150cb872b6a3d5e01e25ff15c4f12b (patch)
treeec5afe000d81abdc06f054aec220f3a72d2fa546 /android_webview/java
parent151905a7ff1135a90bfa191529797bc8e7795d87 (diff)
downloadchromium_src-bd38a51821150cb872b6a3d5e01e25ff15c4f12b.zip
chromium_src-bd38a51821150cb872b6a3d5e01e25ff15c4f12b.tar.gz
chromium_src-bd38a51821150cb872b6a3d5e01e25ff15c4f12b.tar.bz2
Fix stuck state when long press on a button is performed.
This makes sure that when a tap becomes a long press, we keep SHOW_PRESSED_STATE until either it becomes a LONG_TAP (finger is lifted), or SCROLL, or window focus is lost (a context menu has been opened). At which point we will send SHOW_PRESS_CANCEL. BUG=285712 Review URL: https://chromiumcodereview.appspot.com/23444068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223283 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/java')
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwContents.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index 631d5ed..cb91c77 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -180,6 +180,7 @@ public class AwContents {
private Callable<Picture> mPictureListenerContentProvider;
private boolean mContainerViewFocused;
+ private boolean mWindowFocused;
private AwAutofillManagerDelegate mAwAutofillManagerDelegate;
@@ -593,9 +594,11 @@ public class AwContents {
final boolean wasWindowVisible = mIsWindowVisible;
final boolean wasPaused = mIsPaused;
final boolean wasFocused = mContainerViewFocused;
+ final boolean wasWindowFocused = mWindowFocused;
// Properly clean up existing mContentViewCore and mNativeAwContents.
if (wasFocused) onFocusChanged(false, 0, null);
+ if (wasWindowFocused) onWindowFocusChanged(false);
if (wasViewVisible) setViewVisibilityInternal(false);
if (wasWindowVisible) setWindowVisibilityInternal(false);
if (!wasPaused) onPause();
@@ -611,6 +614,7 @@ public class AwContents {
onSizeChanged(mContainerView.getWidth(), mContainerView.getHeight(), 0, 0);
if (wasWindowVisible) setWindowVisibilityInternal(true);
if (wasViewVisible) setViewVisibilityInternal(true);
+ if (wasWindowFocused) onWindowFocusChanged(wasWindowFocused);
if (wasFocused) onFocusChanged(true, 0, null);
}
@@ -1486,7 +1490,8 @@ public class AwContents {
* @see android.view.View#onWindowFocusChanged()
*/
public void onWindowFocusChanged(boolean hasWindowFocus) {
- // If adding any code here, remember to adding correct handling in receivePopupContents().
+ mWindowFocused = hasWindowFocus;
+ mContentViewCore.onWindowFocusChanged(hasWindowFocus);
}
/**