• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 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.
4 
5 #ifndef CHROME_TEST_CHROMEDRIVER_CHROME_UI_EVENTS_H_
6 #define CHROME_TEST_CHROMEDRIVER_CHROME_UI_EVENTS_H_
7 
8 #include <string>
9 
10 #include "ui/events/keycodes/keyboard_codes.h"
11 
12 // Specifies the type of the mouse event.
13 enum MouseEventType {
14   kPressedMouseEventType = 0,
15   kReleasedMouseEventType,
16   kMovedMouseEventType
17 };
18 
19 // Specifies the mouse buttons.
20 enum MouseButton {
21   kLeftMouseButton = 0,
22   kMiddleMouseButton,
23   kRightMouseButton,
24   kNoneMouseButton
25 };
26 
27 struct MouseEvent {
28   MouseEvent(MouseEventType type,
29              MouseButton button,
30              int x,
31              int y,
32              int modifiers,
33              int click_count);
34   ~MouseEvent();
35 
36   MouseEventType type;
37   MouseButton button;
38   int x;
39   int y;
40   int modifiers;
41   // |click_count| should not be negative.
42   int click_count;
43 };
44 
45 // Specifies the type of the touch event.
46 enum TouchEventType {
47   kTouchStart = 0,
48   kTouchEnd,
49   kTouchMove,
50 };
51 
52 struct TouchEvent {
53   TouchEvent(TouchEventType type,
54              int x,
55              int y);
56   ~TouchEvent();
57 
58   TouchEventType type;
59   int x;
60   int y;
61 };
62 
63 // Specifies the type of the keyboard event.
64 enum KeyEventType {
65   kKeyDownEventType = 0,
66   kKeyUpEventType,
67   kRawKeyDownEventType,
68   kCharEventType
69 };
70 
71 // Specifies modifier keys as stated in
72 // third_party/WebKit/Source/WebCore/inspector/Inspector.json.
73 // Notice: |kNumLockKeyModifierMask| is for usage in the key_converter.cc
74 //         and keycode_text_conversion_x.cc only, not for inspector.
75 enum KeyModifierMask {
76   kAltKeyModifierMask = 1 << 0,
77   kControlKeyModifierMask = 1 << 1,
78   kMetaKeyModifierMask = 1 << 2,
79   kShiftKeyModifierMask = 1 << 3,
80   kNumLockKeyModifierMask = 1 << 4
81 };
82 
83 struct KeyEvent {
84   KeyEvent(KeyEventType type,
85            int modifiers,
86            const std::string& modified_text,
87            const std::string& unmodified_text,
88            ui::KeyboardCode key_code);
89   ~KeyEvent();
90 
91   KeyEventType type;
92   int modifiers;
93   std::string modified_text;
94   std::string unmodified_text;
95   ui::KeyboardCode key_code;
96 };
97 
98 #endif  // CHROME_TEST_CHROMEDRIVER_CHROME_UI_EVENTS_H_
99