| 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/host_resolver_impl.h" | 5 #include "net/dns/host_resolver_impl.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <Winsock2.h> | 8 #include <Winsock2.h> |
| 9 #elif defined(OS_POSIX) | 9 #elif defined(OS_POSIX) |
| 10 #include <netdb.h> | 10 #include <netdb.h> |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 } | 268 } |
| 269 } | 269 } |
| 270 return true; | 270 return true; |
| 271 } | 271 } |
| 272 | 272 |
| 273 // Creates NetLog parameters when the resolve failed. | 273 // Creates NetLog parameters when the resolve failed. |
| 274 base::Value* NetLogProcTaskFailedCallback(uint32 attempt_number, | 274 base::Value* NetLogProcTaskFailedCallback(uint32 attempt_number, |
| 275 int net_error, | 275 int net_error, |
| 276 int os_error, | 276 int os_error, |
| 277 NetLog::LogLevel /* log_level */) { | 277 NetLog::LogLevel /* log_level */) { |
| 278 DictionaryValue* dict = new DictionaryValue(); | 278 base::DictionaryValue* dict = new base::DictionaryValue(); |
| 279 if (attempt_number) | 279 if (attempt_number) |
| 280 dict->SetInteger("attempt_number", attempt_number); | 280 dict->SetInteger("attempt_number", attempt_number); |
| 281 | 281 |
| 282 dict->SetInteger("net_error", net_error); | 282 dict->SetInteger("net_error", net_error); |
| 283 | 283 |
| 284 if (os_error) { | 284 if (os_error) { |
| 285 dict->SetInteger("os_error", os_error); | 285 dict->SetInteger("os_error", os_error); |
| 286 #if defined(OS_POSIX) | 286 #if defined(OS_POSIX) |
| 287 dict->SetString("os_error_string", gai_strerror(os_error)); | 287 dict->SetString("os_error_string", gai_strerror(os_error)); |
| 288 #elif defined(OS_WIN) | 288 #elif defined(OS_WIN) |
| (...skipping 12 matching lines...) Expand all Loading... |
| 301 #endif | 301 #endif |
| 302 } | 302 } |
| 303 | 303 |
| 304 return dict; | 304 return dict; |
| 305 } | 305 } |
| 306 | 306 |
| 307 // Creates NetLog parameters when the DnsTask failed. | 307 // Creates NetLog parameters when the DnsTask failed. |
| 308 base::Value* NetLogDnsTaskFailedCallback(int net_error, | 308 base::Value* NetLogDnsTaskFailedCallback(int net_error, |
| 309 int dns_error, | 309 int dns_error, |
| 310 NetLog::LogLevel /* log_level */) { | 310 NetLog::LogLevel /* log_level */) { |
| 311 DictionaryValue* dict = new DictionaryValue(); | 311 base::DictionaryValue* dict = new base::DictionaryValue(); |
| 312 dict->SetInteger("net_error", net_error); | 312 dict->SetInteger("net_error", net_error); |
| 313 if (dns_error) | 313 if (dns_error) |
| 314 dict->SetInteger("dns_error", dns_error); | 314 dict->SetInteger("dns_error", dns_error); |
| 315 return dict; | 315 return dict; |
| 316 }; | 316 }; |
| 317 | 317 |
| 318 // Creates NetLog parameters containing the information in a RequestInfo object, | 318 // Creates NetLog parameters containing the information in a RequestInfo object, |
| 319 // along with the associated NetLog::Source. | 319 // along with the associated NetLog::Source. |
| 320 base::Value* NetLogRequestInfoCallback(const NetLog::Source& source, | 320 base::Value* NetLogRequestInfoCallback(const NetLog::Source& source, |
| 321 const HostResolver::RequestInfo* info, | 321 const HostResolver::RequestInfo* info, |
| 322 NetLog::LogLevel /* log_level */) { | 322 NetLog::LogLevel /* log_level */) { |
| 323 DictionaryValue* dict = new DictionaryValue(); | 323 base::DictionaryValue* dict = new base::DictionaryValue(); |
| 324 source.AddToEventParameters(dict); | 324 source.AddToEventParameters(dict); |
| 325 | 325 |
| 326 dict->SetString("host", info->host_port_pair().ToString()); | 326 dict->SetString("host", info->host_port_pair().ToString()); |
| 327 dict->SetInteger("address_family", | 327 dict->SetInteger("address_family", |
| 328 static_cast<int>(info->address_family())); | 328 static_cast<int>(info->address_family())); |
| 329 dict->SetBoolean("allow_cached_response", info->allow_cached_response()); | 329 dict->SetBoolean("allow_cached_response", info->allow_cached_response()); |
| 330 dict->SetBoolean("is_speculative", info->is_speculative()); | 330 dict->SetBoolean("is_speculative", info->is_speculative()); |
| 331 dict->SetInteger("priority", info->priority()); | 331 dict->SetInteger("priority", info->priority()); |
| 332 return dict; | 332 return dict; |
| 333 } | 333 } |
| 334 | 334 |
| 335 // Creates NetLog parameters for the creation of a HostResolverImpl::Job. | 335 // Creates NetLog parameters for the creation of a HostResolverImpl::Job. |
| 336 base::Value* NetLogJobCreationCallback(const NetLog::Source& source, | 336 base::Value* NetLogJobCreationCallback(const NetLog::Source& source, |
| 337 const std::string* host, | 337 const std::string* host, |
| 338 NetLog::LogLevel /* log_level */) { | 338 NetLog::LogLevel /* log_level */) { |
| 339 DictionaryValue* dict = new DictionaryValue(); | 339 base::DictionaryValue* dict = new base::DictionaryValue(); |
| 340 source.AddToEventParameters(dict); | 340 source.AddToEventParameters(dict); |
| 341 dict->SetString("host", *host); | 341 dict->SetString("host", *host); |
| 342 return dict; | 342 return dict; |
| 343 } | 343 } |
| 344 | 344 |
| 345 // Creates NetLog parameters for HOST_RESOLVER_IMPL_JOB_ATTACH/DETACH events. | 345 // Creates NetLog parameters for HOST_RESOLVER_IMPL_JOB_ATTACH/DETACH events. |
| 346 base::Value* NetLogJobAttachCallback(const NetLog::Source& source, | 346 base::Value* NetLogJobAttachCallback(const NetLog::Source& source, |
| 347 RequestPriority priority, | 347 RequestPriority priority, |
| 348 NetLog::LogLevel /* log_level */) { | 348 NetLog::LogLevel /* log_level */) { |
| 349 DictionaryValue* dict = new DictionaryValue(); | 349 base::DictionaryValue* dict = new base::DictionaryValue(); |
| 350 source.AddToEventParameters(dict); | 350 source.AddToEventParameters(dict); |
| 351 dict->SetInteger("priority", priority); | 351 dict->SetInteger("priority", priority); |
| 352 return dict; | 352 return dict; |
| 353 } | 353 } |
| 354 | 354 |
| 355 // Creates NetLog parameters for the DNS_CONFIG_CHANGED event. | 355 // Creates NetLog parameters for the DNS_CONFIG_CHANGED event. |
| 356 base::Value* NetLogDnsConfigCallback(const DnsConfig* config, | 356 base::Value* NetLogDnsConfigCallback(const DnsConfig* config, |
| 357 NetLog::LogLevel /* log_level */) { | 357 NetLog::LogLevel /* log_level */) { |
| 358 return config->ToValue(); | 358 return config->ToValue(); |
| 359 } | 359 } |
| (...skipping 1551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1911 | 1911 |
| 1912 base::Value* HostResolverImpl::GetDnsConfigAsValue() const { | 1912 base::Value* HostResolverImpl::GetDnsConfigAsValue() const { |
| 1913 // Check if async DNS is disabled. | 1913 // Check if async DNS is disabled. |
| 1914 if (!dns_client_.get()) | 1914 if (!dns_client_.get()) |
| 1915 return NULL; | 1915 return NULL; |
| 1916 | 1916 |
| 1917 // Check if async DNS is enabled, but we currently have no configuration | 1917 // Check if async DNS is enabled, but we currently have no configuration |
| 1918 // for it. | 1918 // for it. |
| 1919 const DnsConfig* dns_config = dns_client_->GetConfig(); | 1919 const DnsConfig* dns_config = dns_client_->GetConfig(); |
| 1920 if (dns_config == NULL) | 1920 if (dns_config == NULL) |
| 1921 return new DictionaryValue(); | 1921 return new base::DictionaryValue(); |
| 1922 | 1922 |
| 1923 return dns_config->ToValue(); | 1923 return dns_config->ToValue(); |
| 1924 } | 1924 } |
| 1925 | 1925 |
| 1926 bool HostResolverImpl::ResolveAsIP(const Key& key, | 1926 bool HostResolverImpl::ResolveAsIP(const Key& key, |
| 1927 const RequestInfo& info, | 1927 const RequestInfo& info, |
| 1928 int* net_error, | 1928 int* net_error, |
| 1929 AddressList* addresses) { | 1929 AddressList* addresses) { |
| 1930 DCHECK(addresses); | 1930 DCHECK(addresses); |
| 1931 DCHECK(net_error); | 1931 DCHECK(net_error); |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2238 } | 2238 } |
| 2239 DnsConfig dns_config; | 2239 DnsConfig dns_config; |
| 2240 NetworkChangeNotifier::GetDnsConfig(&dns_config); | 2240 NetworkChangeNotifier::GetDnsConfig(&dns_config); |
| 2241 dns_client_->SetConfig(dns_config); | 2241 dns_client_->SetConfig(dns_config); |
| 2242 num_dns_failures_ = 0; | 2242 num_dns_failures_ = 0; |
| 2243 if (dns_config.IsValid()) | 2243 if (dns_config.IsValid()) |
| 2244 UMA_HISTOGRAM_BOOLEAN("AsyncDNS.DnsClientEnabled", true); | 2244 UMA_HISTOGRAM_BOOLEAN("AsyncDNS.DnsClientEnabled", true); |
| 2245 } | 2245 } |
| 2246 | 2246 |
| 2247 } // namespace net | 2247 } // namespace net |
| OLD | NEW |