Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Unified Diff: ios/chrome/browser/ios_chrome_main_parts.mm

Issue 2376123004: Rearrange iOS SetupMetricsAndFieldTrials to SetupFieldTrials and SetupMetrics (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/chrome/browser/ios_chrome_main_parts.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/ios_chrome_main_parts.mm
diff --git a/ios/chrome/browser/ios_chrome_main_parts.mm b/ios/chrome/browser/ios_chrome_main_parts.mm
index 5a7f051d528cc41134ff38794a673f3b1577ab33..4ab6a118bfdebd6563a14d84422f3ee6c4a63ff0 100644
--- a/ios/chrome/browser/ios_chrome_main_parts.mm
+++ b/ios/chrome/browser/ios_chrome_main_parts.mm
@@ -114,7 +114,8 @@ void IOSChromeMainParts::PreCreateThreads() {
// Now the command line has been mutated based on about:flags, we can setup
// metrics and initialize field trials that are needed by IOSChromeIOThread's
// initialization which happens in ApplicationContext:PreCreateThreads.
- SetUpMetricsAndFieldTrials();
+ SetupFieldTrials();
+ SetupMetrics();
// Initialize FieldTrialSynchronizer system.
field_trial_synchronizer_.reset(new ios::FieldTrialSynchronizer);
@@ -192,7 +193,7 @@ void IOSChromeMainParts::PostDestroyThreads() {
}
// This will be called after the command-line has been mutated by about:flags
-void IOSChromeMainParts::SetUpMetricsAndFieldTrials() {
+void IOSChromeMainParts::SetupFieldTrials() {
base::SetRecordActionTaskRunner(
web::WebThread::GetTaskRunnerForThread(web::WebThread::UI));
@@ -225,11 +226,6 @@ void IOSChromeMainParts::SetUpMetricsAndFieldTrials() {
std::vector<std::string> variation_ids =
RegisterAllFeatureVariationParameters(&flags_storage, feature_list.get());
- // Must initialize metrics after about:flags have been converted into
- // switches, but before field trials are set up (so that client ID is
- // available for one-time randomized field trials).
- metrics::MetricsService* metrics = application_context_->GetMetricsService();
-
variations::VariationsHttpHeaderProvider* http_header_provider =
variations::VariationsHttpHeaderProvider::GetInstance();
// Force the variation ids selected in chrome://flags and/or specified using
@@ -239,7 +235,6 @@ void IOSChromeMainParts::SetUpMetricsAndFieldTrials() {
&variation_ids);
CHECK(result) << "Invalid list of variation ids specified (either in --"
<< switches::kIOSForceVariationIds << " or in chrome://flags)";
- metrics->AddSyntheticTrialObserver(http_header_provider);
feature_list->InitializeFromCommandLine(
command_line->GetSwitchValueASCII(switches::kEnableIOSFeatures),
@@ -252,9 +247,13 @@ void IOSChromeMainParts::SetUpMetricsAndFieldTrials() {
base::FeatureList::SetInstance(std::move(feature_list));
- SetupFieldTrials(parsed_command_line_,
- base::Time::FromTimeT(metrics->GetInstallDate()));
+ SetupIOSFieldTrials();
+}
+void IOSChromeMainParts::SetupMetrics() {
+ metrics::MetricsService* metrics = application_context_->GetMetricsService();
+ metrics->AddSyntheticTrialObserver(
+ variations::VariationsHttpHeaderProvider::GetInstance());
// Now that field trials have been created, initializes metrics recording.
metrics->InitializeMetricsRecordingState();
}
« no previous file with comments | « ios/chrome/browser/ios_chrome_main_parts.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698