12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CHROME_TEST_CHROMEDRIVER_CHROME_UI_EVENTS_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CHROME_TEST_CHROMEDRIVER_CHROME_UI_EVENTS_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ui/events/keycodes/keyboard_codes.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Specifies the type of the mouse event. 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)enum MouseEventType { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kPressedMouseEventType = 0, 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kReleasedMouseEventType, 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kMovedMouseEventType 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Specifies the mouse buttons. 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)enum MouseButton { 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kLeftMouseButton = 0, 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kMiddleMouseButton, 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kRightMouseButton, 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kNoneMouseButton 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct MouseEvent { 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MouseEvent(MouseEventType type, 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MouseButton button, 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int x, 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int y, 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int modifiers, 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int click_count); 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ~MouseEvent(); 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MouseEventType type; 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MouseButton button; 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int x; 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int y; 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int modifiers; 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // |click_count| should not be negative. 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int click_count; 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 45d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch// Specifies the type of the touch event. 46d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochenum TouchEventType { 47d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch kTouchStart = 0, 48d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch kTouchEnd, 49d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch kTouchMove, 50d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch}; 51d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 52d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochstruct TouchEvent { 53d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch TouchEvent(TouchEventType type, 54d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch int x, 55d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch int y); 56d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch ~TouchEvent(); 57d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 58d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch TouchEventType type; 59d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch int x; 60d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch int y; 61d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch}; 62d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Specifies the type of the keyboard event. 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)enum KeyEventType { 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kKeyDownEventType = 0, 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kKeyUpEventType, 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kRawKeyDownEventType, 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kCharEventType 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Specifies modifier keys as stated in 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// third_party/WebKit/Source/WebCore/inspector/Inspector.json. 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Notice: |kNumLockKeyModifierMask| is for usage in the key_converter.cc 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// and keycode_text_conversion_x.cc only, not for inspector. 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)enum KeyModifierMask { 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kAltKeyModifierMask = 1 << 0, 772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kControlKeyModifierMask = 1 << 1, 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kMetaKeyModifierMask = 1 << 2, 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kShiftKeyModifierMask = 1 << 3, 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kNumLockKeyModifierMask = 1 << 4 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct KeyEvent { 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KeyEvent(KeyEventType type, 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int modifiers, 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& modified_text, 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& unmodified_text, 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::KeyboardCode key_code); 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ~KeyEvent(); 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KeyEventType type; 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int modifiers; 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string modified_text; 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string unmodified_text; 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::KeyboardCode key_code; 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CHROME_TEST_CHROMEDRIVER_CHROME_UI_EVENTS_H_ 99