diff options
| author | 2011-03-08 20:00:25 -0800 | |
|---|---|---|
| committer | 2011-03-08 20:00:25 -0800 | |
| commit | 1250c94b50a3322e44c8ded7ab15bd6da9cc82a7 (patch) | |
| tree | a04268faabed2a8ee2dcd10e9f2b883642d250d9 | |
| parent | f986d496c56fc8ae44b03f982e3e1ed437cdb996 (diff) | |
| parent | ae9d2640f3502eae7bd5bed2cfc7d8f190d1fcb4 (diff) | |
Merge "Bug 3509417 - Refine touch event serialization" into honeycomb-mr1
| -rw-r--r-- | core/java/android/webkit/WebView.java | 21 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 1 |
2 files changed, 12 insertions, 10 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index eb792b868c6c..9b1f157d9c72 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -5566,7 +5566,7 @@ public class WebView extends AbsoluteLayout ted.mReprocess = mDeferTouchProcess; ted.mNativeLayer = nativeScrollableLayer( contentX, contentY, ted.mNativeLayerRect, null); - ted.mDontEnqueueResult = true; + ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); if (mDeferTouchProcess) { // still needs to set them for compute deltaX/Y @@ -5613,7 +5613,7 @@ public class WebView extends AbsoluteLayout ted.mReprocess = mDeferTouchProcess; ted.mNativeLayer = mScrollingLayer; ted.mNativeLayerRect.set(mScrollingLayerRect); - ted.mDontEnqueueResult = true; + ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); mLastSentTouchTime = eventTime; if (mDeferTouchProcess) { @@ -5795,7 +5795,7 @@ public class WebView extends AbsoluteLayout ted.mReprocess = mDeferTouchProcess; ted.mNativeLayer = mScrollingLayer; ted.mNativeLayerRect.set(mScrollingLayerRect); - ted.mDontEnqueueResult = true; + ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); } mLastTouchUpTime = eventTime; @@ -5818,7 +5818,7 @@ public class WebView extends AbsoluteLayout ted.mNativeLayer = nativeScrollableLayer( contentX, contentY, ted.mNativeLayerRect, null); - ted.mDontEnqueueResult = true; + ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); } else if (mPreventDefault != PREVENT_DEFAULT_YES){ mZoomManager.handleDoubleTap(mLastTouchX, mLastTouchY); @@ -6036,7 +6036,7 @@ public class WebView extends AbsoluteLayout ted.mAction = MotionEvent.ACTION_CANCEL; ted.mNativeLayer = nativeScrollableLayer( x, y, ted.mNativeLayerRect, null); - ted.mDontEnqueueResult = true; + ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); mPreventDefault = PREVENT_DEFAULT_IGNORE; } @@ -7520,7 +7520,7 @@ public class WebView extends AbsoluteLayout ted.mNativeLayer = nativeScrollableLayer( ted.mPoints[0].x, ted.mPoints[0].y, ted.mNativeLayerRect, null); - ted.mDontEnqueueResult = true; + ted.mSequence = mTouchEventQueue.nextTouchSequence(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); } else if (mPreventDefault != PREVENT_DEFAULT_YES) { mTouchMode = TOUCH_DONE_MODE; @@ -7736,9 +7736,12 @@ public class WebView extends AbsoluteLayout break; } TouchEventData ted = (TouchEventData) msg.obj; - if (!ted.mDontEnqueueResult) { - 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: diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index f367b93820de..b920a30fd2a9 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -827,7 +827,6 @@ final class WebViewCore { Rect mNativeLayerRect = new Rect(); long mSequence; boolean mNativeResult; - boolean mDontEnqueueResult; } static class GeolocationPermissionsData { |