OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/about_flags.h" | 5 #include "chrome/browser/about_flags.h" |
6 | 6 |
7 #include <iterator> | 7 #include <iterator> |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <utility> | 10 #include <utility> |
11 | 11 |
12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
13 #include "base/memory/singleton.h" | 13 #include "base/memory/singleton.h" |
| 14 #include "base/metrics/sparse_histogram.h" |
14 #include "base/stl_util.h" | 15 #include "base/stl_util.h" |
15 #include "base/strings/string_number_conversions.h" | 16 #include "base/strings/string_number_conversions.h" |
16 #include "base/strings/utf_string_conversions.h" | 17 #include "base/strings/utf_string_conversions.h" |
17 #include "base/values.h" | 18 #include "base/values.h" |
18 #include "cc/base/switches.h" | 19 #include "cc/base/switches.h" |
19 #include "chrome/browser/bookmarks/enhanced_bookmarks_features.h" | 20 #include "chrome/browser/bookmarks/enhanced_bookmarks_features.h" |
20 #include "chrome/browser/flags_storage.h" | 21 #include "chrome/browser/flags_storage.h" |
21 #include "chrome/common/chrome_content_client.h" | 22 #include "chrome/common/chrome_content_client.h" |
22 #include "chrome/common/chrome_switches.h" | 23 #include "chrome/common/chrome_switches.h" |
23 #include "components/autofill/core/common/autofill_switches.h" | 24 #include "components/autofill/core/common/autofill_switches.h" |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 56 |
56 #if defined(ENABLE_APP_LIST) | 57 #if defined(ENABLE_APP_LIST) |
57 #include "ui/app_list/app_list_switches.h" | 58 #include "ui/app_list/app_list_switches.h" |
58 #endif | 59 #endif |
59 | 60 |
60 using base::UserMetricsAction; | 61 using base::UserMetricsAction; |
61 | 62 |
62 namespace about_flags { | 63 namespace about_flags { |
63 | 64 |
64 // Macros to simplify specifying the type. | 65 // Macros to simplify specifying the type. |
65 #define SINGLE_VALUE_TYPE_AND_VALUE(command_line_switch, switch_value) \ | 66 #define SINGLE_VALUE_TYPE_AND_VALUE( \ |
66 Experiment::SINGLE_VALUE, \ | 67 command_line_switch, switch_value, switch_uma_id) \ |
67 command_line_switch, switch_value, NULL, NULL, NULL, 0 | 68 Experiment::SINGLE_VALUE, command_line_switch, switch_value, switch_uma_id, \ |
68 #define SINGLE_VALUE_TYPE(command_line_switch) \ | 69 NULL, NULL, 0, NULL, 0 |
69 SINGLE_VALUE_TYPE_AND_VALUE(command_line_switch, "") | 70 #define SINGLE_VALUE_TYPE(command_line_switch, switch_uma_id) \ |
70 #define ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(enable_switch, enable_value, \ | 71 SINGLE_VALUE_TYPE_AND_VALUE(command_line_switch, "", switch_uma_id) |
71 disable_switch, disable_value) \ | 72 #define ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(enable_switch, \ |
72 Experiment::ENABLE_DISABLE_VALUE, enable_switch, enable_value, \ | 73 enable_value, \ |
73 disable_switch, disable_value, NULL, 3 | 74 enable_switch_uma_id, \ |
74 #define ENABLE_DISABLE_VALUE_TYPE(enable_switch, disable_switch) \ | 75 disable_switch, \ |
75 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(enable_switch, "", disable_switch, "") | 76 disable_value, \ |
76 #define MULTI_VALUE_TYPE(choices) \ | 77 disable_switch_uma_id) \ |
77 Experiment::MULTI_VALUE, NULL, NULL, NULL, NULL, choices, arraysize(choices) | 78 Experiment::ENABLE_DISABLE_VALUE, enable_switch, enable_value, \ |
| 79 enable_switch_uma_id, disable_switch, disable_value, \ |
| 80 disable_switch_uma_id, NULL, 3 |
| 81 #define ENABLE_DISABLE_VALUE_TYPE(enable_switch, \ |
| 82 enable_switch_uma_id, \ |
| 83 disable_switch, \ |
| 84 disable_switch_uma_id) \ |
| 85 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(enable_switch, \ |
| 86 "", \ |
| 87 enable_switch_uma_id, \ |
| 88 disable_switch, \ |
| 89 "", \ |
| 90 disable_switch_uma_id) |
| 91 #define MULTI_VALUE_TYPE(choices) \ |
| 92 Experiment::MULTI_VALUE, NULL, NULL, 0, NULL, NULL, 0, choices, \ |
| 93 arraysize(choices) |
78 | 94 |
79 namespace { | 95 namespace { |
80 | 96 |
81 const unsigned kOsAll = kOsMac | kOsWin | kOsLinux | kOsCrOS | kOsAndroid; | 97 const unsigned kOsAll = kOsMac | kOsWin | kOsLinux | kOsCrOS | kOsAndroid; |
82 const unsigned kOsDesktop = kOsMac | kOsWin | kOsLinux | kOsCrOS; | 98 const unsigned kOsDesktop = kOsMac | kOsWin | kOsLinux | kOsCrOS; |
83 | 99 |
84 // Adds a |StringValue| to |list| for each platform where |bitmask| indicates | 100 // Adds a |StringValue| to |list| for each platform where |bitmask| indicates |
85 // whether the experiment is available on that platform. | 101 // whether the experiment is available on that platform. |
86 void AddOsStrings(unsigned bitmask, base::ListValue* list) { | 102 void AddOsStrings(unsigned bitmask, base::ListValue* list) { |
87 struct { | 103 struct { |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 GetSwitchString(chromeos::switches::kPolicySwitchesBegin)); | 143 GetSwitchString(chromeos::switches::kPolicySwitchesBegin)); |
128 last = std::find(cmdline.argv().begin(), cmdline.argv().end(), | 144 last = std::find(cmdline.argv().begin(), cmdline.argv().end(), |
129 GetSwitchString(chromeos::switches::kPolicySwitchesEnd)); | 145 GetSwitchString(chromeos::switches::kPolicySwitchesEnd)); |
130 if (first != cmdline.argv().end() && last != cmdline.argv().end()) | 146 if (first != cmdline.argv().end() && last != cmdline.argv().end()) |
131 flags.insert(first + 1, last); | 147 flags.insert(first + 1, last); |
132 #endif | 148 #endif |
133 return flags; | 149 return flags; |
134 } | 150 } |
135 | 151 |
136 const Experiment::Choice kEnableCompositingForFixedPositionChoices[] = { | 152 const Experiment::Choice kEnableCompositingForFixedPositionChoices[] = { |
137 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 153 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
138 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 154 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
139 switches::kEnableCompositingForFixedPosition, ""}, | 155 switches::kEnableCompositingForFixedPosition, "", |
| 156 UMA_HISTOGRAM_ID_kEnableCompositingForFixedPosition }, |
140 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 157 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
141 switches::kDisableCompositingForFixedPosition, ""}, | 158 switches::kDisableCompositingForFixedPosition, "", |
| 159 UMA_HISTOGRAM_ID_kDisableCompositingForFixedPosition }, |
142 { IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_HIGH_DPI, | 160 { IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_HIGH_DPI, |
143 switches::kEnableHighDpiCompositingForFixedPosition, ""} | 161 switches::kEnableHighDpiCompositingForFixedPosition, "", |
| 162 UMA_HISTOGRAM_ID_kEnableHighDpiCompositingForFixedPosition } |
144 }; | 163 }; |
145 | 164 |
146 const Experiment::Choice kEnableCompositingForTransitionChoices[] = { | 165 const Experiment::Choice kEnableCompositingForTransitionChoices[] = { |
147 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 166 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
148 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 167 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
149 switches::kEnableCompositingForTransition, ""}, | 168 switches::kEnableCompositingForTransition, "", |
| 169 UMA_HISTOGRAM_ID_kEnableCompositingForTransition }, |
150 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 170 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
151 switches::kDisableCompositingForTransition, ""}, | 171 switches::kDisableCompositingForTransition, "", |
| 172 UMA_HISTOGRAM_ID_kDisableCompositingForTransition }, |
152 }; | 173 }; |
153 | 174 |
154 const Experiment::Choice kEnableAcceleratedFixedRootBackgroundChoices[] = { | 175 const Experiment::Choice kEnableAcceleratedFixedRootBackgroundChoices[] = { |
155 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 176 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
156 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 177 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
157 switches::kEnableAcceleratedFixedRootBackground, ""}, | 178 switches::kEnableAcceleratedFixedRootBackground, "", |
| 179 UMA_HISTOGRAM_ID_kEnableAcceleratedFixedRootBackground }, |
158 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 180 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
159 switches::kDisableAcceleratedFixedRootBackground, ""}, | 181 switches::kDisableAcceleratedFixedRootBackground, "", |
| 182 UMA_HISTOGRAM_ID_kDisableAcceleratedFixedRootBackground }, |
160 }; | 183 }; |
161 | 184 |
162 const Experiment::Choice kTouchEventsChoices[] = { | 185 const Experiment::Choice kTouchEventsChoices[] = { |
163 { IDS_GENERIC_EXPERIMENT_CHOICE_AUTOMATIC, "", "" }, | 186 { IDS_GENERIC_EXPERIMENT_CHOICE_AUTOMATIC, "", "", 0 }, |
164 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 187 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
165 switches::kTouchEvents, | 188 switches::kTouchEvents, |
166 switches::kTouchEventsEnabled }, | 189 switches::kTouchEventsEnabled, |
| 190 UMA_HISTOGRAM_ID_kTouchEvents }, |
167 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 191 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
168 switches::kTouchEvents, | 192 switches::kTouchEvents, |
169 switches::kTouchEventsDisabled } | 193 switches::kTouchEventsDisabled, |
| 194 UMA_HISTOGRAM_ID_kTouchEvents } |
170 }; | 195 }; |
171 | 196 |
172 #if defined(USE_AURA) | 197 #if defined(USE_AURA) |
173 const Experiment::Choice kOverscrollHistoryNavigationChoices[] = { | 198 const Experiment::Choice kOverscrollHistoryNavigationChoices[] = { |
174 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, "", "" }, | 199 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, "", "", 0 }, |
175 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 200 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
176 switches::kOverscrollHistoryNavigation, | 201 switches::kOverscrollHistoryNavigation, |
177 "0" }, | 202 "0", |
| 203 UMA_HISTOGRAM_ID_kOverscrollHistoryNavigation }, |
178 { IDS_OVERSCROLL_HISTORY_NAVIGATION_SIMPLE_UI, | 204 { IDS_OVERSCROLL_HISTORY_NAVIGATION_SIMPLE_UI, |
179 switches::kOverscrollHistoryNavigation, | 205 switches::kOverscrollHistoryNavigation, |
180 "2" } | 206 "2", |
| 207 UMA_HISTOGRAM_ID_kOverscrollHistoryNavigation } |
181 }; | 208 }; |
182 #endif | 209 #endif |
183 | 210 |
184 #if !defined(DISABLE_NACL) | 211 #if !defined(DISABLE_NACL) |
185 const Experiment::Choice kNaClDebugMaskChoices[] = { | 212 const Experiment::Choice kNaClDebugMaskChoices[] = { |
186 // Secure shell can be used on ChromeOS for forwarding the TCP port opened by | 213 // Secure shell can be used on ChromeOS for forwarding the TCP port opened by |
187 // debug stub to a remote machine. Since secure shell uses NaCl, we usually | 214 // debug stub to a remote machine. Since secure shell uses NaCl, we usually |
188 // want to avoid debugging that. The PNaCl translator is also a NaCl module, | 215 // want to avoid debugging that. The PNaCl translator is also a NaCl module, |
189 // so by default we want to avoid debugging that. | 216 // so by default we want to avoid debugging that. |
190 // NOTE: As the default value must be the empty string, the mask excluding | 217 // NOTE: As the default value must be the empty string, the mask excluding |
191 // the PNaCl translator and secure shell is substituted elsewhere. | 218 // the PNaCl translator and secure shell is substituted elsewhere. |
192 { IDS_NACL_DEBUG_MASK_CHOICE_EXCLUDE_UTILS_PNACL, "", "" }, | 219 { IDS_NACL_DEBUG_MASK_CHOICE_EXCLUDE_UTILS_PNACL, "", "", 0 }, |
193 { IDS_NACL_DEBUG_MASK_CHOICE_DEBUG_ALL, switches::kNaClDebugMask, "*://*" }, | 220 { IDS_NACL_DEBUG_MASK_CHOICE_DEBUG_ALL, switches::kNaClDebugMask, "*://*", |
194 { IDS_NACL_DEBUG_MASK_CHOICE_INCLUDE_DEBUG, | 221 UMA_HISTOGRAM_ID_kNaClDebugMask }, |
195 switches::kNaClDebugMask, "*://*/*debug.nmf" } | 222 { IDS_NACL_DEBUG_MASK_CHOICE_INCLUDE_DEBUG, switches::kNaClDebugMask, |
| 223 "*://*/*debug.nmf", UMA_HISTOGRAM_ID_kNaClDebugMask } |
196 }; | 224 }; |
197 #endif | 225 #endif |
198 | 226 |
199 const Experiment::Choice kImplSidePaintingChoices[] = { | 227 const Experiment::Choice kImplSidePaintingChoices[] = { |
200 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 228 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
201 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 229 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
202 switches::kEnableImplSidePainting, ""}, | 230 switches::kEnableImplSidePainting, "", |
| 231 UMA_HISTOGRAM_ID_kEnableImplSidePainting }, |
203 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 232 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
204 switches::kDisableImplSidePainting, ""} | 233 switches::kDisableImplSidePainting, "", |
| 234 UMA_HISTOGRAM_ID_kDisableImplSidePainting } |
205 }; | 235 }; |
206 | 236 |
207 const Experiment::Choice kLCDTextChoices[] = { | 237 const Experiment::Choice kLCDTextChoices[] = { |
208 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 238 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
209 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, switches::kEnableLCDText, ""}, | 239 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, switches::kEnableLCDText, "", |
210 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, switches::kDisableLCDText, ""} | 240 UMA_HISTOGRAM_ID_kEnableLCDText }, |
| 241 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, switches::kDisableLCDText, "", |
| 242 UMA_HISTOGRAM_ID_kDisableLCDText } |
211 }; | 243 }; |
212 | 244 |
213 const Experiment::Choice kDistanceFieldTextChoices[] = { | 245 const Experiment::Choice kDistanceFieldTextChoices[] = { |
214 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 246 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
215 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 247 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
216 switches::kEnableDistanceFieldText, "" }, | 248 switches::kEnableDistanceFieldText, "", |
| 249 UMA_HISTOGRAM_ID_kEnableDistanceFieldText }, |
217 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 250 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
218 switches::kDisableDistanceFieldText, "" } | 251 switches::kDisableDistanceFieldText, "", |
| 252 UMA_HISTOGRAM_ID_kDisableDistanceFieldText } |
219 }; | 253 }; |
220 | 254 |
221 #ifndef USE_AURA | 255 #ifndef USE_AURA |
222 const Experiment::Choice kDelegatedRendererChoices[] = { | 256 const Experiment::Choice kDelegatedRendererChoices[] = { |
223 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 257 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
224 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 258 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
225 switches::kEnableDelegatedRenderer, ""}, | 259 switches::kEnableDelegatedRenderer, "", |
| 260 UMA_HISTOGRAM_ID_kEnableDelegatedRenderer }, |
226 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 261 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
227 switches::kDisableDelegatedRenderer, ""} | 262 switches::kDisableDelegatedRenderer, "", |
| 263 UMA_HISTOGRAM_ID_kDisableDelegatedRenderer } |
228 }; | 264 }; |
229 #endif | 265 #endif |
230 | 266 |
231 const Experiment::Choice kMaxTilesForInterestAreaChoices[] = { | 267 const Experiment::Choice kMaxTilesForInterestAreaChoices[] = { |
232 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 268 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
233 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_SHORT, | 269 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_SHORT, |
234 cc::switches::kMaxTilesForInterestArea, "64"}, | 270 cc::switches::kMaxTilesForInterestArea, "64", |
| 271 UMA_HISTOGRAM_ID_kMaxTilesForInterestArea }, |
235 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_TALL, | 272 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_TALL, |
236 cc::switches::kMaxTilesForInterestArea, "128"}, | 273 cc::switches::kMaxTilesForInterestArea, "128", |
| 274 UMA_HISTOGRAM_ID_kMaxTilesForInterestArea }, |
237 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_GRANDE, | 275 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_GRANDE, |
238 cc::switches::kMaxTilesForInterestArea, "256"}, | 276 cc::switches::kMaxTilesForInterestArea, "256", |
| 277 UMA_HISTOGRAM_ID_kMaxTilesForInterestArea }, |
239 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_VENTI, | 278 { IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_VENTI, |
240 cc::switches::kMaxTilesForInterestArea, "512"} | 279 cc::switches::kMaxTilesForInterestArea, "512", |
| 280 UMA_HISTOGRAM_ID_kMaxTilesForInterestArea } |
241 }; | 281 }; |
242 | 282 |
243 const Experiment::Choice kDefaultTileWidthChoices[] = { | 283 const Experiment::Choice kDefaultTileWidthChoices[] = { |
244 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 284 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
245 { IDS_FLAGS_DEFAULT_TILE_WIDTH_SHORT, | 285 { IDS_FLAGS_DEFAULT_TILE_WIDTH_SHORT, |
246 switches::kDefaultTileWidth, "128"}, | 286 switches::kDefaultTileWidth, "128", UMA_HISTOGRAM_ID_kDefaultTileWidth }, |
247 { IDS_FLAGS_DEFAULT_TILE_WIDTH_TALL, | 287 { IDS_FLAGS_DEFAULT_TILE_WIDTH_TALL, |
248 switches::kDefaultTileWidth, "256"}, | 288 switches::kDefaultTileWidth, "256", UMA_HISTOGRAM_ID_kDefaultTileWidth }, |
249 { IDS_FLAGS_DEFAULT_TILE_WIDTH_GRANDE, | 289 { IDS_FLAGS_DEFAULT_TILE_WIDTH_GRANDE, |
250 switches::kDefaultTileWidth, "512"}, | 290 switches::kDefaultTileWidth, "512", UMA_HISTOGRAM_ID_kDefaultTileWidth }, |
251 { IDS_FLAGS_DEFAULT_TILE_WIDTH_VENTI, | 291 { IDS_FLAGS_DEFAULT_TILE_WIDTH_VENTI, |
252 switches::kDefaultTileWidth, "1024"} | 292 switches::kDefaultTileWidth, "1024", UMA_HISTOGRAM_ID_kDefaultTileWidth } |
253 }; | 293 }; |
254 | 294 |
255 const Experiment::Choice kDefaultTileHeightChoices[] = { | 295 const Experiment::Choice kDefaultTileHeightChoices[] = { |
256 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 296 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
257 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_SHORT, | 297 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_SHORT, |
258 switches::kDefaultTileHeight, "128"}, | 298 switches::kDefaultTileHeight, "128", UMA_HISTOGRAM_ID_kDefaultTileHeight }, |
259 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_TALL, | 299 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_TALL, |
260 switches::kDefaultTileHeight, "256"}, | 300 switches::kDefaultTileHeight, "256", UMA_HISTOGRAM_ID_kDefaultTileHeight }, |
261 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_GRANDE, | 301 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_GRANDE, |
262 switches::kDefaultTileHeight, "512"}, | 302 switches::kDefaultTileHeight, "512", UMA_HISTOGRAM_ID_kDefaultTileHeight }, |
263 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_VENTI, | 303 { IDS_FLAGS_DEFAULT_TILE_HEIGHT_VENTI, |
264 switches::kDefaultTileHeight, "1024"} | 304 switches::kDefaultTileHeight, "1024", UMA_HISTOGRAM_ID_kDefaultTileHeight } |
265 }; | 305 }; |
266 | 306 |
267 const Experiment::Choice kSimpleCacheBackendChoices[] = { | 307 const Experiment::Choice kSimpleCacheBackendChoices[] = { |
268 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 308 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
269 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 309 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
270 switches::kUseSimpleCacheBackend, "off" }, | 310 switches::kUseSimpleCacheBackend, "off", |
| 311 UMA_HISTOGRAM_ID_kUseSimpleCacheBackend }, |
271 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 312 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
272 switches::kUseSimpleCacheBackend, "on"} | 313 switches::kUseSimpleCacheBackend, "on", |
| 314 UMA_HISTOGRAM_ID_kUseSimpleCacheBackend } |
273 }; | 315 }; |
274 | 316 |
275 #if defined(USE_AURA) | 317 #if defined(USE_AURA) |
276 const Experiment::Choice kTabCaptureUpscaleQualityChoices[] = { | 318 const Experiment::Choice kTabCaptureUpscaleQualityChoices[] = { |
277 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 319 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
278 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_FAST, | 320 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_FAST, |
279 switches::kTabCaptureUpscaleQuality, "fast" }, | 321 switches::kTabCaptureUpscaleQuality, "fast", |
| 322 UMA_HISTOGRAM_ID_kTabCaptureUpscaleQuality }, |
280 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_GOOD, | 323 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_GOOD, |
281 switches::kTabCaptureUpscaleQuality, "good" }, | 324 switches::kTabCaptureUpscaleQuality, "good", |
| 325 UMA_HISTOGRAM_ID_kTabCaptureUpscaleQuality }, |
282 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_BEST, | 326 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_BEST, |
283 switches::kTabCaptureUpscaleQuality, "best" }, | 327 switches::kTabCaptureUpscaleQuality, "best", |
| 328 UMA_HISTOGRAM_ID_kTabCaptureUpscaleQuality }, |
284 }; | 329 }; |
285 | 330 |
286 const Experiment::Choice kTabCaptureDownscaleQualityChoices[] = { | 331 const Experiment::Choice kTabCaptureDownscaleQualityChoices[] = { |
287 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 332 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
288 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_FAST, | 333 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_FAST, |
289 switches::kTabCaptureDownscaleQuality, "fast" }, | 334 switches::kTabCaptureDownscaleQuality, "fast", |
| 335 UMA_HISTOGRAM_ID_kTabCaptureDownscaleQuality }, |
290 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_GOOD, | 336 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_GOOD, |
291 switches::kTabCaptureDownscaleQuality, "good" }, | 337 switches::kTabCaptureDownscaleQuality, "good", |
| 338 UMA_HISTOGRAM_ID_kTabCaptureDownscaleQuality }, |
292 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_BEST, | 339 { IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_BEST, |
293 switches::kTabCaptureDownscaleQuality, "best" }, | 340 switches::kTabCaptureDownscaleQuality, "best", |
| 341 UMA_HISTOGRAM_ID_kTabCaptureDownscaleQuality }, |
294 }; | 342 }; |
295 #endif | 343 #endif |
296 | 344 |
297 #if defined(USE_AURA) || defined(OS_LINUX) | 345 #if defined(USE_AURA) || defined(OS_LINUX) |
298 const Experiment::Choice kOverlayScrollbarChoices[] = { | 346 const Experiment::Choice kOverlayScrollbarChoices[] = { |
299 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 347 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
300 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 348 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
301 switches::kEnableOverlayScrollbar, ""}, | 349 switches::kEnableOverlayScrollbar, "", |
| 350 UMA_HISTOGRAM_ID_kEnableOverlayScrollbar }, |
302 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 351 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
303 switches::kDisableOverlayScrollbar, ""} | 352 switches::kDisableOverlayScrollbar, "", |
| 353 UMA_HISTOGRAM_ID_kDisableOverlayScrollbar } |
304 }; | 354 }; |
305 #endif | 355 #endif |
306 | 356 |
307 const Experiment::Choice kZeroCopyChoices[] = { | 357 const Experiment::Choice kZeroCopyChoices[] = { |
308 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 358 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
309 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 359 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
310 switches::kEnableZeroCopy, ""}, | 360 switches::kEnableZeroCopy, "", UMA_HISTOGRAM_ID_kEnableZeroCopy }, |
311 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 361 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
312 switches::kDisableZeroCopy, ""} | 362 switches::kDisableZeroCopy, "", UMA_HISTOGRAM_ID_kDisableZeroCopy } |
313 }; | 363 }; |
314 | 364 |
315 #if defined(OS_ANDROID) | 365 #if defined(OS_ANDROID) |
316 const Experiment::Choice kZeroSuggestExperimentsChoices[] = { | 366 const Experiment::Choice kZeroSuggestExperimentsChoices[] = { |
317 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 367 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
318 { IDS_FLAGS_ZERO_SUGGEST_MOST_VISITED, | 368 { IDS_FLAGS_ZERO_SUGGEST_MOST_VISITED, |
319 switches::kEnableZeroSuggestMostVisited, ""}, | 369 switches::kEnableZeroSuggestMostVisited, "", |
| 370 UMA_HISTOGRAM_ID_kEnableZeroSuggestMostVisited }, |
320 { IDS_FLAGS_ZERO_SUGGEST_ETHER_SERP, | 371 { IDS_FLAGS_ZERO_SUGGEST_ETHER_SERP, |
321 switches::kEnableZeroSuggestEtherSerp, ""}, | 372 switches::kEnableZeroSuggestEtherSerp, "", |
| 373 UMA_HISTOGRAM_ID_kEnableZeroSuggestEtherSerp }, |
322 { IDS_FLAGS_ZERO_SUGGEST_ETHER_NO_SERP, | 374 { IDS_FLAGS_ZERO_SUGGEST_ETHER_NO_SERP, |
323 switches::kEnableZeroSuggestEtherNoSerp, ""}, | 375 switches::kEnableZeroSuggestEtherNoSerp, "", |
| 376 UMA_HISTOGRAM_ID_kEnableZeroSuggestEtherNoSerp }, |
324 { IDS_FLAGS_ZERO_SUGGEST_PERSONALIZED, | 377 { IDS_FLAGS_ZERO_SUGGEST_PERSONALIZED, |
325 switches::kEnableZeroSuggestPersonalized, ""}, | 378 switches::kEnableZeroSuggestPersonalized, "", |
| 379 UMA_HISTOGRAM_ID_kEnableZeroSuggestPersonalized }, |
326 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 380 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
327 switches::kDisableZeroSuggest, ""} | 381 switches::kDisableZeroSuggest, "", UMA_HISTOGRAM_ID_kDisableZeroSuggest } |
328 }; | 382 }; |
329 #endif | 383 #endif |
330 | 384 |
331 const Experiment::Choice kNumRasterThreadsChoices[] = { | 385 const Experiment::Choice kNumRasterThreadsChoices[] = { |
332 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 386 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
333 { IDS_FLAGS_NUM_RASTER_THREADS_ONE, switches::kNumRasterThreads, "1" }, | 387 { IDS_FLAGS_NUM_RASTER_THREADS_ONE, |
334 { IDS_FLAGS_NUM_RASTER_THREADS_TWO, switches::kNumRasterThreads, "2" }, | 388 switches::kNumRasterThreads, "1", UMA_HISTOGRAM_ID_kNumRasterThreads }, |
335 { IDS_FLAGS_NUM_RASTER_THREADS_THREE, switches::kNumRasterThreads, "3" }, | 389 { IDS_FLAGS_NUM_RASTER_THREADS_TWO, |
336 { IDS_FLAGS_NUM_RASTER_THREADS_FOUR, switches::kNumRasterThreads, "4" } | 390 switches::kNumRasterThreads, "2", UMA_HISTOGRAM_ID_kNumRasterThreads }, |
| 391 { IDS_FLAGS_NUM_RASTER_THREADS_THREE, |
| 392 switches::kNumRasterThreads, "3", UMA_HISTOGRAM_ID_kNumRasterThreads }, |
| 393 { IDS_FLAGS_NUM_RASTER_THREADS_FOUR, |
| 394 switches::kNumRasterThreads, "4", UMA_HISTOGRAM_ID_kNumRasterThreads } |
337 }; | 395 }; |
338 | 396 |
339 const Experiment::Choice kEnableGpuRasterizationChoices[] = { | 397 const Experiment::Choice kEnableGpuRasterizationChoices[] = { |
340 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 398 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
341 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 399 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
342 switches::kEnableGpuRasterization, "" }, | 400 switches::kEnableGpuRasterization, "", |
| 401 UMA_HISTOGRAM_ID_kEnableGpuRasterization }, |
343 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 402 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
344 switches::kDisableGpuRasterization, "" }, | 403 switches::kDisableGpuRasterization, "", |
| 404 UMA_HISTOGRAM_ID_kDisableGpuRasterization }, |
345 { IDS_FLAGS_FORCE_GPU_RASTERIZATION, | 405 { IDS_FLAGS_FORCE_GPU_RASTERIZATION, |
346 switches::kForceGpuRasterization, "" }, | 406 switches::kForceGpuRasterization, "", |
| 407 UMA_HISTOGRAM_ID_kForceGpuRasterization }, |
347 }; | 408 }; |
348 | 409 |
349 // We're using independent flags here (as opposed to a common flag with | 410 // We're using independent flags here (as opposed to a common flag with |
350 // different values) to be able to enable/disable the entire experience | 411 // different values) to be able to enable/disable the entire experience |
351 // associated with this feature server-side from the FieldTrial (the complete | 412 // associated with this feature server-side from the FieldTrial (the complete |
352 // experience includes other flag changes as well). It is not currently possible | 413 // experience includes other flag changes as well). It is not currently possible |
353 // to do that with "flag=value" flags. | 414 // to do that with "flag=value" flags. |
354 const Experiment::Choice kSearchButtonInOmniboxChoices[] = { | 415 const Experiment::Choice kSearchButtonInOmniboxChoices[] = { |
355 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 416 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
356 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 417 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
357 switches::kDisableSearchButtonInOmnibox, ""}, | 418 switches::kDisableSearchButtonInOmnibox, "", |
| 419 UMA_HISTOGRAM_ID_kDisableSearchButtonInOmnibox }, |
358 { IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLE_FOR_STR, | 420 { IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLE_FOR_STR, |
359 switches::kEnableSearchButtonInOmniboxForStr, ""}, | 421 switches::kEnableSearchButtonInOmniboxForStr, "", |
| 422 UMA_HISTOGRAM_ID_kEnableSearchButtonInOmniboxForStr }, |
360 { IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLE_FOR_STR_OR_IIP, | 423 { IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLE_FOR_STR_OR_IIP, |
361 switches::kEnableSearchButtonInOmniboxForStrOrIip, ""}, | 424 switches::kEnableSearchButtonInOmniboxForStrOrIip, "", |
| 425 UMA_HISTOGRAM_ID_kEnableSearchButtonInOmniboxForStrOrIip }, |
362 { IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLED, | 426 { IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLED, |
363 switches::kEnableSearchButtonInOmniboxAlways, ""} | 427 switches::kEnableSearchButtonInOmniboxAlways, "", |
| 428 UMA_HISTOGRAM_ID_kEnableSearchButtonInOmniboxAlways } |
364 }; | 429 }; |
365 | 430 |
366 // See comment above for kSearchButtonInOmniboxChoices. The same reasoning | 431 // See comment above for kSearchButtonInOmniboxChoices. The same reasoning |
367 // applies here. | 432 // applies here. |
368 const Experiment::Choice kOriginChipChoices[] = { | 433 const Experiment::Choice kOriginChipChoices[] = { |
369 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 434 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
370 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, switches::kDisableOriginChip, ""}, | 435 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
371 { IDS_FLAGS_ORIGIN_CHIP_ALWAYS, switches::kEnableOriginChipAlways, ""}, | 436 switches::kDisableOriginChip, "", UMA_HISTOGRAM_ID_kDisableOriginChip }, |
372 { IDS_FLAGS_ORIGIN_CHIP_ON_SRP, switches::kEnableOriginChipOnSrp, ""} | 437 { IDS_FLAGS_ORIGIN_CHIP_ALWAYS, |
| 438 switches::kEnableOriginChipAlways, "", |
| 439 UMA_HISTOGRAM_ID_kEnableOriginChipAlways }, |
| 440 { IDS_FLAGS_ORIGIN_CHIP_ON_SRP, |
| 441 switches::kEnableOriginChipOnSrp, "", |
| 442 UMA_HISTOGRAM_ID_kEnableOriginChipOnSrp } |
373 }; | 443 }; |
374 | 444 |
375 const Experiment::Choice kTouchScrollingModeChoices[] = { | 445 const Experiment::Choice kTouchScrollingModeChoices[] = { |
376 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 446 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
377 { IDS_FLAGS_TOUCH_SCROLLING_MODE_TOUCHCANCEL, | 447 { IDS_FLAGS_TOUCH_SCROLLING_MODE_TOUCHCANCEL, |
378 switches::kTouchScrollingMode, | 448 switches::kTouchScrollingMode, |
379 switches::kTouchScrollingModeTouchcancel }, | 449 switches::kTouchScrollingModeTouchcancel, |
| 450 UMA_HISTOGRAM_ID_kTouchScrollingMode }, |
380 { IDS_FLAGS_TOUCH_SCROLLING_MODE_ASYNC_TOUCHMOVE, | 451 { IDS_FLAGS_TOUCH_SCROLLING_MODE_ASYNC_TOUCHMOVE, |
381 switches::kTouchScrollingMode, | 452 switches::kTouchScrollingMode, |
382 switches::kTouchScrollingModeAsyncTouchmove }, | 453 switches::kTouchScrollingModeAsyncTouchmove, |
| 454 UMA_HISTOGRAM_ID_kTouchScrollingMode }, |
383 { IDS_FLAGS_TOUCH_SCROLLING_MODE_SYNC_TOUCHMOVE, | 455 { IDS_FLAGS_TOUCH_SCROLLING_MODE_SYNC_TOUCHMOVE, |
384 switches::kTouchScrollingMode, | 456 switches::kTouchScrollingMode, |
385 switches::kTouchScrollingModeSyncTouchmove }, | 457 switches::kTouchScrollingModeSyncTouchmove, |
| 458 UMA_HISTOGRAM_ID_kTouchScrollingMode }, |
386 }; | 459 }; |
387 | 460 |
388 #if defined(ENABLE_APP_LIST) | 461 #if defined(ENABLE_APP_LIST) |
389 const Experiment::Choice kEnableSyncAppListChoices[] = { | 462 const Experiment::Choice kEnableSyncAppListChoices[] = { |
390 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 463 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
391 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 464 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
392 app_list::switches::kEnableSyncAppList, "" }, | 465 app_list::switches::kEnableSyncAppList, "", |
| 466 UMA_HISTOGRAM_ID_kEnableSyncAppList }, |
393 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 467 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
394 app_list::switches::kDisableSyncAppList, "" }, | 468 app_list::switches::kDisableSyncAppList, "", |
| 469 UMA_HISTOGRAM_ID_kDisableSyncAppList }, |
395 }; | 470 }; |
396 #endif | 471 #endif |
397 | 472 |
398 const Experiment::Choice kExtensionContentVerificationChoices[] = { | 473 const Experiment::Choice kExtensionContentVerificationChoices[] = { |
399 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 474 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
400 { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_BOOTSTRAP, | 475 { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_BOOTSTRAP, |
401 extensions::switches::kExtensionContentVerification, | 476 extensions::switches::kExtensionContentVerification, |
402 extensions::switches::kExtensionContentVerificationBootstrap }, | 477 extensions::switches::kExtensionContentVerificationBootstrap, |
| 478 UMA_HISTOGRAM_ID_kExtensionContentVerification }, |
403 { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE, | 479 { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE, |
404 extensions::switches::kExtensionContentVerification, | 480 extensions::switches::kExtensionContentVerification, |
405 extensions::switches::kExtensionContentVerificationEnforce }, | 481 extensions::switches::kExtensionContentVerificationEnforce, |
| 482 UMA_HISTOGRAM_ID_kExtensionContentVerification }, |
406 { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE_STRICT, | 483 { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE_STRICT, |
407 extensions::switches::kExtensionContentVerification, | 484 extensions::switches::kExtensionContentVerification, |
408 extensions::switches::kExtensionContentVerificationEnforceStrict }, | 485 extensions::switches::kExtensionContentVerificationEnforceStrict, |
| 486 UMA_HISTOGRAM_ID_kExtensionContentVerification }, |
409 }; | 487 }; |
410 | 488 |
411 // Using independent flags (instead of flag=value flags) to be able to | 489 // Using independent flags (instead of flag=value flags) to be able to |
412 // associate the version with a FieldTrial. FieldTrials don't currently support | 490 // associate the version with a FieldTrial. FieldTrials don't currently support |
413 // flag=value flags. | 491 // flag=value flags. |
414 const Experiment::Choice kSSLInterstitialVersions[] = { | 492 const Experiment::Choice kSSLInterstitialVersions[] = { |
415 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 493 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
416 { IDS_FLAGS_SSL_INTERSTITIAL_VERSION_V1, | 494 { IDS_FLAGS_SSL_INTERSTITIAL_VERSION_V1, |
417 switches::kSSLInterstitialVersionV1, "" }, | 495 switches::kSSLInterstitialVersionV1, "", |
| 496 UMA_HISTOGRAM_ID_kSSLInterstitialVersionV1 }, |
418 { IDS_FLAGS_SSL_INTERSTITIAL_VERSION_V2_GRAY, | 497 { IDS_FLAGS_SSL_INTERSTITIAL_VERSION_V2_GRAY, |
419 switches::kSSLInterstitialVersionV2Gray, "" }, | 498 switches::kSSLInterstitialVersionV2Gray, "", |
| 499 UMA_HISTOGRAM_ID_kSSLInterstitialVersionV2Gray }, |
420 { IDS_FLAGS_SSL_INTERSTITIAL_VERSION_V2_COLORFUL, | 500 { IDS_FLAGS_SSL_INTERSTITIAL_VERSION_V2_COLORFUL, |
421 switches::kSSLInterstitialVersionV2Colorful, "" }, | 501 switches::kSSLInterstitialVersionV2Colorful, "", |
| 502 UMA_HISTOGRAM_ID_kSSLInterstitialVersionV2Colorful }, |
422 }; | 503 }; |
423 | 504 |
424 // Using independent flags (instead of flag=value flags) to be able to | 505 // Using independent flags (instead of flag=value flags) to be able to |
425 // associate the version with a FieldTrial. FieldTrials don't currently support | 506 // associate the version with a FieldTrial. FieldTrials don't currently support |
426 // flag=value flags. | 507 // flag=value flags. |
427 const Experiment::Choice kMalwareInterstitialVersions[] = { | 508 const Experiment::Choice kMalwareInterstitialVersions[] = { |
428 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 509 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
429 { IDS_FLAGS_MALWARE_INTERSTITIAL_VERSION_V2, | 510 { IDS_FLAGS_MALWARE_INTERSTITIAL_VERSION_V2, |
430 switches::kMalwareInterstitialVersionV2, "" }, | 511 switches::kMalwareInterstitialVersionV2, "", |
| 512 UMA_HISTOGRAM_ID_kMalwareInterstitialVersionV2 }, |
431 { IDS_FLAGS_MALWARE_INTERSTITIAL_VERSION_V3, | 513 { IDS_FLAGS_MALWARE_INTERSTITIAL_VERSION_V3, |
432 switches::kMalwareInterstitialVersionV3, "" }, | 514 switches::kMalwareInterstitialVersionV3, "", |
| 515 UMA_HISTOGRAM_ID_kMalwareInterstitialVersionV3 }, |
433 }; | 516 }; |
434 | 517 |
435 #if defined(OS_CHROMEOS) | 518 #if defined(OS_CHROMEOS) |
436 const Experiment::Choice kEnableFileManagerMTPChoices[] = { | 519 const Experiment::Choice kEnableFileManagerMTPChoices[] = { |
437 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 520 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
438 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 521 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
439 chromeos::switches::kEnableFileManagerMTP, "true" }, | 522 chromeos::switches::kEnableFileManagerMTP, "true", |
| 523 UMA_HISTOGRAM_ID_kEnableFileManagerMTP }, |
440 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 524 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
441 chromeos::switches::kEnableFileManagerMTP, "false" } | 525 chromeos::switches::kEnableFileManagerMTP, "false", |
| 526 UMA_HISTOGRAM_ID_kEnableFileManagerMTP } |
442 }; | 527 }; |
443 | 528 |
444 const Experiment::Choice kEnableFileManagerNewGalleryChoices[] = { | 529 const Experiment::Choice kEnableFileManagerNewGalleryChoices[] = { |
445 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""}, | 530 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
446 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 531 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
447 chromeos::switches::kFileManagerEnableNewGallery, "true"}, | 532 chromeos::switches::kFileManagerEnableNewGallery, "true", |
| 533 UMA_HISTOGRAM_ID_kFileManagerEnableNewGallery }, |
448 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 534 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
449 chromeos::switches::kFileManagerEnableNewGallery, "false"} | 535 chromeos::switches::kFileManagerEnableNewGallery, "false", |
| 536 UMA_HISTOGRAM_ID_kFileManagerEnableNewGallery } |
450 }; | 537 }; |
451 #endif | 538 #endif |
452 | 539 |
453 const Experiment::Choice kEnableSettingsWindowChoices[] = { | 540 const Experiment::Choice kEnableSettingsWindowChoices[] = { |
454 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, | 541 { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "", 0 }, |
455 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, | 542 { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, |
456 ::switches::kEnableSettingsWindow, "" }, | 543 ::switches::kEnableSettingsWindow, "", |
| 544 UMA_HISTOGRAM_ID_kEnableSettingsWindow }, |
457 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, | 545 { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, |
458 ::switches::kDisableSettingsWindow, "" }, | 546 ::switches::kDisableSettingsWindow, "", |
| 547 UMA_HISTOGRAM_ID_kDisableSettingsWindow }, |
459 }; | 548 }; |
460 | 549 |
461 // RECORDING USER METRICS FOR FLAGS: | 550 // RECORDING USER METRICS FOR FLAGS: |
462 // ----------------------------------------------------------------------------- | 551 // ----------------------------------------------------------------------------- |
463 // The first line of the experiment is the internal name. If you'd like to | 552 // The first line of the experiment is the internal name. If you'd like to |
464 // gather statistics about the usage of your flag, you should append a marker | 553 // gather statistics about the usage of your flag, you should append a marker |
465 // comment to the end of the feature name, like so: | 554 // comment to the end of the feature name, like so: |
466 // "my-special-feature", // FLAGS:RECORD_UMA | 555 // "my-special-feature", // FLAGS:RECORD_UMA |
467 // | 556 // |
468 // After doing that, run | 557 // After doing that, run |
(...skipping 24 matching lines...) Expand all Loading... |
493 // array of choices. | 582 // array of choices. |
494 // See the documentation of Experiment for details on the fields. | 583 // See the documentation of Experiment for details on the fields. |
495 // | 584 // |
496 // When adding a new choice, add it to the end of the list. | 585 // When adding a new choice, add it to the end of the list. |
497 const Experiment kExperiments[] = { | 586 const Experiment kExperiments[] = { |
498 { | 587 { |
499 "ignore-gpu-blacklist", | 588 "ignore-gpu-blacklist", |
500 IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME, | 589 IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME, |
501 IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION, | 590 IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION, |
502 kOsAll, | 591 kOsAll, |
503 SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist) | 592 SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist, |
| 593 UMA_HISTOGRAM_ID_kIgnoreGpuBlacklist) |
504 }, | 594 }, |
505 { | 595 { |
506 "threaded-compositing-mode", | 596 "threaded-compositing-mode", |
507 IDS_FLAGS_THREADED_COMPOSITING_MODE_NAME, | 597 IDS_FLAGS_THREADED_COMPOSITING_MODE_NAME, |
508 IDS_FLAGS_THREADED_COMPOSITING_MODE_DESCRIPTION, | 598 IDS_FLAGS_THREADED_COMPOSITING_MODE_DESCRIPTION, |
509 #if !defined(USE_AURA) | 599 #if !defined(USE_AURA) |
510 kOsLinux, | 600 kOsLinux, |
511 #else | 601 #else |
512 0, | 602 0, |
513 #endif | 603 #endif |
514 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableThreadedCompositing, | 604 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableThreadedCompositing, |
515 switches::kDisableThreadedCompositing) | 605 UMA_HISTOGRAM_ID_kEnableThreadedCompositing, |
| 606 switches::kDisableThreadedCompositing, |
| 607 UMA_HISTOGRAM_ID_kDisableThreadedCompositing) |
516 }, | 608 }, |
517 { | 609 { |
518 "force-accelerated-composited-scrolling", | 610 "force-accelerated-composited-scrolling", |
519 IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_NAME, | 611 IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_NAME, |
520 IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_DESCRIPTION, | 612 IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_DESCRIPTION, kOsAll, |
521 kOsAll, | 613 ENABLE_DISABLE_VALUE_TYPE( |
522 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAcceleratedOverflowScroll, | 614 switches::kEnableAcceleratedOverflowScroll, |
523 switches::kDisableAcceleratedOverflowScroll) | 615 UMA_HISTOGRAM_ID_kEnableAcceleratedOverflowScroll, |
| 616 switches::kDisableAcceleratedOverflowScroll, |
| 617 UMA_HISTOGRAM_ID_kDisableAcceleratedOverflowScroll) |
524 }, | 618 }, |
525 { | 619 { |
526 "disable_layer_squashing", | 620 "disable_layer_squashing", |
527 IDS_FLAGS_DISABLE_LAYER_SQUASHING_NAME, | 621 IDS_FLAGS_DISABLE_LAYER_SQUASHING_NAME, |
528 IDS_FLAGS_DISABLE_LAYER_SQUASHING_DESCRIPTION, | 622 IDS_FLAGS_DISABLE_LAYER_SQUASHING_DESCRIPTION, |
529 kOsAll, | 623 kOsAll, |
530 SINGLE_VALUE_TYPE(switches::kDisableLayerSquashing) | 624 SINGLE_VALUE_TYPE(switches::kDisableLayerSquashing, |
| 625 UMA_HISTOGRAM_ID_kDisableLayerSquashing) |
531 }, | 626 }, |
532 #if defined(OS_WIN) | 627 #if defined(OS_WIN) |
533 { | 628 { |
534 "disable-direct-write", | 629 "disable-direct-write", |
535 IDS_FLAGS_DISABLE_DIRECT_WRITE_NAME, | 630 IDS_FLAGS_DISABLE_DIRECT_WRITE_NAME, |
536 IDS_FLAGS_DISABLE_DIRECT_WRITE_DESCRIPTION, | 631 IDS_FLAGS_DISABLE_DIRECT_WRITE_DESCRIPTION, |
537 kOsWin, | 632 kOsWin, |
538 SINGLE_VALUE_TYPE(switches::kDisableDirectWrite) | 633 SINGLE_VALUE_TYPE(switches::kDisableDirectWrite, |
| 634 UMA_HISTOGRAM_ID_kDisableDirectWrite) |
539 }, | 635 }, |
540 #endif | 636 #endif |
541 { | 637 { |
542 "enable-experimental-canvas-features", | 638 "enable-experimental-canvas-features", |
543 IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_NAME, | 639 IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_NAME, |
544 IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_DESCRIPTION, | 640 IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_DESCRIPTION, |
545 kOsAll, | 641 kOsAll, |
546 SINGLE_VALUE_TYPE(switches::kEnableExperimentalCanvasFeatures) | 642 SINGLE_VALUE_TYPE(switches::kEnableExperimentalCanvasFeatures, |
| 643 UMA_HISTOGRAM_ID_kEnableExperimentalCanvasFeatures) |
547 }, | 644 }, |
548 { | 645 { |
549 "disable-accelerated-2d-canvas", | 646 "disable-accelerated-2d-canvas", |
550 IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_NAME, | 647 IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_NAME, |
551 IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_DESCRIPTION, | 648 IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_DESCRIPTION, |
552 kOsAll, | 649 kOsAll, |
553 SINGLE_VALUE_TYPE(switches::kDisableAccelerated2dCanvas) | 650 SINGLE_VALUE_TYPE(switches::kDisableAccelerated2dCanvas, |
| 651 UMA_HISTOGRAM_ID_kDisableAccelerated2dCanvas) |
554 }, | 652 }, |
555 { | 653 { |
556 "composited-layer-borders", | 654 "composited-layer-borders", |
557 IDS_FLAGS_COMPOSITED_LAYER_BORDERS, | 655 IDS_FLAGS_COMPOSITED_LAYER_BORDERS, |
558 IDS_FLAGS_COMPOSITED_LAYER_BORDERS_DESCRIPTION, | 656 IDS_FLAGS_COMPOSITED_LAYER_BORDERS_DESCRIPTION, |
559 kOsAll, | 657 kOsAll, |
560 SINGLE_VALUE_TYPE(cc::switches::kShowCompositedLayerBorders) | 658 SINGLE_VALUE_TYPE(cc::switches::kShowCompositedLayerBorders, |
| 659 UMA_HISTOGRAM_ID_kShowCompositedLayerBorders) |
561 }, | 660 }, |
562 { | 661 { |
563 "show-fps-counter", | 662 "show-fps-counter", |
564 IDS_FLAGS_SHOW_FPS_COUNTER, | 663 IDS_FLAGS_SHOW_FPS_COUNTER, |
565 IDS_FLAGS_SHOW_FPS_COUNTER_DESCRIPTION, | 664 IDS_FLAGS_SHOW_FPS_COUNTER_DESCRIPTION, |
566 kOsAll, | 665 kOsAll, |
567 SINGLE_VALUE_TYPE(cc::switches::kShowFPSCounter) | 666 SINGLE_VALUE_TYPE(cc::switches::kShowFPSCounter, |
| 667 UMA_HISTOGRAM_ID_kShowFPSCounter) |
568 }, | 668 }, |
569 { | 669 { |
570 "disable-webgl", | 670 "disable-webgl", |
571 IDS_FLAGS_DISABLE_WEBGL_NAME, | 671 IDS_FLAGS_DISABLE_WEBGL_NAME, |
572 IDS_FLAGS_DISABLE_WEBGL_DESCRIPTION, | 672 IDS_FLAGS_DISABLE_WEBGL_DESCRIPTION, |
573 kOsAll, | 673 kOsAll, |
574 SINGLE_VALUE_TYPE(switches::kDisableExperimentalWebGL) | 674 SINGLE_VALUE_TYPE(switches::kDisableExperimentalWebGL, |
| 675 UMA_HISTOGRAM_ID_kDisableExperimentalWebGL) |
575 }, | 676 }, |
576 { | 677 { |
577 "disable-webrtc", | 678 "disable-webrtc", |
578 IDS_FLAGS_DISABLE_WEBRTC_NAME, | 679 IDS_FLAGS_DISABLE_WEBRTC_NAME, |
579 IDS_FLAGS_DISABLE_WEBRTC_DESCRIPTION, | 680 IDS_FLAGS_DISABLE_WEBRTC_DESCRIPTION, |
580 kOsAndroid, | 681 kOsAndroid, |
581 #if defined(OS_ANDROID) | 682 #if defined(OS_ANDROID) |
582 SINGLE_VALUE_TYPE(switches::kDisableWebRTC) | 683 SINGLE_VALUE_TYPE(switches::kDisableWebRTC, |
| 684 UMA_HISTOGRAM_ID_kDisableWebRTC) |
583 #else | 685 #else |
584 SINGLE_VALUE_TYPE("") | 686 SINGLE_VALUE_TYPE("", 0) |
585 #endif | 687 #endif |
586 }, | 688 }, |
587 #if defined(ENABLE_WEBRTC) | 689 #if defined(ENABLE_WEBRTC) |
588 { | 690 { |
589 "disable-device-enumeration", | 691 "disable-device-enumeration", |
590 IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_NAME, | 692 IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_NAME, |
591 IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_DESCRIPTION, | 693 IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_DESCRIPTION, |
592 kOsAll, | 694 kOsAll, |
593 SINGLE_VALUE_TYPE(switches::kDisableDeviceEnumeration) | 695 SINGLE_VALUE_TYPE(switches::kDisableDeviceEnumeration, |
| 696 UMA_HISTOGRAM_ID_kDisableDeviceEnumeration) |
594 }, | 697 }, |
595 { | 698 { |
596 "disable-webrtc-hw-decoding", | 699 "disable-webrtc-hw-decoding", |
597 IDS_FLAGS_DISABLE_WEBRTC_HW_DECODING_NAME, | 700 IDS_FLAGS_DISABLE_WEBRTC_HW_DECODING_NAME, |
598 IDS_FLAGS_DISABLE_WEBRTC_HW_DECODING_DESCRIPTION, | 701 IDS_FLAGS_DISABLE_WEBRTC_HW_DECODING_DESCRIPTION, |
599 kOsAndroid | kOsCrOS, | 702 kOsAndroid | kOsCrOS, |
600 SINGLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding) | 703 SINGLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding, |
| 704 UMA_HISTOGRAM_ID_kDisableWebRtcHWDecoding) |
601 }, | 705 }, |
602 { | 706 { |
603 "disable-webrtc-hw-encoding", | 707 "disable-webrtc-hw-encoding", |
604 IDS_FLAGS_DISABLE_WEBRTC_HW_ENCODING_NAME, | 708 IDS_FLAGS_DISABLE_WEBRTC_HW_ENCODING_NAME, |
605 IDS_FLAGS_DISABLE_WEBRTC_HW_ENCODING_DESCRIPTION, | 709 IDS_FLAGS_DISABLE_WEBRTC_HW_ENCODING_DESCRIPTION, |
606 kOsAndroid | kOsCrOS, | 710 kOsAndroid | kOsCrOS, |
607 SINGLE_VALUE_TYPE(switches::kDisableWebRtcHWEncoding) | 711 SINGLE_VALUE_TYPE(switches::kDisableWebRtcHWEncoding, |
| 712 UMA_HISTOGRAM_ID_kDisableWebRtcHWEncoding) |
608 }, | 713 }, |
609 #endif | 714 #endif |
610 #if defined(OS_ANDROID) | 715 #if defined(OS_ANDROID) |
611 { | 716 { |
612 "disable-webaudio", | 717 "disable-webaudio", |
613 IDS_FLAGS_DISABLE_WEBAUDIO_NAME, | 718 IDS_FLAGS_DISABLE_WEBAUDIO_NAME, |
614 IDS_FLAGS_DISABLE_WEBAUDIO_DESCRIPTION, | 719 IDS_FLAGS_DISABLE_WEBAUDIO_DESCRIPTION, |
615 kOsAndroid, | 720 kOsAndroid, |
616 SINGLE_VALUE_TYPE(switches::kDisableWebAudio) | 721 SINGLE_VALUE_TYPE(switches::kDisableWebAudio, |
| 722 UMA_HISTOGRAM_ID_kDisableWebAudio) |
617 }, | 723 }, |
618 #endif | 724 #endif |
619 { | 725 { |
620 "enable-compositing-for-fixed-position", | 726 "enable-compositing-for-fixed-position", |
621 IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_NAME, | 727 IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_NAME, |
622 IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_DESCRIPTION, | 728 IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_DESCRIPTION, |
623 kOsAll, | 729 kOsAll, |
624 MULTI_VALUE_TYPE(kEnableCompositingForFixedPositionChoices) | 730 MULTI_VALUE_TYPE(kEnableCompositingForFixedPositionChoices) |
625 }, | 731 }, |
626 { | 732 { |
(...skipping 10 matching lines...) Expand all Loading... |
637 kOsAll, | 743 kOsAll, |
638 MULTI_VALUE_TYPE(kEnableAcceleratedFixedRootBackgroundChoices) | 744 MULTI_VALUE_TYPE(kEnableAcceleratedFixedRootBackgroundChoices) |
639 }, | 745 }, |
640 // Native client is compiled out when DISABLE_NACL is defined. | 746 // Native client is compiled out when DISABLE_NACL is defined. |
641 #if !defined(DISABLE_NACL) | 747 #if !defined(DISABLE_NACL) |
642 { | 748 { |
643 "enable-nacl", // FLAGS:RECORD_UMA | 749 "enable-nacl", // FLAGS:RECORD_UMA |
644 IDS_FLAGS_ENABLE_NACL_NAME, | 750 IDS_FLAGS_ENABLE_NACL_NAME, |
645 IDS_FLAGS_ENABLE_NACL_DESCRIPTION, | 751 IDS_FLAGS_ENABLE_NACL_DESCRIPTION, |
646 kOsAll, | 752 kOsAll, |
647 SINGLE_VALUE_TYPE(switches::kEnableNaCl) | 753 SINGLE_VALUE_TYPE(switches::kEnableNaCl, UMA_HISTOGRAM_ID_kEnableNaCl) |
648 }, | 754 }, |
649 { | 755 { |
650 "enable-nacl-debug", // FLAGS:RECORD_UMA | 756 "enable-nacl-debug", // FLAGS:RECORD_UMA |
651 IDS_FLAGS_ENABLE_NACL_DEBUG_NAME, | 757 IDS_FLAGS_ENABLE_NACL_DEBUG_NAME, |
652 IDS_FLAGS_ENABLE_NACL_DEBUG_DESCRIPTION, | 758 IDS_FLAGS_ENABLE_NACL_DEBUG_DESCRIPTION, |
653 kOsDesktop, | 759 kOsDesktop, |
654 SINGLE_VALUE_TYPE(switches::kEnableNaClDebug) | 760 SINGLE_VALUE_TYPE(switches::kEnableNaClDebug, |
| 761 UMA_HISTOGRAM_ID_kEnableNaClDebug) |
655 }, | 762 }, |
656 { | 763 { |
657 "disable-pnacl", // FLAGS:RECORD_UMA | 764 "disable-pnacl", // FLAGS:RECORD_UMA |
658 IDS_FLAGS_DISABLE_PNACL_NAME, | 765 IDS_FLAGS_DISABLE_PNACL_NAME, |
659 IDS_FLAGS_DISABLE_PNACL_DESCRIPTION, | 766 IDS_FLAGS_DISABLE_PNACL_DESCRIPTION, |
660 kOsDesktop, | 767 kOsDesktop, |
661 SINGLE_VALUE_TYPE(switches::kDisablePnacl) | 768 SINGLE_VALUE_TYPE(switches::kDisablePnacl, |
| 769 UMA_HISTOGRAM_ID_kDisablePnacl) |
662 }, | 770 }, |
663 { | 771 { |
664 "nacl-debug-mask", // FLAGS:RECORD_UMA | 772 "nacl-debug-mask", // FLAGS:RECORD_UMA |
665 IDS_FLAGS_NACL_DEBUG_MASK_NAME, | 773 IDS_FLAGS_NACL_DEBUG_MASK_NAME, |
666 IDS_FLAGS_NACL_DEBUG_MASK_DESCRIPTION, | 774 IDS_FLAGS_NACL_DEBUG_MASK_DESCRIPTION, |
667 kOsDesktop, | 775 kOsDesktop, |
668 MULTI_VALUE_TYPE(kNaClDebugMaskChoices) | 776 MULTI_VALUE_TYPE(kNaClDebugMaskChoices) |
669 }, | 777 }, |
670 #endif | 778 #endif |
671 { | 779 { |
672 "extension-apis", // FLAGS:RECORD_UMA | 780 "extension-apis", // FLAGS:RECORD_UMA |
673 IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME, | 781 IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME, |
674 IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION, | 782 IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION, |
675 kOsDesktop, | 783 kOsDesktop, |
676 SINGLE_VALUE_TYPE(extensions::switches::kEnableExperimentalExtensionApis) | 784 SINGLE_VALUE_TYPE(extensions::switches::kEnableExperimentalExtensionApis, |
| 785 UMA_HISTOGRAM_ID_kEnableExperimentalExtensionApis) |
677 }, | 786 }, |
678 { | 787 { |
679 "extensions-on-chrome-urls", | 788 "extensions-on-chrome-urls", |
680 IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_NAME, | 789 IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_NAME, |
681 IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_DESCRIPTION, | 790 IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_DESCRIPTION, |
682 kOsAll, | 791 kOsAll, |
683 SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs) | 792 SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs, |
| 793 UMA_HISTOGRAM_ID_kExtensionsOnChromeURLs) |
684 }, | 794 }, |
685 { | 795 { |
686 "enable-fast-unload", | 796 "enable-fast-unload", |
687 IDS_FLAGS_ENABLE_FAST_UNLOAD_NAME, | 797 IDS_FLAGS_ENABLE_FAST_UNLOAD_NAME, |
688 IDS_FLAGS_ENABLE_FAST_UNLOAD_DESCRIPTION, | 798 IDS_FLAGS_ENABLE_FAST_UNLOAD_DESCRIPTION, |
689 kOsAll, | 799 kOsAll, |
690 SINGLE_VALUE_TYPE(switches::kEnableFastUnload) | 800 SINGLE_VALUE_TYPE(switches::kEnableFastUnload, |
| 801 UMA_HISTOGRAM_ID_kEnableFastUnload) |
691 }, | 802 }, |
692 { | 803 { |
693 "enable-app-window-controls", | 804 "enable-app-window-controls", |
694 IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_NAME, | 805 IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_NAME, |
695 IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_DESCRIPTION, | 806 IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_DESCRIPTION, |
696 kOsDesktop, | 807 kOsDesktop, |
697 SINGLE_VALUE_TYPE(switches::kEnableAppWindowControls) | 808 SINGLE_VALUE_TYPE(switches::kEnableAppWindowControls, |
| 809 UMA_HISTOGRAM_ID_kEnableAppWindowControls) |
698 }, | 810 }, |
699 { | 811 { |
700 "disable-hyperlink-auditing", | 812 "disable-hyperlink-auditing", |
701 IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_NAME, | 813 IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_NAME, |
702 IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_DESCRIPTION, | 814 IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_DESCRIPTION, |
703 kOsAll, | 815 kOsAll, |
704 SINGLE_VALUE_TYPE(switches::kNoPings) | 816 SINGLE_VALUE_TYPE(switches::kNoPings, UMA_HISTOGRAM_ID_kNoPings) |
705 }, | 817 }, |
706 #if defined(OS_ANDROID) | 818 #if defined(OS_ANDROID) |
707 { | 819 { |
708 "enable-new-ntp", | 820 "enable-new-ntp", |
709 IDS_FLAGS_ENABLE_NEW_NTP, | 821 IDS_FLAGS_ENABLE_NEW_NTP, |
710 IDS_FLAGS_ENABLE_NEW_NTP_DESCRIPTION, | 822 IDS_FLAGS_ENABLE_NEW_NTP_DESCRIPTION, |
711 kOsAndroid, | 823 kOsAndroid, |
712 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableNewNTP, | 824 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableNewNTP, |
713 switches::kDisableNewNTP) | 825 UMA_HISTOGRAM_ID_kEnableNewNTP, |
| 826 switches::kDisableNewNTP, |
| 827 UMA_HISTOGRAM_ID_kDisableNewNTP) |
714 }, | 828 }, |
715 { | 829 { |
716 "contextual-search", | 830 "contextual-search", |
717 IDS_FLAGS_ENABLE_CONTEXTUAL_SEARCH, | 831 IDS_FLAGS_ENABLE_CONTEXTUAL_SEARCH, |
718 IDS_FLAGS_ENABLE_CONTEXTUAL_SEARCH_DESCRIPTION, | 832 IDS_FLAGS_ENABLE_CONTEXTUAL_SEARCH_DESCRIPTION, |
719 kOsAndroid, | 833 kOsAndroid, |
720 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableContextualSearch, | 834 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableContextualSearch, |
721 switches::kDisableContextualSearch) | 835 UMA_HISTOGRAM_ID_kEnableContextualSearch, |
| 836 switches::kDisableContextualSearch, |
| 837 UMA_HISTOGRAM_ID_kDisableContextualSearch) |
722 }, | 838 }, |
723 #endif | 839 #endif |
724 { | 840 { |
725 "show-autofill-type-predictions", | 841 "show-autofill-type-predictions", |
726 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME, | 842 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME, |
727 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION, | 843 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION, |
728 kOsAll, | 844 kOsAll, |
729 SINGLE_VALUE_TYPE(autofill::switches::kShowAutofillTypePredictions) | 845 SINGLE_VALUE_TYPE(autofill::switches::kShowAutofillTypePredictions, |
| 846 UMA_HISTOGRAM_ID_kShowAutofillTypePredictions) |
730 }, | 847 }, |
731 { | 848 { |
732 "enable-gesture-tap-highlight", | 849 "enable-gesture-tap-highlight", |
733 IDS_FLAGS_ENABLE_GESTURE_TAP_HIGHLIGHTING_NAME, | 850 IDS_FLAGS_ENABLE_GESTURE_TAP_HIGHLIGHTING_NAME, |
734 IDS_FLAGS_ENABLE_GESTURE_TAP_HIGHLIGHTING_DESCRIPTION, | 851 IDS_FLAGS_ENABLE_GESTURE_TAP_HIGHLIGHTING_DESCRIPTION, |
735 kOsLinux | kOsCrOS | kOsWin | kOsAndroid, | 852 kOsLinux | kOsCrOS | kOsWin | kOsAndroid, |
736 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableGestureTapHighlight, | 853 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableGestureTapHighlight, |
737 switches::kDisableGestureTapHighlight) | 854 UMA_HISTOGRAM_ID_kEnableGestureTapHighlight, |
| 855 switches::kDisableGestureTapHighlight, |
| 856 UMA_HISTOGRAM_ID_kDisableGestureTapHighlight) |
738 }, | 857 }, |
739 { | 858 { |
740 "enable-smooth-scrolling", // FLAGS:RECORD_UMA | 859 "enable-smooth-scrolling", // FLAGS:RECORD_UMA |
741 IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_NAME, | 860 IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_NAME, |
742 IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_DESCRIPTION, | 861 IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_DESCRIPTION, |
743 // Can't expose the switch unless the code is compiled in. | 862 // Can't expose the switch unless the code is compiled in. |
744 // On by default for the Mac (different implementation in WebKit). | 863 // On by default for the Mac (different implementation in WebKit). |
745 kOsLinux, | 864 kOsLinux, |
746 SINGLE_VALUE_TYPE(switches::kEnableSmoothScrolling) | 865 SINGLE_VALUE_TYPE(switches::kEnableSmoothScrolling, |
| 866 UMA_HISTOGRAM_ID_kEnableSmoothScrolling) |
747 }, | 867 }, |
748 #if defined(USE_AURA) || defined(OS_LINUX) | 868 #if defined(USE_AURA) || defined(OS_LINUX) |
749 { | 869 { |
750 "overlay-scrollbars", | 870 "overlay-scrollbars", |
751 IDS_FLAGS_ENABLE_OVERLAY_SCROLLBARS_NAME, | 871 IDS_FLAGS_ENABLE_OVERLAY_SCROLLBARS_NAME, |
752 IDS_FLAGS_ENABLE_OVERLAY_SCROLLBARS_DESCRIPTION, | 872 IDS_FLAGS_ENABLE_OVERLAY_SCROLLBARS_DESCRIPTION, |
753 // Uses the system preference on Mac (a different implementation). | 873 // Uses the system preference on Mac (a different implementation). |
754 // On Android, this is always enabled. | 874 // On Android, this is always enabled. |
755 kOsLinux | kOsCrOS | kOsWin, | 875 kOsLinux | kOsCrOS | kOsWin, |
756 MULTI_VALUE_TYPE(kOverlayScrollbarChoices) | 876 MULTI_VALUE_TYPE(kOverlayScrollbarChoices) |
757 }, | 877 }, |
758 #endif | 878 #endif |
759 { | 879 { |
760 "enable-panels", | 880 "enable-panels", |
761 IDS_FLAGS_ENABLE_PANELS_NAME, | 881 IDS_FLAGS_ENABLE_PANELS_NAME, |
762 IDS_FLAGS_ENABLE_PANELS_DESCRIPTION, | 882 IDS_FLAGS_ENABLE_PANELS_DESCRIPTION, |
763 kOsDesktop, | 883 kOsDesktop, |
764 SINGLE_VALUE_TYPE(switches::kEnablePanels) | 884 SINGLE_VALUE_TYPE(switches::kEnablePanels, |
| 885 UMA_HISTOGRAM_ID_kEnablePanels) |
765 }, | 886 }, |
766 { | 887 { |
767 // See http://crbug.com/120416 for how to remove this flag. | 888 // See http://crbug.com/120416 for how to remove this flag. |
768 "save-page-as-mhtml", // FLAGS:RECORD_UMA | 889 "save-page-as-mhtml", // FLAGS:RECORD_UMA |
769 IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME, | 890 IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME, |
770 IDS_FLAGS_SAVE_PAGE_AS_MHTML_DESCRIPTION, | 891 IDS_FLAGS_SAVE_PAGE_AS_MHTML_DESCRIPTION, |
771 kOsMac | kOsWin | kOsLinux, | 892 kOsMac | kOsWin | kOsLinux, |
772 SINGLE_VALUE_TYPE(switches::kSavePageAsMHTML) | 893 SINGLE_VALUE_TYPE(switches::kSavePageAsMHTML, |
| 894 UMA_HISTOGRAM_ID_kSavePageAsMHTML) |
773 }, | 895 }, |
774 { | 896 { |
775 "enable-quic", | 897 "enable-quic", |
776 IDS_FLAGS_ENABLE_QUIC_NAME, | 898 IDS_FLAGS_ENABLE_QUIC_NAME, |
777 IDS_FLAGS_ENABLE_QUIC_DESCRIPTION, | 899 IDS_FLAGS_ENABLE_QUIC_DESCRIPTION, |
778 kOsAll, | 900 kOsAll, |
779 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableQuic, | 901 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableQuic, |
780 switches::kDisableQuic) | 902 UMA_HISTOGRAM_ID_kEnableQuic, |
| 903 switches::kDisableQuic, |
| 904 UMA_HISTOGRAM_ID_kDisableQuic) |
781 }, | 905 }, |
782 { | 906 { |
783 "enable-quic-https", | 907 "enable-quic-https", |
784 IDS_FLAGS_ENABLE_QUIC_HTTPS_NAME, | 908 IDS_FLAGS_ENABLE_QUIC_HTTPS_NAME, |
785 IDS_FLAGS_ENABLE_QUIC_HTTPS_DESCRIPTION, | 909 IDS_FLAGS_ENABLE_QUIC_HTTPS_DESCRIPTION, |
786 kOsAll, | 910 kOsAll, |
787 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableQuicHttps, | 911 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableQuicHttps, |
788 switches::kDisableQuicHttps) | 912 UMA_HISTOGRAM_ID_kEnableQuicHttps, |
| 913 switches::kDisableQuicHttps, |
| 914 UMA_HISTOGRAM_ID_kDisableQuicHttps) |
789 }, | 915 }, |
790 { | 916 { |
791 "enable-spdy4", | 917 "enable-spdy4", |
792 IDS_FLAGS_ENABLE_SPDY4_NAME, | 918 IDS_FLAGS_ENABLE_SPDY4_NAME, |
793 IDS_FLAGS_ENABLE_SPDY4_DESCRIPTION, | 919 IDS_FLAGS_ENABLE_SPDY4_DESCRIPTION, |
794 kOsAll, | 920 kOsAll, |
795 SINGLE_VALUE_TYPE(switches::kEnableSpdy4) | 921 SINGLE_VALUE_TYPE(switches::kEnableSpdy4, UMA_HISTOGRAM_ID_kEnableSpdy4) |
796 }, | 922 }, |
797 { | 923 { |
798 "enable-async-dns", | 924 "enable-async-dns", |
799 IDS_FLAGS_ENABLE_ASYNC_DNS_NAME, | 925 IDS_FLAGS_ENABLE_ASYNC_DNS_NAME, |
800 IDS_FLAGS_ENABLE_ASYNC_DNS_DESCRIPTION, | 926 IDS_FLAGS_ENABLE_ASYNC_DNS_DESCRIPTION, |
801 kOsWin | kOsMac | kOsLinux | kOsCrOS, | 927 kOsWin | kOsMac | kOsLinux | kOsCrOS, |
802 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAsyncDns, | 928 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAsyncDns, |
803 switches::kDisableAsyncDns) | 929 UMA_HISTOGRAM_ID_kEnableAsyncDns, |
| 930 switches::kDisableAsyncDns, |
| 931 UMA_HISTOGRAM_ID_kDisableAsyncDns) |
804 }, | 932 }, |
805 { | 933 { |
806 "disable-media-source", | 934 "disable-media-source", |
807 IDS_FLAGS_DISABLE_MEDIA_SOURCE_NAME, | 935 IDS_FLAGS_DISABLE_MEDIA_SOURCE_NAME, |
808 IDS_FLAGS_DISABLE_MEDIA_SOURCE_DESCRIPTION, | 936 IDS_FLAGS_DISABLE_MEDIA_SOURCE_DESCRIPTION, |
809 kOsAll, | 937 kOsAll, |
810 SINGLE_VALUE_TYPE(switches::kDisableMediaSource) | 938 SINGLE_VALUE_TYPE(switches::kDisableMediaSource, |
| 939 UMA_HISTOGRAM_ID_kDisableMediaSource) |
811 }, | 940 }, |
812 { | 941 { |
813 "enable-encrypted-media", | 942 "enable-encrypted-media", |
814 IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_NAME, | 943 IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_NAME, |
815 IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_DESCRIPTION, | 944 IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_DESCRIPTION, |
816 kOsAll, | 945 kOsAll, |
817 SINGLE_VALUE_TYPE(switches::kEnableEncryptedMedia) | 946 SINGLE_VALUE_TYPE(switches::kEnableEncryptedMedia, |
| 947 UMA_HISTOGRAM_ID_kEnableEncryptedMedia) |
818 }, | 948 }, |
819 { | 949 { |
820 "disable-prefixed-encrypted-media", | 950 "disable-prefixed-encrypted-media", |
821 IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_NAME, | 951 IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_NAME, |
822 IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_DESCRIPTION, | 952 IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_DESCRIPTION, |
823 kOsAll, | 953 kOsAll, |
824 SINGLE_VALUE_TYPE(switches::kDisablePrefixedEncryptedMedia) | 954 SINGLE_VALUE_TYPE(switches::kDisablePrefixedEncryptedMedia, |
| 955 UMA_HISTOGRAM_ID_kDisablePrefixedEncryptedMedia) |
825 }, | 956 }, |
826 #if defined(OS_ANDROID) | 957 #if defined(OS_ANDROID) |
827 { | 958 { |
828 "disable-infobar-for-protected-media-identifier", | 959 "disable-infobar-for-protected-media-identifier", |
829 IDS_FLAGS_DISABLE_INFOBAR_FOR_PROTECTED_MEDIA_IDENTIFIER_NAME, | 960 IDS_FLAGS_DISABLE_INFOBAR_FOR_PROTECTED_MEDIA_IDENTIFIER_NAME, |
830 IDS_FLAGS_DISABLE_INFOBAR_FOR_PROTECTED_MEDIA_IDENTIFIER_DESCRIPTION, | 961 IDS_FLAGS_DISABLE_INFOBAR_FOR_PROTECTED_MEDIA_IDENTIFIER_DESCRIPTION, |
831 kOsAndroid, | 962 kOsAndroid, |
832 SINGLE_VALUE_TYPE(switches::kDisableInfobarForProtectedMediaIdentifier) | 963 SINGLE_VALUE_TYPE( |
| 964 switches::kDisableInfobarForProtectedMediaIdentifier, |
| 965 UMA_HISTOGRAM_ID_kDisableInfobarForProtectedMediaIdentifier) |
833 }, | 966 }, |
834 { | 967 { |
835 "mediadrm-enable-non-compositing", | 968 "mediadrm-enable-non-compositing", |
836 IDS_FLAGS_MEDIADRM_ENABLE_NON_COMPOSITING_NAME, | 969 IDS_FLAGS_MEDIADRM_ENABLE_NON_COMPOSITING_NAME, |
837 IDS_FLAGS_MEDIADRM_ENABLE_NON_COMPOSITING_DESCRIPTION, | 970 IDS_FLAGS_MEDIADRM_ENABLE_NON_COMPOSITING_DESCRIPTION, |
838 kOsAndroid, | 971 kOsAndroid, |
839 SINGLE_VALUE_TYPE(switches::kMediaDrmEnableNonCompositing) | 972 SINGLE_VALUE_TYPE(switches::kMediaDrmEnableNonCompositing, |
| 973 UMA_HISTOGRAM_ID_kMediaDrmEnableNonCompositing) |
840 }, | 974 }, |
841 #endif // defined(OS_ANDROID) | 975 #endif // defined(OS_ANDROID) |
842 { | 976 { |
843 "enable-javascript-harmony", | 977 "enable-javascript-harmony", |
844 IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_NAME, | 978 IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_NAME, |
845 IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_DESCRIPTION, | 979 IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_DESCRIPTION, |
846 kOsAll, | 980 kOsAll, |
847 SINGLE_VALUE_TYPE_AND_VALUE(switches::kJavaScriptFlags, "--harmony") | 981 SINGLE_VALUE_TYPE_AND_VALUE(switches::kJavaScriptFlags, |
| 982 "--harmony", |
| 983 UMA_HISTOGRAM_ID_kJavaScriptFlags) |
848 }, | 984 }, |
849 { | 985 { |
850 "disable-software-rasterizer", | 986 "disable-software-rasterizer", |
851 IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_NAME, | 987 IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_NAME, |
852 IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_DESCRIPTION, | 988 IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_DESCRIPTION, |
853 #if defined(ENABLE_SWIFTSHADER) | 989 #if defined(ENABLE_SWIFTSHADER) |
854 kOsAll, | 990 kOsAll, |
855 #else | 991 #else |
856 0, | 992 0, |
857 #endif | 993 #endif |
858 SINGLE_VALUE_TYPE(switches::kDisableSoftwareRasterizer) | 994 SINGLE_VALUE_TYPE(switches::kDisableSoftwareRasterizer, |
| 995 UMA_HISTOGRAM_ID_kDisableSoftwareRasterizer) |
859 }, | 996 }, |
860 { | 997 { |
861 "enable-gpu-rasterization", | 998 "enable-gpu-rasterization", |
862 IDS_FLAGS_ENABLE_GPU_RASTERIZATION_NAME, | 999 IDS_FLAGS_ENABLE_GPU_RASTERIZATION_NAME, |
863 IDS_FLAGS_ENABLE_GPU_RASTERIZATION_DESCRIPTION, | 1000 IDS_FLAGS_ENABLE_GPU_RASTERIZATION_DESCRIPTION, |
864 kOsAndroid, | 1001 kOsAndroid, |
865 MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices) | 1002 MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices) |
866 }, | 1003 }, |
867 { | 1004 { |
868 "enable-experimental-web-platform-features", | 1005 "enable-experimental-web-platform-features", |
869 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_NAME, | 1006 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_NAME, |
870 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_DESCRIPTION, | 1007 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_DESCRIPTION, |
871 kOsAll, | 1008 kOsAll, |
872 SINGLE_VALUE_TYPE(switches::kEnableExperimentalWebPlatformFeatures) | 1009 SINGLE_VALUE_TYPE( |
| 1010 switches::kEnableExperimentalWebPlatformFeatures, |
| 1011 UMA_HISTOGRAM_ID_kEnableExperimentalWebPlatformFeatures) |
873 }, | 1012 }, |
874 { | 1013 { |
875 "disable-ntp-other-sessions-menu", | 1014 "disable-ntp-other-sessions-menu", |
876 IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_NAME, | 1015 IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_NAME, |
877 IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_DESCRIPTION, | 1016 IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_DESCRIPTION, |
878 kOsDesktop, | 1017 kOsDesktop, |
879 SINGLE_VALUE_TYPE(switches::kDisableNTPOtherSessionsMenu) | 1018 SINGLE_VALUE_TYPE(switches::kDisableNTPOtherSessionsMenu, |
| 1019 UMA_HISTOGRAM_ID_kDisableNTPOtherSessionsMenu) |
880 }, | 1020 }, |
881 { | 1021 { |
882 "enable-devtools-experiments", | 1022 "enable-devtools-experiments", |
883 IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_NAME, | 1023 IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_NAME, |
884 IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_DESCRIPTION, | 1024 IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_DESCRIPTION, |
885 kOsDesktop, | 1025 kOsDesktop, |
886 SINGLE_VALUE_TYPE(switches::kEnableDevToolsExperiments) | 1026 SINGLE_VALUE_TYPE(switches::kEnableDevToolsExperiments, |
| 1027 UMA_HISTOGRAM_ID_kEnableDevToolsExperiments) |
887 }, | 1028 }, |
888 { | 1029 { |
889 "silent-debugger-extension-api", | 1030 "silent-debugger-extension-api", |
890 IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_NAME, | 1031 IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_NAME, |
891 IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_DESCRIPTION, | 1032 IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_DESCRIPTION, |
892 kOsDesktop, | 1033 kOsDesktop, |
893 SINGLE_VALUE_TYPE(switches::kSilentDebuggerExtensionAPI) | 1034 SINGLE_VALUE_TYPE(switches::kSilentDebuggerExtensionAPI, |
| 1035 UMA_HISTOGRAM_ID_kSilentDebuggerExtensionAPI) |
894 }, | 1036 }, |
895 { | 1037 { |
896 "spellcheck-autocorrect", | 1038 "spellcheck-autocorrect", |
897 IDS_FLAGS_SPELLCHECK_AUTOCORRECT, | 1039 IDS_FLAGS_SPELLCHECK_AUTOCORRECT, |
898 IDS_FLAGS_SPELLCHECK_AUTOCORRECT_DESCRIPTION, | 1040 IDS_FLAGS_SPELLCHECK_AUTOCORRECT_DESCRIPTION, |
899 kOsWin | kOsLinux | kOsCrOS, | 1041 kOsWin | kOsLinux | kOsCrOS, |
900 SINGLE_VALUE_TYPE(switches::kEnableSpellingAutoCorrect) | 1042 SINGLE_VALUE_TYPE(switches::kEnableSpellingAutoCorrect, |
| 1043 UMA_HISTOGRAM_ID_kEnableSpellingAutoCorrect) |
901 }, | 1044 }, |
902 { | 1045 { |
903 "enable-scroll-prediction", | 1046 "enable-scroll-prediction", |
904 IDS_FLAGS_ENABLE_SCROLL_PREDICTION_NAME, | 1047 IDS_FLAGS_ENABLE_SCROLL_PREDICTION_NAME, |
905 IDS_FLAGS_ENABLE_SCROLL_PREDICTION_DESCRIPTION, | 1048 IDS_FLAGS_ENABLE_SCROLL_PREDICTION_DESCRIPTION, |
906 kOsDesktop, | 1049 kOsDesktop, |
907 SINGLE_VALUE_TYPE(switches::kEnableScrollPrediction) | 1050 SINGLE_VALUE_TYPE(switches::kEnableScrollPrediction, |
| 1051 UMA_HISTOGRAM_ID_kEnableScrollPrediction) |
908 }, | 1052 }, |
909 { | 1053 { |
910 "touch-events", | 1054 "touch-events", |
911 IDS_TOUCH_EVENTS_NAME, | 1055 IDS_TOUCH_EVENTS_NAME, |
912 IDS_TOUCH_EVENTS_DESCRIPTION, | 1056 IDS_TOUCH_EVENTS_DESCRIPTION, |
913 kOsDesktop, | 1057 kOsDesktop, MULTI_VALUE_TYPE(kTouchEventsChoices) |
914 MULTI_VALUE_TYPE(kTouchEventsChoices) | |
915 }, | 1058 }, |
916 { | 1059 { |
917 "disable-touch-adjustment", | 1060 "disable-touch-adjustment", |
918 IDS_DISABLE_TOUCH_ADJUSTMENT_NAME, | 1061 IDS_DISABLE_TOUCH_ADJUSTMENT_NAME, |
919 IDS_DISABLE_TOUCH_ADJUSTMENT_DESCRIPTION, | 1062 IDS_DISABLE_TOUCH_ADJUSTMENT_DESCRIPTION, |
920 kOsWin | kOsLinux | kOsCrOS, | 1063 kOsWin | kOsLinux | kOsCrOS, |
921 SINGLE_VALUE_TYPE(switches::kDisableTouchAdjustment) | 1064 SINGLE_VALUE_TYPE(switches::kDisableTouchAdjustment, |
| 1065 UMA_HISTOGRAM_ID_kDisableTouchAdjustment) |
922 }, | 1066 }, |
923 #if defined(OS_CHROMEOS) | 1067 #if defined(OS_CHROMEOS) |
924 { | 1068 { |
925 "network-portal-notification", | 1069 "network-portal-notification", |
926 IDS_FLAGS_NETWORK_PORTAL_NOTIFICATION_NAME, | 1070 IDS_FLAGS_NETWORK_PORTAL_NOTIFICATION_NAME, |
927 IDS_FLAGS_NETWORK_PORTAL_NOTIFICATION_DESCRIPTION, | 1071 IDS_FLAGS_NETWORK_PORTAL_NOTIFICATION_DESCRIPTION, |
928 kOsCrOS, | 1072 kOsCrOS, |
929 ENABLE_DISABLE_VALUE_TYPE( | 1073 ENABLE_DISABLE_VALUE_TYPE( |
930 chromeos::switches::kEnableNetworkPortalNotification, | 1074 chromeos::switches::kEnableNetworkPortalNotification, |
931 chromeos::switches::kDisableNetworkPortalNotification) | 1075 UMA_HISTOGRAM_ID_kEnableNetworkPortalNotification, |
| 1076 chromeos::switches::kDisableNetworkPortalNotification, |
| 1077 UMA_HISTOGRAM_ID_kDisableNetworkPortalNotification) |
932 }, | 1078 }, |
933 #endif | 1079 #endif |
934 { | 1080 { |
935 "enable-download-resumption", | 1081 "enable-download-resumption", |
936 IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_NAME, | 1082 IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_NAME, |
937 IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_DESCRIPTION, | 1083 IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_DESCRIPTION, |
938 kOsDesktop, | 1084 kOsDesktop, |
939 SINGLE_VALUE_TYPE(switches::kEnableDownloadResumption) | 1085 SINGLE_VALUE_TYPE(switches::kEnableDownloadResumption, |
| 1086 UMA_HISTOGRAM_ID_kEnableDownloadResumption) |
940 }, | 1087 }, |
941 // Native client is compiled out when DISABLE_NACL is defined. | 1088 // Native client is compiled out when DISABLE_NACL is defined. |
942 #if !defined(DISABLE_NACL) | 1089 #if !defined(DISABLE_NACL) |
943 { | 1090 { |
944 "allow-nacl-socket-api", | 1091 "allow-nacl-socket-api", |
945 IDS_FLAGS_ALLOW_NACL_SOCKET_API_NAME, | 1092 IDS_FLAGS_ALLOW_NACL_SOCKET_API_NAME, |
946 IDS_FLAGS_ALLOW_NACL_SOCKET_API_DESCRIPTION, | 1093 IDS_FLAGS_ALLOW_NACL_SOCKET_API_DESCRIPTION, |
947 kOsDesktop, | 1094 kOsDesktop, |
948 SINGLE_VALUE_TYPE_AND_VALUE(switches::kAllowNaClSocketAPI, "*") | 1095 SINGLE_VALUE_TYPE_AND_VALUE(switches::kAllowNaClSocketAPI, |
| 1096 "*", |
| 1097 UMA_HISTOGRAM_ID_kAllowNaClSocketAPI) |
949 }, | 1098 }, |
950 #endif | 1099 #endif |
951 { | 1100 { |
952 "force-device-scale-factor", | 1101 "force-device-scale-factor", |
953 IDS_FLAGS_FORCE_HIGH_DPI_NAME, | 1102 IDS_FLAGS_FORCE_HIGH_DPI_NAME, |
954 IDS_FLAGS_FORCE_HIGH_DPI_DESCRIPTION, | 1103 IDS_FLAGS_FORCE_HIGH_DPI_DESCRIPTION, |
955 kOsCrOS, | 1104 kOsCrOS, |
956 SINGLE_VALUE_TYPE_AND_VALUE(switches::kForceDeviceScaleFactor, "2") | 1105 SINGLE_VALUE_TYPE_AND_VALUE(switches::kForceDeviceScaleFactor, |
| 1106 "2", |
| 1107 UMA_HISTOGRAM_ID_kForceDeviceScaleFactor) |
957 }, | 1108 }, |
958 #if defined(OS_CHROMEOS) | 1109 #if defined(OS_CHROMEOS) |
959 { | 1110 { |
960 "allow-touchpad-three-finger-click", | 1111 "allow-touchpad-three-finger-click", |
961 IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_NAME, | 1112 IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_NAME, |
962 IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_DESCRIPTION, | 1113 IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_DESCRIPTION, |
963 kOsCrOS, | 1114 kOsCrOS, |
964 SINGLE_VALUE_TYPE(chromeos::switches::kEnableTouchpadThreeFingerClick) | 1115 SINGLE_VALUE_TYPE(chromeos::switches::kEnableTouchpadThreeFingerClick, |
| 1116 UMA_HISTOGRAM_ID_kEnableTouchpadThreeFingerClick) |
965 }, | 1117 }, |
966 #endif | 1118 #endif |
967 #if defined(USE_ASH) | 1119 #if defined(USE_ASH) |
968 { | 1120 { |
969 "disable-minimize-on-second-launcher-item-click", | 1121 "disable-minimize-on-second-launcher-item-click", |
970 IDS_FLAGS_DISABLE_MINIMIZE_ON_SECOND_LAUNCHER_ITEM_CLICK_NAME, | 1122 IDS_FLAGS_DISABLE_MINIMIZE_ON_SECOND_LAUNCHER_ITEM_CLICK_NAME, |
971 IDS_FLAGS_DISABLE_MINIMIZE_ON_SECOND_LAUNCHER_ITEM_CLICK_DESCRIPTION, | 1123 IDS_FLAGS_DISABLE_MINIMIZE_ON_SECOND_LAUNCHER_ITEM_CLICK_DESCRIPTION, |
972 kOsAll, | 1124 kOsAll, |
973 SINGLE_VALUE_TYPE(switches::kDisableMinimizeOnSecondLauncherItemClick) | 1125 SINGLE_VALUE_TYPE(switches::kDisableMinimizeOnSecondLauncherItemClick, |
| 1126 UMA_HISTOGRAM_ID_kDisableMinimizeOnSecondLauncherItemClick) |
974 }, | 1127 }, |
975 { | 1128 { |
976 "show-touch-hud", | 1129 "show-touch-hud", |
977 IDS_FLAGS_SHOW_TOUCH_HUD_NAME, | 1130 IDS_FLAGS_SHOW_TOUCH_HUD_NAME, |
978 IDS_FLAGS_SHOW_TOUCH_HUD_DESCRIPTION, | 1131 IDS_FLAGS_SHOW_TOUCH_HUD_DESCRIPTION, |
979 kOsAll, | 1132 kOsAll, |
980 SINGLE_VALUE_TYPE(ash::switches::kAshTouchHud) | 1133 SINGLE_VALUE_TYPE(ash::switches::kAshTouchHud, |
| 1134 UMA_HISTOGRAM_ID_kAshTouchHud) |
981 }, | 1135 }, |
982 { | 1136 { |
983 "enable-pinch", | 1137 "enable-pinch", |
984 IDS_FLAGS_ENABLE_PINCH_SCALE_NAME, | 1138 IDS_FLAGS_ENABLE_PINCH_SCALE_NAME, |
985 IDS_FLAGS_ENABLE_PINCH_SCALE_DESCRIPTION, | 1139 IDS_FLAGS_ENABLE_PINCH_SCALE_DESCRIPTION, |
986 kOsLinux | kOsWin | kOsCrOS, | 1140 kOsLinux | kOsWin | kOsCrOS, |
987 ENABLE_DISABLE_VALUE_TYPE(switches::kEnablePinch, switches::kDisablePinch), | 1141 ENABLE_DISABLE_VALUE_TYPE(switches::kEnablePinch, |
| 1142 UMA_HISTOGRAM_ID_kEnablePinch, |
| 1143 switches::kDisablePinch, |
| 1144 UMA_HISTOGRAM_ID_kDisablePinch) |
988 }, | 1145 }, |
989 #endif // defined(USE_ASH) | 1146 #endif // defined(USE_ASH) |
990 { | 1147 { |
991 "enable-pinch-virtual-viewport", | 1148 "enable-pinch-virtual-viewport", |
992 IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_NAME, | 1149 IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_NAME, |
993 IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_DESCRIPTION, | 1150 IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_DESCRIPTION, |
994 kOsLinux | kOsWin | kOsCrOS | kOsAndroid, | 1151 kOsLinux | kOsWin | kOsCrOS | kOsAndroid, |
995 ENABLE_DISABLE_VALUE_TYPE( | 1152 ENABLE_DISABLE_VALUE_TYPE(cc::switches::kEnablePinchVirtualViewport, |
996 cc::switches::kEnablePinchVirtualViewport, | 1153 UMA_HISTOGRAM_ID_kEnablePinchVirtualViewport, |
997 cc::switches::kDisablePinchVirtualViewport), | 1154 cc::switches::kDisablePinchVirtualViewport, |
| 1155 UMA_HISTOGRAM_ID_kDisablePinchVirtualViewport) |
998 }, | 1156 }, |
999 { | 1157 { |
1000 "enable-viewport-meta", | 1158 "enable-viewport-meta", |
1001 IDS_FLAGS_ENABLE_VIEWPORT_META_NAME, | 1159 IDS_FLAGS_ENABLE_VIEWPORT_META_NAME, |
1002 IDS_FLAGS_ENABLE_VIEWPORT_META_DESCRIPTION, | 1160 IDS_FLAGS_ENABLE_VIEWPORT_META_DESCRIPTION, |
1003 kOsLinux | kOsWin | kOsCrOS | kOsMac, | 1161 kOsLinux | kOsWin | kOsCrOS | kOsMac, |
1004 SINGLE_VALUE_TYPE(switches::kEnableViewportMeta), | 1162 SINGLE_VALUE_TYPE(switches::kEnableViewportMeta, |
| 1163 UMA_HISTOGRAM_ID_kEnableViewportMeta) |
1005 }, | 1164 }, |
1006 #if defined(OS_CHROMEOS) | 1165 #if defined(OS_CHROMEOS) |
1007 { | 1166 { |
1008 "disable-boot-animation", | 1167 "disable-boot-animation", |
1009 IDS_FLAGS_DISABLE_BOOT_ANIMATION, | 1168 IDS_FLAGS_DISABLE_BOOT_ANIMATION, |
1010 IDS_FLAGS_DISABLE_BOOT_ANIMATION_DESCRIPTION, | 1169 IDS_FLAGS_DISABLE_BOOT_ANIMATION_DESCRIPTION, |
1011 kOsCrOSOwnerOnly, | 1170 kOsCrOSOwnerOnly, |
1012 SINGLE_VALUE_TYPE(chromeos::switches::kDisableBootAnimation), | 1171 SINGLE_VALUE_TYPE(chromeos::switches::kDisableBootAnimation, |
| 1172 UMA_HISTOGRAM_ID_kDisableBootAnimation) |
1013 }, | 1173 }, |
1014 { | 1174 { |
1015 "enable-new-audio-player", | 1175 "enable-new-audio-player", |
1016 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_AUDIO_PLAYER_NAME, | 1176 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_AUDIO_PLAYER_NAME, |
1017 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_AUDIO_PLAYER_DESCRIPTION, | 1177 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_AUDIO_PLAYER_DESCRIPTION, |
1018 kOsCrOS, | 1178 kOsCrOS, |
1019 SINGLE_VALUE_TYPE(chromeos::switches::kFileManagerEnableNewAudioPlayer) | 1179 SINGLE_VALUE_TYPE(chromeos::switches::kFileManagerEnableNewAudioPlayer, |
| 1180 UMA_HISTOGRAM_ID_kFileManagerEnableNewAudioPlayer) |
1020 }, | 1181 }, |
1021 { | 1182 { |
1022 "enable-new-gallery", | 1183 "enable-new-gallery", |
1023 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_GALLERY_NAME, | 1184 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_GALLERY_NAME, |
1024 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_GALLERY_DESCRIPTION, | 1185 IDS_FLAGS_FILE_MANAGER_ENABLE_NEW_GALLERY_DESCRIPTION, |
1025 kOsCrOS, | 1186 kOsCrOS, |
1026 MULTI_VALUE_TYPE(kEnableFileManagerNewGalleryChoices) | 1187 MULTI_VALUE_TYPE(kEnableFileManagerNewGalleryChoices) |
1027 }, | 1188 }, |
1028 { | 1189 { |
1029 "disable-quickoffice-component-app", | 1190 "disable-quickoffice-component-app", |
1030 IDS_FLAGS_DISABLE_QUICKOFFICE_COMPONENT_APP_NAME, | 1191 IDS_FLAGS_DISABLE_QUICKOFFICE_COMPONENT_APP_NAME, |
1031 IDS_FLAGS_DISABLE_QUICKOFFICE_COMPONENT_APP_DESCRIPTION, | 1192 IDS_FLAGS_DISABLE_QUICKOFFICE_COMPONENT_APP_DESCRIPTION, |
1032 kOsCrOS, | 1193 kOsCrOS, |
1033 SINGLE_VALUE_TYPE(chromeos::switches::kDisableQuickofficeComponentApp), | 1194 SINGLE_VALUE_TYPE(chromeos::switches::kDisableQuickofficeComponentApp, |
| 1195 UMA_HISTOGRAM_ID_kDisableQuickofficeComponentApp) |
1034 }, | 1196 }, |
1035 { | 1197 { |
1036 "disable-saml-signin", | 1198 "disable-saml-signin", |
1037 IDS_FLAGS_DISABLE_SAML_SIGNIN_NAME, | 1199 IDS_FLAGS_DISABLE_SAML_SIGNIN_NAME, |
1038 IDS_FLAGS_DISABLE_SAML_SIGNIN_DESCRIPTION, | 1200 IDS_FLAGS_DISABLE_SAML_SIGNIN_DESCRIPTION, |
1039 kOsCrOS, | 1201 kOsCrOS, |
1040 SINGLE_VALUE_TYPE(chromeos::switches::kDisableSamlSignin), | 1202 SINGLE_VALUE_TYPE(chromeos::switches::kDisableSamlSignin, |
| 1203 UMA_HISTOGRAM_ID_kDisableSamlSignin) |
1041 }, | 1204 }, |
1042 { | 1205 { |
1043 "disable-display-color-calibration", | 1206 "disable-display-color-calibration", |
1044 IDS_FLAGS_DISABLE_DISPLAY_COLOR_CALIBRATION_NAME, | 1207 IDS_FLAGS_DISABLE_DISPLAY_COLOR_CALIBRATION_NAME, |
1045 IDS_FLAGS_DISABLE_DISPLAY_COLOR_CALIBRATION_DESCRIPTION, | 1208 IDS_FLAGS_DISABLE_DISPLAY_COLOR_CALIBRATION_DESCRIPTION, |
1046 kOsCrOS, | 1209 kOsCrOS, |
1047 SINGLE_VALUE_TYPE(ui::switches::kDisableDisplayColorCalibration), | 1210 SINGLE_VALUE_TYPE(ui::switches::kDisableDisplayColorCalibration, |
| 1211 UMA_HISTOGRAM_ID_kDisableDisplayColorCalibration) |
1048 }, | 1212 }, |
1049 #endif // defined(OS_CHROMEOS) | 1213 #endif // defined(OS_CHROMEOS) |
1050 { "disable-accelerated-video-decode", | 1214 { |
| 1215 "disable-accelerated-video-decode", |
1051 IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_NAME, | 1216 IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_NAME, |
1052 IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_DESCRIPTION, | 1217 IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_DESCRIPTION, |
1053 kOsWin | kOsCrOS, | 1218 kOsWin | kOsCrOS, |
1054 SINGLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), | 1219 SINGLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode, |
| 1220 UMA_HISTOGRAM_ID_kDisableAcceleratedVideoDecode) |
1055 }, | 1221 }, |
1056 #if defined(USE_ASH) | 1222 #if defined(USE_ASH) |
1057 { | 1223 { |
1058 "ash-debug-shortcuts", | 1224 "ash-debug-shortcuts", |
1059 IDS_FLAGS_DEBUG_SHORTCUTS_NAME, | 1225 IDS_FLAGS_DEBUG_SHORTCUTS_NAME, |
1060 IDS_FLAGS_DEBUG_SHORTCUTS_DESCRIPTION, | 1226 IDS_FLAGS_DEBUG_SHORTCUTS_DESCRIPTION, |
1061 kOsAll, | 1227 kOsAll, |
1062 SINGLE_VALUE_TYPE(ash::switches::kAshDebugShortcuts), | 1228 SINGLE_VALUE_TYPE(ash::switches::kAshDebugShortcuts, |
| 1229 UMA_HISTOGRAM_ID_kAshDebugShortcuts) |
1063 }, | 1230 }, |
1064 { "ash-enable-touch-view-testing", | 1231 { |
| 1232 "ash-enable-touch-view-testing", |
1065 IDS_FLAGS_ASH_ENABLE_TOUCH_VIEW_TESTING_NAME, | 1233 IDS_FLAGS_ASH_ENABLE_TOUCH_VIEW_TESTING_NAME, |
1066 IDS_FLAGS_ASH_ENABLE_TOUCH_VIEW_TESTING_DESCRIPTION, | 1234 IDS_FLAGS_ASH_ENABLE_TOUCH_VIEW_TESTING_DESCRIPTION, |
1067 kOsCrOS, | 1235 kOsCrOS, |
1068 SINGLE_VALUE_TYPE(ash::switches::kAshEnableTouchViewTesting), | 1236 SINGLE_VALUE_TYPE(ash::switches::kAshEnableTouchViewTesting, |
| 1237 UMA_HISTOGRAM_ID_kAshEnableTouchViewTesting) |
1069 }, | 1238 }, |
1070 #endif | 1239 #endif |
1071 #if defined(OS_CHROMEOS) | 1240 #if defined(OS_CHROMEOS) |
1072 { | 1241 { |
1073 "enable-carrier-switching", | 1242 "enable-carrier-switching", |
1074 IDS_FLAGS_ENABLE_CARRIER_SWITCHING, | 1243 IDS_FLAGS_ENABLE_CARRIER_SWITCHING, |
1075 IDS_FLAGS_ENABLE_CARRIER_SWITCHING_DESCRIPTION, | 1244 IDS_FLAGS_ENABLE_CARRIER_SWITCHING_DESCRIPTION, |
1076 kOsCrOS, | 1245 kOsCrOS, |
1077 SINGLE_VALUE_TYPE(chromeos::switches::kEnableCarrierSwitching) | 1246 SINGLE_VALUE_TYPE(chromeos::switches::kEnableCarrierSwitching, |
| 1247 UMA_HISTOGRAM_ID_kEnableCarrierSwitching) |
1078 }, | 1248 }, |
1079 { | 1249 { |
1080 "enable-request-tablet-site", | 1250 "enable-request-tablet-site", |
1081 IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_NAME, | 1251 IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_NAME, |
1082 IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_DESCRIPTION, | 1252 IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_DESCRIPTION, |
1083 kOsCrOS, | 1253 kOsCrOS, |
1084 SINGLE_VALUE_TYPE(chromeos::switches::kEnableRequestTabletSite) | 1254 SINGLE_VALUE_TYPE(chromeos::switches::kEnableRequestTabletSite, |
| 1255 UMA_HISTOGRAM_ID_kEnableRequestTabletSite) |
1085 }, | 1256 }, |
1086 #endif | 1257 #endif |
1087 { | 1258 { |
1088 "debug-packed-apps", | 1259 "debug-packed-apps", |
1089 IDS_FLAGS_DEBUG_PACKED_APP_NAME, | 1260 IDS_FLAGS_DEBUG_PACKED_APP_NAME, |
1090 IDS_FLAGS_DEBUG_PACKED_APP_DESCRIPTION, | 1261 IDS_FLAGS_DEBUG_PACKED_APP_DESCRIPTION, |
1091 kOsDesktop, | 1262 kOsDesktop, |
1092 SINGLE_VALUE_TYPE(switches::kDebugPackedApps) | 1263 SINGLE_VALUE_TYPE(switches::kDebugPackedApps, |
| 1264 UMA_HISTOGRAM_ID_kDebugPackedApps) |
1093 }, | 1265 }, |
1094 { | 1266 { |
1095 "enable-password-generation", | 1267 "enable-password-generation", |
1096 IDS_FLAGS_ENABLE_PASSWORD_GENERATION_NAME, | 1268 IDS_FLAGS_ENABLE_PASSWORD_GENERATION_NAME, |
1097 IDS_FLAGS_ENABLE_PASSWORD_GENERATION_DESCRIPTION, | 1269 IDS_FLAGS_ENABLE_PASSWORD_GENERATION_DESCRIPTION, |
1098 kOsDesktop, | 1270 kOsDesktop, |
1099 ENABLE_DISABLE_VALUE_TYPE(autofill::switches::kEnablePasswordGeneration, | 1271 ENABLE_DISABLE_VALUE_TYPE(autofill::switches::kEnablePasswordGeneration, |
1100 autofill::switches::kDisablePasswordGeneration) | 1272 UMA_HISTOGRAM_ID_kEnablePasswordGeneration, |
| 1273 autofill::switches::kDisablePasswordGeneration, |
| 1274 UMA_HISTOGRAM_ID_kDisablePasswordGeneration) |
1101 }, | 1275 }, |
1102 { | 1276 { |
1103 "enable-automatic-password-saving", | 1277 "enable-automatic-password-saving", |
1104 IDS_FLAGS_ENABLE_AUTOMATIC_PASSWORD_SAVING_NAME, | 1278 IDS_FLAGS_ENABLE_AUTOMATIC_PASSWORD_SAVING_NAME, |
1105 IDS_FLAGS_ENABLE_AUTOMATIC_PASSWORD_SAVING_DESCRIPTION, | 1279 IDS_FLAGS_ENABLE_AUTOMATIC_PASSWORD_SAVING_DESCRIPTION, |
1106 kOsDesktop, | 1280 kOsDesktop, |
1107 SINGLE_VALUE_TYPE( | 1281 SINGLE_VALUE_TYPE( |
1108 password_manager::switches::kEnableAutomaticPasswordSaving) | 1282 password_manager::switches::kEnableAutomaticPasswordSaving, |
| 1283 UMA_HISTOGRAM_ID_kEnableAutomaticPasswordSaving) |
1109 }, | 1284 }, |
1110 { | 1285 { |
1111 "password-manager-reauthentication", | 1286 "password-manager-reauthentication", |
1112 IDS_FLAGS_PASSWORD_MANAGER_REAUTHENTICATION_NAME, | 1287 IDS_FLAGS_PASSWORD_MANAGER_REAUTHENTICATION_NAME, |
1113 IDS_FLAGS_PASSWORD_MANAGER_REAUTHENTICATION_DESCRIPTION, | 1288 IDS_FLAGS_PASSWORD_MANAGER_REAUTHENTICATION_DESCRIPTION, |
1114 kOsMac | kOsWin, | 1289 kOsMac | kOsWin, |
1115 SINGLE_VALUE_TYPE(switches::kDisablePasswordManagerReauthentication) | 1290 SINGLE_VALUE_TYPE( |
| 1291 switches::kDisablePasswordManagerReauthentication, |
| 1292 UMA_HISTOGRAM_ID_kDisablePasswordManagerReauthentication) |
1116 }, | 1293 }, |
1117 { | 1294 { |
1118 "enable-deferred-image-decoding", | 1295 "enable-deferred-image-decoding", |
1119 IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_NAME, | 1296 IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_NAME, |
1120 IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_DESCRIPTION, | 1297 IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_DESCRIPTION, |
1121 kOsMac | kOsLinux | kOsCrOS, | 1298 kOsMac | kOsLinux | kOsCrOS, |
1122 SINGLE_VALUE_TYPE(switches::kEnableDeferredImageDecoding) | 1299 SINGLE_VALUE_TYPE(switches::kEnableDeferredImageDecoding, |
| 1300 UMA_HISTOGRAM_ID_kEnableDeferredImageDecoding) |
1123 }, | 1301 }, |
1124 { | 1302 { |
1125 "performance-monitor-gathering", | 1303 "performance-monitor-gathering", |
1126 IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_NAME, | 1304 IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_NAME, |
1127 IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_DESCRIPTION, | 1305 IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_DESCRIPTION, |
1128 kOsAll, | 1306 kOsAll, |
1129 SINGLE_VALUE_TYPE(switches::kPerformanceMonitorGathering) | 1307 SINGLE_VALUE_TYPE(switches::kPerformanceMonitorGathering, |
| 1308 UMA_HISTOGRAM_ID_kPerformanceMonitorGathering) |
1130 }, | 1309 }, |
1131 { | 1310 { |
1132 "wallet-service-use-sandbox", | 1311 "wallet-service-use-sandbox", |
1133 IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_NAME, | 1312 IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_NAME, |
1134 IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_DESCRIPTION, | 1313 IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_DESCRIPTION, |
1135 kOsAndroid | kOsDesktop, | 1314 kOsAndroid | kOsDesktop, |
1136 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE( | 1315 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE( |
1137 autofill::switches::kWalletServiceUseSandbox, "1", | 1316 autofill::switches::kWalletServiceUseSandbox, "1", |
1138 autofill::switches::kWalletServiceUseSandbox, "0") | 1317 UMA_HISTOGRAM_ID_kWalletServiceUseSandbox, |
| 1318 autofill::switches::kWalletServiceUseSandbox, "0", |
| 1319 UMA_HISTOGRAM_ID_kWalletServiceUseSandbox) |
1139 }, | 1320 }, |
1140 #if defined(USE_AURA) | 1321 #if defined(USE_AURA) |
1141 { | 1322 { |
1142 "overscroll-history-navigation", | 1323 "overscroll-history-navigation", |
1143 IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_NAME, | 1324 IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_NAME, |
1144 IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_DESCRIPTION, | 1325 IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_DESCRIPTION, |
1145 kOsAll, | 1326 kOsAll, |
1146 MULTI_VALUE_TYPE(kOverscrollHistoryNavigationChoices) | 1327 MULTI_VALUE_TYPE(kOverscrollHistoryNavigationChoices) |
1147 }, | 1328 }, |
1148 #endif | 1329 #endif |
1149 { | 1330 { |
1150 "scroll-end-effect", | 1331 "scroll-end-effect", |
1151 IDS_FLAGS_SCROLL_END_EFFECT_NAME, | 1332 IDS_FLAGS_SCROLL_END_EFFECT_NAME, |
1152 IDS_FLAGS_SCROLL_END_EFFECT_DESCRIPTION, | 1333 IDS_FLAGS_SCROLL_END_EFFECT_DESCRIPTION, |
1153 kOsCrOS, | 1334 kOsCrOS, |
1154 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE( | 1335 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE( |
1155 switches::kScrollEndEffect, "1", | 1336 switches::kScrollEndEffect, "1", |
1156 switches::kScrollEndEffect, "0") | 1337 UMA_HISTOGRAM_ID_kScrollEndEffect, |
| 1338 switches::kScrollEndEffect, "0", |
| 1339 UMA_HISTOGRAM_ID_kScrollEndEffect) |
1157 }, | 1340 }, |
1158 { | 1341 { |
1159 "enable-touch-drag-drop", | 1342 "enable-touch-drag-drop", |
1160 IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_NAME, | 1343 IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_NAME, |
1161 IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_DESCRIPTION, | 1344 IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_DESCRIPTION, |
1162 kOsWin | kOsCrOS, | 1345 kOsWin | kOsCrOS, |
1163 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTouchDragDrop, | 1346 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTouchDragDrop, |
1164 switches::kDisableTouchDragDrop) | 1347 UMA_HISTOGRAM_ID_kEnableTouchDragDrop, |
| 1348 switches::kDisableTouchDragDrop, |
| 1349 UMA_HISTOGRAM_ID_kDisableTouchDragDrop) |
1165 }, | 1350 }, |
1166 { | 1351 { |
1167 "enable-touch-editing", | 1352 "enable-touch-editing", |
1168 IDS_FLAGS_ENABLE_TOUCH_EDITING_NAME, | 1353 IDS_FLAGS_ENABLE_TOUCH_EDITING_NAME, |
1169 IDS_FLAGS_ENABLE_TOUCH_EDITING_DESCRIPTION, | 1354 IDS_FLAGS_ENABLE_TOUCH_EDITING_DESCRIPTION, |
1170 kOsCrOS | kOsWin | kOsLinux, | 1355 kOsCrOS | kOsWin | kOsLinux, |
1171 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTouchEditing, | 1356 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTouchEditing, |
1172 switches::kDisableTouchEditing) | 1357 UMA_HISTOGRAM_ID_kEnableTouchEditing, |
| 1358 switches::kDisableTouchEditing, |
| 1359 UMA_HISTOGRAM_ID_kDisableTouchEditing) |
1173 }, | 1360 }, |
1174 { | 1361 { |
1175 "enable-suggestions-service", | 1362 "enable-suggestions-service", |
1176 IDS_FLAGS_ENABLE_SUGGESTIONS_SERVICE_NAME, | 1363 IDS_FLAGS_ENABLE_SUGGESTIONS_SERVICE_NAME, |
1177 IDS_FLAGS_ENABLE_SUGGESTIONS_SERVICE_DESCRIPTION, | 1364 IDS_FLAGS_ENABLE_SUGGESTIONS_SERVICE_DESCRIPTION, |
1178 kOsAndroid | kOsCrOS, | 1365 kOsAndroid | kOsCrOS, |
1179 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSuggestionsService, | 1366 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSuggestionsService, |
1180 switches::kDisableSuggestionsService) | 1367 UMA_HISTOGRAM_ID_kEnableSuggestionsService, |
| 1368 switches::kDisableSuggestionsService, |
| 1369 UMA_HISTOGRAM_ID_kDisableSuggestionsService) |
1181 }, | 1370 }, |
1182 { | 1371 { |
1183 "enable-sync-synced-notifications", | 1372 "enable-sync-synced-notifications", |
1184 IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_NAME, | 1373 IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_NAME, |
1185 IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_DESCRIPTION, | 1374 IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_DESCRIPTION, |
1186 kOsDesktop, | 1375 kOsDesktop, |
1187 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSyncSyncedNotifications, | 1376 ENABLE_DISABLE_VALUE_TYPE( |
1188 switches::kDisableSyncSyncedNotifications) | 1377 switches::kEnableSyncSyncedNotifications, |
| 1378 UMA_HISTOGRAM_ID_kEnableSyncSyncedNotifications, |
| 1379 switches::kDisableSyncSyncedNotifications, |
| 1380 UMA_HISTOGRAM_ID_kDisableSyncSyncedNotifications) |
1189 }, | 1381 }, |
1190 #if defined(ENABLE_APP_LIST) | 1382 #if defined(ENABLE_APP_LIST) |
1191 { | 1383 { |
1192 "enable-sync-app-list", | 1384 "enable-sync-app-list", |
1193 IDS_FLAGS_ENABLE_SYNC_APP_LIST_NAME, | 1385 IDS_FLAGS_ENABLE_SYNC_APP_LIST_NAME, |
1194 IDS_FLAGS_ENABLE_SYNC_APP_LIST_DESCRIPTION, | 1386 IDS_FLAGS_ENABLE_SYNC_APP_LIST_DESCRIPTION, |
1195 kOsDesktop, | 1387 kOsDesktop, |
1196 MULTI_VALUE_TYPE(kEnableSyncAppListChoices) | 1388 MULTI_VALUE_TYPE(kEnableSyncAppListChoices) |
1197 }, | 1389 }, |
1198 #endif | 1390 #endif |
1199 #if defined(OS_MACOSX) | 1391 #if defined(OS_MACOSX) |
1200 { | 1392 { |
1201 "enable-avfoundation", | 1393 "enable-avfoundation", |
1202 IDS_FLAGS_ENABLE_AVFOUNDATION_NAME, | 1394 IDS_FLAGS_ENABLE_AVFOUNDATION_NAME, |
1203 IDS_FLAGS_ENABLE_AVFOUNDATION_DESCRIPTION, | 1395 IDS_FLAGS_ENABLE_AVFOUNDATION_DESCRIPTION, |
1204 kOsMac, | 1396 kOsMac, |
1205 SINGLE_VALUE_TYPE(switches::kEnableAVFoundation) | 1397 SINGLE_VALUE_TYPE(switches::kEnableAVFoundation, |
| 1398 UMA_HISTOGRAM_ID_kEnableAVFoundation) |
1206 }, | 1399 }, |
1207 #endif | 1400 #endif |
1208 { | 1401 { |
1209 "impl-side-painting", | 1402 "impl-side-painting", |
1210 IDS_FLAGS_IMPL_SIDE_PAINTING_NAME, | 1403 IDS_FLAGS_IMPL_SIDE_PAINTING_NAME, |
1211 IDS_FLAGS_IMPL_SIDE_PAINTING_DESCRIPTION, | 1404 IDS_FLAGS_IMPL_SIDE_PAINTING_DESCRIPTION, |
1212 kOsAll, | 1405 kOsAll, |
1213 MULTI_VALUE_TYPE(kImplSidePaintingChoices) | 1406 MULTI_VALUE_TYPE(kImplSidePaintingChoices) |
1214 }, | 1407 }, |
1215 { | 1408 { |
(...skipping 18 matching lines...) Expand all Loading... |
1234 IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_DESCRIPTION, | 1427 IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_DESCRIPTION, |
1235 kOsAll, | 1428 kOsAll, |
1236 MULTI_VALUE_TYPE(kMaxTilesForInterestAreaChoices) | 1429 MULTI_VALUE_TYPE(kMaxTilesForInterestAreaChoices) |
1237 }, | 1430 }, |
1238 { | 1431 { |
1239 "enable-offline-auto-reload", | 1432 "enable-offline-auto-reload", |
1240 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_NAME, | 1433 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_NAME, |
1241 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_DESCRIPTION, | 1434 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_DESCRIPTION, |
1242 kOsAll, | 1435 kOsAll, |
1243 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOfflineAutoReload, | 1436 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOfflineAutoReload, |
1244 switches::kDisableOfflineAutoReload) | 1437 UMA_HISTOGRAM_ID_kEnableOfflineAutoReload, |
| 1438 switches::kDisableOfflineAutoReload, |
| 1439 UMA_HISTOGRAM_ID_kDisableOfflineAutoReload) |
1245 }, | 1440 }, |
1246 { | 1441 { |
1247 "enable-offline-auto-reload-visible-only", | 1442 "enable-offline-auto-reload-visible-only", |
1248 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_NAME, | 1443 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_NAME, |
1249 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_DESCRIPTION, | 1444 IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_DESCRIPTION, |
1250 kOsAll, | 1445 kOsAll, |
1251 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOfflineAutoReloadVisibleOnly, | 1446 ENABLE_DISABLE_VALUE_TYPE( |
1252 switches::kDisableOfflineAutoReloadVisibleOnly) | 1447 switches::kEnableOfflineAutoReloadVisibleOnly, |
| 1448 UMA_HISTOGRAM_ID_kEnableOfflineAutoReloadVisibleOnly, |
| 1449 switches::kDisableOfflineAutoReloadVisibleOnly, |
| 1450 UMA_HISTOGRAM_ID_kDisableOfflineAutoReloadVisibleOnly) |
1253 }, | 1451 }, |
1254 { | 1452 { |
1255 "enable-offline-load-stale-cache", | 1453 "enable-offline-load-stale-cache", |
1256 IDS_FLAGS_ENABLE_OFFLINE_LOAD_STALE_NAME, | 1454 IDS_FLAGS_ENABLE_OFFLINE_LOAD_STALE_NAME, |
1257 IDS_FLAGS_ENABLE_OFFLINE_LOAD_STALE_DESCRIPTION, | 1455 IDS_FLAGS_ENABLE_OFFLINE_LOAD_STALE_DESCRIPTION, |
1258 kOsLinux | kOsMac | kOsWin | kOsAndroid, | 1456 kOsLinux | kOsMac | kOsWin | kOsAndroid, |
1259 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOfflineLoadStaleCache, | 1457 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOfflineLoadStaleCache, |
1260 switches::kDisableOfflineLoadStaleCache) | 1458 UMA_HISTOGRAM_ID_kEnableOfflineLoadStaleCache, |
| 1459 switches::kDisableOfflineLoadStaleCache, |
| 1460 UMA_HISTOGRAM_ID_kDisableOfflineLoadStaleCache) |
1261 }, | 1461 }, |
1262 { | 1462 { |
1263 "default-tile-width", | 1463 "default-tile-width", |
1264 IDS_FLAGS_DEFAULT_TILE_WIDTH_NAME, | 1464 IDS_FLAGS_DEFAULT_TILE_WIDTH_NAME, |
1265 IDS_FLAGS_DEFAULT_TILE_WIDTH_DESCRIPTION, | 1465 IDS_FLAGS_DEFAULT_TILE_WIDTH_DESCRIPTION, |
1266 kOsAll, | 1466 kOsAll, |
1267 MULTI_VALUE_TYPE(kDefaultTileWidthChoices) | 1467 MULTI_VALUE_TYPE(kDefaultTileWidthChoices) |
1268 }, | 1468 }, |
1269 { | 1469 { |
1270 "default-tile-height", | 1470 "default-tile-height", |
1271 IDS_FLAGS_DEFAULT_TILE_HEIGHT_NAME, | 1471 IDS_FLAGS_DEFAULT_TILE_HEIGHT_NAME, |
1272 IDS_FLAGS_DEFAULT_TILE_HEIGHT_DESCRIPTION, | 1472 IDS_FLAGS_DEFAULT_TILE_HEIGHT_DESCRIPTION, |
1273 kOsAll, | 1473 kOsAll, |
1274 MULTI_VALUE_TYPE(kDefaultTileHeightChoices) | 1474 MULTI_VALUE_TYPE(kDefaultTileHeightChoices) |
1275 }, | 1475 }, |
1276 #if defined(OS_ANDROID) | 1476 #if defined(OS_ANDROID) |
1277 { | 1477 { |
1278 "disable-gesture-requirement-for-media-playback", | 1478 "disable-gesture-requirement-for-media-playback", |
1279 IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_NAME, | 1479 IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_NAME, |
1280 IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_DESCRIPTION, | 1480 IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_DESCRIPTION, |
1281 kOsAndroid, | 1481 kOsAndroid, |
1282 SINGLE_VALUE_TYPE(switches::kDisableGestureRequirementForMediaPlayback) | 1482 SINGLE_VALUE_TYPE( |
| 1483 switches::kDisableGestureRequirementForMediaPlayback, |
| 1484 UMA_HISTOGRAM_ID_kDisableGestureRequirementForMediaPlayback) |
1283 }, | 1485 }, |
1284 #endif | 1486 #endif |
1285 #if defined(OS_CHROMEOS) | 1487 #if defined(OS_CHROMEOS) |
1286 { | 1488 { |
1287 "enable-virtual-keyboard", | 1489 "enable-virtual-keyboard", |
1288 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_NAME, | 1490 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_NAME, |
1289 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_DESCRIPTION, | 1491 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_DESCRIPTION, |
1290 kOsCrOS, | 1492 kOsCrOS, |
1291 SINGLE_VALUE_TYPE(keyboard::switches::kEnableVirtualKeyboard) | 1493 SINGLE_VALUE_TYPE(keyboard::switches::kEnableVirtualKeyboard, |
| 1494 UMA_HISTOGRAM_ID_kEnableVirtualKeyboard) |
1292 }, | 1495 }, |
1293 { | 1496 { |
1294 "enable-virtual-keyboard-overscroll", | 1497 "enable-virtual-keyboard-overscroll", |
1295 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_OVERSCROLL_NAME, | 1498 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_OVERSCROLL_NAME, |
1296 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_OVERSCROLL_DESCRIPTION, | 1499 IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_OVERSCROLL_DESCRIPTION, |
1297 kOsCrOS, | 1500 kOsCrOS, |
1298 ENABLE_DISABLE_VALUE_TYPE( | 1501 ENABLE_DISABLE_VALUE_TYPE( |
1299 keyboard::switches::kEnableVirtualKeyboardOverscroll, | 1502 keyboard::switches::kEnableVirtualKeyboardOverscroll, |
1300 keyboard::switches::kDisableVirtualKeyboardOverscroll) | 1503 UMA_HISTOGRAM_ID_kEnableVirtualKeyboardOverscroll, |
| 1504 keyboard::switches::kDisableVirtualKeyboardOverscroll, |
| 1505 UMA_HISTOGRAM_ID_kDisableVirtualKeyboardOverscroll) |
1301 }, | 1506 }, |
1302 { | 1507 { |
1303 "enable-swipe-selection", | 1508 "enable-swipe-selection", |
1304 IDS_FLAGS_ENABLE_SWIPE_SELECTION_NAME, | 1509 IDS_FLAGS_ENABLE_SWIPE_SELECTION_NAME, |
1305 IDS_FLAGS_ENABLE_SWIPE_SELECTION_DESCRIPTION, | 1510 IDS_FLAGS_ENABLE_SWIPE_SELECTION_DESCRIPTION, |
1306 kOsCrOS, | 1511 kOsCrOS, |
1307 SINGLE_VALUE_TYPE(keyboard::switches::kEnableSwipeSelection) | 1512 SINGLE_VALUE_TYPE(keyboard::switches::kEnableSwipeSelection, |
| 1513 UMA_HISTOGRAM_ID_kEnableSwipeSelection) |
1308 }, | 1514 }, |
1309 { | 1515 { |
1310 "enable-input-view", | 1516 "enable-input-view", |
1311 IDS_FLAGS_ENABLE_INPUT_VIEW_NAME, | 1517 IDS_FLAGS_ENABLE_INPUT_VIEW_NAME, |
1312 IDS_FLAGS_ENABLE_INPUT_VIEW_DESCRIPTION, | 1518 IDS_FLAGS_ENABLE_INPUT_VIEW_DESCRIPTION, |
1313 kOsCrOS, | 1519 kOsCrOS, |
1314 ENABLE_DISABLE_VALUE_TYPE(keyboard::switches::kEnableInputView, | 1520 ENABLE_DISABLE_VALUE_TYPE(keyboard::switches::kEnableInputView, |
1315 keyboard::switches::kDisableInputView) | 1521 UMA_HISTOGRAM_ID_kEnableInputView, |
| 1522 keyboard::switches::kDisableInputView, |
| 1523 UMA_HISTOGRAM_ID_kDisableInputView) |
1316 }, | 1524 }, |
1317 { | 1525 { |
1318 "enable-experimental-input-view-features", | 1526 "enable-experimental-input-view-features", |
1319 IDS_FLAGS_ENABLE_EXPERIMENTAL_INPUT_VIEW_FEATURES_NAME, | 1527 IDS_FLAGS_ENABLE_EXPERIMENTAL_INPUT_VIEW_FEATURES_NAME, |
1320 IDS_FLAGS_ENABLE_EXPERIMENTAL_INPUT_VIEW_FEATURES_DESCRIPTION, | 1528 IDS_FLAGS_ENABLE_EXPERIMENTAL_INPUT_VIEW_FEATURES_DESCRIPTION, |
1321 kOsCrOS, | 1529 kOsCrOS, |
1322 SINGLE_VALUE_TYPE(keyboard::switches::kEnableExperimentalInputViewFeatures) | 1530 SINGLE_VALUE_TYPE(keyboard::switches::kEnableExperimentalInputViewFeatures, |
| 1531 UMA_HISTOGRAM_ID_kEnableExperimentalInputViewFeatures) |
1323 }, | 1532 }, |
1324 #endif | 1533 #endif |
1325 { | 1534 { |
1326 "enable-simple-cache-backend", | 1535 "enable-simple-cache-backend", |
1327 IDS_FLAGS_ENABLE_SIMPLE_CACHE_BACKEND_NAME, | 1536 IDS_FLAGS_ENABLE_SIMPLE_CACHE_BACKEND_NAME, |
1328 IDS_FLAGS_ENABLE_SIMPLE_CACHE_BACKEND_DESCRIPTION, | 1537 IDS_FLAGS_ENABLE_SIMPLE_CACHE_BACKEND_DESCRIPTION, |
1329 kOsWin | kOsMac | kOsLinux | kOsCrOS, | 1538 kOsWin | kOsMac | kOsLinux | kOsCrOS, |
1330 MULTI_VALUE_TYPE(kSimpleCacheBackendChoices) | 1539 MULTI_VALUE_TYPE(kSimpleCacheBackendChoices) |
1331 }, | 1540 }, |
1332 { | 1541 { |
1333 "enable-tcp-fast-open", | 1542 "enable-tcp-fast-open", |
1334 IDS_FLAGS_ENABLE_TCP_FAST_OPEN_NAME, | 1543 IDS_FLAGS_ENABLE_TCP_FAST_OPEN_NAME, |
1335 IDS_FLAGS_ENABLE_TCP_FAST_OPEN_DESCRIPTION, | 1544 IDS_FLAGS_ENABLE_TCP_FAST_OPEN_DESCRIPTION, |
1336 kOsLinux | kOsCrOS | kOsAndroid, | 1545 kOsLinux | kOsCrOS | kOsAndroid, |
1337 SINGLE_VALUE_TYPE(switches::kEnableTcpFastOpen) | 1546 SINGLE_VALUE_TYPE(switches::kEnableTcpFastOpen, |
| 1547 UMA_HISTOGRAM_ID_kEnableTcpFastOpen) |
1338 }, | 1548 }, |
1339 { | 1549 { |
1340 "enable-syncfs-directory-operation", | 1550 "enable-syncfs-directory-operation", |
1341 IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_NAME, | 1551 IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_NAME, |
1342 IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_DESCRIPTION, | 1552 IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_DESCRIPTION, |
1343 kOsAll, | 1553 kOsAll, |
1344 SINGLE_VALUE_TYPE(switches::kSyncfsEnableDirectoryOperation), | 1554 SINGLE_VALUE_TYPE(switches::kSyncfsEnableDirectoryOperation, |
| 1555 UMA_HISTOGRAM_ID_kSyncfsEnableDirectoryOperation) |
1345 }, | 1556 }, |
1346 #if defined(ENABLE_SERVICE_DISCOVERY) | 1557 #if defined(ENABLE_SERVICE_DISCOVERY) |
1347 { | 1558 { |
1348 "disable-device-discovery", | 1559 "disable-device-discovery", |
1349 IDS_FLAGS_DISABLE_DEVICE_DISCOVERY_NAME, | 1560 IDS_FLAGS_DISABLE_DEVICE_DISCOVERY_NAME, |
1350 IDS_FLAGS_DISABLE_DEVICE_DISCOVERY_DESCRIPTION, | 1561 IDS_FLAGS_DISABLE_DEVICE_DISCOVERY_DESCRIPTION, |
1351 kOsDesktop, | 1562 kOsDesktop, |
1352 SINGLE_VALUE_TYPE(switches::kDisableDeviceDiscovery) | 1563 SINGLE_VALUE_TYPE(switches::kDisableDeviceDiscovery, |
| 1564 UMA_HISTOGRAM_ID_kDisableDeviceDiscovery) |
1353 }, | 1565 }, |
1354 { | 1566 { |
1355 "device-discovery-notifications", | 1567 "device-discovery-notifications", |
1356 IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_NAME, | 1568 IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_NAME, |
1357 IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_DESCRIPTION, | 1569 IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_DESCRIPTION, |
1358 kOsDesktop, | 1570 kOsDesktop, |
1359 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableDeviceDiscoveryNotifications, | 1571 ENABLE_DISABLE_VALUE_TYPE( |
1360 switches::kDisableDeviceDiscoveryNotifications) | 1572 switches::kEnableDeviceDiscoveryNotifications, |
| 1573 UMA_HISTOGRAM_ID_kEnableDeviceDiscoveryNotifications, |
| 1574 switches::kDisableDeviceDiscoveryNotifications, |
| 1575 UMA_HISTOGRAM_ID_kDisableDeviceDiscoveryNotifications) |
1361 }, | 1576 }, |
1362 { | 1577 { |
1363 "enable-cloud-devices", | 1578 "enable-cloud-devices", |
1364 IDS_FLAGS_ENABLE_CLOUD_DEVICES_NAME, | 1579 IDS_FLAGS_ENABLE_CLOUD_DEVICES_NAME, |
1365 IDS_FLAGS_ENABLE_CLOUD_DEVICES_DESCRIPTION, | 1580 IDS_FLAGS_ENABLE_CLOUD_DEVICES_DESCRIPTION, |
1366 kOsDesktop, | 1581 kOsDesktop, |
1367 SINGLE_VALUE_TYPE(switches::kEnableCloudDevices) | 1582 SINGLE_VALUE_TYPE(switches::kEnableCloudDevices, |
| 1583 UMA_HISTOGRAM_ID_kEnableCloudDevices) |
1368 }, | 1584 }, |
1369 { | 1585 { |
1370 "enable-print-preview-register-promos", | 1586 "enable-print-preview-register-promos", |
1371 IDS_FLAGS_ENABLE_PRINT_PREVIEW_REGISTER_PROMOS_NAME, | 1587 IDS_FLAGS_ENABLE_PRINT_PREVIEW_REGISTER_PROMOS_NAME, |
1372 IDS_FLAGS_ENABLE_PRINT_PREVIEW_REGISTER_PROMOS_DESCRIPTION, | 1588 IDS_FLAGS_ENABLE_PRINT_PREVIEW_REGISTER_PROMOS_DESCRIPTION, |
1373 kOsDesktop, | 1589 kOsDesktop, |
1374 SINGLE_VALUE_TYPE(switches::kEnablePrintPreviewRegisterPromos) | 1590 SINGLE_VALUE_TYPE(switches::kEnablePrintPreviewRegisterPromos, |
| 1591 UMA_HISTOGRAM_ID_kEnablePrintPreviewRegisterPromos) |
1375 }, | 1592 }, |
1376 #endif // ENABLE_SERVICE_DISCOVERY | 1593 #endif // ENABLE_SERVICE_DISCOVERY |
1377 #if defined(OS_WIN) | 1594 #if defined(OS_WIN) |
1378 { | 1595 { |
1379 "enable-cloud-print-xps", | 1596 "enable-cloud-print-xps", |
1380 IDS_FLAGS_ENABLE_CLOUD_PRINT_XPS_NAME, | 1597 IDS_FLAGS_ENABLE_CLOUD_PRINT_XPS_NAME, |
1381 IDS_FLAGS_ENABLE_CLOUD_PRINT_XPS_DESCRIPTION, | 1598 IDS_FLAGS_ENABLE_CLOUD_PRINT_XPS_DESCRIPTION, |
1382 kOsWin, | 1599 kOsWin, |
1383 SINGLE_VALUE_TYPE(switches::kEnableCloudPrintXps) | 1600 SINGLE_VALUE_TYPE(switches::kEnableCloudPrintXps, |
| 1601 UMA_HISTOGRAM_ID_kEnableCloudPrintXps) |
1384 }, | 1602 }, |
1385 #endif | 1603 #endif |
1386 #if defined(OS_MACOSX) | 1604 #if defined(OS_MACOSX) |
1387 { | 1605 { |
1388 "enable-simplified-fullscreen", | 1606 "enable-simplified-fullscreen", |
1389 IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_NAME, | 1607 IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_NAME, |
1390 IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_DESCRIPTION, | 1608 IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_DESCRIPTION, |
1391 kOsMac, | 1609 kOsMac, |
1392 SINGLE_VALUE_TYPE(switches::kEnableSimplifiedFullscreen) | 1610 SINGLE_VALUE_TYPE(switches::kEnableSimplifiedFullscreen, |
| 1611 UMA_HISTOGRAM_ID_kEnableSimplifiedFullscreen) |
1393 }, | 1612 }, |
1394 #endif | 1613 #endif |
1395 #if defined(USE_AURA) | 1614 #if defined(USE_AURA) |
1396 { | 1615 { |
1397 "tab-capture-upscale-quality", | 1616 "tab-capture-upscale-quality", |
1398 IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_NAME, | 1617 IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_NAME, |
1399 IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_DESCRIPTION, | 1618 IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_DESCRIPTION, |
1400 kOsAll, | 1619 kOsAll, |
1401 MULTI_VALUE_TYPE(kTabCaptureUpscaleQualityChoices) | 1620 MULTI_VALUE_TYPE(kTabCaptureUpscaleQualityChoices) |
1402 }, | 1621 }, |
1403 { | 1622 { |
1404 "tab-capture-downscale-quality", | 1623 "tab-capture-downscale-quality", |
1405 IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_NAME, | 1624 IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_NAME, |
1406 IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_DESCRIPTION, | 1625 IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_DESCRIPTION, |
1407 kOsAll, | 1626 kOsAll, |
1408 MULTI_VALUE_TYPE(kTabCaptureDownscaleQualityChoices) | 1627 MULTI_VALUE_TYPE(kTabCaptureDownscaleQualityChoices) |
1409 }, | 1628 }, |
1410 #endif | 1629 #endif |
1411 { | 1630 { |
1412 "enable-spelling-feedback-field-trial", | 1631 "enable-spelling-feedback-field-trial", |
1413 IDS_FLAGS_ENABLE_SPELLING_FEEDBACK_FIELD_TRIAL_NAME, | 1632 IDS_FLAGS_ENABLE_SPELLING_FEEDBACK_FIELD_TRIAL_NAME, |
1414 IDS_FLAGS_ENABLE_SPELLING_FEEDBACK_FIELD_TRIAL_DESCRIPTION, | 1633 IDS_FLAGS_ENABLE_SPELLING_FEEDBACK_FIELD_TRIAL_DESCRIPTION, |
1415 kOsAll, | 1634 kOsAll, |
1416 SINGLE_VALUE_TYPE(switches::kEnableSpellingFeedbackFieldTrial) | 1635 SINGLE_VALUE_TYPE(switches::kEnableSpellingFeedbackFieldTrial, |
| 1636 UMA_HISTOGRAM_ID_kEnableSpellingFeedbackFieldTrial) |
1417 }, | 1637 }, |
1418 { | 1638 { |
1419 "enable-webgl-draft-extensions", | 1639 "enable-webgl-draft-extensions", |
1420 IDS_FLAGS_ENABLE_WEBGL_DRAFT_EXTENSIONS_NAME, | 1640 IDS_FLAGS_ENABLE_WEBGL_DRAFT_EXTENSIONS_NAME, |
1421 IDS_FLAGS_ENABLE_WEBGL_DRAFT_EXTENSIONS_DESCRIPTION, | 1641 IDS_FLAGS_ENABLE_WEBGL_DRAFT_EXTENSIONS_DESCRIPTION, |
1422 kOsAll, | 1642 kOsAll, |
1423 SINGLE_VALUE_TYPE(switches::kEnableWebGLDraftExtensions) | 1643 SINGLE_VALUE_TYPE(switches::kEnableWebGLDraftExtensions, |
| 1644 UMA_HISTOGRAM_ID_kEnableWebGLDraftExtensions) |
1424 }, | 1645 }, |
1425 { | 1646 { |
1426 "enable-web-midi", | 1647 "enable-web-midi", |
1427 IDS_FLAGS_ENABLE_WEB_MIDI_NAME, | 1648 IDS_FLAGS_ENABLE_WEB_MIDI_NAME, |
1428 IDS_FLAGS_ENABLE_WEB_MIDI_DESCRIPTION, | 1649 IDS_FLAGS_ENABLE_WEB_MIDI_DESCRIPTION, |
1429 kOsMac | kOsWin | kOsLinux | kOsCrOS | kOsAndroid, | 1650 kOsMac | kOsWin | kOsLinux | kOsCrOS | kOsAndroid, |
1430 SINGLE_VALUE_TYPE(switches::kEnableWebMIDI) | 1651 SINGLE_VALUE_TYPE(switches::kEnableWebMIDI, |
| 1652 UMA_HISTOGRAM_ID_kEnableWebMIDI) |
1431 }, | 1653 }, |
1432 { | 1654 { |
1433 "enable-new-profile-management", | 1655 "enable-new-profile-management", |
1434 IDS_FLAGS_ENABLE_NEW_PROFILE_MANAGEMENT_NAME, | 1656 IDS_FLAGS_ENABLE_NEW_PROFILE_MANAGEMENT_NAME, |
1435 IDS_FLAGS_ENABLE_NEW_PROFILE_MANAGEMENT_DESCRIPTION, | 1657 IDS_FLAGS_ENABLE_NEW_PROFILE_MANAGEMENT_DESCRIPTION, |
1436 kOsAndroid | kOsMac | kOsWin | kOsLinux | kOsCrOS, | 1658 kOsAndroid | kOsMac | kOsWin | kOsLinux | kOsCrOS, |
1437 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableNewProfileManagement, | 1659 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableNewProfileManagement, |
1438 switches::kDisableNewProfileManagement) | 1660 UMA_HISTOGRAM_ID_kEnableNewProfileManagement, |
| 1661 switches::kDisableNewProfileManagement, |
| 1662 UMA_HISTOGRAM_ID_kDisableNewProfileManagement) |
1439 }, | 1663 }, |
1440 { | 1664 { |
1441 "enable-account-consistency", | 1665 "enable-account-consistency", |
1442 IDS_FLAGS_ENABLE_ACCOUNT_CONSISTENCY_NAME, | 1666 IDS_FLAGS_ENABLE_ACCOUNT_CONSISTENCY_NAME, |
1443 IDS_FLAGS_ENABLE_ACCOUNT_CONSISTENCY_DESCRIPTION, | 1667 IDS_FLAGS_ENABLE_ACCOUNT_CONSISTENCY_DESCRIPTION, |
1444 kOsAndroid | kOsMac | kOsWin | kOsLinux | kOsCrOS, | 1668 kOsAndroid | kOsMac | kOsWin | kOsLinux | kOsCrOS, |
1445 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAccountConsistency, | 1669 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAccountConsistency, |
1446 switches::kDisableAccountConsistency) | 1670 UMA_HISTOGRAM_ID_kEnableAccountConsistency, |
| 1671 switches::kDisableAccountConsistency, |
| 1672 UMA_HISTOGRAM_ID_kDisableAccountConsistency) |
1447 }, | 1673 }, |
1448 { | 1674 { |
1449 "enable-fast-user-switching", | 1675 "enable-fast-user-switching", |
1450 IDS_FLAGS_ENABLE_FAST_USER_SWITCHING_NAME, | 1676 IDS_FLAGS_ENABLE_FAST_USER_SWITCHING_NAME, |
1451 IDS_FLAGS_ENABLE_FAST_USER_SWITCHING_DESCRIPTION, | 1677 IDS_FLAGS_ENABLE_FAST_USER_SWITCHING_DESCRIPTION, |
1452 kOsMac | kOsWin | kOsLinux, | 1678 kOsMac | kOsWin | kOsLinux, |
1453 SINGLE_VALUE_TYPE(switches::kFastUserSwitching) | 1679 SINGLE_VALUE_TYPE(switches::kFastUserSwitching, |
| 1680 UMA_HISTOGRAM_ID_kFastUserSwitching) |
1454 }, | 1681 }, |
1455 { | 1682 { |
1456 "enable-new-avatar-menu", | 1683 "enable-new-avatar-menu", |
1457 IDS_FLAGS_ENABLE_NEW_AVATAR_MENU_NAME, | 1684 IDS_FLAGS_ENABLE_NEW_AVATAR_MENU_NAME, |
1458 IDS_FLAGS_ENABLE_NEW_AVATAR_MENU_DESCRIPTION, | 1685 IDS_FLAGS_ENABLE_NEW_AVATAR_MENU_DESCRIPTION, |
1459 kOsMac | kOsWin | kOsLinux, | 1686 kOsMac | kOsWin | kOsLinux, |
1460 SINGLE_VALUE_TYPE(switches::kNewAvatarMenu) | 1687 SINGLE_VALUE_TYPE(switches::kNewAvatarMenu, |
| 1688 UMA_HISTOGRAM_ID_kNewAvatarMenu) |
1461 }, | 1689 }, |
1462 { | 1690 { |
1463 "enable-web-based-signin", | 1691 "enable-web-based-signin", |
1464 IDS_FLAGS_ENABLE_WEB_BASED_SIGNIN_NAME, | 1692 IDS_FLAGS_ENABLE_WEB_BASED_SIGNIN_NAME, |
1465 IDS_FLAGS_ENABLE_WEB_BASED_SIGNIN_DESCRIPTION, | 1693 IDS_FLAGS_ENABLE_WEB_BASED_SIGNIN_DESCRIPTION, |
1466 kOsMac | kOsWin | kOsLinux, | 1694 kOsMac | kOsWin | kOsLinux, |
1467 SINGLE_VALUE_TYPE(switches::kEnableWebBasedSignin) | 1695 SINGLE_VALUE_TYPE(switches::kEnableWebBasedSignin, |
| 1696 UMA_HISTOGRAM_ID_kEnableWebBasedSignin) |
1468 }, | 1697 }, |
1469 { | 1698 { |
1470 "enable-google-profile-info", | 1699 "enable-google-profile-info", |
1471 IDS_FLAGS_ENABLE_GOOGLE_PROFILE_INFO_NAME, | 1700 IDS_FLAGS_ENABLE_GOOGLE_PROFILE_INFO_NAME, |
1472 IDS_FLAGS_ENABLE_GOOGLE_PROFILE_INFO_DESCRIPTION, | 1701 IDS_FLAGS_ENABLE_GOOGLE_PROFILE_INFO_DESCRIPTION, |
1473 kOsMac | kOsWin | kOsLinux, | 1702 kOsMac | kOsWin | kOsLinux, |
1474 SINGLE_VALUE_TYPE(switches::kGoogleProfileInfo) | 1703 SINGLE_VALUE_TYPE(switches::kGoogleProfileInfo, |
| 1704 UMA_HISTOGRAM_ID_kGoogleProfileInfo) |
1475 }, | 1705 }, |
1476 { | 1706 { |
1477 "reset-app-list-install-state", | 1707 "reset-app-list-install-state", |
1478 IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_NAME, | 1708 IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_NAME, |
1479 IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_DESCRIPTION, | 1709 IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_DESCRIPTION, |
1480 kOsMac | kOsWin | kOsLinux, | 1710 kOsMac | kOsWin | kOsLinux, |
1481 SINGLE_VALUE_TYPE(switches::kResetAppListInstallState) | 1711 SINGLE_VALUE_TYPE(switches::kResetAppListInstallState, |
| 1712 UMA_HISTOGRAM_ID_kResetAppListInstallState) |
1482 }, | 1713 }, |
1483 #if defined(ENABLE_APP_LIST) | 1714 #if defined(ENABLE_APP_LIST) |
1484 #if defined(OS_LINUX) | 1715 #if defined(OS_LINUX) |
1485 { | 1716 { // This is compiled out on non-Linux platforms because otherwise it would |
1486 // This is compiled out on non-Linux platforms because otherwise it would be | 1717 // be |
1487 // visible on Win/Mac/CrOS but not on Linux GTK, which would be confusing. | 1718 // visible on Win/Mac/CrOS but not on Linux GTK, which would be confusing. |
1488 // TODO(mgiuca): Remove the #if when Aura is the default on Linux. | 1719 // TODO(mgiuca): Remove the #if when Aura is the default on Linux. |
1489 "enable-app-list", | 1720 "enable-app-list", |
1490 IDS_FLAGS_ENABLE_APP_LIST_NAME, | 1721 IDS_FLAGS_ENABLE_APP_LIST_NAME, |
1491 IDS_FLAGS_ENABLE_APP_LIST_DESCRIPTION, | 1722 IDS_FLAGS_ENABLE_APP_LIST_DESCRIPTION, |
1492 kOsLinux, | 1723 kOsLinux, |
1493 SINGLE_VALUE_TYPE(switches::kEnableAppList) | 1724 SINGLE_VALUE_TYPE(switches::kEnableAppList, |
| 1725 UMA_HISTOGRAM_ID_kEnableAppList) |
1494 }, | 1726 }, |
1495 #endif | 1727 #endif |
1496 { | 1728 { |
1497 "disable-app-list-app-info", | 1729 "disable-app-list-app-info", |
1498 IDS_FLAGS_DISABLE_APP_INFO_IN_APP_LIST, | 1730 IDS_FLAGS_DISABLE_APP_INFO_IN_APP_LIST, |
1499 IDS_FLAGS_DISABLE_APP_INFO_IN_APP_LIST_DESCRIPTION, | 1731 IDS_FLAGS_DISABLE_APP_INFO_IN_APP_LIST_DESCRIPTION, |
1500 kOsLinux | kOsWin | kOsCrOS, | 1732 kOsLinux | kOsWin | kOsCrOS, |
1501 SINGLE_VALUE_TYPE(app_list::switches::kDisableAppInfo) | 1733 SINGLE_VALUE_TYPE(app_list::switches::kDisableAppInfo, |
| 1734 UMA_HISTOGRAM_ID_kDisableAppInfo) |
1502 }, | 1735 }, |
1503 { | 1736 { |
1504 "disable-app-list-voice-search", | 1737 "disable-app-list-voice-search", |
1505 IDS_FLAGS_DISABLE_APP_LIST_VOICE_SEARCH, | 1738 IDS_FLAGS_DISABLE_APP_LIST_VOICE_SEARCH, |
1506 IDS_FLAGS_DISABLE_APP_LIST_VOICE_SEARCH_DESCRIPTION, | 1739 IDS_FLAGS_DISABLE_APP_LIST_VOICE_SEARCH_DESCRIPTION, |
1507 kOsCrOS, | 1740 kOsCrOS, |
1508 SINGLE_VALUE_TYPE(app_list::switches::kDisableVoiceSearch) | 1741 SINGLE_VALUE_TYPE(app_list::switches::kDisableVoiceSearch, |
| 1742 UMA_HISTOGRAM_ID_kDisableVoiceSearch) |
1509 }, | 1743 }, |
1510 #endif | 1744 #endif |
1511 #if defined(OS_ANDROID) | 1745 #if defined(OS_ANDROID) |
1512 { | 1746 { |
1513 "enable-accessibility-tab-switcher", | 1747 "enable-accessibility-tab-switcher", |
1514 IDS_FLAGS_ENABLE_ACCESSIBILITY_TAB_SWITCHER_NAME, | 1748 IDS_FLAGS_ENABLE_ACCESSIBILITY_TAB_SWITCHER_NAME, |
1515 IDS_FLAGS_ENABLE_ACCESSIBILITY_TAB_SWITCHER_DESCRIPTION, | 1749 IDS_FLAGS_ENABLE_ACCESSIBILITY_TAB_SWITCHER_DESCRIPTION, |
1516 kOsAndroid, | 1750 kOsAndroid, |
1517 SINGLE_VALUE_TYPE(switches::kEnableAccessibilityTabSwitcher) | 1751 SINGLE_VALUE_TYPE(switches::kEnableAccessibilityTabSwitcher, |
1518 }, | 1752 UMA_HISTOGRAM_ID_kEnableAccessibilityTabSwitcher) |
1519 { | |
1520 // TODO(dmazzoni): remove this flag when native android accessibility | |
1521 // ships in the stable channel. http://crbug.com/356775 | |
1522 "enable-accessibility-script-injection", | |
1523 IDS_FLAGS_ENABLE_ACCESSIBILITY_SCRIPT_INJECTION_NAME, | |
1524 IDS_FLAGS_ENABLE_ACCESSIBILITY_SCRIPT_INJECTION_DESCRIPTION, | |
1525 kOsAndroid, | |
1526 // Java-only switch: ContentSwitches.ENABLE_ACCESSIBILITY_SCRIPT_INJECTION. | |
1527 SINGLE_VALUE_TYPE("enable-accessibility-script-injection") | |
1528 }, | 1753 }, |
1529 #endif | 1754 #endif |
1530 { | 1755 { |
1531 "enable-one-copy", | 1756 "enable-one-copy", |
1532 IDS_FLAGS_ONE_COPY_NAME, | 1757 IDS_FLAGS_ONE_COPY_NAME, |
1533 IDS_FLAGS_ONE_COPY_DESCRIPTION, | 1758 IDS_FLAGS_ONE_COPY_DESCRIPTION, |
1534 kOsAll, | 1759 kOsAll, |
1535 SINGLE_VALUE_TYPE(switches::kEnableOneCopy) | 1760 SINGLE_VALUE_TYPE(switches::kEnableOneCopy, |
| 1761 UMA_HISTOGRAM_ID_kEnableOneCopy) |
1536 }, | 1762 }, |
1537 { | 1763 { |
1538 "enable-zero-copy", | 1764 "enable-zero-copy", |
1539 IDS_FLAGS_ZERO_COPY_NAME, | 1765 IDS_FLAGS_ZERO_COPY_NAME, |
1540 IDS_FLAGS_ZERO_COPY_DESCRIPTION, | 1766 IDS_FLAGS_ZERO_COPY_DESCRIPTION, |
1541 kOsAll, | 1767 kOsAll, |
1542 MULTI_VALUE_TYPE(kZeroCopyChoices) | 1768 MULTI_VALUE_TYPE(kZeroCopyChoices) |
1543 }, | 1769 }, |
1544 #if defined(OS_CHROMEOS) | 1770 #if defined(OS_CHROMEOS) |
1545 { | 1771 { |
1546 "enable-first-run-ui-transitions", | 1772 "enable-first-run-ui-transitions", |
1547 IDS_FLAGS_ENABLE_FIRST_RUN_UI_TRANSITIONS_NAME, | 1773 IDS_FLAGS_ENABLE_FIRST_RUN_UI_TRANSITIONS_NAME, |
1548 IDS_FLAGS_ENABLE_FIRST_RUN_UI_TRANSITIONS_DESCRIPTION, | 1774 IDS_FLAGS_ENABLE_FIRST_RUN_UI_TRANSITIONS_DESCRIPTION, |
1549 kOsCrOS, | 1775 kOsCrOS, |
1550 SINGLE_VALUE_TYPE(chromeos::switches::kEnableFirstRunUITransitions) | 1776 SINGLE_VALUE_TYPE(chromeos::switches::kEnableFirstRunUITransitions, |
| 1777 UMA_HISTOGRAM_ID_kEnableFirstRunUITransitions) |
1551 }, | 1778 }, |
1552 #endif | 1779 #endif |
1553 { | 1780 { |
1554 "disable-compositor-touch-hit-testing", | 1781 "disable-compositor-touch-hit-testing", |
1555 IDS_FLAGS_DISABLE_COMPOSITOR_TOUCH_HIT_TESTING_NAME, | 1782 IDS_FLAGS_DISABLE_COMPOSITOR_TOUCH_HIT_TESTING_NAME, |
1556 IDS_FLAGS_DISABLE_COMPOSITOR_TOUCH_HIT_TESTING_DESCRIPTION, | 1783 IDS_FLAGS_DISABLE_COMPOSITOR_TOUCH_HIT_TESTING_DESCRIPTION, |
1557 kOsAll, | 1784 kOsAll, |
1558 SINGLE_VALUE_TYPE(cc::switches::kDisableCompositorTouchHitTesting), | 1785 SINGLE_VALUE_TYPE(cc::switches::kDisableCompositorTouchHitTesting, |
| 1786 UMA_HISTOGRAM_ID_kDisableCompositorTouchHitTesting) |
1559 }, | 1787 }, |
1560 { | 1788 { |
1561 "enable-streamlined-hosted-apps", | 1789 "enable-streamlined-hosted-apps", |
1562 IDS_FLAGS_ENABLE_STREAMLINED_HOSTED_APPS_NAME, | 1790 IDS_FLAGS_ENABLE_STREAMLINED_HOSTED_APPS_NAME, |
1563 IDS_FLAGS_ENABLE_STREAMLINED_HOSTED_APPS_DESCRIPTION, | 1791 IDS_FLAGS_ENABLE_STREAMLINED_HOSTED_APPS_DESCRIPTION, |
1564 kOsWin | kOsCrOS | kOsLinux, | 1792 kOsWin | kOsCrOS | kOsLinux, |
1565 SINGLE_VALUE_TYPE(switches::kEnableStreamlinedHostedApps) | 1793 SINGLE_VALUE_TYPE(switches::kEnableStreamlinedHostedApps, |
| 1794 UMA_HISTOGRAM_ID_kEnableStreamlinedHostedApps) |
1566 }, | 1795 }, |
1567 { | 1796 { |
1568 "enable-prominent-url-app-flow", | 1797 "enable-prominent-url-app-flow", |
1569 IDS_FLAGS_ENABLE_PROMINENT_URL_APP_FLOW_NAME, | 1798 IDS_FLAGS_ENABLE_PROMINENT_URL_APP_FLOW_NAME, |
1570 IDS_FLAGS_ENABLE_PROMINENT_URL_APP_FLOW_DESCRIPTION, | 1799 IDS_FLAGS_ENABLE_PROMINENT_URL_APP_FLOW_DESCRIPTION, |
1571 kOsWin | kOsCrOS | kOsLinux, | 1800 kOsWin | kOsCrOS | kOsLinux, |
1572 SINGLE_VALUE_TYPE(switches::kEnableProminentURLAppFlow) | 1801 SINGLE_VALUE_TYPE(switches::kEnableProminentURLAppFlow, |
| 1802 UMA_HISTOGRAM_ID_kEnableProminentURLAppFlow) |
1573 }, | 1803 }, |
1574 { | 1804 { |
1575 "enable-ephemeral-apps", | 1805 "enable-ephemeral-apps", |
1576 IDS_FLAGS_ENABLE_EPHEMERAL_APPS_NAME, | 1806 IDS_FLAGS_ENABLE_EPHEMERAL_APPS_NAME, |
1577 IDS_FLAGS_ENABLE_EPHEMERAL_APPS_DESCRIPTION, | 1807 IDS_FLAGS_ENABLE_EPHEMERAL_APPS_DESCRIPTION, |
1578 kOsAll, | 1808 kOsAll, |
1579 SINGLE_VALUE_TYPE(switches::kEnableEphemeralApps) | 1809 SINGLE_VALUE_TYPE(switches::kEnableEphemeralApps, |
| 1810 UMA_HISTOGRAM_ID_kEnableEphemeralApps) |
1580 }, | 1811 }, |
1581 { | 1812 { |
1582 "enable-linkable-ephemeral-apps", | 1813 "enable-linkable-ephemeral-apps", |
1583 IDS_FLAGS_ENABLE_LINKABLE_EPHEMERAL_APPS_NAME, | 1814 IDS_FLAGS_ENABLE_LINKABLE_EPHEMERAL_APPS_NAME, |
1584 IDS_FLAGS_ENABLE_LINKABLE_EPHEMERAL_APPS_DESCRIPTION, | 1815 IDS_FLAGS_ENABLE_LINKABLE_EPHEMERAL_APPS_DESCRIPTION, |
1585 kOsAll, | 1816 kOsAll, |
1586 SINGLE_VALUE_TYPE(switches::kEnableLinkableEphemeralApps) | 1817 SINGLE_VALUE_TYPE(switches::kEnableLinkableEphemeralApps, |
| 1818 UMA_HISTOGRAM_ID_kEnableLinkableEphemeralApps) |
1587 }, | 1819 }, |
1588 { | 1820 { |
1589 "enable-service-worker", | 1821 "enable-service-worker", |
1590 IDS_FLAGS_ENABLE_SERVICE_WORKER_NAME, | 1822 IDS_FLAGS_ENABLE_SERVICE_WORKER_NAME, |
1591 IDS_FLAGS_ENABLE_SERVICE_WORKER_DESCRIPTION, | 1823 IDS_FLAGS_ENABLE_SERVICE_WORKER_DESCRIPTION, |
1592 kOsAll, | 1824 kOsAll, |
1593 SINGLE_VALUE_TYPE(switches::kEnableServiceWorker) | 1825 SINGLE_VALUE_TYPE(switches::kEnableServiceWorker, |
| 1826 UMA_HISTOGRAM_ID_kEnableServiceWorker) |
1594 }, | 1827 }, |
1595 { | 1828 { |
1596 "enable-service-worker-sync", | 1829 "enable-service-worker-sync", |
1597 IDS_FLAGS_ENABLE_SERVICE_WORKER_SYNC_NAME, | 1830 IDS_FLAGS_ENABLE_SERVICE_WORKER_SYNC_NAME, |
1598 IDS_FLAGS_ENABLE_SERVICE_WORKER_SYNC_DESCRIPTION, | 1831 IDS_FLAGS_ENABLE_SERVICE_WORKER_SYNC_DESCRIPTION, |
1599 kOsAll, | 1832 kOsAll, |
1600 SINGLE_VALUE_TYPE(switches::kEnableServiceWorkerSync) | 1833 SINGLE_VALUE_TYPE(switches::kEnableServiceWorkerSync, |
| 1834 UMA_HISTOGRAM_ID_kEnableServiceWorkerSync) |
1601 }, | 1835 }, |
1602 #if defined(OS_ANDROID) | 1836 #if defined(OS_ANDROID) |
1603 { | 1837 { |
1604 "disable-click-delay", | 1838 "disable-click-delay", |
1605 IDS_FLAGS_DISABLE_CLICK_DELAY_NAME, | 1839 IDS_FLAGS_DISABLE_CLICK_DELAY_NAME, |
1606 IDS_FLAGS_DISABLE_CLICK_DELAY_DESCRIPTION, | 1840 IDS_FLAGS_DISABLE_CLICK_DELAY_DESCRIPTION, |
1607 kOsAndroid, | 1841 kOsAndroid, |
1608 // Java-only switch: CommandLine.DISABLE_CLICK_DELAY | 1842 // Java-only switch: CommandLine.DISABLE_CLICK_DELAY |
1609 SINGLE_VALUE_TYPE("disable-click-delay") | 1843 SINGLE_VALUE_TYPE(switches::kDisableClickDelay, |
| 1844 UMA_HISTOGRAM_ID_kDisableClickDelay) |
1610 }, | 1845 }, |
1611 #endif | 1846 #endif |
1612 #if defined(OS_MACOSX) | 1847 #if defined(OS_MACOSX) |
1613 { | 1848 { |
1614 "enable-translate-new-ux", | 1849 "enable-translate-new-ux", |
1615 IDS_FLAGS_ENABLE_TRANSLATE_NEW_UX_NAME, | 1850 IDS_FLAGS_ENABLE_TRANSLATE_NEW_UX_NAME, |
1616 IDS_FLAGS_ENABLE_TRANSLATE_NEW_UX_DESCRIPTION, | 1851 IDS_FLAGS_ENABLE_TRANSLATE_NEW_UX_DESCRIPTION, |
1617 kOsMac, | 1852 kOsMac, |
1618 SINGLE_VALUE_TYPE(switches::kEnableTranslateNewUX) | 1853 SINGLE_VALUE_TYPE(switches::kEnableTranslateNewUX, |
| 1854 UMA_HISTOGRAM_ID_kEnableTranslateNewUX) |
1619 }, | 1855 }, |
1620 #endif | 1856 #endif |
1621 #if defined(TOOLKIT_VIEWS) | 1857 #if defined(TOOLKIT_VIEWS) |
1622 { | 1858 { |
1623 "disable-views-rect-based-targeting", // FLAGS:RECORD_UMA | 1859 "disable-views-rect-based-targeting", // FLAGS:RECORD_UMA |
1624 IDS_FLAGS_DISABLE_VIEWS_RECT_BASED_TARGETING_NAME, | 1860 IDS_FLAGS_DISABLE_VIEWS_RECT_BASED_TARGETING_NAME, |
1625 IDS_FLAGS_DISABLE_VIEWS_RECT_BASED_TARGETING_DESCRIPTION, | 1861 IDS_FLAGS_DISABLE_VIEWS_RECT_BASED_TARGETING_DESCRIPTION, |
1626 kOsCrOS | kOsWin, | 1862 kOsCrOS | kOsWin, |
1627 SINGLE_VALUE_TYPE(views::switches::kDisableViewsRectBasedTargeting) | 1863 SINGLE_VALUE_TYPE(views::switches::kDisableViewsRectBasedTargeting, |
| 1864 UMA_HISTOGRAM_ID_kDisableViewsRectBasedTargeting) |
1628 }, | 1865 }, |
1629 #endif | 1866 #endif |
1630 { | 1867 { |
1631 "enable-apps-show-on-first-paint", | 1868 "enable-apps-show-on-first-paint", |
1632 IDS_FLAGS_ENABLE_APPS_SHOW_ON_FIRST_PAINT_NAME, | 1869 IDS_FLAGS_ENABLE_APPS_SHOW_ON_FIRST_PAINT_NAME, |
1633 IDS_FLAGS_ENABLE_APPS_SHOW_ON_FIRST_PAINT_DESCRIPTION, | 1870 IDS_FLAGS_ENABLE_APPS_SHOW_ON_FIRST_PAINT_DESCRIPTION, |
1634 kOsDesktop, | 1871 kOsDesktop, |
1635 SINGLE_VALUE_TYPE(switches::kEnableAppsShowOnFirstPaint) | 1872 SINGLE_VALUE_TYPE(switches::kEnableAppsShowOnFirstPaint, |
| 1873 UMA_HISTOGRAM_ID_kEnableAppsShowOnFirstPaint) |
1636 }, | 1874 }, |
1637 { | 1875 { |
1638 "enhanced-bookmarks-experiment", | 1876 "enhanced-bookmarks-experiment", |
1639 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME, | 1877 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME, |
1640 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION, | 1878 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION, |
1641 kOsDesktop, | 1879 kOsDesktop, |
1642 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE( | 1880 ENABLE_DISABLE_VALUE_TYPE_AND_VALUE( |
1643 switches::kEnhancedBookmarksExperiment, "1", | 1881 switches::kEnhancedBookmarksExperiment, "1", |
1644 switches::kEnhancedBookmarksExperiment, "0") | 1882 UMA_HISTOGRAM_ID_kEnhancedBookmarksExperiment, |
| 1883 switches::kEnhancedBookmarksExperiment, "0", |
| 1884 UMA_HISTOGRAM_ID_kEnhancedBookmarksExperiment) |
1645 }, | 1885 }, |
1646 { | 1886 { |
1647 "manual-enhanced-bookmarks", | 1887 "manual-enhanced-bookmarks", |
1648 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME, | 1888 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME, |
1649 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION, | 1889 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION, |
1650 kOsDesktop, | 1890 kOsDesktop, |
1651 SINGLE_VALUE_TYPE(switches::kManualEnhancedBookmarks) | 1891 SINGLE_VALUE_TYPE(switches::kManualEnhancedBookmarks, |
| 1892 UMA_HISTOGRAM_ID_kManualEnhancedBookmarks) |
1652 }, | 1893 }, |
1653 { | 1894 { |
1654 "manual-enhanced-bookmarks-optout", | 1895 "manual-enhanced-bookmarks-optout", |
1655 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME, | 1896 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME, |
1656 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION, | 1897 IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION, |
1657 kOsDesktop, | 1898 kOsDesktop, |
1658 SINGLE_VALUE_TYPE(switches::kManualEnhancedBookmarksOptout) | 1899 SINGLE_VALUE_TYPE(switches::kManualEnhancedBookmarksOptout, |
| 1900 UMA_HISTOGRAM_ID_kManualEnhancedBookmarksOptout) |
1659 }, | 1901 }, |
1660 #if defined(OS_ANDROID) | 1902 #if defined(OS_ANDROID) |
1661 { | 1903 { |
1662 "enable-zero-suggest-experiment", | 1904 "enable-zero-suggest-experiment", |
1663 IDS_FLAGS_ZERO_SUGGEST_EXPERIMENT_NAME, | 1905 IDS_FLAGS_ZERO_SUGGEST_EXPERIMENT_NAME, |
1664 IDS_FLAGS_ZERO_SUGGEST_EXPERIMENT_DESCRIPTION, | 1906 IDS_FLAGS_ZERO_SUGGEST_EXPERIMENT_DESCRIPTION, |
1665 kOsAndroid, | 1907 kOsAndroid, |
1666 MULTI_VALUE_TYPE(kZeroSuggestExperimentsChoices) | 1908 MULTI_VALUE_TYPE(kZeroSuggestExperimentsChoices) |
1667 }, | 1909 }, |
1668 #endif | 1910 #endif |
(...skipping 16 matching lines...) Expand all Loading... |
1685 IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_NAME, | 1927 IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_NAME, |
1686 IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_DESCRIPTION, | 1928 IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_DESCRIPTION, |
1687 kOsCrOS | kOsMac | kOsWin | kOsLinux, | 1929 kOsCrOS | kOsMac | kOsWin | kOsLinux, |
1688 MULTI_VALUE_TYPE(kSearchButtonInOmniboxChoices) | 1930 MULTI_VALUE_TYPE(kSearchButtonInOmniboxChoices) |
1689 }, | 1931 }, |
1690 { | 1932 { |
1691 "disable-ignore-autocomplete-off", | 1933 "disable-ignore-autocomplete-off", |
1692 IDS_FLAGS_DISABLE_IGNORE_AUTOCOMPLETE_OFF_NAME, | 1934 IDS_FLAGS_DISABLE_IGNORE_AUTOCOMPLETE_OFF_NAME, |
1693 IDS_FLAGS_DISABLE_IGNORE_AUTOCOMPLETE_OFF_DESCRIPTION, | 1935 IDS_FLAGS_DISABLE_IGNORE_AUTOCOMPLETE_OFF_DESCRIPTION, |
1694 kOsAll, | 1936 kOsAll, |
1695 SINGLE_VALUE_TYPE(autofill::switches::kDisableIgnoreAutocompleteOff) | 1937 SINGLE_VALUE_TYPE(autofill::switches::kDisableIgnoreAutocompleteOff, |
| 1938 UMA_HISTOGRAM_ID_kDisableIgnoreAutocompleteOff) |
1696 }, | 1939 }, |
1697 { | 1940 { |
1698 "enable-permissions-bubbles", | 1941 "enable-permissions-bubbles", |
1699 IDS_FLAGS_ENABLE_PERMISSIONS_BUBBLES_NAME, | 1942 IDS_FLAGS_ENABLE_PERMISSIONS_BUBBLES_NAME, |
1700 IDS_FLAGS_ENABLE_PERMISSIONS_BUBBLES_DESCRIPTION, | 1943 IDS_FLAGS_ENABLE_PERMISSIONS_BUBBLES_DESCRIPTION, |
1701 kOsAll, | 1944 kOsAll, |
1702 ENABLE_DISABLE_VALUE_TYPE(switches::kEnablePermissionsBubbles, | 1945 ENABLE_DISABLE_VALUE_TYPE(switches::kEnablePermissionsBubbles, |
1703 switches::kDisablePermissionsBubbles) | 1946 UMA_HISTOGRAM_ID_kEnablePermissionsBubbles, |
| 1947 switches::kDisablePermissionsBubbles, |
| 1948 UMA_HISTOGRAM_ID_kDisablePermissionsBubbles) |
1704 }, | 1949 }, |
1705 { | 1950 { |
1706 "enable-session-crashed-bubble", | 1951 "enable-session-crashed-bubble", |
1707 IDS_FLAGS_ENABLE_SESSION_CRASHED_BUBBLE_NAME, | 1952 IDS_FLAGS_ENABLE_SESSION_CRASHED_BUBBLE_NAME, |
1708 IDS_FLAGS_ENABLE_SESSION_CRASHED_BUBBLE_DESCRIPTION, | 1953 IDS_FLAGS_ENABLE_SESSION_CRASHED_BUBBLE_DESCRIPTION, |
1709 kOsWin | kOsLinux, | 1954 kOsWin | kOsLinux, |
1710 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSessionCrashedBubble, | 1955 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSessionCrashedBubble, |
1711 switches::kDisableSessionCrashedBubble) | 1956 UMA_HISTOGRAM_ID_kEnableSessionCrashedBubble, |
| 1957 switches::kDisableSessionCrashedBubble, |
| 1958 UMA_HISTOGRAM_ID_kDisableSessionCrashedBubble) |
1712 }, | 1959 }, |
1713 { | 1960 { |
1714 "out-of-process-pdf", | 1961 "out-of-process-pdf", |
1715 IDS_FLAGS_OUT_OF_PROCESS_PDF_NAME, | 1962 IDS_FLAGS_OUT_OF_PROCESS_PDF_NAME, |
1716 IDS_FLAGS_OUT_OF_PROCESS_PDF_DESCRIPTION, | 1963 IDS_FLAGS_OUT_OF_PROCESS_PDF_DESCRIPTION, |
1717 kOsDesktop, | 1964 kOsDesktop, |
1718 SINGLE_VALUE_TYPE(switches::kOutOfProcessPdf) | 1965 SINGLE_VALUE_TYPE(switches::kOutOfProcessPdf, |
| 1966 UMA_HISTOGRAM_ID_kOutOfProcessPdf) |
1719 }, | 1967 }, |
1720 #if defined(OS_ANDROID) | 1968 #if defined(OS_ANDROID) |
1721 { | 1969 { |
1722 "enable-fast-text-autosizing", | 1970 "enable-fast-text-autosizing", |
1723 IDS_FLAGS_ENABLE_FAST_TEXT_AUTOSIZING_NAME, | 1971 IDS_FLAGS_ENABLE_FAST_TEXT_AUTOSIZING_NAME, |
1724 IDS_FLAGS_ENABLE_FAST_TEXT_AUTOSIZING_DESCRIPTION, | 1972 IDS_FLAGS_ENABLE_FAST_TEXT_AUTOSIZING_DESCRIPTION, |
1725 kOsAndroid, | 1973 kOsAndroid, |
1726 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableFastTextAutosizing, | 1974 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableFastTextAutosizing, |
1727 switches::kDisableFastTextAutosizing) | 1975 UMA_HISTOGRAM_ID_kEnableFastTextAutosizing, |
| 1976 switches::kDisableFastTextAutosizing, |
| 1977 UMA_HISTOGRAM_ID_kDisableFastTextAutosizing) |
1728 }, | 1978 }, |
1729 { | 1979 { |
1730 "disable-cast", | 1980 "disable-cast", |
1731 IDS_FLAGS_DISABLE_CAST_NAME, | 1981 IDS_FLAGS_DISABLE_CAST_NAME, |
1732 IDS_FLAGS_DISABLE_CAST_DESCRIPTION, | 1982 IDS_FLAGS_DISABLE_CAST_DESCRIPTION, |
1733 kOsAndroid, | 1983 kOsAndroid, |
1734 SINGLE_VALUE_TYPE(switches::kDisableCast) | 1984 SINGLE_VALUE_TYPE(switches::kDisableCast, UMA_HISTOGRAM_ID_kDisableCast) |
1735 }, | 1985 }, |
1736 { | 1986 { |
1737 "prefetch-search-results", | 1987 "prefetch-search-results", |
1738 IDS_FLAGS_PREFETCH_SEARCH_RESULTS_NAME, | 1988 IDS_FLAGS_PREFETCH_SEARCH_RESULTS_NAME, |
1739 IDS_FLAGS_PREFETCH_SEARCH_RESULTS_DESCRIPTION, | 1989 IDS_FLAGS_PREFETCH_SEARCH_RESULTS_DESCRIPTION, |
1740 kOsAndroid, | 1990 kOsAndroid, |
1741 SINGLE_VALUE_TYPE(switches::kPrefetchSearchResults) | 1991 SINGLE_VALUE_TYPE(switches::kPrefetchSearchResults, |
| 1992 UMA_HISTOGRAM_ID_kPrefetchSearchResults) |
1742 }, | 1993 }, |
1743 #endif | 1994 #endif |
1744 #if defined(ENABLE_APP_LIST) | 1995 #if defined(ENABLE_APP_LIST) |
1745 { | 1996 { |
1746 "enable-experimental-app-list", | 1997 "enable-experimental-app-list", |
1747 IDS_FLAGS_ENABLE_EXPERIMENTAL_APP_LIST_NAME, | 1998 IDS_FLAGS_ENABLE_EXPERIMENTAL_APP_LIST_NAME, |
1748 IDS_FLAGS_ENABLE_EXPERIMENTAL_APP_LIST_DESCRIPTION, | 1999 IDS_FLAGS_ENABLE_EXPERIMENTAL_APP_LIST_DESCRIPTION, |
1749 kOsWin | kOsLinux | kOsCrOS, | 2000 kOsWin | kOsLinux | kOsCrOS, |
1750 SINGLE_VALUE_TYPE(app_list::switches::kEnableExperimentalAppList) | 2001 SINGLE_VALUE_TYPE(app_list::switches::kEnableExperimentalAppList, |
| 2002 UMA_HISTOGRAM_ID_kEnableExperimentalAppList) |
1751 }, | 2003 }, |
1752 { | 2004 { |
1753 "enable-centered-app-list", | 2005 "enable-centered-app-list", |
1754 IDS_FLAGS_ENABLE_CENTERED_APP_LIST_NAME, | 2006 IDS_FLAGS_ENABLE_CENTERED_APP_LIST_NAME, |
1755 IDS_FLAGS_ENABLE_CENTERED_APP_LIST_DESCRIPTION, | 2007 IDS_FLAGS_ENABLE_CENTERED_APP_LIST_DESCRIPTION, |
1756 kOsWin | kOsLinux | kOsCrOS, | 2008 kOsWin | kOsLinux | kOsCrOS, |
1757 SINGLE_VALUE_TYPE(app_list::switches::kEnableCenteredAppList) | 2009 SINGLE_VALUE_TYPE(app_list::switches::kEnableCenteredAppList, |
| 2010 UMA_HISTOGRAM_ID_kEnableCenteredAppList) |
1758 }, | 2011 }, |
1759 #endif | 2012 #endif |
1760 { | 2013 { |
1761 "touch-scrolling-mode", | 2014 "touch-scrolling-mode", |
1762 IDS_FLAGS_TOUCH_SCROLLING_MODE_NAME, | 2015 IDS_FLAGS_TOUCH_SCROLLING_MODE_NAME, |
1763 IDS_FLAGS_TOUCH_SCROLLING_MODE_DESCRIPTION, | 2016 IDS_FLAGS_TOUCH_SCROLLING_MODE_DESCRIPTION, |
1764 kOsWin | kOsLinux | kOsCrOS | kOsAndroid, | 2017 kOsWin | kOsLinux | kOsCrOS | kOsAndroid, |
1765 MULTI_VALUE_TYPE(kTouchScrollingModeChoices) | 2018 MULTI_VALUE_TYPE(kTouchScrollingModeChoices) |
1766 }, | 2019 }, |
1767 { | 2020 { |
1768 "bleeding-edge-renderer-mode", | 2021 "bleeding-edge-renderer-mode", |
1769 IDS_FLAGS_BLEEDING_RENDERER_NAME, | 2022 IDS_FLAGS_BLEEDING_RENDERER_NAME, |
1770 IDS_FLAGS_BLEEDING_RENDERER_DESCRIPTION, | 2023 IDS_FLAGS_BLEEDING_RENDERER_DESCRIPTION, |
1771 kOsAndroid, | 2024 kOsAndroid, |
1772 SINGLE_VALUE_TYPE(switches::kEnableBleedingEdgeRenderingFastPaths) | 2025 SINGLE_VALUE_TYPE(switches::kEnableBleedingEdgeRenderingFastPaths, |
| 2026 UMA_HISTOGRAM_ID_kEnableBleedingEdgeRenderingFastPaths) |
1773 }, | 2027 }, |
1774 { | 2028 { |
1775 "enable-settings-window", | 2029 "enable-settings-window", |
1776 IDS_FLAGS_ENABLE_SETTINGS_WINDOW_NAME, | 2030 IDS_FLAGS_ENABLE_SETTINGS_WINDOW_NAME, |
1777 IDS_FLAGS_ENABLE_SETTINGS_WINDOW_DESCRIPTION, | 2031 IDS_FLAGS_ENABLE_SETTINGS_WINDOW_DESCRIPTION, |
1778 kOsDesktop, | 2032 kOsDesktop, |
1779 MULTI_VALUE_TYPE(kEnableSettingsWindowChoices) | 2033 MULTI_VALUE_TYPE(kEnableSettingsWindowChoices) |
1780 }, | 2034 }, |
1781 #if defined(OS_ANDROID) | 2035 #if defined(OS_ANDROID) |
1782 { | 2036 { |
1783 "enable-instant-search-clicks", | 2037 "enable-instant-search-clicks", |
1784 IDS_FLAGS_ENABLE_INSTANT_SEARCH_CLICKS_NAME, | 2038 IDS_FLAGS_ENABLE_INSTANT_SEARCH_CLICKS_NAME, |
1785 IDS_FLAGS_ENABLE_INSTANT_SEARCH_CLICKS_DESCRIPTION, | 2039 IDS_FLAGS_ENABLE_INSTANT_SEARCH_CLICKS_DESCRIPTION, |
1786 kOsAndroid, | 2040 kOsAndroid, |
1787 SINGLE_VALUE_TYPE(switches::kEnableInstantSearchClicks) | 2041 SINGLE_VALUE_TYPE(switches::kEnableInstantSearchClicks, |
| 2042 UMA_HISTOGRAM_ID_kEnableInstantSearchClicks) |
1788 }, | 2043 }, |
1789 #endif | 2044 #endif |
1790 { | 2045 { |
1791 "enable-save-password-bubble", | 2046 "enable-save-password-bubble", |
1792 IDS_FLAGS_ENABLE_SAVE_PASSWORD_BUBBLE_NAME, | 2047 IDS_FLAGS_ENABLE_SAVE_PASSWORD_BUBBLE_NAME, |
1793 IDS_FLAGS_ENABLE_SAVE_PASSWORD_BUBBLE_DESCRIPTION, | 2048 IDS_FLAGS_ENABLE_SAVE_PASSWORD_BUBBLE_DESCRIPTION, |
1794 kOsWin | kOsLinux | kOsCrOS, | 2049 kOsWin | kOsLinux | kOsCrOS, |
1795 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSavePasswordBubble, | 2050 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSavePasswordBubble, |
1796 switches::kDisableSavePasswordBubble) | 2051 UMA_HISTOGRAM_ID_kEnableSavePasswordBubble, |
| 2052 switches::kDisableSavePasswordBubble, |
| 2053 UMA_HISTOGRAM_ID_kDisableSavePasswordBubble) |
1797 }, | 2054 }, |
1798 #if defined(GOOGLE_CHROME_BUILD) | 2055 #if defined(GOOGLE_CHROME_BUILD) |
1799 { | 2056 { |
1800 "enable-easy-unlock", | 2057 "enable-easy-unlock", |
1801 IDS_FLAGS_ENABLE_EASY_UNLOCK_NAME, | 2058 IDS_FLAGS_ENABLE_EASY_UNLOCK_NAME, |
1802 IDS_FLAGS_ENABLE_EASY_UNLOCK_DESCRIPTION, | 2059 IDS_FLAGS_ENABLE_EASY_UNLOCK_DESCRIPTION, |
1803 kOsCrOS, | 2060 kOsCrOS, |
1804 SINGLE_VALUE_TYPE(switches::kEnableEasyUnlock) | 2061 SINGLE_VALUE_TYPE(switches::kEnableEasyUnlock, |
| 2062 UMA_HISTOGRAM_ID_kEnableEasyUnlock) |
1805 }, | 2063 }, |
1806 #endif | 2064 #endif |
1807 { | 2065 { |
1808 "disable-embedded-shared-worker", | 2066 "disable-embedded-shared-worker", |
1809 IDS_FLAGS_DISABLE_EMBEDDED_SHARED_WORKER_NAME, | 2067 IDS_FLAGS_DISABLE_EMBEDDED_SHARED_WORKER_NAME, |
1810 IDS_FLAGS_DISABLE_EMBEDDED_SHARED_WORKER_DESCRIPTION, | 2068 IDS_FLAGS_DISABLE_EMBEDDED_SHARED_WORKER_DESCRIPTION, |
1811 kOsDesktop, | 2069 kOsDesktop, |
1812 SINGLE_VALUE_TYPE(switches::kDisableEmbeddedSharedWorker) | 2070 SINGLE_VALUE_TYPE(switches::kDisableEmbeddedSharedWorker, |
| 2071 UMA_HISTOGRAM_ID_kDisableEmbeddedSharedWorker) |
1813 }, | 2072 }, |
1814 #if defined(OS_CHROMEOS) | 2073 #if defined(OS_CHROMEOS) |
1815 { | 2074 { |
1816 "enable-filemanager-mtp", | 2075 "enable-filemanager-mtp", |
1817 IDS_FLAGS_ENABLE_FILE_MANAGER_MTP_NAME, | 2076 IDS_FLAGS_ENABLE_FILE_MANAGER_MTP_NAME, |
1818 IDS_FLAGS_ENABLE_FILE_MANAGER_MTP_DESCRIPTION, | 2077 IDS_FLAGS_ENABLE_FILE_MANAGER_MTP_DESCRIPTION, |
1819 kOsCrOS, | 2078 kOsCrOS, |
1820 MULTI_VALUE_TYPE(kEnableFileManagerMTPChoices) | 2079 MULTI_VALUE_TYPE(kEnableFileManagerMTPChoices) |
1821 }, | 2080 }, |
1822 #endif | 2081 #endif |
1823 // TODO(tyoshino): Remove this temporary flag and command line switch. See | 2082 // TODO(tyoshino): Remove this temporary flag and command line switch. See |
1824 // crbug.com/366483 for the target milestone. | 2083 // crbug.com/366483 for the target milestone. |
1825 { | 2084 { |
1826 "allow-insecure-websocket-from-https-origin", | 2085 "allow-insecure-websocket-from-https-origin", |
1827 IDS_FLAGS_ALLOW_INSECURE_WEBSOCKET_FROM_HTTPS_ORIGIN_NAME, | 2086 IDS_FLAGS_ALLOW_INSECURE_WEBSOCKET_FROM_HTTPS_ORIGIN_NAME, |
1828 IDS_FLAGS_ALLOW_INSECURE_WEBSOCKET_FROM_HTTPS_ORIGIN_DESCRIPTION, | 2087 IDS_FLAGS_ALLOW_INSECURE_WEBSOCKET_FROM_HTTPS_ORIGIN_DESCRIPTION, |
1829 kOsAll, | 2088 kOsAll, |
1830 SINGLE_VALUE_TYPE(switches::kAllowInsecureWebSocketFromHttpsOrigin) | 2089 SINGLE_VALUE_TYPE( |
| 2090 switches::kAllowInsecureWebSocketFromHttpsOrigin, |
| 2091 UMA_HISTOGRAM_ID_kAllowInsecureWebSocketFromHttpsOrigin) |
1831 }, | 2092 }, |
1832 #if defined(OS_MACOSX) | 2093 #if defined(OS_MACOSX) |
1833 { | 2094 { |
1834 "apps-keep-chrome-alive", | 2095 "apps-keep-chrome-alive", |
1835 IDS_FLAGS_APPS_KEEP_CHROME_ALIVE_NAME, | 2096 IDS_FLAGS_APPS_KEEP_CHROME_ALIVE_NAME, |
1836 IDS_FLAGS_APPS_KEEP_CHROME_ALIVE_DESCRIPTION, | 2097 IDS_FLAGS_APPS_KEEP_CHROME_ALIVE_DESCRIPTION, |
1837 kOsMac, | 2098 kOsMac, |
1838 SINGLE_VALUE_TYPE(switches::kAppsKeepChromeAlive) | 2099 SINGLE_VALUE_TYPE(switches::kAppsKeepChromeAlive, |
| 2100 UMA_HISTOGRAM_ID_kAppsKeepChromeAlive) |
1839 }, | 2101 }, |
1840 #endif | 2102 #endif |
1841 { | 2103 { |
1842 "enable-apps-file-associations", | 2104 "enable-apps-file-associations", |
1843 IDS_FLAGS_ENABLE_APPS_FILE_ASSOCIATIONS_NAME, | 2105 IDS_FLAGS_ENABLE_APPS_FILE_ASSOCIATIONS_NAME, |
1844 IDS_FLAGS_ENABLE_APPS_FILE_ASSOCIATIONS_DESCRIPTION, | 2106 IDS_FLAGS_ENABLE_APPS_FILE_ASSOCIATIONS_DESCRIPTION, |
1845 kOsMac, | 2107 kOsMac, |
1846 SINGLE_VALUE_TYPE(switches::kEnableAppsFileAssociations) | 2108 SINGLE_VALUE_TYPE(switches::kEnableAppsFileAssociations, |
| 2109 UMA_HISTOGRAM_ID_kEnableAppsFileAssociations) |
1847 }, | 2110 }, |
1848 #if defined(OS_ANDROID) | 2111 #if defined(OS_ANDROID) |
1849 { | 2112 { |
1850 "enable-embeddedsearch-api", | 2113 "enable-embeddedsearch-api", |
1851 IDS_FLAGS_ENABLE_EMBEDDEDSEARCH_API_NAME, | 2114 IDS_FLAGS_ENABLE_EMBEDDEDSEARCH_API_NAME, |
1852 IDS_FLAGS_ENABLE_EMBEDDEDSEARCH_API_DESCRIPTION, | 2115 IDS_FLAGS_ENABLE_EMBEDDEDSEARCH_API_DESCRIPTION, |
1853 kOsAndroid, | 2116 kOsAndroid, |
1854 SINGLE_VALUE_TYPE(switches::kEnableEmbeddedSearchAPI) | 2117 SINGLE_VALUE_TYPE(switches::kEnableEmbeddedSearchAPI, |
| 2118 UMA_HISTOGRAM_ID_kEnableEmbeddedSearchAPI) |
1855 }, | 2119 }, |
1856 { | 2120 { |
1857 "enable-app-install-alerts", | 2121 "enable-app-install-alerts", |
1858 IDS_FLAGS_ENABLE_APP_INSTALL_ALERTS_NAME, | 2122 IDS_FLAGS_ENABLE_APP_INSTALL_ALERTS_NAME, |
1859 IDS_FLAGS_ENABLE_APP_INSTALL_ALERTS_DESCRIPTION, | 2123 IDS_FLAGS_ENABLE_APP_INSTALL_ALERTS_DESCRIPTION, |
1860 kOsAndroid, | 2124 kOsAndroid, |
1861 SINGLE_VALUE_TYPE(switches::kEnableAppInstallAlerts) | 2125 SINGLE_VALUE_TYPE(switches::kEnableAppInstallAlerts, |
| 2126 UMA_HISTOGRAM_ID_kEnableAppInstallAlerts) |
1862 }, | 2127 }, |
1863 #endif | 2128 #endif |
1864 { | 2129 { |
1865 "distance-field-text", | 2130 "distance-field-text", |
1866 IDS_FLAGS_DISTANCE_FIELD_TEXT_NAME, | 2131 IDS_FLAGS_DISTANCE_FIELD_TEXT_NAME, |
1867 IDS_FLAGS_DISTANCE_FIELD_TEXT_DESCRIPTION, | 2132 IDS_FLAGS_DISTANCE_FIELD_TEXT_DESCRIPTION, |
1868 kOsAll, | 2133 kOsAll, |
1869 MULTI_VALUE_TYPE(kDistanceFieldTextChoices) | 2134 MULTI_VALUE_TYPE(kDistanceFieldTextChoices) |
1870 }, | 2135 }, |
1871 { | 2136 { |
1872 "extension-content-verification", | 2137 "extension-content-verification", |
1873 IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_NAME, | 2138 IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_NAME, |
1874 IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_DESCRIPTION, | 2139 IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_DESCRIPTION, |
1875 kOsDesktop, | 2140 kOsDesktop, |
1876 MULTI_VALUE_TYPE(kExtensionContentVerificationChoices) | 2141 MULTI_VALUE_TYPE(kExtensionContentVerificationChoices) |
1877 }, | 2142 }, |
1878 #if defined(USE_AURA) | 2143 #if defined(USE_AURA) |
1879 { | 2144 { |
1880 "text-input-focus-manager", | 2145 "text-input-focus-manager", |
1881 IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_NAME, | 2146 IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_NAME, |
1882 IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_DESCRIPTION, | 2147 IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_DESCRIPTION, |
1883 kOsCrOS | kOsLinux | kOsWin, | 2148 kOsCrOS | kOsLinux | kOsWin, |
1884 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTextInputFocusManager, | 2149 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTextInputFocusManager, |
1885 switches::kDisableTextInputFocusManager) | 2150 UMA_HISTOGRAM_ID_kEnableTextInputFocusManager, |
| 2151 switches::kDisableTextInputFocusManager, |
| 2152 UMA_HISTOGRAM_ID_kDisableTextInputFocusManager) |
1886 }, | 2153 }, |
1887 #endif | 2154 #endif |
1888 { | 2155 { |
1889 "extension-active-script-permission", | 2156 "extension-active-script-permission", |
1890 IDS_FLAGS_USER_CONSENT_FOR_EXTENSION_SCRIPTS_NAME, | 2157 IDS_FLAGS_USER_CONSENT_FOR_EXTENSION_SCRIPTS_NAME, |
1891 IDS_FLAGS_USER_CONSENT_FOR_EXTENSION_SCRIPTS_DESCRIPTION, | 2158 IDS_FLAGS_USER_CONSENT_FOR_EXTENSION_SCRIPTS_DESCRIPTION, |
1892 kOsAll, | 2159 kOsAll, |
1893 SINGLE_VALUE_TYPE(extensions::switches::kEnableScriptsRequireAction) | 2160 SINGLE_VALUE_TYPE(extensions::switches::kEnableScriptsRequireAction, |
| 2161 UMA_HISTOGRAM_ID_kEnableScriptsRequireAction) |
1894 }, | 2162 }, |
1895 { | 2163 { |
1896 "enable-harfbuzz-rendertext", | 2164 "enable-harfbuzz-rendertext", |
1897 IDS_FLAGS_ENABLE_HARFBUZZ_RENDERTEXT_NAME, | 2165 IDS_FLAGS_ENABLE_HARFBUZZ_RENDERTEXT_NAME, |
1898 IDS_FLAGS_ENABLE_HARFBUZZ_RENDERTEXT_DESCRIPTION, | 2166 IDS_FLAGS_ENABLE_HARFBUZZ_RENDERTEXT_DESCRIPTION, |
1899 kOsDesktop, | 2167 kOsDesktop, |
1900 SINGLE_VALUE_TYPE(switches::kEnableHarfBuzzRenderText) | 2168 SINGLE_VALUE_TYPE(switches::kEnableHarfBuzzRenderText, |
| 2169 UMA_HISTOGRAM_ID_kEnableHarfBuzzRenderText) |
1901 }, | 2170 }, |
1902 #if defined(OS_ANDROID) | 2171 #if defined(OS_ANDROID) |
1903 { | 2172 { |
1904 "enable-answers-in-suggest", | 2173 "enable-answers-in-suggest", |
1905 IDS_FLAGS_ENABLE_ANSWERS_IN_SUGGEST_NAME, | 2174 IDS_FLAGS_ENABLE_ANSWERS_IN_SUGGEST_NAME, |
1906 IDS_FLAGS_ENABLE_ANSWERS_IN_SUGGEST_DESCRIPTION, | 2175 IDS_FLAGS_ENABLE_ANSWERS_IN_SUGGEST_DESCRIPTION, |
1907 kOsAndroid, | 2176 kOsAndroid, |
1908 SINGLE_VALUE_TYPE(switches::kEnableAnswersInSuggest) | 2177 SINGLE_VALUE_TYPE(switches::kEnableAnswersInSuggest, |
| 2178 UMA_HISTOGRAM_ID_kEnableAnswersInSuggest) |
1909 }, | 2179 }, |
1910 #endif | 2180 #endif |
1911 { | 2181 { |
1912 "ssl-interstitial-version", | 2182 "ssl-interstitial-version", |
1913 IDS_FLAGS_SSL_INTERSTITIAL_TRIAL_NAME, | 2183 IDS_FLAGS_SSL_INTERSTITIAL_TRIAL_NAME, |
1914 IDS_FLAGS_SSL_INTERSTITIAL_TRIAL_DESCRIPTION, | 2184 IDS_FLAGS_SSL_INTERSTITIAL_TRIAL_DESCRIPTION, |
1915 kOsAll, | 2185 kOsAll, |
1916 MULTI_VALUE_TYPE(kSSLInterstitialVersions) | 2186 MULTI_VALUE_TYPE(kSSLInterstitialVersions) |
1917 }, | 2187 }, |
1918 { | 2188 { |
1919 "malware-interstitial-version", | 2189 "malware-interstitial-version", |
1920 IDS_FLAGS_MALWARE_INTERSTITIAL_TRIAL_NAME, | 2190 IDS_FLAGS_MALWARE_INTERSTITIAL_TRIAL_NAME, |
1921 IDS_FLAGS_MALWARE_INTERSTITIAL_TRIAL_DESCRIPTION, | 2191 IDS_FLAGS_MALWARE_INTERSTITIAL_TRIAL_DESCRIPTION, |
1922 kOsAll, | 2192 kOsAll, |
1923 MULTI_VALUE_TYPE(kMalwareInterstitialVersions) | 2193 MULTI_VALUE_TYPE(kMalwareInterstitialVersions) |
1924 }, | 2194 }, |
1925 #if defined(OS_ANDROID) | 2195 #if defined(OS_ANDROID) |
1926 { | 2196 { |
1927 "enable-data-reduction-proxy-dev", | 2197 "enable-data-reduction-proxy-dev", |
1928 IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_DEV_NAME, | 2198 IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_DEV_NAME, |
1929 IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_DEV_DESCRIPTION, | 2199 IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_DEV_DESCRIPTION, |
1930 kOsAndroid, | 2200 kOsAndroid, |
1931 ENABLE_DISABLE_VALUE_TYPE( | 2201 ENABLE_DISABLE_VALUE_TYPE( |
1932 data_reduction_proxy::switches::kEnableDataReductionProxyDev, | 2202 data_reduction_proxy::switches::kEnableDataReductionProxyDev, |
1933 data_reduction_proxy::switches::kDisableDataReductionProxyDev) | 2203 UMA_HISTOGRAM_ID_kEnableDataReductionProxyDev, |
| 2204 data_reduction_proxy::switches::kDisableDataReductionProxyDev, |
| 2205 UMA_HISTOGRAM_ID_kDisableDataReductionProxyDev) |
1934 }, | 2206 }, |
1935 #endif | 2207 #endif |
1936 }; | 2208 }; |
1937 | 2209 |
1938 const Experiment* experiments = kExperiments; | 2210 const Experiment* experiments = kExperiments; |
1939 size_t num_experiments = arraysize(kExperiments); | 2211 size_t num_experiments = arraysize(kExperiments); |
1940 | 2212 |
1941 // Stores and encapsulates the little state that about:flags has. | 2213 // Stores and encapsulates the little state that about:flags has. |
1942 class FlagsState { | 2214 class FlagsState { |
1943 public: | 2215 public: |
1944 FlagsState() : needs_restart_(false) {} | 2216 FlagsState() : needs_restart_(false) {} |
1945 void ConvertFlagsToSwitches(FlagsStorage* flags_storage, | 2217 void ConvertFlagsToSwitches(FlagsStorage* flags_storage, |
1946 CommandLine* command_line, | 2218 CommandLine* command_line, |
1947 SentinelsMode sentinels); | 2219 SentinelsMode sentinels); |
| 2220 const SwitchesHistogramIDs& GetSwitchesHistogramIds(); |
1948 bool IsRestartNeededToCommitChanges(); | 2221 bool IsRestartNeededToCommitChanges(); |
1949 void SetExperimentEnabled( | 2222 void SetExperimentEnabled( |
1950 FlagsStorage* flags_storage, | 2223 FlagsStorage* flags_storage, |
1951 const std::string& internal_name, | 2224 const std::string& internal_name, |
1952 bool enable); | 2225 bool enable); |
1953 void RemoveFlagsSwitches( | 2226 void RemoveFlagsSwitches( |
1954 std::map<std::string, CommandLine::StringType>* switch_list); | 2227 std::map<std::string, CommandLine::StringType>* switch_list); |
1955 void ResetAllFlags(FlagsStorage* flags_storage); | 2228 void ResetAllFlags(FlagsStorage* flags_storage); |
1956 void reset(); | 2229 void reset(); |
1957 | 2230 |
1958 // Returns the singleton instance of this class | 2231 // Returns the singleton instance of this class |
1959 static FlagsState* GetInstance() { | 2232 static FlagsState* GetInstance() { |
1960 return Singleton<FlagsState>::get(); | 2233 return Singleton<FlagsState>::get(); |
1961 } | 2234 } |
1962 | 2235 |
1963 private: | 2236 private: |
1964 bool needs_restart_; | 2237 bool needs_restart_; |
1965 std::map<std::string, std::string> flags_switches_; | 2238 std::map<std::string, std::string> flags_switches_; |
| 2239 // Lazy initialized by GetSwitchesHistogramIds(). |
| 2240 SwitchesHistogramIDs switches_histogram_id_; |
1966 | 2241 |
1967 DISALLOW_COPY_AND_ASSIGN(FlagsState); | 2242 DISALLOW_COPY_AND_ASSIGN(FlagsState); |
1968 }; | 2243 }; |
1969 | 2244 |
1970 // Adds the internal names for the specified experiment to |names|. | 2245 // Adds the internal names for the specified experiment to |names|. |
1971 void AddInternalName(const Experiment& e, std::set<std::string>* names) { | 2246 void AddInternalName(const Experiment& e, std::set<std::string>* names) { |
1972 if (e.type == Experiment::SINGLE_VALUE) { | 2247 if (e.type == Experiment::SINGLE_VALUE) { |
1973 names->insert(e.internal_name); | 2248 names->insert(e.internal_name); |
1974 } else { | 2249 } else { |
1975 DCHECK(e.type == Experiment::MULTI_VALUE || | 2250 DCHECK(e.type == Experiment::MULTI_VALUE || |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2136 } | 2411 } |
2137 | 2412 |
2138 void ConvertFlagsToSwitches(FlagsStorage* flags_storage, | 2413 void ConvertFlagsToSwitches(FlagsStorage* flags_storage, |
2139 CommandLine* command_line, | 2414 CommandLine* command_line, |
2140 SentinelsMode sentinels) { | 2415 SentinelsMode sentinels) { |
2141 FlagsState::GetInstance()->ConvertFlagsToSwitches(flags_storage, | 2416 FlagsState::GetInstance()->ConvertFlagsToSwitches(flags_storage, |
2142 command_line, | 2417 command_line, |
2143 sentinels); | 2418 sentinels); |
2144 } | 2419 } |
2145 | 2420 |
| 2421 const SwitchesHistogramIDs& GetSwitchesHistogramIds() { |
| 2422 return FlagsState::GetInstance()->GetSwitchesHistogramIds(); |
| 2423 } |
| 2424 |
2146 bool AreSwitchesIdenticalToCurrentCommandLine( | 2425 bool AreSwitchesIdenticalToCurrentCommandLine( |
2147 const CommandLine& new_cmdline, const CommandLine& active_cmdline) { | 2426 const CommandLine& new_cmdline, |
| 2427 const CommandLine& active_cmdline, |
| 2428 std::set<CommandLine::StringType>* out_difference) { |
2148 std::set<CommandLine::StringType> new_flags = | 2429 std::set<CommandLine::StringType> new_flags = |
2149 ExtractFlagsFromCommandLine(new_cmdline); | 2430 ExtractFlagsFromCommandLine(new_cmdline); |
2150 std::set<CommandLine::StringType> active_flags = | 2431 std::set<CommandLine::StringType> active_flags = |
2151 ExtractFlagsFromCommandLine(active_cmdline); | 2432 ExtractFlagsFromCommandLine(active_cmdline); |
2152 | 2433 |
| 2434 bool result = false; |
2153 // Needed because std::equal doesn't check if the 2nd set is empty. | 2435 // Needed because std::equal doesn't check if the 2nd set is empty. |
2154 if (new_flags.size() != active_flags.size()) | 2436 if (new_flags.size() == active_flags.size()) { |
2155 return false; | 2437 result = |
| 2438 std::equal(new_flags.begin(), new_flags.end(), active_flags.begin()); |
| 2439 } |
2156 | 2440 |
2157 return std::equal(new_flags.begin(), new_flags.end(), active_flags.begin()); | 2441 if (out_difference && !result) { |
| 2442 std::set_symmetric_difference( |
| 2443 new_flags.begin(), |
| 2444 new_flags.end(), |
| 2445 active_flags.begin(), |
| 2446 active_flags.end(), |
| 2447 std::inserter(*out_difference, out_difference->begin())); |
| 2448 } |
| 2449 |
| 2450 return result; |
2158 } | 2451 } |
2159 | 2452 |
2160 void GetFlagsExperimentsData(FlagsStorage* flags_storage, | 2453 void GetFlagsExperimentsData(FlagsStorage* flags_storage, |
2161 FlagAccess access, | 2454 FlagAccess access, |
2162 base::ListValue* supported_experiments, | 2455 base::ListValue* supported_experiments, |
2163 base::ListValue* unsupported_experiments) { | 2456 base::ListValue* unsupported_experiments) { |
2164 std::set<std::string> enabled_experiments; | 2457 std::set<std::string> enabled_experiments; |
2165 GetSanitizedEnabledFlags(flags_storage, &enabled_experiments); | 2458 GetSanitizedEnabledFlags(flags_storage, &enabled_experiments); |
2166 | 2459 |
2167 int current_platform = GetCurrentPlatform(); | 2460 int current_platform = GetCurrentPlatform(); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2255 action += *it; | 2548 action += *it; |
2256 content::RecordComputedAction(action); | 2549 content::RecordComputedAction(action); |
2257 } | 2550 } |
2258 // Since flag metrics are recorded every startup, add a tick so that the | 2551 // Since flag metrics are recorded every startup, add a tick so that the |
2259 // stats can be made meaningful. | 2552 // stats can be made meaningful. |
2260 if (flags.size()) | 2553 if (flags.size()) |
2261 content::RecordAction(UserMetricsAction("AboutFlags_StartupTick")); | 2554 content::RecordAction(UserMetricsAction("AboutFlags_StartupTick")); |
2262 content::RecordAction(UserMetricsAction("StartupTick")); | 2555 content::RecordAction(UserMetricsAction("StartupTick")); |
2263 } | 2556 } |
2264 | 2557 |
| 2558 void ReportCustomFlags(const std::string& uma_histogram_hame, |
| 2559 const std::set<std::string>& command_line_difference) { |
| 2560 const about_flags::SwitchesHistogramIDs& switch_histogram_id_map = |
| 2561 about_flags::GetSwitchesHistogramIds(); |
| 2562 for (std::set<std::string>::const_iterator it = |
| 2563 command_line_difference.begin(); |
| 2564 it != command_line_difference.end(); |
| 2565 ++it) { |
| 2566 int uma_id = about_flags::UMA_HISTOGRAM_ID_UNKNOWN_FLAG; |
| 2567 if (it->size() > 2) { |
| 2568 // skip '--' before switch name |
| 2569 std::string switch_name(it->substr(2)); |
| 2570 |
| 2571 // kill value, if any |
| 2572 const size_t value_pos = switch_name.find('='); |
| 2573 if (value_pos != std::string::npos) |
| 2574 switch_name.resize(value_pos); |
| 2575 |
| 2576 const about_flags::SwitchesHistogramIDs::const_iterator pos = |
| 2577 switch_histogram_id_map.find(switch_name); |
| 2578 if (pos != switch_histogram_id_map.end()) { |
| 2579 uma_id = pos->second; |
| 2580 } else { |
| 2581 uma_id = about_flags::UMA_HISTOGRAM_ID_UNKNOWN_FLAG; |
| 2582 LOG(ERROR) << "ReportCustomFlags(): flag '" << *it << "' ('" |
| 2583 << switch_name << "') is unknown."; |
| 2584 } |
| 2585 } else { |
| 2586 uma_id = about_flags::UMA_HISTOGRAM_ID_BAD_FLAG_FORMAT; |
| 2587 LOG(ERROR) << "ReportCustomFlags(): flag '" << *it |
| 2588 << "' has incorrect format."; |
| 2589 } |
| 2590 VLOG(1) << "ReportCustomFlags(): histogram='" << uma_histogram_hame << "' '" |
| 2591 << *it << "', uma_id=" << uma_id; |
| 2592 UMA_HISTOGRAM_SPARSE_SLOWLY(uma_histogram_hame, uma_id); |
| 2593 } |
| 2594 } |
| 2595 |
2265 ////////////////////////////////////////////////////////////////////////////// | 2596 ////////////////////////////////////////////////////////////////////////////// |
2266 // FlagsState implementation. | 2597 // FlagsState implementation. |
2267 | 2598 |
2268 namespace { | 2599 namespace { |
2269 | 2600 |
2270 typedef std::map<std::string, std::pair<std::string, std::string> > | 2601 typedef std::map<std::string, std::pair<std::string, std::string> > |
2271 NameToSwitchAndValueMap; | 2602 NameToSwitchAndValueMap; |
2272 | 2603 |
2273 void SetFlagToSwitchMapping(const std::string& key, | 2604 void SetFlagToSwitchMapping(const std::string& key, |
2274 const std::string& switch_name, | 2605 const std::string& switch_name, |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2339 flags_switches_[switch_and_value_pair.first] = switch_and_value_pair.second; | 2670 flags_switches_[switch_and_value_pair.first] = switch_and_value_pair.second; |
2340 } | 2671 } |
2341 if (sentinels == kAddSentinels) { | 2672 if (sentinels == kAddSentinels) { |
2342 command_line->AppendSwitch(switches::kFlagSwitchesEnd); | 2673 command_line->AppendSwitch(switches::kFlagSwitchesEnd); |
2343 flags_switches_.insert( | 2674 flags_switches_.insert( |
2344 std::pair<std::string, std::string>(switches::kFlagSwitchesEnd, | 2675 std::pair<std::string, std::string>(switches::kFlagSwitchesEnd, |
2345 std::string())); | 2676 std::string())); |
2346 } | 2677 } |
2347 } | 2678 } |
2348 | 2679 |
| 2680 void SetSwitchToHistogramIdMapping(const std::string& switch_name, |
| 2681 const int switch_histogram_id, |
| 2682 std::map<std::string, int>* out_map) { |
| 2683 const std::pair<std::map<std::string, int>::iterator, bool> status = |
| 2684 out_map->insert(std::make_pair(switch_name, switch_histogram_id)); |
| 2685 DCHECK(status.second || status.first->second == switch_histogram_id); |
| 2686 } |
| 2687 |
| 2688 const SwitchesHistogramIDs& FlagsState::GetSwitchesHistogramIds() { |
| 2689 if (!switches_histogram_id_.empty()) |
| 2690 return switches_histogram_id_; |
| 2691 |
| 2692 for (size_t i = 0; i < num_experiments; ++i) { |
| 2693 const Experiment& e = experiments[i]; |
| 2694 if (e.type == Experiment::SINGLE_VALUE) { |
| 2695 SetSwitchToHistogramIdMapping(e.command_line_switch, |
| 2696 e.command_line_switch_histogram_id, |
| 2697 &switches_histogram_id_); |
| 2698 } else if (e.type == Experiment::MULTI_VALUE) { |
| 2699 for (int j = 0; j < e.num_choices; ++j) { |
| 2700 SetSwitchToHistogramIdMapping( |
| 2701 e.choices[j].command_line_switch, |
| 2702 e.choices[j].command_line_switch_histogram_id, |
| 2703 &switches_histogram_id_); |
| 2704 } |
| 2705 } else { |
| 2706 DCHECK_EQ(e.type, Experiment::ENABLE_DISABLE_VALUE); |
| 2707 SetSwitchToHistogramIdMapping(e.command_line_switch, |
| 2708 e.command_line_switch_histogram_id, |
| 2709 &switches_histogram_id_); |
| 2710 SetSwitchToHistogramIdMapping(e.disable_command_line_switch, |
| 2711 e.disable_command_line_switch_histogram_id, |
| 2712 &switches_histogram_id_); |
| 2713 } |
| 2714 } |
| 2715 return switches_histogram_id_; |
| 2716 } |
| 2717 |
2349 bool FlagsState::IsRestartNeededToCommitChanges() { | 2718 bool FlagsState::IsRestartNeededToCommitChanges() { |
2350 return needs_restart_; | 2719 return needs_restart_; |
2351 } | 2720 } |
2352 | 2721 |
2353 void FlagsState::SetExperimentEnabled(FlagsStorage* flags_storage, | 2722 void FlagsState::SetExperimentEnabled(FlagsStorage* flags_storage, |
2354 const std::string& internal_name, | 2723 const std::string& internal_name, |
2355 bool enable) { | 2724 bool enable) { |
2356 size_t at_index = internal_name.find(testing::kMultiSeparator); | 2725 size_t at_index = internal_name.find(testing::kMultiSeparator); |
2357 if (at_index != std::string::npos) { | 2726 if (at_index != std::string::npos) { |
2358 DCHECK(enable); | 2727 DCHECK(enable); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2454 } | 2823 } |
2455 | 2824 |
2456 const Experiment* GetExperiments(size_t* count) { | 2825 const Experiment* GetExperiments(size_t* count) { |
2457 *count = num_experiments; | 2826 *count = num_experiments; |
2458 return experiments; | 2827 return experiments; |
2459 } | 2828 } |
2460 | 2829 |
2461 } // namespace testing | 2830 } // namespace testing |
2462 | 2831 |
2463 } // namespace about_flags | 2832 } // namespace about_flags |
OLD | NEW |