| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/test/webdriver/webdriver_capabilities_parser.h" | 5 #include "chrome/test/webdriver/webdriver_capabilities_parser.h" |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/format_macros.h" | 8 #include "base/format_macros.h" |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "chrome/common/chrome_switches.h" | 12 #include "chrome/common/chrome_switches.h" |
| 13 #include "chrome/test/webdriver/webdriver_error.h" | 13 #include "chrome/test/webdriver/webdriver_error.h" |
| 14 #include "chrome/test/webdriver/webdriver_logging.h" |
| 14 #include "chrome/test/webdriver/webdriver_util.h" | 15 #include "chrome/test/webdriver/webdriver_util.h" |
| 15 | 16 |
| 16 using base::DictionaryValue; | 17 using base::DictionaryValue; |
| 17 using base::Value; | 18 using base::Value; |
| 18 | 19 |
| 19 namespace webdriver { | 20 namespace webdriver { |
| 20 | 21 |
| 21 namespace { | 22 namespace { |
| 22 | 23 |
| 23 Error* CreateBadInputError(const std::string& name, | 24 Error* CreateBadInputError(const std::string& name, |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 232 return CreateBadInputError("loggingPrefs", Value::TYPE_DICTIONARY, option); | 233 return CreateBadInputError("loggingPrefs", Value::TYPE_DICTIONARY, option); |
| 233 | 234 |
| 234 DictionaryValue::key_iterator key_iter = logging_prefs->begin_keys(); | 235 DictionaryValue::key_iterator key_iter = logging_prefs->begin_keys(); |
| 235 for (; key_iter != logging_prefs->end_keys(); ++key_iter) { | 236 for (; key_iter != logging_prefs->end_keys(); ++key_iter) { |
| 236 LogType log_type; | 237 LogType log_type; |
| 237 if (!LogType::FromString(*key_iter, &log_type)) | 238 if (!LogType::FromString(*key_iter, &log_type)) |
| 238 continue; | 239 continue; |
| 239 | 240 |
| 240 Value* level_value; | 241 Value* level_value; |
| 241 logging_prefs->Get(*key_iter, &level_value); | 242 logging_prefs->Get(*key_iter, &level_value); |
| 242 int level; | 243 std::string level_name; |
| 243 if (!level_value->GetAsInteger(&level)) { | 244 if (!level_value->GetAsString(&level_name)) { |
| 244 return CreateBadInputError( | 245 return CreateBadInputError( |
| 245 std::string("loggingPrefs.") + *key_iter, | 246 std::string("loggingPrefs.") + *key_iter, |
| 246 Value::TYPE_INTEGER, | 247 Value::TYPE_STRING, |
| 247 level_value); | 248 level_value); |
| 248 } | 249 } |
| 249 caps_->log_levels[log_type.type()] = static_cast<LogLevel>(level); | 250 caps_->log_levels[log_type.type()] = LogLevelFromString(level_name); |
| 250 } | 251 } |
| 251 return NULL; | 252 return NULL; |
| 252 } | 253 } |
| 253 | 254 |
| 254 Error* CapabilitiesParser::ParseNativeEvents(const Value* option) { | 255 Error* CapabilitiesParser::ParseNativeEvents(const Value* option) { |
| 255 if (!option->GetAsBoolean(&caps_->native_events)) | 256 if (!option->GetAsBoolean(&caps_->native_events)) |
| 256 return CreateBadInputError("nativeEvents", Value::TYPE_BOOLEAN, option); | 257 return CreateBadInputError("nativeEvents", Value::TYPE_BOOLEAN, option); |
| 257 return NULL; | 258 return NULL; |
| 258 } | 259 } |
| 259 | 260 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 if (error) { | 332 if (error) { |
| 332 error->AddDetails("Error occurred while processing 'proxyType': " + | 333 error->AddDetails("Error occurred while processing 'proxyType': " + |
| 333 proxy_type); | 334 proxy_type); |
| 334 return error; | 335 return error; |
| 335 } | 336 } |
| 336 } | 337 } |
| 337 return NULL; | 338 return NULL; |
| 338 } | 339 } |
| 339 | 340 |
| 340 Error* CapabilitiesParser::ParseProxyAutoDetect( | 341 Error* CapabilitiesParser::ParseProxyAutoDetect( |
| 341 const DictionaryValue* options){ | 342 const DictionaryValue* options) { |
| 342 const char kProxyAutoDetectKey[] = "autodetect"; | 343 const char kProxyAutoDetectKey[] = "autodetect"; |
| 343 bool proxy_auto_detect = false; | 344 bool proxy_auto_detect = false; |
| 344 if (!options->GetBoolean(kProxyAutoDetectKey, &proxy_auto_detect)) | 345 if (!options->GetBoolean(kProxyAutoDetectKey, &proxy_auto_detect)) |
| 345 return CreateBadInputError(kProxyAutoDetectKey, | 346 return CreateBadInputError(kProxyAutoDetectKey, |
| 346 Value::TYPE_BOOLEAN, options); | 347 Value::TYPE_BOOLEAN, options); |
| 347 if (proxy_auto_detect) | 348 if (proxy_auto_detect) |
| 348 caps_->command.AppendSwitch(switches::kProxyAutoDetect); | 349 caps_->command.AppendSwitch(switches::kProxyAutoDetect); |
| 349 return NULL; | 350 return NULL; |
| 350 } | 351 } |
| 351 | 352 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 } | 424 } |
| 424 | 425 |
| 425 Error* CapabilitiesParser::ParseNoWebsiteTestingDefaults(const Value* option) { | 426 Error* CapabilitiesParser::ParseNoWebsiteTestingDefaults(const Value* option) { |
| 426 if (!option->GetAsBoolean(&caps_->no_website_testing_defaults)) | 427 if (!option->GetAsBoolean(&caps_->no_website_testing_defaults)) |
| 427 return CreateBadInputError("noWebsiteTestingDefaults", | 428 return CreateBadInputError("noWebsiteTestingDefaults", |
| 428 Value::TYPE_BOOLEAN, option); | 429 Value::TYPE_BOOLEAN, option); |
| 429 return NULL; | 430 return NULL; |
| 430 } | 431 } |
| 431 | 432 |
| 432 } // namespace webdriver | 433 } // namespace webdriver |
| OLD | NEW |