• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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_COMMON_AUTOMATION_CONSTANTS_H__
6 #define CHROME_COMMON_AUTOMATION_CONSTANTS_H__
7 
8 #include <string>
9 
10 namespace automation {
11 
12 // JSON value labels for proxy settings that are passed in via
13 // AutomationMsg_SetProxyConfig. These are here since they are used by both
14 // AutomationProvider and AutomationProxy.
15 extern const char kJSONProxyAutoconfig[];
16 extern const char kJSONProxyNoProxy[];
17 extern const char kJSONProxyPacUrl[];
18 extern const char kJSONProxyPacMandatory[];
19 extern const char kJSONProxyBypassList[];
20 extern const char kJSONProxyServer[];
21 
22 // When passing the kTestingChannelID switch to the browser, prepend
23 // this prefix to the channel id to enable the named testing interface.
24 // Named testing interface is used when you want to connect an
25 // AutomationProxy to an already-running browser instance.
26 extern const char kNamedInterfacePrefix[];
27 
28 // Amount of time to wait before querying the browser.
29 static const int kSleepTime = 250;
30 
31 // Recognized by the AutomationProvider's SendWebKeyboardEventToSelectedTab
32 // command. Specifies the type of the keyboard event.
33 enum KeyEventTypes {
34   kRawKeyDownType = 0,
35   kKeyDownType,
36   kCharType,
37   kKeyUpType,
38 };
39 
40 // Recognized by the AutomationProvider's SendWebKeyboardEventToSelectedTab
41 // command. Specifies masks to be used in constructing keyboard event modifiers.
42 enum KeyModifierMasks {
43   kShiftKeyMask   = 1 << 0,
44   kControlKeyMask = 1 << 1,
45   kAltKeyMask     = 1 << 2,
46   kMetaKeyMask    = 1 << 3,
47   kNumLockKeyMask = 1 << 4,
48 };
49 
50 // Recognized by the AutomationProvider's ProcessWebMouseEvent command.
51 enum MouseEventType {
52   kMouseDown = 0,
53   kMouseUp,
54   kMouseMove,
55   kMouseEnter,
56   kMouseLeave,
57   kContextMenu,
58 };
59 
60 enum MouseButton {
61   kLeftButton = 0,
62   kMiddleButton,
63   kRightButton,
64   kNoButton,
65 };
66 
67 }  // namespace automation
68 
69 // Used by AutomationProxy, declared here so that other headers don't need
70 // to include automation_proxy.h.
71 enum AutomationLaunchResult {
72   AUTOMATION_LAUNCH_RESULT_INVALID = -1,
73   AUTOMATION_SUCCESS,
74   AUTOMATION_TIMEOUT,
75   AUTOMATION_VERSION_MISMATCH,
76   AUTOMATION_CREATE_TAB_FAILED,
77   AUTOMATION_SERVER_CRASHED,
78   AUTOMATION_CHANNEL_ERROR,
79 };
80 
81 enum AutomationMsg_NavigationResponseValues {
82   AUTOMATION_MSG_NAVIGATION_ERROR = 0,
83   AUTOMATION_MSG_NAVIGATION_SUCCESS,
84   AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
85   AUTOMATION_MSG_NAVIGATION_BLOCKED_BY_MODAL_DIALOG,
86 };
87 
88 // Used in the AutomationMsg_GetExtensionProperty to identify which extension
89 // property should be retrieved, instead of having separate messages for each
90 // property.
91 enum AutomationMsg_DEPRECATED_ExtensionProperty {
92   AUTOMATION_MSG_EXTENSION_ID = 0,
93   AUTOMATION_MSG_EXTENSION_NAME,
94   AUTOMATION_MSG_EXTENSION_VERSION,
95   AUTOMATION_MSG_EXTENSION_BROWSER_ACTION_INDEX,
96 };
97 
98 // Specifies the font size on a page which is requested by an automation
99 // client.
100 enum AutomationPageFontSize {
101   SMALLEST_FONT = 8,
102   SMALL_FONT = 12,
103   MEDIUM_FONT = 16,
104   LARGE_FONT = 24,
105   LARGEST_FONT = 36
106 };
107 
108 enum FindInPageDirection { BACK = 0, FWD = 1 };
109 enum FindInPageCase { IGNORE_CASE = 0, CASE_SENSITIVE = 1 };
110 
111 #endif  // CHROME_COMMON_AUTOMATION_CONSTANTS_H__
112