Index: chrome/test/chromedriver/window_commands.cc |
diff --git a/chrome/test/chromedriver/window_commands.cc b/chrome/test/chromedriver/window_commands.cc |
index 5aa83bc117b884ec0f2e9ee954f21a1336c245c2..8639fadbe318edc4a655aedca4c4802310cf9088 100644 |
--- a/chrome/test/chromedriver/window_commands.cc |
+++ b/chrome/test/chromedriver/window_commands.cc |
@@ -714,6 +714,39 @@ Status ExecuteTouchPinch(Session* session, |
return web_view->SynthesizePinchGesture(location.x, location.y, scale_factor); |
} |
+Status ExecuteSendCommand(Session* session, |
+ WebView* web_view, |
+ const base::DictionaryValue& params, |
+ std::unique_ptr<base::Value>* value, |
+ Timeout* timeout) { |
+ std::string cmd; |
+ if (!params.GetString("cmd", &cmd)) { |
+ return Status(kUnknownError, "command not passed"); |
+ } |
+ const base::DictionaryValue* cmdParams; |
+ if (!params.GetDictionary("params", &cmdParams)) { |
+ return Status(kUnknownError, "params not passed"); |
+ } |
+ return web_view->SendCommand(&cmd, *cmdParams); |
+} |
+ |
+Status ExecuteSendCommandAndGetResult(Session* session, |
+ WebView* web_view, |
+ const base::DictionaryValue& params, |
+ std::unique_ptr<base::Value>* value, |
+ Timeout* timeout) { |
+ std::string cmd; |
+ if (!params.GetString("cmd", &cmd)) { |
+ return Status(kUnknownError, "command not passed"); |
+ } |
+ const base::DictionaryValue* cmdParams; |
+ if (!params.GetDictionary("params", &cmdParams)) { |
+ return Status(kUnknownError, "params not passed"); |
+ } |
+ |
+ return web_view->SendCommandAndGetResult(&cmd, *cmdParams, value); |
+} |
+ |
Status ExecuteGetActiveElement(Session* session, |
WebView* web_view, |
const base::DictionaryValue& params, |