| 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.
 | 
| 
 |