| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/renderer_host/input/gesture_event_packet.h" | 5 #include "content/browser/renderer_host/input/gesture_event_packet.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "ui/events/gesture_detection/motion_event.h" |
| 8 | 9 |
| 9 using blink::WebGestureEvent; | 10 using blink::WebGestureEvent; |
| 10 using blink::WebInputEvent; | 11 using blink::WebInputEvent; |
| 11 using blink::WebTouchEvent; | 12 using blink::WebTouchEvent; |
| 12 using blink::WebTouchPoint; | 13 using blink::WebTouchPoint; |
| 13 | 14 |
| 14 namespace content { | 15 namespace content { |
| 15 namespace { | 16 namespace { |
| 16 | 17 |
| 17 GestureEventPacket::GestureSource ToGestureSource(const WebTouchEvent& event) { | 18 GestureEventPacket::GestureSource ToGestureSource(const WebTouchEvent& event) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 33 event.touches[i].state != WebTouchPoint::StateCancelled) { | 34 event.touches[i].state != WebTouchPoint::StateCancelled) { |
| 34 return GestureEventPacket::TOUCH_END; | 35 return GestureEventPacket::TOUCH_END; |
| 35 } | 36 } |
| 36 } | 37 } |
| 37 return GestureEventPacket::TOUCH_SEQUENCE_END; | 38 return GestureEventPacket::TOUCH_SEQUENCE_END; |
| 38 default: | 39 default: |
| 39 return GestureEventPacket::INVALID; | 40 return GestureEventPacket::INVALID; |
| 40 } | 41 } |
| 41 } | 42 } |
| 42 | 43 |
| 44 GestureEventPacket::GestureSource |
| 45 ToGestureSource(const ui::MotionEvent& event) { |
| 46 switch (event.GetAction()) { |
| 47 case ui::MotionEvent::ACTION_POINTER_DOWN: |
| 48 return GestureEventPacket::TOUCH_BEGIN; |
| 49 case ui::MotionEvent::ACTION_POINTER_UP: |
| 50 return GestureEventPacket::TOUCH_END; |
| 51 case ui::MotionEvent::ACTION_DOWN: |
| 52 return GestureEventPacket::TOUCH_SEQUENCE_BEGIN; |
| 53 case ui::MotionEvent::ACTION_UP: |
| 54 return GestureEventPacket::TOUCH_SEQUENCE_END; |
| 55 case ui::MotionEvent::ACTION_CANCEL: |
| 56 return GestureEventPacket::TOUCH_SEQUENCE_END; |
| 57 case ui::MotionEvent::ACTION_MOVE: |
| 58 return GestureEventPacket::TOUCH_MOVE; |
| 59 }; |
| 60 NOTREACHED() << "Invalid ui::MotionEvent action: " << event.GetAction(); |
| 61 return GestureEventPacket::INVALID; |
| 62 } |
| 63 |
| 43 } // namespace | 64 } // namespace |
| 44 | 65 |
| 45 GestureEventPacket::GestureEventPacket() | 66 GestureEventPacket::GestureEventPacket() |
| 46 : gesture_count_(0), | 67 : gesture_count_(0), |
| 47 gesture_source_(UNDEFINED) {} | 68 gesture_source_(UNDEFINED) {} |
| 48 | 69 |
| 49 GestureEventPacket::GestureEventPacket(GestureSource source) | 70 GestureEventPacket::GestureEventPacket(GestureSource source) |
| 50 : gesture_count_(0), | 71 : gesture_count_(0), |
| 51 gesture_source_(source) { | 72 gesture_source_(source) { |
| 52 DCHECK_NE(gesture_source_, UNDEFINED); | 73 DCHECK_NE(gesture_source_, UNDEFINED); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 71 void GestureEventPacket::Push(const blink::WebGestureEvent& gesture) { | 92 void GestureEventPacket::Push(const blink::WebGestureEvent& gesture) { |
| 72 DCHECK(WebInputEvent::isGestureEventType(gesture.type)); | 93 DCHECK(WebInputEvent::isGestureEventType(gesture.type)); |
| 73 CHECK_LT(gesture_count_, static_cast<size_t>(kMaxGesturesPerTouch)); | 94 CHECK_LT(gesture_count_, static_cast<size_t>(kMaxGesturesPerTouch)); |
| 74 gestures_[gesture_count_++] = gesture; | 95 gestures_[gesture_count_++] = gesture; |
| 75 } | 96 } |
| 76 | 97 |
| 77 GestureEventPacket GestureEventPacket::FromTouch(const WebTouchEvent& event) { | 98 GestureEventPacket GestureEventPacket::FromTouch(const WebTouchEvent& event) { |
| 78 return GestureEventPacket(ToGestureSource(event)); | 99 return GestureEventPacket(ToGestureSource(event)); |
| 79 } | 100 } |
| 80 | 101 |
| 102 GestureEventPacket GestureEventPacket::FromTouch(const ui::MotionEvent& event) { |
| 103 return GestureEventPacket(ToGestureSource(event)); |
| 104 } |
| 105 |
| 81 GestureEventPacket GestureEventPacket::FromTouchTimeout( | 106 GestureEventPacket GestureEventPacket::FromTouchTimeout( |
| 82 const WebGestureEvent& event) { | 107 const WebGestureEvent& event) { |
| 83 GestureEventPacket packet(TOUCH_TIMEOUT); | 108 GestureEventPacket packet(TOUCH_TIMEOUT); |
| 84 packet.Push(event); | 109 packet.Push(event); |
| 85 return packet; | 110 return packet; |
| 86 } | 111 } |
| 87 | 112 |
| 88 } // namespace content | 113 } // namespace content |
| OLD | NEW |