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 3c3436af30c98022e80a4299ede90c65bedb99e8..565706e73498e88c6ce2fff54579f877f2d2aa96 100644 |
--- a/content/browser/renderer_host/input/touch_event_queue.h |
+++ b/content/browser/renderer_host/input/touch_event_queue.h |
@@ -164,8 +164,13 @@ class CONTENT_EXPORT TouchEventQueue { |
// Safely pop the head of the queue. |
scoped_ptr<CoalescedWebTouchEvent> PopTouchEvent(); |
- // Dispatch |touch| to the client. |
- void SendTouchEventImmediately(const TouchEventWithLatencyInfo& touch); |
+ // Dispatch |touch| to the client. Before dispatching, updates pointer |
+ // states in touchmove events for pointers that have not changed position. |
+ void SendTouchEventImmediately(TouchEventWithLatencyInfo* touch); |
+ |
+ // Compares all properties of touch points to determine the state. |
+ bool HasPointChanged(const blink::WebTouchPoint& last_point, |
+ const blink::WebTouchPoint& current_point) const; |
enum PreFilterResult { |
ACK_WITH_NO_CONSUMER_EXISTS, |
@@ -237,6 +242,9 @@ class CONTENT_EXPORT TouchEventQueue { |
// mode. |
const TouchScrollingMode touch_scrolling_mode_; |
+ // Event is saved to compare pointer positions for new touchmove events. |
+ scoped_ptr<blink::WebTouchEvent> last_sent_touchevent_; |
+ |
DISALLOW_COPY_AND_ASSIGN(TouchEventQueue); |
}; |