From a61b67abc27b7fdc84a3d8d62101fb255de49aa8 Mon Sep 17 00:00:00 2001 From: Grace Kloba Date: Tue, 2 Feb 2010 19:08:41 -0800 Subject: [PATCH] Pass touch event time from Java to WebKit Merge from https://android-git.corp.google.com/g/#change,39355 --- core/java/android/webkit/WebView.java | 3 +++ core/java/android/webkit/WebViewCore.java | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 16ecab7566019..6627973517e2b 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -4349,6 +4349,7 @@ public class WebView extends AbsoluteLayout ted.mAction = action; ted.mX = viewToContentX((int) x + mScrollX); ted.mY = viewToContentY((int) y + mScrollY); + ted.mEventTime = eventTime; mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); mLastSentTouchTime = eventTime; } @@ -4612,6 +4613,7 @@ public class WebView extends AbsoluteLayout ted.mAction = WebViewCore.ACTION_DOUBLETAP; ted.mX = viewToContentX((int) x + mScrollX); ted.mY = viewToContentY((int) y + mScrollY); + ted.mEventTime = eventTime; mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); } else if (mFullScreenHolder == null) { doDoubleTap(); @@ -5651,6 +5653,7 @@ public class WebView extends AbsoluteLayout ted.mAction = WebViewCore.ACTION_LONGPRESS; ted.mX = viewToContentX((int) mLastTouchX + mScrollX); ted.mY = viewToContentY((int) mLastTouchY + mScrollY); + ted.mEventTime = SystemClock.uptimeMillis(); mWebViewCore.sendMessage(EventHub.TOUCH_EVENT, ted); } else if (mPreventDrag == PREVENT_DRAG_NO) { mTouchMode = TOUCH_DONE_MODE; diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index 387942f757e37..6e45e39e96ff8 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -512,7 +512,7 @@ final class WebViewCore { private native void nativeTouchUp(int touchGeneration, int framePtr, int nodePtr, int x, int y); - private native int nativeHandleTouchEvent(int action, int x, int y); + private native int nativeHandleTouchEvent(int action, int x, int y, long time); private native void nativeUpdateFrameCache(); @@ -731,6 +731,7 @@ final class WebViewCore { int mAction; int mX; int mY; + long mEventTime; } static class GeolocationPermissionsData { @@ -1189,7 +1190,7 @@ final class WebViewCore { mWebView.mPrivateHandler, WebView.PREVENT_TOUCH_ID, ted.mAction, nativeHandleTouchEvent(ted.mAction, ted.mX, - ted.mY)).sendToTarget(); + ted.mY, ted.mEventTime)).sendToTarget(); break; }