Commit 62715ad5 authored by chrisgao@chromium.org's avatar chrisgao@chromium.org

[chromedriver] Accept loadAsync as a non-op chromeOption.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/19773012

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217147 0039d316-1c4b-4281-b951-d872f2087c98
parent c026e394
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/values.h" #include "base/values.h"
#include "chrome/test/chromedriver/chrome/log.h"
#include "chrome/test/chromedriver/chrome/status.h" #include "chrome/test/chromedriver/chrome/status.h"
namespace { namespace {
...@@ -25,6 +26,17 @@ Status ParseDetach( ...@@ -25,6 +26,17 @@ Status ParseDetach(
return Status(kOk); return Status(kOk);
} }
Status IgnoreDeprecatedOption(
Log* log,
const char* option_name,
const base::Value& option,
Capabilities* capabilities) {
log->AddEntry(Log::kWarning,
base::StringPrintf("deprecated chrome option is ignored: '%s'",
option_name));
return Status(kOk);
}
Status ParseChromeBinary( Status ParseChromeBinary(
const base::Value& option, const base::Value& option,
Capabilities* capabilities) { Capabilities* capabilities) {
...@@ -171,6 +183,7 @@ Status ParseProxy(const base::Value& option, Capabilities* capabilities) { ...@@ -171,6 +183,7 @@ Status ParseProxy(const base::Value& option, Capabilities* capabilities) {
} }
Status ParseDesktopChromeCapabilities( Status ParseDesktopChromeCapabilities(
Log* log,
const base::Value& capability, const base::Value& capability,
Capabilities* capabilities) { Capabilities* capabilities) {
const base::DictionaryValue* chrome_options = NULL; const base::DictionaryValue* chrome_options = NULL;
...@@ -180,6 +193,8 @@ Status ParseDesktopChromeCapabilities( ...@@ -180,6 +193,8 @@ Status ParseDesktopChromeCapabilities(
std::map<std::string, Parser> parser_map; std::map<std::string, Parser> parser_map;
parser_map["detach"] = base::Bind(&ParseDetach); parser_map["detach"] = base::Bind(&ParseDetach);
parser_map["loadAsync"] =
base::Bind(&IgnoreDeprecatedOption, log, "loadAsync");
parser_map["binary"] = base::Bind(&ParseChromeBinary); parser_map["binary"] = base::Bind(&ParseChromeBinary);
parser_map["logPath"] = base::Bind(&ParseLogPath); parser_map["logPath"] = base::Bind(&ParseLogPath);
parser_map["args"] = base::Bind(&ParseArgs, false); parser_map["args"] = base::Bind(&ParseArgs, false);
...@@ -284,7 +299,9 @@ bool Capabilities::IsAndroid() const { ...@@ -284,7 +299,9 @@ bool Capabilities::IsAndroid() const {
return !android_package.empty(); return !android_package.empty();
} }
Status Capabilities::Parse(const base::DictionaryValue& desired_caps) { Status Capabilities::Parse(
const base::DictionaryValue& desired_caps,
Log* log) {
Status status = ParseLoggingPrefs(desired_caps, this); Status status = ParseLoggingPrefs(desired_caps, this);
if (status.IsError()) if (status.IsError())
return status; return status;
...@@ -296,7 +313,8 @@ Status Capabilities::Parse(const base::DictionaryValue& desired_caps) { ...@@ -296,7 +313,8 @@ Status Capabilities::Parse(const base::DictionaryValue& desired_caps) {
std::map<std::string, Parser> parser_map; std::map<std::string, Parser> parser_map;
parser_map["proxy"] = base::Bind(&ParseProxy); parser_map["proxy"] = base::Bind(&ParseProxy);
parser_map["chromeOptions"] = base::Bind(&ParseDesktopChromeCapabilities); parser_map["chromeOptions"] =
base::Bind(&ParseDesktopChromeCapabilities, log);
for (std::map<std::string, Parser>::iterator it = parser_map.begin(); for (std::map<std::string, Parser>::iterator it = parser_map.begin();
it != parser_map.end(); ++it) { it != parser_map.end(); ++it) {
const base::Value* capability = NULL; const base::Value* capability = NULL;
......
...@@ -16,6 +16,7 @@ namespace base { ...@@ -16,6 +16,7 @@ namespace base {
class DictionaryValue; class DictionaryValue;
} }
class Log;
class Status; class Status;
struct Capabilities { struct Capabilities {
...@@ -25,7 +26,7 @@ struct Capabilities { ...@@ -25,7 +26,7 @@ struct Capabilities {
// Return true if android package is specified. // Return true if android package is specified.
bool IsAndroid() const; bool IsAndroid() const;
Status Parse(const base::DictionaryValue& desired_caps); Status Parse(const base::DictionaryValue& desired_caps, Log* log);
// Whether the lifetime of the started Chrome browser process should be // Whether the lifetime of the started Chrome browser process should be
// bound to ChromeDriver's process. If true, Chrome will not quit if // bound to ChromeDriver's process. If true, Chrome will not quit if
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "chrome/test/chromedriver/capabilities.h" #include "chrome/test/chromedriver/capabilities.h"
#include "base/values.h" #include "base/values.h"
#include "chrome/test/chromedriver/chrome/log.h"
#include "chrome/test/chromedriver/chrome/status.h" #include "chrome/test/chromedriver/chrome/status.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -12,7 +13,8 @@ TEST(ParseCapabilities, WithAndroidPackage) { ...@@ -12,7 +13,8 @@ TEST(ParseCapabilities, WithAndroidPackage) {
Capabilities capabilities; Capabilities capabilities;
base::DictionaryValue caps; base::DictionaryValue caps;
caps.SetString("chromeOptions.androidPackage", "abc"); caps.SetString("chromeOptions.androidPackage", "abc");
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_TRUE(capabilities.IsAndroid()); ASSERT_TRUE(capabilities.IsAndroid());
ASSERT_EQ("abc", capabilities.android_package); ASSERT_EQ("abc", capabilities.android_package);
...@@ -22,7 +24,8 @@ TEST(ParseCapabilities, EmptyAndroidPackage) { ...@@ -22,7 +24,8 @@ TEST(ParseCapabilities, EmptyAndroidPackage) {
Capabilities capabilities; Capabilities capabilities;
base::DictionaryValue caps; base::DictionaryValue caps;
caps.SetString("chromeOptions.androidPackage", std::string()); caps.SetString("chromeOptions.androidPackage", std::string());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_FALSE(status.IsOk()); ASSERT_FALSE(status.IsOk());
} }
...@@ -30,7 +33,8 @@ TEST(ParseCapabilities, IllegalAndroidPackage) { ...@@ -30,7 +33,8 @@ TEST(ParseCapabilities, IllegalAndroidPackage) {
Capabilities capabilities; Capabilities capabilities;
base::DictionaryValue caps; base::DictionaryValue caps;
caps.SetInteger("chromeOptions.androidPackage", 123); caps.SetInteger("chromeOptions.androidPackage", 123);
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_FALSE(status.IsOk()); ASSERT_FALSE(status.IsOk());
} }
...@@ -38,7 +42,8 @@ TEST(ParseCapabilities, LogPath) { ...@@ -38,7 +42,8 @@ TEST(ParseCapabilities, LogPath) {
Capabilities capabilities; Capabilities capabilities;
base::DictionaryValue caps; base::DictionaryValue caps;
caps.SetString("chromeOptions.logPath", "path/to/logfile"); caps.SetString("chromeOptions.logPath", "path/to/logfile");
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_STREQ("path/to/logfile", capabilities.log_path.c_str()); ASSERT_STREQ("path/to/logfile", capabilities.log_path.c_str());
} }
...@@ -49,7 +54,8 @@ TEST(ParseCapabilities, NoArgs) { ...@@ -49,7 +54,8 @@ TEST(ParseCapabilities, NoArgs) {
ASSERT_TRUE(args.empty()); ASSERT_TRUE(args.empty());
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("chromeOptions.args", args.DeepCopy()); caps.Set("chromeOptions.args", args.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_TRUE(capabilities.command.GetSwitches().empty()); ASSERT_TRUE(capabilities.command.GetSwitches().empty());
} }
...@@ -61,7 +67,8 @@ TEST(ParseCapabilities, SingleArgWithoutValue) { ...@@ -61,7 +67,8 @@ TEST(ParseCapabilities, SingleArgWithoutValue) {
ASSERT_EQ(1u, args.GetSize()); ASSERT_EQ(1u, args.GetSize());
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("chromeOptions.args", args.DeepCopy()); caps.Set("chromeOptions.args", args.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
ASSERT_TRUE(capabilities.command.HasSwitch("enable-nacl")); ASSERT_TRUE(capabilities.command.HasSwitch("enable-nacl"));
...@@ -74,7 +81,8 @@ TEST(ParseCapabilities, SingleArgWithValue) { ...@@ -74,7 +81,8 @@ TEST(ParseCapabilities, SingleArgWithValue) {
ASSERT_EQ(1u, args.GetSize()); ASSERT_EQ(1u, args.GetSize());
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("chromeOptions.args", args.DeepCopy()); caps.Set("chromeOptions.args", args.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
ASSERT_TRUE(capabilities.command.HasSwitch("load-extension")); ASSERT_TRUE(capabilities.command.HasSwitch("load-extension"));
...@@ -92,7 +100,8 @@ TEST(ParseCapabilities, MultipleArgs) { ...@@ -92,7 +100,8 @@ TEST(ParseCapabilities, MultipleArgs) {
ASSERT_EQ(3u, args.GetSize()); ASSERT_EQ(3u, args.GetSize());
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("chromeOptions.args", args.DeepCopy()); caps.Set("chromeOptions.args", args.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(3u, capabilities.command.GetSwitches().size()); ASSERT_EQ(3u, capabilities.command.GetSwitches().size());
ASSERT_TRUE(capabilities.command.HasSwitch("arg1")); ASSERT_TRUE(capabilities.command.HasSwitch("arg1"));
...@@ -110,7 +119,8 @@ TEST(ParseCapabilities, Prefs) { ...@@ -110,7 +119,8 @@ TEST(ParseCapabilities, Prefs) {
prefs.SetString("key2.k", "value2"); prefs.SetString("key2.k", "value2");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("chromeOptions.prefs", prefs.DeepCopy()); caps.Set("chromeOptions.prefs", prefs.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_TRUE(capabilities.prefs->Equals(&prefs)); ASSERT_TRUE(capabilities.prefs->Equals(&prefs));
} }
...@@ -122,7 +132,8 @@ TEST(ParseCapabilities, LocalState) { ...@@ -122,7 +132,8 @@ TEST(ParseCapabilities, LocalState) {
local_state.SetString("s2.s", "v2"); local_state.SetString("s2.s", "v2");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("chromeOptions.localState", local_state.DeepCopy()); caps.Set("chromeOptions.localState", local_state.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_TRUE(capabilities.local_state->Equals(&local_state)); ASSERT_TRUE(capabilities.local_state->Equals(&local_state));
} }
...@@ -134,7 +145,8 @@ TEST(ParseCapabilities, Extensions) { ...@@ -134,7 +145,8 @@ TEST(ParseCapabilities, Extensions) {
extensions.AppendString("ext2"); extensions.AppendString("ext2");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("chromeOptions.extensions", extensions.DeepCopy()); caps.Set("chromeOptions.extensions", extensions.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(2u, capabilities.extensions.size()); ASSERT_EQ(2u, capabilities.extensions.size());
ASSERT_EQ("ext1", capabilities.extensions[0]); ASSERT_EQ("ext1", capabilities.extensions[0]);
...@@ -147,7 +159,8 @@ TEST(ParseCapabilities, UnrecognizedProxyType) { ...@@ -147,7 +159,8 @@ TEST(ParseCapabilities, UnrecognizedProxyType) {
proxy.SetString("proxyType", "unknown proxy type"); proxy.SetString("proxyType", "unknown proxy type");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_FALSE(status.IsOk()); ASSERT_FALSE(status.IsOk());
} }
...@@ -157,7 +170,8 @@ TEST(ParseCapabilities, IllegalProxyType) { ...@@ -157,7 +170,8 @@ TEST(ParseCapabilities, IllegalProxyType) {
proxy.SetInteger("proxyType", 123); proxy.SetInteger("proxyType", 123);
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_FALSE(status.IsOk()); ASSERT_FALSE(status.IsOk());
} }
...@@ -167,7 +181,8 @@ TEST(ParseCapabilities, DirectProxy) { ...@@ -167,7 +181,8 @@ TEST(ParseCapabilities, DirectProxy) {
proxy.SetString("proxyType", "DIRECT"); proxy.SetString("proxyType", "DIRECT");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
ASSERT_TRUE(capabilities.command.HasSwitch("no-proxy-server")); ASSERT_TRUE(capabilities.command.HasSwitch("no-proxy-server"));
...@@ -179,7 +194,8 @@ TEST(ParseCapabilities, SystemProxy) { ...@@ -179,7 +194,8 @@ TEST(ParseCapabilities, SystemProxy) {
proxy.SetString("proxyType", "system"); proxy.SetString("proxyType", "system");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_TRUE(capabilities.command.GetSwitches().empty()); ASSERT_TRUE(capabilities.command.GetSwitches().empty());
} }
...@@ -191,7 +207,8 @@ TEST(ParseCapabilities, PacProxy) { ...@@ -191,7 +207,8 @@ TEST(ParseCapabilities, PacProxy) {
proxy.SetString("proxyAutoconfigUrl", "test.wpad"); proxy.SetString("proxyAutoconfigUrl", "test.wpad");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
ASSERT_STREQ( ASSERT_STREQ(
...@@ -206,7 +223,8 @@ TEST(ParseCapabilities, MissingProxyAutoconfigUrl) { ...@@ -206,7 +223,8 @@ TEST(ParseCapabilities, MissingProxyAutoconfigUrl) {
proxy.SetString("httpProxy", "http://localhost:8001"); proxy.SetString("httpProxy", "http://localhost:8001");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_FALSE(status.IsOk()); ASSERT_FALSE(status.IsOk());
} }
...@@ -216,7 +234,8 @@ TEST(ParseCapabilities, AutodetectProxy) { ...@@ -216,7 +234,8 @@ TEST(ParseCapabilities, AutodetectProxy) {
proxy.SetString("proxyType", "autodetect"); proxy.SetString("proxyType", "autodetect");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
ASSERT_TRUE(capabilities.command.HasSwitch("proxy-auto-detect")); ASSERT_TRUE(capabilities.command.HasSwitch("proxy-auto-detect"));
...@@ -232,7 +251,8 @@ TEST(ParseCapabilities, ManualProxy) { ...@@ -232,7 +251,8 @@ TEST(ParseCapabilities, ManualProxy) {
proxy.SetString("noProxy", "google.com, youtube.com"); proxy.SetString("noProxy", "google.com, youtube.com");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(2u, capabilities.command.GetSwitches().size()); ASSERT_EQ(2u, capabilities.command.GetSwitches().size());
ASSERT_STREQ( ASSERT_STREQ(
...@@ -249,7 +269,8 @@ TEST(ParseCapabilities, MissingSettingForManualProxy) { ...@@ -249,7 +269,8 @@ TEST(ParseCapabilities, MissingSettingForManualProxy) {
proxy.SetString("proxyType", "manual"); proxy.SetString("proxyType", "manual");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_FALSE(status.IsOk()); ASSERT_FALSE(status.IsOk());
} }
...@@ -262,7 +283,8 @@ TEST(ParseCapabilities, IgnoreNullValueForManualProxy) { ...@@ -262,7 +283,8 @@ TEST(ParseCapabilities, IgnoreNullValueForManualProxy) {
proxy.Set("noProxy", base::Value::CreateNullValue()); proxy.Set("noProxy", base::Value::CreateNullValue());
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("proxy", proxy.DeepCopy()); caps.Set("proxy", proxy.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
ASSERT_TRUE(capabilities.command.HasSwitch("proxy-server")); ASSERT_TRUE(capabilities.command.HasSwitch("proxy-server"));
...@@ -277,7 +299,8 @@ TEST(ParseCapabilities, LoggingPrefsOk) { ...@@ -277,7 +299,8 @@ TEST(ParseCapabilities, LoggingPrefsOk) {
logging_prefs.SetString("Network", "INFO"); logging_prefs.SetString("Network", "INFO");
base::DictionaryValue caps; base::DictionaryValue caps;
caps.Set("loggingPrefs", logging_prefs.DeepCopy()); caps.Set("loggingPrefs", logging_prefs.DeepCopy());
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_TRUE(status.IsOk()); ASSERT_TRUE(status.IsOk());
ASSERT_TRUE(capabilities.logging_prefs.get()); ASSERT_TRUE(capabilities.logging_prefs.get());
ASSERT_EQ(1u, capabilities.logging_prefs->size()); ASSERT_EQ(1u, capabilities.logging_prefs->size());
...@@ -290,6 +313,7 @@ TEST(ParseCapabilities, LoggingPrefsNotDict) { ...@@ -290,6 +313,7 @@ TEST(ParseCapabilities, LoggingPrefsNotDict) {
Capabilities capabilities; Capabilities capabilities;
base::DictionaryValue caps; base::DictionaryValue caps;
caps.SetString("loggingPrefs", "INFO"); caps.SetString("loggingPrefs", "INFO");
Status status = capabilities.Parse(caps); Logger log(Log::kError);
Status status = capabilities.Parse(caps, &log);
ASSERT_FALSE(status.IsOk()); ASSERT_FALSE(status.IsOk());
} }
...@@ -88,7 +88,7 @@ Status CreateSessionOnSessionThreadHelper( ...@@ -88,7 +88,7 @@ Status CreateSessionOnSessionThreadHelper(
return Status(kUnknownError, "cannot find dict 'desiredCapabilities'"); return Status(kUnknownError, "cannot find dict 'desiredCapabilities'");
Capabilities capabilities; Capabilities capabilities;
Status status = capabilities.Parse(*desired_caps); Status status = capabilities.Parse(*desired_caps, bound_params.log);
if (status.IsError()) if (status.IsError())
return status; return status;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment