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

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: Created 4 years, 10 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
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 <string> 8 #include <string>
9 9
10 #include "base/callback_forward.h" 10 #include "base/callback_forward.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.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( 23 typedef base::Callback<Status(
23 Session* session, 24 Session* session,
24 WebView* web_view, 25 WebView* web_view,
25 const base::DictionaryValue&, 26 const base::DictionaryValue&,
26 scoped_ptr<base::Value>*)> WindowCommand; 27 scoped_ptr<base::Value>*,
28 Timeout*)> WindowCommand;
27 29
28 // Execute a Window Command on the target window. 30 // Execute a Window Command on the target window.
29 Status ExecuteWindowCommand( 31 Status ExecuteWindowCommand(
30 const WindowCommand& command, 32 const WindowCommand& command,
31 Session* session, 33 Session* session,
32 const base::DictionaryValue& params, 34 const base::DictionaryValue& params,
33 scoped_ptr<base::Value>* value); 35 scoped_ptr<base::Value>* value);
34 36
35 // Loads a URL. 37 // Loads a URL.
36 Status ExecuteGet( 38 Status ExecuteGet(
37 Session* session, 39 Session* session,
38 WebView* web_view, 40 WebView* web_view,
39 const base::DictionaryValue& params, 41 const base::DictionaryValue& params,
40 scoped_ptr<base::Value>* value); 42 scoped_ptr<base::Value>* value,
43 Timeout* timeout);
41 44
42 // Evaluates a given synchronous script with arguments. 45 // Evaluates a given synchronous script with arguments.
43 Status ExecuteExecuteScript( 46 Status ExecuteExecuteScript(
44 Session* session, 47 Session* session,
45 WebView* web_view, 48 WebView* web_view,
46 const base::DictionaryValue& params, 49 const base::DictionaryValue& params,
47 scoped_ptr<base::Value>* value); 50 scoped_ptr<base::Value>* value,
51 Timeout* timeout);
48 52
49 // Evaluates a given asynchronous script with arguments. 53 // Evaluates a given asynchronous script with arguments.
50 Status ExecuteExecuteAsyncScript( 54 Status ExecuteExecuteAsyncScript(
51 Session* session, 55 Session* session,
52 WebView* web_view, 56 WebView* web_view,
53 const base::DictionaryValue& params, 57 const base::DictionaryValue& params,
54 scoped_ptr<base::Value>* value); 58 scoped_ptr<base::Value>* value,
59 Timeout* timeout);
55 60
56 // Changes the targeted frame for the given session. 61 // Changes the targeted frame for the given session.
57 Status ExecuteSwitchToFrame( 62 Status ExecuteSwitchToFrame(
58 Session* session, 63 Session* session,
59 WebView* web_view, 64 WebView* web_view,
60 const base::DictionaryValue& params, 65 const base::DictionaryValue& params,
61 scoped_ptr<base::Value>* value); 66 scoped_ptr<base::Value>* value,
67 Timeout* timeout);
62 68
63 // Change focus to the parent frame. 69 // Change focus to the parent frame.
64 Status ExecuteSwitchToParentFrame( 70 Status ExecuteSwitchToParentFrame(
65 Session* session, 71 Session* session,
66 WebView* web_view, 72 WebView* web_view,
67 const base::DictionaryValue& params, 73 const base::DictionaryValue& params,
68 scoped_ptr<base::Value>* value); 74 scoped_ptr<base::Value>* value,
75 Timeout* timeout);
69 76
70 // Get the current page title. 77 // Get the current page title.
71 Status ExecuteGetTitle( 78 Status ExecuteGetTitle(
72 Session* session, 79 Session* session,
73 WebView* web_view, 80 WebView* web_view,
74 const base::DictionaryValue& params, 81 const base::DictionaryValue& params,
75 scoped_ptr<base::Value>* value); 82 scoped_ptr<base::Value>* value,
83 Timeout* timeout);
76 84
77 // Get the current page source. 85 // Get the current page source.
78 Status ExecuteGetPageSource( 86 Status ExecuteGetPageSource(
79 Session* session, 87 Session* session,
80 WebView* web_view, 88 WebView* web_view,
81 const base::DictionaryValue& params, 89 const base::DictionaryValue& params,
82 scoped_ptr<base::Value>* value); 90 scoped_ptr<base::Value>* value,
91 Timeout* timeout);
83 92
84 // Search for an element on the page, starting from the document root. 93 // Search for an element on the page, starting from the document root.
85 Status ExecuteFindElement( 94 Status ExecuteFindElement(
86 int interval_ms, 95 int interval_ms,
87 Session* session, 96 Session* session,
88 WebView* web_view, 97 WebView* web_view,
89 const base::DictionaryValue& params, 98 const base::DictionaryValue& params,
90 scoped_ptr<base::Value>* value); 99 scoped_ptr<base::Value>* value,
100 Timeout* timeout);
91 101
92 // Search for multiple elements on the page, starting from the document root. 102 // Search for multiple elements on the page, starting from the document root.
93 Status ExecuteFindElements( 103 Status ExecuteFindElements(
94 int interval_ms, 104 int interval_ms,
95 Session* session, 105 Session* session,
96 WebView* web_view, 106 WebView* web_view,
97 const base::DictionaryValue& params, 107 const base::DictionaryValue& params,
98 scoped_ptr<base::Value>* value); 108 scoped_ptr<base::Value>* value,
109 Timeout* timeout);
99 110
100 // Get the current page url. 111 // Get the current page url.
101 Status ExecuteGetCurrentUrl( 112 Status ExecuteGetCurrentUrl(
102 Session* session, 113 Session* session,
103 WebView* web_view, 114 WebView* web_view,
104 const base::DictionaryValue& params, 115 const base::DictionaryValue& params,
105 scoped_ptr<base::Value>* value); 116 scoped_ptr<base::Value>* value,
117 Timeout* timeout);
106 118
107 // Navigate backward in the browser history. 119 // Navigate backward in the browser history.
108 Status ExecuteGoBack( 120 Status ExecuteGoBack(
109 Session* session, 121 Session* session,
110 WebView* web_view, 122 WebView* web_view,
111 const base::DictionaryValue& params, 123 const base::DictionaryValue& params,
112 scoped_ptr<base::Value>* value); 124 scoped_ptr<base::Value>* value,
125 Timeout* timeout);
113 126
114 // Navigate forward in the browser history. 127 // Navigate forward in the browser history.
115 Status ExecuteGoForward( 128 Status ExecuteGoForward(
116 Session* session, 129 Session* session,
117 WebView* web_view, 130 WebView* web_view,
118 const base::DictionaryValue& params, 131 const base::DictionaryValue& params,
119 scoped_ptr<base::Value>* value); 132 scoped_ptr<base::Value>* value,
133 Timeout* timeout);
120 134
121 // Refresh the current page. 135 // Refresh the current page.
122 Status ExecuteRefresh( 136 Status ExecuteRefresh(
123 Session* session, 137 Session* session,
124 WebView* web_view, 138 WebView* web_view,
125 const base::DictionaryValue& params, 139 const base::DictionaryValue& params,
126 scoped_ptr<base::Value>* value); 140 scoped_ptr<base::Value>* value,
141 Timeout* timeout);
127 142
128 // Move the mouse by an offset of the element if specified . 143 // Move the mouse by an offset of the element if specified .
129 Status ExecuteMouseMoveTo( 144 Status ExecuteMouseMoveTo(
130 Session* session, 145 Session* session,
131 WebView* web_view, 146 WebView* web_view,
132 const base::DictionaryValue& params, 147 const base::DictionaryValue& params,
133 scoped_ptr<base::Value>* value); 148 scoped_ptr<base::Value>* value,
149 Timeout* timeout);
134 150
135 // Click a mouse button at the coordinates set by the last moveto. 151 // Click a mouse button at the coordinates set by the last moveto.
136 Status ExecuteMouseClick( 152 Status ExecuteMouseClick(
137 Session* session, 153 Session* session,
138 WebView* web_view, 154 WebView* web_view,
139 const base::DictionaryValue& params, 155 const base::DictionaryValue& params,
140 scoped_ptr<base::Value>* value); 156 scoped_ptr<base::Value>* value,
157 Timeout* timeout);
141 158
142 // Click and hold a mouse button at the coordinates set by the last moveto. 159 // Click and hold a mouse button at the coordinates set by the last moveto.
143 Status ExecuteMouseButtonDown( 160 Status ExecuteMouseButtonDown(
144 Session* session, 161 Session* session,
145 WebView* web_view, 162 WebView* web_view,
146 const base::DictionaryValue& params, 163 const base::DictionaryValue& params,
147 scoped_ptr<base::Value>* value); 164 scoped_ptr<base::Value>* value,
165 Timeout* timeout);
148 166
149 // Releases the mouse button previously held (where the mouse is currently at). 167 // Releases the mouse button previously held (where the mouse is currently at).
150 Status ExecuteMouseButtonUp( 168 Status ExecuteMouseButtonUp(
151 Session* session, 169 Session* session,
152 WebView* web_view, 170 WebView* web_view,
153 const base::DictionaryValue& params, 171 const base::DictionaryValue& params,
154 scoped_ptr<base::Value>* value); 172 scoped_ptr<base::Value>* value,
173 Timeout* timeout);
155 174
156 // Double-clicks at the current mouse coordinates (set by last moveto). 175 // Double-clicks at the current mouse coordinates (set by last moveto).
157 Status ExecuteMouseDoubleClick( 176 Status ExecuteMouseDoubleClick(
158 Session* session, 177 Session* session,
159 WebView* web_view, 178 WebView* web_view,
160 const base::DictionaryValue& params, 179 const base::DictionaryValue& params,
161 scoped_ptr<base::Value>* value); 180 scoped_ptr<base::Value>* value,
181 Timeout* timeout);
162 182
163 // Touch press at a given coordinate. 183 // Touch press at a given coordinate.
164 Status ExecuteTouchDown( 184 Status ExecuteTouchDown(
165 Session* session, 185 Session* session,
166 WebView* web_view, 186 WebView* web_view,
167 const base::DictionaryValue& params, 187 const base::DictionaryValue& params,
168 scoped_ptr<base::Value>* value); 188 scoped_ptr<base::Value>* value,
189 Timeout* timeout);
169 190
170 // Touch release at a given coordinate. 191 // Touch release at a given coordinate.
171 Status ExecuteTouchUp( 192 Status ExecuteTouchUp(
172 Session* session, 193 Session* session,
173 WebView* web_view, 194 WebView* web_view,
174 const base::DictionaryValue& params, 195 const base::DictionaryValue& params,
175 scoped_ptr<base::Value>* value); 196 scoped_ptr<base::Value>* value,
197 Timeout* timeout);
176 198
177 // Touch move at a given coordinate. 199 // Touch move at a given coordinate.
178 Status ExecuteTouchMove( 200 Status ExecuteTouchMove(
179 Session* session, 201 Session* session,
180 WebView* web_view, 202 WebView* web_view,
181 const base::DictionaryValue& params, 203 const base::DictionaryValue& params,
182 scoped_ptr<base::Value>* value); 204 scoped_ptr<base::Value>* value,
205 Timeout* timeout);
183 206
184 // Do a swipe (scroll) gesture beginning at the element. 207 // Do a swipe (scroll) gesture beginning at the element.
185 Status ExecuteTouchScroll( 208 Status ExecuteTouchScroll(
186 Session *session, 209 Session *session,
187 WebView* web_view, 210 WebView* web_view,
188 const base::DictionaryValue& params, 211 const base::DictionaryValue& params,
189 scoped_ptr<base::Value>* value); 212 scoped_ptr<base::Value>* value,
213 Timeout* timeout);
190 214
191 Status ExecuteTouchPinch( 215 Status ExecuteTouchPinch(
192 Session* session, 216 Session* session,
193 WebView* web_view, 217 WebView* web_view,
194 const base::DictionaryValue& params, 218 const base::DictionaryValue& params,
195 scoped_ptr<base::Value>* value); 219 scoped_ptr<base::Value>* value,
220 Timeout* timeout);
196 221
197 Status ExecuteGetActiveElement( 222 Status ExecuteGetActiveElement(
198 Session* session, 223 Session* session,
199 WebView* web_view, 224 WebView* web_view,
200 const base::DictionaryValue& params, 225 const base::DictionaryValue& params,
201 scoped_ptr<base::Value>* value); 226 scoped_ptr<base::Value>* value,
227 Timeout* timeout);
202 228
203 // Send a sequence of key strokes to the active element. 229 // Send a sequence of key strokes to the active element.
204 Status ExecuteSendKeysToActiveElement( 230 Status ExecuteSendKeysToActiveElement(
205 Session* session, 231 Session* session,
206 WebView* web_view, 232 WebView* web_view,
207 const base::DictionaryValue& params, 233 const base::DictionaryValue& params,
208 scoped_ptr<base::Value>* value); 234 scoped_ptr<base::Value>* value,
235 Timeout* timeout);
209 236
210 // Gets the status of the application cache (window.applicationCache.status). 237 // Gets the status of the application cache (window.applicationCache.status).
211 Status ExecuteGetAppCacheStatus( 238 Status ExecuteGetAppCacheStatus(
212 Session* session, 239 Session* session,
213 WebView* web_view, 240 WebView* web_view,
214 const base::DictionaryValue& params, 241 const base::DictionaryValue& params,
215 scoped_ptr<base::Value>* value); 242 scoped_ptr<base::Value>* value,
243 Timeout* timeout);
216 244
217 Status ExecuteIsBrowserOnline( 245 Status ExecuteIsBrowserOnline(
218 Session* session, 246 Session* session,
219 WebView* web_view, 247 WebView* web_view,
220 const base::DictionaryValue& params, 248 const base::DictionaryValue& params,
221 scoped_ptr<base::Value>* value); 249 scoped_ptr<base::Value>* value,
250 Timeout* timeout);
222 251
223 Status ExecuteGetStorageItem( 252 Status ExecuteGetStorageItem(
224 const char* storage, 253 const char* storage,
225 Session* session, 254 Session* session,
226 WebView* web_view, 255 WebView* web_view,
227 const base::DictionaryValue& params, 256 const base::DictionaryValue& params,
228 scoped_ptr<base::Value>* value); 257 scoped_ptr<base::Value>* value,
258 Timeout* timeout);
229 259
230 Status ExecuteGetStorageKeys( 260 Status ExecuteGetStorageKeys(
231 const char* storage, 261 const char* storage,
232 Session* session, 262 Session* session,
233 WebView* web_view, 263 WebView* web_view,
234 const base::DictionaryValue& params, 264 const base::DictionaryValue& params,
235 scoped_ptr<base::Value>* value); 265 scoped_ptr<base::Value>* value,
266 Timeout* timeout);
236 267
237 Status ExecuteSetStorageItem( 268 Status ExecuteSetStorageItem(
238 const char* storage, 269 const char* storage,
239 Session* session, 270 Session* session,
240 WebView* web_view, 271 WebView* web_view,
241 const base::DictionaryValue& params, 272 const base::DictionaryValue& params,
242 scoped_ptr<base::Value>* value); 273 scoped_ptr<base::Value>* value,
274 Timeout* timeout);
243 275
244 Status ExecuteRemoveStorageItem( 276 Status ExecuteRemoveStorageItem(
245 const char* storage, 277 const char* storage,
246 Session* session, 278 Session* session,
247 WebView* web_view, 279 WebView* web_view,
248 const base::DictionaryValue& params, 280 const base::DictionaryValue& params,
249 scoped_ptr<base::Value>* value); 281 scoped_ptr<base::Value>* value,
282 Timeout* timeout);
250 283
251 Status ExecuteClearStorage( 284 Status ExecuteClearStorage(
252 const char* storage, 285 const char* storage,
253 Session* session, 286 Session* session,
254 WebView* web_view, 287 WebView* web_view,
255 const base::DictionaryValue& params, 288 const base::DictionaryValue& params,
256 scoped_ptr<base::Value>* value); 289 scoped_ptr<base::Value>* value,
290 Timeout* timeout);
257 291
258 Status ExecuteGetStorageSize( 292 Status ExecuteGetStorageSize(
259 const char* storage, 293 const char* storage,
260 Session* session, 294 Session* session,
261 WebView* web_view, 295 WebView* web_view,
262 const base::DictionaryValue& params, 296 const base::DictionaryValue& params,
263 scoped_ptr<base::Value>* value); 297 scoped_ptr<base::Value>* value,
298 Timeout* timeout);
264 299
265 Status ExecuteScreenshot( 300 Status ExecuteScreenshot(
266 Session* session, 301 Session* session,
267 WebView* web_view, 302 WebView* web_view,
268 const base::DictionaryValue& params, 303 const base::DictionaryValue& params,
269 scoped_ptr<base::Value>* value); 304 scoped_ptr<base::Value>* value,
305 Timeout* timeout);
270 306
271 // Retrieve all cookies visible to the current page. 307 // Retrieve all cookies visible to the current page.
272 Status ExecuteGetCookies( 308 Status ExecuteGetCookies(
273 Session* session, 309 Session* session,
274 WebView* web_view, 310 WebView* web_view,
275 const base::DictionaryValue& params, 311 const base::DictionaryValue& params,
276 scoped_ptr<base::Value>* value); 312 scoped_ptr<base::Value>* value,
313 Timeout* timeout);
277 314
278 // Set a cookie. If the cookie path is not specified, it should be set to "/". 315 // Set a cookie. If the cookie path is not specified, it should be set to "/".
279 // If the domain is omitted, it should default to the current page's domain. 316 // If the domain is omitted, it should default to the current page's domain.
280 Status ExecuteAddCookie( 317 Status ExecuteAddCookie(
281 Session* session, 318 Session* session,
282 WebView* web_view, 319 WebView* web_view,
283 const base::DictionaryValue& params, 320 const base::DictionaryValue& params,
284 scoped_ptr<base::Value>* value); 321 scoped_ptr<base::Value>* value,
322 Timeout* timeout);
285 323
286 // Delete the cookie with the given name if it exists in the current page. 324 // Delete the cookie with the given name if it exists in the current page.
287 Status ExecuteDeleteCookie( 325 Status ExecuteDeleteCookie(
288 Session* session, 326 Session* session,
289 WebView* web_view, 327 WebView* web_view,
290 const base::DictionaryValue& params, 328 const base::DictionaryValue& params,
291 scoped_ptr<base::Value>* value); 329 scoped_ptr<base::Value>* value,
330 Timeout* timeout);
292 331
293 // Delete all cookies visible to the current page. 332 // Delete all cookies visible to the current page.
294 Status ExecuteDeleteAllCookies( 333 Status ExecuteDeleteAllCookies(
295 Session* session, 334 Session* session,
296 WebView* web_view, 335 WebView* web_view,
297 const base::DictionaryValue& params, 336 const base::DictionaryValue& params,
298 scoped_ptr<base::Value>* value); 337 scoped_ptr<base::Value>* value,
338 Timeout* timeout);
299 339
300 Status ExecuteSetLocation( 340 Status ExecuteSetLocation(
301 Session* session, 341 Session* session,
302 WebView* web_view, 342 WebView* web_view,
303 const base::DictionaryValue& params, 343 const base::DictionaryValue& params,
304 scoped_ptr<base::Value>* value); 344 scoped_ptr<base::Value>* value,
345 Timeout* timeout);
305 346
306 Status ExecuteSetNetworkConditions( 347 Status ExecuteSetNetworkConditions(
307 Session* session, 348 Session* session,
308 WebView* web_view, 349 WebView* web_view,
309 const base::DictionaryValue& params, 350 const base::DictionaryValue& params,
310 scoped_ptr<base::Value>* value); 351 scoped_ptr<base::Value>* value,
352 Timeout* timeout);
311 353
312 Status ExecuteDeleteNetworkConditions( 354 Status ExecuteDeleteNetworkConditions(
313 Session* session, 355 Session* session,
314 WebView* web_view, 356 WebView* web_view,
315 const base::DictionaryValue& params, 357 const base::DictionaryValue& params,
316 scoped_ptr<base::Value>* value); 358 scoped_ptr<base::Value>* value,
359 Timeout* timeout);
317 360
318 Status ExecuteTakeHeapSnapshot( 361 Status ExecuteTakeHeapSnapshot(
319 Session* session, 362 Session* session,
320 WebView* web_view, 363 WebView* web_view,
321 const base::DictionaryValue& params, 364 const base::DictionaryValue& params,
322 scoped_ptr<base::Value>* value); 365 scoped_ptr<base::Value>* value,
366 Timeout* timeout);
323 367
324 #endif // CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_ 368 #endif // CHROME_TEST_CHROMEDRIVER_WINDOW_COMMANDS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698