| Index: chrome/browser/chrome_browser_main.cc
|
| diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
| index d86da023b2893c426152156b8721e1bf18f82828..c59d5142bb58dc7082ddf4fa3ff7b3a92a81dbe6 100644
|
| --- a/chrome/browser/chrome_browser_main.cc
|
| +++ b/chrome/browser/chrome_browser_main.cc
|
| @@ -810,6 +810,19 @@ void ChromeBrowserMainParts::RecordBrowserStartupTime() {
|
| base::TimeTicks::Now(), is_first_run, g_browser_process->local_state());
|
| }
|
|
|
| +void ChromeBrowserMainParts::SetupOriginTrialsCommandLine() {
|
| + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
| + if (!command_line->HasSwitch(switches::kOriginTrialPublicKey)) {
|
| + std::string new_public_key =
|
| + local_state_->GetString(prefs::kOriginTrialPublicKey);
|
| + if (!new_public_key.empty()) {
|
| + command_line->AppendSwitchASCII(
|
| + switches::kOriginTrialPublicKey,
|
| + local_state_->GetString(prefs::kOriginTrialPublicKey));
|
| + }
|
| + }
|
| +}
|
| +
|
| // -----------------------------------------------------------------------------
|
| // TODO(viettrungluu): move more/rest of BrowserMain() into BrowserMainParts.
|
|
|
| @@ -1143,6 +1156,8 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
|
| chromeos::CrosSettings::Initialize();
|
| #endif // defined(OS_CHROMEOS)
|
|
|
| + SetupOriginTrialsCommandLine();
|
| +
|
| // Now the command line has been mutated based on about:flags, we can setup
|
| // metrics and initialize field trials. The field trials are needed by
|
| // IOThread's initialization which happens in BrowserProcess:PreCreateThreads.
|
|
|