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 |