Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: chrome/test/chromedriver/window_commands.h

Issue 1669453002: [chromedriver] Apply page load timeout to slow cross-process navigations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pure virtual Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/test/chromedriver/test/webserver.py ('k') | chrome/test/chromedriver/window_commands.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_ 5 #ifndef CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_
6 #define CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_ 6 #define CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 10
11 #include "base/callback_forward.h" 11 #include "base/callback_forward.h"
12 12
13 namespace base { 13 namespace base {
14 class DictionaryValue; 14 class DictionaryValue;
15 class Value; 15 class Value;
16 } 16 }
17 17
18 struct Session; 18 struct Session;
19 class Status; 19 class Status;
20 class Timeout;
20 class WebView; 21 class WebView;
21 22
22 typedef base::Callback<Status(Session* session, 23 typedef base::Callback<Status(Session* session,
23 WebView* web_view, 24 WebView* web_view,
24 const base::DictionaryValue&, 25 const base::DictionaryValue&,
25 std::unique_ptr<base::Value>*)> 26 std::unique_ptr<base::Value>*,
26 WindowCommand; 27 Timeout*)> WindowCommand;
27 28
28 // Execute a Window Command on the target window. 29 // Execute a Window Command on the target window.
29 Status ExecuteWindowCommand(const WindowCommand& command, 30 Status ExecuteWindowCommand(const WindowCommand& command,
30 Session* session, 31 Session* session,
31 const base::DictionaryValue& params, 32 const base::DictionaryValue& params,
32 std::unique_ptr<base::Value>* value); 33 std::unique_ptr<base::Value>* value);
33 34
34 // Loads a URL. 35 // Loads a URL.
35 Status ExecuteGet(Session* session, 36 Status ExecuteGet(Session* session,
36 WebView* web_view, 37 WebView* web_view,
37 const base::DictionaryValue& params, 38 const base::DictionaryValue& params,
38 std::unique_ptr<base::Value>* value); 39 std::unique_ptr<base::Value>* value,
40 Timeout* timeout);
39 41
40 // Evaluates a given synchronous script with arguments. 42 // Evaluates a given synchronous script with arguments.
41 Status ExecuteExecuteScript(Session* session, 43 Status ExecuteExecuteScript(Session* session,
42 WebView* web_view, 44 WebView* web_view,
43 const base::DictionaryValue& params, 45 const base::DictionaryValue& params,
44 std::unique_ptr<base::Value>* value); 46 std::unique_ptr<base::Value>* value,
47 Timeout* timeout);
45 48
46 // Evaluates a given asynchronous script with arguments. 49 // Evaluates a given asynchronous script with arguments.
47 Status ExecuteExecuteAsyncScript(Session* session, 50 Status ExecuteExecuteAsyncScript(Session* session,
48 WebView* web_view, 51 WebView* web_view,
49 const base::DictionaryValue& params, 52 const base::DictionaryValue& params,
50 std::unique_ptr<base::Value>* value); 53 std::unique_ptr<base::Value>* value,
54 Timeout* timeout);
51 55
52 // Changes the targeted frame for the given session. 56 // Changes the targeted frame for the given session.
53 Status ExecuteSwitchToFrame(Session* session, 57 Status ExecuteSwitchToFrame(Session* session,
54 WebView* web_view, 58 WebView* web_view,
55 const base::DictionaryValue& params, 59 const base::DictionaryValue& params,
56 std::unique_ptr<base::Value>* value); 60 std::unique_ptr<base::Value>* value,
61 Timeout* timeout);
57 62
58 // Change focus to the parent frame. 63 // Change focus to the parent frame.
59 Status ExecuteSwitchToParentFrame(Session* session, 64 Status ExecuteSwitchToParentFrame(Session* session,
60 WebView* web_view, 65 WebView* web_view,
61 const base::DictionaryValue& params, 66 const base::DictionaryValue& params,
62 std::unique_ptr<base::Value>* value); 67 std::unique_ptr<base::Value>* value,
68 Timeout* timeout);
63 69
64 // Get the current page title. 70 // Get the current page title.
65 Status ExecuteGetTitle(Session* session, 71 Status ExecuteGetTitle(Session* session,
66 WebView* web_view, 72 WebView* web_view,
67 const base::DictionaryValue& params, 73 const base::DictionaryValue& params,
68 std::unique_ptr<base::Value>* value); 74 std::unique_ptr<base::Value>* value,
75 Timeout* timeout);
69 76
70 // Get the current page source. 77 // Get the current page source.
71 Status ExecuteGetPageSource(Session* session, 78 Status ExecuteGetPageSource(Session* session,
72 WebView* web_view, 79 WebView* web_view,
73 const base::DictionaryValue& params, 80 const base::DictionaryValue& params,
74 std::unique_ptr<base::Value>* value); 81 std::unique_ptr<base::Value>* value,
82 Timeout* timeout);
75 83
76 // Search for an element on the page, starting from the document root. 84 // Search for an element on the page, starting from the document root.
77 Status ExecuteFindElement(int interval_ms, 85 Status ExecuteFindElement(int interval_ms,
78 Session* session, 86 Session* session,
79 WebView* web_view, 87 WebView* web_view,
80 const base::DictionaryValue& params, 88 const base::DictionaryValue& params,
81 std::unique_ptr<base::Value>* value); 89 std::unique_ptr<base::Value>* value,
90 Timeout* timeout);
82 91
83 // Search for multiple elements on the page, starting from the document root. 92 // Search for multiple elements on the page, starting from the document root.
84 Status ExecuteFindElements(int interval_ms, 93 Status ExecuteFindElements(int interval_ms,
85 Session* session, 94 Session* session,
86 WebView* web_view, 95 WebView* web_view,
87 const base::DictionaryValue& params, 96 const base::DictionaryValue& params,
88 std::unique_ptr<base::Value>* value); 97 std::unique_ptr<base::Value>* value,
98 Timeout* timeout);
89 99
90 // Get the current page url. 100 // Get the current page url.
91 Status ExecuteGetCurrentUrl(Session* session, 101 Status ExecuteGetCurrentUrl(Session* session,
92 WebView* web_view, 102 WebView* web_view,
93 const base::DictionaryValue& params, 103 const base::DictionaryValue& params,
94 std::unique_ptr<base::Value>* value); 104 std::unique_ptr<base::Value>* value,
105 Timeout* timeout);
95 106
96 // Navigate backward in the browser history. 107 // Navigate backward in the browser history.
97 Status ExecuteGoBack(Session* session, 108 Status ExecuteGoBack(Session* session,
98 WebView* web_view, 109 WebView* web_view,
99 const base::DictionaryValue& params, 110 const base::DictionaryValue& params,
100 std::unique_ptr<base::Value>* value); 111 std::unique_ptr<base::Value>* value,
112 Timeout* timeout);
101 113
102 // Navigate forward in the browser history. 114 // Navigate forward in the browser history.
103 Status ExecuteGoForward(Session* session, 115 Status ExecuteGoForward(Session* session,
104 WebView* web_view, 116 WebView* web_view,
105 const base::DictionaryValue& params, 117 const base::DictionaryValue& params,
106 std::unique_ptr<base::Value>* value); 118 std::unique_ptr<base::Value>* value,
119 Timeout* timeout);
107 120
108 // Refresh the current page. 121 // Refresh the current page.
109 Status ExecuteRefresh(Session* session, 122 Status ExecuteRefresh(Session* session,
110 WebView* web_view, 123 WebView* web_view,
111 const base::DictionaryValue& params, 124 const base::DictionaryValue& params,
112 std::unique_ptr<base::Value>* value); 125 std::unique_ptr<base::Value>* value,
126 Timeout* timeout);
113 127
114 // Move the mouse by an offset of the element if specified . 128 // Move the mouse by an offset of the element if specified .
115 Status ExecuteMouseMoveTo(Session* session, 129 Status ExecuteMouseMoveTo(Session* session,
116 WebView* web_view, 130 WebView* web_view,
117 const base::DictionaryValue& params, 131 const base::DictionaryValue& params,
118 std::unique_ptr<base::Value>* value); 132 std::unique_ptr<base::Value>* value,
133 Timeout* timeout);
119 134
120 // Click a mouse button at the coordinates set by the last moveto. 135 // Click a mouse button at the coordinates set by the last moveto.
121 Status ExecuteMouseClick(Session* session, 136 Status ExecuteMouseClick(Session* session,
122 WebView* web_view, 137 WebView* web_view,
123 const base::DictionaryValue& params, 138 const base::DictionaryValue& params,
124 std::unique_ptr<base::Value>* value); 139 std::unique_ptr<base::Value>* value,
140 Timeout* timeout);
125 141
126 // Click and hold a mouse button at the coordinates set by the last moveto. 142 // Click and hold a mouse button at the coordinates set by the last moveto.
127 Status ExecuteMouseButtonDown(Session* session, 143 Status ExecuteMouseButtonDown(Session* session,
128 WebView* web_view, 144 WebView* web_view,
129 const base::DictionaryValue& params, 145 const base::DictionaryValue& params,
130 std::unique_ptr<base::Value>* value); 146 std::unique_ptr<base::Value>* value,
147 Timeout* timeout);
131 148
132 // Releases the mouse button previously held (where the mouse is currently at). 149 // Releases the mouse button previously held (where the mouse is currently at).
133 Status ExecuteMouseButtonUp(Session* session, 150 Status ExecuteMouseButtonUp(Session* session,
134 WebView* web_view, 151 WebView* web_view,
135 const base::DictionaryValue& params, 152 const base::DictionaryValue& params,
136 std::unique_ptr<base::Value>* value); 153 std::unique_ptr<base::Value>* value,
154 Timeout* timeout);
137 155
138 // Double-clicks at the current mouse coordinates (set by last moveto). 156 // Double-clicks at the current mouse coordinates (set by last moveto).
139 Status ExecuteMouseDoubleClick(Session* session, 157 Status ExecuteMouseDoubleClick(Session* session,
140 WebView* web_view, 158 WebView* web_view,
141 const base::DictionaryValue& params, 159 const base::DictionaryValue& params,
142 std::unique_ptr<base::Value>* value); 160 std::unique_ptr<base::Value>* value,
161 Timeout* timeout);
143 162
144 // Touch press at a given coordinate. 163 // Touch press at a given coordinate.
145 Status ExecuteTouchDown(Session* session, 164 Status ExecuteTouchDown(Session* session,
146 WebView* web_view, 165 WebView* web_view,
147 const base::DictionaryValue& params, 166 const base::DictionaryValue& params,
148 std::unique_ptr<base::Value>* value); 167 std::unique_ptr<base::Value>* value,
168 Timeout* timeout);
149 169
150 // Touch release at a given coordinate. 170 // Touch release at a given coordinate.
151 Status ExecuteTouchUp(Session* session, 171 Status ExecuteTouchUp(Session* session,
152 WebView* web_view, 172 WebView* web_view,
153 const base::DictionaryValue& params, 173 const base::DictionaryValue& params,
154 std::unique_ptr<base::Value>* value); 174 std::unique_ptr<base::Value>* value,
175 Timeout* timeout);
155 176
156 // Touch move at a given coordinate. 177 // Touch move at a given coordinate.
157 Status ExecuteTouchMove(Session* session, 178 Status ExecuteTouchMove(Session* session,
158 WebView* web_view, 179 WebView* web_view,
159 const base::DictionaryValue& params, 180 const base::DictionaryValue& params,
160 std::unique_ptr<base::Value>* value); 181 std::unique_ptr<base::Value>* value,
182 Timeout* timeout);
161 183
162 // Do a swipe (scroll) gesture beginning at the element. 184 // Do a swipe (scroll) gesture beginning at the element.
163 Status ExecuteTouchScroll(Session* session, 185 Status ExecuteTouchScroll(Session* session,
164 WebView* web_view, 186 WebView* web_view,
165 const base::DictionaryValue& params, 187 const base::DictionaryValue& params,
166 std::unique_ptr<base::Value>* value); 188 std::unique_ptr<base::Value>* value,
189 Timeout* timeout);
167 190
168 Status ExecuteTouchPinch(Session* session, 191 Status ExecuteTouchPinch(Session* session,
169 WebView* web_view, 192 WebView* web_view,
170 const base::DictionaryValue& params, 193 const base::DictionaryValue& params,
171 std::unique_ptr<base::Value>* value); 194 std::unique_ptr<base::Value>* value,
195 Timeout* timeout);
172 196
173 Status ExecuteGetActiveElement(Session* session, 197 Status ExecuteGetActiveElement(Session* session,
174 WebView* web_view, 198 WebView* web_view,
175 const base::DictionaryValue& params, 199 const base::DictionaryValue& params,
176 std::unique_ptr<base::Value>* value); 200 std::unique_ptr<base::Value>* value,
201 Timeout* timeout);
177 202
178 // Send a sequence of key strokes to the active element. 203 // Send a sequence of key strokes to the active element.
179 Status ExecuteSendKeysToActiveElement(Session* session, 204 Status ExecuteSendKeysToActiveElement(Session* session,
180 WebView* web_view, 205 WebView* web_view,
181 const base::DictionaryValue& params, 206 const base::DictionaryValue& params,
182 std::unique_ptr<base::Value>* value); 207 std::unique_ptr<base::Value>* value,
208 Timeout* timeout);
183 209
184 // Gets the status of the application cache (window.applicationCache.status). 210 // Gets the status of the application cache (window.applicationCache.status).
185 Status ExecuteGetAppCacheStatus(Session* session, 211 Status ExecuteGetAppCacheStatus(Session* session,
186 WebView* web_view, 212 WebView* web_view,
187 const base::DictionaryValue& params, 213 const base::DictionaryValue& params,
188 std::unique_ptr<base::Value>* value); 214 std::unique_ptr<base::Value>* value,
215 Timeout* timeout);
189 216
190 Status ExecuteIsBrowserOnline(Session* session, 217 Status ExecuteIsBrowserOnline(Session* session,
191 WebView* web_view, 218 WebView* web_view,
192 const base::DictionaryValue& params, 219 const base::DictionaryValue& params,
193 std::unique_ptr<base::Value>* value); 220 std::unique_ptr<base::Value>* value,
221 Timeout* timeout);
194 222
195 Status ExecuteGetStorageItem(const char* storage, 223 Status ExecuteGetStorageItem(const char* storage,
196 Session* session, 224 Session* session,
197 WebView* web_view, 225 WebView* web_view,
198 const base::DictionaryValue& params, 226 const base::DictionaryValue& params,
199 std::unique_ptr<base::Value>* value); 227 std::unique_ptr<base::Value>* value,
228 Timeout* timeout);
200 229
201 Status ExecuteGetStorageKeys(const char* storage, 230 Status ExecuteGetStorageKeys(const char* storage,
202 Session* session, 231 Session* session,
203 WebView* web_view, 232 WebView* web_view,
204 const base::DictionaryValue& params, 233 const base::DictionaryValue& params,
205 std::unique_ptr<base::Value>* value); 234 std::unique_ptr<base::Value>* value,
235 Timeout* timeout);
206 236
207 Status ExecuteSetStorageItem(const char* storage, 237 Status ExecuteSetStorageItem(const char* storage,
208 Session* session, 238 Session* session,
209 WebView* web_view, 239 WebView* web_view,
210 const base::DictionaryValue& params, 240 const base::DictionaryValue& params,
211 std::unique_ptr<base::Value>* value); 241 std::unique_ptr<base::Value>* value,
242 Timeout* timeout);
212 243
213 Status ExecuteRemoveStorageItem(const char* storage, 244 Status ExecuteRemoveStorageItem(const char* storage,
214 Session* session, 245 Session* session,
215 WebView* web_view, 246 WebView* web_view,
216 const base::DictionaryValue& params, 247 const base::DictionaryValue& params,
217 std::unique_ptr<base::Value>* value); 248 std::unique_ptr<base::Value>* value,
249 Timeout* timeout);
218 250
219 Status ExecuteClearStorage(const char* storage, 251 Status ExecuteClearStorage(const char* storage,
220 Session* session, 252 Session* session,
221 WebView* web_view, 253 WebView* web_view,
222 const base::DictionaryValue& params, 254 const base::DictionaryValue& params,
223 std::unique_ptr<base::Value>* value); 255 std::unique_ptr<base::Value>* value,
256 Timeout* timeout);
224 257
225 Status ExecuteGetStorageSize(const char* storage, 258 Status ExecuteGetStorageSize(const char* storage,
226 Session* session, 259 Session* session,
227 WebView* web_view, 260 WebView* web_view,
228 const base::DictionaryValue& params, 261 const base::DictionaryValue& params,
229 std::unique_ptr<base::Value>* value); 262 std::unique_ptr<base::Value>* value,
263 Timeout* timeout);
230 264
231 Status ExecuteScreenshot(Session* session, 265 Status ExecuteScreenshot(Session* session,
232 WebView* web_view, 266 WebView* web_view,
233 const base::DictionaryValue& params, 267 const base::DictionaryValue& params,
234 std::unique_ptr<base::Value>* value); 268 std::unique_ptr<base::Value>* value,
269 Timeout* timeout);
235 270
236 // Retrieve all cookies visible to the current page. 271 // Retrieve all cookies visible to the current page.
237 Status ExecuteGetCookies(Session* session, 272 Status ExecuteGetCookies(Session* session,
238 WebView* web_view, 273 WebView* web_view,
239 const base::DictionaryValue& params, 274 const base::DictionaryValue& params,
240 std::unique_ptr<base::Value>* value); 275 std::unique_ptr<base::Value>* value,
276 Timeout* timeout);
241 277
242 // Set a cookie. If the cookie path is not specified, it should be set to "/". 278 // Set a cookie. If the cookie path is not specified, it should be set to "/".
243 // If the domain is omitted, it should default to the current page's domain. 279 // If the domain is omitted, it should default to the current page's domain.
244 Status ExecuteAddCookie(Session* session, 280 Status ExecuteAddCookie(Session* session,
245 WebView* web_view, 281 WebView* web_view,
246 const base::DictionaryValue& params, 282 const base::DictionaryValue& params,
247 std::unique_ptr<base::Value>* value); 283 std::unique_ptr<base::Value>* value,
284 Timeout* timeout);
248 285
249 // Delete the cookie with the given name if it exists in the current page. 286 // Delete the cookie with the given name if it exists in the current page.
250 Status ExecuteDeleteCookie(Session* session, 287 Status ExecuteDeleteCookie(Session* session,
251 WebView* web_view, 288 WebView* web_view,
252 const base::DictionaryValue& params, 289 const base::DictionaryValue& params,
253 std::unique_ptr<base::Value>* value); 290 std::unique_ptr<base::Value>* value,
291 Timeout* timeout);
254 292
255 // Delete all cookies visible to the current page. 293 // Delete all cookies visible to the current page.
256 Status ExecuteDeleteAllCookies(Session* session, 294 Status ExecuteDeleteAllCookies(Session* session,
257 WebView* web_view, 295 WebView* web_view,
258 const base::DictionaryValue& params, 296 const base::DictionaryValue& params,
259 std::unique_ptr<base::Value>* value); 297 std::unique_ptr<base::Value>* value,
298 Timeout* timeout);
260 299
261 Status ExecuteSetLocation(Session* session, 300 Status ExecuteSetLocation(Session* session,
262 WebView* web_view, 301 WebView* web_view,
263 const base::DictionaryValue& params, 302 const base::DictionaryValue& params,
264 std::unique_ptr<base::Value>* value); 303 std::unique_ptr<base::Value>* value,
304 Timeout* timeout);
265 305
266 Status ExecuteSetNetworkConditions(Session* session, 306 Status ExecuteSetNetworkConditions(Session* session,
267 WebView* web_view, 307 WebView* web_view,
268 const base::DictionaryValue& params, 308 const base::DictionaryValue& params,
269 std::unique_ptr<base::Value>* value); 309 std::unique_ptr<base::Value>* value,
310 Timeout* timeout);
270 311
271 Status ExecuteDeleteNetworkConditions(Session* session, 312 Status ExecuteDeleteNetworkConditions(Session* session,
272 WebView* web_view, 313 WebView* web_view,
273 const base::DictionaryValue& params, 314 const base::DictionaryValue& params,
274 std::unique_ptr<base::Value>* value); 315 std::unique_ptr<base::Value>* value,
316 Timeout* timeout);
275 317
276 Status ExecuteTakeHeapSnapshot(Session* session, 318 Status ExecuteTakeHeapSnapshot(Session* session,
277 WebView* web_view, 319 WebView* web_view,
278 const base::DictionaryValue& params, 320 const base::DictionaryValue& params,
279 std::unique_ptr<base::Value>* value); 321 std::unique_ptr<base::Value>* value,
322 Timeout* timeout);
280 323
281 #endif // CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_ 324 #endif // CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/test/webserver.py ('k') | chrome/test/chromedriver/window_commands.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698