Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1447)

Unified Diff: content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java

Issue 119323007: Add timestamps to synthesized events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup. Created 6 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java b/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java
index 2dd88b9861e516c4a42e2d3a1c9fb1cbd2fdc264..710f1f15a4ebf6524cc0ff7259ad96b71d633d38 100644
--- a/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java
+++ b/content/public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java
@@ -27,7 +27,8 @@ public class TouchEventSynthesizer {
private final ContentViewCore mContentViewCore;
private final PointerProperties[] mPointerProperties;
private final PointerCoords[] mPointerCoords;
- private long mDownTime;
+ private long mDownTimeInMs;
+ private double mDownTimestampInS;
jdduke (slow) 2014/01/03 18:24:30 We shouldn't need two times here. The provided ti
Dominik Grewe 2014/01/06 11:46:07 Done.
TouchEventSynthesizer(ContentViewCore contentViewCore) {
mContentViewCore = contentViewCore;
@@ -54,14 +55,22 @@ public class TouchEventSynthesizer {
}
@CalledByNative
- void inject(int action, int pointerCount) {
- long time = SystemClock.uptimeMillis();
+ void inject(int action, int pointerCount, double timestampInS) {
+ long timeInMs;
jdduke (slow) 2014/01/03 18:24:30 Instead of taking a double |timeStampInS|, just ha
Dominik Grewe 2014/01/06 11:46:07 Done.
+ if (action == ACTION_START) {
+ timeInMs = SystemClock.uptimeMillis();
+ mDownTimeInMs = timeInMs;
+ mDownTimestampInS = timestampInS;
+ } else {
+ // Compute time using the provided timestamp.
+ double timestampDelta = timestampInS - mDownTimestampInS;
+ timeInMs = mDownTimeInMs + (long)(timestampDelta * 1000.0);
+ }
switch (action) {
case ACTION_START: {
- mDownTime = time;
MotionEvent event = MotionEvent.obtain(
- mDownTime, time, MotionEvent.ACTION_DOWN, 1,
+ mDownTimeInMs, timeInMs, MotionEvent.ACTION_DOWN, 1,
mPointerProperties, mPointerCoords,
0, 0, 1, 1, 0, 0, 0, 0);
mContentViewCore.onTouchEvent(event);
@@ -69,8 +78,9 @@ public class TouchEventSynthesizer {
if (pointerCount > 1) {
event = MotionEvent.obtain(
- mDownTime, time, MotionEvent.ACTION_POINTER_DOWN,
- pointerCount, mPointerProperties, mPointerCoords,
+ mDownTimeInMs, timeInMs,
+ MotionEvent.ACTION_POINTER_DOWN, pointerCount,
+ mPointerProperties, mPointerCoords,
0, 0, 1, 1, 0, 0, 0, 0);
mContentViewCore.onTouchEvent(event);
event.recycle();
@@ -78,7 +88,7 @@ public class TouchEventSynthesizer {
break;
}
case ACTION_MOVE: {
- MotionEvent event = MotionEvent.obtain(mDownTime, time,
+ MotionEvent event = MotionEvent.obtain(mDownTimeInMs, timeInMs,
MotionEvent.ACTION_MOVE,
pointerCount, mPointerProperties, mPointerCoords,
0, 0, 1, 1, 0, 0, 0, 0);
@@ -88,7 +98,7 @@ public class TouchEventSynthesizer {
}
case ACTION_CANCEL: {
MotionEvent event = MotionEvent.obtain(
- mDownTime, time, MotionEvent.ACTION_CANCEL, 1,
+ mDownTimeInMs, timeInMs, MotionEvent.ACTION_CANCEL, 1,
mPointerProperties, mPointerCoords,
0, 0, 1, 1, 0, 0, 0, 0);
mContentViewCore.onTouchEvent(event);
@@ -98,7 +108,7 @@ public class TouchEventSynthesizer {
case ACTION_END: {
if (pointerCount > 1) {
MotionEvent event = MotionEvent.obtain(
- mDownTime, time, MotionEvent.ACTION_POINTER_UP,
+ mDownTimeInMs, timeInMs, MotionEvent.ACTION_POINTER_UP,
pointerCount, mPointerProperties, mPointerCoords,
0, 0, 1, 1, 0, 0, 0, 0);
mContentViewCore.onTouchEvent(event);
@@ -106,7 +116,7 @@ public class TouchEventSynthesizer {
}
MotionEvent event = MotionEvent.obtain(
- mDownTime, time, MotionEvent.ACTION_UP, 1,
+ mDownTimeInMs, timeInMs, MotionEvent.ACTION_UP, 1,
mPointerProperties, mPointerCoords,
0, 0, 1, 1, 0, 0, 0, 0);
mContentViewCore.onTouchEvent(event);

Powered by Google App Engine
This is Rietveld 408576698