Index: net/dns/host_resolver_impl.cc |
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc |
index d9c43dfadd728fe6daa8ac7b77c855e22ba39285..0aed70d6b75deb230261d520cd742f2f9bcb3ea1 100644 |
--- a/net/dns/host_resolver_impl.cc |
+++ b/net/dns/host_resolver_impl.cc |
@@ -2054,32 +2054,33 @@ HostResolverImpl::Key HostResolverImpl::GetEffectiveKeyForRequest( |
AddressFamily effective_address_family = info.address_family(); |
if (info.address_family() == ADDRESS_FAMILY_UNSPECIFIED) { |
- base::TimeTicks start_time = base::TimeTicks::Now(); |
- // Google DNS address. |
- const uint8 kIPv6Address[] = |
- { 0x20, 0x01, 0x48, 0x60, 0x48, 0x60, 0x00, 0x00, |
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88 }; |
- bool rv6 = IsGloballyReachable( |
- IPAddressNumber(kIPv6Address, kIPv6Address + arraysize(kIPv6Address))); |
- |
- UMA_HISTOGRAM_TIMES("Net.IPv6ConnectDuration", |
- base::TimeTicks::Now() - start_time); |
- if (rv6) { |
- UMA_HISTOGRAM_BOOLEAN("Net.IPv6ConnectSuccessMatch", |
- default_address_family_ == ADDRESS_FAMILY_UNSPECIFIED); |
+ if (ipv6_probe_monitoring_) { |
+ base::TimeTicks start_time = base::TimeTicks::Now(); |
+ // Google DNS address. |
+ const uint8 kIPv6Address[] = |
+ { 0x20, 0x01, 0x48, 0x60, 0x48, 0x60, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88 }; |
+ IPAddressNumber address(kIPv6Address, |
+ kIPv6Address + arraysize(kIPv6Address)); |
+ bool rv6 = IsGloballyReachable(address); |
+ |
+ UMA_HISTOGRAM_TIMES("Net.IPv6ConnectDuration", |
+ base::TimeTicks::Now() - start_time); |
+ if (rv6) { |
+ UMA_HISTOGRAM_BOOLEAN("Net.IPv6ConnectSuccessMatch", |
+ default_address_family_ == ADDRESS_FAMILY_UNSPECIFIED); |
+ } else { |
+ UMA_HISTOGRAM_BOOLEAN("Net.IPv6ConnectFailureMatch", |
+ default_address_family_ != ADDRESS_FAMILY_UNSPECIFIED); |
+ |
+ effective_address_family = ADDRESS_FAMILY_IPV4; |
+ effective_flags |= HOST_RESOLVER_DEFAULT_FAMILY_SET_DUE_TO_NO_IPV6; |
+ } |
} else { |
- UMA_HISTOGRAM_BOOLEAN("Net.IPv6ConnectFailureMatch", |
- default_address_family_ != ADDRESS_FAMILY_UNSPECIFIED); |
+ effective_address_family = default_address_family_; |
} |
} |
- if (effective_address_family == ADDRESS_FAMILY_UNSPECIFIED && |
- default_address_family_ != ADDRESS_FAMILY_UNSPECIFIED) { |
- effective_address_family = default_address_family_; |
- if (ipv6_probe_monitoring_) |
- effective_flags |= HOST_RESOLVER_DEFAULT_FAMILY_SET_DUE_TO_NO_IPV6; |
- } |
- |
return Key(info.hostname(), effective_address_family, effective_flags); |
} |