| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/chromedriver/capabilities.h" | 5 #include "chrome/test/chromedriver/capabilities.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 Capabilities* capabilities) { | 40 Capabilities* capabilities) { |
| 41 std::string str; | 41 std::string str; |
| 42 if (!option.GetAsString(&str)) | 42 if (!option.GetAsString(&str)) |
| 43 return Status(kUnknownError, "must be a string"); | 43 return Status(kUnknownError, "must be a string"); |
| 44 if (str.empty()) | 44 if (str.empty()) |
| 45 return Status(kUnknownError, "cannot be empty"); | 45 return Status(kUnknownError, "cannot be empty"); |
| 46 *to_set = str; | 46 *to_set = str; |
| 47 return Status(kOk); | 47 return Status(kOk); |
| 48 } | 48 } |
| 49 | 49 |
| 50 Status ParseInterval(int* to_set, |
| 51 const base::Value& option, |
| 52 Capabilities* capabilities) { |
| 53 int parsed_int = 0; |
| 54 if (!option.GetAsInteger(&parsed_int)) |
| 55 return Status(kUnknownError, "must be an integer"); |
| 56 if (parsed_int <= 0) |
| 57 return Status(kUnknownError, "must be positive"); |
| 58 *to_set = parsed_int; |
| 59 return Status(kOk); |
| 60 } |
| 61 |
| 50 Status ParseFilePath(base::FilePath* to_set, | 62 Status ParseFilePath(base::FilePath* to_set, |
| 51 const base::Value& option, | 63 const base::Value& option, |
| 52 Capabilities* capabilities) { | 64 Capabilities* capabilities) { |
| 53 base::FilePath::StringType str; | 65 base::FilePath::StringType str; |
| 54 if (!option.GetAsString(&str)) | 66 if (!option.GetAsString(&str)) |
| 55 return Status(kUnknownError, "must be a string"); | 67 return Status(kUnknownError, "must be a string"); |
| 56 *to_set = base::FilePath(str); | 68 *to_set = base::FilePath(str); |
| 57 return Status(kOk); | 69 return Status(kOk); |
| 58 } | 70 } |
| 59 | 71 |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 return Status(kOk); | 328 return Status(kOk); |
| 317 } | 329 } |
| 318 | 330 |
| 319 Status ParsePerfLoggingPrefs(const base::Value& option, | 331 Status ParsePerfLoggingPrefs(const base::Value& option, |
| 320 Capabilities* capabilities) { | 332 Capabilities* capabilities) { |
| 321 const base::DictionaryValue* perf_logging_prefs = NULL; | 333 const base::DictionaryValue* perf_logging_prefs = NULL; |
| 322 if (!option.GetAsDictionary(&perf_logging_prefs)) | 334 if (!option.GetAsDictionary(&perf_logging_prefs)) |
| 323 return Status(kUnknownError, "must be a dictionary"); | 335 return Status(kUnknownError, "must be a dictionary"); |
| 324 | 336 |
| 325 std::map<std::string, Parser> parser_map; | 337 std::map<std::string, Parser> parser_map; |
| 338 parser_map["bufferUsageReportingInterval"] = base::Bind(&ParseInterval, |
| 339 &capabilities->perf_logging_prefs.buffer_usage_reporting_interval); |
| 326 parser_map["enableNetwork"] = base::Bind( | 340 parser_map["enableNetwork"] = base::Bind( |
| 327 &ParseInspectorDomainStatus, &capabilities->perf_logging_prefs.network); | 341 &ParseInspectorDomainStatus, &capabilities->perf_logging_prefs.network); |
| 328 parser_map["enablePage"] = base::Bind( | 342 parser_map["enablePage"] = base::Bind( |
| 329 &ParseInspectorDomainStatus, &capabilities->perf_logging_prefs.page); | 343 &ParseInspectorDomainStatus, &capabilities->perf_logging_prefs.page); |
| 330 parser_map["enableTimeline"] = base::Bind( | 344 parser_map["enableTimeline"] = base::Bind( |
| 331 &ParseInspectorDomainStatus, &capabilities->perf_logging_prefs.timeline); | 345 &ParseInspectorDomainStatus, &capabilities->perf_logging_prefs.timeline); |
| 332 parser_map["traceCategories"] = base::Bind( | 346 parser_map["traceCategories"] = base::Bind( |
| 333 &ParseString, &capabilities->perf_logging_prefs.trace_categories); | 347 &ParseString, &capabilities->perf_logging_prefs.trace_categories); |
| 334 | 348 |
| 335 for (base::DictionaryValue::Iterator it(*perf_logging_prefs); !it.IsAtEnd(); | 349 for (base::DictionaryValue::Iterator it(*perf_logging_prefs); !it.IsAtEnd(); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 break; | 529 break; |
| 516 str += " "; | 530 str += " "; |
| 517 } | 531 } |
| 518 return str; | 532 return str; |
| 519 } | 533 } |
| 520 | 534 |
| 521 PerfLoggingPrefs::PerfLoggingPrefs() | 535 PerfLoggingPrefs::PerfLoggingPrefs() |
| 522 : network(InspectorDomainStatus::kDefaultEnabled), | 536 : network(InspectorDomainStatus::kDefaultEnabled), |
| 523 page(InspectorDomainStatus::kDefaultEnabled), | 537 page(InspectorDomainStatus::kDefaultEnabled), |
| 524 timeline(InspectorDomainStatus::kDefaultEnabled), | 538 timeline(InspectorDomainStatus::kDefaultEnabled), |
| 525 trace_categories() {} | 539 trace_categories(), |
| 540 buffer_usage_reporting_interval(1000) {} |
| 526 | 541 |
| 527 PerfLoggingPrefs::~PerfLoggingPrefs() {} | 542 PerfLoggingPrefs::~PerfLoggingPrefs() {} |
| 528 | 543 |
| 529 Capabilities::Capabilities() | 544 Capabilities::Capabilities() |
| 530 : android_use_running_app(false), | 545 : android_use_running_app(false), |
| 531 detach(false), | 546 detach(false), |
| 532 force_devtools_screenshot(false) {} | 547 force_devtools_screenshot(false) {} |
| 533 | 548 |
| 534 Capabilities::~Capabilities() {} | 549 Capabilities::~Capabilities() {} |
| 535 | 550 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 563 if (iter == logging_prefs.end() || iter->second == Log::kOff) { | 578 if (iter == logging_prefs.end() || iter->second == Log::kOff) { |
| 564 const base::DictionaryValue* chrome_options = NULL; | 579 const base::DictionaryValue* chrome_options = NULL; |
| 565 if (desired_caps.GetDictionary("chromeOptions", &chrome_options) && | 580 if (desired_caps.GetDictionary("chromeOptions", &chrome_options) && |
| 566 chrome_options->HasKey("perfLoggingPrefs")) { | 581 chrome_options->HasKey("perfLoggingPrefs")) { |
| 567 return Status(kUnknownError, "perfLoggingPrefs specified, " | 582 return Status(kUnknownError, "perfLoggingPrefs specified, " |
| 568 "but performance logging was not enabled"); | 583 "but performance logging was not enabled"); |
| 569 } | 584 } |
| 570 } | 585 } |
| 571 return Status(kOk); | 586 return Status(kOk); |
| 572 } | 587 } |
| OLD | NEW |