Chromium Code Reviews| Index: content/app/content_main_runner.cc |
| diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc |
| index 9d92e28e19c5d1133b7af61925cf10f53b04fe4d..135fe21718ec6c733bef117f2384644ead160b7c 100644 |
| --- a/content/app/content_main_runner.cc |
| +++ b/content/app/content_main_runner.cc |
| @@ -144,8 +144,20 @@ void InitializeFieldTrialAndFeatureList( |
| // Ensure any field trials in browser are reflected into the child |
| // process. |
| +#if defined(OS_POSIX) && !defined(OS_NACL) && !defined(OS_MACOSX) && \ |
| + !defined(OS_ANDROID) |
| + // On POSIX systems that use the zygote, we get the trials from a shared |
| + // memory segment backed by an fd instead of the command line. |
| + bool result = |
| + base::FieldTrialList::CreateTrialsFromDescriptor(kFieldTrialDescriptor); |
| + if (!result) { |
| + base::FieldTrialList::CreateTrialsFromCommandLine( |
| + command_line, switches::kFieldTrialHandle); |
| + } |
|
Alexei Svitkine (slow)
2016/11/29 17:38:27
I actually prefer you previous version which keeps
lawrencewu
2016/11/29 19:11:20
Done.
|
| +#else |
| base::FieldTrialList::CreateTrialsFromCommandLine( |
| command_line, switches::kFieldTrialHandle); |
| +#endif |
| std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); |
| feature_list->InitializeFromCommandLine( |
| @@ -478,6 +490,10 @@ class ContentMainRunnerImpl : public ContentMainRunner { |
| SetupSignalHandlers(); |
| g_fds->Set(kMojoIPCChannel, |
| kMojoIPCChannel + base::GlobalDescriptors::kBaseDescriptor); |
| + |
| + g_fds->Set( |
| + kFieldTrialDescriptor, |
| + kFieldTrialDescriptor + base::GlobalDescriptors::kBaseDescriptor); |
| #endif // !OS_ANDROID |
| #if defined(OS_LINUX) || defined(OS_OPENBSD) |