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 542e719f4d0bfdcb21a819e28e90da73a2d9c52f..b7419d73ba5a32f3795d82706a94f90236b4afbe 100644 |
--- a/content/browser/renderer_host/input/gesture_event_packet.cc |
+++ b/content/browser/renderer_host/input/gesture_event_packet.cc |
@@ -5,6 +5,7 @@ |
#include "content/browser/renderer_host/input/gesture_event_packet.h" |
#include "base/logging.h" |
+#include "ui/events/gesture_detection/motion_event.h" |
using blink::WebGestureEvent; |
using blink::WebInputEvent; |
@@ -40,6 +41,26 @@ GestureEventPacket::GestureSource ToGestureSource(const WebTouchEvent& event) { |
} |
} |
+GestureEventPacket::GestureSource |
+ToGestureSource(const ui::MotionEvent& event) { |
+ switch (event.GetAction()) { |
+ case ui::MotionEvent::ACTION_POINTER_DOWN: |
+ return GestureEventPacket::TOUCH_BEGIN; |
+ case ui::MotionEvent::ACTION_POINTER_UP: |
+ return GestureEventPacket::TOUCH_END; |
+ case ui::MotionEvent::ACTION_DOWN: |
+ return GestureEventPacket::TOUCH_SEQUENCE_BEGIN; |
+ case ui::MotionEvent::ACTION_UP: |
+ return GestureEventPacket::TOUCH_SEQUENCE_END; |
+ case ui::MotionEvent::ACTION_CANCEL: |
+ return GestureEventPacket::TOUCH_SEQUENCE_END; |
+ case ui::MotionEvent::ACTION_MOVE: |
+ return GestureEventPacket::TOUCH_MOVE; |
+ }; |
+ NOTREACHED() << "Invalid ui::MotionEvent action: " << event.GetAction(); |
+ return GestureEventPacket::INVALID; |
+} |
+ |
} // namespace |
GestureEventPacket::GestureEventPacket() |
@@ -78,6 +99,10 @@ GestureEventPacket GestureEventPacket::FromTouch(const WebTouchEvent& event) { |
return GestureEventPacket(ToGestureSource(event)); |
} |
+GestureEventPacket GestureEventPacket::FromTouch(const ui::MotionEvent& event) { |
+ return GestureEventPacket(ToGestureSource(event)); |
+} |
+ |
GestureEventPacket GestureEventPacket::FromTouchTimeout( |
const WebGestureEvent& event) { |
GestureEventPacket packet(TOUCH_TIMEOUT); |