1 // Copyright 2020 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "third_party/blink/public/common/input/web_input_event.h" 6 7 namespace blink { 8 GetScrollInputType() const9base::Optional<ui::ScrollInputType> WebInputEvent::GetScrollInputType() const { 10 return base::nullopt; 11 } 12 MergeDispatchTypes(DispatchType type_1,DispatchType type_2)13WebInputEvent::DispatchType WebInputEvent::MergeDispatchTypes( 14 DispatchType type_1, 15 DispatchType type_2) { 16 static_assert(DispatchType::kBlocking < DispatchType::kEventNonBlocking, 17 "Enum not ordered correctly"); 18 static_assert(DispatchType::kEventNonBlocking < 19 DispatchType::kListenersNonBlockingPassive, 20 "Enum not ordered correctly"); 21 static_assert(DispatchType::kListenersNonBlockingPassive < 22 DispatchType::kListenersForcedNonBlockingDueToFling, 23 "Enum not ordered correctly"); 24 return std::min(type_1, type_2); 25 } 26 GetTypeAsUiEventType() const27ui::EventType WebInputEvent::GetTypeAsUiEventType() const { 28 switch (type_) { 29 case WebInputEvent::Type::kMouseDown: 30 return ui::EventType::ET_MOUSE_PRESSED; 31 case WebInputEvent::Type::kMouseUp: 32 return ui::EventType::ET_MOUSE_RELEASED; 33 case WebInputEvent::Type::kMouseMove: 34 return ui::EventType::ET_MOUSE_MOVED; 35 case WebInputEvent::Type::kMouseEnter: 36 return ui::EventType::ET_MOUSE_ENTERED; 37 case WebInputEvent::Type::kMouseLeave: 38 return ui::EventType::ET_MOUSE_EXITED; 39 case WebInputEvent::Type::kContextMenu: 40 return ui::EventType::ET_UNKNOWN; 41 case WebInputEvent::Type::kMouseWheel: 42 return ui::EventType::ET_MOUSEWHEEL; 43 case WebInputEvent::Type::kRawKeyDown: 44 return ui::EventType::ET_KEY_PRESSED; 45 case WebInputEvent::Type::kKeyDown: 46 return ui::EventType::ET_KEY_PRESSED; 47 case WebInputEvent::Type::kKeyUp: 48 return ui::EventType::ET_KEY_RELEASED; 49 case WebInputEvent::Type::kChar: 50 return ui::EventType::ET_KEY_PRESSED; 51 case WebInputEvent::Type::kGestureScrollBegin: 52 return ui::EventType::ET_GESTURE_SCROLL_BEGIN; 53 case WebInputEvent::Type::kGestureScrollEnd: 54 return ui::EventType::ET_GESTURE_SCROLL_END; 55 case WebInputEvent::Type::kGestureScrollUpdate: 56 return ui::EventType::ET_GESTURE_SCROLL_UPDATE; 57 case WebInputEvent::Type::kGestureFlingStart: 58 return ui::EventType::ET_SCROLL_FLING_START; 59 case WebInputEvent::Type::kGestureFlingCancel: 60 return ui::EventType::ET_SCROLL_FLING_CANCEL; 61 case WebInputEvent::Type::kGesturePinchBegin: 62 return ui::EventType::ET_GESTURE_PINCH_BEGIN; 63 case WebInputEvent::Type::kGesturePinchEnd: 64 return ui::EventType::ET_GESTURE_PINCH_END; 65 case WebInputEvent::Type::kGesturePinchUpdate: 66 return ui::EventType::ET_GESTURE_PINCH_UPDATE; 67 case WebInputEvent::Type::kGestureTapDown: 68 return ui::EventType::ET_GESTURE_TAP_DOWN; 69 case WebInputEvent::Type::kGestureShowPress: 70 return ui::EventType::ET_GESTURE_SHOW_PRESS; 71 case WebInputEvent::Type::kGestureTap: 72 return ui::EventType::ET_GESTURE_TAP; 73 case WebInputEvent::Type::kGestureTapCancel: 74 return ui::EventType::ET_GESTURE_TAP_CANCEL; 75 case WebInputEvent::Type::kGestureLongPress: 76 return ui::EventType::ET_GESTURE_LONG_PRESS; 77 case WebInputEvent::Type::kGestureLongTap: 78 return ui::EventType::ET_GESTURE_LONG_TAP; 79 case WebInputEvent::Type::kGestureTwoFingerTap: 80 return ui::EventType::ET_GESTURE_TWO_FINGER_TAP; 81 case WebInputEvent::Type::kGestureTapUnconfirmed: 82 return ui::EventType::ET_GESTURE_TAP_UNCONFIRMED; 83 case WebInputEvent::Type::kGestureDoubleTap: 84 return ui::EventType::ET_GESTURE_DOUBLE_TAP; 85 case WebInputEvent::Type::kTouchStart: 86 return ui::EventType::ET_TOUCH_PRESSED; 87 case WebInputEvent::Type::kTouchMove: 88 return ui::EventType::ET_TOUCH_MOVED; 89 case WebInputEvent::Type::kTouchEnd: 90 return ui::EventType::ET_TOUCH_RELEASED; 91 case WebInputEvent::Type::kTouchCancel: 92 return ui::EventType::ET_TOUCH_CANCELLED; 93 case WebInputEvent::Type::kTouchScrollStarted: 94 case WebInputEvent::Type::kPointerDown: 95 return ui::EventType::ET_TOUCH_PRESSED; 96 case WebInputEvent::Type::kPointerUp: 97 return ui::EventType::ET_TOUCH_RELEASED; 98 case WebInputEvent::Type::kPointerMove: 99 return ui::EventType::ET_TOUCH_MOVED; 100 case WebInputEvent::Type::kPointerCancel: 101 return ui::EventType::ET_TOUCH_CANCELLED; 102 default: 103 return ui::EventType::ET_UNKNOWN; 104 } 105 } 106 107 } // namespace blink 108