From a752a949afab51854bf649873d418bb205981c3b Mon Sep 17 00:00:00 2001 From: Grace Kloba Date: Mon, 1 Mar 2010 12:29:11 -0800 Subject: [PATCH] If we get TOUCH_UP before getting the WebCore's response for TOUCH_DOWN, remove the pending TOUCH_EVENT before proceeding to fling. This is partial fix for http://b/issue?id=2450534 --- core/java/android/webkit/WebView.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 9af2d51c434ae..6d827971b53e1 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -4441,6 +4441,14 @@ public class WebView extends AbsoluteLayout if (mFullScreenHolder == null && (computeHorizontalScrollExtent() < computeHorizontalScrollRange() || computeVerticalScrollExtent() < computeVerticalScrollRange())) { + // remove the pending TOUCH_EVENT and send a + // cancel + mWebViewCore + .removeMessages(EventHub.TOUCH_EVENT); + WebViewCore.TouchEventData ted = new WebViewCore.TouchEventData(); + ted.mAction = MotionEvent.ACTION_CANCEL; + mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, + ted); // we will not rewrite drag code here, but we // will try fling if it applies. WebViewCore.pauseUpdate(mWebViewCore);