| 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 "net/dns/dns_config_service.h" | 5 #include "net/dns/dns_config_service.h" |
| 6 | 6 |
| 7 #include <utility> |
| 8 |
| 7 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/ptr_util.h" |
| 8 #include "base/metrics/histogram_macros.h" | 11 #include "base/metrics/histogram_macros.h" |
| 9 #include "base/values.h" | 12 #include "base/values.h" |
| 10 #include "net/base/ip_endpoint.h" | 13 #include "net/base/ip_endpoint.h" |
| 11 #include "net/base/ip_pattern.h" | 14 #include "net/base/ip_pattern.h" |
| 12 | 15 |
| 13 namespace net { | 16 namespace net { |
| 14 | 17 |
| 15 // Default values are taken from glibc resolv.h except timeout which is set to | 18 // Default values are taken from glibc resolv.h except timeout which is set to |
| 16 // |kDnsDefaultTimeoutMs|. | 19 // |kDnsDefaultTimeoutMs|. |
| 17 DnsConfig::DnsConfig() | 20 DnsConfig::DnsConfig() |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 append_to_multi_label_name = d.append_to_multi_label_name; | 56 append_to_multi_label_name = d.append_to_multi_label_name; |
| 54 ndots = d.ndots; | 57 ndots = d.ndots; |
| 55 timeout = d.timeout; | 58 timeout = d.timeout; |
| 56 attempts = d.attempts; | 59 attempts = d.attempts; |
| 57 rotate = d.rotate; | 60 rotate = d.rotate; |
| 58 edns0 = d.edns0; | 61 edns0 = d.edns0; |
| 59 use_local_ipv6 = d.use_local_ipv6; | 62 use_local_ipv6 = d.use_local_ipv6; |
| 60 } | 63 } |
| 61 | 64 |
| 62 std::unique_ptr<base::Value> DnsConfig::ToValue() const { | 65 std::unique_ptr<base::Value> DnsConfig::ToValue() const { |
| 63 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 66 auto dict = base::MakeUnique<base::DictionaryValue>(); |
| 64 | 67 |
| 65 base::ListValue* list = new base::ListValue(); | 68 auto list = base::MakeUnique<base::ListValue>(); |
| 66 for (size_t i = 0; i < nameservers.size(); ++i) | 69 for (size_t i = 0; i < nameservers.size(); ++i) |
| 67 list->AppendString(nameservers[i].ToString()); | 70 list->AppendString(nameservers[i].ToString()); |
| 68 dict->Set("nameservers", list); | 71 dict->Set("nameservers", std::move(list)); |
| 69 | 72 |
| 70 list = new base::ListValue(); | 73 list = base::MakeUnique<base::ListValue>(); |
| 71 for (size_t i = 0; i < search.size(); ++i) | 74 for (size_t i = 0; i < search.size(); ++i) |
| 72 list->AppendString(search[i]); | 75 list->AppendString(search[i]); |
| 73 dict->Set("search", list); | 76 dict->Set("search", std::move(list)); |
| 74 | 77 |
| 75 dict->SetBoolean("unhandled_options", unhandled_options); | 78 dict->SetBoolean("unhandled_options", unhandled_options); |
| 76 dict->SetBoolean("append_to_multi_label_name", append_to_multi_label_name); | 79 dict->SetBoolean("append_to_multi_label_name", append_to_multi_label_name); |
| 77 dict->SetInteger("ndots", ndots); | 80 dict->SetInteger("ndots", ndots); |
| 78 dict->SetDouble("timeout", timeout.InSecondsF()); | 81 dict->SetDouble("timeout", timeout.InSecondsF()); |
| 79 dict->SetInteger("attempts", attempts); | 82 dict->SetInteger("attempts", attempts); |
| 80 dict->SetBoolean("rotate", rotate); | 83 dict->SetBoolean("rotate", rotate); |
| 81 dict->SetBoolean("edns0", edns0); | 84 dict->SetBoolean("edns0", edns0); |
| 82 dict->SetBoolean("use_local_ipv6", use_local_ipv6); | 85 dict->SetBoolean("use_local_ipv6", use_local_ipv6); |
| 83 dict->SetInteger("num_hosts", hosts.size()); | 86 dict->SetInteger("num_hosts", hosts.size()); |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 last_sent_empty_ = false; | 229 last_sent_empty_ = false; |
| 227 if (watch_failed_) { | 230 if (watch_failed_) { |
| 228 // If a watch failed, the config may not be accurate, so report empty. | 231 // If a watch failed, the config may not be accurate, so report empty. |
| 229 callback_.Run(DnsConfig()); | 232 callback_.Run(DnsConfig()); |
| 230 } else { | 233 } else { |
| 231 callback_.Run(dns_config_); | 234 callback_.Run(dns_config_); |
| 232 } | 235 } |
| 233 } | 236 } |
| 234 | 237 |
| 235 } // namespace net | 238 } // namespace net |
| OLD | NEW |