Index: chrome/browser/browser_main.cc |
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc |
index d13e287ad389873e234d8d921caf32dc966d658a..f4b4eaa4f2f8c7bb9fae6af6e8c2697e8340e169 100644 |
--- a/chrome/browser/browser_main.cc |
+++ b/chrome/browser/browser_main.cc |
@@ -277,7 +277,9 @@ MetricsService* BrowserMainParts::SetupMetricsAndFieldTrials( |
// to send metrics. |
field_trial_list_.reset(new base::FieldTrialList(metrics->GetClientId())); |
- SetupFieldTrials(metrics->recording_active()); |
+ SetupFieldTrials(metrics->recording_active(), |
+ local_state->IsManagedPreference( |
+ prefs::kMaxConnectionsPerProxy)); |
// Initialize FieldTrialSynchronizer system. This is a singleton and is used |
// for posting tasks via NewRunnableMethod. Its deleted when it goes out of |
@@ -633,7 +635,8 @@ MetricsService* BrowserMainParts::InitializeMetrics( |
return metrics; |
} |
-void BrowserMainParts::SetupFieldTrials(bool metrics_recording_enabled) { |
+void BrowserMainParts::SetupFieldTrials(bool metrics_recording_enabled, |
+ bool proxy_policy_is_set) { |
if (metrics_recording_enabled) |
chrome_browser_net_websocket_experiment::WebSocketExperimentRunner::Start(); |
@@ -641,7 +644,10 @@ void BrowserMainParts::SetupFieldTrials(bool metrics_recording_enabled) { |
// ProxyConnectionsFieldTrial(). |
ConnectionFieldTrial(); |
SocketTimeoutFieldTrial(); |
- ProxyConnectionsFieldTrial(); |
+ // If a policy is defining the number of active connections this field test |
+ // shoud not be performed. |
+ if (!proxy_policy_is_set) |
+ ProxyConnectionsFieldTrial(); |
prerender::ConfigurePrefetchAndPrerender(parsed_command_line()); |
SpdyFieldTrial(); |
ConnectBackupJobsFieldTrial(); |