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

Unified Diff: content/browser/renderer_host/input/touch_event_queue.h

Issue 997283002: Coalesce async touch move events until the ack back from render (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add an ack type for async touch move Created 5 years, 9 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/browser/renderer_host/input/touch_event_queue.h
diff --git a/content/browser/renderer_host/input/touch_event_queue.h b/content/browser/renderer_host/input/touch_event_queue.h
index a61b90d8eca8c1707d31b3e9bfbadabb175047a0..6c4aed95195e72260b470fe791149a7ddf3010a7 100644
--- a/content/browser/renderer_host/input/touch_event_queue.h
+++ b/content/browser/renderer_host/input/touch_event_queue.h
@@ -66,6 +66,8 @@ class CONTENT_EXPORT TouchEventQueue {
void ProcessTouchAck(InputEventAckState ack_result,
const ui::LatencyInfo& latency_info);
+ void ProcessAsyncTouchAck();
tdresser 2015/03/23 19:21:44 This should probably be ProcessUncancelableTouchAc
lanwei 2015/03/24 18:46:38 Done.
+
// When GestureScrollBegin is received, we send a touch cancel to renderer,
// route all the following touch events directly to client, and ignore the
// ack for the touch cancel. When Gesture{ScrollEnd,FlingStart} is received,
@@ -201,7 +203,18 @@ class CONTENT_EXPORT TouchEventQueue {
// until a sufficient time period has elapsed since the last sent touch event.
// For details see the design doc at http://goo.gl/lVyJAa.
bool send_touch_events_async_;
+
+ // Whether we receive an ack from render for async touch move event.
+ bool receive_async_touch_move_ack_;
tdresser 2015/03/23 19:21:44 Can you clarify this comment? When wouldn't we rec
lanwei 2015/03/24 18:46:38 Done.
scoped_ptr<TouchEventWithLatencyInfo> pending_async_touchmove_;
+
+ // Once this value is greater than 0, which means we should ignore the
+ // following ignore_ack_ numbers of acks from render for async touch moves.
+ int ignore_ack_;
tdresser 2015/03/23 19:21:44 The variable name here should indicate that this i
lanwei 2015/03/24 18:46:38 Done.
+
+ // Count the number of aysnc touch moves sent out are waiting for their ack
tdresser 2015/03/23 19:21:44 Fix spelling "aysnc"
lanwei 2015/03/24 18:46:38 Done.
+ // back from render.
+ int sent_async_touch_move_count_;
double last_sent_touch_timestamp_sec_;
// Event is saved to compare pointer positions for new touchmove events.

Powered by Google App Engine
This is Rietveld 408576698