blob: 6a801e0bd68c8a6dd95c2666b3d16066d4144309 [file] [log] [blame]
vabr0215a8e2017-03-28 12:47:341// Copyright 2017 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/flag_descriptions.h"
6
7namespace flag_descriptions {
8
Brett Wilsonf27ff602017-07-07 22:28:479const char kAccelerated2dCanvasName[] = "Accelerated 2D canvas";
10const char kAccelerated2dCanvasDescription[] =
11 "Enables the use of the GPU to perform 2d canvas rendering instead of "
12 "using software rendering.";
horodb71a5a2017-06-09 16:08:2413
Brett Wilsonf27ff602017-07-07 22:28:4714const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
15const char kAcceleratedVideoDecodeDescription[] =
16 "Hardware-accelerated video decode where available.";
17
18const char kAffiliationBasedMatchingName[] =
19 "Affiliation based matching in password manager";
20const char kAffiliationBasedMatchingDescription[] =
21 "Allow credentials stored for Android applications to be filled into "
22 "corresponding websites.";
23
24const char kAllowInsecureLocalhostName[] =
25 "Allow invalid certificates for resources loaded from localhost.";
26const char kAllowInsecureLocalhostDescription[] =
27 "Allows requests to localhost over HTTPS even when an invalid certificate "
28 "is presented.";
29
30const char kAllowNaclSocketApiName[] = "NaCl Socket API.";
31const char kAllowNaclSocketApiDescription[] =
32 "Allows applications to use NaCl Socket API. Use only to test NaCl "
33 "plugins.";
34
35const char kAppBannersName[] = "App Banners";
36const char kAppBannersDescription[] =
37 "Enable the display of Progressive Web App banners, which prompt a user to "
38 "add a web app to their shelf, or other platform-specific equivalent.";
39
40const char kAutoplayPolicyName[] = "Autoplay policy";
41const char kAutoplayPolicyDescription[] =
42 "Policy used when deciding if audio or video is allowed to autoplay.";
43
44const char kAutoplayPolicyUserGestureRequiredForCrossOrigin[] =
45 "User gesture is required for cross-origin iframes.";
46const char kAutoplayPolicyNoUserGestureRequired[] =
47 "No user gesture is required.";
48const char kAutoplayPolicyUserGestureRequired[] = "User gesture is required.";
49const char kAutoplayPolicyDocumentUserActivation[] =
50 "Document user activation is required.";
51
52const char kBackgroundVideoTrackOptimizationName[] =
53 "Optimize background video playback.";
54const char kBackgroundVideoTrackOptimizationDescription[] =
55 "Disable video tracks when the video is played in the background to "
56 "optimize performance.";
57
58const char kBleAdvertisingInExtensionsName[] = "BLE Advertising in Chrome Apps";
59const char kBleAdvertisingInExtensionsDescription[] =
60 "Enables BLE Advertising in Chrome Apps. BLE Advertising might interfere "
61 "with regular use of Bluetooth Low Energy features.";
62
63const char kBrowserSideNavigationName[] = "Enable browser side navigation";
horodb71a5a2017-06-09 16:08:2464const char kBrowserSideNavigationDescription[] =
horo3beccfb2017-06-19 14:47:0165 "Enable browser side navigation (aka PlzNavigate).";
horodb71a5a2017-06-09 16:08:2466
Brett Wilsonf27ff602017-07-07 22:28:4767const char kBrowserTaskSchedulerName[] = "Task Scheduler";
68const char kBrowserTaskSchedulerDescription[] =
69 "Enables redirection of some task posting APIs to the task scheduler.";
70
71const char kBypassAppBannerEngagementChecksName[] =
72 "Bypass user engagement checks";
73const char kBypassAppBannerEngagementChecksDescription[] =
74 "Bypasses user engagement checks for displaying app banners, such as "
75 "requiring that users have visited the site before and that the banner "
76 "hasn't been shown recently. This allows developers to test that other "
77 "eligibility requirements for showing app banners, such as having a "
78 "manifest, are met.";
79
80const char kCaptureThumbnailOnLoadFinishedName[] =
81 "Capture page thumbnail on load finished";
82const char kCaptureThumbnailOnLoadFinishedDescription[] =
83 "Capture a page thumbnail (for use on the New Tab page) when the page load "
84 "finishes, in addition to other times a thumbnail may be captured.";
85
86const char kCastStreamingHwEncodingName[] =
87 "Cast Streaming hardware video encoding";
88const char kCastStreamingHwEncodingDescription[] =
89 "This option enables support in Cast Streaming for encoding video streams "
90 "using platform hardware.";
91
92const char kCloudImportName[] = "Cloud Import";
93const char kCloudImportDescription[] = "Allows the cloud-import feature.";
94
95const char kColorCorrectRenderingName[] = "Color correct rendering";
96const char kColorCorrectRenderingDescription[] =
97 "Enables color correct rendering of web content.";
98
99const char kCompositedLayerBordersName[] = "Composited render layer borders";
100const char kCompositedLayerBordersDescription[] =
101 "Renders a border around composited Render Layers to help debug and study "
102 "layer compositing.";
103
104const char kContextualSuggestionsCarouselName[] =
105 "Enable Contextual Suggestions";
106const char kContextualSuggestionsCarouselDescription[] =
107 "If enabled, shows contextual suggestions in a horizontal carousel in "
108 "bottom sheet content.";
109
110const char kCreditCardAssistName[] = "Credit Card Assisted Filling";
111const char kCreditCardAssistDescription[] =
112 "Enable assisted credit card filling on certain sites.";
113
114const char kCrossProcessGuestViewIsolationName[] =
115 "Cross process frames for guests";
116const char kCrossProcessGuestViewIsolationDescription[] =
117 "Highly experimental where guests such as <webview> are implemented on "
118 "the out-of-process iframe infrastructure.";
119
Brett Wilsonf27ff602017-07-07 22:28:47120const char kDataReductionProxyLoFiName[] = "Data Saver Lo-Fi mode";
121const char kDataReductionProxyLoFiDescription[] =
122 "Forces Data Saver Lo-Fi mode to be always enabled, enabled only on "
123 "cellular connections, or disabled. Data Saver must be enabled for Lo-Fi "
124 "mode to be used.";
125const char kDataReductionProxyLoFiAlwaysOn[] = "Always on";
126const char kDataReductionProxyLoFiCellularOnly[] = "Cellular only";
127const char kDataReductionProxyLoFiDisabled[] = "Disable";
128const char kDataReductionProxyLoFiSlowConnectionsOnly[] =
129 "Slow connections only";
130
131const char kDatasaverPromptName[] = "Cellular Data Saver Prompt";
132const char kDatasaverPromptDescription[] =
133 "Enables a prompt, which appears when a cellular network connection is "
134 "detected, to take the user to the Data Saver extension page on Chrome Web "
135 "Store.";
136const char kDatasaverPromptDemoMode[] = "Demo mode";
137
138const char kDebugPackedAppName[] = "Debugging for packed apps";
139const char kDebugPackedAppDescription[] =
140 "Enables debugging context menu options such as Inspect Element for packed "
141 "applications.";
142
143const char kDefaultTileHeightName[] = "Default tile height";
144const char kDefaultTileHeightDescription[] = "Specify the default tile height.";
145const char kDefaultTileHeightShort[] = "128";
146const char kDefaultTileHeightTall[] = "256";
147const char kDefaultTileHeightGrande[] = "512";
148const char kDefaultTileHeightVenti[] = "1024";
149
150const char kDefaultTileWidthName[] = "Default tile width";
151const char kDefaultTileWidthDescription[] = "Specify the default tile width.";
152const char kDefaultTileWidthShort[] = "128";
153const char kDefaultTileWidthTall[] = "256";
154const char kDefaultTileWidthGrande[] = "512";
155const char kDefaultTileWidthVenti[] = "1024";
156
157const char kDebugShortcutsName[] = "Debugging keyboard shortcuts";
158const char kDebugShortcutsDescription[] =
159 "Enables additional keyboard shortcuts that are useful for debugging Ash.";
160
161const char kDeviceDiscoveryNotificationsName[] =
162 "Device Discovery Notifications";
163const char kDeviceDiscoveryNotificationsDescription[] =
164 "Device discovery notifications on local network.";
165
166const char kDevtoolsExperimentsName[] = "Developer Tools experiments";
167const char kDevtoolsExperimentsDescription[] =
168 "Enables Developer Tools experiments. Use Settings panel in Developer "
169 "Tools to toggle individual experiments.";
170
171const char kDisableAudioForDesktopShareName[] =
172 "Disable Audio For Desktop Share";
173const char kDisableAudioForDesktopShareDescription[] =
174 "With this flag on, desktop share picker window will not let the user "
175 "choose whether to share audio.";
176
177const char kDisableNightLightName[] = "Disable Night Light";
178const char kDisableNightLightDescription[] =
179 "Disable the Night Light feature which controls the color temperature of "
180 "the screen.";
181
182const char kDisableTabForDesktopShareName[] =
183 "Disable Desktop Share with tab source";
184const char kDisableTabForDesktopShareDescription[] =
185 "This flag controls whether users can choose a tab for desktop share.";
186
187const char kDisallowDocWrittenScriptsUiName[] =
188 "Block scripts loaded via document.write";
189const char kDisallowDocWrittenScriptsUiDescription[] =
190 "Disallows fetches for third-party parser-blocking scripts inserted into "
191 "the main frame via document.write.";
192
193const char kDisplayList2dCanvasName[] = "Display list 2D canvas";
194const char kDisplayList2dCanvasDescription[] =
195 "Enables the use of display lists to record 2D canvas commands. This "
196 "allows 2D canvas rasterization to be performed on separate thread.";
197
198const char kDistanceFieldTextName[] = "Distance field text";
199const char kDistanceFieldTextDescription[] =
200 "Text is rendered with signed distance fields rather than bitmap alpha "
201 "masks.";
202
203const char kDriveSearchInChromeLauncherName[] =
204 "Drive Search in Chrome App Launcher";
205const char kDriveSearchInChromeLauncherDescription[] =
206 "Files from Drive will show up when searching the Chrome App Launcher.";
207
208const char kDropSyncCredentialName[] =
209 "Drop sync credentials from password manager";
210const char kDropSyncCredentialDescription[] =
211 "The password manager will not offer to save the credential used to sync.";
212
213const char kEasyUnlockBluetoothLowEnergyDiscoveryName[] =
214 "Smart Lock Bluetooth Low Energy Discovery";
215const char kEasyUnlockBluetoothLowEnergyDiscoveryDescription[] =
216 "Enables a Smart Lock setting that allows Chromebook to discover phones "
217 "over Bluetooth Low Energy in order to unlock the Chromebook when the "
218 "phone is in its proximity.";
219
220const char kEasyUnlockProximityDetectionName[] =
221 "Smart Lock proximity detection";
222const char kEasyUnlockProximityDetectionDescription[] =
223 "Enables a Smart Lock setting that restricts unlocking to only work when "
224 "your phone is very close to (roughly, within an arm's length of) the "
225 "Chrome device.";
226
227const char kEmbeddedExtensionOptionsName[] = "Embedded extension options";
228const char kEmbeddedExtensionOptionsDescription[] =
229 "Display extension options as an embedded element in chrome://extensions "
230 "rather than opening a new tab.";
231
232const char kEnableAsmWasmName[] =
233 "Experimental Validate Asm.js and convert to WebAssembly when valid.";
234const char kEnableAsmWasmDescription[] =
235 R"*(Validate Asm.js when "use asm" is present and then convert to )*"
236 R"*(WebAssembly.)*";
237
238const char kEnableAutofillCreditCardBankNameDisplayName[] =
239 "Display the issuer bank name of a credit card in autofill.";
240const char kEnableAutofillCreditCardBankNameDisplayDescription[] =
241 "If enabled, displays the issuer bank name of a credit card in autofill.";
242
243const char kEnableAutofillCreditCardLastUsedDateDisplayName[] =
244 "Display the last used date of a credit card in autofill.";
245const char kEnableAutofillCreditCardLastUsedDateDisplayDescription[] =
246 "If enabled, display the last used date of a credit card in autofill.";
247
248const char kEnableAutofillCreditCardUploadCvcPromptName[] =
249 "Enable requesting missing CVC during Autofill credit card upload";
250const char kEnableAutofillCreditCardUploadCvcPromptDescription[] =
251 "If enabled, requests missing CVC when offering to upload credit cards to "
252 "Google Payments.";
253
254const char kEnableBrotliName[] = "Brotli Content-Encoding.";
255const char kEnableBrotliDescription[] =
256 "Enable Brotli Content-Encoding support.";
257
258const char kEnableClearBrowsingDataCountersName[] =
259 "Enable Clear browsing data counters.";
260const char kEnableClearBrowsingDataCountersDescription[] =
261 "Shows data volume counters in the Clear browsing data dialog.";
262
sclittle50e4bb92017-07-08 02:23:03263const char kEnableClientLoFiName[] = "Client-side Lo-Fi previews";
264
265const char kEnableClientLoFiDescription[] =
266 "Enable showing low fidelity images on some pages on slow networks.";
267
Brett Wilsonf27ff602017-07-07 22:28:47268const char kEnableDataReductionProxyLitePageName[] =
269 "Lite pages for Data Saver Lo-Fi mode";
270const char kEnableDataReductionProxyLitePageDescription[] =
271 "Enable lite pages in Data Saver Lo-Fi mode. Previews of pages will be "
272 "shown instead of image placeholders when Lo-Fi is on. Data Saver and "
273 "Lo-Fi must be enabled for lite pages to be shown.";
274
275const char kDataReductionProxyServerAlternative[] =
276 "Use alternative server configuration";
277const char kEnableDataReductionProxyServerExperimentName[] =
278 "Use an alternative Data Saver back end configuration.";
279const char kEnableDataReductionProxyServerExperimentDescription[] =
280 "Enable a different approach to saving data by configuring the back end "
281 "server";
282
283const char kEnableDataReductionProxySavingsPromoName[] =
284 "Data Saver 1 MB Savings Promo";
285const char kEnableDataReductionProxySavingsPromoDescription[] =
286 "Enable a Data Saver promo for 1 MB of savings. If Data Saver has already "
287 "saved 1 MB of data, then the promo will not be shown. Data Saver must be "
288 "enabled for the promo to be shown.";
289
290const char kEnableEnumeratingAudioDevicesName[] =
291 "Experimentally enable enumerating audio devices.";
292const char kEnableEnumeratingAudioDevicesDescription[] =
293 "Experimentally enable the use of enumerating audio devices.";
294
295const char kEnableGenericSensorName[] = "Generic Sensor";
296const char kEnableGenericSensorDescription[] =
297 "Enable sensor APIs based on Generic Sensor API.";
298
299const char kEnableGroupedHistoryName[] = "Group history by domain";
300const char kEnableGroupedHistoryDescription[] =
301 "Group history by website domain (i.e. google.com) on chrome://history.";
302
303const char kEnableHDRName[] = "HDR mode";
304const char kEnableHDRDescription[] =
305 "Enables HDR support on compatible displays.";
306
307const char kEnableHeapProfilingName[] = "Heap profiling";
308const char kEnableHeapProfilingDescription[] = "Enables heap profiling.";
309const char kEnableHeapProfilingModePseudo[] = "Enabled (pseudo mode)";
310const char kEnableHeapProfilingModeNative[] = "Enabled (native mode)";
311const char kEnableHeapProfilingTaskProfiler[] = "Enabled (task mode)";
312
313const char kEnableHttpFormWarningName[] =
314 "Show in-form warnings for sensitive fields when the top-level page is not "
315 "not HTTPS";
316const char kEnableHttpFormWarningDescription[] =
317 "Attaches a warning UI to any password or credit card fields detected when "
318 "the top-level page is not HTTPS";
319
320const char kEnableIdleTimeSpellCheckingName[] =
321 "Enable idle time spell checker";
322const char kEnableIdleTimeSpellCheckingDescription[] =
323 "Make spell-checking code run only when the browser is idle, so that input "
324 "latency is reduced, especially when editing long articles, emails, etc.";
vabr0215a8e2017-03-28 12:47:34325
326const char kEnableMaterialDesignBookmarksName[] =
327 "Enable Material Design bookmarks";
vabr0215a8e2017-03-28 12:47:34328const char kEnableMaterialDesignBookmarksDescription[] =
329 "If enabled, the chrome://bookmarks/ URL loads the Material Design "
330 "bookmarks page.";
331
vabr0215a8e2017-03-28 12:47:34332const char kEnableMaterialDesignExtensionsName[] =
333 "Enable Material Design extensions";
vabr0215a8e2017-03-28 12:47:34334const char kEnableMaterialDesignExtensionsDescription[] =
335 "If enabled, the chrome://extensions/ URL loads the Material Design "
336 "extensions page.";
337
vabr0215a8e2017-03-28 12:47:34338const char kEnableMaterialDesignFeedbackName[] =
339 "Enable Material Design feedback";
vabr0215a8e2017-03-28 12:47:34340const char kEnableMaterialDesignFeedbackDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19341 "If enabled, reporting an issue will load the Material Design feedback UI.";
vabr0215a8e2017-03-28 12:47:34342
Brett Wilsonf27ff602017-07-07 22:28:47343const char kEnableMaterialDesignPolicyPageName[] =
344 "Enable Material Design policy page";
345const char kEnableMaterialDesignPolicyPageDescription[] =
346 "If enabled, the chrome://md-policy URL loads the Material Design policy "
347 "page.";
galinapae72e152017-05-12 13:12:28348
Brett Wilsonf27ff602017-07-07 22:28:47349const char kEnableMidiManagerDynamicInstantiationName[] =
350 "MIDIManager dynamic instantiation for Web MIDI.";
351const char kEnableMidiManagerDynamicInstantiationDescription[] =
352 "Enable MIDIManager dynamic instantiation for Web MIDI.";
353
354const char kEnableNavigationTracingName[] = "Enable navigation tracing";
355const char kEnableNavigationTracingDescription[] =
356 "This is to be used in conjunction with the trace-upload-url flag. "
357 "WARNING: When enabled, Chrome will record performance data for every "
358 "navigation and upload it to the URL specified by the trace-upload-url "
359 "flag. The trace may include personally identifiable information (PII) "
360 "such as the titles and URLs of websites you visit.";
361
362const char kEnableNetworkServiceName[] = "Enable network service";
363const char kEnableNetworkServiceDescription[] =
364 "Enables the network service, which makes network requests through a "
365 "separate service. Note: most features don't work with this yet.";
366
367const char kEnablePictureInPictureName[] = "Enable picture in picture.";
368const char kEnablePictureInPictureDescription[] =
369 "Enable the picture in picture feature for videos.";
370
371const char kEnableTokenBindingName[] = "Token Binding.";
372const char kEnableTokenBindingDescription[] = "Enable Token Binding support.";
373
374const char kEnableUseZoomForDsfName[] =
375 "Use Blink's zoom for device scale factor.";
376const char kEnableUseZoomForDsfDescription[] =
377 "If enabled, Blink uses its zooming mechanism to scale content for device "
378 "scale factor.";
379const char kEnableUseZoomForDsfChoiceDefault[] = "Default";
380const char kEnableUseZoomForDsfChoiceEnabled[] = "Enabled";
381const char kEnableUseZoomForDsfChoiceDisabled[] = "Disabled";
382
383const char kEnableScrollAnchoringName[] = "Scroll Anchoring";
384const char kEnableScrollAnchoringDescription[] =
385 "Adjusts scroll position to prevent visible jumps when offscreen content "
386 "changes.";
387
388const char kEnableSharedArrayBufferName[] =
389 "Experimental enabled SharedArrayBuffer support in JavaScript.";
390const char kEnableSharedArrayBufferDescription[] =
391 "Enable SharedArrayBuffer support in JavaScript.";
392
393const char kEnableWasmName[] = "WebAssembly structured cloning support.";
394const char kEnableWasmDescription[] =
395 "Enable web pages to use WebAssembly structured cloning.";
396
397const char kEnableWebUsbName[] = "WebUSB";
398const char kEnableWebUsbDescription[] = "Enable WebUSB support.";
399
400const char kEnableImageCaptureAPIName[] = "Image Capture API";
401const char kEnableImageCaptureAPIDescription[] =
402 "Enables the Web Platform Image Capture API: takePhoto(), "
403 "getPhotoCapabilities(), etc.";
404
405const char kEnableZeroSuggestRedirectToChromeName[] =
406 "Experimental contextual omnibox suggestion";
407const char kEnableZeroSuggestRedirectToChromeDescription[] =
408 "Change omnibox contextual suggestions to an experimental source. Note "
409 "that this is not an on/off switch for contextual omnibox and it only "
410 "applies to suggestions provided before the user starts typing a URL or a "
411 "search query (i.e. zero suggest).";
412
413const char kEnableWasmStreamingName[] =
414 "WebAssembly streaming compile/instantiate support.";
415const char kEnableWasmStreamingDescription[] =
416 "WebAssembly.{compile|instantiate} taking a Response as parameter.";
417
418const char kEnableWebfontsInterventionName[] =
419 "New version of User Agent Intervention for WebFonts loading.";
420const char kEnableWebfontsInterventionDescription[] =
421 "Enable New version of User Agent Intervention for WebFonts loading.";
422const char kEnableWebfontsInterventionV2ChoiceDefault[] = "Default";
423const char kEnableWebfontsInterventionV2ChoiceEnabledWith2g[] = "Enabled: 2G";
424const char kEnableWebfontsInterventionV2ChoiceEnabledWith3g[] = "Enabled: 3G";
425const char kEnableWebfontsInterventionV2ChoiceEnabledWithSlow2g[] =
426 "Enabled: Slow 2G";
427const char kEnableWebfontsInterventionV2ChoiceDisabled[] = "Disabled";
428
429const char kEnableWebfontsInterventionTriggerName[] =
430 "Trigger User Agent Intervention for WebFonts loading always.";
431const char kEnableWebfontsInterventionTriggerDescription[] =
432 "Enable to trigger User Agent Intervention for WebFonts loading always. "
433 "This flag affects only when the intervention is enabled.";
434
435const char kEnableWebNotificationCustomLayoutsName[] =
436 "Enable custom layouts for Web Notifications.";
437const char kEnableWebNotificationCustomLayoutsDescription[] =
438 "Enable custom layouts for Web Notifications. They will have subtle layout "
439 "improvements that are otherwise not possible.";
440
441const char kExpensiveBackgroundTimerThrottlingName[] =
442 "Throttle expensive background timers";
443const char kExpensiveBackgroundTimerThrottlingDescription[] =
444 "Enables intervention to limit CPU usage of background timers to 1%.";
445
446const char kExperimentalAppBannersName[] = "Experimental app banners";
447const char kExperimentalAppBannersDescription[] =
448 "Enables a new experimental app banner flow and UI";
449
450const char kExperimentalCanvasFeaturesName[] = "Experimental canvas features";
451const char kExperimentalCanvasFeaturesDescription[] =
452 "Enables the use of experimental canvas features which are still in "
453 "development.";
454
455const char kExperimentalExtensionApisName[] = "Experimental Extension APIs";
456const char kExperimentalExtensionApisDescription[] =
457 "Enables experimental extension APIs. Note that the extension gallery "
458 "doesn't allow you to upload extensions that use experimental APIs.";
459
460const char kExperimentalFullscreenExitUIName[] =
461 "Experimental fullscreen exit UI";
462const char kExperimentalFullscreenExitUIDescription[] =
463 "Displays experimental UI to allow mouse and touch input methods to exit "
464 "fullscreen mode.";
465
466const char kExperimentalHotwordHardwareName[] =
467 "Simulated hardware 'Ok Google' features";
468const char kExperimentalHotwordHardwareDescription[] =
469 "Enables an experimental version of 'Ok Google' hotword detection features "
470 "that have a hardware dependency.";
471
472const char kExperimentalKeyboardLockUiName[] = "Experimental keyboard lock UI.";
473const char kExperimentalKeyboardLockUiDescription[] =
474 "An experimental full screen with keyboard lock mode requiring users to "
475 "hold Esc to exit.";
476
477const char kExperimentalSecurityFeaturesName[] =
478 "Potentially annoying security features";
479const char kExperimentalSecurityFeaturesDescription[] =
480 "Enables several security features that will likely break one or more "
481 "pages that you visit on a daily basis. Strict mixed content checking, for "
482 "example. And locking powerful features to secure contexts. This flag will "
483 "probably annoy you.";
484
485const char kExperimentalWebPlatformFeaturesName[] =
486 "Experimental Web Platform features";
487const char kExperimentalWebPlatformFeaturesDescription[] =
488 "Enables experimental Web Platform features that are in development.";
489
490const char kExtensionContentVerificationName[] =
491 "Extension Content Verification";
492const char kExtensionContentVerificationDescription[] =
493 "This flag can be used to turn on verification that the contents of the "
494 "files on disk for extensions from the webstore match what they're "
495 "expected to be. This can be used to turn on this feature if it would not "
496 "otherwise have been turned on, but cannot be used to turn it off (because "
497 "this setting can be tampered with by malware).";
498const char kExtensionContentVerificationBootstrap[] =
499 "Bootstrap (get expected hashes, but do not enforce them)";
500const char kExtensionContentVerificationEnforce[] =
501 "Enforce (try to get hashes, and enforce them if successful)";
502const char kExtensionContentVerificationEnforceStrict[] =
503 "Enforce strict (hard fail if we can't get hashes)";
504
505const char kExtensionsOnChromeUrlsName[] = "Extensions on chrome:// URLs";
506const char kExtensionsOnChromeUrlsDescription[] =
507 "Enables running extensions on chrome:// URLs, where extensions explicitly "
508 "request this permission.";
galinapae72e152017-05-12 13:12:28509
vabr0215a8e2017-03-28 12:47:34510// Report URL to SafeSearch
511
512const char kSafeSearchUrlReportingName[] = "SafeSearch URLs reporting.";
513
514const char kSafeSearchUrlReportingDescription[] =
515 "If enabled, inappropriate URLs can be reported back to SafeSearch.";
516
brettw5f9c1642017-05-14 17:12:48517const char kNostatePrefetchName[] = "No-State Prefetch";
vabr0215a8e2017-03-28 12:47:34518
519const char kNostatePrefetchDescription[] =
520 R"*("No-State Prefetch" pre-downloads resources to improve load )*"
521 R"*(times. "Prerender" does a full pre-rendering of the page, to )*"
522 R"*(improve load times even more. "Simple Load" does nothing and is )*"
523 R"*(similar to disabling the feature, but collects more metrics for )*"
524 R"*(comparison purposes.)*";
525
526const char kSpeculativePrefetchName[] = "Speculative Prefetch";
527
528const char kSpeculativePrefetchDescription[] =
529 R"*("Speculative Prefetch" fetches likely resources early to improve )*"
530 R"*(load times, based on a local database (see chrome://predictors). )*"
531 R"*("Learning" means that only the database construction is enabled, )*"
532 R"*("Prefetching" that learning and prefetching are enabled.)*";
533
Justin Donnelly4e448cb2017-07-07 21:32:13534const char kSpeculativeServiceWorkerStartOnQueryInputName[] =
535 "Enable speculative start of a service worker when a search is predicted.";
536
537const char kSpeculativeServiceWorkerStartOnQueryInputDescription[] =
538 "If enabled, when the user enters text in the omnibox that looks like a "
539 "a query, any service worker associated with the search engine the query "
540 "will be sent to is started early.";
541
horo201d49492017-05-19 05:31:40542const char kOffMainThreadFetchName[] = "Off-main-thread fetch for Web Workers";
543
544const char kOffMainThreadFetchDescription[] =
545 "If enabled, the resource fetches from worker threads will not be blocked "
546 "by the busy main thread.";
547
vabr0215a8e2017-03-28 12:47:34548// Force Tablet Mode
549
550const char kForceTabletModeName[] = "Force Tablet Mode";
551
552const char kForceTabletModeDescription[] =
553 R"*(This flag can be used to force a certain mode on to a chromebook, )*"
554 R"*(despite its current orientation. "TouchView" means that the )*"
555 R"*(chromebook will act as if it were in touch view mode. "Clamshell" )*"
556 R"*(means that the chromebook will act as if it were in clamshell )*"
557 R"*(mode . "Auto" means that the chromebook will alternate between )*"
558 R"*(the two, based on its orientation.)*";
559
560const char kForceTabletModeTouchview[] = "TouchView";
561
562const char kForceTabletModeClamshell[] = "Clamshell";
563
564const char kForceTabletModeAuto[] = "Auto (default)";
565
566// Print Preview features
rbpotterc51ee3622017-05-19 20:24:53567#if !defined(OS_WIN) && !defined(OS_MACOSX)
vabr0215a8e2017-03-28 12:47:34568const char kPrintPdfAsImageName[] = "Print Pdf as Image";
569
570const char kPrintPdfAsImageDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19571 "If enabled, an option to print PDF files as images will be available in "
572 "print preview.";
rbpotterc51ee3622017-05-19 20:24:53573#endif
vabr0215a8e2017-03-28 12:47:34574
brettw5f9c1642017-05-14 17:12:48575#if !defined(DISABLE_NACL)
576
vabr0215a8e2017-03-28 12:47:34577const char kNaclName[] = "Native Client";
vabr0215a8e2017-03-28 12:47:34578const char kNaclDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19579 "Support Native Client for all web applications, even those that were not "
580 "installed from the Chrome Web Store.";
vabr0215a8e2017-03-28 12:47:34581
vabr0215a8e2017-03-28 12:47:34582const char kNaclDebugName[] = "Native Client GDB-based debugging";
vabr0215a8e2017-03-28 12:47:34583const char kNaclDebugDescription[] =
584 "Enable GDB debug stub. This will stop a Native Client application on "
585 "startup and wait for nacl-gdb (from the NaCl SDK) to attach to it.";
586
vabr0215a8e2017-03-28 12:47:34587const char kPnaclSubzeroName[] = "Force PNaCl Subzero";
vabr0215a8e2017-03-28 12:47:34588const char kPnaclSubzeroDescription[] =
589 "Force the use of PNaCl's fast Subzero translator for all pexe files.";
590
vabr0215a8e2017-03-28 12:47:34591const char kNaclDebugMaskName[] =
592 "Restrict Native Client GDB-based debugging by pattern";
vabr0215a8e2017-03-28 12:47:34593const char kNaclDebugMaskDescription[] =
594 "Restricts Native Client application GDB-based debugging by URL of "
Vitalii Iarko7df520142017-07-07 12:53:19595 "manifest file. Native Client GDB-based debugging must be enabled for this "
596 "option to work.";
vabr0215a8e2017-03-28 12:47:34597const char kNaclDebugMaskChoiceDebugAll[] = "Debug everything.";
vabr0215a8e2017-03-28 12:47:34598const char kNaclDebugMaskChoiceExcludeUtilsPnacl[] =
599 "Debug everything except secure shell and the PNaCl translator.";
vabr0215a8e2017-03-28 12:47:34600const char kNaclDebugMaskChoiceIncludeDebug[] =
601 "Debug only if manifest URL ends with debug.nmf.";
602
brettw5f9c1642017-05-14 17:12:48603#endif
604
vabr0215a8e2017-03-28 12:47:34605const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
606
607const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
vabr0215a8e2017-03-28 12:47:34608const char kMarkHttpAsDangerous[] = "Always mark HTTP as actively dangerous";
elawrence52854122017-05-31 04:36:01609const char kMarkHttpAsNonSecureAfterEditing[] =
610 "Warn on HTTP after editing forms";
611const char kMarkHttpAsNonSecureWhileIncognito[] =
612 "Warn on HTTP while in Incognito mode";
613const char kMarkHttpAsNonSecureWhileIncognitoOrEditing[] =
614 "Warn on HTTP while in Incognito mode or after editing forms";
vabr0215a8e2017-03-28 12:47:34615
msrameka8443112017-04-24 23:20:10616// Material design of the Incognito NTP.
617
618extern const char kMaterialDesignIncognitoNTPName[] =
619 "Material Design Incognito NTP.";
620
621extern const char kMaterialDesignIncognitoNTPDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19622 "If enabled, the Incognito New Tab page uses the new material design with "
623 "a better readable text.";
msrameka8443112017-04-24 23:20:10624
vabr0215a8e2017-03-28 12:47:34625const char kSavePageAsMhtmlName[] = "Save Page as MHTML";
626
627const char kSavePageAsMhtmlDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19628 "Enables saving pages as MHTML: a single text file containing HTML and all "
629 "sub-resources.";
vabr0215a8e2017-03-28 12:47:34630
etienneb9a4b5302017-06-08 06:28:46631// Flag and values for MHTML Generator options lab.
vabr0215a8e2017-03-28 12:47:34632
633const char kMhtmlGeneratorOptionName[] = "MHTML Generation Option";
634
635const char kMhtmlGeneratorOptionDescription[] =
636 "Provides experimental options for MHTML file generator.";
637
638const char kMhtmlSkipNostoreMain[] = "Skips no-store main frame.";
639
640const char kMhtmlSkipNostoreAll[] = "Skips all no-store resources.";
641
vabr0215a8e2017-03-28 12:47:34642#if defined(OS_WIN)
643
644const char kCloudPrintXpsName[] = "XPS in Google Cloud Print";
645
646const char kCloudPrintXpsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19647 "XPS enables advanced options for classic printers connected to the Cloud "
648 "Print with Chrome. Printers must be re-connected after changing this "
649 "flag.";
vabr0215a8e2017-03-28 12:47:34650
651#endif // defined(OS_WIN)
652
653const char kLoadMediaRouterComponentExtensionName[] =
654 "Load Media Router Component Extension";
655
656const char kLoadMediaRouterComponentExtensionDescription[] =
657 "Loads the Media Router component extension at startup.";
658
659const char kPrintPreviewRegisterPromosName[] =
660 "Print Preview Registration Promos";
661
662const char kPrintPreviewRegisterPromosDescription[] =
663 "Enable registering unregistered cloud printers from print preview.";
664
665const char kScrollPredictionName[] = "Scroll prediction";
666
667const char kTopChromeMd[] = "UI Layout for the browser's top chrome";
668
669const char kTopChromeMdDescription[] =
670 R"*(Toggles between normal and touch (formerly "hybrid") layouts.)*";
671
672const char kTopChromeMdMaterial[] = "Normal";
673
674const char kTopChromeMdMaterialHybrid[] = "Touch";
675
patricialor325fa4c2017-05-08 07:51:31676const char kSiteDetails[] = "Site Details";
677
678const char kSiteDetailsDescription[] =
679 "Adds UI in MD Settings to view all content settings for a specific "
680 "origin.";
681
vabr0215a8e2017-03-28 12:47:34682const char kSiteSettings[] = "Site settings with All sites and Site details";
683
684const char kSiteSettingsDescription[] =
685 "Adds new ways of viewing Site settings.";
686
687const char kSecondaryUiMd[] =
688 "Material Design in the rest of the browser's native UI";
689
690const char kSecondaryUiMdDescription[] =
691 "Extends the --top-chrome-md setting to secondary UI (bubbles, dialogs, "
Vitalii Iarko7df520142017-07-07 12:53:19692 "etc.). On Mac, this enables MacViews, which uses toolkit-views for native "
693 "browser dialogs.";
vabr0215a8e2017-03-28 12:47:34694
695const char kScrollPredictionDescription[] =
696 "Predicts the finger's future position during scrolls allowing time to "
697 "render the frame before the finger is there.";
698
vabr0215a8e2017-03-28 12:47:34699#if defined(OS_ANDROID)
700
701const char kAccessibilityTabSwitcherName[] = "Accessibility Tab Switcher";
702
703const char kAccessibilityTabSwitcherDescription[] =
704 "Enable the accessibility tab switcher for Android.";
705
csashidf20b102017-04-04 01:53:24706const char kAndroidAutofillAccessibilityName[] = "Autofill Accessibility";
707
708const char kAndroidAutofillAccessibilityDescription[] =
709 "Enable accessibility for autofill popup.";
710
vabr0215a8e2017-03-28 12:47:34711const char kEnablePhysicalWebName[] = "Enable the Physical Web.";
712
713const char kEnablePhysicalWebDescription[] =
714 "Enable scanning for URLs from Physical Web objects.";
715
716#endif // defined(OS_ANDROID)
717
718const char kTouchEventsName[] = "Touch Events API";
719
720const char kTouchEventsDescription[] =
721 "Force Touch Events API feature detection to always be enabled or "
722 "disabled, or to be enabled when a touchscreen is detected on startup "
723 "(Automatic, the default).";
724
725const char kTouchAdjustmentName[] = "Touch adjustment";
726
727const char kTouchAdjustmentDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19728 "Refine the position of a touch gesture in order to compensate for touches "
729 "having poor resolution compared to a mouse.";
vabr0215a8e2017-03-28 12:47:34730
brettw5f9c1642017-05-14 17:12:48731const char kGlCompositedTextureQuadBordersName[] =
vabr0215a8e2017-03-28 12:47:34732 "GL composited texture quad borders";
733
734const char kGlCompositedTextureQuadBordersDescription[] =
735 "Renders a border around GL composited texture quads to help debug and "
736 "study overlay support.";
737
brettw5f9c1642017-05-14 17:12:48738const char kShowOverdrawFeedbackName[] = "Show overdraw feedback";
vabr0215a8e2017-03-28 12:47:34739
740const char kShowOverdrawFeedbackDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19741 "Visualize overdraw by color-coding elements based on if they have other "
742 "elements drawn underneath.";
vabr0215a8e2017-03-28 12:47:34743
744const char kUiPartialSwapName[] = "Partial swap";
745
746const char kUiPartialSwapDescription[] = "Sets partial swap behavior.";
747
Evan Stadeb508c722017-07-12 02:19:08748const char kDelayReloadStopButtonChangeName[] =
749 "Reduce stop/reload button flicker";
750
751const char kDelayReloadStopButtonChangeDescription[] =
752 "Delays display of stop button when page is loading such that short "
753 "loads won't show the stop button at all.";
754
vabr0215a8e2017-03-28 12:47:34755const char kIgnoreGpuBlacklistName[] = "Override software rendering list";
756
757const char kIgnoreGpuBlacklistDescription[] =
758 "Overrides the built-in software rendering list and enables "
759 "GPU-acceleration on unsupported system configurations.";
760
761const char kInertVisualViewportName[] = "Inert visual viewport.";
762
763const char kInertVisualViewportDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19764 "Experiment to have all APIs reflect the layout viewport. This will make "
765 "window.scroll properties relative to the layout viewport.";
vabr0215a8e2017-03-28 12:47:34766
Catherine Chungd4d24362017-06-09 21:12:12767const char kInProductHelpDemoModeChoiceName[] = "In-Product Help Demo Mode";
768
769const char kInProductHelpDemoModeChoiceDescription[] =
770 "Selects the In-Product Help demo mode.";
771
vabr0215a8e2017-03-28 12:47:34772const char kFastUnloadName[] = "Fast tab/window close";
773
774const char kFastUnloadDescription[] =
775 "Enables fast tab/window closing - runs a tab's onunload js handler "
776 "independently of the GUI.";
777
Yutaka Hirano6bbe1e32017-05-24 09:25:58778const char kFetchKeepaliveTimeoutSettingName[] =
779 "Fetch API keepalive timeout setting";
780const char kFetchKeepaliveTimeoutSettingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19781 "This is for setting the timeout value for Fetch API with keepalive option "
782 "and SendBeacon";
Yutaka Hirano6bbe1e32017-05-24 09:25:58783
vabr0215a8e2017-03-28 12:47:34784const char kUserConsentForExtensionScriptsName[] =
785 "User consent for extension scripts";
786
787const char kUserConsentForExtensionScriptsDescription[] =
788 "Require user consent for an extension running a script on the page, if "
789 "the extension requested permission to run on all urls.";
790
791const char kHistoryRequiresUserGestureName[] =
792 "New history entries require a user gesture.";
793
794const char kHistoryRequiresUserGestureDescription[] =
795 "Require a user gesture to add a history entry.";
796
797const char kHyperlinkAuditingName[] = "Hyperlink auditing";
798
799const char kHyperlinkAuditingDescription[] = "Sends hyperlink auditing pings.";
800
801#if defined(OS_ANDROID)
802
brettw5f9c1642017-05-14 17:12:48803const char kContextualSearchName[] = "Contextual Search";
vabr0215a8e2017-03-28 12:47:34804
805const char kContextualSearchDescription[] =
806 "Whether or not Contextual Search is enabled.";
807
808const char kContextualSearchContextualCardsBarIntegration[] =
809 "Contextual Search - Contextual Cards Integration";
810
811const char kContextualSearchContextualCardsBarIntegrationDescription[] =
812 "Whether or not integration of Contextual Cards data in the Contextual "
813 "Search Bar is enabled.";
814
brettw5f9c1642017-05-14 17:12:48815const char kContextualSearchSingleActionsName[] =
vabr0215a8e2017-03-28 12:47:34816 "Contextual Search - Single Actions";
817
818const char kContextualSearchSingleActionsDescription[] =
819 "Whether or not single actions using Contextual Cards data in the "
820 "Contextual Search Bar is enabled.";
821
brettw5f9c1642017-05-14 17:12:48822const char kContextualSearchUrlActionsName[] =
823 "Contextual Search - URL Actions";
vabr0215a8e2017-03-28 12:47:34824
825const char kContextualSearchUrlActionsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19826 "Whether or not URL actions using Contextual Cards data in the Contextual "
827 "Search Bar is enabled.";
vabr0215a8e2017-03-28 12:47:34828
829#endif // defined(OS_ANDROID)
830
831const char kSmoothScrollingName[] = "Smooth Scrolling";
832
833const char kSmoothScrollingDescription[] =
834 "Animate smoothly when scrolling page content.";
835
836const char kOverlayScrollbarsName[] = "Overlay Scrollbars";
837
838const char kOverlayScrollbarsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19839 "Enable the experimental overlay scrollbars implementation. You must also "
840 "enable threaded compositing to have the scrollbars animate.";
vabr0215a8e2017-03-28 12:47:34841
842const char kShowAutofillTypePredictionsName[] = "Show Autofill predictions";
843
844const char kShowAutofillTypePredictionsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19845 "Annotates web forms with Autofill field type predictions as placeholder "
846 "text.";
vabr0215a8e2017-03-28 12:47:34847
848const char kTcpFastOpenName[] = "TCP Fast Open";
849
850const char kTcpFastOpenDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19851 "Enable the option to send extra authentication information in the initial "
852 "SYN packet for a previously connected client, allowing faster data send "
853 "start.";
vabr0215a8e2017-03-28 12:47:34854
855const char kTouchDragDropName[] = "Touch initiated drag and drop";
856
857const char kTouchDragDropDescription[] =
858 "Touch drag and drop can be initiated through long press on a draggable "
859 "element.";
860
861const char kTouchSelectionStrategyName[] = "Touch text selection strategy";
862
863const char kTouchSelectionStrategyDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19864 "Controls how text selection granularity changes when touch text selection "
865 "handles are dragged. Non-default behavior is experimental.";
vabr0215a8e2017-03-28 12:47:34866
867const char kTouchSelectionStrategyCharacter[] = "Character";
868
869const char kTouchSelectionStrategyDirection[] = "Direction";
870
871const char kWalletServiceUseSandboxName[] =
872 "Use Google Payments sandbox servers";
873
874const char kWalletServiceUseSandboxDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19875 "For developers: use the sandbox service for Google Payments API calls.";
vabr0215a8e2017-03-28 12:47:34876
877const char kOverscrollHistoryNavigationName[] = "Overscroll history navigation";
878
879const char kOverscrollHistoryNavigationDescription[] =
880 "Experimental history navigation in response to horizontal overscroll.";
881
882const char kOverscrollHistoryNavigationSimpleUi[] = "Simple";
883
884const char kOverscrollStartThresholdName[] = "Overscroll start threshold";
885
886const char kOverscrollStartThresholdDescription[] =
887 "Changes overscroll start threshold relative to the default value.";
888
889const char kOverscrollStartThreshold133Percent[] = "133%";
890
891const char kOverscrollStartThreshold166Percent[] = "166%";
892
893const char kOverscrollStartThreshold200Percent[] = "200%";
894
895const char kScrollEndEffectName[] = "Scroll end effect";
896
897const char kScrollEndEffectDescription[] =
898 "Experimental scroll end effect in response to vertical overscroll.";
899
900const char kWebgl2Name[] = "WebGL 2.0";
901
902const char kWebgl2Description[] = "Allow web applications to access WebGL 2.0.";
903
904const char kWebglDraftExtensionsName[] = "WebGL Draft Extensions";
905
906const char kWebglDraftExtensionsDescription[] =
907 "Enabling this option allows web applications to access the WebGL "
908 "Extensions that are still in draft status.";
909
910const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
911
912const char kWebrtcHwDecodingDescription[] =
913 "Support in WebRTC for decoding video streams using platform hardware.";
914
915const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
916
917const char kWebrtcHwEncodingDescription[] =
918 "Support in WebRTC for encoding video streams using platform hardware.";
919
920const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding";
921
922const char kWebrtcHwH264EncodingDescription[] =
923 "Support in WebRTC for encoding h264 video streams using platform "
924 "hardware.";
925
braveyao96c9b342017-04-25 18:23:19926const char kWebrtcHwVP8EncodingName[] = "WebRTC hardware vp8 video encoding";
927
928const char kWebrtcHwVP8EncodingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19929 "Support in WebRTC for encoding vp8 video streams using platform hardware.";
braveyao96c9b342017-04-25 18:23:19930
vabr0215a8e2017-03-28 12:47:34931const char kWebrtcSrtpAesGcmName[] =
932 "Negotiation with GCM cipher suites for SRTP in WebRTC";
933
934const char kWebrtcSrtpAesGcmDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19935 "When enabled, WebRTC will try to negotiate GCM cipher suites for SRTP.";
vabr0215a8e2017-03-28 12:47:34936
937const char kWebrtcStunOriginName[] = "WebRTC Stun origin header";
938
939const char kWebrtcStunOriginDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19940 "When enabled, Stun messages generated by WebRTC will contain the Origin "
941 "header.";
vabr0215a8e2017-03-28 12:47:34942
943const char kWebrtcEchoCanceller3Name[] = "WebRTC Echo Canceller 3.";
944
945const char kWebrtcEchoCanceller3Description[] =
946 "Experimental WebRTC echo canceller (AEC3).";
947
948#if defined(OS_ANDROID)
949
950const char kMediaScreenCaptureName[] = "Experimental ScreenCapture.";
951
952const char kMediaScreenCaptureDescription[] =
953 "Enable this option for experimental ScreenCapture feature on Android.";
954
955#endif // defined(OS_ANDROID)
956
957#if BUILDFLAG(ENABLE_WEBRTC)
958
959const char kWebrtcH264WithOpenh264FfmpegName[] =
960 "WebRTC H.264 software video encoder/decoder";
961
962const char kWebrtcH264WithOpenh264FfmpegDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19963 "When enabled, an H.264 software video encoder/decoder pair is included. "
964 "If a hardware encoder/decoder is also available it may be used instead of "
965 "this encoder/decoder.";
vabr0215a8e2017-03-28 12:47:34966
967#endif // BUILDFLAG(ENABLE_WEBRTC)
968
969const char kWebvrName[] = "WebVR";
970
971const char kWebvrDescription[] =
972 "Enabling this option allows web applications to access experimental "
973 "Virtual Reality APIs.";
974
mthiesse700b0b62017-05-19 01:37:31975#if BUILDFLAG(ENABLE_VR)
976
vabr0215a8e2017-03-28 12:47:34977const char kWebvrExperimentalRenderingName[] =
978 "WebVR experimental rendering optimizations";
979
980const char kWebvrExperimentalRenderingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:19981 "Enabling this option activates experimental rendering path optimizations "
982 "for WebVR.";
vabr0215a8e2017-03-28 12:47:34983
mthiesse700b0b62017-05-19 01:37:31984#endif // BUILDFLAG(ENABLE_VR)
985
vabr0215a8e2017-03-28 12:47:34986const char kGamepadExtensionsName[] = "Gamepad Extensions";
987
988const char kGamepadExtensionsDescription[] =
989 "Enabling this option allows web applications to access experimental "
990 "extensions to the Gamepad APIs.";
991
992#if defined(OS_ANDROID)
993
994const char kNewPhotoPickerName[] = "Enable new Photopicker";
995
996const char kNewPhotoPickerDescription[] =
997 "Activates the new picker for selecting photos.";
998
999#endif // defined(OS_ANDROID)
1000
1001#if defined(OS_ANDROID)
1002
1003const char kEnableOskOverscrollName[] = "Enable OSK Overscroll";
1004
1005const char kEnableOskOverscrollDescription[] =
1006 "Enable OSK overscroll support. With this flag on, the OSK will only "
1007 "resize the visual viewport.";
1008
1009#endif // defined(OS_ANDROID)
1010
1011const char kQuicName[] = "Experimental QUIC protocol";
1012
1013const char kQuicDescription[] = "Enable experimental QUIC protocol support.";
1014
1015const char kSslVersionMaxName[] = "Maximum TLS version enabled.";
1016
1017const char kSslVersionMaxDescription[] = "Set maximum enabled TLS version.";
1018
1019const char kSslVersionMaxTls12[] = "TLS 1.2";
1020
1021const char kSslVersionMaxTls13[] = "TLS 1.3";
1022
vabr0215a8e2017-03-28 12:47:341023const char kPassiveDocumentEventListenersDescription[] =
1024 "Forces touchstart, and touchmove event listeners on document level "
1025 "targets (which haven't requested otherwise) to be treated as passive.";
1026
1027const char kPassiveDocumentEventListenersName[] =
1028 "Document Level Event Listeners Passive Default";
1029
1030const char kPassiveEventListenersDueToFlingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191031 "Forces touchstart, and first touchmove per scroll event listeners during "
1032 "fling to be treated as passive.";
vabr0215a8e2017-03-28 12:47:341033
1034const char kPassiveEventListenersDueToFlingName[] =
1035 "Touch Event Listeners Passive Default During Fling";
1036
1037const char kPassiveEventListenerTrue[] = "True (when unspecified)";
1038
1039const char kPassiveEventListenerForceAllTrue[] = "Force All True";
1040
1041const char kPassiveEventListenerDefaultName[] =
1042 "Passive Event Listener Override";
1043
1044const char kPassiveEventListenerDefaultDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191045 "Forces touchstart, touchmove, mousewheel and wheel event listeners (which "
1046 "haven't requested otherwise) to be treated as passive. This will break "
1047 "touch/wheel behavior on some websites but is useful for demonstrating the "
1048 "potential performance benefits of adopting passive event listeners.";
vabr0215a8e2017-03-28 12:47:341049
vabr0215a8e2017-03-28 12:47:341050const char kImportantSitesInCbdName[] =
1051 "Important sites options in clear browsing data dialog";
1052
1053const char kImportantSitesInCbdDescription[] =
1054 "Include the option to whitelist important sites in the clear browsing "
1055 "data dialog.";
1056
vabr0215a8e2017-03-28 12:47:341057#if defined(USE_ASH)
1058
brettw81668cf2017-05-15 22:57:341059const char kAshShelfColorName[] = "Shelf color in Chrome OS system UI";
vabr0215a8e2017-03-28 12:47:341060
1061const char kAshShelfColorDescription[] =
bruthigd8b95962017-03-31 19:38:341062 "Enables/disables the shelf color to be a derived from the wallpaper. The "
1063 "--ash-shelf-color-scheme flag defines how that color is derived.";
vabr0215a8e2017-03-28 12:47:341064
bruthigd8b95962017-03-31 19:38:341065const char kAshShelfColorScheme[] = "Shelf color scheme in Chrome OS System UI";
vabr0215a8e2017-03-28 12:47:341066
bruthigd8b95962017-03-31 19:38:341067const char kAshShelfColorSchemeDescription[] =
1068 "Specify how the color is derived from the wallpaper. This flag is only "
1069 "used when the --ash-shelf-color flag is enabled. Defaults to Dark & Muted";
vabr0215a8e2017-03-28 12:47:341070
bruthigd8b95962017-03-31 19:38:341071const char kAshShelfColorSchemeLightVibrant[] = "Light & Vibrant";
vabr0215a8e2017-03-28 12:47:341072
bruthigd8b95962017-03-31 19:38:341073const char kAshShelfColorSchemeNormalVibrant[] = "Normal & Vibrant";
vabr0215a8e2017-03-28 12:47:341074
bruthigd8b95962017-03-31 19:38:341075const char kAshShelfColorSchemeDarkVibrant[] = "Dark & Vibrant";
vabr0215a8e2017-03-28 12:47:341076
bruthigd8b95962017-03-31 19:38:341077const char kAshShelfColorSchemeLightMuted[] = "Light & Muted";
1078
1079const char kAshShelfColorSchemeNormalMuted[] = "Normal & Muted";
1080
1081const char kAshShelfColorSchemeDarkMuted[] = "Dark & Muted";
vabr0215a8e2017-03-28 12:47:341082
vabr0215a8e2017-03-28 12:47:341083const char kAshEnableMirroredScreenName[] = "Enable mirrored screen mode.";
1084
1085const char kAshEnableMirroredScreenDescription[] =
1086 "Enable the mirrored screen mode. This mode flips the screen image "
1087 "horizontally.";
1088
wutaob161bf22017-04-26 16:55:031089const char kAshDisableSmoothScreenRotationName[] =
1090 "Disable smooth rotation animations.";
wutao2c0ca182017-04-06 22:40:541091
wutaob161bf22017-04-26 16:55:031092const char kAshDisableSmoothScreenRotationDescription[] =
1093 "Disable smooth rotation animations.";
wutao2c0ca182017-04-06 22:40:541094
vabr0215a8e2017-03-28 12:47:341095const char kMaterialDesignInkDropAnimationFast[] = "Fast";
1096
1097const char kMaterialDesignInkDropAnimationSlow[] = "Slow";
1098
1099const char kMaterialDesignInkDropAnimationSpeedName[] =
1100 "Material Design Ink Drop Animation Speed";
1101
1102const char kMaterialDesignInkDropAnimationSpeedDescription[] =
1103 "Sets the speed of the experimental visual feedback animations for "
1104 "material design.";
1105
1106const char kUiSlowAnimationsName[] = "Slow UI animations";
1107
1108const char kUiSlowAnimationsDescription[] = "Makes all UI animations slow.";
1109
reveman5be07ac82017-04-14 01:06:051110const char kUiShowCompositedLayerBordersName[] =
1111 "Show UI composited layer borders";
1112
1113const char kUiShowCompositedLayerBordersDescription[] =
1114 "Show border around composited layers created by UI.";
1115
1116const char kUiShowCompositedLayerBordersRenderPass[] = "RenderPass";
1117
1118const char kUiShowCompositedLayerBordersSurface[] = "Surface";
1119
1120const char kUiShowCompositedLayerBordersLayer[] = "Layer";
1121
1122const char kUiShowCompositedLayerBordersAll[] = "All";
1123
vabr0215a8e2017-03-28 12:47:341124#endif // defined(USE_ASH)
1125
1126const char kJavascriptHarmonyShippingName[] =
1127 "Latest stable JavaScript features";
1128
1129const char kJavascriptHarmonyShippingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191130 "Some web pages use legacy or non-standard JavaScript extensions that may "
1131 "conflict with the latest JavaScript features. This flag allows disabling "
1132 "support of those features for compatibility with such pages.";
vabr0215a8e2017-03-28 12:47:341133
1134const char kJavascriptHarmonyName[] = "Experimental JavaScript";
1135
1136const char kJavascriptHarmonyDescription[] =
1137 "Enable web pages to use experimental JavaScript features.";
1138
vabr0215a8e2017-03-28 12:47:341139#if defined(OS_ANDROID)
1140
1141const char kMediaDocumentDownloadButtonName[] =
1142 "Download button when opening a page with media url.";
1143
1144const char kMediaDocumentDownloadButtonDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191145 "Allow a download button to show up when opening a page with media url.";
vabr0215a8e2017-03-28 12:47:341146
1147#endif // defined(OS_ANDROID)
1148
1149const char kSoftwareRasterizerName[] = "3D software rasterizer";
1150
1151const char kSoftwareRasterizerDescription[] =
1152 "Fall back to a 3D software rasterizer when the GPU cannot be used.";
1153
1154const char kGpuRasterizationName[] = "GPU rasterization";
1155
1156const char kGpuRasterizationDescription[] =
1157 "Use GPU to rasterize web content. Requires impl-side painting.";
1158
1159const char kForceGpuRasterization[] = "Force-enabled for all layers";
1160
1161const char kGpuRasterizationMsaaSampleCountName[] =
1162 "GPU rasterization MSAA sample count.";
1163
1164const char kGpuRasterizationMsaaSampleCountDescription[] =
1165 "Specify the number of MSAA samples for GPU rasterization.";
1166
1167const char kGpuRasterizationMsaaSampleCountZero[] = "0";
1168
1169const char kGpuRasterizationMsaaSampleCountTwo[] = "2";
1170
1171const char kGpuRasterizationMsaaSampleCountFour[] = "4";
1172
1173const char kGpuRasterizationMsaaSampleCountEight[] = "8";
1174
1175const char kGpuRasterizationMsaaSampleCountSixteen[] = "16";
1176
1177const char kSlimmingPaintInvalidationName[] = "Slimming paint invalidation.";
1178
1179const char kSlimmingPaintInvalidationDescription[] =
1180 "Whether to enable a new paint invalidation system.";
1181
vabr0215a8e2017-03-28 12:47:341182const char kOriginTrialsName[] = "Origin Trials";
1183
1184const char kOriginTrialsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191185 "Enables origin trials for controlling access to feature/API experiments.";
vabr0215a8e2017-03-28 12:47:341186
vabr0215a8e2017-03-28 12:47:341187const char kSilentDebuggerExtensionApiName[] = "Silent Debugging";
1188
1189const char kSilentDebuggerExtensionApiDescription[] =
1190 "Do not show the infobar when an extension attaches to a page via "
1191 "chrome.debugger API. This is required to debug extension background "
1192 "pages.";
1193
1194const char kShowTouchHudName[] = "Show HUD for touch points";
1195
1196const char kShowTouchHudDescription[] =
1197 "Enables a heads-up display at the top-left corner of the screen that "
1198 "lists information about the touch-points on the screen.";
1199
1200const char kPreferHtmlOverPluginsName[] = "Prefer HTML over Flash";
1201
1202const char kPreferHtmlOverPluginsDescription[] =
1203 "Prefer HTML content by hiding Flash from the list of plugins.";
1204
vabr0215a8e2017-03-28 12:47:341205const char kRunAllFlashInAllowModeName[] =
1206 R"*(Run all Flash content when Flash setting is set to "allow")*";
1207
1208const char kRunAllFlashInAllowModeDescription[] =
1209 R"*(For sites that have been set to "allow" Flash content, run all )*"
1210 R"*(content including any that has been deemed unimportant.)*";
1211
1212const char kPinchScaleName[] = "Pinch scale";
1213
1214const char kPinchScaleDescription[] =
1215 "Enables experimental support for scale using pinch.";
1216
vabr0215a8e2017-03-28 12:47:341217const char kReducedReferrerGranularityName[] =
1218 "Reduce default 'referer' header granularity.";
1219
1220const char kReducedReferrerGranularityDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191221 "If a page hasn't set an explicit referrer policy, setting this flag will "
1222 "reduce the amount of information in the 'referer' header for cross-origin "
1223 "requests.";
vabr0215a8e2017-03-28 12:47:341224
1225#if defined(OS_CHROMEOS)
1226
sky527bea52017-05-15 19:15:141227const char kUseMusDescription[] = "Enable the Mojo UI service.";
vabr0215a8e2017-03-28 12:47:341228
sky527bea52017-05-15 19:15:141229const char kUseMusName[] = "Mus";
1230
1231const char kEnableMashDescription[] =
1232 "Mash (UI, Chrome and ash in separate services)";
1233
1234const char kEnableMusDescription[] =
1235 "Mus (UI in separate service, Chrome and ash in same service)";
vabr0215a8e2017-03-28 12:47:341236
1237const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
1238
1239const char kAllowTouchpadThreeFingerClickDescription[] =
1240 "Enables touchpad three-finger-click as middle button.";
1241
1242const char kAshEnableUnifiedDesktopName[] = "Unified desktop mode";
1243
1244const char kAshEnableUnifiedDesktopDescription[] =
1245 "Enable unified desktop mode which allows a window to span multiple "
1246 "displays.";
1247
brettw5f9c1642017-05-14 17:12:481248const char kBootAnimationName[] = "Boot animation";
vabr0215a8e2017-03-28 12:47:341249
1250const char kBootAnimationDescription[] =
1251 "Wallpaper boot animation (except for OOBE case).";
1252
hansberryc147785f2017-05-02 23:36:271253const char kTetherName[] = "Instant Tethering";
1254
1255const char kTetherDescription[] =
1256 "Enables Instant Tethering. Instant Tethering allows your nearby Google "
1257 "phone to share its Internet connection with this device.";
1258
vabr0215a8e2017-03-28 12:47:341259#endif // defined(OS_CHROMEOS)
1260
vabr0215a8e2017-03-28 12:47:341261const char kRequestTabletSiteName[] =
1262 "Request tablet site option in the settings menu";
1263
1264const char kRequestTabletSiteDescription[] =
1265 "Allows the user to request tablet site. Web content is often optimized "
Vitalii Iarko7df520142017-07-07 12:53:191266 "for tablet devices. When this option is selected the user agent string is "
1267 "changed to indicate a tablet device. Web content optimized for tablets is "
1268 "received there after for the current tab.";
vabr0215a8e2017-03-28 12:47:341269
vabr0215a8e2017-03-28 12:47:341270const char kPasswordGenerationName[] = "Password generation";
1271
1272const char kPasswordGenerationDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191273 "Allow the user to have Chrome generate passwords when it detects account "
1274 "creation pages.";
vabr0215a8e2017-03-28 12:47:341275
1276const char kPasswordForceSavingName[] = "Force-saving of passwords";
1277
1278const char kPasswordForceSavingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191279 "Allow the user to manually enforce password saving instead of relying on "
1280 "password manager's heuristics.";
vabr0215a8e2017-03-28 12:47:341281
1282const char kManualPasswordGenerationName[] = "Manual password generation.";
1283
1284const char kManualPasswordGenerationDescription[] =
1285 "Show a 'Generate Password' option on the context menu for all password "
1286 "fields.";
1287
brettw5f9c1642017-05-14 17:12:481288const char kShowAutofillSignaturesName[] = "Show autofill signatures.";
vabr0215a8e2017-03-28 12:47:341289
1290const char kShowAutofillSignaturesDescription[] =
1291 "Annotates web forms with Autofill signatures as HTML attributes.";
1292
1293const char kSuggestionsWithSubStringMatchName[] =
1294 "Substring matching for Autofill suggestions";
1295
1296const char kSuggestionsWithSubStringMatchDescription[] =
1297 "Match Autofill suggestions based on substrings (token prefixes) rather "
1298 "than just prefixes.";
1299
vabr0215a8e2017-03-28 12:47:341300const char kProtectSyncCredentialName[] = "Autofill sync credential";
1301
1302const char kProtectSyncCredentialDescription[] =
1303 "How the password manager handles autofill for the sync credential.";
1304
1305const char kPasswordImportExportName[] = "Password import and export";
1306
1307const char kPasswordImportExportDescription[] =
1308 "Import and Export functionality in password settings.";
1309
1310const char kProtectSyncCredentialOnReauthName[] =
1311 "Autofill sync credential only for transactional reauth pages";
1312
1313const char kProtectSyncCredentialOnReauthDescription[] =
1314 "How the password manager handles autofill for the sync credential only "
1315 "for transactional reauth pages.";
1316
1317const char kIconNtpName[] = "Large icons on the New Tab page";
1318
1319const char kIconNtpDescription[] =
1320 "Enable the experimental New Tab page using large icons.";
1321
1322const char kPushApiBackgroundModeName[] = "Enable Push API background mode";
1323
1324const char kPushApiBackgroundModeDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191325 "Enable background mode for the Push API. This allows Chrome to continue "
1326 "running after the last window is closed, and to launch at OS startup, if "
1327 "the Push API needs it.";
vabr0215a8e2017-03-28 12:47:341328
brettw5f9c1642017-05-14 17:12:481329const char kTraceUploadUrlName[] = "Trace label for navigation tracing";
vabr0215a8e2017-03-28 12:47:341330
1331const char kTraceUploadUrlDescription[] =
1332 "This is to be used in conjunction with the enable-navigation-tracing "
1333 "flag. Please select the label that best describes the recorded traces. "
Vitalii Iarko7df520142017-07-07 12:53:191334 "This will choose the destination the traces are uploaded to. If you are "
1335 "not sure, select other. If left empty, no traces will be uploaded.";
vabr0215a8e2017-03-28 12:47:341336
vabr0215a8e2017-03-28 12:47:341337const char kTraceUploadUrlChoiceOther[] = "Other";
1338
1339const char kTraceUploadUrlChoiceEmloading[] = "emloading";
1340
1341const char kTraceUploadUrlChoiceQa[] = "QA";
1342
1343const char kTraceUploadUrlChoiceTesting[] = "Testing";
1344
1345const char kSupervisedUserManagedBookmarksFolderName[] =
1346 "Managed bookmarks for supervised users";
1347
1348const char kSupervisedUserManagedBookmarksFolderDescription[] =
1349 "Enable the managed bookmarks folder for supervised users.";
1350
1351const char kSyncAppListName[] = "App Launcher sync";
1352
1353const char kSyncAppListDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191354 "Enable App Launcher sync. This also enables Folders where available (non "
1355 "OSX).";
vabr0215a8e2017-03-28 12:47:341356
vabr0215a8e2017-03-28 12:47:341357const char kV8CacheOptionsName[] = "V8 caching mode.";
1358
1359const char kV8CacheOptionsDescription[] =
1360 "Caching mode for the V8 JavaScript engine.";
1361
1362const char kV8CacheOptionsParse[] = "Cache V8 parser data.";
1363
1364const char kV8CacheOptionsCode[] = "Cache V8 compiler data.";
1365
1366const char kV8CacheStrategiesForCacheStorageName[] =
1367 "V8 caching strategy for CacheStorage.";
1368
1369const char kV8CacheStrategiesForCacheStorageDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191370 "Caching strategy of scripts in CacheStorage for the V8 JavaScript engine.";
vabr0215a8e2017-03-28 12:47:341371
1372const char kV8CacheStrategiesForCacheStorageNormal[] = "Normal";
1373
1374const char kV8CacheStrategiesForCacheStorageAggressive[] = "Aggressive";
1375
vabr0215a8e2017-03-28 12:47:341376const char kMemoryCoordinatorName[] = "Memory coordinator";
1377
1378const char kMemoryCoordinatorDescription[] =
1379 "Enable memory coordinator instead of memory pressure listeners.";
1380
1381const char kServiceWorkerNavigationPreloadName[] =
1382 "Service worker navigation preload.";
1383
1384const char kServiceWorkerNavigationPreloadDescription[] =
1385 "Enable web pages to use the experimental service worker navigation "
1386 "preload API.";
1387
megjablon553df4cf2017-04-01 01:29:551388#if defined(OS_ANDROID)
1389
1390const char kEnableDataReductionProxyMainMenuName[] =
megjablonacb36d12017-04-21 00:09:291391 "Enable Data Saver main menu footer";
megjablon553df4cf2017-04-01 01:29:551392
1393const char kEnableDataReductionProxyMainMenuDescription[] =
megjablonacb36d12017-04-21 00:09:291394 "Enables the Data Saver footer in the main menu";
megjablon553df4cf2017-04-01 01:29:551395
megjablon5e5d1c172017-04-06 23:55:111396const char kEnableDataReductionProxySiteBreakdownName[] =
1397 "Data Saver Site Breakdown";
1398
1399const char kEnableDataReductionProxySiteBreakdownDescription[] =
1400 "Enable the site breakdown on the Data Saver settings page.";
1401
ryansturm28839dee2017-05-05 17:34:271402const char kEnableOfflinePreviewsName[] = "Offline Page Previews";
1403
1404const char kEnableOfflinePreviewsDescription[] =
1405 "Enable showing offline page previews on slow networks.";
1406
megjablon553df4cf2017-04-01 01:29:551407#endif // defined(OS_ANDROID)
1408
vabr0215a8e2017-03-28 12:47:341409const char kLcdTextName[] = "LCD text antialiasing";
1410
1411const char kLcdTextDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191412 "If disabled, text is rendered with grayscale antialiasing instead of LCD "
1413 "(subpixel) when doing accelerated compositing.";
vabr0215a8e2017-03-28 12:47:341414
vabr0215a8e2017-03-28 12:47:341415const char kZeroCopyName[] = "Zero-copy rasterizer";
1416
1417const char kZeroCopyDescription[] =
1418 "Raster threads write directly to GPU memory associated with tiles.";
1419
vabr0215a8e2017-03-28 12:47:341420const char kNumRasterThreadsName[] = "Number of raster threads";
1421
1422const char kNumRasterThreadsDescription[] =
1423 "Specify the number of raster threads.";
1424
1425const char kNumRasterThreadsOne[] = "1";
1426
1427const char kNumRasterThreadsTwo[] = "2";
1428
1429const char kNumRasterThreadsThree[] = "3";
1430
1431const char kNumRasterThreadsFour[] = "4";
1432
1433const char kResetAppListInstallStateName[] =
1434 "Reset the App Launcher install state on every restart.";
1435
1436const char kResetAppListInstallStateDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191437 "Reset the App Launcher install state on every restart. While this flag is "
1438 "set, Chrome will forget the launcher has been installed each time it "
1439 "starts. This is used for testing the App Launcher install flow.";
vabr0215a8e2017-03-28 12:47:341440
Takashi Toyoshima8a7fd952017-07-11 08:22:291441const char kResourceLoadSchedulerName[] = "Use the resource load scheduler";
1442
1443const char kResourceLoadSchedulerDescription[] =
1444 "Uses the resource load scheduler in blink to schedule and throttle "
1445 "resource load requests.";
1446
vabr0215a8e2017-03-28 12:47:341447#if defined(OS_CHROMEOS)
1448
1449const char kFirstRunUiTransitionsName[] =
1450 "Animated transitions in the first-run tutorial";
1451
1452const char kFirstRunUiTransitionsDescription[] =
1453 "Transitions during first-run tutorial are animated.";
1454
1455#endif // defined(OS_CHROMEOS)
1456
1457const char kNewBookmarkAppsName[] = "The new bookmark app system";
1458
1459const char kNewBookmarkAppsDescription[] =
1460 "Enables the new system for creating bookmark apps.";
1461
1462#if defined(OS_MACOSX)
1463
1464const char kHostedAppsInWindowsName[] =
1465 "Allow hosted apps to be opened in windows";
1466
1467const char kHostedAppsInWindowsDescription[] =
1468 "Allows hosted apps to be opened in windows instead of being limited to "
1469 "tabs.";
1470
1471const char kTabDetachingInFullscreenName[] =
1472 "Allow tab detaching in fullscreen";
1473
1474const char kTabDetachingInFullscreenDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191475 "Allow tabs to detach from the tabstrip when in fullscreen mode on Mac.";
vabr0215a8e2017-03-28 12:47:341476
1477const char kFullscreenToolbarRevealName[] =
1478 "Enables the toolbar in fullscreen to reveal itself.";
1479
1480const char kFullscreenToolbarRevealDescription[] =
1481 "Reveal the toolbar in fullscreen for a short period when the tab strip "
1482 "has changed.";
1483
1484const char kTabStripKeyboardFocusName[] = "Tab Strip Keyboard Focus";
1485
1486const char kTabStripKeyboardFocusDescription[] =
1487 "Enable keyboard focus for the tabs in the tab strip.";
1488
1489#endif // defined(OS_MACOSX)
1490
1491const char kHostedAppShimCreationName[] =
1492 "Creation of app shims for hosted apps on Mac";
1493
1494const char kHostedAppShimCreationDescription[] =
1495 "Create app shims on Mac when creating a hosted app.";
1496
1497const char kHostedAppQuitNotificationName[] =
1498 "Quit notification for hosted apps";
1499
1500const char kHostedAppQuitNotificationDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191501 "Display a notification when quitting Chrome if hosted apps are currently "
1502 "running.";
vabr0215a8e2017-03-28 12:47:341503
1504#if defined(OS_ANDROID)
1505
1506const char kPullToRefreshEffectName[] = "The pull-to-refresh effect";
1507
1508const char kPullToRefreshEffectDescription[] =
1509 "Page reloads triggered by vertically overscrolling content.";
1510
googleobc47e0b2017-05-05 05:11:121511const char kTranslateCompactUIName[] = "New Translate Infobar";
1512
1513const char kTranslateCompactUIDescription[] =
1514 "Enable the new Translate compact infobar UI.";
1515
vabr0215a8e2017-03-28 12:47:341516#endif // defined(OS_ANDROID)
1517
1518#if defined(OS_MACOSX)
1519
1520const char kTranslateNewUxName[] = "New Translate UX";
1521
1522const char kTranslateNewUxDescription[] =
1523 "Enable the new Translate bubble UX is offered instead of the infobar.";
1524
1525#endif // defined(OS_MACOSX)
1526
1527const char kTranslate2016q2UiName[] = "Translate 2016Q2 UI";
1528
1529const char kTranslate2016q2UiDescription[] =
1530 "Improved triggering logic and look for Translate Bubble UI";
1531
1532const char kTranslateLanguageByUlpName[] = "Translate Language by ULP";
1533
1534const char kTranslateLanguageByUlpDescription[] =
1535 "Improved translate target language and triggering logic by considering "
1536 "information from User Language Profile (ULP).";
1537
vabr0215a8e2017-03-28 12:47:341538const char kPermissionActionReportingName[] = "Permission Action Reporting";
1539
1540const char kPermissionActionReportingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191541 "Enables permission action reporting to Safe Browsing servers for opted in "
1542 "users.";
vabr0215a8e2017-03-28 12:47:341543
1544const char kPermissionsBlacklistName[] = "Permissions Blacklist";
1545
1546const char kPermissionsBlacklistDescription[] =
1547 "Enables the Permissions Blacklist, which blocks permissions for "
1548 "blacklisted sites for Safe Browsing users.";
1549
1550const char kThreadedScrollingName[] = "Threaded scrolling";
1551
1552const char kThreadedScrollingDescription[] =
1553 "Threaded handling of scroll-related input events. Disabling this will "
Vitalii Iarko7df520142017-07-07 12:53:191554 "force all such scroll events to be handled on the main thread. Note that "
1555 "this can dramatically hurt scrolling performance of most websites and is "
1556 "intended for testing purposes only.";
vabr0215a8e2017-03-28 12:47:341557
1558const char kHarfbuzzRendertextName[] = "HarfBuzz for UI text";
1559
1560const char kHarfbuzzRendertextDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191561 "Enable cross-platform HarfBuzz layout engine for UI text. Doesn't affect "
1562 "web content.";
vabr0215a8e2017-03-28 12:47:341563
vabr0215a8e2017-03-28 12:47:341564const char kTabAudioMutingName[] = "Tab audio muting UI control";
1565
1566const char kTabAudioMutingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191567 "When enabled, the audio indicators in the tab strip double as tab audio "
1568 "mute controls. This also adds commands in the tab context menu for "
1569 "quickly muting multiple selected tabs.";
vabr0215a8e2017-03-28 12:47:341570
vabr0215a8e2017-03-28 12:47:341571const char kWifiCredentialSyncName[] = "WiFi credential sync";
1572
1573const char kWifiCredentialSyncDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191574 "Enables synchronizing WiFi network settings across devices. When enabled, "
1575 "the WiFi credential datatype is registered with Chrome Sync, and WiFi "
1576 "credentials are synchronized subject to user preferences. (See also, "
1577 "chrome://settings/syncSetup.)";
vabr0215a8e2017-03-28 12:47:341578
1579const char kSyncSandboxName[] = "Use Chrome Sync sandbox";
1580
1581const char kSyncSandboxDescription[] =
1582 "Connects to the testing server for Chrome Sync.";
1583
vabr0215a8e2017-03-28 12:47:341584const char kTrySupportedChannelLayoutsName[] =
1585 "Causes audio output streams to check if channel layouts other than the "
1586 "default hardware layout are available.";
1587
1588const char kTrySupportedChannelLayoutsDescription[] =
1589 "Causes audio output streams to check if channel layouts other than the "
Vitalii Iarko7df520142017-07-07 12:53:191590 "default hardware layout are available. Turning this on will allow the OS "
1591 "to do stereo to surround expansion if supported. May expose third party "
1592 "driver bugs, use with caution.";
vabr0215a8e2017-03-28 12:47:341593
1594#if defined(OS_MACOSX)
1595
1596const char kAppInfoDialogName[] = "Toolkit-Views App Info Dialog.";
1597
1598const char kAppInfoDialogDescription[] =
1599 "Makes the Toolkit-Views based App Info dialog accessible from "
1600 "chrome://apps or chrome://extensions in place of the native extension "
1601 "permissions dialog, or the details link (which is a link to the Web "
1602 "Store).";
1603
kerrnel7e4f7a7f2017-06-28 21:28:281604const char kMacV2SandboxName[] = "Mac V2 Sandbox";
1605
1606const char kMacV2SandboxDescription[] =
1607 "Eliminates the unsandboxed warmup phase and sandboxes processes for their "
1608 "entire life cycle.";
1609
vabr0215a8e2017-03-28 12:47:341610const char kMacViewsNativeAppWindowsName[] = "Toolkit-Views App Windows.";
1611
1612const char kMacViewsNativeAppWindowsDescription[] =
1613 "Controls whether to use Toolkit-Views based Chrome App windows.";
1614
1615const char kMacViewsTaskManagerName[] = "Toolkit-Views Task Manager.";
1616
1617const char kMacViewsTaskManagerDescription[] =
1618 "Controls whether to use the Toolkit-Views based Task Manager.";
1619
1620const char kAppWindowCyclingName[] = "Custom Window Cycling for Chrome Apps.";
1621
1622const char kAppWindowCyclingDescription[] =
1623 "Changes the behavior of Cmd+` when a Chrome App becomes active. When "
1624 "enabled, Chrome Apps will not be cycled when Cmd+` is pressed from a "
Vitalii Iarko7df520142017-07-07 12:53:191625 "browser window, and browser windows will not be cycled when a Chrome App "
1626 "is active.";
vabr0215a8e2017-03-28 12:47:341627
1628#endif // defined(OS_MACOSX)
1629
1630#if defined(OS_CHROMEOS)
1631
1632const char kAcceleratedMjpegDecodeName[] =
1633 "Hardware-accelerated mjpeg decode for captured frame";
1634
1635const char kAcceleratedMjpegDecodeDescription[] =
1636 "Enable hardware-accelerated mjpeg decode for captured frame where "
1637 "available.";
1638
1639#endif // defined(OS_CHROMEOS)
1640
1641const char kSimplifiedFullscreenUiName[] =
1642 "Simplified full screen / mouse lock UI.";
1643
1644const char kSimplifiedFullscreenUiDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191645 "A simplified new user experience when entering page-triggered full screen "
1646 "or mouse pointer lock states.";
vabr0215a8e2017-03-28 12:47:341647
vabr0215a8e2017-03-28 12:47:341648#if defined(OS_ANDROID)
1649
Rouslan Solomakhinbed1af22017-06-09 18:40:571650extern const char kPayWithGoogleV1Name[] = "Pay with Google v1";
1651
1652extern const char kPayWithGoogleV1Description[] =
1653 "Enable Pay with Google integration into Web Payments with API version "
1654 "'1'.";
1655
vabr0215a8e2017-03-28 12:47:341656const char kProgressBarAnimationName[] =
1657 "Android phone page loading progress bar animation";
1658
1659const char kProgressBarAnimationDescription[] =
1660 "Configures Android phone page loading progress bar animation.";
1661
1662const char kProgressBarAnimationLinear[] = "Linear";
1663
1664const char kProgressBarAnimationSmooth[] = "Smooth";
1665
1666const char kProgressBarAnimationSmoothIndeterminate[] = "Smooth indeterminate";
1667
1668const char kProgressBarAnimationFastStart[] = "Fast start";
1669
1670const char kProgressBarCompletionName[] =
1671 "Android phone page load progress bar completion time.";
1672
1673const char kProgressBarCompletionDescription[] =
1674 "Configures Android phone page loading progress bar completion time.";
1675
1676const char kProgressBarCompletionLoadEvent[] =
1677 R"*(Top loading frame's onload event ("everything" is done in the )*"
1678 R"*(page, historical behavior).)*";
1679
1680const char kProgressBarCompletionResourcesBeforeDcl[] =
1681 "Main frame's domContentLoaded and all resources loads started before "
1682 "domContentLoaded (iframes ignored).";
1683
1684const char kProgressBarCompletionDomContentLoaded[] =
1685 "Main frame's domContentLoaded (iframes ignored).";
1686
1687const char kProgressBarCompletionResourcesBeforeDclAndSameOriginIframes[] =
Vitalii Iarko7df520142017-07-07 12:53:191688 "domContentLoaded and all resources loads started before domContentLoaded "
1689 "(main frame and same origin iframes).";
vabr0215a8e2017-03-28 12:47:341690
1691#endif // defined(OS_ANDROID)
1692
vabr0215a8e2017-03-28 12:47:341693#if defined(OS_WIN)
1694
1695const char kEnableAppcontainerName[] = "Enable AppContainer Lockdown.";
1696
1697const char kEnableAppcontainerDescription[] =
1698 "Enables the use of an AppContainer on sandboxed processes to improve "
1699 "security.";
1700
1701#endif // defined(OS_WIN)
1702
thestig0c55ee32017-06-20 22:17:511703#if defined(TOOLKIT_VIEWS) || defined(OS_MACOSX)
elawrenced9978fc2017-05-02 02:45:191704
1705const char kShowCertLinkOnPageInfoName[] = "Show certificate link";
1706
1707const char kShowCertLinkOnPageInfoDescription[] =
1708 "Add a link from the Page Info bubble to the certificate viewer for HTTPS "
1709 "sites.";
1710
thestig0c55ee32017-06-20 22:17:511711#endif // defined(TOOLKIT_VIEWS) || defined(OS_MACOSX)
elawrenced9978fc2017-05-02 02:45:191712
vabr0215a8e2017-03-28 12:47:341713#if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
1714
1715const char kAutofillCreditCardUploadName[] =
1716 "Enable offering upload of Autofilled credit cards";
1717
1718const char kAutofillCreditCardUploadDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191719 "Enables a new option to upload credit cards to Google Payments for sync "
1720 "to all Chrome devices.";
vabr0215a8e2017-03-28 12:47:341721
1722#endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
1723
1724const char kForceUiDirectionName[] = "Force UI direction";
1725
1726const char kForceUiDirectionDescription[] =
1727 "Explicitly force the UI to left-to-right (LTR) or right-to-left (RTL) "
1728 "mode, overriding the default direction of the UI language.";
1729
krb6822b602017-05-02 14:53:211730const char kForceTextDirectionName[] = "Force text direction";
vabr0215a8e2017-03-28 12:47:341731
krb6822b602017-05-02 14:53:211732const char kForceTextDirectionDescription[] =
1733 "Explicitly force the per-character directionality of UI text to "
Vitalii Iarko7df520142017-07-07 12:53:191734 "left-to-right (LTR) or right-to-left (RTL) mode, overriding the default "
1735 "direction of the character language.";
krb6822b602017-05-02 14:53:211736
1737const char kForceDirectionLtr[] = "Left-to-right";
1738
1739const char kForceDirectionRtl[] = "Right-to-left";
vabr0215a8e2017-03-28 12:47:341740
1741#if defined(OS_WIN) || defined(OS_LINUX)
1742
1743const char kEnableInputImeApiName[] = "Enable Input IME API";
1744
1745const char kEnableInputImeApiDescription[] =
1746 "Enable the use of chrome.input.ime API.";
1747
1748#endif // defined(OS_WIN) || defined(OS_LINUX)
1749
vabr0215a8e2017-03-28 12:47:341750const char kSaveasMenuLabelExperimentName[] =
1751 "Switch 'Save as' menu labels to 'Download'";
1752
1753const char kSaveasMenuLabelExperimentDescription[] =
1754 "Enables an experiment to switch menu labels that use 'Save as...' to "
1755 "'Download'.";
1756
vabr0215a8e2017-03-28 12:47:341757const char kNewUsbBackendName[] = "Enable new USB backend";
1758
1759const char kNewUsbBackendDescription[] =
1760 "Enables the new experimental USB backend for Windows.";
1761
1762const char kNewOmniboxAnswerTypesName[] =
1763 "New omnibox answers in suggest types";
1764
1765const char kNewOmniboxAnswerTypesDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191766 "Enables new types of answers in the omnibox suggest drop-down: currency "
1767 "conversions, dictionary definitions, sports scores, translations, and "
1768 "when is.";
vabr0215a8e2017-03-28 12:47:341769
vabr0215a8e2017-03-28 12:47:341770const char kFillOnAccountSelectName[] = "Fill passwords on account selection";
1771
1772const char kFillOnAccountSelectDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191773 "Filling of passwords when an account is explicitly selected by the user "
1774 "rather than autofilling credentials on page load.";
vabr0215a8e2017-03-28 12:47:341775
vabr0215a8e2017-03-28 12:47:341776#if defined(OS_ANDROID)
1777
1778const char kTabsInCbdName[] = "Enable tabs for the Clear Browsing Data dialog.";
1779
1780const char kTabsInCbdDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191781 "Enables a basic and an advanced tab for the Clear Browsing Data dialog.";
vabr0215a8e2017-03-28 12:47:341782
1783#endif // defined(OS_ANDROID)
1784
brettw5f9c1642017-05-14 17:12:481785const char kNotificationsNativeFlagName[] = "Enable native notifications.";
vabr0215a8e2017-03-28 12:47:341786
1787const char kNotificationsNativeFlagDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191788 "Enable support for using the native notification toasts and notification "
1789 "center on platforms where these are available.";
vabr0215a8e2017-03-28 12:47:341790
1791#if defined(OS_ANDROID)
1792
1793const char kEnableAndroidSpellcheckerDescription[] =
1794 "Enables use of the Android spellchecker.";
1795
1796const char kEnableAndroidSpellcheckerName[] = "Enable spell checking";
1797
1798#endif // defined(OS_ANDROID)
1799
vabr0215a8e2017-03-28 12:47:341800const char kGoogleProfileInfoName[] = "Google profile name and icon";
1801
1802const char kGoogleProfileInfoDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191803 "Enables using Google information to populate the profile name and icon in "
1804 "the avatar menu.";
vabr0215a8e2017-03-28 12:47:341805
brettw5f9c1642017-05-14 17:12:481806const char kOfferStoreUnmaskedWalletCardsName[] =
vabr0215a8e2017-03-28 12:47:341807 "Google Payments card saving checkbox";
1808
1809const char kOfferStoreUnmaskedWalletCardsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191810 "Show the checkbox to offer local saving of a credit card downloaded from "
1811 "the server.";
vabr0215a8e2017-03-28 12:47:341812
1813const char kOfflineAutoReloadName[] = "Offline Auto-Reload Mode";
1814
1815const char kOfflineAutoReloadDescription[] =
1816 "Pages that fail to load while the browser is offline will be "
1817 "auto-reloaded when the browser is online again.";
1818
1819const char kOfflineAutoReloadVisibleOnlyName[] =
1820 "Only Auto-Reload Visible Tabs";
1821
1822const char kOfflineAutoReloadVisibleOnlyDescription[] =
1823 "Pages that fail to load while the browser is offline will only be "
1824 "auto-reloaded if their tab is visible.";
1825
1826const char kShowSavedCopyName[] = "Show Saved Copy Button";
1827
1828const char kShowSavedCopyDescription[] =
1829 "When a page fails to load, if a stale copy of the page exists in the "
Vitalii Iarko7df520142017-07-07 12:53:191830 "browser cache, a button will be presented to allow the user to load that "
1831 "stale copy. The primary enabling choice puts the button in the most "
1832 "salient position on the error page; the secondary enabling choice puts it "
1833 "secondary to the reload button.";
vabr0215a8e2017-03-28 12:47:341834
1835const char kEnableShowSavedCopyPrimary[] = "Enable: Primary";
1836
1837const char kEnableShowSavedCopySecondary[] = "Enable: Secondary";
1838
1839const char kDisableShowSavedCopy[] = "Disable";
1840
1841#if defined(OS_CHROMEOS)
1842
vabr0215a8e2017-03-28 12:47:341843const char kVirtualKeyboardName[] = "Virtual Keyboard";
1844
1845const char kVirtualKeyboardDescription[] = "Enable virtual keyboard support.";
1846
1847const char kVirtualKeyboardOverscrollName[] = "Virtual Keyboard Overscroll";
1848
1849const char kVirtualKeyboardOverscrollDescription[] =
1850 "Enables virtual keyboard overscroll support.";
1851
1852const char kInputViewName[] = "Input views";
1853
1854const char kInputViewDescription[] =
1855 "Enable IME extensions to supply custom views for user input such as "
1856 "virtual keyboards.";
1857
1858const char kNewKoreanImeName[] = "New Korean IME";
1859
1860const char kNewKoreanImeDescription[] =
1861 "New Korean IME, which is based on Google Input Tools' HMM engine.";
1862
1863const char kPhysicalKeyboardAutocorrectName[] = "Physical keyboard autocorrect";
1864
1865const char kPhysicalKeyboardAutocorrectDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191866 "Enable physical keyboard autocorrect for US keyboard, which can provide "
1867 "suggestions as typing on physical keyboard.";
vabr0215a8e2017-03-28 12:47:341868
1869const char kVoiceInputName[] = "Voice input on virtual keyboard";
1870
1871const char kVoiceInputDescription[] =
1872 "Enables voice input on virtual keyboard.";
1873
1874const char kExperimentalInputViewFeaturesName[] =
1875 "Experimental input view features";
1876
1877const char kExperimentalInputViewFeaturesDescription[] =
1878 "Enable experimental features for IME input views.";
1879
1880const char kFloatingVirtualKeyboardName[] = "Floating virtual keyboard.";
1881
1882const char kFloatingVirtualKeyboardDescription[] =
1883 "Enable/Disable floating virtual keyboard.";
1884
1885const char kGestureTypingName[] = "Gesture typing for the virtual keyboard.";
1886
1887const char kGestureTypingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191888 "Enable/Disable gesture typing option in the settings page for the virtual "
1889 "keyboard.";
vabr0215a8e2017-03-28 12:47:341890
1891const char kGestureEditingName[] = "Gesture editing for the virtual keyboard.";
1892
1893const char kGestureEditingDescription[] =
1894 "Enable/Disable gesture editing option in the settings page for the "
1895 "virtual keyboard.";
1896
1897const char kCaptivePortalBypassProxyName[] =
1898 "Bypass proxy for Captive Portal Authorization";
1899
1900const char kCaptivePortalBypassProxyDescription[] =
1901 "If proxy is configured, it usually prevents from authorization on "
1902 "different captive portals. This enables opening captive portal "
Vitalii Iarko7df520142017-07-07 12:53:191903 "authorization dialog in a separate window, which ignores proxy settings.";
vabr0215a8e2017-03-28 12:47:341904
1905const char kTouchscreenCalibrationName[] =
Vitalii Iarko7df520142017-07-07 12:53:191906 "Enable/disable touchscreen calibration option in material design settings";
vabr0215a8e2017-03-28 12:47:341907
1908const char kTouchscreenCalibrationDescription[] =
1909 "If enabled, the user can calibrate the touch screen displays in "
1910 "chrome://md-settings/display.";
1911
yamaguchid99a64b2017-05-12 15:33:491912const char kTeamDrivesName[] = "Enable Team Drives Integration";
1913const char kTeamDrivesDescription[] =
1914 "If enabled, files under Team Drives will appear in the Files app.";
1915
vabr0215a8e2017-03-28 12:47:341916#endif // defined(OS_CHROMEOS)
1917
vabr0215a8e2017-03-28 12:47:341918// Strings for controlling credit card scanning feature in about:flags.
1919
1920// Simple Cache Backend experiment.
1921
1922const char kSimpleCacheBackendName[] = "Simple Cache for HTTP";
1923
1924const char kSimpleCacheBackendDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191925 "The Simple Cache for HTTP is a new cache. It relies on the filesystem for "
1926 "disk space allocation.";
vabr0215a8e2017-03-28 12:47:341927
1928// Spelling feedback field trial.
1929
1930const char kSpellingFeedbackFieldTrialName[] = "Spelling Feedback Field Trial";
1931
1932const char kSpellingFeedbackFieldTrialDescription[] =
1933 "Enable the field trial for sending user feedback to spelling service.";
1934
1935// Web MIDI API.
1936
1937const char kWebMidiName[] = "Web MIDI API";
1938
1939const char kWebMidiDescription[] = "Enable Web MIDI API experimental support.";
1940
1941// Site per process mode
1942
creisc3af64f2017-04-12 17:22:381943const char kSitePerProcessName[] = "Strict site isolation";
vabr0215a8e2017-03-28 12:47:341944
1945const char kSitePerProcessDescription[] =
creisc3af64f2017-04-12 17:22:381946 "Highly experimental security mode that ensures each renderer process "
1947 "contains pages from at most one site. In this mode, out-of-process "
1948 "iframes will be used whenever an iframe is cross-site.";
vabr0215a8e2017-03-28 12:47:341949
1950// Top document isolation mode
1951
1952const char kTopDocumentIsolationName[] = "Top document isolation";
1953
1954const char kTopDocumentIsolationDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:191955 "Highly experimental performance mode where cross-site iframes are kept in "
1956 "a separate process from the top document. In this mode, iframes from "
1957 "different third-party sites will be allowed to share a process.";
vabr0215a8e2017-03-28 12:47:341958
vabr0215a8e2017-03-28 12:47:341959// Arc authorization
1960
1961#if defined(OS_CHROMEOS)
1962
1963const char kArcUseAuthEndpointName[] = "Android apps authorization point";
1964
1965const char kArcUseAuthEndpointDescription[] =
1966 "Enable Android apps authorization point to automatic sign-in in OptIn "
1967 "flow.";
1968
1969#endif // defined(OS_CHROMEOS)
1970
1971// Autofill experiment flags
1972
1973const char kSingleClickAutofillName[] = "Single-click autofill";
1974
1975const char kSingleClickAutofillDescription[] =
1976 "Make autofill suggestions on initial mouse click on a form element.";
1977
1978#if defined(OS_ANDROID)
1979
1980const char kAutofillAccessoryViewName[] =
1981 "Autofill suggestions as keyboard accessory view";
1982
1983const char kAutofillAccessoryViewDescription[] =
1984 "Shows Autofill suggestions on top of the keyboard rather than in a "
1985 "dropdown.";
1986
1987#endif // defined(OS_ANDROID)
1988
1989// Reader mode experiment flags
1990
1991#if defined(OS_ANDROID)
1992
1993const char kReaderModeHeuristicsName[] = "Reader Mode triggering";
1994
1995const char kReaderModeHeuristicsDescription[] =
wychen4b6112cc2017-07-07 18:15:111996 "Determines what pages the Reader Mode infobar is shown on.";
vabr0215a8e2017-03-28 12:47:341997
1998const char kReaderModeHeuristicsMarkup[] = "With article structured markup";
1999
wychen4b6112cc2017-07-07 18:15:112000const char kReaderModeHeuristicsAdaboost[] = "Non-mobile-friendly articles";
2001
2002const char kReaderModeHeuristicsAllArticles[] = "All articles";
vabr0215a8e2017-03-28 12:47:342003
2004const char kReaderModeHeuristicsAlwaysOff[] = "Never";
2005
2006const char kReaderModeHeuristicsAlwaysOn[] = "Always";
2007
2008#endif // defined(OS_ANDROID)
2009
2010// Chrome home flags
2011
2012#if defined(OS_ANDROID)
2013
2014const char kChromeHomeName[] = "Chrome Home";
2015
2016const char kChromeHomeDescription[] = "Enables Chrome Home on Android.";
2017
mdjonesd484eac2017-05-02 21:34:452018const char kChromeHomeExpandButtonName[] = "Chrome Home Expand Button";
2019
2020const char kChromeHomeExpandButtonDescription[] =
2021 "Enables the expand button for Chrome Home.";
2022
Matthew Jonesd349741f2017-05-26 21:07:522023const char kChromeHomeSwipeLogicName[] = "Chrome Home Swipe Logic";
2024
2025const char kChromeHomeSwipeLogicDescription[] =
2026 "Various swipe logic options for Chrome Home for sheet expansion.";
2027
2028const char kChromeHomeSwipeLogicRestrictArea[] = "Restrict swipable area";
2029
Matthew Jonesfc0d7de2017-06-12 21:54:002030const char kChromeHomeSwipeLogicButtonOnly[] = "Swipe on expand button";
2031
vabr0215a8e2017-03-28 12:47:342032#endif // defined(OS_ANDROID)
2033
2034// Settings window flags
2035
2036const char kSettingsWindowName[] = "Show settings in a window";
2037
2038const char kSettingsWindowDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192039 "Settings will be shown in a dedicated window instead of as a browser tab.";
vabr0215a8e2017-03-28 12:47:342040
vabr0215a8e2017-03-28 12:47:342041// Message center strings
2042
2043const char kMessageCenterAlwaysScrollUpUponRemovalName[] =
2044 "Experiments that message center always scroll up upon notification "
2045 "removal";
2046
2047const char kMessageCenterAlwaysScrollUpUponRemovalDescription[] =
2048 "Enables experiment that message center always scroll up when a "
2049 "notification is removed.";
2050
yoshikif14ac822017-05-31 04:26:142051const char kMessageCenterNewStyleNotificationName[] = "New style notification";
2052
2053const char kMessageCenterNewStyleNotificationDescription[] =
2054 "Enables the experiment style of material-design notification";
2055
vabr0215a8e2017-03-28 12:47:342056#if defined(OS_WIN) || defined(OS_MACOSX)
2057
2058// Tab discarding
2059
2060const char kAutomaticTabDiscardingName[] = "Automatic tab discarding";
2061
2062const char kAutomaticTabDiscardingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192063 "If enabled, tabs get automatically discarded from memory when the system "
2064 "memory is low. Discarded tabs are still visible on the tab strip and get "
2065 "reloaded when clicked on. Info about discarded tabs can be found at "
2066 "chrome://discards.";
vabr0215a8e2017-03-28 12:47:342067
2068#endif // defined(OS_WIN) || defined(OS_MACOSX)
2069
2070#if defined(OS_ANDROID)
2071
2072const char kOfflineBookmarksName[] = "Enable offline bookmarks";
2073
2074const char kOfflineBookmarksDescription[] =
2075 "Enable saving bookmarked pages for offline viewing.";
2076
2077const char kNtpOfflinePagesName[] = "Enable NTP offline pages";
2078
2079const char kNtpOfflinePagesDescription[] =
2080 "Enables badging of offline pages on the New Tab page. Only relevant if "
2081 "offline pages are enabled.";
2082
2083const char kOfflinePagesAsyncDownloadName[] =
jianli762bb48d2017-06-13 21:40:582084 R"*(Enables showing "DOWNLOAD WHEN ONLINE" button in error pages.)*";
vabr0215a8e2017-03-28 12:47:342085
2086const char kOfflinePagesAsyncDownloadDescription[] =
jianli762bb48d2017-06-13 21:40:582087 R"*(Enables showing "DOWNLOAD WHEN ONLINE" button in error pages such )*"
vabr0215a8e2017-03-28 12:47:342088 R"*(that the user can click on it to download the page later.)*";
2089
2090const char kOfflinePagesSvelteConcurrentLoadingName[] =
2091 "Enables concurrent background loading on svelte.";
2092
2093const char kOfflinePagesSvelteConcurrentLoadingDescription[] =
2094 "Enables concurrent background loading (or downloading) of pages on "
2095 "Android svelte (512MB RAM) devices. Otherwise, background loading will "
2096 "happen when the svelte device is idle.";
2097
petewil2abcf042017-04-10 21:45:002098const char kOfflinePagesLoadSignalCollectingName[] =
2099 "Enables collecting load timing data for offline page snapshots.";
2100
2101const char kOfflinePagesLoadSignalCollectingDescription[] =
2102 "Enables loading completeness data collection while writing an offline "
2103 "page. This data is collected in the snapshotted offline page to allow "
2104 "data analysis to improve deciding when to make the offline snapshot.";
2105
vabr0215a8e2017-03-28 12:47:342106const char kOfflinePagesPrefetchingName[] =
2107 "Enables suggested offline pages to be prefetched.";
2108
2109const char kOfflinePagesPrefetchingDescription[] =
2110 "Enables suggested offline pages to be prefetched, so useful content is "
2111 "available while offline.";
2112
2113const char kOfflinePagesSharingName[] = "Enables offline pages to be shared.";
2114
2115const char kOfflinePagesSharingDescription[] =
2116 "Enables the saved offline pages to be shared via other applications.";
2117
2118const char kBackgroundLoaderForDownloadsName[] =
2119 "Enables background downloading of pages.";
2120
2121const char kBackgroundLoaderForDownloadsDescription[] =
2122 "Enables downloading pages in the background in case page is not yet "
2123 "loaded in current tab.";
2124
2125const char kNewBackgroundLoaderName[] =
2126 "Use background loader instead of prerenderer to load pages.";
2127
2128const char kNewBackgroundLoaderDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192129 "Use background loader instead of prerenderer to asynchronously download "
2130 "pages.";
vabr0215a8e2017-03-28 12:47:342131
2132const char kNtpPopularSitesName[] = "Show popular sites on the New Tab page";
2133
2134const char kNtpPopularSitesDescription[] =
2135 "Pre-populate the New Tab page with popular sites.";
2136
2137const char kNtpSwitchToExistingTabName[] =
2138 "Switch to an existing tab for New Tab Page suggestions.";
2139
2140const char kNtpSwitchToExistingTabDescription[] =
2141 "When opening a suggested webpage from the New Tab Page, if a tab is "
2142 "already open for the suggestion, switch to that one instead of loading "
2143 "the suggestion in the new tab.";
2144
2145const char kNtpSwitchToExistingTabMatchUrl[] = "Match by URL";
2146
2147const char kNtpSwitchToExistingTabMatchHost[] = "Match by Hostname";
2148
2149const char kUseAndroidMidiApiName[] = "Use Android Midi API";
2150
2151const char kUseAndroidMidiApiDescription[] =
2152 "Use Android Midi API for WebMIDI (effective only with Android M+ "
2153 "devices).";
2154
2155const char kWebPaymentsModifiersName[] = "Enable web payment modifiers";
2156
2157const char kWebPaymentsModifiersDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192158 "If the website provides modifiers in the payment request, show the custom "
2159 "total for each payment instrument, update the shopping cart when "
2160 "instruments are switched, and send modified payment method specific data "
2161 "to the payment app.";
vabr0215a8e2017-03-28 12:47:342162
lbargu8bb0fabc2017-05-19 14:53:112163const char kXGEOVisibleNetworksName[] = "Enable XGEO Visible Networks";
2164
2165const char kXGEOVisibleNetworksDescription[] =
2166 "If location permissions are granted, include visible networks in the XGEO "
2167 "Header for omnibox queries. This will only happen if location is not "
2168 "fresh or not available (for example, due to a cold start).";
2169
vabr0215a8e2017-03-28 12:47:342170#endif // defined(OS_ANDROID)
2171
2172#if defined(OS_WIN)
2173
2174// Exporting tracing events to ETW
2175
2176const char kTraceExportEventsToEtwName[] =
2177 "Enable exporting of tracing events to ETW.";
2178
2179const char kTraceExportEventsToEtwDesription[] =
2180 "If enabled, trace events will be exported to the Event Tracing for "
2181 "Windows (ETW) and can then be captured by tools such as UIForETW or "
2182 "Xperf.";
2183
2184const char kMergeKeyCharEventsName[] =
Vitalii Iarko7df520142017-07-07 12:53:192185 "Enable or disable merging merging the key event (WM_KEY*) with char event "
2186 "(WM_CHAR).";
vabr0215a8e2017-03-28 12:47:342187
2188const char kMergeKeyCharEventsDescription[] =
etienneb9a4b5302017-06-08 06:28:462189 "If disabled, Chrome will handle WM_KEY* and WM_CHAR separately.";
vabr0215a8e2017-03-28 12:47:342190
2191const char kUseWinrtMidiApiName[] = "Use Windows Runtime MIDI API";
2192
2193const char kUseWinrtMidiApiDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192194 "Use Windows Runtime MIDI API for WebMIDI (effective only on Windows 10 or "
2195 "later).";
vabr0215a8e2017-03-28 12:47:342196
2197#endif // defined(OS_WIN)
2198
2199#if defined(OS_ANDROID)
2200
2201// Data Use
2202
2203// Update Menu Item Flags
2204
2205const char kUpdateMenuItemName[] = "Force show update menu item";
2206
2207const char kUpdateMenuItemDescription[] =
2208 R"*(When enabled, an "Update Chrome" item will be shown in the app )*"
2209 R"*(menu.)*";
2210
twellingtonce0b29ba2017-04-19 21:01:172211const char kUpdateMenuItemCustomSummaryDescription[] =
vabr0215a8e2017-03-28 12:47:342212 "When this flag and the force show update menu item flag are enabled, a "
twellingtonce0b29ba2017-04-19 21:01:172213 "custom summary string will be displayed below the update menu item.";
vabr0215a8e2017-03-28 12:47:342214
twellingtonce0b29ba2017-04-19 21:01:172215const char kUpdateMenuItemCustomSummaryName[] =
2216 "Update menu item custom summary";
vabr0215a8e2017-03-28 12:47:342217
2218const char kUpdateMenuBadgeName[] = "Force show update menu badge";
2219
2220const char kUpdateMenuBadgeDescription[] =
2221 "When enabled, an update badge will be shown on the app menu button.";
2222
2223const char kSetMarketUrlForTestingName[] = "Set market URL for testing";
2224
2225const char kSetMarketUrlForTestingDescription[] =
2226 "When enabled, sets the market URL for use in testing the update menu "
2227 "item.";
2228
2229#endif // defined(OS_ANDROID)
2230
2231#if defined(OS_ANDROID)
2232
2233const char kHerbPrototypeChoicesName[] = "Switch preferred flavor of Herb";
2234
2235const char kHerbPrototypeChoicesDescription[] =
2236 "Switching this option changes which tab management prototype is being "
2237 "tested.";
2238
2239const char kHerbPrototypeFlavorElderberry[] =
2240 "ELDERBERRY: All View Intents in CCT v2";
2241
2242const char kEnableSpecialLocaleName[] =
2243 "Enable custom logic for special locales.";
2244
2245const char kEnableSpecialLocaleDescription[] =
2246 "Enable custom logic for special locales. In this mode, Chrome might "
2247 "behave differently in some locales.";
2248
2249// WebApks
2250
2251const char kEnableWebapk[] = "Enable improved add to Home screen";
2252
2253const char kEnableWebapkDescription[] =
2254 R"*(Packages "Progressive Web Apps" so that they can integrate more )*"
2255 R"*(deeply with Android. A Chrome server is used to package sites. In )*"
2256 R"*(Chrome Canary and Chrome Dev, this requires “Untrusted )*"
2257 R"*(sources” to be enabled in Android security settings.)*";
2258
2259#endif // defined(OS_ANDROID)
2260
vabr0215a8e2017-03-28 12:47:342261#if defined(OS_CHROMEOS)
2262
skaua9afc0212017-04-07 19:18:472263const char kDisableNativeCupsName[] = "Native CUPS";
vabr0215a8e2017-03-28 12:47:342264
skaua9afc0212017-04-07 19:18:472265const char kDisableNativeCupsDescription[] =
2266 "Disable the use of the native CUPS printing backend.";
vabr0215a8e2017-03-28 12:47:342267
2268const char kEnableAndroidWallpapersAppName[] = "Android Wallpapers App";
2269
2270const char kEnableAndroidWallpapersAppDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192271 "Enables the Android Wallpapers App as the default Wallpaper App on Chrome "
2272 "OS.";
vabr0215a8e2017-03-28 12:47:342273
2274const char kEnableTouchSupportForScreenMagnifierName[] =
2275 "Touch support for screen magnifier";
2276
2277const char kEnableTouchSupportForScreenMagnifierDescription[] =
2278 "Enables touch support for screen magnifier";
2279
Rouslan Solomakhinbed1af22017-06-09 18:40:572280const char kEnableZipArchiverOnFileManagerName[] = "ZIP archiver for Drive";
takise183b8cb42017-04-07 05:12:082281
2282const char kEnableZipArchiverOnFileManagerDescription[] =
2283 "Enable the ability to archive and unpack files on Drive in the Files app";
2284
xiaochu32e9672a2017-05-04 04:15:082285const char kCrOSComponentName[] = "Chrome OS Component";
2286
2287const char kCrOSComponentDescription[] =
xiaochu169aadd2017-06-15 22:32:512288 "Enable the use of componentized escpr CUPS filter.";
xiaochu32e9672a2017-05-04 04:15:082289
vabr0215a8e2017-03-28 12:47:342290#endif // defined(OS_CHROMEOS)
2291
2292#if defined(OS_ANDROID)
2293
Vitalii Iarko112f9182017-06-20 11:59:552294const char kKeepPrefetchedContentSuggestionsName[] =
2295 "Keep prefetched content suggestions";
2296
2297const char kKeepPrefetchedContentSuggestionsDescription[] =
2298 "If enabled, some of prefetched content suggestions are not replaced by "
2299 "the new fetched suggestions.";
2300
vabr0215a8e2017-03-28 12:47:342301const char kContentSuggestionsCategoryOrderName[] =
2302 "Default content suggestions category order (e.g. on NTP)";
2303
2304const char kContentSuggestionsCategoryOrderDescription[] =
2305 "Set default order of content suggestion categories (e.g. on the NTP).";
2306
2307const char kContentSuggestionsCategoryRankerName[] =
2308 "Content suggestions category ranker (e.g. on NTP)";
2309
2310const char kContentSuggestionsCategoryRankerDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192311 "Set category ranker to order categories of content suggestions (e.g. on "
2312 "the NTP).";
vabr0215a8e2017-03-28 12:47:342313
2314const char kEnableNtpSnippetsVisibilityName[] =
2315 "Make New Tab Page Snippets more visible.";
2316
2317const char kEnableNtpSnippetsVisibilityDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192318 "If enabled, the NTP snippets will become more discoverable with a larger "
2319 "portion of the first card above the fold.";
vabr0215a8e2017-03-28 12:47:342320
jkrcal18514e662017-03-30 06:12:282321const char kEnableContentSuggestionsNewFaviconServerName[] =
2322 "Get favicons for content suggestions from a new server.";
2323
2324const char kEnableContentSuggestionsNewFaviconServerDescription[] =
2325 "If enabled, the content suggestions (on the NTP) will get favicons from a "
2326 "new favicon server.";
2327
mastizbac78ad2017-05-22 10:14:002328const char kEnableFaviconsFromWebManifestName[] =
2329 "Load favicons from Web Manifests";
2330
2331const char kEnableFaviconsFromWebManifestDescription[] =
2332 "Fetch Web Manifests on page load to read favicons from them.";
2333
jkrcal7d79de52017-05-05 18:13:102334const char kEnableNtpMostLikelyFaviconsFromServerName[] =
2335 "Download favicons for NTP tiles from Google.";
2336
2337const char kEnableNtpMostLikelyFaviconsFromServerDescription[] =
2338 "If enabled, missing favicons for NTP tiles get downloaded from Google. "
2339 "This only applies to tiles that originate from synced history.";
2340
mvanouwerkerk89d9edca2017-06-19 14:15:172341const char kEnableContentSuggestionsLargeThumbnailName[] =
2342 "Large thumbnails layout for content suggestions cards.";
2343
2344const char kEnableContentSuggestionsLargeThumbnailDescription[] =
2345 "If enabled, the content suggestions cards will use large thumbnails and "
2346 "some related adjustments.";
2347
mvanouwerkerk78328002017-07-04 11:59:312348const char kEnableContentSuggestionsVideoOverlayName[] =
2349 "Video icon overlay on thumbnails for content suggestions cards.";
2350
2351const char kEnableContentSuggestionsVideoOverlayDescription[] =
2352 "If enabled, the content suggestions cards for suggestions with a video "
2353 "will show a video play icon overlay on the thumbnail.";
2354
dgn2b5a43382017-04-06 16:56:562355const char kEnableContentSuggestionsSettingsName[] =
2356 "Show content suggestions settings.";
2357
2358const char kEnableContentSuggestionsSettingsDescription[] =
2359 "If enabled, the content suggestions settings will be available from the "
2360 "main settings menu.";
2361
mvanouwerkerk6771b152017-05-10 14:40:342362const char kEnableContentSuggestionsShowSummaryName[] =
2363 "Show content suggestions summaries.";
2364
2365const char kEnableContentSuggestionsShowSummaryDescription[] =
2366 "If enabled, the content suggestions summaries will be shown.";
2367
vabr0215a8e2017-03-28 12:47:342368const char kEnableNtpRemoteSuggestionsName[] =
2369 "Show server-side suggestions on the New Tab page";
2370
2371const char kEnableNtpRemoteSuggestionsDescription[] =
Vitalii Iarkod0f43e952017-07-07 12:14:562372 "If enabled, the list of content suggestions on the New Tab page will "
2373 "contain server-side suggestions (e.g., Articles for you). Furthermore, it "
2374 "allows to override the source used to retrieve these server-side "
2375 "suggestions.";
vabr0215a8e2017-03-28 12:47:342376
vabr0215a8e2017-03-28 12:47:342377const char kEnableNtpAssetDownloadSuggestionsName[] =
2378 "Show asset downloads on the New Tab page";
2379
2380const char kEnableNtpAssetDownloadSuggestionsDescription[] =
Vitalii Iarkod0f43e952017-07-07 12:14:562381 "If enabled, the list of content suggestions on the New Tab page will "
2382 "contain assets (e.g. books, pictures, audio) that the user downloaded for "
2383 "later use.";
vabr0215a8e2017-03-28 12:47:342384
2385const char kEnableNtpOfflinePageDownloadSuggestionsName[] =
2386 "Show offline page downloads on the New Tab page";
2387
2388const char kEnableNtpOfflinePageDownloadSuggestionsDescription[] =
Vitalii Iarkod0f43e952017-07-07 12:14:562389 "If enabled, the list of content suggestions on the New Tab page will "
2390 "contain pages that the user downloaded for later use.";
vabr0215a8e2017-03-28 12:47:342391
2392const char kEnableNtpBookmarkSuggestionsName[] =
2393 "Show recently visited bookmarks on the New Tab page";
2394
2395const char kEnableNtpBookmarkSuggestionsDescription[] =
Vitalii Iarkod0f43e952017-07-07 12:14:562396 "If enabled, the list of content suggestions on the New Tab page will "
2397 "contain recently visited bookmarks.";
vabr0215a8e2017-03-28 12:47:342398
vabr0215a8e2017-03-28 12:47:342399const char kEnableNtpForeignSessionsSuggestionsName[] =
2400 "Show recent foreign tabs on the New Tab page";
2401
2402const char kEnableNtpForeignSessionsSuggestionsDescription[] =
Vitalii Iarkod0f43e952017-07-07 12:14:562403 "If enabled, the list of content suggestions on the New Tab page will "
2404 "contain recent foreign tabs.";
vabr0215a8e2017-03-28 12:47:342405
2406const char kEnableNtpSuggestionsNotificationsName[] =
2407 "Notify about new content suggestions available at the New Tab page";
2408
2409const char kEnableNtpSuggestionsNotificationsDescription[] =
2410 "If enabled, notifications will inform about new content suggestions on "
Vitalii Iarkod0f43e952017-07-07 12:14:562411 "the New Tab page.";
vabr0215a8e2017-03-28 12:47:342412
2413const char kNtpCondensedLayoutName[] = "Condensed NTP layout";
2414
2415const char kNtpCondensedLayoutDescription[] =
2416 "Show a condensed layout on the New Tab Page.";
2417
2418const char kNtpCondensedTileLayoutName[] = "Condensed NTP tile layout";
2419
2420const char kNtpCondensedTileLayoutDescription[] =
2421 "Show a condensed tile layout on the New Tab Page.";
2422
2423const char kNtpGoogleGInOmniboxName[] = "Google G in New Tab Page omnibox";
2424
2425const char kNtpGoogleGInOmniboxDescription[] =
2426 "Show a Google G in the omnibox on the New Tab Page.";
2427
2428#endif // defined(OS_ANDROID)
2429
2430#if defined(OS_ANDROID)
2431
2432const char kOffliningRecentPagesName[] =
2433 "Enable offlining of recently visited pages";
2434
2435const char kOffliningRecentPagesDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192436 "Enable storing recently visited pages locally for offline use. Requires "
2437 "Offline Pages to be enabled.";
vabr0215a8e2017-03-28 12:47:342438
2439const char kOfflinePagesCtName[] = "Enable Offline Pages CT features.";
2440
2441const char kOfflinePagesCtDescription[] = "Enable Offline Pages CT features.";
2442
Cathy Li2ea68bf2017-07-06 03:27:082443const char kOfflinePagesCtV2Name[] = "Enable Offline Pages CT V2 features.";
2444
2445const char kOfflinePagesCtV2Description[] =
2446 "V2 features include attributing pages to the app that initiated the "
2447 "custom tabs, and being able to query for pages by page attribution.";
2448
vabr0215a8e2017-03-28 12:47:342449#endif // defined(OS_ANDROID)
2450
2451#if defined(OS_ANDROID)
2452
brettw5f9c1642017-05-14 17:12:482453const char kEnableExpandedAutofillCreditCardPopupLayoutName[] =
vabr0215a8e2017-03-28 12:47:342454 "Use expanded autofill credit card popup layout.";
2455
2456const char kEnableExpandedAutofillCreditCardPopupLayoutDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192457 "If enabled, displays autofill credit card popup using expanded layout.";
vabr0215a8e2017-03-28 12:47:342458
2459#endif // defined(OS_ANDROID)
2460
vabr0215a8e2017-03-28 12:47:342461#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
2462
2463const char kGoogleBrandedContextMenuName[] =
2464 "Google branding in the context menu";
2465
2466const char kGoogleBrandedContextMenuDescription[] =
2467 "Shows a Google icon next to context menu items powered by Google "
2468 "services.";
2469
2470#endif // !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
2471
vabr0215a8e2017-03-28 12:47:342472const char kFontCacheScalingName[] = "FontCache scaling";
2473
2474const char kFontCacheScalingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192475 "Reuse a cached font in the renderer to serve different sizes of font for "
2476 "faster layout.";
vabr0215a8e2017-03-28 12:47:342477
2478const char kFramebustingName[] =
2479 "Framebusting requires same-origin or a user gesture";
2480
2481const char kFramebustingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192482 "Don't permit an iframe to navigate the top level browsing context unless "
2483 "they are same-origin or the iframe is processing a user gesture.";
vabr0215a8e2017-03-28 12:47:342484
binluc5b59112017-04-19 15:38:462485const char kVibrateRequiresUserGestureName[] =
2486 "Requiring user gesture for the Vibration API";
2487
2488const char kVibrateRequiresUserGestureDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192489 "Block the Vibration API if no user gesture has been received on the frame "
2490 "or any embedded frame.";
binluc5b59112017-04-19 15:38:462491
vabr0215a8e2017-03-28 12:47:342492#if defined(OS_ANDROID)
mthiesse700b0b62017-05-19 01:37:312493#if BUILDFLAG(ENABLE_VR)
vabr0215a8e2017-03-28 12:47:342494const char kEnableVrShellName[] = "Enable Chrome VR.";
2495
2496const char kEnableVrShellDescription[] =
2497 "Allow browsing with a VR headset if available for this device.";
2498
mthiesse700b0b62017-05-19 01:37:312499const char kVrCustomTabBrowsingName[] = "Enable Custom Tab browsing in VR.";
2500
2501const char kVrCustomTabBrowsingDescription[] =
2502 "Allow browsing with a VR headset in a Custom Tab if available for this "
2503 "device.";
ymalike78a83b2017-05-19 20:42:312504
2505const char kWebVrAutopresentName[] = "Enable WebVr auto presentation";
2506
2507const char kWebVrAutopresentDescription[] =
2508 "Allows auto presentation of WebVr content from trusted first-party apps";
mthiesse700b0b62017-05-19 01:37:312509#endif // BUILDFLAG(ENABLE_VR)
vabr0215a8e2017-03-28 12:47:342510#endif // defined(OS_ANDROID)
2511
2512// Web payments
2513
2514const char kWebPaymentsName[] = "Web Payments";
2515
2516const char kWebPaymentsDescription[] =
2517 "Enable Web Payments API integration, a JavaScript API for merchants.";
2518
2519#if defined(OS_ANDROID)
2520
2521const char kEnableAndroidPayIntegrationV1Name[] = "Enable Android Pay v1";
2522
2523const char kEnableAndroidPayIntegrationV1Description[] =
Vitalii Iarko7df520142017-07-07 12:53:192524 "Enable integration with Android Pay using the first version of the API";
vabr0215a8e2017-03-28 12:47:342525
2526const char kEnableAndroidPayIntegrationV2Name[] = "Enable Android Pay v2";
2527
2528const char kEnableAndroidPayIntegrationV2Description[] =
Vitalii Iarko7df520142017-07-07 12:53:192529 "Enable integration with Android Pay using the second version of the API";
vabr0215a8e2017-03-28 12:47:342530
2531const char kEnableWebPaymentsSingleAppUiSkipName[] =
2532 "Enable Web Payments single app UI skip";
2533
2534const char kEnableWebPaymentsSingleAppUiSkipDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192535 "Enable Web Payments to skip showing its UI if the developer specifies a "
2536 "single app.";
vabr0215a8e2017-03-28 12:47:342537
2538const char kAndroidPaymentAppsName[] = "Android payment apps";
2539
2540const char kAndroidPaymentAppsDescription[] =
2541 "Enable third party Android apps to integrate as payment apps";
2542
mathpb36946b2017-05-09 14:27:162543const char kServiceWorkerPaymentAppsName[] = "Service Worker payment apps";
2544
2545const char kServiceWorkerPaymentAppsDescription[] =
2546 "Enable Service Worker applications to integrate as payment apps";
2547
vabr0215a8e2017-03-28 12:47:342548#endif // defined(OS_ANDROID)
2549
2550const char kFeaturePolicyName[] = "Feature Policy";
2551
2552const char kFeaturePolicyDescription[] =
2553 "Enables granting and removing access to features through the "
2554 "Feature-Policy HTTP header.";
2555
2556// Audio rendering mixing experiment strings.
2557
2558const char kNewAudioRenderingMixingStrategyName[] =
2559 "New audio rendering mixing strategy";
2560
2561const char kNewAudioRenderingMixingStrategyDescription[] =
2562 "Use the new audio rendering mixing strategy.";
2563
avayvod232757942017-04-29 04:12:342564// New remote playback pipeline experiment strings.
2565
2566const char kNewRemotePlaybackPipelineName[] =
2567 "Enable the new remote playback pipeline.";
2568
2569const char kNewRemotePlaybackPipelineDescription[] =
2570 "Enable the new pipeline for playing media element remotely via "
2571 "RemotePlayback API or native controls.";
2572
vabr0215a8e2017-03-28 12:47:342573// Video fullscreen with orientation lock experiment strings.
2574
2575const char kVideoFullscreenOrientationLockName[] =
2576 "Lock screen orientation when playing a video fullscreen.";
2577
2578const char kVideoFullscreenOrientationLockDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192579 "Lock the screen orientation of the device to match video orientation when "
2580 "a video goes fullscreen. Only on phones.";
vabr0215a8e2017-03-28 12:47:342581
johnme913ee5f2017-04-28 21:36:162582// Video rotate-to-fullscreen experiment strings.
2583
2584const char kVideoRotateToFullscreenName[] =
2585 "Rotate-to-fullscreen gesture for videos.";
2586
2587const char kVideoRotateToFullscreenDescription[] =
2588 "Enter/exit fullscreen when device is rotated to/from the orientation of "
2589 "the video. Only on phones.";
2590
vabr0215a8e2017-03-28 12:47:342591// Enable default MediaSession flag
2592
2593#if !defined(OS_ANDROID)
2594
mlamouriff56c092017-05-11 15:31:392595const char kEnableAudioFocusName[] = "Manage audio focus across tabs";
vabr0215a8e2017-03-28 12:47:342596
mlamouriff56c092017-05-11 15:31:392597const char kEnableAudioFocusDescription[] =
vabr0215a8e2017-03-28 12:47:342598 "Manage audio focus across tabs to improve the audio mixing.";
2599
mlamouriff56c092017-05-11 15:31:392600const char kEnableAudioFocusDisabled[] = "Disabled";
vabr0215a8e2017-03-28 12:47:342601
mlamouriff56c092017-05-11 15:31:392602const char kEnableAudioFocusEnabled[] = "Enabled";
vabr0215a8e2017-03-28 12:47:342603
mlamouriff56c092017-05-11 15:31:392604const char kEnableAudioFocusEnabledDuckFlash[] =
vabr0215a8e2017-03-28 12:47:342605 "Enabled (Flash lowers volume when interrupted by other sound, "
2606 "experimental)";
2607
2608#endif // !defined(OS_ANDROID)
2609
2610#if defined(OS_WIN)
2611
2612const char kGdiTextPrinting[] = "GDI Text Printing";
2613
2614const char kGdiTextPrintingDescription[] =
2615 "Use GDI to print text as simply text";
2616
2617#endif // defined(OS_WIN)
2618
2619#if defined(OS_ANDROID)
2620
2621const char kModalPermissionPromptsName[] = "Modal Permission Prompts";
2622
2623const char kModalPermissionPromptsDescription[] =
2624 "Whether to use permission dialogs in place of permission infobars.";
2625
2626#endif // defined(OS_ANDROID)
2627
2628#if !defined(OS_MACOSX)
2629
2630const char kPermissionPromptPersistenceToggleName[] =
2631 "Persistence Toggle in Permission Prompts";
2632
2633const char kPermissionPromptPersistenceToggleDescription[] =
2634 "Whether to display a persistence toggle in permission prompts.";
2635
2636#endif // !defined(OS_MACOSX)
2637
2638#if defined(OS_ANDROID)
2639
2640const char kNoCreditCardAbort[] = "No Credit Card Abort";
2641
2642const char kNoCreditCardAbortDescription[] =
2643 "Whether or not the No Credit Card Abort is enabled.";
2644
2645#endif // defined(OS_ANDROID)
2646
2647// Consistent omnibox geolocation
2648
2649#if defined(OS_ANDROID)
2650
2651const char kEnableConsistentOmniboxGeolocationName[] =
2652 "Have consistent omnibox geolocation access.";
2653
2654const char kEnableConsistentOmniboxGeolocationDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192655 "Have consistent geolocation access between the omnibox and default search "
2656 "engine.";
vabr0215a8e2017-03-28 12:47:342657
2658#endif // defined(OS_ANDROID)
2659
2660// Media Remoting chrome://flags strings
2661
2662const char kMediaRemotingName[] = "Media Remoting during Cast Tab Mirroring";
2663
2664const char kMediaRemotingDescription[] =
2665 "When Casting a tab to a remote device, enabling this turns on an "
Vitalii Iarko7df520142017-07-07 12:53:192666 "optimization that forwards the content bitstream directly to the remote "
2667 "device when a video is fullscreened.";
vabr0215a8e2017-03-28 12:47:342668
vabr0215a8e2017-03-28 12:47:342669// Play Services LSD permission prompt chrome://flags strings
2670
2671#if defined(OS_ANDROID)
2672
2673const char kLsdPermissionPromptName[] =
2674 "Location Settings Dialog Permission Prompt";
2675
2676const char kLsdPermissionPromptDescription[] =
2677 "Whether to use the Google Play Services Location Settings Dialog "
2678 "permission dialog.";
2679
2680#endif // defined(OS_ANDROID)
2681
2682#if defined(OS_WIN)
2683
2684// Custom draw the Windows 10 titlebar. crbug.com/505013
2685
2686const char kWindows10CustomTitlebarName[] = "Custom-drawn Windows 10 Titlebar";
2687
2688const char kWindows10CustomTitlebarDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192689 "If enabled, Chrome will draw the titlebar and caption buttons instead of "
2690 "deferring to Windows.";
vabr0215a8e2017-03-28 12:47:342691
2692#endif // defined(OS_WIN)
2693
2694#if defined(OS_WIN)
2695
rbpotter556837e42017-05-01 18:49:042696const char kDisablePostscriptPrinting[] = "Disable PostScript Printing";
vabr0215a8e2017-03-28 12:47:342697
rbpotter556837e42017-05-01 18:49:042698const char kDisablePostscriptPrintingDescription[] =
2699 "Disables PostScript generation when printing to PostScript capable "
2700 "printers, and uses EMF generation in its place.";
vabr0215a8e2017-03-28 12:47:342701
2702#endif // defined(OS_WIN)
2703
2704#if defined(OS_ANDROID)
2705
2706const char kAiaFetchingName[] = "Intermediate Certificate Fetching";
2707
2708const char kAiaFetchingDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192709 "Enable intermediate certificate fetching when a server does not provide "
2710 "sufficient certificates to build a chain to a trusted root.";
vabr0215a8e2017-03-28 12:47:342711
2712#endif // defined(OS_ANDROID)
2713
vabr0215a8e2017-03-28 12:47:342714// Desktop iOS promotion chrome://flags strings
2715
2716#if defined(OS_WIN)
2717
2718const char kEnableDesktopIosPromotionsName[] = "Desktop to iOS promotions.";
2719
2720const char kEnableDesktopIosPromotionsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192721 "Enable Desktop to iOS promotions, and allow users to see them if they are "
2722 "eligible.";
vabr0215a8e2017-03-28 12:47:342723
2724#endif // defined(OS_WIN)
2725
2726#if defined(OS_ANDROID)
2727
2728const char kEnableCustomFeedbackUiName[] = "Enable Custom Feedback UI";
2729
2730const char kEnableCustomFeedbackUiDescription[] =
2731 "Enables a custom feedback UI when submitting feedback through Google "
2732 "Feedback. Works with Google Play Services v10.2+";
2733
2734#endif // defined(OS_ANDROID)
2735
vabr0215a8e2017-03-28 12:47:342736#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
2737 defined(OS_WIN)
2738
2739const char kOmniboxEntitySuggestionsName[] = "Omnibox entity suggestions";
vabr0215a8e2017-03-28 12:47:342740const char kOmniboxEntitySuggestionsDescription[] =
krbcc621412017-06-01 19:40:282741 "Enable receiving entity suggestions - disambiguation descriptions - for "
2742 "Omnibox suggestions.";
2743
2744const char kOmniboxTailSuggestionsName[] = "Omnibox tail suggestions";
2745const char kOmniboxTailSuggestionsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192746 "Enable receiving tail suggestions, a type of search suggestion based on "
2747 "the last few words in the query, for the Omnibox.";
vabr0215a8e2017-03-28 12:47:342748
ojan38c678352017-04-11 20:27:552749const char kPauseBackgroundTabsName[] = "Pause background tabs";
2750const char kPauseBackgroundTabsDescription[] =
2751 "Pause timers in background tabs after 5 minutes on desktop.";
2752
spqchan6f9127a2017-04-29 03:42:022753const char kEnableNewAppMenuIconName[] = "Enable the New App Menu Icon";
2754const char kEnableNewAppMenuIconDescription[] =
2755 "Use the new app menu icon with update notification animations.";
spqchan064a8112017-04-18 16:46:322756
vabr0215a8e2017-03-28 12:47:342757#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
2758 // defined(OS_WIN)
2759
2760#if defined(OS_CHROMEOS)
2761
2762const char kEnableChromevoxArcSupportName[] = "ChromeVox ARC support";
2763
2764const char kEnableChromevoxArcSupportDescription[] =
2765 "Enable ChromeVox screen reader features in ARC";
2766
2767#endif // defined(OS_CHROMEOS)
2768
2769const char kMojoLoadingName[] = "Use Mojo IPC for resource loading";
2770
2771const char kMojoLoadingDescription[] =
2772 "Use Mojo IPC instead of traditional Chrome IPC for resource loading.";
2773
Takashi Toyoshima08ff9792017-07-04 08:06:342774const char kModuleScriptsName[] = "Enable ECMAScript 6 modules";
2775
2776const char kModuleScriptsDescription[] =
2777 "Enables ECMAScript 6 modules support in Blink.";
2778
vabr0215a8e2017-03-28 12:47:342779#if defined(OS_ANDROID)
2780
Marc Treibbd5803b2017-07-10 09:45:572781const char kUseDdljsonApiName[] = "Use new ddljson API for Doodles";
vabr0215a8e2017-03-28 12:47:342782
Marc Treibbd5803b2017-07-10 09:45:572783const char kUseDdljsonApiDescription[] =
2784 "Enables the new ddljson API to fetch Doodles for the NTP.";
vabr0215a8e2017-03-28 12:47:342785
2786#endif // defined(OS_ANDROID)
2787
dskiba950fbc82017-04-12 20:36:282788const char kMemoryAblationName[] = "Memory ablation experiment";
2789const char kMemoryAblationDescription[] =
2790 "Allocates extra memory in the browser process.";
2791
jwanda1582bcf2017-03-30 04:33:482792#if defined(OS_ANDROID)
2793
2794const char kEnableCustomContextMenuName[] = "Enable custom context menu";
2795
2796const char kEnableCustomContextMenuDescription[] =
2797 "Enables a new context menu when a link, image, or video is pressed within "
2798 "Chrome.";
2799
2800#endif // defined(OS_ANDROID)
2801
vabr0215a8e2017-03-28 12:47:342802#if defined(OS_CHROMEOS)
2803
2804// File Manager
2805
2806const char kVideoPlayerChromecastSupportName[] =
2807 "Experimental Chromecast support for Video Player";
2808
2809const char kVideoPlayerChromecastSupportDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192810 "This option enables experimental Chromecast support for Video Player app "
2811 "on ChromeOS.";
vabr0215a8e2017-03-28 12:47:342812
2813const char kNewZipUnpackerName[] = "New ZIP unpacker";
2814
2815const char kNewZipUnpackerDescription[] =
2816 "New ZIP unpacker flow, based on the File System Provider API.";
2817
vabr0215a8e2017-03-28 12:47:342818const char kOfficeEditingComponentAppName[] =
2819 "Office Editing for Docs, Sheets & Slides";
2820
2821const char kOfficeEditingComponentAppDescription[] =
2822 "Office Editing for Docs, Sheets & Slides for testing purposes.";
2823
2824const char kDisplayColorCalibrationName[] = "Color calibration of the display";
2825
2826const char kDisplayColorCalibrationDescription[] =
2827 "Allow color calibration of the display if the display supports the "
2828 "feature.";
2829
newcomer403ac142017-07-05 18:26:302830const char kEnableFullscreenAppListName[] = "Enable The Peeking Launcher";
2831
2832const char kEnableFullscreenAppListDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192833 "The peeking launcher UI supports touch and provides more space for "
2834 "upcoming features.";
newcomer403ac142017-07-05 18:26:302835
vabr0215a8e2017-03-28 12:47:342836const char kMemoryPressureThresholdName[] =
2837 "Memory discard strategy for advanced pressure handling";
2838
2839const char kMemoryPressureThresholdDescription[] =
2840 "Memory discarding strategy to use";
2841
2842const char kConservativeThresholds[] =
2843 "Conservative memory pressure release strategy";
2844
2845const char kAggressiveCacheDiscardThresholds[] =
2846 "Aggressive cache release strategy";
2847
2848const char kAggressiveTabDiscardThresholds[] =
2849 "Aggressive tab release strategy";
2850
2851const char kAggressiveThresholds[] =
2852 "Aggressive tab and cache release strategy";
2853
2854const char kWakeOnPacketsName[] = "Wake On Packets";
2855
2856const char kWakeOnPacketsDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192857 "Enables waking the device based on the receipt of some network packets.";
vabr0215a8e2017-03-28 12:47:342858
brettw5f9c1642017-05-14 17:12:482859const char kQuickUnlockPinName[] = "Quick Unlock (PIN)";
vabr0215a8e2017-03-28 12:47:342860
2861const char kQuickUnlockPinDescription[] =
jdufault74476492017-04-20 01:20:002862 "Enabling PIN quick unlock allows you to use a PIN to unlock your ChromeOS "
2863 "device on the lock screen after you have signed into your device.";
2864
2865const char kQuickUnlockPinSignin[] = "Enable PIN when logging in.";
2866
2867const char kQuickUnlockPinSigninDescription[] =
2868 "Enabling PIN allows you to use a PIN to sign in and unlock your ChromeOS "
2869 "device. After changing this flag PIN needs to be set up again.";
vabr0215a8e2017-03-28 12:47:342870
2871const char kQuickUnlockFingerprint[] = "Quick Unlock (Fingerprint)";
2872
2873const char kQuickUnlockFingerprintDescription[] =
2874 "Enabling fingerprint quick unlock allows you to setup and use a "
Vitalii Iarko7df520142017-07-07 12:53:192875 "fingerprint to unlock your Chromebook on the lock screen after you have "
2876 "signed into your device.";
vabr0215a8e2017-03-28 12:47:342877
2878const char kExperimentalAccessibilityFeaturesName[] =
2879 "Experimental accessibility features";
2880
2881const char kExperimentalAccessibilityFeaturesDescription[] =
2882 "Enable additional accessibility features in the Settings page.";
2883
2884const char kDisableSystemTimezoneAutomaticDetectionName[] =
2885 "SystemTimezoneAutomaticDetection policy support";
2886
2887const char kDisableSystemTimezoneAutomaticDetectionDescription[] =
2888 "Disable system timezone automatic detection device policy.";
2889
2890const char kEolNotificationName[] = "Disable Device End of Life notification.";
2891
2892const char kEolNotificationDescription[] =
2893 "Disable Notifcation when Device is End of Life.";
2894
2895// Stylus strings
2896
2897const char kForceEnableStylusToolsName[] = "Force enable stylus features";
2898
2899const char kForceEnableStylusToolsDescription[] =
2900 "Forces display of the stylus tools menu in the shelf and the stylus "
2901 "section in settings, even if there is no attached stylus device.";
2902
2903// Network portal notification
2904
2905const char kNetworkPortalNotificationName[] =
2906 "Notifications about captive portals";
2907
2908const char kNetworkPortalNotificationDescription[] =
2909 "If enabled, notification is displayed when device is connected to a "
2910 "network behind captive portal.";
2911
stevenjbe1d457382017-05-24 22:37:242912const char kNetworkSettingsConfigName[] =
2913 "Settings based Network Configuration";
2914
2915const char kNetworkSettingsConfigDescription[] =
2916 "Enables the Settings based network configuration UI instead of the Views "
2917 "based configuration dialog.";
2918
vabr0215a8e2017-03-28 12:47:342919const char kMtpWriteSupportName[] = "MTP write support";
2920
2921const char kMtpWriteSupportDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192922 "MTP write support in File System API (and file manager). In-place editing "
2923 "operations are not supported.";
vabr0215a8e2017-03-28 12:47:342924
2925const char kCrosRegionsModeName[] = "Cros-regions load mode";
2926
2927const char kCrosRegionsModeDescription[] =
2928 "This flag controls cros-regions load mode";
2929
2930const char kCrosRegionsModeDefault[] = "Default";
2931
2932const char kCrosRegionsModeOverride[] = "Override VPD values.";
2933
2934const char kCrosRegionsModeHide[] = "Hide VPD values.";
2935
2936const char kPrinterProviderSearchAppName[] =
2937 "Chrome Web Store Gallery app for printer drivers";
2938
2939const char kPrinterProviderSearchAppDescription[] =
2940 "Enables Chrome Web Store Gallery app for printer drivers. The app "
Vitalii Iarko7df520142017-07-07 12:53:192941 "searches Chrome Web Store for extensions that support printing to a USB "
2942 "printer with specific USB ID.";
vabr0215a8e2017-03-28 12:47:342943
2944const char kArcBootCompleted[] = "Load Android apps automatically";
2945
2946const char kArcBootCompletedDescription[] =
2947 "Allow Android apps to start automatically after signing in.";
2948
2949const char kEnableImeMenuName[] = "Enable opt-in IME menu";
2950
2951const char kEnableImeMenuDescription[] =
2952 "Enable access to the new IME menu in the Language Settings page.";
2953
2954const char kEnableEhvInputName[] =
2955 "Emoji, handwriting and voice input on opt-in IME menu";
2956
2957const char kEnableEhvInputDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:192958 "Enable access to emoji, handwriting and voice input form opt-in IME menu.";
vabr0215a8e2017-03-28 12:47:342959
fukino1b5ebe952017-04-07 05:35:302960const char kEnableEncryptionMigrationName[] =
2961 "Enable encryption migration of user data";
2962
2963const char kEnableEncryptionMigrationDescription[] =
2964 "If enabled and the device supports ARC, the user will be asked to update "
2965 "the encryption of user data when the user signs in.";
2966
Daniel Erat33054b22017-06-27 16:18:072967// Spurious power button detection
2968
2969const char kSpuriousPowerButtonWindowName[] = "Spurious power button window";
2970const char kSpuriousPowerButtonWindowDescription[] =
2971 "Number of recent accelerometer samples to examine to determine if a power "
2972 "button event was spurious.";
2973
2974const char kSpuriousPowerButtonAccelCountName[] =
2975 "Spurious power button acceleration count";
2976const char kSpuriousPowerButtonAccelCountDescription[] =
2977 "Number of recent acceleration samples that must meet or exceed exceed the "
2978 "threshold in order for a power button event to be considered spurious.";
2979
2980const char kSpuriousPowerButtonScreenAccelName[] =
2981 "Spurious power button screen acceleration threshold";
2982const char kSpuriousPowerButtonScreenAccelDescription[] =
2983 "Threshold (in m/s^2, disregarding gravity) that screen acceleration must "
2984 "meet or exceed for a power button event to be considered spurious.";
2985
2986const char kSpuriousPowerButtonKeyboardAccelName[] =
2987 "Spurious power button keyboard acceleration threshold";
2988const char kSpuriousPowerButtonKeyboardAccelDescription[] =
2989 "Threshold (in m/s^2, disregarding gravity) that keyboard acceleration "
2990 "must meet or exceed for a power button event to be considered spurious.";
2991
2992const char kSpuriousPowerButtonLidAngleChangeName[] =
2993 "Spurious power button lid angle change threshold";
2994const char kSpuriousPowerButtonLidAngleChangeDescription[] =
2995 "Change in lid angle (i.e. hinge between keyboard and screen) that must be "
2996 "met or exceeded for a power button event to be considered spurious.";
2997
vabr0215a8e2017-03-28 12:47:342998#endif // #if defined(OS_CHROMEOS)
2999
wychen2212fe72017-04-10 10:23:323000#if defined(OS_ANDROID)
3001
3002const char kEnableCopylessPasteName[] = "App Indexing (Copyless Paste)";
3003
3004const char kEnableCopylessPasteDescription[] =
3005 "Provide suggestions for text input, based on your recent context. For "
3006 "example, if you looked at a restaurant website and switched to the Maps "
3007 "app, the keyboard would offer the name of that restaurant as a suggestion "
3008 "to enter into the search bar. The data is indexed locally, and never sent "
3009 "to the server. It's disabled in incognito mode.";
3010
alexander.shalamov588eca42017-04-20 13:32:423011const char kEnableWebNfcName[] = "WebNFC";
3012
3013const char kEnableWebNfcDescription[] = "Enable WebNFC support.";
3014
wychen2212fe72017-04-10 10:23:323015#endif // defined(OS_ANDROID)
3016
mpearson5aed28a2017-04-25 06:01:313017#if defined(OS_ANDROID)
3018
3019const char kEnableOmniboxClipboardProviderName[] =
3020 "Omnibox clipboard URL suggestions";
3021
3022const char kEnableOmniboxClipboardProviderDescription[] =
3023 "Provide a suggestion of the URL stored in the clipboard (if any) upon "
3024 "focus in the omnibox.";
3025
3026#endif // defined(OS_ANDROID)
3027
gcomanici8cabc77f2017-04-27 20:04:543028const char kOmniboxDisplayTitleForCurrentUrlName[] =
3029 "Include title for the current URL in the omnibox";
3030
3031const char kOmniboxDisplayTitleForCurrentUrlDescription[] =
3032 "In the event that the omnibox provides suggestions on-focus, the URL of "
3033 "the current page is provided as the first suggestion without a title. "
3034 "Enabling this flag causes the title to be displayed.";
3035
tommycli10b4b1922017-07-06 00:24:413036const char kOmniboxUIElideSuggestionUrlAfterHostName[] =
3037 "Omnibox UI Elide Suggestion URL After Host";
3038const char kOmniboxUIElideSuggestionUrlAfterHostDescription[] =
3039 "Elides the path, query, and ref of suggested URLs in the Omnibox "
3040 "dropdown.";
tommyclifd4ba2792017-06-14 00:05:393041
3042const char kOmniboxUIHideSuggestionUrlSchemeName[] =
3043 "Omnibox UI Hide Suggestion URL Scheme";
3044const char kOmniboxUIHideSuggestionUrlSchemeDescription[] =
3045 "Elides the schemes of suggested URLs in the Omnibox dropdown.";
3046
3047const char kOmniboxUIHideSuggestionUrlTrivialSubdomainsName[] =
3048 "Omnibox UI Hide Suggestion URL Trivial Subdomains";
3049const char kOmniboxUIHideSuggestionUrlTrivialSubdomainsDescription[] =
3050 "Elides trivially informative subdomains from suggested URLs in the "
3051 "Omnibox dropdown (e.g. www. and m.).";
3052
tommyclia5a538f92017-05-15 19:09:383053const char kOmniboxUIMaxAutocompleteMatchesName[] =
3054 "Omnibox UI Max Autocomplete Matches";
3055
3056const char kOmniboxUIMaxAutocompleteMatchesDescription[] =
etienneb9a4b5302017-06-08 06:28:463057 "Changes the maximum number of autocomplete matches displayed in the "
tommyclia5a538f92017-05-15 19:09:383058 "Omnibox UI.";
3059
tommycli0695a7242017-06-09 17:32:223060const char kOmniboxUINarrowDropdownName[] = "Omnibox UI Narrow Dropdown";
3061
3062const char kOmniboxUINarrowDropdownDescription[] =
3063 "Makes the suggestions dropdown width match the omnibox width.";
3064
tommycli26317da2017-05-26 20:50:333065const char kOmniboxUIVerticalLayoutName[] = "Omnibox UI Vertical Layout";
3066
3067const char kOmniboxUIVerticalLayoutDescription[] =
3068 "Displays Omnibox sugestions in 2 lines - title over origin.";
3069
tommycli2bb95c42017-05-08 18:07:023070const char kOmniboxUIVerticalMarginName[] = "Omnibox UI Vertical Margin";
3071
3072const char kOmniboxUIVerticalMarginDescription[] =
3073 "Changes the vertical margin in the Omnibox UI.";
3074
tbansald3e08ca62017-05-04 19:51:093075const char kForceEffectiveConnectionTypeName[] =
3076 "Override effective connection type";
3077
3078const char kForceEffectiveConnectionTypeDescription[] =
3079 "Overrides the effective connection type of the current connection "
3080 "returned by the network quality estimator.";
3081
3082const char kEffectiveConnectionTypeUnknownDescription[] = "Unknown";
3083const char kEffectiveConnectionTypeOfflineDescription[] = "Offline";
3084const char kEffectiveConnectionTypeSlow2GDescription[] = "Slow 2G";
3085const char kEffectiveConnectionType2GDescription[] = "2G";
3086const char kEffectiveConnectionType3GDescription[] = "3G";
3087const char kEffectiveConnectionType4GDescription[] = "4G";
3088
fhorschig122c6652017-05-05 10:21:303089const char kUseSuggestionsEvenIfFewFeatureName[] =
3090 "Disable minimum for server-side tile suggestions on NTP.";
3091
3092const char kUseSuggestionsEvenIfFewFeatureDescription[] =
3093 "Request server-side suggestions even if there are only very few of them "
3094 "and use them for tiles on the New Tab Page.";
3095
stanisc14bed0b132017-05-10 17:46:373096#if defined(OS_WIN)
3097
3098// Name and description of the flag that enables D3D v-sync.
3099const char kEnableD3DVsync[] = "D3D v-sync";
3100const char kEnableD3DVsyncDescription[] =
3101 "Produces v-sync signal by having D3D wait for vertical blanking interval "
3102 "to occur.";
3103
3104#endif // defined(OS_WIN)
3105
thestig0c55ee32017-06-20 22:17:513106#if !defined(OS_ANDROID)
treib273e9db2017-05-11 14:02:263107
msarda6d4b3dc2017-06-02 15:39:473108const char kAccountConsistencyName[] =
3109 "Identity consistency between browser and cookie jar";
3110
3111const char kAccountConsistencyDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:193112 "When enabled, the browser manages signing in and out of Google accounts.";
msarda6d4b3dc2017-06-02 15:39:473113
3114const char kAccountConsistencyChoiceMirror[] = "Mirror";
3115const char kAccountConsistencyChoiceDice[] = "Dice";
3116
treib273e9db2017-05-11 14:02:263117const char kUseGoogleLocalNtpName[] = "Enable using the Google local NTP";
3118const char kUseGoogleLocalNtpDescription[] =
3119 "Use the local New Tab page if Google is the default search engine.";
3120
3121const char kOneGoogleBarOnLocalNtpName[] =
3122 "Enable the OneGoogleBar on the local NTP";
3123const char kOneGoogleBarOnLocalNtpDescription[] =
3124 "Show a OneGoogleBar on the local New Tab page if Google is the default "
3125 "search engine.";
3126
thestig0c55ee32017-06-20 22:17:513127#endif // !defined(OS_ANDROID)
treib273e9db2017-05-11 14:02:263128
lgreyc0b638e52017-05-11 19:10:173129#if defined(OS_MACOSX)
3130extern const char kMacRTLName[] = "Enable RTL";
3131extern const char kMacRTLDescription[] =
3132 "Mirrors the UI for RTL language users";
elawrence408bddb2017-06-15 16:07:383133extern const char kMacTouchBarName[] = "Hardware TouchBar";
3134extern const char kMacTouchBarDescription[] =
3135 "Control the use of the TouchBar.";
lgreyc0b638e52017-05-11 19:10:173136#endif
3137
yhanadac5bff5b2017-05-18 06:37:093138#if defined(OS_CHROMEOS)
3139
3140const char kDisableNewVirtualKeyboardBehaviorName[] =
3141 "New window behavior for the accessibility keyboard";
3142const char kDisableNewVirtualKeyboardBehaviorDescription[] =
Vitalii Iarko7df520142017-07-07 12:53:193143 "Disable new window behavior for the accessibility keyboard in non-sticky "
3144 "mode (do not change work area in non-sticky mode).";
yhanadac5bff5b2017-05-18 06:37:093145
bruthigeafb0c02017-06-09 13:11:533146const char kUiDevToolsName[] = "Enable native UI inspection";
3147const char kUiDevToolsDescription[] =
3148 "Enables inspection of native UI elements. For local inspection use "
3149 "chrome://inspect#other";
3150
orenb21da031c2017-06-30 21:24:203151const char kMultideviceName[] = "Enable multidevice features";
3152const char kMultideviceDescription[] =
3153 "Enables UI for controlling multidevice features.";
3154
yhanadac5bff5b2017-05-18 06:37:093155#endif // defined(OS_CHROMEOS)
3156
Changwan Ryu5b741342017-07-10 21:16:523157#if defined(OS_ANDROID)
3158
3159const char kSpannableInlineAutocompleteName[] = "Spannable inline autocomplete";
3160const char kSpannableInlineAutocompleteDescription[] =
3161 "A new type of inline autocomplete for the omnibox that works with "
3162 "keyboards that compose text.";
3163
3164#endif // defined(OS_ANDROID)
3165
vabr0215a8e2017-03-28 12:47:343166} // namespace flag_descriptions