Chromium Code Reviews| 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..cef1d1b607d578a42097507b49c19d9d655e3d08 100644 |
| --- a/content/browser/renderer_host/input/gesture_event_packet.cc |
| +++ b/content/browser/renderer_host/input/gesture_event_packet.cc |
| @@ -14,22 +14,33 @@ using blink::WebTouchPoint; |
| namespace content { |
| namespace { |
| -bool IsTouchSequenceStart(const WebTouchEvent& event) { |
| - if (event.type != WebInputEvent::TouchStart) |
| - return false; |
| - if (!event.touchesLength) |
| - return false; |
| - for (size_t i = 0; i < event.touchesLength; i++) { |
| - if (event.touches[i].state != WebTouchPoint::StatePressed) |
| - return false; |
| - } |
| - return true; |
| -} |
| - |
| GestureEventPacket::GestureSource |
| ToGestureSource(const WebTouchEvent& event) { |
| - return IsTouchSequenceStart(event) ? GestureEventPacket::TOUCH_BEGIN |
| - : GestureEventPacket::TOUCH; |
| + switch(event.type) { |
| + case WebInputEvent::TouchStart: |
| + if (!event.touchesLength) |
| + return GestureEventPacket::OUT_OF_ORDER; |
|
jdduke (slow)
2014/02/13 19:40:00
I'm not sure about the OUT_OF_ORDER source... the
tdresser
2014/02/13 20:34:31
Done.
|
| + for (size_t i = 0; i < event.touchesLength; i++) { |
| + if (event.touches[i].state != WebTouchPoint::StatePressed) |
| + return GestureEventPacket::TOUCH_BEGIN; |
| + } |
| + return GestureEventPacket::TOUCH_SEQUENCE_BEGIN; |
| + case WebInputEvent::TouchMove: |
| + return GestureEventPacket::TOUCH_MOVE; |
| + case WebInputEvent::TouchEnd: |
| + case WebInputEvent::TouchCancel: |
| + if (!event.touchesLength) |
| + return GestureEventPacket::OUT_OF_ORDER; |
| + for (size_t i = 0; i < event.touchesLength; i++) { |
| + if (event.touches[i].state != WebTouchPoint::StateReleased && |
| + event.touches[i].state != WebTouchPoint::StateCancelled) { |
| + return GestureEventPacket::TOUCH_END; |
| + } |
| + } |
| + return GestureEventPacket::TOUCH_SEQUENCE_END; |
| + default: |
| + return GestureEventPacket::OUT_OF_ORDER; |
| + } |
| } |
| } // namespace |