Home | History | Annotate | Download | only in chrome
      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