blob: 381a31eed59ab9dfa752bdd56e58ed8d376de4bd [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
9// Material Design version of chrome://bookmarks
10
11const char kEnableMaterialDesignBookmarksName[] =
12 "Enable Material Design bookmarks";
13
14const char kEnableMaterialDesignBookmarksDescription[] =
15 "If enabled, the chrome://bookmarks/ URL loads the Material Design "
16 "bookmarks page.";
17
18// Material Design version of chrome://policy
19
20const char kEnableMaterialDesignPolicyPageName[] =
21 "Enable Material Design policy page";
22
23const char kEnableMaterialDesignPolicyPageDescription[] =
24 "If enabled, the chrome://md-policy URL loads the Material Design "
25 "policy page.";
26
vabr0215a8e2017-03-28 12:47:3427// Material Design version of chrome://settings
28
29const char kEnableMaterialDesignSettingsName[] =
30 "Enable Material Design settings";
31
32const char kEnableMaterialDesignSettingsDescription[] =
33 "If enabled, the chrome://settings/ URL loads the Material Design "
34 "settings page.";
35
36// Material Design version of chrome://extensions
37
38const char kEnableMaterialDesignExtensionsName[] =
39 "Enable Material Design extensions";
40
41const char kEnableMaterialDesignExtensionsDescription[] =
42 "If enabled, the chrome://extensions/ URL loads the Material Design "
43 "extensions page.";
44
45// Material Design version of feedback form
46
47const char kEnableMaterialDesignFeedbackName[] =
48 "Enable Material Design feedback";
49
50const char kEnableMaterialDesignFeedbackDescription[] =
51 "If enabled, reporting an issue will load the Material Design feedback "
52 "UI.";
53
galinapae72e152017-05-12 13:12:2854const char kContextualSuggestionsCarouselName[] =
55 "Enable Contextual Suggestions";
56
57const char kContextualSuggestionsCarouselDescription[] =
58 "If enabled, shows contextual suggestions in a horizontal carousel in "
59 "bottom sheet content.";
60
vabr0215a8e2017-03-28 12:47:3461// Report URL to SafeSearch
62
63const char kSafeSearchUrlReportingName[] = "SafeSearch URLs reporting.";
64
65const char kSafeSearchUrlReportingDescription[] =
66 "If enabled, inappropriate URLs can be reported back to SafeSearch.";
67
68// Device scale factor change in content crbug.com/485650.
69
70const char kEnableUseZoomForDsfName[] =
71 "Use Blink's zoom for device scale factor.";
72
73const char kEnableUseZoomForDsfDescription[] =
74 "If enabled, Blink uses its zooming mechanism to scale content for "
75 "device scale factor.";
76
77const char kEnableUseZoomForDsfChoiceDefault[] = "Default";
78
79const char kEnableUseZoomForDsfChoiceEnabled[] = "Enabled";
80
81const char kEnableUseZoomForDsfChoiceDisabled[] = "Disabled";
82
brettw5f9c1642017-05-14 17:12:4883const char kNostatePrefetchName[] = "No-State Prefetch";
vabr0215a8e2017-03-28 12:47:3484
85const char kNostatePrefetchDescription[] =
86 R"*("No-State Prefetch" pre-downloads resources to improve load )*"
87 R"*(times. "Prerender" does a full pre-rendering of the page, to )*"
88 R"*(improve load times even more. "Simple Load" does nothing and is )*"
89 R"*(similar to disabling the feature, but collects more metrics for )*"
90 R"*(comparison purposes.)*";
91
92const char kSpeculativePrefetchName[] = "Speculative Prefetch";
93
94const char kSpeculativePrefetchDescription[] =
95 R"*("Speculative Prefetch" fetches likely resources early to improve )*"
96 R"*(load times, based on a local database (see chrome://predictors). )*"
97 R"*("Learning" means that only the database construction is enabled, )*"
98 R"*("Prefetching" that learning and prefetching are enabled.)*";
99
horo201d49492017-05-19 05:31:40100const char kOffMainThreadFetchName[] = "Off-main-thread fetch for Web Workers";
101
102const char kOffMainThreadFetchDescription[] =
103 "If enabled, the resource fetches from worker threads will not be blocked "
104 "by the busy main thread.";
105
vabr0215a8e2017-03-28 12:47:34106// Force Tablet Mode
107
108const char kForceTabletModeName[] = "Force Tablet Mode";
109
110const char kForceTabletModeDescription[] =
111 R"*(This flag can be used to force a certain mode on to a chromebook, )*"
112 R"*(despite its current orientation. "TouchView" means that the )*"
113 R"*(chromebook will act as if it were in touch view mode. "Clamshell" )*"
114 R"*(means that the chromebook will act as if it were in clamshell )*"
115 R"*(mode . "Auto" means that the chromebook will alternate between )*"
116 R"*(the two, based on its orientation.)*";
117
118const char kForceTabletModeTouchview[] = "TouchView";
119
120const char kForceTabletModeClamshell[] = "Clamshell";
121
122const char kForceTabletModeAuto[] = "Auto (default)";
123
124// Print Preview features
rbpotterc51ee3622017-05-19 20:24:53125#if !defined(OS_WIN) && !defined(OS_MACOSX)
vabr0215a8e2017-03-28 12:47:34126const char kPrintPdfAsImageName[] = "Print Pdf as Image";
127
128const char kPrintPdfAsImageDescription[] =
129 "If enabled, an option to print PDF files as images will be available "
130 "in print preview.";
rbpotterc51ee3622017-05-19 20:24:53131#endif
vabr0215a8e2017-03-28 12:47:34132
brettw5f9c1642017-05-14 17:12:48133#if !defined(DISABLE_NACL)
134
vabr0215a8e2017-03-28 12:47:34135const char kNaclName[] = "Native Client";
vabr0215a8e2017-03-28 12:47:34136const char kNaclDescription[] =
137 "Support Native Client for all web applications, even those that were "
138 "not installed from the Chrome Web Store.";
139
vabr0215a8e2017-03-28 12:47:34140const char kNaclDebugName[] = "Native Client GDB-based debugging";
vabr0215a8e2017-03-28 12:47:34141const char kNaclDebugDescription[] =
142 "Enable GDB debug stub. This will stop a Native Client application on "
143 "startup and wait for nacl-gdb (from the NaCl SDK) to attach to it.";
144
vabr0215a8e2017-03-28 12:47:34145const char kPnaclSubzeroName[] = "Force PNaCl Subzero";
vabr0215a8e2017-03-28 12:47:34146const char kPnaclSubzeroDescription[] =
147 "Force the use of PNaCl's fast Subzero translator for all pexe files.";
148
vabr0215a8e2017-03-28 12:47:34149const char kNaclDebugMaskName[] =
150 "Restrict Native Client GDB-based debugging by pattern";
vabr0215a8e2017-03-28 12:47:34151const char kNaclDebugMaskDescription[] =
152 "Restricts Native Client application GDB-based debugging by URL of "
153 "manifest file. Native Client GDB-based debugging must be enabled for "
154 "this option to work.";
vabr0215a8e2017-03-28 12:47:34155const char kNaclDebugMaskChoiceDebugAll[] = "Debug everything.";
vabr0215a8e2017-03-28 12:47:34156const char kNaclDebugMaskChoiceExcludeUtilsPnacl[] =
157 "Debug everything except secure shell and the PNaCl translator.";
vabr0215a8e2017-03-28 12:47:34158const char kNaclDebugMaskChoiceIncludeDebug[] =
159 "Debug only if manifest URL ends with debug.nmf.";
160
brettw5f9c1642017-05-14 17:12:48161#endif
162
vabr0215a8e2017-03-28 12:47:34163const char kEnableHttpFormWarningName[] =
164 "Show in-form warnings for sensitive fields when the top-level page is "
165 "not HTTPS";
166
167const char kEnableHttpFormWarningDescription[] =
168 "Attaches a warning UI to any password or credit card fields detected "
169 "when the top-level page is not HTTPS";
170
171const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
172
173const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
vabr0215a8e2017-03-28 12:47:34174const char kMarkHttpAsDangerous[] = "Always mark HTTP as actively dangerous";
elawrence52854122017-05-31 04:36:01175const char kMarkHttpAsNonSecureAfterEditing[] =
176 "Warn on HTTP after editing forms";
177const char kMarkHttpAsNonSecureWhileIncognito[] =
178 "Warn on HTTP while in Incognito mode";
179const char kMarkHttpAsNonSecureWhileIncognitoOrEditing[] =
180 "Warn on HTTP while in Incognito mode or after editing forms";
vabr0215a8e2017-03-28 12:47:34181
msrameka8443112017-04-24 23:20:10182// Material design of the Incognito NTP.
183
184extern const char kMaterialDesignIncognitoNTPName[] =
185 "Material Design Incognito NTP.";
186
187extern const char kMaterialDesignIncognitoNTPDescription[] =
188 "If enabled, the Incognito New Tab page uses the new material design "
189 "with a better readable text.";
190
vabr0215a8e2017-03-28 12:47:34191const char kSavePageAsMhtmlName[] = "Save Page as MHTML";
192
193const char kSavePageAsMhtmlDescription[] =
194 "Enables saving pages as MHTML: a single text file containing HTML and "
195 "all sub-resources.";
196
197// Flag and values for MHTML Geenrator options lab.
198
199const char kMhtmlGeneratorOptionName[] = "MHTML Generation Option";
200
201const char kMhtmlGeneratorOptionDescription[] =
202 "Provides experimental options for MHTML file generator.";
203
204const char kMhtmlSkipNostoreMain[] = "Skips no-store main frame.";
205
206const char kMhtmlSkipNostoreAll[] = "Skips all no-store resources.";
207
208const char kDeviceDiscoveryNotificationsName[] =
209 "Device Discovery Notifications";
210
211const char kDeviceDiscoveryNotificationsDescription[] =
212 "Device discovery notifications on local network.";
213
214#if defined(OS_WIN)
215
216const char kCloudPrintXpsName[] = "XPS in Google Cloud Print";
217
218const char kCloudPrintXpsDescription[] =
219 "XPS enables advanced options for classic printers connected to the "
220 "Cloud Print with Chrome. Printers must be re-connected after changing "
221 "this flag.";
222
223#endif // defined(OS_WIN)
224
225const char kLoadMediaRouterComponentExtensionName[] =
226 "Load Media Router Component Extension";
227
228const char kLoadMediaRouterComponentExtensionDescription[] =
229 "Loads the Media Router component extension at startup.";
230
231const char kPrintPreviewRegisterPromosName[] =
232 "Print Preview Registration Promos";
233
234const char kPrintPreviewRegisterPromosDescription[] =
235 "Enable registering unregistered cloud printers from print preview.";
236
237const char kScrollPredictionName[] = "Scroll prediction";
238
239const char kTopChromeMd[] = "UI Layout for the browser's top chrome";
240
241const char kTopChromeMdDescription[] =
242 R"*(Toggles between normal and touch (formerly "hybrid") layouts.)*";
243
244const char kTopChromeMdMaterial[] = "Normal";
245
246const char kTopChromeMdMaterialHybrid[] = "Touch";
247
patricialor325fa4c2017-05-08 07:51:31248const char kSiteDetails[] = "Site Details";
249
250const char kSiteDetailsDescription[] =
251 "Adds UI in MD Settings to view all content settings for a specific "
252 "origin.";
253
vabr0215a8e2017-03-28 12:47:34254const char kSiteSettings[] = "Site settings with All sites and Site details";
255
256const char kSiteSettingsDescription[] =
257 "Adds new ways of viewing Site settings.";
258
259const char kSecondaryUiMd[] =
260 "Material Design in the rest of the browser's native UI";
261
262const char kSecondaryUiMdDescription[] =
263 "Extends the --top-chrome-md setting to secondary UI (bubbles, dialogs, "
264 "etc.). On Mac, this enables MacViews, which uses toolkit-views for "
265 "native browser dialogs.";
266
267const char kScrollPredictionDescription[] =
268 "Predicts the finger's future position during scrolls allowing time to "
269 "render the frame before the finger is there.";
270
271const char kAddToShelfName[] = "Add to shelf";
272
273const char kAddToShelfDescription[] =
274 "Enable the display of add to shelf banners, which prompt a user to add "
275 "a web app to their shelf, or other platform-specific equivalent.";
276
277const char kBypassAppBannerEngagementChecksName[] =
278 "Bypass user engagement checks";
279
280const char kBypassAppBannerEngagementChecksDescription[] =
281 "Bypasses user engagement checks for displaying app banners, such as "
282 "requiring that users have visited the site before and that the banner "
283 "hasn't been shown recently. This allows developers to test that other "
284 "eligibility requirements for showing app banners, such as having a "
285 "manifest, are met.";
286
287#if defined(OS_ANDROID)
288
289const char kAccessibilityTabSwitcherName[] = "Accessibility Tab Switcher";
290
291const char kAccessibilityTabSwitcherDescription[] =
292 "Enable the accessibility tab switcher for Android.";
293
csashidf20b102017-04-04 01:53:24294const char kAndroidAutofillAccessibilityName[] = "Autofill Accessibility";
295
296const char kAndroidAutofillAccessibilityDescription[] =
297 "Enable accessibility for autofill popup.";
298
vabr0215a8e2017-03-28 12:47:34299const char kEnablePhysicalWebName[] = "Enable the Physical Web.";
300
301const char kEnablePhysicalWebDescription[] =
302 "Enable scanning for URLs from Physical Web objects.";
303
304#endif // defined(OS_ANDROID)
305
306const char kTouchEventsName[] = "Touch Events API";
307
308const char kTouchEventsDescription[] =
309 "Force Touch Events API feature detection to always be enabled or "
310 "disabled, or to be enabled when a touchscreen is detected on startup "
311 "(Automatic, the default).";
312
313const char kTouchAdjustmentName[] = "Touch adjustment";
314
315const char kTouchAdjustmentDescription[] =
316 "Refine the position of a touch gesture in order to compensate for "
317 "touches having poor resolution compared to a mouse.";
318
brettw5f9c1642017-05-14 17:12:48319const char kCompositedLayerBordersName[] = "Composited render layer borders";
vabr0215a8e2017-03-28 12:47:34320
321const char kCompositedLayerBordersDescription[] =
322 "Renders a border around composited Render Layers to help debug and "
323 "study layer compositing.";
324
brettw5f9c1642017-05-14 17:12:48325const char kGlCompositedTextureQuadBordersName[] =
vabr0215a8e2017-03-28 12:47:34326 "GL composited texture quad borders";
327
328const char kGlCompositedTextureQuadBordersDescription[] =
329 "Renders a border around GL composited texture quads to help debug and "
330 "study overlay support.";
331
brettw5f9c1642017-05-14 17:12:48332const char kShowOverdrawFeedbackName[] = "Show overdraw feedback";
vabr0215a8e2017-03-28 12:47:34333
334const char kShowOverdrawFeedbackDescription[] =
335 "Visualize overdraw by color-coding elements based on if they have "
336 "other elements drawn underneath.";
337
338const char kUiPartialSwapName[] = "Partial swap";
339
340const char kUiPartialSwapDescription[] = "Sets partial swap behavior.";
341
342const char kDebugShortcutsName[] = "Debugging keyboard shortcuts";
343
344const char kIgnoreGpuBlacklistName[] = "Override software rendering list";
345
346const char kIgnoreGpuBlacklistDescription[] =
347 "Overrides the built-in software rendering list and enables "
348 "GPU-acceleration on unsupported system configurations.";
349
350const char kInertVisualViewportName[] = "Inert visual viewport.";
351
352const char kInertVisualViewportDescription[] =
353 "Experiment to have all APIs reflect the layout viewport. This will "
354 "make window.scroll properties relative to the layout viewport.";
355
ccameronc570ec92017-04-14 05:36:25356const char kColorCorrectRenderingName[] = "Color correct rendering";
357
358const char kColorCorrectRenderingDescription[] =
359 "Enables color correct rendering of web content.";
360
vabr0215a8e2017-03-28 12:47:34361const char kExperimentalCanvasFeaturesName[] = "Experimental canvas features";
362
363const char kExperimentalCanvasFeaturesDescription[] =
364 "Enables the use of experimental canvas features which are still in "
365 "development.";
366
367const char kAccelerated2dCanvasName[] = "Accelerated 2D canvas";
368
369const char kAccelerated2dCanvasDescription[] =
370 "Enables the use of the GPU to perform 2d canvas rendering instead of "
371 "using software rendering.";
372
373const char kDisplayList2dCanvasName[] = "Display list 2D canvas";
374
375const char kDisplayList2dCanvasDescription[] =
376 "Enables the use of display lists to record 2D canvas commands. This "
377 "allows 2D canvas rasterization to be performed on separate thread.";
378
vabr0215a8e2017-03-28 12:47:34379const char kExperimentalExtensionApisName[] = "Experimental Extension APIs";
380
381const char kExperimentalExtensionApisDescription[] =
382 "Enables experimental extension APIs. Note that the extension gallery "
383 "doesn't allow you to upload extensions that use experimental APIs.";
384
385const char kExtensionsOnChromeUrlsName[] = "Extensions on chrome:// URLs";
386
387const char kExtensionsOnChromeUrlsDescription[] =
388 "Enables running extensions on chrome:// URLs, where extensions "
389 "explicitly request this permission.";
390
391const char kFastUnloadName[] = "Fast tab/window close";
392
393const char kFastUnloadDescription[] =
394 "Enables fast tab/window closing - runs a tab's onunload js handler "
395 "independently of the GUI.";
396
Yutaka Hirano6bbe1e32017-05-24 09:25:58397const char kFetchKeepaliveTimeoutSettingName[] =
398 "Fetch API keepalive timeout setting";
399const char kFetchKeepaliveTimeoutSettingDescription[] =
400 "This is for setting "
401 "the timeout value for Fetch API with keepalive option and SendBeacon";
402
vabr0215a8e2017-03-28 12:47:34403const char kUserConsentForExtensionScriptsName[] =
404 "User consent for extension scripts";
405
406const char kUserConsentForExtensionScriptsDescription[] =
407 "Require user consent for an extension running a script on the page, if "
408 "the extension requested permission to run on all urls.";
409
410const char kHistoryRequiresUserGestureName[] =
411 "New history entries require a user gesture.";
412
413const char kHistoryRequiresUserGestureDescription[] =
414 "Require a user gesture to add a history entry.";
415
416const char kHyperlinkAuditingName[] = "Hyperlink auditing";
417
418const char kHyperlinkAuditingDescription[] = "Sends hyperlink auditing pings.";
419
420#if defined(OS_ANDROID)
421
brettw5f9c1642017-05-14 17:12:48422const char kContextualSearchName[] = "Contextual Search";
vabr0215a8e2017-03-28 12:47:34423
424const char kContextualSearchDescription[] =
425 "Whether or not Contextual Search is enabled.";
426
427const char kContextualSearchContextualCardsBarIntegration[] =
428 "Contextual Search - Contextual Cards Integration";
429
430const char kContextualSearchContextualCardsBarIntegrationDescription[] =
431 "Whether or not integration of Contextual Cards data in the Contextual "
432 "Search Bar is enabled.";
433
brettw5f9c1642017-05-14 17:12:48434const char kContextualSearchSingleActionsName[] =
vabr0215a8e2017-03-28 12:47:34435 "Contextual Search - Single Actions";
436
437const char kContextualSearchSingleActionsDescription[] =
438 "Whether or not single actions using Contextual Cards data in the "
439 "Contextual Search Bar is enabled.";
440
brettw5f9c1642017-05-14 17:12:48441const char kContextualSearchUrlActionsName[] =
442 "Contextual Search - URL Actions";
vabr0215a8e2017-03-28 12:47:34443
444const char kContextualSearchUrlActionsDescription[] =
445 "Whether or not URL actions using Contextual Cards data in the "
446 "Contextual Search Bar is enabled.";
447
448#endif // defined(OS_ANDROID)
449
450const char kSmoothScrollingName[] = "Smooth Scrolling";
451
452const char kSmoothScrollingDescription[] =
453 "Animate smoothly when scrolling page content.";
454
455const char kOverlayScrollbarsName[] = "Overlay Scrollbars";
456
457const char kOverlayScrollbarsDescription[] =
458 "Enable the experimental overlay scrollbars implementation. You must "
459 "also enable threaded compositing to have the scrollbars animate.";
460
461const char kShowAutofillTypePredictionsName[] = "Show Autofill predictions";
462
463const char kShowAutofillTypePredictionsDescription[] =
464 "Annotates web forms with Autofill field type predictions as "
465 "placeholder text.";
466
467const char kTcpFastOpenName[] = "TCP Fast Open";
468
469const char kTcpFastOpenDescription[] =
470 "Enable the option to send extra authentication information in the "
471 "initial SYN packet for a previously connected client, allowing faster "
472 "data send start.";
473
474const char kTouchDragDropName[] = "Touch initiated drag and drop";
475
476const char kTouchDragDropDescription[] =
477 "Touch drag and drop can be initiated through long press on a draggable "
478 "element.";
479
480const char kTouchSelectionStrategyName[] = "Touch text selection strategy";
481
482const char kTouchSelectionStrategyDescription[] =
483 "Controls how text selection granularity changes when touch text "
484 "selection handles are dragged. Non-default behavior is experimental.";
485
486const char kTouchSelectionStrategyCharacter[] = "Character";
487
488const char kTouchSelectionStrategyDirection[] = "Direction";
489
490const char kWalletServiceUseSandboxName[] =
491 "Use Google Payments sandbox servers";
492
493const char kWalletServiceUseSandboxDescription[] =
494 "For developers: use the sandbox service for Google Payments API "
495 "calls.";
496
497const char kOverscrollHistoryNavigationName[] = "Overscroll history navigation";
498
499const char kOverscrollHistoryNavigationDescription[] =
500 "Experimental history navigation in response to horizontal overscroll.";
501
502const char kOverscrollHistoryNavigationSimpleUi[] = "Simple";
503
504const char kOverscrollStartThresholdName[] = "Overscroll start threshold";
505
506const char kOverscrollStartThresholdDescription[] =
507 "Changes overscroll start threshold relative to the default value.";
508
509const char kOverscrollStartThreshold133Percent[] = "133%";
510
511const char kOverscrollStartThreshold166Percent[] = "166%";
512
513const char kOverscrollStartThreshold200Percent[] = "200%";
514
515const char kScrollEndEffectName[] = "Scroll end effect";
516
517const char kScrollEndEffectDescription[] =
518 "Experimental scroll end effect in response to vertical overscroll.";
519
520const char kWebgl2Name[] = "WebGL 2.0";
521
522const char kWebgl2Description[] = "Allow web applications to access WebGL 2.0.";
523
524const char kWebglDraftExtensionsName[] = "WebGL Draft Extensions";
525
526const char kWebglDraftExtensionsDescription[] =
527 "Enabling this option allows web applications to access the WebGL "
528 "Extensions that are still in draft status.";
529
530const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
531
532const char kWebrtcHwDecodingDescription[] =
533 "Support in WebRTC for decoding video streams using platform hardware.";
534
535const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
536
537const char kWebrtcHwEncodingDescription[] =
538 "Support in WebRTC for encoding video streams using platform hardware.";
539
540const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding";
541
542const char kWebrtcHwH264EncodingDescription[] =
543 "Support in WebRTC for encoding h264 video streams using platform "
544 "hardware.";
545
braveyao96c9b342017-04-25 18:23:19546const char kWebrtcHwVP8EncodingName[] = "WebRTC hardware vp8 video encoding";
547
548const char kWebrtcHwVP8EncodingDescription[] =
549 "Support in WebRTC for encoding vp8 video streams using platform "
550 "hardware.";
551
vabr0215a8e2017-03-28 12:47:34552const char kWebrtcSrtpAesGcmName[] =
553 "Negotiation with GCM cipher suites for SRTP in WebRTC";
554
555const char kWebrtcSrtpAesGcmDescription[] =
556 "When enabled, WebRTC will try to negotiate GCM cipher suites for "
557 "SRTP.";
558
559const char kWebrtcStunOriginName[] = "WebRTC Stun origin header";
560
561const char kWebrtcStunOriginDescription[] =
562 "When enabled, Stun messages generated by WebRTC will contain the "
563 "Origin header.";
564
565const char kWebrtcEchoCanceller3Name[] = "WebRTC Echo Canceller 3.";
566
567const char kWebrtcEchoCanceller3Description[] =
568 "Experimental WebRTC echo canceller (AEC3).";
569
570#if defined(OS_ANDROID)
571
572const char kMediaScreenCaptureName[] = "Experimental ScreenCapture.";
573
574const char kMediaScreenCaptureDescription[] =
575 "Enable this option for experimental ScreenCapture feature on Android.";
576
577#endif // defined(OS_ANDROID)
578
579#if BUILDFLAG(ENABLE_WEBRTC)
580
581const char kWebrtcH264WithOpenh264FfmpegName[] =
582 "WebRTC H.264 software video encoder/decoder";
583
584const char kWebrtcH264WithOpenh264FfmpegDescription[] =
585 "When enabled, an H.264 software video encoder/decoder pair is "
586 "included. If a hardware encoder/decoder is also available it may be "
587 "used instead of this encoder/decoder.";
588
589#endif // BUILDFLAG(ENABLE_WEBRTC)
590
591const char kWebvrName[] = "WebVR";
592
593const char kWebvrDescription[] =
594 "Enabling this option allows web applications to access experimental "
595 "Virtual Reality APIs.";
596
mthiesse700b0b62017-05-19 01:37:31597#if BUILDFLAG(ENABLE_VR)
598
vabr0215a8e2017-03-28 12:47:34599const char kWebvrExperimentalRenderingName[] =
600 "WebVR experimental rendering optimizations";
601
602const char kWebvrExperimentalRenderingDescription[] =
603 "Enabling this option activates experimental rendering path "
604 "optimizations for WebVR.";
605
mthiesse700b0b62017-05-19 01:37:31606#endif // BUILDFLAG(ENABLE_VR)
607
vabr0215a8e2017-03-28 12:47:34608const char kGamepadExtensionsName[] = "Gamepad Extensions";
609
610const char kGamepadExtensionsDescription[] =
611 "Enabling this option allows web applications to access experimental "
612 "extensions to the Gamepad APIs.";
613
614#if defined(OS_ANDROID)
615
616const char kNewPhotoPickerName[] = "Enable new Photopicker";
617
618const char kNewPhotoPickerDescription[] =
619 "Activates the new picker for selecting photos.";
620
621#endif // defined(OS_ANDROID)
622
623#if defined(OS_ANDROID)
624
625const char kEnableOskOverscrollName[] = "Enable OSK Overscroll";
626
627const char kEnableOskOverscrollDescription[] =
628 "Enable OSK overscroll support. With this flag on, the OSK will only "
629 "resize the visual viewport.";
630
631#endif // defined(OS_ANDROID)
632
633const char kQuicName[] = "Experimental QUIC protocol";
634
635const char kQuicDescription[] = "Enable experimental QUIC protocol support.";
636
637const char kSslVersionMaxName[] = "Maximum TLS version enabled.";
638
639const char kSslVersionMaxDescription[] = "Set maximum enabled TLS version.";
640
641const char kSslVersionMaxTls12[] = "TLS 1.2";
642
643const char kSslVersionMaxTls13[] = "TLS 1.3";
644
645const char kEnableTokenBindingName[] = "Token Binding.";
646
647const char kEnableTokenBindingDescription[] = "Enable Token Binding support.";
648
vabr0215a8e2017-03-28 12:47:34649const char kPassiveDocumentEventListenersDescription[] =
650 "Forces touchstart, and touchmove event listeners on document level "
651 "targets (which haven't requested otherwise) to be treated as passive.";
652
653const char kPassiveDocumentEventListenersName[] =
654 "Document Level Event Listeners Passive Default";
655
656const char kPassiveEventListenersDueToFlingDescription[] =
657 "Forces touchstart, and first touchmove per scroll event listeners "
658 "during fling to be treated as passive.";
659
660const char kPassiveEventListenersDueToFlingName[] =
661 "Touch Event Listeners Passive Default During Fling";
662
663const char kPassiveEventListenerTrue[] = "True (when unspecified)";
664
665const char kPassiveEventListenerForceAllTrue[] = "Force All True";
666
667const char kPassiveEventListenerDefaultName[] =
668 "Passive Event Listener Override";
669
670const char kPassiveEventListenerDefaultDescription[] =
671 "Forces touchstart, touchmove, mousewheel and wheel event listeners "
672 "(which haven't requested otherwise) to be treated as passive. This "
673 "will break touch/wheel behavior on some websites but is useful for "
674 "demonstrating the potential performance benefits of adopting passive "
675 "event listeners.";
676
vabr0215a8e2017-03-28 12:47:34677const char kImportantSitesInCbdName[] =
678 "Important sites options in clear browsing data dialog";
679
680const char kImportantSitesInCbdDescription[] =
681 "Include the option to whitelist important sites in the clear browsing "
682 "data dialog.";
683
vabr0215a8e2017-03-28 12:47:34684#if defined(USE_ASH)
685
brettw81668cf2017-05-15 22:57:34686const char kAshShelfColorName[] = "Shelf color in Chrome OS system UI";
vabr0215a8e2017-03-28 12:47:34687
688const char kAshShelfColorDescription[] =
bruthigd8b95962017-03-31 19:38:34689 "Enables/disables the shelf color to be a derived from the wallpaper. The "
690 "--ash-shelf-color-scheme flag defines how that color is derived.";
vabr0215a8e2017-03-28 12:47:34691
bruthigd8b95962017-03-31 19:38:34692const char kAshShelfColorScheme[] = "Shelf color scheme in Chrome OS System UI";
vabr0215a8e2017-03-28 12:47:34693
bruthigd8b95962017-03-31 19:38:34694const char kAshShelfColorSchemeDescription[] =
695 "Specify how the color is derived from the wallpaper. This flag is only "
696 "used when the --ash-shelf-color flag is enabled. Defaults to Dark & Muted";
vabr0215a8e2017-03-28 12:47:34697
bruthigd8b95962017-03-31 19:38:34698const char kAshShelfColorSchemeLightVibrant[] = "Light & Vibrant";
vabr0215a8e2017-03-28 12:47:34699
bruthigd8b95962017-03-31 19:38:34700const char kAshShelfColorSchemeNormalVibrant[] = "Normal & Vibrant";
vabr0215a8e2017-03-28 12:47:34701
bruthigd8b95962017-03-31 19:38:34702const char kAshShelfColorSchemeDarkVibrant[] = "Dark & Vibrant";
vabr0215a8e2017-03-28 12:47:34703
bruthigd8b95962017-03-31 19:38:34704const char kAshShelfColorSchemeLightMuted[] = "Light & Muted";
705
706const char kAshShelfColorSchemeNormalMuted[] = "Normal & Muted";
707
708const char kAshShelfColorSchemeDarkMuted[] = "Dark & Muted";
vabr0215a8e2017-03-28 12:47:34709
vabr0215a8e2017-03-28 12:47:34710const char kAshEnableMirroredScreenName[] = "Enable mirrored screen mode.";
711
712const char kAshEnableMirroredScreenDescription[] =
713 "Enable the mirrored screen mode. This mode flips the screen image "
714 "horizontally.";
715
wutaob161bf22017-04-26 16:55:03716const char kAshDisableSmoothScreenRotationName[] =
717 "Disable smooth rotation animations.";
wutao2c0ca182017-04-06 22:40:54718
wutaob161bf22017-04-26 16:55:03719const char kAshDisableSmoothScreenRotationDescription[] =
720 "Disable smooth rotation animations.";
wutao2c0ca182017-04-06 22:40:54721
vabr0215a8e2017-03-28 12:47:34722const char kMaterialDesignInkDropAnimationFast[] = "Fast";
723
724const char kMaterialDesignInkDropAnimationSlow[] = "Slow";
725
726const char kMaterialDesignInkDropAnimationSpeedName[] =
727 "Material Design Ink Drop Animation Speed";
728
729const char kMaterialDesignInkDropAnimationSpeedDescription[] =
730 "Sets the speed of the experimental visual feedback animations for "
731 "material design.";
732
733const char kUiSlowAnimationsName[] = "Slow UI animations";
734
735const char kUiSlowAnimationsDescription[] = "Makes all UI animations slow.";
736
reveman5be07ac82017-04-14 01:06:05737const char kUiShowCompositedLayerBordersName[] =
738 "Show UI composited layer borders";
739
740const char kUiShowCompositedLayerBordersDescription[] =
741 "Show border around composited layers created by UI.";
742
743const char kUiShowCompositedLayerBordersRenderPass[] = "RenderPass";
744
745const char kUiShowCompositedLayerBordersSurface[] = "Surface";
746
747const char kUiShowCompositedLayerBordersLayer[] = "Layer";
748
749const char kUiShowCompositedLayerBordersAll[] = "All";
750
vabr0215a8e2017-03-28 12:47:34751#endif // defined(USE_ASH)
752
753const char kJavascriptHarmonyShippingName[] =
754 "Latest stable JavaScript features";
755
756const char kJavascriptHarmonyShippingDescription[] =
757 "Some web pages use legacy or non-standard JavaScript extensions that "
758 "may conflict with the latest JavaScript features. This flag allows "
759 "disabling support of those features for compatibility with such "
760 "pages.";
761
762const char kJavascriptHarmonyName[] = "Experimental JavaScript";
763
764const char kJavascriptHarmonyDescription[] =
765 "Enable web pages to use experimental JavaScript features.";
766
vabr0215a8e2017-03-28 12:47:34767const char kV8DisableIgnitionTurboName[] =
rmcilroy124254af2017-03-29 14:30:55768 "Classic JavaScript Compilation Pipeline";
vabr0215a8e2017-03-28 12:47:34769
770const char kV8DisableIgnitionTurboDescription[] =
rmcilroy124254af2017-03-29 14:30:55771 "Enables V8's classic compilation pipeline for JavaScript execution "
772 "(disabling V8's new Ignition interpreter and TurboFan compiler)";
vabr0215a8e2017-03-28 12:47:34773
774const char kEnableAsmWasmName[] =
775 "Experimental Validate Asm.js and convert to WebAssembly when valid.";
776
777const char kEnableAsmWasmDescription[] =
778 R"*(Validate Asm.js when "use asm" is present and then convert to )*"
779 R"*(WebAssembly.)*";
780
781const char kEnableSharedArrayBufferName[] =
782 "Experimental enabled SharedArrayBuffer support in JavaScript.";
783
784const char kEnableSharedArrayBufferDescription[] =
785 "Enable SharedArrayBuffer support in JavaScript.";
786
787const char kEnableWasmName[] = "WebAssembly structured cloning support.";
vabr0215a8e2017-03-28 12:47:34788const char kEnableWasmDescription[] =
789 "Enable web pages to use WebAssembly structured cloning.";
790
mtrofinc8717b52017-04-19 14:27:22791const char kEnableWasmStreamingName[] =
792 "WebAssembly streaming compile/instantiate support.";
793const char kEnableWasmStreamingDescription[] =
794 "WebAssembly.{compile|instantiate} taking a Response as parameter.";
795
vabr0215a8e2017-03-28 12:47:34796#if defined(OS_ANDROID)
797
798const char kMediaDocumentDownloadButtonName[] =
799 "Download button when opening a page with media url.";
800
801const char kMediaDocumentDownloadButtonDescription[] =
802 "Allow a download button to show up when opening a page with media "
803 "url.";
804
805#endif // defined(OS_ANDROID)
806
807const char kSoftwareRasterizerName[] = "3D software rasterizer";
808
809const char kSoftwareRasterizerDescription[] =
810 "Fall back to a 3D software rasterizer when the GPU cannot be used.";
811
812const char kGpuRasterizationName[] = "GPU rasterization";
813
814const char kGpuRasterizationDescription[] =
815 "Use GPU to rasterize web content. Requires impl-side painting.";
816
817const char kForceGpuRasterization[] = "Force-enabled for all layers";
818
819const char kGpuRasterizationMsaaSampleCountName[] =
820 "GPU rasterization MSAA sample count.";
821
822const char kGpuRasterizationMsaaSampleCountDescription[] =
823 "Specify the number of MSAA samples for GPU rasterization.";
824
825const char kGpuRasterizationMsaaSampleCountZero[] = "0";
826
827const char kGpuRasterizationMsaaSampleCountTwo[] = "2";
828
829const char kGpuRasterizationMsaaSampleCountFour[] = "4";
830
831const char kGpuRasterizationMsaaSampleCountEight[] = "8";
832
833const char kGpuRasterizationMsaaSampleCountSixteen[] = "16";
834
835const char kSlimmingPaintInvalidationName[] = "Slimming paint invalidation.";
836
837const char kSlimmingPaintInvalidationDescription[] =
838 "Whether to enable a new paint invalidation system.";
839
840const char kExperimentalSecurityFeaturesName[] =
841 "Potentially annoying security features";
842
843const char kExperimentalSecurityFeaturesDescription[] =
844 "Enables several security features that will likely break one or more "
845 "pages that you visit on a daily basis. Strict mixed content checking, "
846 "for example. And locking powerful features to secure contexts. This "
847 "flag will probably annoy you.";
848
849const char kExperimentalWebPlatformFeaturesName[] =
850 "Experimental Web Platform features";
851
852const char kExperimentalWebPlatformFeaturesDescription[] =
853 "Enables experimental Web Platform features that are in development.";
854
855const char kExperimentalPointerEventName[] = "Pointer Events";
856
857const char kExperimentalPointerEventDescription[] =
858 "Enables support for the Pointer Events API. This is intended only for "
859 "testing by web developers.";
860
861const char kOriginTrialsName[] = "Origin Trials";
862
863const char kOriginTrialsDescription[] =
864 "Enables origin trials for controlling access to feature/API "
865 "experiments.";
866
867const char kBleAdvertisingInExtensionsName[] = "BLE Advertising in Chrome Apps";
868
869const char kBleAdvertisingInExtensionsDescription[] =
870 "Enables BLE Advertising in Chrome Apps. BLE Advertising might "
871 "interfere with regular use of Bluetooth Low Energy features.";
872
873const char kDevtoolsExperimentsName[] = "Developer Tools experiments";
874
875const char kDevtoolsExperimentsDescription[] =
876 "Enables Developer Tools experiments. Use Settings panel in Developer "
877 "Tools to toggle individual experiments.";
878
879const char kSilentDebuggerExtensionApiName[] = "Silent Debugging";
880
881const char kSilentDebuggerExtensionApiDescription[] =
882 "Do not show the infobar when an extension attaches to a page via "
883 "chrome.debugger API. This is required to debug extension background "
884 "pages.";
885
886const char kShowTouchHudName[] = "Show HUD for touch points";
887
888const char kShowTouchHudDescription[] =
889 "Enables a heads-up display at the top-left corner of the screen that "
890 "lists information about the touch-points on the screen.";
891
892const char kPreferHtmlOverPluginsName[] = "Prefer HTML over Flash";
893
894const char kPreferHtmlOverPluginsDescription[] =
895 "Prefer HTML content by hiding Flash from the list of plugins.";
896
897const char kAllowNaclSocketApiName[] = "NaCl Socket API.";
898
899const char kAllowNaclSocketApiDescription[] =
900 "Allows applications to use NaCl Socket API. Use only to test NaCl "
901 "plugins.";
902
903const char kRunAllFlashInAllowModeName[] =
904 R"*(Run all Flash content when Flash setting is set to "allow")*";
905
906const char kRunAllFlashInAllowModeDescription[] =
907 R"*(For sites that have been set to "allow" Flash content, run all )*"
908 R"*(content including any that has been deemed unimportant.)*";
909
910const char kPinchScaleName[] = "Pinch scale";
911
912const char kPinchScaleDescription[] =
913 "Enables experimental support for scale using pinch.";
914
vabr0215a8e2017-03-28 12:47:34915const char kReducedReferrerGranularityName[] =
916 "Reduce default 'referer' header granularity.";
917
918const char kReducedReferrerGranularityDescription[] =
919 "If a page hasn't set an explicit referrer policy, setting this flag "
920 "will reduce the amount of information in the 'referer' header for "
921 "cross-origin requests.";
922
923#if defined(OS_CHROMEOS)
924
sky527bea52017-05-15 19:15:14925const char kUseMusDescription[] = "Enable the Mojo UI service.";
vabr0215a8e2017-03-28 12:47:34926
sky527bea52017-05-15 19:15:14927const char kUseMusName[] = "Mus";
928
929const char kEnableMashDescription[] =
930 "Mash (UI, Chrome and ash in separate services)";
931
932const char kEnableMusDescription[] =
933 "Mus (UI in separate service, Chrome and ash in same service)";
vabr0215a8e2017-03-28 12:47:34934
935const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
936
937const char kAllowTouchpadThreeFingerClickDescription[] =
938 "Enables touchpad three-finger-click as middle button.";
939
940const char kAshEnableUnifiedDesktopName[] = "Unified desktop mode";
941
942const char kAshEnableUnifiedDesktopDescription[] =
943 "Enable unified desktop mode which allows a window to span multiple "
944 "displays.";
945
brettw5f9c1642017-05-14 17:12:48946const char kBootAnimationName[] = "Boot animation";
vabr0215a8e2017-03-28 12:47:34947
948const char kBootAnimationDescription[] =
949 "Wallpaper boot animation (except for OOBE case).";
950
hansberryc147785f2017-05-02 23:36:27951const char kTetherName[] = "Instant Tethering";
952
953const char kTetherDescription[] =
954 "Enables Instant Tethering. Instant Tethering allows your nearby Google "
955 "phone to share its Internet connection with this device.";
956
vabr0215a8e2017-03-28 12:47:34957#endif // defined(OS_CHROMEOS)
958
959const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
960
961const char kAcceleratedVideoDecodeDescription[] =
962 "Hardware-accelerated video decode where available.";
963
hubbee7499512017-04-05 22:35:04964const char kEnableHDRName[] = "HDR mode";
965
966const char kEnableHDRDescription[] =
967 "Enables HDR support on compatible displays.";
968
brettw5f9c1642017-05-14 17:12:48969const char kCloudImportName[] = "Cloud Import";
vabr0215a8e2017-03-28 12:47:34970
971const char kCloudImportDescription[] = "Allows the cloud-import feature.";
972
973const char kRequestTabletSiteName[] =
974 "Request tablet site option in the settings menu";
975
976const char kRequestTabletSiteDescription[] =
977 "Allows the user to request tablet site. Web content is often optimized "
978 "for tablet devices. When this option is selected the user agent string "
979 "is changed to indicate a tablet device. Web content optimized for "
980 "tablets is received there after for the current tab.";
981
982const char kDebugPackedAppName[] = "Debugging for packed apps";
983
984const char kDebugPackedAppDescription[] =
985 "Enables debugging context menu options such as Inspect Element for "
986 "packed applications.";
987
988const char kDropSyncCredentialName[] =
989 "Drop sync credentials from password manager";
990
991const char kDropSyncCredentialDescription[] =
992 "The password manager will not offer to save the credential used to "
993 "sync.";
994
995const char kPasswordGenerationName[] = "Password generation";
996
997const char kPasswordGenerationDescription[] =
998 "Allow the user to have Chrome generate passwords when it detects "
999 "account creation pages.";
1000
1001const char kPasswordForceSavingName[] = "Force-saving of passwords";
1002
1003const char kPasswordForceSavingDescription[] =
1004 "Allow the user to manually enforce password saving instead of relying "
1005 "on password manager's heuristics.";
1006
1007const char kManualPasswordGenerationName[] = "Manual password generation.";
1008
1009const char kManualPasswordGenerationDescription[] =
1010 "Show a 'Generate Password' option on the context menu for all password "
1011 "fields.";
1012
brettw5f9c1642017-05-14 17:12:481013const char kShowAutofillSignaturesName[] = "Show autofill signatures.";
vabr0215a8e2017-03-28 12:47:341014
1015const char kShowAutofillSignaturesDescription[] =
1016 "Annotates web forms with Autofill signatures as HTML attributes.";
1017
1018const char kSuggestionsWithSubStringMatchName[] =
1019 "Substring matching for Autofill suggestions";
1020
1021const char kSuggestionsWithSubStringMatchDescription[] =
1022 "Match Autofill suggestions based on substrings (token prefixes) rather "
1023 "than just prefixes.";
1024
1025const char kAffiliationBasedMatchingName[] =
1026 "Affiliation based matching in password manager";
1027
1028const char kAffiliationBasedMatchingDescription[] =
1029 "Allow credentials stored for Android applications to be filled into "
1030 "corresponding websites.";
1031
1032const char kProtectSyncCredentialName[] = "Autofill sync credential";
1033
1034const char kProtectSyncCredentialDescription[] =
1035 "How the password manager handles autofill for the sync credential.";
1036
1037const char kPasswordImportExportName[] = "Password import and export";
1038
1039const char kPasswordImportExportDescription[] =
1040 "Import and Export functionality in password settings.";
1041
1042const char kProtectSyncCredentialOnReauthName[] =
1043 "Autofill sync credential only for transactional reauth pages";
1044
1045const char kProtectSyncCredentialOnReauthDescription[] =
1046 "How the password manager handles autofill for the sync credential only "
1047 "for transactional reauth pages.";
1048
1049const char kIconNtpName[] = "Large icons on the New Tab page";
1050
1051const char kIconNtpDescription[] =
1052 "Enable the experimental New Tab page using large icons.";
1053
1054const char kPushApiBackgroundModeName[] = "Enable Push API background mode";
1055
1056const char kPushApiBackgroundModeDescription[] =
1057 "Enable background mode for the Push API. This allows Chrome to "
1058 "continue running after the last window is closed, and to launch at OS "
1059 "startup, if the Push API needs it.";
1060
brettw5f9c1642017-05-14 17:12:481061const char kEnableNavigationTracingName[] = "Enable navigation tracing";
vabr0215a8e2017-03-28 12:47:341062
1063const char kEnableNavigationTracingDescription[] =
1064 "This is to be used in conjunction with the trace-upload-url flag. "
1065 "WARNING: When enabled, Chrome will record performance data for every "
1066 "navigation and upload it to the URL specified by the trace-upload-url "
1067 "flag. The trace may include personally identifiable information (PII) "
1068 "such as the titles and URLs of websites you visit.";
1069
apacible8246df62017-05-26 23:23:171070const char kEnablePictureInPictureName[] = "Enable picture in picture.";
1071
1072const char kEnablePictureInPictureDescription[] =
1073 "Enable the picture in picture feature for videos.";
1074
brettw5f9c1642017-05-14 17:12:481075const char kTraceUploadUrlName[] = "Trace label for navigation tracing";
vabr0215a8e2017-03-28 12:47:341076
1077const char kTraceUploadUrlDescription[] =
1078 "This is to be used in conjunction with the enable-navigation-tracing "
1079 "flag. Please select the label that best describes the recorded traces. "
1080 "This will choose the destination the traces are uploaded to. If you "
1081 "are not sure, select other. If left empty, no traces will be "
1082 "uploaded.";
1083
brettw5f9c1642017-05-14 17:12:481084const char kDisableAudioForDesktopShareName[] =
1085 "Disable Audio For Desktop Share";
vabr0215a8e2017-03-28 12:47:341086
1087const char kDisableAudioForDesktopShareDescription[] =
1088 "With this flag on, desktop share picker window will not let the user "
1089 "choose whether to share audio.";
1090
brettw5f9c1642017-05-14 17:12:481091const char kDisableTabForDesktopShareName[] =
vabr0215a8e2017-03-28 12:47:341092 "Disable Desktop Share with tab source";
1093
1094const char kDisableTabForDesktopShareDescription[] =
1095 "This flag controls whether users can choose a tab for desktop share.";
1096
1097const char kTraceUploadUrlChoiceOther[] = "Other";
1098
1099const char kTraceUploadUrlChoiceEmloading[] = "emloading";
1100
1101const char kTraceUploadUrlChoiceQa[] = "QA";
1102
1103const char kTraceUploadUrlChoiceTesting[] = "Testing";
1104
1105const char kSupervisedUserManagedBookmarksFolderName[] =
1106 "Managed bookmarks for supervised users";
1107
1108const char kSupervisedUserManagedBookmarksFolderDescription[] =
1109 "Enable the managed bookmarks folder for supervised users.";
1110
1111const char kSyncAppListName[] = "App Launcher sync";
1112
1113const char kSyncAppListDescription[] =
1114 "Enable App Launcher sync. This also enables Folders where available "
1115 "(non OSX).";
1116
brettw5f9c1642017-05-14 17:12:481117const char kDriveSearchInChromeLauncherName[] =
vabr0215a8e2017-03-28 12:47:341118 "Drive Search in Chrome App Launcher";
1119
1120const char kDriveSearchInChromeLauncherDescription[] =
1121 "Files from Drive will show up when searching the Chrome App Launcher.";
1122
1123const char kV8CacheOptionsName[] = "V8 caching mode.";
1124
1125const char kV8CacheOptionsDescription[] =
1126 "Caching mode for the V8 JavaScript engine.";
1127
1128const char kV8CacheOptionsParse[] = "Cache V8 parser data.";
1129
1130const char kV8CacheOptionsCode[] = "Cache V8 compiler data.";
1131
1132const char kV8CacheStrategiesForCacheStorageName[] =
1133 "V8 caching strategy for CacheStorage.";
1134
1135const char kV8CacheStrategiesForCacheStorageDescription[] =
1136 "Caching strategy of scripts in CacheStorage for the V8 JavaScript "
1137 "engine.";
1138
1139const char kV8CacheStrategiesForCacheStorageNormal[] = "Normal";
1140
1141const char kV8CacheStrategiesForCacheStorageAggressive[] = "Aggressive";
1142
vabr0215a8e2017-03-28 12:47:341143const char kMemoryCoordinatorName[] = "Memory coordinator";
1144
1145const char kMemoryCoordinatorDescription[] =
1146 "Enable memory coordinator instead of memory pressure listeners.";
1147
1148const char kServiceWorkerNavigationPreloadName[] =
1149 "Service worker navigation preload.";
1150
1151const char kServiceWorkerNavigationPreloadDescription[] =
1152 "Enable web pages to use the experimental service worker navigation "
1153 "preload API.";
1154
vabr0215a8e2017-03-28 12:47:341155// Data Reduction Proxy
1156
1157const char kDataReductionProxyLoFiName[] = "Data Saver Lo-Fi mode";
1158
1159const char kDataReductionProxyLoFiDescription[] =
1160 "Forces Data Saver Lo-Fi mode to be always enabled, enabled only on "
1161 "cellular connections, or disabled. Data Saver must be enabled for "
1162 "Lo-Fi mode to be used.";
1163
1164const char kDataReductionProxyLoFiAlwaysOn[] = "Always on";
1165
1166const char kDataReductionProxyLoFiCellularOnly[] = "Cellular only";
1167
1168const char kDataReductionProxyLoFiDisabled[] = "Disable";
1169
1170const char kDataReductionProxyLoFiSlowConnectionsOnly[] =
1171 "Slow connections only";
1172
1173const char kEnableDataReductionProxyLitePageName[] =
1174 "Lite pages for Data Saver Lo-Fi mode";
1175
1176const char kEnableDataReductionProxyLitePageDescription[] =
1177 "Enable lite pages in Data Saver Lo-Fi mode. Previews of pages will be "
1178 "shown instead of image placeholders when Lo-Fi is on. Data Saver and "
1179 "Lo-Fi must be enabled for lite pages to be shown.";
1180
ryansturm7e309dd2017-05-24 16:29:531181const char kDataReductionProxyServerAlternative[] =
1182 "Use alternative server configuration";
1183
1184const char kEnableDataReductionProxyServerExperimentName[] =
1185 "Use an alternative Data Saver back end configuration.";
1186
1187const char kEnableDataReductionProxyServerExperimentDescription[] =
1188 "Enable a different approach to saving data by configuring the back end "
1189 "server";
1190
vabr0215a8e2017-03-28 12:47:341191const char kDataReductionProxyCarrierTestName[] =
1192 "Enable a carrier-specific Data Reduction Proxy for testing.";
1193
1194const char kDataReductionProxyCarrierTestDescription[] =
1195 "Use a carrier-specific Data Reduction Proxy for testing.";
1196
1197const char kEnableDataReductionProxySavingsPromoName[] =
1198 "Data Saver 1 MB Savings Promo";
1199
1200const char kEnableDataReductionProxySavingsPromoDescription[] =
1201 "Enable a Data Saver promo for 1 MB of savings. If Data Saver has "
1202 "already saved 1 MB of data, then the promo will not be shown. Data "
1203 "Saver must be enabled for the promo to be shown.";
1204
megjablon553df4cf2017-04-01 01:29:551205#if defined(OS_ANDROID)
1206
1207const char kEnableDataReductionProxyMainMenuName[] =
megjablonacb36d12017-04-21 00:09:291208 "Enable Data Saver main menu footer";
megjablon553df4cf2017-04-01 01:29:551209
1210const char kEnableDataReductionProxyMainMenuDescription[] =
megjablonacb36d12017-04-21 00:09:291211 "Enables the Data Saver footer in the main menu";
megjablon553df4cf2017-04-01 01:29:551212
megjablon5e5d1c172017-04-06 23:55:111213const char kEnableDataReductionProxySiteBreakdownName[] =
1214 "Data Saver Site Breakdown";
1215
1216const char kEnableDataReductionProxySiteBreakdownDescription[] =
1217 "Enable the site breakdown on the Data Saver settings page.";
1218
ryansturm28839dee2017-05-05 17:34:271219const char kEnableOfflinePreviewsName[] = "Offline Page Previews";
1220
1221const char kEnableOfflinePreviewsDescription[] =
1222 "Enable showing offline page previews on slow networks.";
1223
ryansturmfaf92142017-05-11 19:07:471224const char kEnableClientLoFiName[] = "Client-side Lo-Fi previews";
1225
1226const char kEnableClientLoFiDescription[] =
1227 "Enable showing low fidelity images on some pages on slow networks.";
1228
megjablon553df4cf2017-04-01 01:29:551229#endif // defined(OS_ANDROID)
1230
vabr0215a8e2017-03-28 12:47:341231const char kLcdTextName[] = "LCD text antialiasing";
1232
1233const char kLcdTextDescription[] =
1234 "If disabled, text is rendered with grayscale antialiasing instead of "
1235 "LCD (subpixel) when doing accelerated compositing.";
1236
1237const char kDistanceFieldTextName[] = "Distance field text";
1238
1239const char kDistanceFieldTextDescription[] =
1240 "Text is rendered with signed distance fields rather than bitmap alpha "
1241 "masks.";
1242
1243const char kZeroCopyName[] = "Zero-copy rasterizer";
1244
1245const char kZeroCopyDescription[] =
1246 "Raster threads write directly to GPU memory associated with tiles.";
1247
1248const char kHideInactiveStackedTabCloseButtonsName[] =
1249 "Hiding close buttons on inactive tabs when stacked";
1250
1251const char kHideInactiveStackedTabCloseButtonsDescription[] =
1252 "Hides the close buttons of inactive tabs when the tabstrip is in "
1253 "stacked mode.";
1254
1255const char kDefaultTileWidthName[] = "Default tile width";
1256
1257const char kDefaultTileWidthDescription[] = "Specify the default tile width.";
1258
1259const char kDefaultTileWidthShort[] = "128";
1260
1261const char kDefaultTileWidthTall[] = "256";
1262
1263const char kDefaultTileWidthGrande[] = "512";
1264
1265const char kDefaultTileWidthVenti[] = "1024";
1266
1267const char kDefaultTileHeightName[] = "Default tile height";
1268
1269const char kDefaultTileHeightDescription[] = "Specify the default tile height.";
1270
1271const char kDefaultTileHeightShort[] = "128";
1272
1273const char kDefaultTileHeightTall[] = "256";
1274
1275const char kDefaultTileHeightGrande[] = "512";
1276
1277const char kDefaultTileHeightVenti[] = "1024";
1278
1279const char kNumRasterThreadsName[] = "Number of raster threads";
1280
1281const char kNumRasterThreadsDescription[] =
1282 "Specify the number of raster threads.";
1283
1284const char kNumRasterThreadsOne[] = "1";
1285
1286const char kNumRasterThreadsTwo[] = "2";
1287
1288const char kNumRasterThreadsThree[] = "3";
1289
1290const char kNumRasterThreadsFour[] = "4";
1291
1292const char kResetAppListInstallStateName[] =
1293 "Reset the App Launcher install state on every restart.";
1294
1295const char kResetAppListInstallStateDescription[] =
1296 "Reset the App Launcher install state on every restart. While this flag "
1297 "is set, Chrome will forget the launcher has been installed each time "
1298 "it starts. This is used for testing the App Launcher install flow.";
1299
1300#if defined(OS_CHROMEOS)
1301
1302const char kFirstRunUiTransitionsName[] =
1303 "Animated transitions in the first-run tutorial";
1304
1305const char kFirstRunUiTransitionsDescription[] =
1306 "Transitions during first-run tutorial are animated.";
1307
1308#endif // defined(OS_CHROMEOS)
1309
1310const char kNewBookmarkAppsName[] = "The new bookmark app system";
1311
1312const char kNewBookmarkAppsDescription[] =
1313 "Enables the new system for creating bookmark apps.";
1314
1315#if defined(OS_MACOSX)
1316
1317const char kHostedAppsInWindowsName[] =
1318 "Allow hosted apps to be opened in windows";
1319
1320const char kHostedAppsInWindowsDescription[] =
1321 "Allows hosted apps to be opened in windows instead of being limited to "
1322 "tabs.";
1323
1324const char kTabDetachingInFullscreenName[] =
1325 "Allow tab detaching in fullscreen";
1326
1327const char kTabDetachingInFullscreenDescription[] =
1328 "Allow tabs to detach from the tabstrip when in fullscreen mode on "
1329 "Mac.";
1330
1331const char kFullscreenToolbarRevealName[] =
1332 "Enables the toolbar in fullscreen to reveal itself.";
1333
1334const char kFullscreenToolbarRevealDescription[] =
1335 "Reveal the toolbar in fullscreen for a short period when the tab strip "
1336 "has changed.";
1337
1338const char kTabStripKeyboardFocusName[] = "Tab Strip Keyboard Focus";
1339
1340const char kTabStripKeyboardFocusDescription[] =
1341 "Enable keyboard focus for the tabs in the tab strip.";
1342
1343#endif // defined(OS_MACOSX)
1344
1345const char kHostedAppShimCreationName[] =
1346 "Creation of app shims for hosted apps on Mac";
1347
1348const char kHostedAppShimCreationDescription[] =
1349 "Create app shims on Mac when creating a hosted app.";
1350
1351const char kHostedAppQuitNotificationName[] =
1352 "Quit notification for hosted apps";
1353
1354const char kHostedAppQuitNotificationDescription[] =
1355 "Display a notification when quitting Chrome if hosted apps are "
1356 "currently running.";
1357
1358#if defined(OS_ANDROID)
1359
1360const char kPullToRefreshEffectName[] = "The pull-to-refresh effect";
1361
1362const char kPullToRefreshEffectDescription[] =
1363 "Page reloads triggered by vertically overscrolling content.";
1364
googleobc47e0b2017-05-05 05:11:121365const char kTranslateCompactUIName[] = "New Translate Infobar";
1366
1367const char kTranslateCompactUIDescription[] =
1368 "Enable the new Translate compact infobar UI.";
1369
vabr0215a8e2017-03-28 12:47:341370#endif // defined(OS_ANDROID)
1371
1372#if defined(OS_MACOSX)
1373
1374const char kTranslateNewUxName[] = "New Translate UX";
1375
1376const char kTranslateNewUxDescription[] =
1377 "Enable the new Translate bubble UX is offered instead of the infobar.";
1378
1379#endif // defined(OS_MACOSX)
1380
1381const char kTranslate2016q2UiName[] = "Translate 2016Q2 UI";
1382
1383const char kTranslate2016q2UiDescription[] =
1384 "Improved triggering logic and look for Translate Bubble UI";
1385
1386const char kTranslateLanguageByUlpName[] = "Translate Language by ULP";
1387
1388const char kTranslateLanguageByUlpDescription[] =
1389 "Improved translate target language and triggering logic by considering "
1390 "information from User Language Profile (ULP).";
1391
1392const char kViewsRectBasedTargetingName[] = "Rect-based targeting in views";
1393
1394const char kViewsRectBasedTargetingDescription[] =
1395 "Rect-based targeting uses a heuristic to determine the most probable "
1396 "target of a gesture, where the touch region is represented by a "
1397 "rectangle.";
1398
1399const char kPermissionActionReportingName[] = "Permission Action Reporting";
1400
1401const char kPermissionActionReportingDescription[] =
1402 "Enables permission action reporting to Safe Browsing servers for opted "
1403 "in users.";
1404
1405const char kPermissionsBlacklistName[] = "Permissions Blacklist";
1406
1407const char kPermissionsBlacklistDescription[] =
1408 "Enables the Permissions Blacklist, which blocks permissions for "
1409 "blacklisted sites for Safe Browsing users.";
1410
1411const char kThreadedScrollingName[] = "Threaded scrolling";
1412
1413const char kThreadedScrollingDescription[] =
1414 "Threaded handling of scroll-related input events. Disabling this will "
1415 "force all such scroll events to be handled on the main thread. Note "
1416 "that this can dramatically hurt scrolling performance of most websites "
1417 "and is intended for testing purposes only.";
1418
1419const char kHarfbuzzRendertextName[] = "HarfBuzz for UI text";
1420
1421const char kHarfbuzzRendertextDescription[] =
1422 "Enable cross-platform HarfBuzz layout engine for UI text. Doesn't "
1423 "affect web content.";
1424
1425const char kEmbeddedExtensionOptionsName[] = "Embedded extension options";
1426
1427const char kEmbeddedExtensionOptionsDescription[] =
1428 "Display extension options as an embedded element in "
1429 "chrome://extensions rather than opening a new tab.";
1430
1431const char kTabAudioMutingName[] = "Tab audio muting UI control";
1432
1433const char kTabAudioMutingDescription[] =
1434 "When enabled, the audio indicators in the tab strip double as tab "
1435 "audio mute controls. This also adds commands in the tab context menu "
1436 "for quickly muting multiple selected tabs.";
1437
1438const char kEasyUnlockBluetoothLowEnergyDiscoveryName[] =
1439 "Smart Lock Bluetooth Low Energy Discovery";
1440
1441const char kEasyUnlockBluetoothLowEnergyDiscoveryDescription[] =
1442 "Enables a Smart Lock setting that allows Chromebook to discover phones "
1443 "over Bluetooth Low Energy in order to unlock the Chromebook when the "
1444 "phone is in its proximity.";
1445
1446const char kEasyUnlockProximityDetectionName[] =
1447 "Smart Lock proximity detection";
1448
1449const char kEasyUnlockProximityDetectionDescription[] =
1450 "Enables a Smart Lock setting that restricts unlocking to only work "
1451 "when your phone is very close to (roughly, within an arm's length of) "
1452 "the Chrome device.";
1453
1454const char kWifiCredentialSyncName[] = "WiFi credential sync";
1455
1456const char kWifiCredentialSyncDescription[] =
1457 "Enables synchronizing WiFi network settings across devices. When "
1458 "enabled, the WiFi credential datatype is registered with Chrome Sync, "
1459 "and WiFi credentials are synchronized subject to user preferences. "
1460 "(See also, chrome://settings/syncSetup.)";
1461
1462const char kSyncSandboxName[] = "Use Chrome Sync sandbox";
1463
1464const char kSyncSandboxDescription[] =
1465 "Connects to the testing server for Chrome Sync.";
1466
1467const char kDatasaverPromptName[] = "Cellular Data Saver Prompt";
1468
1469const char kDatasaverPromptDescription[] =
1470 "Enables a prompt, which appears when a cellular network connection is "
1471 "detected, to take the user to the Data Saver extension page on Chrome "
1472 "Web Store.";
1473
1474const char kDatasaverPromptDemoMode[] = "Demo mode";
1475
vabr0215a8e2017-03-28 12:47:341476const char kTrySupportedChannelLayoutsName[] =
1477 "Causes audio output streams to check if channel layouts other than the "
1478 "default hardware layout are available.";
1479
1480const char kTrySupportedChannelLayoutsDescription[] =
1481 "Causes audio output streams to check if channel layouts other than the "
1482 "default hardware layout are available. Turning this on will allow the "
1483 "OS to do stereo to surround expansion if supported. May expose third "
1484 "party driver bugs, use with caution.";
1485
1486#if defined(OS_MACOSX)
1487
1488const char kAppInfoDialogName[] = "Toolkit-Views App Info Dialog.";
1489
1490const char kAppInfoDialogDescription[] =
1491 "Makes the Toolkit-Views based App Info dialog accessible from "
1492 "chrome://apps or chrome://extensions in place of the native extension "
1493 "permissions dialog, or the details link (which is a link to the Web "
1494 "Store).";
1495
1496const char kMacViewsNativeAppWindowsName[] = "Toolkit-Views App Windows.";
1497
1498const char kMacViewsNativeAppWindowsDescription[] =
1499 "Controls whether to use Toolkit-Views based Chrome App windows.";
1500
1501const char kMacViewsTaskManagerName[] = "Toolkit-Views Task Manager.";
1502
1503const char kMacViewsTaskManagerDescription[] =
1504 "Controls whether to use the Toolkit-Views based Task Manager.";
1505
1506const char kAppWindowCyclingName[] = "Custom Window Cycling for Chrome Apps.";
1507
1508const char kAppWindowCyclingDescription[] =
1509 "Changes the behavior of Cmd+` when a Chrome App becomes active. When "
1510 "enabled, Chrome Apps will not be cycled when Cmd+` is pressed from a "
1511 "browser window, and browser windows will not be cycled when a Chrome "
1512 "App is active.";
1513
1514#endif // defined(OS_MACOSX)
1515
1516#if defined(OS_CHROMEOS)
1517
1518const char kAcceleratedMjpegDecodeName[] =
1519 "Hardware-accelerated mjpeg decode for captured frame";
1520
1521const char kAcceleratedMjpegDecodeDescription[] =
1522 "Enable hardware-accelerated mjpeg decode for captured frame where "
1523 "available.";
1524
1525#endif // defined(OS_CHROMEOS)
1526
1527const char kSimplifiedFullscreenUiName[] =
1528 "Simplified full screen / mouse lock UI.";
1529
1530const char kSimplifiedFullscreenUiDescription[] =
1531 "A simplified new user experience when entering page-triggered full "
1532 "screen or mouse pointer lock states.";
1533
1534const char kExperimentalKeyboardLockUiName[] = "Experimental keyboard lock UI.";
1535
1536const char kExperimentalKeyboardLockUiDescription[] =
1537 "An experimental full screen with keyboard lock mode requiring users to "
1538 "hold Esc to exit.";
1539
1540#if defined(OS_ANDROID)
1541
1542const char kProgressBarAnimationName[] =
1543 "Android phone page loading progress bar animation";
1544
1545const char kProgressBarAnimationDescription[] =
1546 "Configures Android phone page loading progress bar animation.";
1547
1548const char kProgressBarAnimationLinear[] = "Linear";
1549
1550const char kProgressBarAnimationSmooth[] = "Smooth";
1551
1552const char kProgressBarAnimationSmoothIndeterminate[] = "Smooth indeterminate";
1553
1554const char kProgressBarAnimationFastStart[] = "Fast start";
1555
1556const char kProgressBarCompletionName[] =
1557 "Android phone page load progress bar completion time.";
1558
1559const char kProgressBarCompletionDescription[] =
1560 "Configures Android phone page loading progress bar completion time.";
1561
1562const char kProgressBarCompletionLoadEvent[] =
1563 R"*(Top loading frame's onload event ("everything" is done in the )*"
1564 R"*(page, historical behavior).)*";
1565
1566const char kProgressBarCompletionResourcesBeforeDcl[] =
1567 "Main frame's domContentLoaded and all resources loads started before "
1568 "domContentLoaded (iframes ignored).";
1569
1570const char kProgressBarCompletionDomContentLoaded[] =
1571 "Main frame's domContentLoaded (iframes ignored).";
1572
1573const char kProgressBarCompletionResourcesBeforeDclAndSameOriginIframes[] =
1574 "domContentLoaded and all resources loads started before "
1575 "domContentLoaded (main frame and same origin iframes).";
1576
1577#endif // defined(OS_ANDROID)
1578
1579const char kDisallowDocWrittenScriptsUiName[] =
1580 "Block scripts loaded via document.write";
1581
1582const char kDisallowDocWrittenScriptsUiDescription[] =
1583 "Disallows fetches for third-party parser-blocking scripts inserted "
1584 "into the main frame via document.write.";
1585
1586#if defined(OS_WIN)
1587
1588const char kEnableAppcontainerName[] = "Enable AppContainer Lockdown.";
1589
1590const char kEnableAppcontainerDescription[] =
1591 "Enables the use of an AppContainer on sandboxed processes to improve "
1592 "security.";
1593
1594#endif // defined(OS_WIN)
1595
elawrenced9978fc2017-05-02 02:45:191596#if defined(TOOLKIT_VIEWS) || (defined(OS_MACOSX) && !defined(OS_IOS))
1597
1598const char kShowCertLinkOnPageInfoName[] = "Show certificate link";
1599
1600const char kShowCertLinkOnPageInfoDescription[] =
1601 "Add a link from the Page Info bubble to the certificate viewer for HTTPS "
1602 "sites.";
1603
1604#endif // defined(TOOLKIT_VIEWS) || (defined(OS_MACOSX) && !defined(OS_IOS))
1605
vabr0215a8e2017-03-28 12:47:341606#if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
1607
1608const char kAutofillCreditCardUploadName[] =
1609 "Enable offering upload of Autofilled credit cards";
1610
1611const char kAutofillCreditCardUploadDescription[] =
1612 "Enables a new option to upload credit cards to Google Payments for "
1613 "sync to all Chrome devices.";
1614
1615#endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
1616
1617const char kForceUiDirectionName[] = "Force UI direction";
1618
1619const char kForceUiDirectionDescription[] =
1620 "Explicitly force the UI to left-to-right (LTR) or right-to-left (RTL) "
1621 "mode, overriding the default direction of the UI language.";
1622
krb6822b602017-05-02 14:53:211623const char kForceTextDirectionName[] = "Force text direction";
vabr0215a8e2017-03-28 12:47:341624
krb6822b602017-05-02 14:53:211625const char kForceTextDirectionDescription[] =
1626 "Explicitly force the per-character directionality of UI text to "
1627 "left-to-right (LTR) or right-to-left (RTL) mode, overriding the "
1628 "default direction of the character language.";
1629
1630const char kForceDirectionLtr[] = "Left-to-right";
1631
1632const char kForceDirectionRtl[] = "Right-to-left";
vabr0215a8e2017-03-28 12:47:341633
1634#if defined(OS_WIN) || defined(OS_LINUX)
1635
1636const char kEnableInputImeApiName[] = "Enable Input IME API";
1637
1638const char kEnableInputImeApiDescription[] =
1639 "Enable the use of chrome.input.ime API.";
1640
1641#endif // defined(OS_WIN) || defined(OS_LINUX)
1642
1643const char kEnableGroupedHistoryName[] = "Group history by domain";
1644
1645const char kEnableGroupedHistoryDescription[] =
1646 "Group history by website domain (i.e. google.com) on "
1647 "chrome://history.";
1648
vabr0215a8e2017-03-28 12:47:341649const char kSaveasMenuLabelExperimentName[] =
1650 "Switch 'Save as' menu labels to 'Download'";
1651
1652const char kSaveasMenuLabelExperimentDescription[] =
1653 "Enables an experiment to switch menu labels that use 'Save as...' to "
1654 "'Download'.";
1655
1656const char kEnableEnumeratingAudioDevicesName[] =
1657 "Experimentally enable enumerating audio devices.";
1658
1659const char kEnableEnumeratingAudioDevicesDescription[] =
1660 "Experimentally enable the use of enumerating audio devices.";
1661
1662const char kNewUsbBackendName[] = "Enable new USB backend";
1663
1664const char kNewUsbBackendDescription[] =
1665 "Enables the new experimental USB backend for Windows.";
1666
1667const char kNewOmniboxAnswerTypesName[] =
1668 "New omnibox answers in suggest types";
1669
1670const char kNewOmniboxAnswerTypesDescription[] =
1671 "Enables new types of answers in the omnibox suggest drop-down: "
1672 "currency conversions, dictionary definitions, sports scores, "
1673 "translations, and when is.";
1674
1675const char kEnableZeroSuggestRedirectToChromeName[] =
1676 "Experimental contextual omnibox suggestion";
1677
1678const char kEnableZeroSuggestRedirectToChromeDescription[] =
1679 "Change omnibox contextual suggestions to an experimental source. Note "
1680 "that this is not an on/off switch for contextual omnibox and it only "
1681 "applies to suggestions provided before the user starts typing a URL or "
1682 "a search query (i.e. zero suggest).";
1683
1684const char kFillOnAccountSelectName[] = "Fill passwords on account selection";
1685
1686const char kFillOnAccountSelectDescription[] =
1687 "Filling of passwords when an account is explicitly selected by the "
1688 "user rather than autofilling credentials on page load.";
1689
1690const char kEnableClearBrowsingDataCountersName[] =
1691 "Enable Clear browsing data counters.";
1692
1693const char kEnableClearBrowsingDataCountersDescription[] =
1694 "Shows data volume counters in the Clear browsing data dialog.";
1695
1696#if defined(OS_ANDROID)
1697
1698const char kTabsInCbdName[] = "Enable tabs for the Clear Browsing Data dialog.";
1699
1700const char kTabsInCbdDescription[] =
1701 "Enables a basic and an advanced tab for the Clear Browsing Data "
1702 "dialog.";
1703
1704#endif // defined(OS_ANDROID)
1705
brettw5f9c1642017-05-14 17:12:481706const char kNotificationsNativeFlagName[] = "Enable native notifications.";
vabr0215a8e2017-03-28 12:47:341707
1708const char kNotificationsNativeFlagDescription[] =
1709 "Enable support for using the native notification toasts and "
1710 "notification center on platforms where these are available.";
1711
1712#if defined(OS_ANDROID)
1713
1714const char kEnableAndroidSpellcheckerDescription[] =
1715 "Enables use of the Android spellchecker.";
1716
1717const char kEnableAndroidSpellcheckerName[] = "Enable spell checking";
1718
1719#endif // defined(OS_ANDROID)
1720
1721const char kEnableWebNotificationCustomLayoutsName[] =
1722 "Enable custom layouts for Web Notifications.";
1723
1724const char kEnableWebNotificationCustomLayoutsDescription[] =
1725 "Enable custom layouts for Web Notifications. They will have subtle "
1726 "layout improvements that are otherwise not possible.";
1727
vabr0215a8e2017-03-28 12:47:341728const char kGoogleProfileInfoName[] = "Google profile name and icon";
1729
1730const char kGoogleProfileInfoDescription[] =
1731 "Enables using Google information to populate the profile name and icon "
1732 "in the avatar menu.";
1733
brettw5f9c1642017-05-14 17:12:481734const char kOfferStoreUnmaskedWalletCardsName[] =
vabr0215a8e2017-03-28 12:47:341735 "Google Payments card saving checkbox";
1736
1737const char kOfferStoreUnmaskedWalletCardsDescription[] =
1738 "Show the checkbox to offer local saving of a credit card downloaded "
1739 "from the server.";
1740
1741const char kOfflineAutoReloadName[] = "Offline Auto-Reload Mode";
1742
1743const char kOfflineAutoReloadDescription[] =
1744 "Pages that fail to load while the browser is offline will be "
1745 "auto-reloaded when the browser is online again.";
1746
1747const char kOfflineAutoReloadVisibleOnlyName[] =
1748 "Only Auto-Reload Visible Tabs";
1749
1750const char kOfflineAutoReloadVisibleOnlyDescription[] =
1751 "Pages that fail to load while the browser is offline will only be "
1752 "auto-reloaded if their tab is visible.";
1753
1754const char kShowSavedCopyName[] = "Show Saved Copy Button";
1755
1756const char kShowSavedCopyDescription[] =
1757 "When a page fails to load, if a stale copy of the page exists in the "
1758 "browser cache, a button will be presented to allow the user to load "
1759 "that stale copy. The primary enabling choice puts the button in the "
1760 "most salient position on the error page; the secondary enabling choice "
1761 "puts it secondary to the reload button.";
1762
1763const char kEnableShowSavedCopyPrimary[] = "Enable: Primary";
1764
1765const char kEnableShowSavedCopySecondary[] = "Enable: Secondary";
1766
1767const char kDisableShowSavedCopy[] = "Disable";
1768
1769#if defined(OS_CHROMEOS)
1770
vabr0215a8e2017-03-28 12:47:341771const char kVirtualKeyboardName[] = "Virtual Keyboard";
1772
1773const char kVirtualKeyboardDescription[] = "Enable virtual keyboard support.";
1774
1775const char kVirtualKeyboardOverscrollName[] = "Virtual Keyboard Overscroll";
1776
1777const char kVirtualKeyboardOverscrollDescription[] =
1778 "Enables virtual keyboard overscroll support.";
1779
1780const char kInputViewName[] = "Input views";
1781
1782const char kInputViewDescription[] =
1783 "Enable IME extensions to supply custom views for user input such as "
1784 "virtual keyboards.";
1785
1786const char kNewKoreanImeName[] = "New Korean IME";
1787
1788const char kNewKoreanImeDescription[] =
1789 "New Korean IME, which is based on Google Input Tools' HMM engine.";
1790
1791const char kPhysicalKeyboardAutocorrectName[] = "Physical keyboard autocorrect";
1792
1793const char kPhysicalKeyboardAutocorrectDescription[] =
1794 "Enable physical keyboard autocorrect for US keyboard, which can "
1795 "provide suggestions as typing on physical keyboard.";
1796
1797const char kVoiceInputName[] = "Voice input on virtual keyboard";
1798
1799const char kVoiceInputDescription[] =
1800 "Enables voice input on virtual keyboard.";
1801
1802const char kExperimentalInputViewFeaturesName[] =
1803 "Experimental input view features";
1804
1805const char kExperimentalInputViewFeaturesDescription[] =
1806 "Enable experimental features for IME input views.";
1807
1808const char kFloatingVirtualKeyboardName[] = "Floating virtual keyboard.";
1809
1810const char kFloatingVirtualKeyboardDescription[] =
1811 "Enable/Disable floating virtual keyboard.";
1812
1813const char kGestureTypingName[] = "Gesture typing for the virtual keyboard.";
1814
1815const char kGestureTypingDescription[] =
1816 "Enable/Disable gesture typing option in the settings page for the "
1817 "virtual keyboard.";
1818
1819const char kGestureEditingName[] = "Gesture editing for the virtual keyboard.";
1820
1821const char kGestureEditingDescription[] =
1822 "Enable/Disable gesture editing option in the settings page for the "
1823 "virtual keyboard.";
1824
1825const char kCaptivePortalBypassProxyName[] =
1826 "Bypass proxy for Captive Portal Authorization";
1827
1828const char kCaptivePortalBypassProxyDescription[] =
1829 "If proxy is configured, it usually prevents from authorization on "
1830 "different captive portals. This enables opening captive portal "
1831 "authorization dialog in a separate window, which ignores proxy "
1832 "settings.";
1833
1834const char kTouchscreenCalibrationName[] =
1835 "Enable/disable touchscreen calibration option in material design "
1836 "settings";
1837
1838const char kTouchscreenCalibrationDescription[] =
1839 "If enabled, the user can calibrate the touch screen displays in "
1840 "chrome://md-settings/display.";
1841
yamaguchid99a64b2017-05-12 15:33:491842const char kTeamDrivesName[] = "Enable Team Drives Integration";
1843const char kTeamDrivesDescription[] =
1844 "If enabled, files under Team Drives will appear in the Files app.";
1845
vabr0215a8e2017-03-28 12:47:341846#endif // defined(OS_CHROMEOS)
1847
1848// Strings for controlling credit card assist feature in about:flags.
1849
1850const char kCreditCardAssistName[] = "Credit Card Assisted Filling";
1851
1852const char kCreditCardAssistDescription[] =
1853 "Enable assisted credit card filling on certain sites.";
1854
1855// Strings for controlling credit card scanning feature in about:flags.
1856
1857// Simple Cache Backend experiment.
1858
1859const char kSimpleCacheBackendName[] = "Simple Cache for HTTP";
1860
1861const char kSimpleCacheBackendDescription[] =
1862 "The Simple Cache for HTTP is a new cache. It relies on the filesystem "
1863 "for disk space allocation.";
1864
1865// Spelling feedback field trial.
1866
1867const char kSpellingFeedbackFieldTrialName[] = "Spelling Feedback Field Trial";
1868
1869const char kSpellingFeedbackFieldTrialDescription[] =
1870 "Enable the field trial for sending user feedback to spelling service.";
1871
1872// Web MIDI API.
1873
1874const char kWebMidiName[] = "Web MIDI API";
1875
1876const char kWebMidiDescription[] = "Enable Web MIDI API experimental support.";
1877
1878// Site per process mode
1879
creisc3af64f2017-04-12 17:22:381880const char kSitePerProcessName[] = "Strict site isolation";
vabr0215a8e2017-03-28 12:47:341881
1882const char kSitePerProcessDescription[] =
creisc3af64f2017-04-12 17:22:381883 "Highly experimental security mode that ensures each renderer process "
1884 "contains pages from at most one site. In this mode, out-of-process "
1885 "iframes will be used whenever an iframe is cross-site.";
vabr0215a8e2017-03-28 12:47:341886
1887// Top document isolation mode
1888
1889const char kTopDocumentIsolationName[] = "Top document isolation";
1890
1891const char kTopDocumentIsolationDescription[] =
1892 "Highly experimental performance mode where cross-site iframes are kept "
1893 "in a separate process from the top document. In this mode, iframes "
1894 "from different third-party sites will be allowed to share a process.";
1895
1896// Cross process guest frames isolation mode
1897
1898const char kCrossProcessGuestViewIsolationName[] =
1899 "Cross process frames for guests";
1900
1901const char kCrossProcessGuestViewIsolationDescription[] =
1902 "Highly experimental where guests such as <webview> are implemented "
1903 "on the out-of-process iframe infrastructure.";
1904
1905// Task Scheduler
1906
1907const char kBrowserTaskSchedulerName[] = "Task Scheduler";
1908
1909const char kBrowserTaskSchedulerDescription[] =
1910 "Enables redirection of some task posting APIs to the task scheduler.";
1911
1912// Arc authorization
1913
1914#if defined(OS_CHROMEOS)
1915
1916const char kArcUseAuthEndpointName[] = "Android apps authorization point";
1917
1918const char kArcUseAuthEndpointDescription[] =
1919 "Enable Android apps authorization point to automatic sign-in in OptIn "
1920 "flow.";
1921
1922#endif // defined(OS_CHROMEOS)
1923
1924// Autofill experiment flags
1925
1926const char kSingleClickAutofillName[] = "Single-click autofill";
1927
1928const char kSingleClickAutofillDescription[] =
1929 "Make autofill suggestions on initial mouse click on a form element.";
1930
1931#if defined(OS_ANDROID)
1932
1933const char kAutofillAccessoryViewName[] =
1934 "Autofill suggestions as keyboard accessory view";
1935
1936const char kAutofillAccessoryViewDescription[] =
1937 "Shows Autofill suggestions on top of the keyboard rather than in a "
1938 "dropdown.";
1939
1940#endif // defined(OS_ANDROID)
1941
1942// Reader mode experiment flags
1943
1944#if defined(OS_ANDROID)
1945
1946const char kReaderModeHeuristicsName[] = "Reader Mode triggering";
1947
1948const char kReaderModeHeuristicsDescription[] =
1949 "Determines what pages the Reader Mode button is shown on.";
1950
1951const char kReaderModeHeuristicsMarkup[] = "With article structured markup";
1952
1953const char kReaderModeHeuristicsAdaboost[] = "Appears to be an article";
1954
1955const char kReaderModeHeuristicsAlwaysOff[] = "Never";
1956
1957const char kReaderModeHeuristicsAlwaysOn[] = "Always";
1958
1959#endif // defined(OS_ANDROID)
1960
1961// Chrome home flags
1962
1963#if defined(OS_ANDROID)
1964
1965const char kChromeHomeName[] = "Chrome Home";
1966
1967const char kChromeHomeDescription[] = "Enables Chrome Home on Android.";
1968
mdjonesd484eac2017-05-02 21:34:451969const char kChromeHomeExpandButtonName[] = "Chrome Home Expand Button";
1970
1971const char kChromeHomeExpandButtonDescription[] =
1972 "Enables the expand button for Chrome Home.";
1973
Matthew Jonesd349741f2017-05-26 21:07:521974const char kChromeHomeSwipeLogicName[] = "Chrome Home Swipe Logic";
1975
1976const char kChromeHomeSwipeLogicDescription[] =
1977 "Various swipe logic options for Chrome Home for sheet expansion.";
1978
1979const char kChromeHomeSwipeLogicRestrictArea[] = "Restrict swipable area";
1980
vabr0215a8e2017-03-28 12:47:341981#endif // defined(OS_ANDROID)
1982
Tommy Nyquist4fad7062017-04-11 20:01:281983// In-Product Help flags
1984
1985#if defined(OS_ANDROID)
1986
Tommy Nyquistf5f0bccb2017-06-01 20:56:211987const char kIphDemoModeChoiceName[] = "In-Product Help Demo Mode";
Tommy Nyquist4fad7062017-04-11 20:01:281988
Tommy Nyquistf5f0bccb2017-06-01 20:56:211989const char kIphDemoModeChoiceDescription[] =
1990 "Selects the In-Product Help demo mode.";
Tommy Nyquist4fad7062017-04-11 20:01:281991
1992#endif // defined(OS_ANDROID)
1993
vabr0215a8e2017-03-28 12:47:341994// Settings window flags
1995
1996const char kSettingsWindowName[] = "Show settings in a window";
1997
1998const char kSettingsWindowDescription[] =
1999 "Settings will be shown in a dedicated window instead of as a browser "
2000 "tab.";
2001
2002// Mixed content issue workaround flags
2003
2004#if defined(OS_ANDROID)
2005
2006// Flag strings for seccomp-bpf sandbox flag.
2007
2008const char kSeccompFilterSandboxAndroidName[] = "Seccomp-bpf renderer sandbox";
2009
2010const char kSeccompFilterSandboxAndroidDescription[] =
2011 "Renderers will have a second-layer sandbox provided by seccomp-bpf. "
2012 "This requires kernel features only available on select Android "
2013 "versions.";
2014
2015#endif // defined(OS_ANDROID)
2016
2017// Extension Content Verification
2018
2019const char kExtensionContentVerificationName[] =
2020 "Extension Content Verification";
2021
2022const char kExtensionContentVerificationDescription[] =
2023 "This flag can be used to turn on verification that the contents of the "
2024 "files on disk for extensions from the webstore match what they're "
2025 "expected to be. This can be used to turn on this feature if it would "
2026 "not otherwise have been turned on, but cannot be used to turn it off "
2027 "(because this setting can be tampered with by malware).";
2028
2029const char kExtensionContentVerificationBootstrap[] =
2030 "Bootstrap (get expected hashes, but do not enforce them)";
2031
2032const char kExtensionContentVerificationEnforce[] =
2033 "Enforce (try to get hashes, and enforce them if successful)";
2034
2035const char kExtensionContentVerificationEnforceStrict[] =
2036 "Enforce strict (hard fail if we can't get hashes)";
2037
2038// Built-in hotword detection display strings
2039
2040const char kExperimentalHotwordHardwareName[] =
2041 "Simulated hardware 'Ok Google' features";
2042
2043const char kExperimentalHotwordHardwareDescription[] =
2044 "Enables an experimental version of 'Ok Google' hotword detection "
2045 "features that have a hardware dependency.";
2046
2047// Message center strings
2048
2049const char kMessageCenterAlwaysScrollUpUponRemovalName[] =
2050 "Experiments that message center always scroll up upon notification "
2051 "removal";
2052
2053const char kMessageCenterAlwaysScrollUpUponRemovalDescription[] =
2054 "Enables experiment that message center always scroll up when a "
2055 "notification is removed.";
2056
yoshikif14ac822017-05-31 04:26:142057const char kMessageCenterNewStyleNotificationName[] = "New style notification";
2058
2059const char kMessageCenterNewStyleNotificationDescription[] =
2060 "Enables the experiment style of material-design notification";
2061
vabr0215a8e2017-03-28 12:47:342062const char kCastStreamingHwEncodingName[] =
2063 "Cast Streaming hardware video encoding";
2064
2065const char kCastStreamingHwEncodingDescription[] =
2066 "This option enables support in Cast Streaming for encoding video "
2067 "streams using platform hardware.";
2068
brettw5f9c1642017-05-14 17:12:482069const char kAllowInsecureLocalhostName[] =
vabr0215a8e2017-03-28 12:47:342070 "Allow invalid certificates for resources loaded from localhost.";
2071
2072const char kAllowInsecureLocalhostDescription[] =
2073 "Allows requests to localhost over HTTPS even when an invalid "
2074 "certificate is presented.";
2075
2076#if defined(OS_WIN) || defined(OS_MACOSX)
2077
2078// Tab discarding
2079
2080const char kAutomaticTabDiscardingName[] = "Automatic tab discarding";
2081
2082const char kAutomaticTabDiscardingDescription[] =
2083 "If enabled, tabs get automatically discarded from memory when the "
2084 "system memory is low. Discarded tabs are still visible on the tab "
2085 "strip and get reloaded when clicked on. Info about discarded tabs can "
2086 "be found at chrome://discards.";
2087
2088#endif // defined(OS_WIN) || defined(OS_MACOSX)
2089
2090#if defined(OS_ANDROID)
2091
2092const char kOfflineBookmarksName[] = "Enable offline bookmarks";
2093
2094const char kOfflineBookmarksDescription[] =
2095 "Enable saving bookmarked pages for offline viewing.";
2096
2097const char kNtpOfflinePagesName[] = "Enable NTP offline pages";
2098
2099const char kNtpOfflinePagesDescription[] =
2100 "Enables badging of offline pages on the New Tab page. Only relevant if "
2101 "offline pages are enabled.";
2102
2103const char kOfflinePagesAsyncDownloadName[] =
2104 R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages.)*";
2105
2106const char kOfflinePagesAsyncDownloadDescription[] =
2107 R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages such )*"
2108 R"*(that the user can click on it to download the page later.)*";
2109
2110const char kOfflinePagesSvelteConcurrentLoadingName[] =
2111 "Enables concurrent background loading on svelte.";
2112
2113const char kOfflinePagesSvelteConcurrentLoadingDescription[] =
2114 "Enables concurrent background loading (or downloading) of pages on "
2115 "Android svelte (512MB RAM) devices. Otherwise, background loading will "
2116 "happen when the svelte device is idle.";
2117
petewil2abcf042017-04-10 21:45:002118const char kOfflinePagesLoadSignalCollectingName[] =
2119 "Enables collecting load timing data for offline page snapshots.";
2120
2121const char kOfflinePagesLoadSignalCollectingDescription[] =
2122 "Enables loading completeness data collection while writing an offline "
2123 "page. This data is collected in the snapshotted offline page to allow "
2124 "data analysis to improve deciding when to make the offline snapshot.";
2125
vabr0215a8e2017-03-28 12:47:342126const char kOfflinePagesPrefetchingName[] =
2127 "Enables suggested offline pages to be prefetched.";
2128
2129const char kOfflinePagesPrefetchingDescription[] =
2130 "Enables suggested offline pages to be prefetched, so useful content is "
2131 "available while offline.";
2132
2133const char kOfflinePagesSharingName[] = "Enables offline pages to be shared.";
2134
2135const char kOfflinePagesSharingDescription[] =
2136 "Enables the saved offline pages to be shared via other applications.";
2137
2138const char kBackgroundLoaderForDownloadsName[] =
2139 "Enables background downloading of pages.";
2140
2141const char kBackgroundLoaderForDownloadsDescription[] =
2142 "Enables downloading pages in the background in case page is not yet "
2143 "loaded in current tab.";
2144
2145const char kNewBackgroundLoaderName[] =
2146 "Use background loader instead of prerenderer to load pages.";
2147
2148const char kNewBackgroundLoaderDescription[] =
2149 "Use background loader instead of prerenderer to asynchronously "
2150 "download pages.";
2151
2152const char kNtpPopularSitesName[] = "Show popular sites on the New Tab page";
2153
2154const char kNtpPopularSitesDescription[] =
2155 "Pre-populate the New Tab page with popular sites.";
2156
2157const char kNtpSwitchToExistingTabName[] =
2158 "Switch to an existing tab for New Tab Page suggestions.";
2159
2160const char kNtpSwitchToExistingTabDescription[] =
2161 "When opening a suggested webpage from the New Tab Page, if a tab is "
2162 "already open for the suggestion, switch to that one instead of loading "
2163 "the suggestion in the new tab.";
2164
2165const char kNtpSwitchToExistingTabMatchUrl[] = "Match by URL";
2166
2167const char kNtpSwitchToExistingTabMatchHost[] = "Match by Hostname";
2168
2169const char kUseAndroidMidiApiName[] = "Use Android Midi API";
2170
2171const char kUseAndroidMidiApiDescription[] =
2172 "Use Android Midi API for WebMIDI (effective only with Android M+ "
2173 "devices).";
2174
2175const char kWebPaymentsModifiersName[] = "Enable web payment modifiers";
2176
2177const char kWebPaymentsModifiersDescription[] =
2178 "If the website provides modifiers in the payment request, show the "
2179 "custom total for each payment instrument, update the shopping cart "
2180 "when instruments are switched, and send modified payment method "
2181 "specific data to the payment app.";
2182
lbargu8bb0fabc2017-05-19 14:53:112183const char kXGEOVisibleNetworksName[] = "Enable XGEO Visible Networks";
2184
2185const char kXGEOVisibleNetworksDescription[] =
2186 "If location permissions are granted, include visible networks in the XGEO "
2187 "Header for omnibox queries. This will only happen if location is not "
2188 "fresh or not available (for example, due to a cold start).";
2189
vabr0215a8e2017-03-28 12:47:342190#endif // defined(OS_ANDROID)
2191
2192#if defined(OS_WIN)
2193
2194// Exporting tracing events to ETW
2195
2196const char kTraceExportEventsToEtwName[] =
2197 "Enable exporting of tracing events to ETW.";
2198
2199const char kTraceExportEventsToEtwDesription[] =
2200 "If enabled, trace events will be exported to the Event Tracing for "
2201 "Windows (ETW) and can then be captured by tools such as UIForETW or "
2202 "Xperf.";
2203
2204const char kMergeKeyCharEventsName[] =
2205 "Enable or disable merging merging the key event (WM_KEY*) with char "
2206 "event (WM_CHAR).";
2207
2208const char kMergeKeyCharEventsDescription[] =
2209 "If disabled, Chrome will handle WM_KEY* and WM_CHAR separatedly.";
2210
2211const char kUseWinrtMidiApiName[] = "Use Windows Runtime MIDI API";
2212
2213const char kUseWinrtMidiApiDescription[] =
2214 "Use Windows Runtime MIDI API for WebMIDI (effective only on Windows 10 "
2215 "or later).";
2216
2217#endif // defined(OS_WIN)
2218
2219#if defined(OS_ANDROID)
2220
2221// Data Use
2222
2223// Update Menu Item Flags
2224
2225const char kUpdateMenuItemName[] = "Force show update menu item";
2226
2227const char kUpdateMenuItemDescription[] =
2228 R"*(When enabled, an "Update Chrome" item will be shown in the app )*"
2229 R"*(menu.)*";
2230
twellingtonce0b29ba2017-04-19 21:01:172231const char kUpdateMenuItemCustomSummaryDescription[] =
vabr0215a8e2017-03-28 12:47:342232 "When this flag and the force show update menu item flag are enabled, a "
twellingtonce0b29ba2017-04-19 21:01:172233 "custom summary string will be displayed below the update menu item.";
vabr0215a8e2017-03-28 12:47:342234
twellingtonce0b29ba2017-04-19 21:01:172235const char kUpdateMenuItemCustomSummaryName[] =
2236 "Update menu item custom summary";
vabr0215a8e2017-03-28 12:47:342237
2238const char kUpdateMenuBadgeName[] = "Force show update menu badge";
2239
2240const char kUpdateMenuBadgeDescription[] =
2241 "When enabled, an update badge will be shown on the app menu button.";
2242
2243const char kSetMarketUrlForTestingName[] = "Set market URL for testing";
2244
2245const char kSetMarketUrlForTestingDescription[] =
2246 "When enabled, sets the market URL for use in testing the update menu "
2247 "item.";
2248
2249#endif // defined(OS_ANDROID)
2250
2251#if defined(OS_ANDROID)
2252
2253const char kHerbPrototypeChoicesName[] = "Switch preferred flavor of Herb";
2254
2255const char kHerbPrototypeChoicesDescription[] =
2256 "Switching this option changes which tab management prototype is being "
2257 "tested.";
2258
2259const char kHerbPrototypeFlavorElderberry[] =
2260 "ELDERBERRY: All View Intents in CCT v2";
2261
2262const char kEnableSpecialLocaleName[] =
2263 "Enable custom logic for special locales.";
2264
2265const char kEnableSpecialLocaleDescription[] =
2266 "Enable custom logic for special locales. In this mode, Chrome might "
2267 "behave differently in some locales.";
2268
2269// WebApks
2270
2271const char kEnableWebapk[] = "Enable improved add to Home screen";
2272
2273const char kEnableWebapkDescription[] =
2274 R"*(Packages "Progressive Web Apps" so that they can integrate more )*"
2275 R"*(deeply with Android. A Chrome server is used to package sites. In )*"
2276 R"*(Chrome Canary and Chrome Dev, this requires “Untrusted )*"
2277 R"*(sources” to be enabled in Android security settings.)*";
2278
2279#endif // defined(OS_ANDROID)
2280
2281const char kEnableBrotliName[] = "Brotli Content-Encoding.";
2282
2283const char kEnableBrotliDescription[] =
2284 "Enable Brotli Content-Encoding support.";
2285
2286const char kEnableWebfontsInterventionName[] =
2287 "New version of User Agent Intervention for WebFonts loading.";
2288
2289const char kEnableWebfontsInterventionDescription[] =
2290 "Enable New version of User Agent Intervention for WebFonts loading.";
2291
2292const char kEnableWebfontsInterventionV2ChoiceDefault[] = "Default";
2293
2294const char kEnableWebfontsInterventionV2ChoiceEnabledWith2g[] = "Enabled: 2G";
2295
2296const char kEnableWebfontsInterventionV2ChoiceEnabledWith3g[] = "Enabled: 3G";
2297
2298const char kEnableWebfontsInterventionV2ChoiceEnabledWithSlow2g[] =
2299 "Enabled: Slow 2G";
2300
2301const char kEnableWebfontsInterventionV2ChoiceDisabled[] = "Disabled";
2302
2303const char kEnableWebfontsInterventionTriggerName[] =
2304 "Trigger User Agent Intervention for WebFonts loading always.";
2305
2306const char kEnableWebfontsInterventionTriggerDescription[] =
2307 "Enable to trigger User Agent Intervention for WebFonts loading always. "
2308 "This flag affects only when the intervention is enabled.";
2309
2310const char kEnableScrollAnchoringName[] = "Scroll Anchoring";
2311
2312const char kEnableScrollAnchoringDescription[] =
2313 "Adjusts scroll position to prevent visible jumps when offscreen "
2314 "content changes.";
2315
2316#if defined(OS_CHROMEOS)
2317
skaua9afc0212017-04-07 19:18:472318const char kDisableNativeCupsName[] = "Native CUPS";
vabr0215a8e2017-03-28 12:47:342319
skaua9afc0212017-04-07 19:18:472320const char kDisableNativeCupsDescription[] =
2321 "Disable the use of the native CUPS printing backend.";
vabr0215a8e2017-03-28 12:47:342322
2323const char kEnableAndroidWallpapersAppName[] = "Android Wallpapers App";
2324
2325const char kEnableAndroidWallpapersAppDescription[] =
2326 "Enables the Android Wallpapers App as the default Wallpaper App on "
2327 "Chrome OS.";
2328
2329const char kEnableTouchSupportForScreenMagnifierName[] =
2330 "Touch support for screen magnifier";
2331
2332const char kEnableTouchSupportForScreenMagnifierDescription[] =
2333 "Enables touch support for screen magnifier";
2334
takise183b8cb42017-04-07 05:12:082335const char kEnableZipArchiverOnFileManagerName[] =
2336 "ZIP archiver for Drive";
2337
2338const char kEnableZipArchiverOnFileManagerDescription[] =
2339 "Enable the ability to archive and unpack files on Drive in the Files app";
2340
xiaochu32e9672a2017-05-04 04:15:082341const char kCrOSComponentName[] = "Chrome OS Component";
2342
2343const char kCrOSComponentDescription[] =
2344 "Enable the use of Chrome OS Component to download Chrome OS features "
2345 "on-demand as components.";
2346
vabr0215a8e2017-03-28 12:47:342347#endif // defined(OS_CHROMEOS)
2348
2349#if defined(OS_ANDROID)
2350
2351const char kContentSuggestionsCategoryOrderName[] =
2352 "Default content suggestions category order (e.g. on NTP)";
2353
2354const char kContentSuggestionsCategoryOrderDescription[] =
2355 "Set default order of content suggestion categories (e.g. on the NTP).";
2356
2357const char kContentSuggestionsCategoryRankerName[] =
2358 "Content suggestions category ranker (e.g. on NTP)";
2359
2360const char kContentSuggestionsCategoryRankerDescription[] =
2361 "Set category ranker to order categories of content suggestions (e.g. "
2362 "on the NTP).";
2363
2364const char kEnableNtpSnippetsVisibilityName[] =
2365 "Make New Tab Page Snippets more visible.";
2366
2367const char kEnableNtpSnippetsVisibilityDescription[] =
2368 "If enabled, the NTP snippets will become more discoverable with a "
2369 "larger portion of the first card above the fold.";
2370
jkrcal18514e662017-03-30 06:12:282371const char kEnableContentSuggestionsNewFaviconServerName[] =
2372 "Get favicons for content suggestions from a new server.";
2373
2374const char kEnableContentSuggestionsNewFaviconServerDescription[] =
2375 "If enabled, the content suggestions (on the NTP) will get favicons from a "
2376 "new favicon server.";
2377
mastizbac78ad2017-05-22 10:14:002378const char kEnableFaviconsFromWebManifestName[] =
2379 "Load favicons from Web Manifests";
2380
2381const char kEnableFaviconsFromWebManifestDescription[] =
2382 "Fetch Web Manifests on page load to read favicons from them.";
2383
jkrcal7d79de52017-05-05 18:13:102384const char kEnableNtpMostLikelyFaviconsFromServerName[] =
2385 "Download favicons for NTP tiles from Google.";
2386
2387const char kEnableNtpMostLikelyFaviconsFromServerDescription[] =
2388 "If enabled, missing favicons for NTP tiles get downloaded from Google. "
2389 "This only applies to tiles that originate from synced history.";
2390
Nicolas Dossou-gbetec92e3ff2017-05-24 14:21:482391const char kEnableContentSuggestionsCategoriesName[] =
2392 "Organize content suggestions by categories.";
2393
2394const char kEnableContentSuggestionsCategoriesDescription[] =
2395 "If enabled, the content suggestions will be grouped by categories or "
2396 "topics. Only remote content suggestions are shown when this is enabled.";
2397
dgn2b5a43382017-04-06 16:56:562398const char kEnableContentSuggestionsSettingsName[] =
2399 "Show content suggestions settings.";
2400
2401const char kEnableContentSuggestionsSettingsDescription[] =
2402 "If enabled, the content suggestions settings will be available from the "
2403 "main settings menu.";
2404
mvanouwerkerk6771b152017-05-10 14:40:342405const char kEnableContentSuggestionsShowSummaryName[] =
2406 "Show content suggestions summaries.";
2407
2408const char kEnableContentSuggestionsShowSummaryDescription[] =
2409 "If enabled, the content suggestions summaries will be shown.";
2410
vabr0215a8e2017-03-28 12:47:342411const char kEnableNtpRemoteSuggestionsName[] =
2412 "Show server-side suggestions on the New Tab page";
2413
2414const char kEnableNtpRemoteSuggestionsDescription[] =
2415 "If enabled, the list of content suggestions on the New Tab page (see "
2416 "#enable-ntp-snippets) will contain server-side suggestions (e.g., "
2417 "Articles for you). Furthermore, it allows to override the source used "
2418 "to retrieve these server-side suggestions.";
2419
2420const char kEnableNtpRecentOfflineTabSuggestionsName[] =
2421 "Show recent offline tabs on the New Tab page";
2422
2423const char kEnableNtpRecentOfflineTabSuggestionsDescription[] =
2424 "If enabled, the list of content suggestions on the New Tab page (see "
2425 "#enable-ntp-snippets) will contain pages that were captured offline "
2426 "during browsing (see #offlining-recent-pages)";
2427
vabr0215a8e2017-03-28 12:47:342428const char kEnableNtpAssetDownloadSuggestionsName[] =
2429 "Show asset downloads on the New Tab page";
2430
2431const char kEnableNtpAssetDownloadSuggestionsDescription[] =
2432 "If enabled, the list of content suggestions on the New Tab page (see "
2433 "#enable-ntp-snippets) will contain assets (e.g. books, pictures, "
2434 "audio) that the user downloaded for later use.";
2435
2436const char kEnableNtpOfflinePageDownloadSuggestionsName[] =
2437 "Show offline page downloads on the New Tab page";
2438
2439const char kEnableNtpOfflinePageDownloadSuggestionsDescription[] =
2440 "If enabled, the list of content suggestions on the New Tab page (see "
2441 "#enable-ntp-snippets) will contain pages that the user downloaded for "
2442 "later use.";
2443
2444const char kEnableNtpBookmarkSuggestionsName[] =
2445 "Show recently visited bookmarks on the New Tab page";
2446
2447const char kEnableNtpBookmarkSuggestionsDescription[] =
2448 "If enabled, the list of content suggestions on the New Tab page (see "
2449 "#enable-ntp-snippets) will contain recently visited bookmarks.";
2450
2451const char kEnableNtpPhysicalWebPageSuggestionsName[] =
2452 "Show Physical Web pages on the New Tab page";
2453
2454const char kEnableNtpPhysicalWebPageSuggestionsDescription[] =
2455 "If enabled, the list of content suggestions on the New Tab page (see "
2456 "#enable-ntp-snippets) will contain pages that are available through "
2457 "Physical Web (see #enable-physical-web)";
2458
2459const char kEnableNtpForeignSessionsSuggestionsName[] =
2460 "Show recent foreign tabs on the New Tab page";
2461
2462const char kEnableNtpForeignSessionsSuggestionsDescription[] =
2463 "If enabled, the list of content suggestions on the New Tab page (see "
2464 "#enable-ntp-snippets) will contain recent foreign tabs.";
2465
2466const char kEnableNtpSuggestionsNotificationsName[] =
2467 "Notify about new content suggestions available at the New Tab page";
2468
2469const char kEnableNtpSuggestionsNotificationsDescription[] =
2470 "If enabled, notifications will inform about new content suggestions on "
2471 "the New Tab page (see #enable-ntp-snippets).";
2472
2473const char kNtpCondensedLayoutName[] = "Condensed NTP layout";
2474
2475const char kNtpCondensedLayoutDescription[] =
2476 "Show a condensed layout on the New Tab Page.";
2477
2478const char kNtpCondensedTileLayoutName[] = "Condensed NTP tile layout";
2479
2480const char kNtpCondensedTileLayoutDescription[] =
2481 "Show a condensed tile layout on the New Tab Page.";
2482
2483const char kNtpGoogleGInOmniboxName[] = "Google G in New Tab Page omnibox";
2484
2485const char kNtpGoogleGInOmniboxDescription[] =
2486 "Show a Google G in the omnibox on the New Tab Page.";
2487
2488#endif // defined(OS_ANDROID)
2489
2490#if defined(OS_ANDROID)
2491
2492const char kOffliningRecentPagesName[] =
2493 "Enable offlining of recently visited pages";
2494
2495const char kOffliningRecentPagesDescription[] =
2496 "Enable storing recently visited pages locally for offline use. "
2497 "Requires Offline Pages to be enabled.";
2498
2499const char kOfflinePagesCtName[] = "Enable Offline Pages CT features.";
2500
2501const char kOfflinePagesCtDescription[] = "Enable Offline Pages CT features.";
2502
2503#endif // defined(OS_ANDROID)
2504
2505#if defined(OS_ANDROID)
2506
brettw5f9c1642017-05-14 17:12:482507const char kEnableExpandedAutofillCreditCardPopupLayoutName[] =
vabr0215a8e2017-03-28 12:47:342508 "Use expanded autofill credit card popup layout.";
2509
2510const char kEnableExpandedAutofillCreditCardPopupLayoutDescription[] =
2511 "If enabled, displays autofill credit card popup using expanded "
2512 "layout.";
2513
2514#endif // defined(OS_ANDROID)
2515
brettw5f9c1642017-05-14 17:12:482516const char kEnableAutofillCreditCardLastUsedDateDisplayName[] =
vabr0215a8e2017-03-28 12:47:342517 "Display the last used date of a credit card in autofill.";
2518
2519const char kEnableAutofillCreditCardLastUsedDateDisplayDescription[] =
2520 "If enabled, display the last used date of a credit card in autofill.";
2521
brettw5f9c1642017-05-14 17:12:482522const char kEnableAutofillCreditCardUploadCvcPromptName[] =
jsaul314052192017-04-13 23:20:572523 "Enable requesting missing CVC during Autofill credit card upload";
2524
2525const char kEnableAutofillCreditCardUploadCvcPromptDescription[] =
2526 "If enabled, requests missing CVC when offering to upload credit cards to "
2527 "Google Payments.";
2528
vabr0215a8e2017-03-28 12:47:342529#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
2530
2531const char kGoogleBrandedContextMenuName[] =
2532 "Google branding in the context menu";
2533
2534const char kGoogleBrandedContextMenuDescription[] =
2535 "Shows a Google icon next to context menu items powered by Google "
2536 "services.";
2537
2538#endif // !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
2539
2540const char kEnableWebUsbName[] = "WebUSB";
2541
2542const char kEnableWebUsbDescription[] = "Enable WebUSB support.";
2543
2544const char kEnableGenericSensorName[] = "Generic Sensor";
2545
2546const char kEnableGenericSensorDescription[] =
2547 "Enable sensor APIs based on Generic Sensor API.";
2548
2549const char kFontCacheScalingName[] = "FontCache scaling";
2550
2551const char kFontCacheScalingDescription[] =
2552 "Reuse a cached font in the renderer to serve different sizes of font "
2553 "for faster layout.";
2554
2555const char kFramebustingName[] =
2556 "Framebusting requires same-origin or a user gesture";
2557
2558const char kFramebustingDescription[] =
2559 "Don't permit an iframe to navigate the top level browsing context "
2560 "unless they are same-origin or the iframe is processing a user "
2561 "gesture.";
2562
binluc5b59112017-04-19 15:38:462563const char kVibrateRequiresUserGestureName[] =
2564 "Requiring user gesture for the Vibration API";
2565
2566const char kVibrateRequiresUserGestureDescription[] =
2567 "Block the Vibration API if no user gesture has been received on "
2568 "the frame or any embedded frame.";
2569
vabr0215a8e2017-03-28 12:47:342570#if defined(OS_ANDROID)
mthiesse700b0b62017-05-19 01:37:312571#if BUILDFLAG(ENABLE_VR)
vabr0215a8e2017-03-28 12:47:342572const char kEnableVrShellName[] = "Enable Chrome VR.";
2573
2574const char kEnableVrShellDescription[] =
2575 "Allow browsing with a VR headset if available for this device.";
2576
mthiesse700b0b62017-05-19 01:37:312577const char kVrCustomTabBrowsingName[] = "Enable Custom Tab browsing in VR.";
2578
2579const char kVrCustomTabBrowsingDescription[] =
2580 "Allow browsing with a VR headset in a Custom Tab if available for this "
2581 "device.";
ymalike78a83b2017-05-19 20:42:312582
2583const char kWebVrAutopresentName[] = "Enable WebVr auto presentation";
2584
2585const char kWebVrAutopresentDescription[] =
2586 "Allows auto presentation of WebVr content from trusted first-party apps";
mthiesse700b0b62017-05-19 01:37:312587#endif // BUILDFLAG(ENABLE_VR)
vabr0215a8e2017-03-28 12:47:342588#endif // defined(OS_ANDROID)
2589
2590// Web payments
2591
2592const char kWebPaymentsName[] = "Web Payments";
2593
2594const char kWebPaymentsDescription[] =
2595 "Enable Web Payments API integration, a JavaScript API for merchants.";
2596
2597#if defined(OS_ANDROID)
2598
2599const char kEnableAndroidPayIntegrationV1Name[] = "Enable Android Pay v1";
2600
2601const char kEnableAndroidPayIntegrationV1Description[] =
2602 "Enable integration with Android Pay using the first version of the "
2603 "API";
2604
2605const char kEnableAndroidPayIntegrationV2Name[] = "Enable Android Pay v2";
2606
2607const char kEnableAndroidPayIntegrationV2Description[] =
2608 "Enable integration with Android Pay using the second version of the "
2609 "API";
2610
2611const char kEnableWebPaymentsSingleAppUiSkipName[] =
2612 "Enable Web Payments single app UI skip";
2613
2614const char kEnableWebPaymentsSingleAppUiSkipDescription[] =
2615 "Enable Web Payments to skip showing its UI if the developer specifies "
2616 "a single app.";
2617
2618const char kAndroidPaymentAppsName[] = "Android payment apps";
2619
2620const char kAndroidPaymentAppsDescription[] =
2621 "Enable third party Android apps to integrate as payment apps";
2622
mathpb36946b2017-05-09 14:27:162623const char kServiceWorkerPaymentAppsName[] = "Service Worker payment apps";
2624
2625const char kServiceWorkerPaymentAppsDescription[] =
2626 "Enable Service Worker applications to integrate as payment apps";
2627
vabr0215a8e2017-03-28 12:47:342628#endif // defined(OS_ANDROID)
2629
2630const char kFeaturePolicyName[] = "Feature Policy";
2631
2632const char kFeaturePolicyDescription[] =
2633 "Enables granting and removing access to features through the "
2634 "Feature-Policy HTTP header.";
2635
2636// Audio rendering mixing experiment strings.
2637
2638const char kNewAudioRenderingMixingStrategyName[] =
2639 "New audio rendering mixing strategy";
2640
2641const char kNewAudioRenderingMixingStrategyDescription[] =
2642 "Use the new audio rendering mixing strategy.";
2643
2644// Background video track disabling experiment strings.
2645
2646const char kBackgroundVideoTrackOptimizationName[] =
2647 "Optimize background video playback.";
2648
2649const char kBackgroundVideoTrackOptimizationDescription[] =
2650 "Disable video tracks when the video is played in the background to "
2651 "optimize performance.";
2652
avayvod232757942017-04-29 04:12:342653// New remote playback pipeline experiment strings.
2654
2655const char kNewRemotePlaybackPipelineName[] =
2656 "Enable the new remote playback pipeline.";
2657
2658const char kNewRemotePlaybackPipelineDescription[] =
2659 "Enable the new pipeline for playing media element remotely via "
2660 "RemotePlayback API or native controls.";
2661
vabr0215a8e2017-03-28 12:47:342662// Video fullscreen with orientation lock experiment strings.
2663
2664const char kVideoFullscreenOrientationLockName[] =
2665 "Lock screen orientation when playing a video fullscreen.";
2666
2667const char kVideoFullscreenOrientationLockDescription[] =
2668 "Lock the screen orientation of the device to match video orientation "
2669 "when a video goes fullscreen. Only on phones.";
2670
johnme913ee5f2017-04-28 21:36:162671// Video rotate-to-fullscreen experiment strings.
2672
2673const char kVideoRotateToFullscreenName[] =
2674 "Rotate-to-fullscreen gesture for videos.";
2675
2676const char kVideoRotateToFullscreenDescription[] =
2677 "Enter/exit fullscreen when device is rotated to/from the orientation of "
2678 "the video. Only on phones.";
2679
vabr0215a8e2017-03-28 12:47:342680// Expensive background timer throttling flag
2681
2682const char kExpensiveBackgroundTimerThrottlingName[] =
2683 "Throttle expensive background timers";
2684
2685const char kExpensiveBackgroundTimerThrottlingDescription[] =
2686 "Enables intervention to limit CPU usage of background timers to 1%.";
2687
2688// Enable default MediaSession flag
2689
2690#if !defined(OS_ANDROID)
2691
mlamouriff56c092017-05-11 15:31:392692const char kEnableAudioFocusName[] = "Manage audio focus across tabs";
vabr0215a8e2017-03-28 12:47:342693
mlamouriff56c092017-05-11 15:31:392694const char kEnableAudioFocusDescription[] =
vabr0215a8e2017-03-28 12:47:342695 "Manage audio focus across tabs to improve the audio mixing.";
2696
mlamouriff56c092017-05-11 15:31:392697const char kEnableAudioFocusDisabled[] = "Disabled";
vabr0215a8e2017-03-28 12:47:342698
mlamouriff56c092017-05-11 15:31:392699const char kEnableAudioFocusEnabled[] = "Enabled";
vabr0215a8e2017-03-28 12:47:342700
mlamouriff56c092017-05-11 15:31:392701const char kEnableAudioFocusEnabledDuckFlash[] =
vabr0215a8e2017-03-28 12:47:342702 "Enabled (Flash lowers volume when interrupted by other sound, "
2703 "experimental)";
2704
2705#endif // !defined(OS_ANDROID)
2706
2707#if defined(OS_WIN)
2708
2709const char kGdiTextPrinting[] = "GDI Text Printing";
2710
2711const char kGdiTextPrintingDescription[] =
2712 "Use GDI to print text as simply text";
2713
2714#endif // defined(OS_WIN)
2715
2716#if defined(OS_ANDROID)
2717
2718const char kModalPermissionPromptsName[] = "Modal Permission Prompts";
2719
2720const char kModalPermissionPromptsDescription[] =
2721 "Whether to use permission dialogs in place of permission infobars.";
2722
2723#endif // defined(OS_ANDROID)
2724
2725#if !defined(OS_MACOSX)
2726
2727const char kPermissionPromptPersistenceToggleName[] =
2728 "Persistence Toggle in Permission Prompts";
2729
2730const char kPermissionPromptPersistenceToggleDescription[] =
2731 "Whether to display a persistence toggle in permission prompts.";
2732
2733#endif // !defined(OS_MACOSX)
2734
2735#if defined(OS_ANDROID)
2736
2737const char kNoCreditCardAbort[] = "No Credit Card Abort";
2738
2739const char kNoCreditCardAbortDescription[] =
2740 "Whether or not the No Credit Card Abort is enabled.";
2741
2742#endif // defined(OS_ANDROID)
2743
2744// Consistent omnibox geolocation
2745
2746#if defined(OS_ANDROID)
2747
2748const char kEnableConsistentOmniboxGeolocationName[] =
2749 "Have consistent omnibox geolocation access.";
2750
2751const char kEnableConsistentOmniboxGeolocationDescription[] =
2752 "Have consistent geolocation access between the omnibox and default "
2753 "search engine.";
2754
2755#endif // defined(OS_ANDROID)
2756
2757// Media Remoting chrome://flags strings
2758
2759const char kMediaRemotingName[] = "Media Remoting during Cast Tab Mirroring";
2760
2761const char kMediaRemotingDescription[] =
2762 "When Casting a tab to a remote device, enabling this turns on an "
2763 "optimization that forwards the content bitstream directly to the "
2764 "remote device when a video is fullscreened.";
2765
vabr0215a8e2017-03-28 12:47:342766// Play Services LSD permission prompt chrome://flags strings
2767
2768#if defined(OS_ANDROID)
2769
2770const char kLsdPermissionPromptName[] =
2771 "Location Settings Dialog Permission Prompt";
2772
2773const char kLsdPermissionPromptDescription[] =
2774 "Whether to use the Google Play Services Location Settings Dialog "
2775 "permission dialog.";
2776
2777#endif // defined(OS_ANDROID)
2778
2779#if defined(OS_WIN)
2780
2781// Custom draw the Windows 10 titlebar. crbug.com/505013
2782
2783const char kWindows10CustomTitlebarName[] = "Custom-drawn Windows 10 Titlebar";
2784
2785const char kWindows10CustomTitlebarDescription[] =
2786 "If enabled, Chrome will draw the titlebar and caption buttons instead "
2787 "of deferring to Windows.";
2788
2789#endif // defined(OS_WIN)
2790
2791#if defined(OS_WIN)
2792
rbpotter556837e42017-05-01 18:49:042793const char kDisablePostscriptPrinting[] = "Disable PostScript Printing";
vabr0215a8e2017-03-28 12:47:342794
rbpotter556837e42017-05-01 18:49:042795const char kDisablePostscriptPrintingDescription[] =
2796 "Disables PostScript generation when printing to PostScript capable "
2797 "printers, and uses EMF generation in its place.";
vabr0215a8e2017-03-28 12:47:342798
2799#endif // defined(OS_WIN)
2800
2801#if defined(OS_ANDROID)
2802
2803const char kAiaFetchingName[] = "Intermediate Certificate Fetching";
2804
2805const char kAiaFetchingDescription[] =
2806 "Enable intermediate certificate fetching when a server does not "
2807 "provide sufficient certificates to build a chain to a trusted root.";
2808
2809#endif // defined(OS_ANDROID)
2810
2811// Web MIDI supports MIDIManager dynamic instantiation chrome://flags strings
2812
2813const char kEnableMidiManagerDynamicInstantiationName[] =
2814 "MIDIManager dynamic instantiation for Web MIDI.";
2815
2816const char kEnableMidiManagerDynamicInstantiationDescription[] =
2817 "Enable MIDIManager dynamic instantiation for Web MIDI.";
2818
2819// Desktop iOS promotion chrome://flags strings
2820
2821#if defined(OS_WIN)
2822
2823const char kEnableDesktopIosPromotionsName[] = "Desktop to iOS promotions.";
2824
2825const char kEnableDesktopIosPromotionsDescription[] =
2826 "Enable Desktop to iOS promotions, and allow users to see them if they "
2827 "are eligible.";
2828
2829#endif // defined(OS_WIN)
2830
2831#if defined(OS_ANDROID)
2832
2833const char kEnableCustomFeedbackUiName[] = "Enable Custom Feedback UI";
2834
2835const char kEnableCustomFeedbackUiDescription[] =
2836 "Enables a custom feedback UI when submitting feedback through Google "
2837 "Feedback. Works with Google Play Services v10.2+";
2838
2839#endif // defined(OS_ANDROID)
2840
vabr0215a8e2017-03-28 12:47:342841#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
2842 defined(OS_WIN)
2843
2844const char kOmniboxEntitySuggestionsName[] = "Omnibox entity suggestions";
vabr0215a8e2017-03-28 12:47:342845const char kOmniboxEntitySuggestionsDescription[] =
krbcc621412017-06-01 19:40:282846 "Enable receiving entity suggestions - disambiguation descriptions - for "
2847 "Omnibox suggestions.";
2848
2849const char kOmniboxTailSuggestionsName[] = "Omnibox tail suggestions";
2850const char kOmniboxTailSuggestionsDescription[] =
2851 "Enable receiving tail suggestions, a type of search suggestion "
2852 "based on the last few words in the query, for the Omnibox.";
vabr0215a8e2017-03-28 12:47:342853
ojan38c678352017-04-11 20:27:552854const char kPauseBackgroundTabsName[] = "Pause background tabs";
2855const char kPauseBackgroundTabsDescription[] =
2856 "Pause timers in background tabs after 5 minutes on desktop.";
2857
spqchan6f9127a2017-04-29 03:42:022858const char kEnableNewAppMenuIconName[] = "Enable the New App Menu Icon";
2859const char kEnableNewAppMenuIconDescription[] =
2860 "Use the new app menu icon with update notification animations.";
spqchan064a8112017-04-18 16:46:322861
vabr0215a8e2017-03-28 12:47:342862#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
2863 // defined(OS_WIN)
2864
2865#if defined(OS_CHROMEOS)
2866
2867const char kEnableChromevoxArcSupportName[] = "ChromeVox ARC support";
2868
2869const char kEnableChromevoxArcSupportDescription[] =
2870 "Enable ChromeVox screen reader features in ARC";
2871
2872#endif // defined(OS_CHROMEOS)
2873
2874const char kMojoLoadingName[] = "Use Mojo IPC for resource loading";
2875
2876const char kMojoLoadingDescription[] =
2877 "Use Mojo IPC instead of traditional Chrome IPC for resource loading.";
2878
2879#if defined(OS_ANDROID)
2880
2881const char kUseNewDoodleApiName[] = "Use new Doodle API";
2882
2883const char kUseNewDoodleApiDescription[] =
2884 "Enables the new API to fetch Doodles for the NTP.";
2885
2886#endif // defined(OS_ANDROID)
2887
vabr0215a8e2017-03-28 12:47:342888const char kDebugShortcutsDescription[] =
2889 "Enables additional keyboard shortcuts that are useful for debugging "
2890 "Ash.";
2891
dskiba950fbc82017-04-12 20:36:282892const char kMemoryAblationName[] = "Memory ablation experiment";
2893const char kMemoryAblationDescription[] =
2894 "Allocates extra memory in the browser process.";
2895
jwanda1582bcf2017-03-30 04:33:482896#if defined(OS_ANDROID)
2897
2898const char kEnableCustomContextMenuName[] = "Enable custom context menu";
2899
2900const char kEnableCustomContextMenuDescription[] =
2901 "Enables a new context menu when a link, image, or video is pressed within "
2902 "Chrome.";
2903
2904#endif // defined(OS_ANDROID)
2905
vabr0215a8e2017-03-28 12:47:342906#if defined(OS_CHROMEOS)
2907
2908// File Manager
2909
2910const char kVideoPlayerChromecastSupportName[] =
2911 "Experimental Chromecast support for Video Player";
2912
2913const char kVideoPlayerChromecastSupportDescription[] =
2914 "This option enables experimental Chromecast support for Video Player "
2915 "app on ChromeOS.";
2916
2917const char kNewZipUnpackerName[] = "New ZIP unpacker";
2918
2919const char kNewZipUnpackerDescription[] =
2920 "New ZIP unpacker flow, based on the File System Provider API.";
2921
vabr0215a8e2017-03-28 12:47:342922const char kOfficeEditingComponentAppName[] =
2923 "Office Editing for Docs, Sheets & Slides";
2924
2925const char kOfficeEditingComponentAppDescription[] =
2926 "Office Editing for Docs, Sheets & Slides for testing purposes.";
2927
2928const char kDisplayColorCalibrationName[] = "Color calibration of the display";
2929
2930const char kDisplayColorCalibrationDescription[] =
2931 "Allow color calibration of the display if the display supports the "
2932 "feature.";
2933
2934const char kMemoryPressureThresholdName[] =
2935 "Memory discard strategy for advanced pressure handling";
2936
2937const char kMemoryPressureThresholdDescription[] =
2938 "Memory discarding strategy to use";
2939
2940const char kConservativeThresholds[] =
2941 "Conservative memory pressure release strategy";
2942
2943const char kAggressiveCacheDiscardThresholds[] =
2944 "Aggressive cache release strategy";
2945
2946const char kAggressiveTabDiscardThresholds[] =
2947 "Aggressive tab release strategy";
2948
2949const char kAggressiveThresholds[] =
2950 "Aggressive tab and cache release strategy";
2951
2952const char kWakeOnPacketsName[] = "Wake On Packets";
2953
2954const char kWakeOnPacketsDescription[] =
2955 "Enables waking the device based on the receipt of some network "
2956 "packets.";
2957
brettw5f9c1642017-05-14 17:12:482958const char kQuickUnlockPinName[] = "Quick Unlock (PIN)";
vabr0215a8e2017-03-28 12:47:342959
2960const char kQuickUnlockPinDescription[] =
jdufault74476492017-04-20 01:20:002961 "Enabling PIN quick unlock allows you to use a PIN to unlock your ChromeOS "
2962 "device on the lock screen after you have signed into your device.";
2963
2964const char kQuickUnlockPinSignin[] = "Enable PIN when logging in.";
2965
2966const char kQuickUnlockPinSigninDescription[] =
2967 "Enabling PIN allows you to use a PIN to sign in and unlock your ChromeOS "
2968 "device. After changing this flag PIN needs to be set up again.";
vabr0215a8e2017-03-28 12:47:342969
2970const char kQuickUnlockFingerprint[] = "Quick Unlock (Fingerprint)";
2971
2972const char kQuickUnlockFingerprintDescription[] =
2973 "Enabling fingerprint quick unlock allows you to setup and use a "
2974 "fingerprint to unlock your Chromebook on the lock screen after you "
2975 "have signed into your device.";
2976
2977const char kExperimentalAccessibilityFeaturesName[] =
2978 "Experimental accessibility features";
2979
2980const char kExperimentalAccessibilityFeaturesDescription[] =
2981 "Enable additional accessibility features in the Settings page.";
2982
2983const char kDisableSystemTimezoneAutomaticDetectionName[] =
2984 "SystemTimezoneAutomaticDetection policy support";
2985
2986const char kDisableSystemTimezoneAutomaticDetectionDescription[] =
2987 "Disable system timezone automatic detection device policy.";
2988
2989const char kEolNotificationName[] = "Disable Device End of Life notification.";
2990
2991const char kEolNotificationDescription[] =
2992 "Disable Notifcation when Device is End of Life.";
2993
2994// Stylus strings
2995
2996const char kForceEnableStylusToolsName[] = "Force enable stylus features";
2997
2998const char kForceEnableStylusToolsDescription[] =
2999 "Forces display of the stylus tools menu in the shelf and the stylus "
3000 "section in settings, even if there is no attached stylus device.";
3001
3002// Network portal notification
3003
3004const char kNetworkPortalNotificationName[] =
3005 "Notifications about captive portals";
3006
3007const char kNetworkPortalNotificationDescription[] =
3008 "If enabled, notification is displayed when device is connected to a "
3009 "network behind captive portal.";
3010
stevenjbe1d457382017-05-24 22:37:243011const char kNetworkSettingsConfigName[] =
3012 "Settings based Network Configuration";
3013
3014const char kNetworkSettingsConfigDescription[] =
3015 "Enables the Settings based network configuration UI instead of the Views "
3016 "based configuration dialog.";
3017
vabr0215a8e2017-03-28 12:47:343018const char kMtpWriteSupportName[] = "MTP write support";
3019
3020const char kMtpWriteSupportDescription[] =
3021 "MTP write support in File System API (and file manager). In-place "
3022 "editing operations are not supported.";
3023
3024const char kCrosRegionsModeName[] = "Cros-regions load mode";
3025
3026const char kCrosRegionsModeDescription[] =
3027 "This flag controls cros-regions load mode";
3028
3029const char kCrosRegionsModeDefault[] = "Default";
3030
3031const char kCrosRegionsModeOverride[] = "Override VPD values.";
3032
3033const char kCrosRegionsModeHide[] = "Hide VPD values.";
3034
3035const char kPrinterProviderSearchAppName[] =
3036 "Chrome Web Store Gallery app for printer drivers";
3037
3038const char kPrinterProviderSearchAppDescription[] =
3039 "Enables Chrome Web Store Gallery app for printer drivers. The app "
3040 "searches Chrome Web Store for extensions that support printing to a "
3041 "USB printer with specific USB ID.";
3042
3043const char kArcBootCompleted[] = "Load Android apps automatically";
3044
3045const char kArcBootCompletedDescription[] =
3046 "Allow Android apps to start automatically after signing in.";
3047
3048const char kEnableImeMenuName[] = "Enable opt-in IME menu";
3049
3050const char kEnableImeMenuDescription[] =
3051 "Enable access to the new IME menu in the Language Settings page.";
3052
3053const char kEnableEhvInputName[] =
3054 "Emoji, handwriting and voice input on opt-in IME menu";
3055
3056const char kEnableEhvInputDescription[] =
3057 "Enable access to emoji, handwriting and voice input form opt-in IME "
3058 "menu.";
3059
fukino1b5ebe952017-04-07 05:35:303060const char kEnableEncryptionMigrationName[] =
3061 "Enable encryption migration of user data";
3062
3063const char kEnableEncryptionMigrationDescription[] =
3064 "If enabled and the device supports ARC, the user will be asked to update "
3065 "the encryption of user data when the user signs in.";
3066
vabr0215a8e2017-03-28 12:47:343067#endif // #if defined(OS_CHROMEOS)
3068
wychen2212fe72017-04-10 10:23:323069#if defined(OS_ANDROID)
3070
3071const char kEnableCopylessPasteName[] = "App Indexing (Copyless Paste)";
3072
3073const char kEnableCopylessPasteDescription[] =
3074 "Provide suggestions for text input, based on your recent context. For "
3075 "example, if you looked at a restaurant website and switched to the Maps "
3076 "app, the keyboard would offer the name of that restaurant as a suggestion "
3077 "to enter into the search bar. The data is indexed locally, and never sent "
3078 "to the server. It's disabled in incognito mode.";
3079
alexander.shalamov588eca42017-04-20 13:32:423080const char kEnableWebNfcName[] = "WebNFC";
3081
3082const char kEnableWebNfcDescription[] = "Enable WebNFC support.";
3083
wychen2212fe72017-04-10 10:23:323084#endif // defined(OS_ANDROID)
3085
xiaochengh91ba4c52017-04-21 03:49:253086const char kEnableIdleTimeSpellCheckingName[] =
3087 "Enable idle time spell checker";
3088
3089const char kEnableIdleTimeSpellCheckingDescription[] =
3090 "Make spell-checking code run only when the browser is idle, so that input "
3091 "latency is reduced, especially when editing long articles, emails, etc.";
3092
mpearson5aed28a2017-04-25 06:01:313093#if defined(OS_ANDROID)
3094
3095const char kEnableOmniboxClipboardProviderName[] =
3096 "Omnibox clipboard URL suggestions";
3097
3098const char kEnableOmniboxClipboardProviderDescription[] =
3099 "Provide a suggestion of the URL stored in the clipboard (if any) upon "
3100 "focus in the omnibox.";
3101
3102#endif // defined(OS_ANDROID)
3103
mlamouri1f264da22017-04-25 22:34:423104const char kAutoplayPolicyName[] = "Autoplay policy";
3105
3106const char kAutoplayPolicyDescription[] =
3107 "Policy used when deciding if audio or video is allowed to autoplay.";
3108
3109const char kAutoplayPolicyNoUserGestureRequired[] =
3110 "No user gesture is required.";
3111
3112const char kAutoplayPolicyUserGestureRequired[] = "User gesture is required.";
3113
mlamouri55a0543c2017-05-11 10:34:073114const char kAutoplayPolicyUserGestureRequiredForCrossOrigin[] =
mlamouri1f264da22017-04-25 22:34:423115 "User gesture is required for cross-origin iframes.";
3116
gcomanici8cabc77f2017-04-27 20:04:543117const char kOmniboxDisplayTitleForCurrentUrlName[] =
3118 "Include title for the current URL in the omnibox";
3119
3120const char kOmniboxDisplayTitleForCurrentUrlDescription[] =
3121 "In the event that the omnibox provides suggestions on-focus, the URL of "
3122 "the current page is provided as the first suggestion without a title. "
3123 "Enabling this flag causes the title to be displayed.";
3124
tommyclia5a538f92017-05-15 19:09:383125const char kOmniboxUIMaxAutocompleteMatchesName[] =
3126 "Omnibox UI Max Autocomplete Matches";
3127
3128const char kOmniboxUIMaxAutocompleteMatchesDescription[] =
3129 "Changes the maximum number af autocomplete matches displayed in the "
3130 "Omnibox UI.";
3131
tommycli26317da2017-05-26 20:50:333132const char kOmniboxUIVerticalLayoutName[] = "Omnibox UI Vertical Layout";
3133
3134const char kOmniboxUIVerticalLayoutDescription[] =
3135 "Displays Omnibox sugestions in 2 lines - title over origin.";
3136
tommycli2bb95c42017-05-08 18:07:023137const char kOmniboxUIVerticalMarginName[] = "Omnibox UI Vertical Margin";
3138
3139const char kOmniboxUIVerticalMarginDescription[] =
3140 "Changes the vertical margin in the Omnibox UI.";
3141
tbansald3e08ca62017-05-04 19:51:093142const char kForceEffectiveConnectionTypeName[] =
3143 "Override effective connection type";
3144
3145const char kForceEffectiveConnectionTypeDescription[] =
3146 "Overrides the effective connection type of the current connection "
3147 "returned by the network quality estimator.";
3148
3149const char kEffectiveConnectionTypeUnknownDescription[] = "Unknown";
3150const char kEffectiveConnectionTypeOfflineDescription[] = "Offline";
3151const char kEffectiveConnectionTypeSlow2GDescription[] = "Slow 2G";
3152const char kEffectiveConnectionType2GDescription[] = "2G";
3153const char kEffectiveConnectionType3GDescription[] = "3G";
3154const char kEffectiveConnectionType4GDescription[] = "4G";
3155
dskibac6376a62017-05-01 22:43:293156const char kEnableHeapProfilingName[] = "Heap profiling";
3157
3158const char kEnableHeapProfilingDescription[] = "Enables heap profiling.";
3159
3160const char kEnableHeapProfilingModePseudo[] = "Enabled (pseudo mode)";
3161
3162const char kEnableHeapProfilingModeNative[] = "Enabled (native mode)";
3163
3164const char kEnableHeapProfilingTaskProfiler[] = "Enabled (task mode)";
3165
fhorschig122c6652017-05-05 10:21:303166const char kUseSuggestionsEvenIfFewFeatureName[] =
3167 "Disable minimum for server-side tile suggestions on NTP.";
3168
3169const char kUseSuggestionsEvenIfFewFeatureDescription[] =
3170 "Request server-side suggestions even if there are only very few of them "
3171 "and use them for tiles on the New Tab Page.";
3172
toyoshim9ff98be2017-05-05 15:53:283173const char kLocationHardReloadName[] =
3174 "Experimental change for Location.reload() to trigger a hard-reload.";
3175
3176const char kLocationHardReloadDescription[] =
3177 "Enable an experimental change for Location.reload() to trigger a "
3178 "hard-reload.";
3179
treib32d2e422017-05-08 10:00:353180const char kCaptureThumbnailOnLoadFinishedName[] =
3181 "Capture page thumbnail on load finished";
3182
3183const char kCaptureThumbnailOnLoadFinishedDescription[] =
3184 "Capture a page thumbnail (for use on the New Tab page) when the page load "
3185 "finishes, in addition to other times a thumbnail may be captured.";
3186
stanisc14bed0b132017-05-10 17:46:373187#if defined(OS_WIN)
3188
3189// Name and description of the flag that enables D3D v-sync.
3190const char kEnableD3DVsync[] = "D3D v-sync";
3191const char kEnableD3DVsyncDescription[] =
3192 "Produces v-sync signal by having D3D wait for vertical blanking interval "
3193 "to occur.";
3194
3195#endif // defined(OS_WIN)
3196
treib273e9db2017-05-11 14:02:263197#if !defined(OS_ANDROID) && !defined(OS_IOS)
3198
msarda6d4b3dc2017-06-02 15:39:473199const char kAccountConsistencyName[] =
3200 "Identity consistency between browser and cookie jar";
3201
3202const char kAccountConsistencyDescription[] =
3203 "When enabled, the browser manages signing in and out of Google "
3204 "accounts.";
3205
3206const char kAccountConsistencyChoiceMirror[] = "Mirror";
3207const char kAccountConsistencyChoiceDice[] = "Dice";
3208
treib273e9db2017-05-11 14:02:263209const char kUseGoogleLocalNtpName[] = "Enable using the Google local NTP";
3210const char kUseGoogleLocalNtpDescription[] =
3211 "Use the local New Tab page if Google is the default search engine.";
3212
3213const char kOneGoogleBarOnLocalNtpName[] =
3214 "Enable the OneGoogleBar on the local NTP";
3215const char kOneGoogleBarOnLocalNtpDescription[] =
3216 "Show a OneGoogleBar on the local New Tab page if Google is the default "
3217 "search engine.";
3218
3219#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
3220
lgreyc0b638e52017-05-11 19:10:173221#if defined(OS_MACOSX)
3222extern const char kMacRTLName[] = "Enable RTL";
3223extern const char kMacRTLDescription[] =
3224 "Mirrors the UI for RTL language users";
3225#endif
3226
yhanadac5bff5b2017-05-18 06:37:093227#if defined(OS_CHROMEOS)
3228
3229const char kDisableNewVirtualKeyboardBehaviorName[] =
3230 "New window behavior for the accessibility keyboard";
3231const char kDisableNewVirtualKeyboardBehaviorDescription[] =
3232 "Disable new window behavior for the accessibility keyboard "
3233 "in non-sticky mode (do not change work area in non-sticky mode).";
3234
3235#endif // defined(OS_CHROMEOS)
3236
vabr0215a8e2017-03-28 12:47:343237} // namespace flag_descriptions