We want to store base::Features in shared memory, probably under a different type than field trials. They also need to contain a reference to their corresponding field trial.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5e03cd3432b1f7904a11a94766956e8871795d9f commit 5e03cd3432b1f7904a11a94766956e8871795d9f Author: lawrencewu <lawrencewu@chromium.org> Date: Mon Dec 05 16:23:28 2016 Store and retrieve features from shared memory If using shared memory, stores base::Features in the field trial allocator (under a different type defined in FeatureList) when spawning the first new process. When a child process is created, it will first try to get initialized from shared memory. If that doesn't work, it'll fallback to the command line. BUG= 661224 Review-Url: https://codereview.chromium.org/2546653002 Cr-Commit-Position: refs/heads/master@{#436311} [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/base/feature_list.cc [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/base/feature_list.h [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/base/feature_list_unittest.cc [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/base/metrics/field_trial.cc [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/base/metrics/field_trial.h [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/base/metrics/field_trial_unittest.cc [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/content/app/content_main_runner.cc [modify] https://crrev.com/5e03cd3432b1f7904a11a94766956e8871795d9f/content/browser/browser_child_process_host_impl.cc
Comment 1 by lawrencewu@chromium.org
, Nov 9 2016