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

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

Issue 2182553002: Add other variations (with ids) for NTPSnippets to chrome://flags (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Alexei's comment #5 + fix a bug Created 4 years, 5 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/about_flags.mm ('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 649a93bcd1d697bd14deca17c6eddb5424a96308..787ecba86401929b0867d5feb25314a875212333 100644
--- a/ios/chrome/browser/ios_chrome_main_parts.mm
+++ b/ios/chrome/browser/ios_chrome_main_parts.mm
@@ -100,9 +100,9 @@ void IOSChromeMainParts::PreCreateThreads() {
local_state_ = application_context_->GetLocalState();
DCHECK(local_state_);
- flags_ui::PrefServiceFlagsStorage flags_storage_(
+ flags_ui::PrefServiceFlagsStorage flags_storage(
application_context_->GetLocalState());
- ConvertFlagsToSwitches(&flags_storage_,
+ ConvertFlagsToSwitches(&flags_storage,
base::CommandLine::ForCurrentProcess());
// Initialize tracking synchronizer system.
@@ -216,17 +216,26 @@ void IOSChromeMainParts::SetUpMetricsAndFieldTrials() {
CHECK(result) << "Invalid --" << switches::kForceFieldTrials
<< " list specified.";
}
- if (command_line->HasSwitch(switches::kIOSForceVariationIds)) {
- // Create default variation ids which will always be included in the
- // X-Client-Data request header.
- variations::VariationsHttpHeaderProvider* provider =
- variations::VariationsHttpHeaderProvider::GetInstance();
- bool result = provider->SetDefaultVariationIds(
- command_line->GetSwitchValueASCII(switches::kIOSForceVariationIds));
- CHECK(result) << "Invalid --" << switches::kIOSForceVariationIds
- << " list specified.";
- }
+
std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
+
+ // Associate parameters chosen in about:flags and create trial/group for them.
+ flags_ui::PrefServiceFlagsStorage flags_storage(
+ application_context_->GetLocalState());
+ std::vector<std::string> variation_ids =
+ RegisterAllFeatureVariationParameters(&flags_storage, feature_list.get());
+
+ variations::VariationsHttpHeaderProvider* http_header_provider =
+ variations::VariationsHttpHeaderProvider::GetInstance();
+ // Force the variation ids selected in chrome://flags and/or specified using
+ // the command-line flag.
+ bool result = http_header_provider->ForceVariationIds(
+ command_line->GetSwitchValueASCII(switches::kIOSForceVariationIds),
+ &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),
command_line->GetSwitchValueASCII(switches::kDisableIOSFeatures));
« no previous file with comments | « ios/chrome/browser/about_flags.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698