summaryrefslogtreecommitdiffstats
path: root/chrome/browser/io_thread.cc
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-24 21:58:31 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-24 21:58:31 +0000
commit26b0f376d66975c03c3d24afd72257f34c9bb5f6 (patch)
tree9d6fea5b7c12347ffe5fa1f00778b14779ad52a4 /chrome/browser/io_thread.cc
parent3c6f8e155866a42aed692b88231f4c6a62fae8c7 (diff)
downloadchromium_src-26b0f376d66975c03c3d24afd72257f34c9bb5f6.zip
chromium_src-26b0f376d66975c03c3d24afd72257f34c9bb5f6.tar.gz
chromium_src-26b0f376d66975c03c3d24afd72257f34c9bb5f6.tar.bz2
Add IPv6 probe support for Windows
This is meant to test to see if AI_ADDRCONFIG is doing its job in windows, or if we have to do the scans when there is a network change. Also switch to always doing probe support on Mac/Linux platforms. There appears to be (on aggregate) around a 40% degradation of DNS resolution times on the Mac, and about 17% degration on Linux, when we don't probe. It is likely that a few users are greatly impacted by this, and are able to move the average of the whole user population. BUG=12754 BUG=25680 r=wtc Review URL: http://codereview.chromium.org/1210003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42544 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/io_thread.cc')
-rw-r--r--chrome/browser/io_thread.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
index d2ce04e..83d81b6 100644
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -40,11 +40,13 @@ net::HostResolver* CreateGlobalHostResolver(
global_host_resolver->GetAsHostResolverImpl();
if (host_resolver_impl != NULL) {
// (optionally) Use probe to decide if support is warranted.
+ bool use_ipv6_probe = true;
+#if defined(OS_WIN)
// Measure impact of probing to allow IPv6.
// Some users report confused OS handling of IPv6, leading to large
// latency. If we can show that IPv6 is not supported, then disabliing
- // it will work around such problems.
+ // it will work around such problems. This is the test of the probe.
const FieldTrial::Probability kDivisor = 100;
const FieldTrial::Probability kProbability = 50; // 50% probability.
FieldTrial* trial = new FieldTrial("IPv6_Probe", kDivisor);
@@ -52,7 +54,9 @@ net::HostResolver* CreateGlobalHostResolver(
kProbability);
trial->AppendGroup("_IPv6_probe_done",
FieldTrial::kAllRemainingProbability);
- bool use_ipv6_probe = (trial->group() != skip_group);
+ use_ipv6_probe = (trial->group() != skip_group);
+#endif
+
if (use_ipv6_probe)
host_resolver_impl->ProbeIPv6Support();
}