Index: content/browser/renderer_host/input/gesture_event_packet.cc |
diff --git a/content/browser/renderer_host/input/gesture_event_packet.cc b/content/browser/renderer_host/input/gesture_event_packet.cc |
index d0fe17219b9e2ecba7b69d2ed15c5dece4ffba50..1247a37d905390eb1de45482dd7f63ec5d6213b8 100644 |
--- a/content/browser/renderer_host/input/gesture_event_packet.cc |
+++ b/content/browser/renderer_host/input/gesture_event_packet.cc |
@@ -36,11 +36,13 @@ ToGestureSource(const WebTouchEvent& event) { |
GestureEventPacket::GestureEventPacket() |
: gesture_count_(0), |
- gesture_source_(INVALID) {} |
+ gesture_source_(INVALID), |
+ is_independent_(true) {} |
GestureEventPacket::GestureEventPacket(GestureSource source) |
: gesture_count_(0), |
- gesture_source_(source) { |
+ gesture_source_(source), |
+ is_independent_(true) { |
DCHECK_NE(gesture_source_, INVALID); |
} |
@@ -49,6 +51,10 @@ GestureEventPacket::~GestureEventPacket() {} |
void GestureEventPacket::Push(const blink::WebGestureEvent& gesture) { |
CHECK_LT(gesture_count_, static_cast<size_t>(kMaxGesturesPerTouch)); |
gestures_[gesture_count_++] = gesture; |
+ if (gesture.type != WebInputEvent::GestureScrollUpdate && |
+ gesture.type != WebInputEvent::GestureScrollUpdateWithoutPropagation && |
+ gesture.type != WebInputEvent::GesturePinchUpdate) |
+ is_independent_ = false; |
} |
GestureEventPacket GestureEventPacket::FromTouch(const WebTouchEvent& event) { |