1 // Copyright (c) 2011 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_WEBDRIVER_COMMANDS_EXECUTE_ASYNC_SCRIPT_COMMAND_H_ 6 #define CHROME_TEST_WEBDRIVER_COMMANDS_EXECUTE_ASYNC_SCRIPT_COMMAND_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "chrome/test/webdriver/commands/webdriver_command.h" 12 13 namespace base { 14 class DictionaryValue; 15 } 16 17 namespace webdriver { 18 19 class Response; 20 21 // Inject a snippet of javascript into the page and return its result. 22 // WebElements that should be passed to the script as an argument should be 23 // specified in the arguments array as WebElement JSON arguments. Likewise, 24 // any WebElements in the script result will be returned to the client as 25 // WebElement JSON objects. 26 class ExecuteAsyncScriptCommand : public WebDriverCommand { 27 public: 28 ExecuteAsyncScriptCommand(const std::vector<std::string>& path_segments, 29 const base::DictionaryValue* const parameters); 30 virtual ~ExecuteAsyncScriptCommand(); 31 32 virtual bool DoesPost() OVERRIDE; 33 virtual void ExecutePost(Response* const response) OVERRIDE; 34 35 private: 36 DISALLOW_COPY_AND_ASSIGN(ExecuteAsyncScriptCommand); 37 }; 38 39 } // namespace webdriver 40 41 #endif // CHROME_TEST_WEBDRIVER_COMMANDS_EXECUTE_ASYNC_SCRIPT_COMMAND_H_ 42