OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_WEBDRIVER_COMMANDS_EXECUTE_COMMAND_H_ | 5 #ifndef CHROME_TEST_WEBDRIVER_COMMANDS_EXECUTE_COMMAND_H_ |
6 #define CHROME_TEST_WEBDRIVER_COMMANDS_EXECUTE_COMMAND_H_ | 6 #define CHROME_TEST_WEBDRIVER_COMMANDS_EXECUTE_COMMAND_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "chrome/test/webdriver/commands/webdriver_command.h" | 11 #include "chrome/test/webdriver/commands/webdriver_command.h" |
12 | 12 |
13 namespace webdriver { | 13 namespace webdriver { |
14 | 14 |
15 // Inject a snippet of javascript into the page and return its result. | 15 // Inject a snippet of javascript into the page and return its result. |
16 // WebElements that should be passed to the script as an argument should be | 16 // WebElements that should be passed to the script as an argument should be |
17 // specified in the arguments array as WebElement JSON arguments. Likewise, | 17 // specified in the arguments array as WebElement JSON arguments. Likewise, |
18 // any WebElements in the script result will be returned to the client as | 18 // any WebElements in the script result will be returned to the client as |
19 // WebElement JSON objects. See: | 19 // WebElement JSON objects. See: |
20 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e
xecute | 20 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e
xecute |
21 class ExecuteCommand : public WebDriverCommand { | 21 class ExecuteCommand : public WebDriverCommand { |
22 public: | 22 public: |
23 ExecuteCommand(const std::vector<std::string>& path_segments, | 23 ExecuteCommand(const std::vector<std::string>& path_segments, |
24 const DictionaryValue* const parameters) | 24 const DictionaryValue* const parameters); |
25 : WebDriverCommand(path_segments, parameters) {} | 25 virtual ~ExecuteCommand(); |
26 virtual ~ExecuteCommand() {} | |
27 | 26 |
28 virtual bool Init(Response* const response); | 27 virtual bool Init(Response* const response); |
29 | 28 |
30 virtual bool DoesPost() { return true; } | 29 virtual bool DoesPost(); |
31 virtual void ExecutePost(Response* const response); | 30 virtual void ExecutePost(Response* const response); |
32 | 31 |
33 private: | 32 private: |
| 33 virtual bool RequiresValidTab(); |
| 34 |
34 std::string script_; | 35 std::string script_; |
35 bool has_args_; | 36 bool has_args_; |
36 std::string args_; | 37 std::string args_; |
37 virtual bool RequiresValidTab() { return true; } | |
38 | 38 |
39 DISALLOW_COPY_AND_ASSIGN(ExecuteCommand); | 39 DISALLOW_COPY_AND_ASSIGN(ExecuteCommand); |
40 }; | 40 }; |
41 | 41 |
42 } // namespace webdriver | 42 } // namespace webdriver |
43 | 43 |
44 #endif // CHROME_TEST_WEBDRIVER_COMMANDS_EXECUTE_COMMAND_H_ | 44 #endif // CHROME_TEST_WEBDRIVER_COMMANDS_EXECUTE_COMMAND_H_ |
45 | 45 |
OLD | NEW |