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_SESSION_COMMANDS_H_ 6#define CHROME_TEST_CHROMEDRIVER_SESSION_COMMANDS_H_ 7 8#include <string> 9 10#include "base/callback_forward.h" 11#include "base/memory/scoped_ptr.h" 12#include "chrome/test/chromedriver/command.h" 13#include "chrome/test/chromedriver/session_thread_map.h" 14 15namespace base { 16class DictionaryValue; 17class Value; 18} 19 20struct Session; 21class Status; 22 23// Quits a session. 24Status ExecuteQuit( 25 bool allow_detach, 26 Session* session, 27 const base::DictionaryValue& params, 28 scoped_ptr<base::Value>* value); 29 30// Gets the capabilities of a particular session. 31Status ExecuteGetSessionCapabilities( 32 Session* session, 33 const base::DictionaryValue& params, 34 scoped_ptr<base::Value>* value); 35 36// Retrieve the handle of the target window. 37Status ExecuteGetCurrentWindowHandle( 38 Session* session, 39 const base::DictionaryValue& params, 40 scoped_ptr<base::Value>* value); 41 42// Close the target window. 43Status ExecuteClose( 44 Session* session, 45 const base::DictionaryValue& params, 46 scoped_ptr<base::Value>* value); 47 48// Retrieve the list of all window handles available to the session. 49Status ExecuteGetWindowHandles( 50 Session* session, 51 const base::DictionaryValue& params, 52 scoped_ptr<base::Value>* value); 53 54// Change target window to another. The window to target at may be specified by 55// its server assigned window handle, or by the value of its name attribute. 56Status ExecuteSwitchToWindow( 57 Session* session, 58 const base::DictionaryValue& params, 59 scoped_ptr<base::Value>* value); 60 61// Configure the amount of time that a particular type of operation can execute 62// for before they are aborted and a timeout error is returned to the client. 63Status ExecuteSetTimeout( 64 Session* session, 65 const base::DictionaryValue& params, 66 scoped_ptr<base::Value>* value); 67 68// Set the timeout for asynchronous scripts. 69Status ExecuteSetScriptTimeout( 70 Session* session, 71 const base::DictionaryValue& params, 72 scoped_ptr<base::Value>* value); 73 74// Set the amount of time the driver should wait when searching for elements. 75Status ExecuteImplicitlyWait( 76 Session* session, 77 const base::DictionaryValue& params, 78 scoped_ptr<base::Value>* value); 79 80Status ExecuteIsLoading( 81 Session* session, 82 const base::DictionaryValue& params, 83 scoped_ptr<base::Value>* value); 84 85Status ExecuteGetLocation( 86 Session* session, 87 const base::DictionaryValue& params, 88 scoped_ptr<base::Value>* value); 89 90Status ExecuteGetWindowPosition( 91 Session* session, 92 const base::DictionaryValue& params, 93 scoped_ptr<base::Value>* value); 94 95Status ExecuteSetWindowPosition( 96 Session* session, 97 const base::DictionaryValue& params, 98 scoped_ptr<base::Value>* value); 99 100Status ExecuteGetWindowSize( 101 Session* session, 102 const base::DictionaryValue& params, 103 scoped_ptr<base::Value>* value); 104 105Status ExecuteSetWindowSize( 106 Session* session, 107 const base::DictionaryValue& params, 108 scoped_ptr<base::Value>* value); 109 110Status ExecuteMaximizeWindow( 111 Session* session, 112 const base::DictionaryValue& params, 113 scoped_ptr<base::Value>* value); 114 115Status ExecuteGetAvailableLogTypes( 116 Session* session, 117 const base::DictionaryValue& params, 118 scoped_ptr<base::Value>* value); 119 120Status ExecuteGetLog( 121 Session* session, 122 const base::DictionaryValue& params, 123 scoped_ptr<base::Value>* value); 124 125Status ExecuteUploadFile( 126 Session* session, 127 const base::DictionaryValue& params, 128 scoped_ptr<base::Value>* value); 129 130#endif // CHROME_TEST_CHROMEDRIVER_SESSION_COMMANDS_H_ 131