Roll src/third_party/WebKit c63b89c:29324ab (svn 202546:202547)
[chromium-blink-merge.git] / content / browser / renderer_host / input / web_input_event_util.cc
blob4265577aa11b2541fdf16eb1f3839640466ad8fe
1 // Copyright 2013 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.
5 // MSVC++ requires this to be set before any other includes to get M_PI.
6 #define _USE_MATH_DEFINES
8 #include "content/browser/renderer_host/input/web_input_event_util.h"
10 #include <cmath>
12 #include "base/strings/string_util.h"
13 #include "content/common/input/web_touch_event_traits.h"
14 #include "ui/events/blink/blink_event_util.h"
15 #include "ui/events/event_constants.h"
16 #include "ui/events/gesture_detection/gesture_event_data.h"
17 #include "ui/events/gesture_detection/motion_event.h"
18 #include "ui/events/keycodes/dom/keycode_converter.h"
19 #include "ui/gfx/geometry/safe_integer_conversions.h"
21 using blink::WebGestureEvent;
22 using blink::WebInputEvent;
23 using blink::WebTouchEvent;
24 using blink::WebTouchPoint;
25 using ui::MotionEvent;
27 namespace content {
29 int WebEventModifiersToEventFlags(int modifiers) {
30 int flags = 0;
32 if (modifiers & blink::WebInputEvent::ShiftKey)
33 flags |= ui::EF_SHIFT_DOWN;
34 if (modifiers & blink::WebInputEvent::ControlKey)
35 flags |= ui::EF_CONTROL_DOWN;
36 if (modifiers & blink::WebInputEvent::AltKey)
37 flags |= ui::EF_ALT_DOWN;
38 if (modifiers & blink::WebInputEvent::MetaKey)
39 flags |= ui::EF_COMMAND_DOWN;
41 if (modifiers & blink::WebInputEvent::LeftButtonDown)
42 flags |= ui::EF_LEFT_MOUSE_BUTTON;
43 if (modifiers & blink::WebInputEvent::MiddleButtonDown)
44 flags |= ui::EF_MIDDLE_MOUSE_BUTTON;
45 if (modifiers & blink::WebInputEvent::RightButtonDown)
46 flags |= ui::EF_RIGHT_MOUSE_BUTTON;
47 if (modifiers & blink::WebInputEvent::CapsLockOn)
48 flags |= ui::EF_CAPS_LOCK_DOWN;
49 if (modifiers & blink::WebInputEvent::IsAutoRepeat)
50 flags |= ui::EF_IS_REPEAT;
52 return flags;
55 blink::WebInputEvent::Modifiers DomCodeToWebInputEventModifiers(
56 ui::DomCode code) {
57 switch (ui::KeycodeConverter::DomCodeToLocation(code)) {
58 case ui::DomKeyLocation::LEFT:
59 return blink::WebInputEvent::IsLeft;
60 case ui::DomKeyLocation::RIGHT:
61 return blink::WebInputEvent::IsRight;
62 case ui::DomKeyLocation::NUMPAD:
63 return blink::WebInputEvent::IsKeyPad;
64 case ui::DomKeyLocation::STANDARD:
65 break;
67 return static_cast<blink::WebInputEvent::Modifiers>(0);
70 } // namespace content