| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef COMPONENTS_FLAGS_UI_FEATURE_ENTRY_H_ | 5 #ifndef COMPONENTS_FLAGS_UI_FEATURE_ENTRY_H_ |
| 6 #define COMPONENTS_FLAGS_UI_FEATURE_ENTRY_H_ | 6 #define COMPONENTS_FLAGS_UI_FEATURE_ENTRY_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
| 11 | 11 |
| 12 namespace base { | 12 namespace base { |
| 13 struct Feature; | 13 struct Feature; |
| 14 } | 14 } |
| 15 | 15 |
| 16 namespace flags_ui { | 16 namespace flags_ui { |
| 17 | 17 |
| 18 // Generic experiment choice option names. |
| 19 extern const char kGenericExperimentChoiceDefault[]; |
| 20 extern const char kGenericExperimentChoiceEnabled[]; |
| 21 extern const char kGenericExperimentChoiceDisabled[]; |
| 22 extern const char kGenericExperimentChoiceAutomatic[]; |
| 23 |
| 18 // FeatureEntry is used to describe an experimental feature. | 24 // FeatureEntry is used to describe an experimental feature. |
| 19 // | 25 // |
| 20 // Note that features should eventually be either turned on by default with no | 26 // Note that features should eventually be either turned on by default with no |
| 21 // about_flags entries or deleted. Most feature entries should only be around | 27 // about_flags entries or deleted. Most feature entries should only be around |
| 22 // for a few milestones, until their full launch. | 28 // for a few milestones, until their full launch. |
| 23 struct FeatureEntry { | 29 struct FeatureEntry { |
| 24 enum Type { | 30 enum Type { |
| 25 // A feature with a single flag value. | 31 // A feature with a single flag value. |
| 26 // | 32 // |
| 27 // For new entries, it is recommended to instead use FEATURE_VALUE macro | 33 // For new entries, it is recommended to instead use FEATURE_VALUE macro |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 DEFAULT, | 81 DEFAULT, |
| 76 // The feature is enabled by the user. | 82 // The feature is enabled by the user. |
| 77 ENABLED, | 83 ENABLED, |
| 78 // The feature is disabled by the user. | 84 // The feature is disabled by the user. |
| 79 DISABLED, | 85 DISABLED, |
| 80 }; | 86 }; |
| 81 | 87 |
| 82 // Used for MULTI_VALUE types to describe one of the possible values the user | 88 // Used for MULTI_VALUE types to describe one of the possible values the user |
| 83 // can select. | 89 // can select. |
| 84 struct Choice { | 90 struct Choice { |
| 85 // ID of the message containing the choice name. | 91 // The message containing the choice name. |
| 86 int description_id; | 92 const char* description; |
| 87 | 93 |
| 88 // Command line switch and value to enabled for this choice. | 94 // Command line switch and value to enabled for this choice. |
| 89 const char* command_line_switch; | 95 const char* command_line_switch; |
| 90 // Simple switches that have no value should use "" for command_line_value. | 96 // Simple switches that have no value should use "" for command_line_value. |
| 91 const char* command_line_value; | 97 const char* command_line_value; |
| 92 }; | 98 }; |
| 93 | 99 |
| 94 // Configures one parameter for FEATURE_WITH_VARIATIONS_VALUE. | 100 // Configures one parameter for FEATURE_WITH_VARIATIONS_VALUE. |
| 95 struct FeatureParam { | 101 struct FeatureParam { |
| 96 const char* param_name; | 102 const char* param_name; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 113 // VariationsHttpHeaderProvider::SetDefaultVariationIds or nullptr | 119 // VariationsHttpHeaderProvider::SetDefaultVariationIds or nullptr |
| 114 // if you do not need to set any variation_id for this feature variation. | 120 // if you do not need to set any variation_id for this feature variation. |
| 115 const char* variation_id; | 121 const char* variation_id; |
| 116 }; | 122 }; |
| 117 | 123 |
| 118 // The internal name of the feature entry. This is never shown to the user. | 124 // The internal name of the feature entry. This is never shown to the user. |
| 119 // It _is_ however stored in the prefs file, so you shouldn't change the | 125 // It _is_ however stored in the prefs file, so you shouldn't change the |
| 120 // name of existing flags. | 126 // name of existing flags. |
| 121 const char* internal_name; | 127 const char* internal_name; |
| 122 | 128 |
| 123 // String id of the message containing the feature's name. | 129 // The feature's name. |
| 124 int visible_name_id; | 130 const char* visible_name; |
| 125 | 131 |
| 126 // String id of the message containing the feature's description. | 132 // The feature's description. |
| 127 int visible_description_id; | 133 const char* visible_description; |
| 128 | 134 |
| 129 // The platforms the feature is available on. | 135 // The platforms the feature is available on. |
| 130 // Needs to be more than a compile-time #ifdef because of profile sync. | 136 // Needs to be more than a compile-time #ifdef because of profile sync. |
| 131 unsigned supported_platforms; // bitmask | 137 unsigned supported_platforms; // bitmask |
| 132 | 138 |
| 133 // Type of entry. | 139 // Type of entry. |
| 134 Type type; | 140 Type type; |
| 135 | 141 |
| 136 // The commandline switch and value that are added when this flag is active. | 142 // The commandline switch and value that are added when this flag is active. |
| 137 // This is different from |internal_name| so that the commandline flag can be | 143 // This is different from |internal_name| so that the commandline flag can be |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 | 201 |
| 196 // Separator used for multi values. Multi values are represented in prefs as | 202 // Separator used for multi values. Multi values are represented in prefs as |
| 197 // name-of-experiment + kMultiSeparator + selected_index. | 203 // name-of-experiment + kMultiSeparator + selected_index. |
| 198 extern const char kMultiSeparator[]; | 204 extern const char kMultiSeparator[]; |
| 199 | 205 |
| 200 } // namespace | 206 } // namespace |
| 201 | 207 |
| 202 } // namespace flag_ui | 208 } // namespace flag_ui |
| 203 | 209 |
| 204 #endif // COMPONENTS_FLAGS_UI_FEATURE_ENTRY_H_ | 210 #endif // COMPONENTS_FLAGS_UI_FEATURE_ENTRY_H_ |
| OLD | NEW |