Chromium Code Reviews| Index: chrome/browser/chrome_browser_field_trials.cc |
| =================================================================== |
| --- chrome/browser/chrome_browser_field_trials.cc (revision 163292) |
| +++ chrome/browser/chrome_browser_field_trials.cc (working copy) |
| @@ -33,6 +33,7 @@ |
| #include "ui/base/layout.h" |
| #if defined(OS_WIN) |
| +#include "net/socket/tcp_client_socket_win.h" |
| #include "ui/base/win/dpi.h" // For DisableNewTabFieldTrialIfNecesssary. |
| #endif // defined(OS_WIN) |
| @@ -64,7 +65,7 @@ |
| base::FieldTrialList::FactoryGetFieldTrial( |
| trial_name, divisor, kDefaultGroupName, 2015, 1, 1, NULL)); |
| if (one_time_randomized) |
| - trial->UseOneTimeRandomization(); |
| + trial->UseOneTimeRandomization(); |
| chrome_variations::AssociateGoogleVariationID(trial_name, kDefaultGroupName, |
| trial_base_id); |
| // Loop starts with group 1 because the field trial automatically creates a |
| @@ -129,6 +130,7 @@ |
| SetUpSafeBrowsingInterstitialFieldTrial(); |
| SetUpInfiniteCacheFieldTrial(); |
| SetUpCacheSensitivityAnalysisFieldTrial(); |
| + WindowsOverlappedTCPReadsFieldTrial(); |
| #if defined(ENABLE_ONE_CLICK_SIGNIN) |
| OneClickSigninHelper::InitializeFieldTrial(); |
| #endif |
| @@ -587,3 +589,27 @@ |
| trial->AppendGroup("400A", sensitivity_analysis_probability); |
| trial->AppendGroup("400B", sensitivity_analysis_probability); |
| } |
| + |
| +void ChromeBrowserFieldTrials::WindowsOverlappedTCPReadsFieldTrial() { |
| +#if defined(OS_WIN) |
| + if (parsed_command_line_.HasSwitch(switches::kOverlappedRead)) { |
| + std::string option = |
| + parsed_command_line_.GetSwitchValueASCII(switches::kOverlappedRead); |
| + if (LowerCaseEqualsASCII(option, "off")) |
| + net::TCPClientSocketWin::DisableOverlappedReads(); |
| + } else { |
| + const base::FieldTrial::Probability kDivisor = 2; // 1 in 2 chance |
| + const base::FieldTrial::Probability kOverlappedReadProbability = 1; |
| + scoped_refptr<base::FieldTrial> overlapped_reads_trial( |
| + base::FieldTrialList::FactoryGetFieldTrial("OverlappedReadImpact", |
| + kDivisor, "OverlappedReadEnabled", 2013, 6, 1, NULL)); |
| + int overlapped_reads_disabled_group = |
| + overlapped_reads_trial->AppendGroup("OverlappedReadDisabled", |
| + kOverlappedReadProbability); |
|
slamm
2012/10/25 19:51:48
Indent kOverlappedReadProbability under the first
pmeenan
2012/10/26 14:03:49
Done.
|
| + int assigned_group = overlapped_reads_trial->group(); |
| + if (assigned_group == overlapped_reads_disabled_group) |
| + net::TCPClientSocketWin::DisableOverlappedReads(); |
| + } |
| +#endif |
| +} |
| + |