| Index: chrome/browser/about_flags.h
|
| diff --git a/chrome/browser/about_flags.h b/chrome/browser/about_flags.h
|
| index 9955516223449411f8264dd6ed4ab55d79a43b89..b2336ccc97bc04d9f1ae16938b6a769173c5c355 100644
|
| --- a/chrome/browser/about_flags.h
|
| +++ b/chrome/browser/about_flags.h
|
| @@ -27,31 +27,34 @@ class FlagsStorage;
|
|
|
| namespace about_flags {
|
|
|
| -// Experiment is used internally by about_flags to describe an experiment (and
|
| -// for testing).
|
| +// FeatureEntry is used by about_flags to describe an experimental feature.
|
| +//
|
| +// Note that features should eventually be either turned on by default with no
|
| +// about_flags entries or deleted. Most feature entries should only be around
|
| +// for a few milestones, until their full launch.
|
| +//
|
| // This is exposed only for testing.
|
| -struct Experiment {
|
| +struct FeatureEntry {
|
| enum Type {
|
| - // An experiment with a single value. This is typically what you want.
|
| + // A feature with a single flag value. This is typically what you want.
|
| SINGLE_VALUE,
|
|
|
| - // A default enabled experiment with a single value to disable it. This is
|
| - // for default enabled SINGLE_VALUE experiments. Please consider whether
|
| - // you really need a flag to disable the experiment, and even if so remove
|
| - // the disable flag as soon as it is no longer needed.
|
| + // A default enabled feature with a single flag value to disable it. Please
|
| + // consider whether you really need a flag to disable the feature, and even
|
| + // if so remove the disable flag as soon as it is no longer needed.
|
| SINGLE_DISABLE_VALUE,
|
|
|
| - // The experiment has multiple values only one of which is ever enabled.
|
| + // The feature has multiple values only one of which is ever enabled.
|
| // The first of the values should correspond to a deactivated state for this
|
| - // lab (i.e. no command line option). For MULTI_VALUE experiments the
|
| - // command_line of the Experiment is not used. If the experiment is enabled
|
| - // the command line of the selected Choice is enabled.
|
| + // feature (i.e. no command line option). For MULTI_VALUE entries, the
|
| + // command_line of the FeatureEntry is not used. If the experiment is
|
| + // enabled the command line of the selected Choice is enabled.
|
| MULTI_VALUE,
|
|
|
| - // The experiment has three possible values: Default, Enabled and Disabled.
|
| - // This should be used for experiments that may have their own logic to
|
| - // decide if the feature should be on when not explicitly specified via
|
| - // about flags - for example via FieldTrials.
|
| + // The feature has three possible values: Default, Enabled and Disabled.
|
| + // This should be used for features that may have their own logic to decide
|
| + // if the feature should be on when not explicitly specified via about
|
| + // flags - for example via FieldTrials.
|
| ENABLE_DISABLE_VALUE,
|
| };
|
|
|
| @@ -67,22 +70,22 @@ struct Experiment {
|
| const char* command_line_value;
|
| };
|
|
|
| - // The internal name of the experiment. This is never shown to the user.
|
| + // The internal name of the feature entry. This is never shown to the user.
|
| // It _is_ however stored in the prefs file, so you shouldn't change the
|
| // name of existing flags.
|
| const char* internal_name;
|
|
|
| - // String id of the message containing the experiment's name.
|
| + // String id of the message containing the feature's name.
|
| int visible_name_id;
|
|
|
| - // String id of the message containing the experiment's description.
|
| + // String id of the message containing the feature's description.
|
| int visible_description_id;
|
|
|
| - // The platforms the experiment is available on
|
| + // The platforms the feature is available on.
|
| // Needs to be more than a compile-time #ifdef because of profile sync.
|
| unsigned supported_platforms; // bitmask
|
|
|
| - // Type of experiment.
|
| + // Type of entry.
|
| Type type;
|
|
|
| // The commandline switch and value that are added when this flag is active.
|
| @@ -116,8 +119,8 @@ struct Experiment {
|
| // whether it should add the sentinel switches around flags.
|
| enum SentinelsMode { kNoSentinels, kAddSentinels };
|
|
|
| -// Reads the Labs |prefs| (called "Labs" for historical reasons) and adds the
|
| -// commandline flags belonging to the active experiments to |command_line|.
|
| +// Reads the state from |flags_storage| and adds the command line flags
|
| +// belonging to the active feature entries to |command_line|.
|
| void ConvertFlagsToSwitches(flags_ui::FlagsStorage* flags_storage,
|
| base::CommandLine* command_line,
|
| SentinelsMode sentinels);
|
| @@ -137,21 +140,22 @@ bool AreSwitchesIdenticalToCurrentCommandLine(
|
| // with the |kOsCrOSOwnerOnly| label should be enabled in the UI or not.
|
| enum FlagAccess { kGeneralAccessFlagsOnly, kOwnerAccessToFlags };
|
|
|
| -// Get the list of experiments. Experiments that are available on the current
|
| -// platform are appended to |supported_experiments|; all other experiments are
|
| -// appended to |unsupported_experiments|.
|
| -void GetFlagsExperimentsData(flags_ui::FlagsStorage* flags_storage,
|
| - FlagAccess access,
|
| - base::ListValue* supported_experiments,
|
| - base::ListValue* unsupported_experiments);
|
| +// Gets the list of feature entries. Entries that are available for the current
|
| +// platform are appended to |supported_entries|; all other entries are appended
|
| +// to |unsupported_entries|.
|
| +void GetFlagFeatureEntries(flags_ui::FlagsStorage* flags_storage,
|
| + FlagAccess access,
|
| + base::ListValue* supported_entries,
|
| + base::ListValue* unsupported_entries);
|
|
|
| -// Returns true if one of the experiment flags has been flipped since startup.
|
| +// Returns true if one of the feature entry flags has been flipped since
|
| +// startup.
|
| bool IsRestartNeededToCommitChanges();
|
|
|
| -// Enables or disables the experiment with id |internal_name|.
|
| -void SetExperimentEnabled(flags_ui::FlagsStorage* flags_storage,
|
| - const std::string& internal_name,
|
| - bool enable);
|
| +// Enables or disables the current with id |internal_name|.
|
| +void SetFeatureEntryEnabled(flags_ui::FlagsStorage* flags_storage,
|
| + const std::string& internal_name,
|
| + bool enable);
|
|
|
| // Removes all switches that were added to a command line by a previous call to
|
| // |ConvertFlagsToSwitches()|.
|
| @@ -185,12 +189,12 @@ namespace testing {
|
| // Clears internal global state, for unit tests.
|
| void ClearState();
|
|
|
| -// Sets the list of experiments. Pass in NULL to use the default set. This does
|
| -// NOT take ownership of the supplied Experiments.
|
| -void SetExperiments(const Experiment* e, size_t count);
|
| +// Sets the list of feature entries. Pass in null to use the default set. This
|
| +// does NOT take ownership of the supplied |entries|.
|
| +void SetFeatureEntries(const FeatureEntry* entries, size_t count);
|
|
|
| -// Returns the current set of experiments.
|
| -const Experiment* GetExperiments(size_t* count);
|
| +// Returns the current set of feature entries.
|
| +const FeatureEntry* GetFeatureEntries(size_t* count);
|
|
|
| // Separator used for multi values. Multi values are represented in prefs as
|
| // name-of-experiment + kMultiSeparator + selected_index.
|
|
|