Index: chrome/browser/chrome_browser_main.cc |
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc |
index c2700d80a7cb856ac96f151458aa793117ecf0d7..40805d6ca2e44e0e96c3e18fe1d00430d9aa72d9 100644 |
--- a/chrome/browser/chrome_browser_main.cc |
+++ b/chrome/browser/chrome_browser_main.cc |
@@ -56,6 +56,7 @@ |
#include "chrome/browser/metrics/metrics_service.h" |
#include "chrome/browser/metrics/thread_watcher.h" |
#include "chrome/browser/metrics/tracking_synchronizer.h" |
+#include "chrome/browser/metrics/variations_service.h" |
#include "chrome/browser/nacl_host/nacl_process_host.h" |
#include "chrome/browser/net/chrome_net_log.h" |
#include "chrome/browser/net/predictor.h" |
@@ -561,7 +562,8 @@ ChromeBrowserMainParts::ChromeBrowserMainParts( |
is_first_run_(false), |
first_run_ui_bypass_(false), |
local_state_(NULL), |
- restart_last_session_(false) { |
+ restart_last_session_(false), |
+ variations_service_(NULL) { |
// If we're running tests (ui_task is non-null). |
if (parameters.ui_task) |
browser_defaults::enable_help_app = false; |
@@ -612,6 +614,9 @@ void ChromeBrowserMainParts::SetupMetricsAndFieldTrials() { |
} |
#endif // NDEBUG |
+ variations_service_.reset(new VariationsService()); |
+ variations_service_->LoadVariationsSeed(browser_process_->local_state()); |
+ |
SetupFieldTrials(metrics->recording_active(), |
local_state_->IsManagedPreference( |
prefs::kMaxConnectionsPerProxy)); |
@@ -1874,6 +1879,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
} |
#endif |
+ // Request new variations seed information from server. |
+ variations_service_->FetchVariationsSeed(); |
+ |
run_message_loop_ = true; |
} else { |
run_message_loop_ = false; |