Loading core/java/android/webkit/WebView.java +16 −9 Original line number Diff line number Diff line Loading @@ -6056,7 +6056,6 @@ public class WebView extends AbsoluteLayout if (shouldForwardTouchEvent()) { if (removeEvents) { mWebViewCore.removeMessages(EventHub.TOUCH_EVENT); mTouchEventQueue.ignoreCurrentlyMissingEvents(); } TouchEventData ted = new TouchEventData(); ted.mIds = new int[1]; Loading @@ -6073,6 +6072,12 @@ public class WebView extends AbsoluteLayout ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); mPreventDefault = PREVENT_DEFAULT_IGNORE; if (removeEvents) { // Mark this after sending the message above; we should // be willing to ignore the cancel event that we just sent. mTouchEventQueue.ignoreCurrentlyMissingEvents(); } } } Loading Loading @@ -7266,17 +7271,18 @@ public class WebView extends AbsoluteLayout * been queued will also be processed in their proper order. * * @param ted Touch data to be processed in order. * @return true if the event was processed before returning, false if it was just enqueued. */ public void enqueueTouchEvent(TouchEventData ted) { public boolean enqueueTouchEvent(TouchEventData ted) { if (ted.mSequence < mLastHandledTouchSequence) { // Stale event and we already moved on; drop it. (Should not be common.) Log.w(LOGTAG, "Stale touch event " + MotionEvent.actionToString(ted.mAction) + " received from webcore; ignoring"); return; return false; } if (dropStaleGestures(ted.mMotionEvent, ted.mSequence)) { return; return false; } if (mLastHandledTouchSequence + 1 == ted.mSequence) { Loading @@ -7298,6 +7304,7 @@ public class WebView extends AbsoluteLayout QueuedTouch qd = obtainQueuedTouch().set(ted); mTouchEventQueue = mTouchEventQueue == null ? qd : mTouchEventQueue.add(qd); } return true; } /** Loading Loading @@ -7851,11 +7858,11 @@ public class WebView extends AbsoluteLayout } TouchEventData ted = (TouchEventData) msg.obj; if (mTouchEventQueue.enqueueTouchEvent(ted)) { // WebCore is responding to us; remove pending timeout. // It will be re-posted when needed. removeMessages(PREVENT_DEFAULT_TIMEOUT); mTouchEventQueue.enqueueTouchEvent(ted); } break; case REQUEST_KEYBOARD: Loading Loading
core/java/android/webkit/WebView.java +16 −9 Original line number Diff line number Diff line Loading @@ -6056,7 +6056,6 @@ public class WebView extends AbsoluteLayout if (shouldForwardTouchEvent()) { if (removeEvents) { mWebViewCore.removeMessages(EventHub.TOUCH_EVENT); mTouchEventQueue.ignoreCurrentlyMissingEvents(); } TouchEventData ted = new TouchEventData(); ted.mIds = new int[1]; Loading @@ -6073,6 +6072,12 @@ public class WebView extends AbsoluteLayout ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); mPreventDefault = PREVENT_DEFAULT_IGNORE; if (removeEvents) { // Mark this after sending the message above; we should // be willing to ignore the cancel event that we just sent. mTouchEventQueue.ignoreCurrentlyMissingEvents(); } } } Loading Loading @@ -7266,17 +7271,18 @@ public class WebView extends AbsoluteLayout * been queued will also be processed in their proper order. * * @param ted Touch data to be processed in order. * @return true if the event was processed before returning, false if it was just enqueued. */ public void enqueueTouchEvent(TouchEventData ted) { public boolean enqueueTouchEvent(TouchEventData ted) { if (ted.mSequence < mLastHandledTouchSequence) { // Stale event and we already moved on; drop it. (Should not be common.) Log.w(LOGTAG, "Stale touch event " + MotionEvent.actionToString(ted.mAction) + " received from webcore; ignoring"); return; return false; } if (dropStaleGestures(ted.mMotionEvent, ted.mSequence)) { return; return false; } if (mLastHandledTouchSequence + 1 == ted.mSequence) { Loading @@ -7298,6 +7304,7 @@ public class WebView extends AbsoluteLayout QueuedTouch qd = obtainQueuedTouch().set(ted); mTouchEventQueue = mTouchEventQueue == null ? qd : mTouchEventQueue.add(qd); } return true; } /** Loading Loading @@ -7851,11 +7858,11 @@ public class WebView extends AbsoluteLayout } TouchEventData ted = (TouchEventData) msg.obj; if (mTouchEventQueue.enqueueTouchEvent(ted)) { // WebCore is responding to us; remove pending timeout. // It will be re-posted when needed. removeMessages(PREVENT_DEFAULT_TIMEOUT); mTouchEventQueue.enqueueTouchEvent(ted); } break; case REQUEST_KEYBOARD: Loading