| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // Make sure stdint.h includes SIZE_MAX. (See C89, p259, footnote 221.) | 5 // Make sure stdint.h includes SIZE_MAX. (See C89, p259, footnote 221.) |
| 6 #ifndef __STDC_LIMIT_MACROS | 6 #ifndef __STDC_LIMIT_MACROS |
| 7 #define __STDC_LIMIT_MACROS 1 | 7 #define __STDC_LIMIT_MACROS 1 |
| 8 #endif | 8 #endif |
| 9 | 9 |
| 10 #include "components/domain_reliability/config.h" | 10 #include "components/domain_reliability/config.h" |
| 11 | 11 |
| 12 #include <stdint.h> | 12 #include <stdint.h> |
| 13 | 13 |
| 14 #include "base/json/json_reader.h" | 14 #include "base/json/json_reader.h" |
| 15 #include "base/json/json_value_converter.h" | 15 #include "base/json/json_value_converter.h" |
| 16 #include "base/profiler/scoped_tracker.h" |
| 16 #include "base/rand_util.h" | 17 #include "base/rand_util.h" |
| 17 #include "base/strings/string_util.h" | 18 #include "base/strings/string_util.h" |
| 18 | 19 |
| 19 namespace { | 20 namespace { |
| 20 | 21 |
| 21 bool ConvertURL(const base::StringPiece& string_piece, GURL* url) { | 22 bool ConvertURL(const base::StringPiece& string_piece, GURL* url) { |
| 22 *url = GURL(string_piece.as_string()); | 23 *url = GURL(string_piece.as_string()); |
| 23 return url->is_valid(); | 24 return url->is_valid(); |
| 24 } | 25 } |
| 25 | 26 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 bool DomainReliabilityConfig::Collector::IsValid() const { | 86 bool DomainReliabilityConfig::Collector::IsValid() const { |
| 86 return upload_url.is_valid(); | 87 return upload_url.is_valid(); |
| 87 } | 88 } |
| 88 | 89 |
| 89 DomainReliabilityConfig::DomainReliabilityConfig() : valid_until(0.0) {} | 90 DomainReliabilityConfig::DomainReliabilityConfig() : valid_until(0.0) {} |
| 90 DomainReliabilityConfig::~DomainReliabilityConfig() {} | 91 DomainReliabilityConfig::~DomainReliabilityConfig() {} |
| 91 | 92 |
| 92 // static | 93 // static |
| 93 scoped_ptr<const DomainReliabilityConfig> DomainReliabilityConfig::FromJSON( | 94 scoped_ptr<const DomainReliabilityConfig> DomainReliabilityConfig::FromJSON( |
| 94 const base::StringPiece& json) { | 95 const base::StringPiece& json) { |
| 96 // TODO(vadimt): Remove ScopedTracker below once crbug.com/436671 is fixed. |
| 97 tracked_objects::ScopedTracker tracking_profile( |
| 98 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 99 "436671 DomainReliabilityConfig::FromJSON")); |
| 95 scoped_ptr<base::Value> value(base::JSONReader::Read(json)); | 100 scoped_ptr<base::Value> value(base::JSONReader::Read(json)); |
| 96 base::JSONValueConverter<DomainReliabilityConfig> converter; | 101 base::JSONValueConverter<DomainReliabilityConfig> converter; |
| 97 scoped_ptr<DomainReliabilityConfig> config(new DomainReliabilityConfig()); | 102 scoped_ptr<DomainReliabilityConfig> config(new DomainReliabilityConfig()); |
| 98 | 103 |
| 99 // If we can parse and convert the JSON into a valid config, return that. | 104 // If we can parse and convert the JSON into a valid config, return that. |
| 100 if (value && converter.Convert(*value, config.get()) && config->IsValid()) | 105 if (value && converter.Convert(*value, config.get()) && config->IsValid()) |
| 101 return config.Pass(); | 106 return config.Pass(); |
| 102 return scoped_ptr<const DomainReliabilityConfig>(); | 107 return scoped_ptr<const DomainReliabilityConfig>(); |
| 103 } | 108 } |
| 104 | 109 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 &DomainReliabilityConfig::valid_until); | 153 &DomainReliabilityConfig::valid_until); |
| 149 converter->RegisterStringField("monitored_domain", | 154 converter->RegisterStringField("monitored_domain", |
| 150 &DomainReliabilityConfig::domain); | 155 &DomainReliabilityConfig::domain); |
| 151 converter->RegisterRepeatedMessage("monitored_resources", | 156 converter->RegisterRepeatedMessage("monitored_resources", |
| 152 &DomainReliabilityConfig::resources); | 157 &DomainReliabilityConfig::resources); |
| 153 converter->RegisterRepeatedMessage("collectors", | 158 converter->RegisterRepeatedMessage("collectors", |
| 154 &DomainReliabilityConfig::collectors); | 159 &DomainReliabilityConfig::collectors); |
| 155 } | 160 } |
| 156 | 161 |
| 157 } // namespace domain_reliability | 162 } // namespace domain_reliability |
| OLD | NEW |