blob: b10057ec082bc934b4674210ca6c12309858dc06 [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
27// Material Design version of chrome://history
28
29const char kEnableMaterialDesignHistoryName[] =
30 "Enable Material Design history";
31
32const char kEnableMaterialDesignHistoryDescription[] =
33 "If enabled, the chrome://history/ URL loads the Material Design "
34 "history page.";
35
36// Material Design version of chrome://settings
37
38const char kEnableMaterialDesignSettingsName[] =
39 "Enable Material Design settings";
40
41const char kEnableMaterialDesignSettingsDescription[] =
42 "If enabled, the chrome://settings/ URL loads the Material Design "
43 "settings page.";
44
45// Material Design version of chrome://extensions
46
47const char kEnableMaterialDesignExtensionsName[] =
48 "Enable Material Design extensions";
49
50const char kEnableMaterialDesignExtensionsDescription[] =
51 "If enabled, the chrome://extensions/ URL loads the Material Design "
52 "extensions page.";
53
54// Material Design version of feedback form
55
56const char kEnableMaterialDesignFeedbackName[] =
57 "Enable Material Design feedback";
58
59const char kEnableMaterialDesignFeedbackDescription[] =
60 "If enabled, reporting an issue will load the Material Design feedback "
61 "UI.";
62
63// Report URL to SafeSearch
64
65const char kSafeSearchUrlReportingName[] = "SafeSearch URLs reporting.";
66
67const char kSafeSearchUrlReportingDescription[] =
68 "If enabled, inappropriate URLs can be reported back to SafeSearch.";
69
70// Device scale factor change in content crbug.com/485650.
71
72const char kEnableUseZoomForDsfName[] =
73 "Use Blink's zoom for device scale factor.";
74
75const char kEnableUseZoomForDsfDescription[] =
76 "If enabled, Blink uses its zooming mechanism to scale content for "
77 "device scale factor.";
78
79const char kEnableUseZoomForDsfChoiceDefault[] = "Default";
80
81const char kEnableUseZoomForDsfChoiceEnabled[] = "Enabled";
82
83const char kEnableUseZoomForDsfChoiceDisabled[] = "Disabled";
84
85const char kNostatePrefetch[] = "No-State Prefetch";
86
87const char kNostatePrefetchDescription[] =
88 R"*("No-State Prefetch" pre-downloads resources to improve load )*"
89 R"*(times. "Prerender" does a full pre-rendering of the page, to )*"
90 R"*(improve load times even more. "Simple Load" does nothing and is )*"
91 R"*(similar to disabling the feature, but collects more metrics for )*"
92 R"*(comparison purposes.)*";
93
94const char kSpeculativePrefetchName[] = "Speculative Prefetch";
95
96const char kSpeculativePrefetchDescription[] =
97 R"*("Speculative Prefetch" fetches likely resources early to improve )*"
98 R"*(load times, based on a local database (see chrome://predictors). )*"
99 R"*("Learning" means that only the database construction is enabled, )*"
100 R"*("Prefetching" that learning and prefetching are enabled.)*";
101
102// Force Tablet Mode
103
104const char kForceTabletModeName[] = "Force Tablet Mode";
105
106const char kForceTabletModeDescription[] =
107 R"*(This flag can be used to force a certain mode on to a chromebook, )*"
108 R"*(despite its current orientation. "TouchView" means that the )*"
109 R"*(chromebook will act as if it were in touch view mode. "Clamshell" )*"
110 R"*(means that the chromebook will act as if it were in clamshell )*"
111 R"*(mode . "Auto" means that the chromebook will alternate between )*"
112 R"*(the two, based on its orientation.)*";
113
114const char kForceTabletModeTouchview[] = "TouchView";
115
116const char kForceTabletModeClamshell[] = "Clamshell";
117
118const char kForceTabletModeAuto[] = "Auto (default)";
119
120// Print Preview features
121
122const char kPrintPdfAsImageName[] = "Print Pdf as Image";
123
124const char kPrintPdfAsImageDescription[] =
125 "If enabled, an option to print PDF files as images will be available "
126 "in print preview.";
127
128const char kPrintScalingName[] = "Print Scaling.";
129
130const char kPrintScalingDescription[] =
131 "If enabled, an option to scale documents will be available in print "
132 "preview.";
133
134const char kNaclName[] = "Native Client";
135
136#if defined(OS_ANDROID)
137
138const char kNaclDescription[] = "Enable support for Native Client.";
139
140#endif // defined(OS_ANDROID)
141
142#if !defined(OS_ANDROID)
143
144const char kNaclDescription[] =
145 "Support Native Client for all web applications, even those that were "
146 "not installed from the Chrome Web Store.";
147
148#endif // !defined(OS_ANDROID)
149
150const char kNaclDebugName[] = "Native Client GDB-based debugging";
151
152const char kNaclDebugDescription[] =
153 "Enable GDB debug stub. This will stop a Native Client application on "
154 "startup and wait for nacl-gdb (from the NaCl SDK) to attach to it.";
155
156#if !defined(OS_ANDROID)
157
158const char kPnaclSubzeroName[] = "Force PNaCl Subzero";
159
160const char kPnaclSubzeroDescription[] =
161 "Force the use of PNaCl's fast Subzero translator for all pexe files.";
162
163#endif // !defined(OS_ANDROID)
164
165const char kNaclDebugMaskName[] =
166 "Restrict Native Client GDB-based debugging by pattern";
167
168const char kNaclDebugMaskDescription[] =
169 "Restricts Native Client application GDB-based debugging by URL of "
170 "manifest file. Native Client GDB-based debugging must be enabled for "
171 "this option to work.";
172
173const char kNaclDebugMaskChoiceDebugAll[] = "Debug everything.";
174
175const char kNaclDebugMaskChoiceExcludeUtilsPnacl[] =
176 "Debug everything except secure shell and the PNaCl translator.";
177
178const char kNaclDebugMaskChoiceIncludeDebug[] =
179 "Debug only if manifest URL ends with debug.nmf.";
180
181const char kEnableHttpFormWarningName[] =
182 "Show in-form warnings for sensitive fields when the top-level page is "
183 "not HTTPS";
184
185const char kEnableHttpFormWarningDescription[] =
186 "Attaches a warning UI to any password or credit card fields detected "
187 "when the top-level page is not HTTPS";
188
189const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
190
191const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
192
193const char kMarkHttpAsDangerous[] = "Always mark HTTP as actively dangerous";
194
195const char kSavePageAsMhtmlName[] = "Save Page as MHTML";
196
197const char kSavePageAsMhtmlDescription[] =
198 "Enables saving pages as MHTML: a single text file containing HTML and "
199 "all sub-resources.";
200
201// Flag and values for MHTML Geenrator options lab.
202
203const char kMhtmlGeneratorOptionName[] = "MHTML Generation Option";
204
205const char kMhtmlGeneratorOptionDescription[] =
206 "Provides experimental options for MHTML file generator.";
207
208const char kMhtmlSkipNostoreMain[] = "Skips no-store main frame.";
209
210const char kMhtmlSkipNostoreAll[] = "Skips all no-store resources.";
211
212const char kDeviceDiscoveryNotificationsName[] =
213 "Device Discovery Notifications";
214
215const char kDeviceDiscoveryNotificationsDescription[] =
216 "Device discovery notifications on local network.";
217
218#if defined(OS_WIN)
219
220const char kCloudPrintXpsName[] = "XPS in Google Cloud Print";
221
222const char kCloudPrintXpsDescription[] =
223 "XPS enables advanced options for classic printers connected to the "
224 "Cloud Print with Chrome. Printers must be re-connected after changing "
225 "this flag.";
226
227#endif // defined(OS_WIN)
228
229const char kLoadMediaRouterComponentExtensionName[] =
230 "Load Media Router Component Extension";
231
232const char kLoadMediaRouterComponentExtensionDescription[] =
233 "Loads the Media Router component extension at startup.";
234
235const char kPrintPreviewRegisterPromosName[] =
236 "Print Preview Registration Promos";
237
238const char kPrintPreviewRegisterPromosDescription[] =
239 "Enable registering unregistered cloud printers from print preview.";
240
241const char kScrollPredictionName[] = "Scroll prediction";
242
243const char kTopChromeMd[] = "UI Layout for the browser's top chrome";
244
245const char kTopChromeMdDescription[] =
246 R"*(Toggles between normal and touch (formerly "hybrid") layouts.)*";
247
248const char kTopChromeMdMaterial[] = "Normal";
249
250const char kTopChromeMdMaterialHybrid[] = "Touch";
251
252const char kSiteSettings[] = "Site settings with All sites and Site details";
253
254const char kSiteSettingsDescription[] =
255 "Adds new ways of viewing Site settings.";
256
257const char kSecondaryUiMd[] =
258 "Material Design in the rest of the browser's native UI";
259
260const char kSecondaryUiMdDescription[] =
261 "Extends the --top-chrome-md setting to secondary UI (bubbles, dialogs, "
262 "etc.). On Mac, this enables MacViews, which uses toolkit-views for "
263 "native browser dialogs.";
264
265const char kScrollPredictionDescription[] =
266 "Predicts the finger's future position during scrolls allowing time to "
267 "render the frame before the finger is there.";
268
269const char kAddToShelfName[] = "Add to shelf";
270
271const char kAddToShelfDescription[] =
272 "Enable the display of add to shelf banners, which prompt a user to add "
273 "a web app to their shelf, or other platform-specific equivalent.";
274
275const char kBypassAppBannerEngagementChecksName[] =
276 "Bypass user engagement checks";
277
278const char kBypassAppBannerEngagementChecksDescription[] =
279 "Bypasses user engagement checks for displaying app banners, such as "
280 "requiring that users have visited the site before and that the banner "
281 "hasn't been shown recently. This allows developers to test that other "
282 "eligibility requirements for showing app banners, such as having a "
283 "manifest, are met.";
284
285#if defined(OS_ANDROID)
286
287const char kAccessibilityTabSwitcherName[] = "Accessibility Tab Switcher";
288
289const char kAccessibilityTabSwitcherDescription[] =
290 "Enable the accessibility tab switcher for Android.";
291
csashidf20b102017-04-04 01:53:24292const char kAndroidAutofillAccessibilityName[] = "Autofill Accessibility";
293
294const char kAndroidAutofillAccessibilityDescription[] =
295 "Enable accessibility for autofill popup.";
296
vabr0215a8e2017-03-28 12:47:34297const char kEnablePhysicalWebName[] = "Enable the Physical Web.";
298
299const char kEnablePhysicalWebDescription[] =
300 "Enable scanning for URLs from Physical Web objects.";
301
302#endif // defined(OS_ANDROID)
303
304const char kTouchEventsName[] = "Touch Events API";
305
306const char kTouchEventsDescription[] =
307 "Force Touch Events API feature detection to always be enabled or "
308 "disabled, or to be enabled when a touchscreen is detected on startup "
309 "(Automatic, the default).";
310
311const char kTouchAdjustmentName[] = "Touch adjustment";
312
313const char kTouchAdjustmentDescription[] =
314 "Refine the position of a touch gesture in order to compensate for "
315 "touches having poor resolution compared to a mouse.";
316
317const char kCompositedLayerBorders[] = "Composited render layer borders";
318
319const char kCompositedLayerBordersDescription[] =
320 "Renders a border around composited Render Layers to help debug and "
321 "study layer compositing.";
322
323const char kGlCompositedTextureQuadBorders[] =
324 "GL composited texture quad borders";
325
326const char kGlCompositedTextureQuadBordersDescription[] =
327 "Renders a border around GL composited texture quads to help debug and "
328 "study overlay support.";
329
330const char kShowOverdrawFeedback[] = "Show overdraw feedback";
331
332const char kShowOverdrawFeedbackDescription[] =
333 "Visualize overdraw by color-coding elements based on if they have "
334 "other elements drawn underneath.";
335
336const char kUiPartialSwapName[] = "Partial swap";
337
338const char kUiPartialSwapDescription[] = "Sets partial swap behavior.";
339
340const char kDebugShortcutsName[] = "Debugging keyboard shortcuts";
341
342const char kIgnoreGpuBlacklistName[] = "Override software rendering list";
343
344const char kIgnoreGpuBlacklistDescription[] =
345 "Overrides the built-in software rendering list and enables "
346 "GPU-acceleration on unsupported system configurations.";
347
348const char kInertVisualViewportName[] = "Inert visual viewport.";
349
350const char kInertVisualViewportDescription[] =
351 "Experiment to have all APIs reflect the layout viewport. This will "
352 "make window.scroll properties relative to the layout viewport.";
353
ccameronc570ec92017-04-14 05:36:25354const char kColorCorrectRenderingName[] = "Color correct rendering";
355
356const char kColorCorrectRenderingDescription[] =
357 "Enables color correct rendering of web content.";
358
vabr0215a8e2017-03-28 12:47:34359const char kExperimentalCanvasFeaturesName[] = "Experimental canvas features";
360
361const char kExperimentalCanvasFeaturesDescription[] =
362 "Enables the use of experimental canvas features which are still in "
363 "development.";
364
365const char kAccelerated2dCanvasName[] = "Accelerated 2D canvas";
366
367const char kAccelerated2dCanvasDescription[] =
368 "Enables the use of the GPU to perform 2d canvas rendering instead of "
369 "using software rendering.";
370
371const char kDisplayList2dCanvasName[] = "Display list 2D canvas";
372
373const char kDisplayList2dCanvasDescription[] =
374 "Enables the use of display lists to record 2D canvas commands. This "
375 "allows 2D canvas rasterization to be performed on separate thread.";
376
377const char kEnable2dCanvasDynamicRenderingModeSwitchingName[] =
378 "Enable 2D canvas dynamic rendering mode switching.";
379
380const char kEnable2dCanvasDynamicRenderingModeSwitchingDescription[] =
381 "There are multiple implementations of the graphics rendering pipeline "
382 "for the 2D canvas. These different implementations have different "
383 "performance characteristics. Turning on this flag allows canvas 2D "
384 "contexts to switch between these implementations on the fly based on "
385 "how the canvas is used in order to increase performance. For example, "
386 "going from an implementation that uses the GPU to one that doesn't.";
387
388const char kExperimentalExtensionApisName[] = "Experimental Extension APIs";
389
390const char kExperimentalExtensionApisDescription[] =
391 "Enables experimental extension APIs. Note that the extension gallery "
392 "doesn't allow you to upload extensions that use experimental APIs.";
393
394const char kExtensionsOnChromeUrlsName[] = "Extensions on chrome:// URLs";
395
396const char kExtensionsOnChromeUrlsDescription[] =
397 "Enables running extensions on chrome:// URLs, where extensions "
398 "explicitly request this permission.";
399
400const char kFastUnloadName[] = "Fast tab/window close";
401
402const char kFastUnloadDescription[] =
403 "Enables fast tab/window closing - runs a tab's onunload js handler "
404 "independently of the GUI.";
405
406const char kUserConsentForExtensionScriptsName[] =
407 "User consent for extension scripts";
408
409const char kUserConsentForExtensionScriptsDescription[] =
410 "Require user consent for an extension running a script on the page, if "
411 "the extension requested permission to run on all urls.";
412
413const char kHistoryRequiresUserGestureName[] =
414 "New history entries require a user gesture.";
415
416const char kHistoryRequiresUserGestureDescription[] =
417 "Require a user gesture to add a history entry.";
418
419const char kHyperlinkAuditingName[] = "Hyperlink auditing";
420
421const char kHyperlinkAuditingDescription[] = "Sends hyperlink auditing pings.";
422
423#if defined(OS_ANDROID)
424
425const char kContextualSearch[] = "Contextual Search";
426
427const char kContextualSearchDescription[] =
428 "Whether or not Contextual Search is enabled.";
429
430const char kContextualSearchContextualCardsBarIntegration[] =
431 "Contextual Search - Contextual Cards Integration";
432
433const char kContextualSearchContextualCardsBarIntegrationDescription[] =
434 "Whether or not integration of Contextual Cards data in the Contextual "
435 "Search Bar is enabled.";
436
437const char kContextualSearchSingleActions[] =
438 "Contextual Search - Single Actions";
439
440const char kContextualSearchSingleActionsDescription[] =
441 "Whether or not single actions using Contextual Cards data in the "
442 "Contextual Search Bar is enabled.";
443
444const char kContextualSearchUrlActions[] = "Contextual Search - URL Actions";
445
446const char kContextualSearchUrlActionsDescription[] =
447 "Whether or not URL actions using Contextual Cards data in the "
448 "Contextual Search Bar is enabled.";
449
450#endif // defined(OS_ANDROID)
451
452const char kSmoothScrollingName[] = "Smooth Scrolling";
453
454const char kSmoothScrollingDescription[] =
455 "Animate smoothly when scrolling page content.";
456
457const char kOverlayScrollbarsName[] = "Overlay Scrollbars";
458
459const char kOverlayScrollbarsDescription[] =
460 "Enable the experimental overlay scrollbars implementation. You must "
461 "also enable threaded compositing to have the scrollbars animate.";
462
463const char kShowAutofillTypePredictionsName[] = "Show Autofill predictions";
464
465const char kShowAutofillTypePredictionsDescription[] =
466 "Annotates web forms with Autofill field type predictions as "
467 "placeholder text.";
468
469const char kTcpFastOpenName[] = "TCP Fast Open";
470
471const char kTcpFastOpenDescription[] =
472 "Enable the option to send extra authentication information in the "
473 "initial SYN packet for a previously connected client, allowing faster "
474 "data send start.";
475
476const char kTouchDragDropName[] = "Touch initiated drag and drop";
477
478const char kTouchDragDropDescription[] =
479 "Touch drag and drop can be initiated through long press on a draggable "
480 "element.";
481
482const char kTouchSelectionStrategyName[] = "Touch text selection strategy";
483
484const char kTouchSelectionStrategyDescription[] =
485 "Controls how text selection granularity changes when touch text "
486 "selection handles are dragged. Non-default behavior is experimental.";
487
488const char kTouchSelectionStrategyCharacter[] = "Character";
489
490const char kTouchSelectionStrategyDirection[] = "Direction";
491
492const char kWalletServiceUseSandboxName[] =
493 "Use Google Payments sandbox servers";
494
495const char kWalletServiceUseSandboxDescription[] =
496 "For developers: use the sandbox service for Google Payments API "
497 "calls.";
498
499const char kOverscrollHistoryNavigationName[] = "Overscroll history navigation";
500
501const char kOverscrollHistoryNavigationDescription[] =
502 "Experimental history navigation in response to horizontal overscroll.";
503
504const char kOverscrollHistoryNavigationSimpleUi[] = "Simple";
505
506const char kOverscrollStartThresholdName[] = "Overscroll start threshold";
507
508const char kOverscrollStartThresholdDescription[] =
509 "Changes overscroll start threshold relative to the default value.";
510
511const char kOverscrollStartThreshold133Percent[] = "133%";
512
513const char kOverscrollStartThreshold166Percent[] = "166%";
514
515const char kOverscrollStartThreshold200Percent[] = "200%";
516
517const char kScrollEndEffectName[] = "Scroll end effect";
518
519const char kScrollEndEffectDescription[] =
520 "Experimental scroll end effect in response to vertical overscroll.";
521
522const char kWebgl2Name[] = "WebGL 2.0";
523
524const char kWebgl2Description[] = "Allow web applications to access WebGL 2.0.";
525
526const char kWebglDraftExtensionsName[] = "WebGL Draft Extensions";
527
528const char kWebglDraftExtensionsDescription[] =
529 "Enabling this option allows web applications to access the WebGL "
530 "Extensions that are still in draft status.";
531
532const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
533
534const char kWebrtcHwDecodingDescription[] =
535 "Support in WebRTC for decoding video streams using platform hardware.";
536
537const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
538
539const char kWebrtcHwEncodingDescription[] =
540 "Support in WebRTC for encoding video streams using platform hardware.";
541
542const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding";
543
544const char kWebrtcHwH264EncodingDescription[] =
545 "Support in WebRTC for encoding h264 video streams using platform "
546 "hardware.";
547
548const char kWebrtcSrtpAesGcmName[] =
549 "Negotiation with GCM cipher suites for SRTP in WebRTC";
550
551const char kWebrtcSrtpAesGcmDescription[] =
552 "When enabled, WebRTC will try to negotiate GCM cipher suites for "
553 "SRTP.";
554
555const char kWebrtcStunOriginName[] = "WebRTC Stun origin header";
556
557const char kWebrtcStunOriginDescription[] =
558 "When enabled, Stun messages generated by WebRTC will contain the "
559 "Origin header.";
560
561const char kWebrtcEchoCanceller3Name[] = "WebRTC Echo Canceller 3.";
562
563const char kWebrtcEchoCanceller3Description[] =
564 "Experimental WebRTC echo canceller (AEC3).";
565
566#if defined(OS_ANDROID)
567
568const char kMediaScreenCaptureName[] = "Experimental ScreenCapture.";
569
570const char kMediaScreenCaptureDescription[] =
571 "Enable this option for experimental ScreenCapture feature on Android.";
572
573#endif // defined(OS_ANDROID)
574
575#if BUILDFLAG(ENABLE_WEBRTC)
576
577const char kWebrtcH264WithOpenh264FfmpegName[] =
578 "WebRTC H.264 software video encoder/decoder";
579
580const char kWebrtcH264WithOpenh264FfmpegDescription[] =
581 "When enabled, an H.264 software video encoder/decoder pair is "
582 "included. If a hardware encoder/decoder is also available it may be "
583 "used instead of this encoder/decoder.";
584
585#endif // BUILDFLAG(ENABLE_WEBRTC)
586
587const char kWebvrName[] = "WebVR";
588
589const char kWebvrDescription[] =
590 "Enabling this option allows web applications to access experimental "
591 "Virtual Reality APIs.";
592
593const char kWebvrExperimentalRenderingName[] =
594 "WebVR experimental rendering optimizations";
595
596const char kWebvrExperimentalRenderingDescription[] =
597 "Enabling this option activates experimental rendering path "
598 "optimizations for WebVR.";
599
600const char kGamepadExtensionsName[] = "Gamepad Extensions";
601
602const char kGamepadExtensionsDescription[] =
603 "Enabling this option allows web applications to access experimental "
604 "extensions to the Gamepad APIs.";
605
606#if defined(OS_ANDROID)
607
608const char kNewPhotoPickerName[] = "Enable new Photopicker";
609
610const char kNewPhotoPickerDescription[] =
611 "Activates the new picker for selecting photos.";
612
613#endif // defined(OS_ANDROID)
614
615#if defined(OS_ANDROID)
616
617const char kEnableOskOverscrollName[] = "Enable OSK Overscroll";
618
619const char kEnableOskOverscrollDescription[] =
620 "Enable OSK overscroll support. With this flag on, the OSK will only "
621 "resize the visual viewport.";
622
623#endif // defined(OS_ANDROID)
624
625const char kQuicName[] = "Experimental QUIC protocol";
626
627const char kQuicDescription[] = "Enable experimental QUIC protocol support.";
628
629const char kSslVersionMaxName[] = "Maximum TLS version enabled.";
630
631const char kSslVersionMaxDescription[] = "Set maximum enabled TLS version.";
632
633const char kSslVersionMaxTls12[] = "TLS 1.2";
634
635const char kSslVersionMaxTls13[] = "TLS 1.3";
636
637const char kEnableTokenBindingName[] = "Token Binding.";
638
639const char kEnableTokenBindingDescription[] = "Enable Token Binding support.";
640
641const char kGestureRequirementForMediaPlaybackName[] =
642 "Gesture requirement for media playback";
643
644const char kGestureRequirementForMediaPlaybackDescription[] =
645 "User gesture requirement for playing media elements. Disabling this "
646 "will allow autoplay to work.";
647
648#if !defined(OS_ANDROID)
649
650const char kCrossOriginMediaPlaybackRequiresUserGestureName[] =
651 "Media playback in cross-origin iframes requires user gesture";
652
653const char kCrossOriginMediaPlaybackRequiresUserGestureDescription[] =
654 "Playing media elements in cross-origin iframes requires user gesture. "
655 "Disabling this will allow autoplay in cross-origin iframes to work.";
656
657#endif // !defined(OS_ANDROID)
658
659const char kPassiveDocumentEventListenersDescription[] =
660 "Forces touchstart, and touchmove event listeners on document level "
661 "targets (which haven't requested otherwise) to be treated as passive.";
662
663const char kPassiveDocumentEventListenersName[] =
664 "Document Level Event Listeners Passive Default";
665
666const char kPassiveEventListenersDueToFlingDescription[] =
667 "Forces touchstart, and first touchmove per scroll event listeners "
668 "during fling to be treated as passive.";
669
670const char kPassiveEventListenersDueToFlingName[] =
671 "Touch Event Listeners Passive Default During Fling";
672
673const char kPassiveEventListenerTrue[] = "True (when unspecified)";
674
675const char kPassiveEventListenerForceAllTrue[] = "Force All True";
676
677const char kPassiveEventListenerDefaultName[] =
678 "Passive Event Listener Override";
679
680const char kPassiveEventListenerDefaultDescription[] =
681 "Forces touchstart, touchmove, mousewheel and wheel event listeners "
682 "(which haven't requested otherwise) to be treated as passive. This "
683 "will break touch/wheel behavior on some websites but is useful for "
684 "demonstrating the potential performance benefits of adopting passive "
685 "event listeners.";
686
687#if defined(OS_ANDROID)
688
689const char kImportantSitesInCbdName[] =
690 "Important sites options in clear browsing data dialog";
691
692const char kImportantSitesInCbdDescription[] =
693 "Include the option to whitelist important sites in the clear browsing "
694 "data dialog.";
695
696#endif // defined(OS_ANDROID)
697
698#if defined(USE_ASH)
699
bruthigd8b95962017-03-31 19:38:34700const char kAshShelfColor[] = "Shelf color in Chrome OS system UI";
vabr0215a8e2017-03-28 12:47:34701
702const char kAshShelfColorDescription[] =
bruthigd8b95962017-03-31 19:38:34703 "Enables/disables the shelf color to be a derived from the wallpaper. The "
704 "--ash-shelf-color-scheme flag defines how that color is derived.";
vabr0215a8e2017-03-28 12:47:34705
bruthigd8b95962017-03-31 19:38:34706const char kAshShelfColorScheme[] = "Shelf color scheme in Chrome OS System UI";
vabr0215a8e2017-03-28 12:47:34707
bruthigd8b95962017-03-31 19:38:34708const char kAshShelfColorSchemeDescription[] =
709 "Specify how the color is derived from the wallpaper. This flag is only "
710 "used when the --ash-shelf-color flag is enabled. Defaults to Dark & Muted";
vabr0215a8e2017-03-28 12:47:34711
bruthigd8b95962017-03-31 19:38:34712const char kAshShelfColorSchemeLightVibrant[] = "Light & Vibrant";
vabr0215a8e2017-03-28 12:47:34713
bruthigd8b95962017-03-31 19:38:34714const char kAshShelfColorSchemeNormalVibrant[] = "Normal & Vibrant";
vabr0215a8e2017-03-28 12:47:34715
bruthigd8b95962017-03-31 19:38:34716const char kAshShelfColorSchemeDarkVibrant[] = "Dark & Vibrant";
vabr0215a8e2017-03-28 12:47:34717
bruthigd8b95962017-03-31 19:38:34718const char kAshShelfColorSchemeLightMuted[] = "Light & Muted";
719
720const char kAshShelfColorSchemeNormalMuted[] = "Normal & Muted";
721
722const char kAshShelfColorSchemeDarkMuted[] = "Dark & Muted";
vabr0215a8e2017-03-28 12:47:34723
724const char kAshMaximizeModeWindowBackdropName[] =
725 "Window backdrops in TouchView";
726
727const char kAshMaximizeModeWindowBackdropDescription[] =
728 "Show grey window backdrops used in TouchView (maximize mode) behind "
729 "windows which cannot be maximized.";
730
731const char kAshScreenOrientationLockName[] = "Screen Orientation locking";
732
733const char kAshScreenOrientationLockDescription[] =
734 "Allows javascript to lock the screen orienation.";
735
736const char kAshEnableMirroredScreenName[] = "Enable mirrored screen mode.";
737
738const char kAshEnableMirroredScreenDescription[] =
739 "Enable the mirrored screen mode. This mode flips the screen image "
740 "horizontally.";
741
wutao2c0ca182017-04-06 22:40:54742const char kAshEnableSmoothScreenRotationName[] =
743 "Enable smooth rotation animations.";
744
745const char kAshEnableSmoothScreenRotationDescription[] =
746 "Enable smooth rotation animations.";
747
vabr0215a8e2017-03-28 12:47:34748const char kMaterialDesignInkDropAnimationFast[] = "Fast";
749
750const char kMaterialDesignInkDropAnimationSlow[] = "Slow";
751
752const char kMaterialDesignInkDropAnimationSpeedName[] =
753 "Material Design Ink Drop Animation Speed";
754
755const char kMaterialDesignInkDropAnimationSpeedDescription[] =
756 "Sets the speed of the experimental visual feedback animations for "
757 "material design.";
758
759const char kUiSlowAnimationsName[] = "Slow UI animations";
760
761const char kUiSlowAnimationsDescription[] = "Makes all UI animations slow.";
762
reveman5be07ac82017-04-14 01:06:05763const char kUiShowCompositedLayerBordersName[] =
764 "Show UI composited layer borders";
765
766const char kUiShowCompositedLayerBordersDescription[] =
767 "Show border around composited layers created by UI.";
768
769const char kUiShowCompositedLayerBordersRenderPass[] = "RenderPass";
770
771const char kUiShowCompositedLayerBordersSurface[] = "Surface";
772
773const char kUiShowCompositedLayerBordersLayer[] = "Layer";
774
775const char kUiShowCompositedLayerBordersAll[] = "All";
776
vabr0215a8e2017-03-28 12:47:34777#endif // defined(USE_ASH)
778
779const char kJavascriptHarmonyShippingName[] =
780 "Latest stable JavaScript features";
781
782const char kJavascriptHarmonyShippingDescription[] =
783 "Some web pages use legacy or non-standard JavaScript extensions that "
784 "may conflict with the latest JavaScript features. This flag allows "
785 "disabling support of those features for compatibility with such "
786 "pages.";
787
788const char kJavascriptHarmonyName[] = "Experimental JavaScript";
789
790const char kJavascriptHarmonyDescription[] =
791 "Enable web pages to use experimental JavaScript features.";
792
vabr0215a8e2017-03-28 12:47:34793const char kV8DisableIgnitionTurboName[] =
rmcilroy124254af2017-03-29 14:30:55794 "Classic JavaScript Compilation Pipeline";
vabr0215a8e2017-03-28 12:47:34795
796const char kV8DisableIgnitionTurboDescription[] =
rmcilroy124254af2017-03-29 14:30:55797 "Enables V8's classic compilation pipeline for JavaScript execution "
798 "(disabling V8's new Ignition interpreter and TurboFan compiler)";
vabr0215a8e2017-03-28 12:47:34799
800const char kEnableAsmWasmName[] =
801 "Experimental Validate Asm.js and convert to WebAssembly when valid.";
802
803const char kEnableAsmWasmDescription[] =
804 R"*(Validate Asm.js when "use asm" is present and then convert to )*"
805 R"*(WebAssembly.)*";
806
807const char kEnableSharedArrayBufferName[] =
808 "Experimental enabled SharedArrayBuffer support in JavaScript.";
809
810const char kEnableSharedArrayBufferDescription[] =
811 "Enable SharedArrayBuffer support in JavaScript.";
812
813const char kEnableWasmName[] = "WebAssembly structured cloning support.";
814
815const char kEnableWasmDescription[] =
816 "Enable web pages to use WebAssembly structured cloning.";
817
818#if defined(OS_ANDROID)
819
820const char kMediaDocumentDownloadButtonName[] =
821 "Download button when opening a page with media url.";
822
823const char kMediaDocumentDownloadButtonDescription[] =
824 "Allow a download button to show up when opening a page with media "
825 "url.";
826
827#endif // defined(OS_ANDROID)
828
829const char kSoftwareRasterizerName[] = "3D software rasterizer";
830
831const char kSoftwareRasterizerDescription[] =
832 "Fall back to a 3D software rasterizer when the GPU cannot be used.";
833
834const char kGpuRasterizationName[] = "GPU rasterization";
835
836const char kGpuRasterizationDescription[] =
837 "Use GPU to rasterize web content. Requires impl-side painting.";
838
839const char kForceGpuRasterization[] = "Force-enabled for all layers";
840
841const char kGpuRasterizationMsaaSampleCountName[] =
842 "GPU rasterization MSAA sample count.";
843
844const char kGpuRasterizationMsaaSampleCountDescription[] =
845 "Specify the number of MSAA samples for GPU rasterization.";
846
847const char kGpuRasterizationMsaaSampleCountZero[] = "0";
848
849const char kGpuRasterizationMsaaSampleCountTwo[] = "2";
850
851const char kGpuRasterizationMsaaSampleCountFour[] = "4";
852
853const char kGpuRasterizationMsaaSampleCountEight[] = "8";
854
855const char kGpuRasterizationMsaaSampleCountSixteen[] = "16";
856
857const char kSlimmingPaintInvalidationName[] = "Slimming paint invalidation.";
858
859const char kSlimmingPaintInvalidationDescription[] =
860 "Whether to enable a new paint invalidation system.";
861
862const char kExperimentalSecurityFeaturesName[] =
863 "Potentially annoying security features";
864
865const char kExperimentalSecurityFeaturesDescription[] =
866 "Enables several security features that will likely break one or more "
867 "pages that you visit on a daily basis. Strict mixed content checking, "
868 "for example. And locking powerful features to secure contexts. This "
869 "flag will probably annoy you.";
870
871const char kExperimentalWebPlatformFeaturesName[] =
872 "Experimental Web Platform features";
873
874const char kExperimentalWebPlatformFeaturesDescription[] =
875 "Enables experimental Web Platform features that are in development.";
876
877const char kExperimentalPointerEventName[] = "Pointer Events";
878
879const char kExperimentalPointerEventDescription[] =
880 "Enables support for the Pointer Events API. This is intended only for "
881 "testing by web developers.";
882
883const char kOriginTrialsName[] = "Origin Trials";
884
885const char kOriginTrialsDescription[] =
886 "Enables origin trials for controlling access to feature/API "
887 "experiments.";
888
889const char kBleAdvertisingInExtensionsName[] = "BLE Advertising in Chrome Apps";
890
891const char kBleAdvertisingInExtensionsDescription[] =
892 "Enables BLE Advertising in Chrome Apps. BLE Advertising might "
893 "interfere with regular use of Bluetooth Low Energy features.";
894
895const char kDevtoolsExperimentsName[] = "Developer Tools experiments";
896
897const char kDevtoolsExperimentsDescription[] =
898 "Enables Developer Tools experiments. Use Settings panel in Developer "
899 "Tools to toggle individual experiments.";
900
901const char kSilentDebuggerExtensionApiName[] = "Silent Debugging";
902
903const char kSilentDebuggerExtensionApiDescription[] =
904 "Do not show the infobar when an extension attaches to a page via "
905 "chrome.debugger API. This is required to debug extension background "
906 "pages.";
907
908const char kShowTouchHudName[] = "Show HUD for touch points";
909
910const char kShowTouchHudDescription[] =
911 "Enables a heads-up display at the top-left corner of the screen that "
912 "lists information about the touch-points on the screen.";
913
914const char kPreferHtmlOverPluginsName[] = "Prefer HTML over Flash";
915
916const char kPreferHtmlOverPluginsDescription[] =
917 "Prefer HTML content by hiding Flash from the list of plugins.";
918
919const char kAllowNaclSocketApiName[] = "NaCl Socket API.";
920
921const char kAllowNaclSocketApiDescription[] =
922 "Allows applications to use NaCl Socket API. Use only to test NaCl "
923 "plugins.";
924
925const char kRunAllFlashInAllowModeName[] =
926 R"*(Run all Flash content when Flash setting is set to "allow")*";
927
928const char kRunAllFlashInAllowModeDescription[] =
929 R"*(For sites that have been set to "allow" Flash content, run all )*"
930 R"*(content including any that has been deemed unimportant.)*";
931
932const char kPinchScaleName[] = "Pinch scale";
933
934const char kPinchScaleDescription[] =
935 "Enables experimental support for scale using pinch.";
936
937const char kCredentialManagerApiName[] = "Experimental Credential Manager API";
938
939const char kCredentialManagerApiDescription[] =
940 "Enables an experimental implementation of the Credential Manager API. "
941 "Don't enable this unless you know what you're doing.";
942
943const char kReducedReferrerGranularityName[] =
944 "Reduce default 'referer' header granularity.";
945
946const char kReducedReferrerGranularityDescription[] =
947 "If a page hasn't set an explicit referrer policy, setting this flag "
948 "will reduce the amount of information in the 'referer' header for "
949 "cross-origin requests.";
950
951#if defined(OS_CHROMEOS)
952
953const char kUseMashName[] = "Mojo UI Service (mus).";
954
955const char kUseMashDescription[] = "Enable mus, mash etc.";
956
957const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
958
959const char kAllowTouchpadThreeFingerClickDescription[] =
960 "Enables touchpad three-finger-click as middle button.";
961
962const char kAshEnableUnifiedDesktopName[] = "Unified desktop mode";
963
964const char kAshEnableUnifiedDesktopDescription[] =
965 "Enable unified desktop mode which allows a window to span multiple "
966 "displays.";
967
968const char kBootAnimation[] = "Boot animation";
969
970const char kBootAnimationDescription[] =
971 "Wallpaper boot animation (except for OOBE case).";
972
973#endif // defined(OS_CHROMEOS)
974
975const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
976
977const char kAcceleratedVideoDecodeDescription[] =
978 "Hardware-accelerated video decode where available.";
979
hubbee7499512017-04-05 22:35:04980const char kEnableHDRName[] = "HDR mode";
981
982const char kEnableHDRDescription[] =
983 "Enables HDR support on compatible displays.";
984
vabr0215a8e2017-03-28 12:47:34985const char kCloudImport[] = "Cloud Import";
986
987const char kCloudImportDescription[] = "Allows the cloud-import feature.";
988
989const char kRequestTabletSiteName[] =
990 "Request tablet site option in the settings menu";
991
992const char kRequestTabletSiteDescription[] =
993 "Allows the user to request tablet site. Web content is often optimized "
994 "for tablet devices. When this option is selected the user agent string "
995 "is changed to indicate a tablet device. Web content optimized for "
996 "tablets is received there after for the current tab.";
997
998const char kDebugPackedAppName[] = "Debugging for packed apps";
999
1000const char kDebugPackedAppDescription[] =
1001 "Enables debugging context menu options such as Inspect Element for "
1002 "packed applications.";
1003
1004const char kDropSyncCredentialName[] =
1005 "Drop sync credentials from password manager";
1006
1007const char kDropSyncCredentialDescription[] =
1008 "The password manager will not offer to save the credential used to "
1009 "sync.";
1010
1011const char kPasswordGenerationName[] = "Password generation";
1012
1013const char kPasswordGenerationDescription[] =
1014 "Allow the user to have Chrome generate passwords when it detects "
1015 "account creation pages.";
1016
1017const char kPasswordForceSavingName[] = "Force-saving of passwords";
1018
1019const char kPasswordForceSavingDescription[] =
1020 "Allow the user to manually enforce password saving instead of relying "
1021 "on password manager's heuristics.";
1022
1023const char kManualPasswordGenerationName[] = "Manual password generation.";
1024
1025const char kManualPasswordGenerationDescription[] =
1026 "Show a 'Generate Password' option on the context menu for all password "
1027 "fields.";
1028
1029const char kShowAutofillSignatures[] = "Show autofill signatures.";
1030
1031const char kShowAutofillSignaturesDescription[] =
1032 "Annotates web forms with Autofill signatures as HTML attributes.";
1033
1034const char kSuggestionsWithSubStringMatchName[] =
1035 "Substring matching for Autofill suggestions";
1036
1037const char kSuggestionsWithSubStringMatchDescription[] =
1038 "Match Autofill suggestions based on substrings (token prefixes) rather "
1039 "than just prefixes.";
1040
1041const char kAffiliationBasedMatchingName[] =
1042 "Affiliation based matching in password manager";
1043
1044const char kAffiliationBasedMatchingDescription[] =
1045 "Allow credentials stored for Android applications to be filled into "
1046 "corresponding websites.";
1047
1048const char kProtectSyncCredentialName[] = "Autofill sync credential";
1049
1050const char kProtectSyncCredentialDescription[] =
1051 "How the password manager handles autofill for the sync credential.";
1052
1053const char kPasswordImportExportName[] = "Password import and export";
1054
1055const char kPasswordImportExportDescription[] =
1056 "Import and Export functionality in password settings.";
1057
1058const char kProtectSyncCredentialOnReauthName[] =
1059 "Autofill sync credential only for transactional reauth pages";
1060
1061const char kProtectSyncCredentialOnReauthDescription[] =
1062 "How the password manager handles autofill for the sync credential only "
1063 "for transactional reauth pages.";
1064
1065const char kIconNtpName[] = "Large icons on the New Tab page";
1066
1067const char kIconNtpDescription[] =
1068 "Enable the experimental New Tab page using large icons.";
1069
1070const char kPushApiBackgroundModeName[] = "Enable Push API background mode";
1071
1072const char kPushApiBackgroundModeDescription[] =
1073 "Enable background mode for the Push API. This allows Chrome to "
1074 "continue running after the last window is closed, and to launch at OS "
1075 "startup, if the Push API needs it.";
1076
1077const char kEnableNavigationTracing[] = "Enable navigation tracing";
1078
1079const char kEnableNavigationTracingDescription[] =
1080 "This is to be used in conjunction with the trace-upload-url flag. "
1081 "WARNING: When enabled, Chrome will record performance data for every "
1082 "navigation and upload it to the URL specified by the trace-upload-url "
1083 "flag. The trace may include personally identifiable information (PII) "
1084 "such as the titles and URLs of websites you visit.";
1085
1086const char kTraceUploadUrl[] = "Trace label for navigation tracing";
1087
1088const char kTraceUploadUrlDescription[] =
1089 "This is to be used in conjunction with the enable-navigation-tracing "
1090 "flag. Please select the label that best describes the recorded traces. "
1091 "This will choose the destination the traces are uploaded to. If you "
1092 "are not sure, select other. If left empty, no traces will be "
1093 "uploaded.";
1094
1095const char kDisableAudioForDesktopShare[] = "Disable Audio For Desktop Share";
1096
1097const char kDisableAudioForDesktopShareDescription[] =
1098 "With this flag on, desktop share picker window will not let the user "
1099 "choose whether to share audio.";
1100
1101const char kDisableTabForDesktopShare[] =
1102 "Disable Desktop Share with tab source";
1103
1104const char kDisableTabForDesktopShareDescription[] =
1105 "This flag controls whether users can choose a tab for desktop share.";
1106
1107const char kTraceUploadUrlChoiceOther[] = "Other";
1108
1109const char kTraceUploadUrlChoiceEmloading[] = "emloading";
1110
1111const char kTraceUploadUrlChoiceQa[] = "QA";
1112
1113const char kTraceUploadUrlChoiceTesting[] = "Testing";
1114
1115const char kSupervisedUserManagedBookmarksFolderName[] =
1116 "Managed bookmarks for supervised users";
1117
1118const char kSupervisedUserManagedBookmarksFolderDescription[] =
1119 "Enable the managed bookmarks folder for supervised users.";
1120
1121const char kSyncAppListName[] = "App Launcher sync";
1122
1123const char kSyncAppListDescription[] =
1124 "Enable App Launcher sync. This also enables Folders where available "
1125 "(non OSX).";
1126
1127const char kDriveSearchInChromeLauncher[] =
1128 "Drive Search in Chrome App Launcher";
1129
1130const char kDriveSearchInChromeLauncherDescription[] =
1131 "Files from Drive will show up when searching the Chrome App Launcher.";
1132
1133const char kV8CacheOptionsName[] = "V8 caching mode.";
1134
1135const char kV8CacheOptionsDescription[] =
1136 "Caching mode for the V8 JavaScript engine.";
1137
1138const char kV8CacheOptionsParse[] = "Cache V8 parser data.";
1139
1140const char kV8CacheOptionsCode[] = "Cache V8 compiler data.";
1141
1142const char kV8CacheStrategiesForCacheStorageName[] =
1143 "V8 caching strategy for CacheStorage.";
1144
1145const char kV8CacheStrategiesForCacheStorageDescription[] =
1146 "Caching strategy of scripts in CacheStorage for the V8 JavaScript "
1147 "engine.";
1148
1149const char kV8CacheStrategiesForCacheStorageNormal[] = "Normal";
1150
1151const char kV8CacheStrategiesForCacheStorageAggressive[] = "Aggressive";
1152
vabr0215a8e2017-03-28 12:47:341153const char kMemoryCoordinatorName[] = "Memory coordinator";
1154
1155const char kMemoryCoordinatorDescription[] =
1156 "Enable memory coordinator instead of memory pressure listeners.";
1157
1158const char kServiceWorkerNavigationPreloadName[] =
1159 "Service worker navigation preload.";
1160
1161const char kServiceWorkerNavigationPreloadDescription[] =
1162 "Enable web pages to use the experimental service worker navigation "
1163 "preload API.";
1164
vabr0215a8e2017-03-28 12:47:341165// Data Reduction Proxy
1166
1167const char kDataReductionProxyLoFiName[] = "Data Saver Lo-Fi mode";
1168
1169const char kDataReductionProxyLoFiDescription[] =
1170 "Forces Data Saver Lo-Fi mode to be always enabled, enabled only on "
1171 "cellular connections, or disabled. Data Saver must be enabled for "
1172 "Lo-Fi mode to be used.";
1173
1174const char kDataReductionProxyLoFiAlwaysOn[] = "Always on";
1175
1176const char kDataReductionProxyLoFiCellularOnly[] = "Cellular only";
1177
1178const char kDataReductionProxyLoFiDisabled[] = "Disable";
1179
1180const char kDataReductionProxyLoFiSlowConnectionsOnly[] =
1181 "Slow connections only";
1182
1183const char kEnableDataReductionProxyLitePageName[] =
1184 "Lite pages for Data Saver Lo-Fi mode";
1185
1186const char kEnableDataReductionProxyLitePageDescription[] =
1187 "Enable lite pages in Data Saver Lo-Fi mode. Previews of pages will be "
1188 "shown instead of image placeholders when Lo-Fi is on. Data Saver and "
1189 "Lo-Fi must be enabled for lite pages to be shown.";
1190
1191const 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[] =
1208 "Enable Data Saver main menu item";
1209
1210const char kEnableDataReductionProxyMainMenuDescription[] =
1211 "Enables the Data Saver menu item in the main menu rather than under "
1212 "Settings.";
1213
megjablon5e5d1c172017-04-06 23:55:111214const char kEnableDataReductionProxySiteBreakdownName[] =
1215 "Data Saver Site Breakdown";
1216
1217const char kEnableDataReductionProxySiteBreakdownDescription[] =
1218 "Enable the site breakdown on the Data Saver settings page.";
1219
megjablon553df4cf2017-04-01 01:29:551220#endif // defined(OS_ANDROID)
1221
vabr0215a8e2017-03-28 12:47:341222const char kLcdTextName[] = "LCD text antialiasing";
1223
1224const char kLcdTextDescription[] =
1225 "If disabled, text is rendered with grayscale antialiasing instead of "
1226 "LCD (subpixel) when doing accelerated compositing.";
1227
1228const char kDistanceFieldTextName[] = "Distance field text";
1229
1230const char kDistanceFieldTextDescription[] =
1231 "Text is rendered with signed distance fields rather than bitmap alpha "
1232 "masks.";
1233
1234const char kZeroCopyName[] = "Zero-copy rasterizer";
1235
1236const char kZeroCopyDescription[] =
1237 "Raster threads write directly to GPU memory associated with tiles.";
1238
1239const char kHideInactiveStackedTabCloseButtonsName[] =
1240 "Hiding close buttons on inactive tabs when stacked";
1241
1242const char kHideInactiveStackedTabCloseButtonsDescription[] =
1243 "Hides the close buttons of inactive tabs when the tabstrip is in "
1244 "stacked mode.";
1245
1246const char kDefaultTileWidthName[] = "Default tile width";
1247
1248const char kDefaultTileWidthDescription[] = "Specify the default tile width.";
1249
1250const char kDefaultTileWidthShort[] = "128";
1251
1252const char kDefaultTileWidthTall[] = "256";
1253
1254const char kDefaultTileWidthGrande[] = "512";
1255
1256const char kDefaultTileWidthVenti[] = "1024";
1257
1258const char kDefaultTileHeightName[] = "Default tile height";
1259
1260const char kDefaultTileHeightDescription[] = "Specify the default tile height.";
1261
1262const char kDefaultTileHeightShort[] = "128";
1263
1264const char kDefaultTileHeightTall[] = "256";
1265
1266const char kDefaultTileHeightGrande[] = "512";
1267
1268const char kDefaultTileHeightVenti[] = "1024";
1269
1270const char kNumRasterThreadsName[] = "Number of raster threads";
1271
1272const char kNumRasterThreadsDescription[] =
1273 "Specify the number of raster threads.";
1274
1275const char kNumRasterThreadsOne[] = "1";
1276
1277const char kNumRasterThreadsTwo[] = "2";
1278
1279const char kNumRasterThreadsThree[] = "3";
1280
1281const char kNumRasterThreadsFour[] = "4";
1282
1283const char kResetAppListInstallStateName[] =
1284 "Reset the App Launcher install state on every restart.";
1285
1286const char kResetAppListInstallStateDescription[] =
1287 "Reset the App Launcher install state on every restart. While this flag "
1288 "is set, Chrome will forget the launcher has been installed each time "
1289 "it starts. This is used for testing the App Launcher install flow.";
1290
1291#if defined(OS_CHROMEOS)
1292
1293const char kFirstRunUiTransitionsName[] =
1294 "Animated transitions in the first-run tutorial";
1295
1296const char kFirstRunUiTransitionsDescription[] =
1297 "Transitions during first-run tutorial are animated.";
1298
1299#endif // defined(OS_CHROMEOS)
1300
1301const char kNewBookmarkAppsName[] = "The new bookmark app system";
1302
1303const char kNewBookmarkAppsDescription[] =
1304 "Enables the new system for creating bookmark apps.";
1305
1306#if defined(OS_MACOSX)
1307
1308const char kHostedAppsInWindowsName[] =
1309 "Allow hosted apps to be opened in windows";
1310
1311const char kHostedAppsInWindowsDescription[] =
1312 "Allows hosted apps to be opened in windows instead of being limited to "
1313 "tabs.";
1314
1315const char kTabDetachingInFullscreenName[] =
1316 "Allow tab detaching in fullscreen";
1317
1318const char kTabDetachingInFullscreenDescription[] =
1319 "Allow tabs to detach from the tabstrip when in fullscreen mode on "
1320 "Mac.";
1321
1322const char kFullscreenToolbarRevealName[] =
1323 "Enables the toolbar in fullscreen to reveal itself.";
1324
1325const char kFullscreenToolbarRevealDescription[] =
1326 "Reveal the toolbar in fullscreen for a short period when the tab strip "
1327 "has changed.";
1328
1329const char kTabStripKeyboardFocusName[] = "Tab Strip Keyboard Focus";
1330
1331const char kTabStripKeyboardFocusDescription[] =
1332 "Enable keyboard focus for the tabs in the tab strip.";
1333
1334#endif // defined(OS_MACOSX)
1335
1336const char kHostedAppShimCreationName[] =
1337 "Creation of app shims for hosted apps on Mac";
1338
1339const char kHostedAppShimCreationDescription[] =
1340 "Create app shims on Mac when creating a hosted app.";
1341
1342const char kHostedAppQuitNotificationName[] =
1343 "Quit notification for hosted apps";
1344
1345const char kHostedAppQuitNotificationDescription[] =
1346 "Display a notification when quitting Chrome if hosted apps are "
1347 "currently running.";
1348
1349#if defined(OS_ANDROID)
1350
1351const char kPullToRefreshEffectName[] = "The pull-to-refresh effect";
1352
1353const char kPullToRefreshEffectDescription[] =
1354 "Page reloads triggered by vertically overscrolling content.";
1355
1356#endif // defined(OS_ANDROID)
1357
1358#if defined(OS_MACOSX)
1359
1360const char kTranslateNewUxName[] = "New Translate UX";
1361
1362const char kTranslateNewUxDescription[] =
1363 "Enable the new Translate bubble UX is offered instead of the infobar.";
1364
1365#endif // defined(OS_MACOSX)
1366
1367const char kTranslate2016q2UiName[] = "Translate 2016Q2 UI";
1368
1369const char kTranslate2016q2UiDescription[] =
1370 "Improved triggering logic and look for Translate Bubble UI";
1371
1372const char kTranslateLanguageByUlpName[] = "Translate Language by ULP";
1373
1374const char kTranslateLanguageByUlpDescription[] =
1375 "Improved translate target language and triggering logic by considering "
1376 "information from User Language Profile (ULP).";
1377
1378const char kViewsRectBasedTargetingName[] = "Rect-based targeting in views";
1379
1380const char kViewsRectBasedTargetingDescription[] =
1381 "Rect-based targeting uses a heuristic to determine the most probable "
1382 "target of a gesture, where the touch region is represented by a "
1383 "rectangle.";
1384
1385const char kPermissionActionReportingName[] = "Permission Action Reporting";
1386
1387const char kPermissionActionReportingDescription[] =
1388 "Enables permission action reporting to Safe Browsing servers for opted "
1389 "in users.";
1390
1391const char kPermissionsBlacklistName[] = "Permissions Blacklist";
1392
1393const char kPermissionsBlacklistDescription[] =
1394 "Enables the Permissions Blacklist, which blocks permissions for "
1395 "blacklisted sites for Safe Browsing users.";
1396
1397const char kThreadedScrollingName[] = "Threaded scrolling";
1398
1399const char kThreadedScrollingDescription[] =
1400 "Threaded handling of scroll-related input events. Disabling this will "
1401 "force all such scroll events to be handled on the main thread. Note "
1402 "that this can dramatically hurt scrolling performance of most websites "
1403 "and is intended for testing purposes only.";
1404
1405const char kHarfbuzzRendertextName[] = "HarfBuzz for UI text";
1406
1407const char kHarfbuzzRendertextDescription[] =
1408 "Enable cross-platform HarfBuzz layout engine for UI text. Doesn't "
1409 "affect web content.";
1410
1411const char kEmbeddedExtensionOptionsName[] = "Embedded extension options";
1412
1413const char kEmbeddedExtensionOptionsDescription[] =
1414 "Display extension options as an embedded element in "
1415 "chrome://extensions rather than opening a new tab.";
1416
1417const char kTabAudioMutingName[] = "Tab audio muting UI control";
1418
1419const char kTabAudioMutingDescription[] =
1420 "When enabled, the audio indicators in the tab strip double as tab "
1421 "audio mute controls. This also adds commands in the tab context menu "
1422 "for quickly muting multiple selected tabs.";
1423
1424const char kEasyUnlockBluetoothLowEnergyDiscoveryName[] =
1425 "Smart Lock Bluetooth Low Energy Discovery";
1426
1427const char kEasyUnlockBluetoothLowEnergyDiscoveryDescription[] =
1428 "Enables a Smart Lock setting that allows Chromebook to discover phones "
1429 "over Bluetooth Low Energy in order to unlock the Chromebook when the "
1430 "phone is in its proximity.";
1431
1432const char kEasyUnlockProximityDetectionName[] =
1433 "Smart Lock proximity detection";
1434
1435const char kEasyUnlockProximityDetectionDescription[] =
1436 "Enables a Smart Lock setting that restricts unlocking to only work "
1437 "when your phone is very close to (roughly, within an arm's length of) "
1438 "the Chrome device.";
1439
1440const char kWifiCredentialSyncName[] = "WiFi credential sync";
1441
1442const char kWifiCredentialSyncDescription[] =
1443 "Enables synchronizing WiFi network settings across devices. When "
1444 "enabled, the WiFi credential datatype is registered with Chrome Sync, "
1445 "and WiFi credentials are synchronized subject to user preferences. "
1446 "(See also, chrome://settings/syncSetup.)";
1447
1448const char kSyncSandboxName[] = "Use Chrome Sync sandbox";
1449
1450const char kSyncSandboxDescription[] =
1451 "Connects to the testing server for Chrome Sync.";
1452
1453const char kDatasaverPromptName[] = "Cellular Data Saver Prompt";
1454
1455const char kDatasaverPromptDescription[] =
1456 "Enables a prompt, which appears when a cellular network connection is "
1457 "detected, to take the user to the Data Saver extension page on Chrome "
1458 "Web Store.";
1459
1460const char kDatasaverPromptDemoMode[] = "Demo mode";
1461
1462const char kDisableUnifiedMediaPipelineDescription[] =
1463 "Disables the unified (Android and desktop) media pipeline on Android.";
1464
1465const char kTrySupportedChannelLayoutsName[] =
1466 "Causes audio output streams to check if channel layouts other than the "
1467 "default hardware layout are available.";
1468
1469const char kTrySupportedChannelLayoutsDescription[] =
1470 "Causes audio output streams to check if channel layouts other than the "
1471 "default hardware layout are available. Turning this on will allow the "
1472 "OS to do stereo to surround expansion if supported. May expose third "
1473 "party driver bugs, use with caution.";
1474
1475#if defined(OS_MACOSX)
1476
1477const char kAppInfoDialogName[] = "Toolkit-Views App Info Dialog.";
1478
1479const char kAppInfoDialogDescription[] =
1480 "Makes the Toolkit-Views based App Info dialog accessible from "
1481 "chrome://apps or chrome://extensions in place of the native extension "
1482 "permissions dialog, or the details link (which is a link to the Web "
1483 "Store).";
1484
1485const char kMacViewsNativeAppWindowsName[] = "Toolkit-Views App Windows.";
1486
1487const char kMacViewsNativeAppWindowsDescription[] =
1488 "Controls whether to use Toolkit-Views based Chrome App windows.";
1489
1490const char kMacViewsTaskManagerName[] = "Toolkit-Views Task Manager.";
1491
1492const char kMacViewsTaskManagerDescription[] =
1493 "Controls whether to use the Toolkit-Views based Task Manager.";
1494
1495const char kAppWindowCyclingName[] = "Custom Window Cycling for Chrome Apps.";
1496
1497const char kAppWindowCyclingDescription[] =
1498 "Changes the behavior of Cmd+` when a Chrome App becomes active. When "
1499 "enabled, Chrome Apps will not be cycled when Cmd+` is pressed from a "
1500 "browser window, and browser windows will not be cycled when a Chrome "
1501 "App is active.";
1502
1503#endif // defined(OS_MACOSX)
1504
1505#if defined(OS_CHROMEOS)
1506
1507const char kAcceleratedMjpegDecodeName[] =
1508 "Hardware-accelerated mjpeg decode for captured frame";
1509
1510const char kAcceleratedMjpegDecodeDescription[] =
1511 "Enable hardware-accelerated mjpeg decode for captured frame where "
1512 "available.";
1513
1514#endif // defined(OS_CHROMEOS)
1515
1516const char kSimplifiedFullscreenUiName[] =
1517 "Simplified full screen / mouse lock UI.";
1518
1519const char kSimplifiedFullscreenUiDescription[] =
1520 "A simplified new user experience when entering page-triggered full "
1521 "screen or mouse pointer lock states.";
1522
1523const char kExperimentalKeyboardLockUiName[] = "Experimental keyboard lock UI.";
1524
1525const char kExperimentalKeyboardLockUiDescription[] =
1526 "An experimental full screen with keyboard lock mode requiring users to "
1527 "hold Esc to exit.";
1528
1529#if defined(OS_ANDROID)
1530
1531const char kProgressBarAnimationName[] =
1532 "Android phone page loading progress bar animation";
1533
1534const char kProgressBarAnimationDescription[] =
1535 "Configures Android phone page loading progress bar animation.";
1536
1537const char kProgressBarAnimationLinear[] = "Linear";
1538
1539const char kProgressBarAnimationSmooth[] = "Smooth";
1540
1541const char kProgressBarAnimationSmoothIndeterminate[] = "Smooth indeterminate";
1542
1543const char kProgressBarAnimationFastStart[] = "Fast start";
1544
1545const char kProgressBarCompletionName[] =
1546 "Android phone page load progress bar completion time.";
1547
1548const char kProgressBarCompletionDescription[] =
1549 "Configures Android phone page loading progress bar completion time.";
1550
1551const char kProgressBarCompletionLoadEvent[] =
1552 R"*(Top loading frame's onload event ("everything" is done in the )*"
1553 R"*(page, historical behavior).)*";
1554
1555const char kProgressBarCompletionResourcesBeforeDcl[] =
1556 "Main frame's domContentLoaded and all resources loads started before "
1557 "domContentLoaded (iframes ignored).";
1558
1559const char kProgressBarCompletionDomContentLoaded[] =
1560 "Main frame's domContentLoaded (iframes ignored).";
1561
1562const char kProgressBarCompletionResourcesBeforeDclAndSameOriginIframes[] =
1563 "domContentLoaded and all resources loads started before "
1564 "domContentLoaded (main frame and same origin iframes).";
1565
1566#endif // defined(OS_ANDROID)
1567
1568const char kDisallowDocWrittenScriptsUiName[] =
1569 "Block scripts loaded via document.write";
1570
1571const char kDisallowDocWrittenScriptsUiDescription[] =
1572 "Disallows fetches for third-party parser-blocking scripts inserted "
1573 "into the main frame via document.write.";
1574
1575#if defined(OS_WIN)
1576
1577const char kEnableAppcontainerName[] = "Enable AppContainer Lockdown.";
1578
1579const char kEnableAppcontainerDescription[] =
1580 "Enables the use of an AppContainer on sandboxed processes to improve "
1581 "security.";
1582
1583#endif // defined(OS_WIN)
1584
1585#if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
1586
1587const char kAutofillCreditCardUploadName[] =
1588 "Enable offering upload of Autofilled credit cards";
1589
1590const char kAutofillCreditCardUploadDescription[] =
1591 "Enables a new option to upload credit cards to Google Payments for "
1592 "sync to all Chrome devices.";
1593
1594#endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
1595
1596const char kForceUiDirectionName[] = "Force UI direction";
1597
1598const char kForceUiDirectionDescription[] =
1599 "Explicitly force the UI to left-to-right (LTR) or right-to-left (RTL) "
1600 "mode, overriding the default direction of the UI language.";
1601
1602const char kForceUiDirectionLtr[] = "Left-to-right";
1603
1604const char kForceUiDirectionRtl[] = "Right-to-left";
1605
1606#if defined(OS_WIN) || defined(OS_LINUX)
1607
1608const char kEnableInputImeApiName[] = "Enable Input IME API";
1609
1610const char kEnableInputImeApiDescription[] =
1611 "Enable the use of chrome.input.ime API.";
1612
1613#endif // defined(OS_WIN) || defined(OS_LINUX)
1614
1615const char kEnableGroupedHistoryName[] = "Group history by domain";
1616
1617const char kEnableGroupedHistoryDescription[] =
1618 "Group history by website domain (i.e. google.com) on "
1619 "chrome://history.";
1620
1621const char kSecurityChipDefault[] = "Default";
1622
1623const char kSecurityChipShowNonsecureOnly[] = "Show non-secure only";
1624
1625const char kSecurityChipShowAll[] = "Show all";
1626
1627const char kSecurityChipAnimationDefault[] = "Default";
1628
1629const char kSecurityChipAnimationNone[] = "No animation";
1630
1631const char kSecurityChipAnimationNonsecureOnly[] = "Animate non-secure only";
1632
1633const char kSecurityChipAnimationAll[] = "Animate all";
1634
1635const char kSaveasMenuLabelExperimentName[] =
1636 "Switch 'Save as' menu labels to 'Download'";
1637
1638const char kSaveasMenuLabelExperimentDescription[] =
1639 "Enables an experiment to switch menu labels that use 'Save as...' to "
1640 "'Download'.";
1641
1642const char kEnableEnumeratingAudioDevicesName[] =
1643 "Experimentally enable enumerating audio devices.";
1644
1645const char kEnableEnumeratingAudioDevicesDescription[] =
1646 "Experimentally enable the use of enumerating audio devices.";
1647
1648const char kNewUsbBackendName[] = "Enable new USB backend";
1649
1650const char kNewUsbBackendDescription[] =
1651 "Enables the new experimental USB backend for Windows.";
1652
1653const char kNewOmniboxAnswerTypesName[] =
1654 "New omnibox answers in suggest types";
1655
1656const char kNewOmniboxAnswerTypesDescription[] =
1657 "Enables new types of answers in the omnibox suggest drop-down: "
1658 "currency conversions, dictionary definitions, sports scores, "
1659 "translations, and when is.";
1660
1661const char kEnableZeroSuggestRedirectToChromeName[] =
1662 "Experimental contextual omnibox suggestion";
1663
1664const char kEnableZeroSuggestRedirectToChromeDescription[] =
1665 "Change omnibox contextual suggestions to an experimental source. Note "
1666 "that this is not an on/off switch for contextual omnibox and it only "
1667 "applies to suggestions provided before the user starts typing a URL or "
1668 "a search query (i.e. zero suggest).";
1669
1670const char kFillOnAccountSelectName[] = "Fill passwords on account selection";
1671
1672const char kFillOnAccountSelectDescription[] =
1673 "Filling of passwords when an account is explicitly selected by the "
1674 "user rather than autofilling credentials on page load.";
1675
1676const char kEnableClearBrowsingDataCountersName[] =
1677 "Enable Clear browsing data counters.";
1678
1679const char kEnableClearBrowsingDataCountersDescription[] =
1680 "Shows data volume counters in the Clear browsing data dialog.";
1681
1682#if defined(OS_ANDROID)
1683
1684const char kTabsInCbdName[] = "Enable tabs for the Clear Browsing Data dialog.";
1685
1686const char kTabsInCbdDescription[] =
1687 "Enables a basic and an advanced tab for the Clear Browsing Data "
1688 "dialog.";
1689
1690#endif // defined(OS_ANDROID)
1691
1692const char kNotificationsNativeFlag[] = "Enable native notifications.";
1693
1694const char kNotificationsNativeFlagDescription[] =
1695 "Enable support for using the native notification toasts and "
1696 "notification center on platforms where these are available.";
1697
1698#if defined(OS_ANDROID)
1699
1700const char kEnableAndroidSpellcheckerDescription[] =
1701 "Enables use of the Android spellchecker.";
1702
1703const char kEnableAndroidSpellcheckerName[] = "Enable spell checking";
1704
1705#endif // defined(OS_ANDROID)
1706
1707const char kEnableWebNotificationCustomLayoutsName[] =
1708 "Enable custom layouts for Web Notifications.";
1709
1710const char kEnableWebNotificationCustomLayoutsDescription[] =
1711 "Enable custom layouts for Web Notifications. They will have subtle "
1712 "layout improvements that are otherwise not possible.";
1713
1714const char kAccountConsistencyName[] =
1715 "Identity consistency between browser and cookie jar";
1716
1717const char kAccountConsistencyDescription[] =
1718 "When enabled, the browser manages signing in and out of Google "
1719 "accounts.";
1720
1721const char kEnablePasswordSeparatedSigninFlowName[] =
1722 "Enable new gaia password-separated sign in flow";
1723
1724const char kEnablePasswordSeparatedSigninFlowDescription[] =
1725 "When enabled, signing in to the browser will use a new gaia "
1726 "password-separated sign in flow.";
1727
1728const 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
1734const char kOfferStoreUnmaskedWalletCards[] =
1735 "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
1771const char kSmartVirtualKeyboardName[] =
1772 "Smart Deployment of the Virtual Keyboard";
1773
1774const char kSmartVirtualKeyboardDescription[] =
1775 "Enable/Disable smart deployment of the virtual keyboard.";
1776
1777const char kVirtualKeyboardName[] = "Virtual Keyboard";
1778
1779const char kVirtualKeyboardDescription[] = "Enable virtual keyboard support.";
1780
1781const char kVirtualKeyboardOverscrollName[] = "Virtual Keyboard Overscroll";
1782
1783const char kVirtualKeyboardOverscrollDescription[] =
1784 "Enables virtual keyboard overscroll support.";
1785
1786const char kInputViewName[] = "Input views";
1787
1788const char kInputViewDescription[] =
1789 "Enable IME extensions to supply custom views for user input such as "
1790 "virtual keyboards.";
1791
1792const char kNewKoreanImeName[] = "New Korean IME";
1793
1794const char kNewKoreanImeDescription[] =
1795 "New Korean IME, which is based on Google Input Tools' HMM engine.";
1796
1797const char kPhysicalKeyboardAutocorrectName[] = "Physical keyboard autocorrect";
1798
1799const char kPhysicalKeyboardAutocorrectDescription[] =
1800 "Enable physical keyboard autocorrect for US keyboard, which can "
1801 "provide suggestions as typing on physical keyboard.";
1802
1803const char kVoiceInputName[] = "Voice input on virtual keyboard";
1804
1805const char kVoiceInputDescription[] =
1806 "Enables voice input on virtual keyboard.";
1807
1808const char kExperimentalInputViewFeaturesName[] =
1809 "Experimental input view features";
1810
1811const char kExperimentalInputViewFeaturesDescription[] =
1812 "Enable experimental features for IME input views.";
1813
1814const char kFloatingVirtualKeyboardName[] = "Floating virtual keyboard.";
1815
1816const char kFloatingVirtualKeyboardDescription[] =
1817 "Enable/Disable floating virtual keyboard.";
1818
1819const char kGestureTypingName[] = "Gesture typing for the virtual keyboard.";
1820
1821const char kGestureTypingDescription[] =
1822 "Enable/Disable gesture typing option in the settings page for the "
1823 "virtual keyboard.";
1824
1825const char kGestureEditingName[] = "Gesture editing for the virtual keyboard.";
1826
1827const char kGestureEditingDescription[] =
1828 "Enable/Disable gesture editing option in the settings page for the "
1829 "virtual keyboard.";
1830
1831const char kCaptivePortalBypassProxyName[] =
1832 "Bypass proxy for Captive Portal Authorization";
1833
1834const char kCaptivePortalBypassProxyDescription[] =
1835 "If proxy is configured, it usually prevents from authorization on "
1836 "different captive portals. This enables opening captive portal "
1837 "authorization dialog in a separate window, which ignores proxy "
1838 "settings.";
1839
1840const char kTouchscreenCalibrationName[] =
1841 "Enable/disable touchscreen calibration option in material design "
1842 "settings";
1843
1844const char kTouchscreenCalibrationDescription[] =
1845 "If enabled, the user can calibrate the touch screen displays in "
1846 "chrome://md-settings/display.";
1847
1848#endif // defined(OS_CHROMEOS)
1849
1850// Strings for controlling credit card assist feature in about:flags.
1851
1852const char kCreditCardAssistName[] = "Credit Card Assisted Filling";
1853
1854const char kCreditCardAssistDescription[] =
1855 "Enable assisted credit card filling on certain sites.";
1856
1857// Strings for controlling credit card scanning feature in about:flags.
1858
1859// Simple Cache Backend experiment.
1860
1861const char kSimpleCacheBackendName[] = "Simple Cache for HTTP";
1862
1863const char kSimpleCacheBackendDescription[] =
1864 "The Simple Cache for HTTP is a new cache. It relies on the filesystem "
1865 "for disk space allocation.";
1866
1867// Spelling feedback field trial.
1868
1869const char kSpellingFeedbackFieldTrialName[] = "Spelling Feedback Field Trial";
1870
1871const char kSpellingFeedbackFieldTrialDescription[] =
1872 "Enable the field trial for sending user feedback to spelling service.";
1873
1874// Web MIDI API.
1875
1876const char kWebMidiName[] = "Web MIDI API";
1877
1878const char kWebMidiDescription[] = "Enable Web MIDI API experimental support.";
1879
1880// Site per process mode
1881
creisc3af64f2017-04-12 17:22:381882const char kSitePerProcessName[] = "Strict site isolation";
vabr0215a8e2017-03-28 12:47:341883
1884const char kSitePerProcessDescription[] =
creisc3af64f2017-04-12 17:22:381885 "Highly experimental security mode that ensures each renderer process "
1886 "contains pages from at most one site. In this mode, out-of-process "
1887 "iframes will be used whenever an iframe is cross-site.";
vabr0215a8e2017-03-28 12:47:341888
1889// Top document isolation mode
1890
1891const char kTopDocumentIsolationName[] = "Top document isolation";
1892
1893const char kTopDocumentIsolationDescription[] =
1894 "Highly experimental performance mode where cross-site iframes are kept "
1895 "in a separate process from the top document. In this mode, iframes "
1896 "from different third-party sites will be allowed to share a process.";
1897
1898// Cross process guest frames isolation mode
1899
1900const char kCrossProcessGuestViewIsolationName[] =
1901 "Cross process frames for guests";
1902
1903const char kCrossProcessGuestViewIsolationDescription[] =
1904 "Highly experimental where guests such as <webview> are implemented "
1905 "on the out-of-process iframe infrastructure.";
1906
1907// Task Scheduler
1908
1909const char kBrowserTaskSchedulerName[] = "Task Scheduler";
1910
1911const char kBrowserTaskSchedulerDescription[] =
1912 "Enables redirection of some task posting APIs to the task scheduler.";
1913
1914// Arc authorization
1915
1916#if defined(OS_CHROMEOS)
1917
1918const char kArcUseAuthEndpointName[] = "Android apps authorization point";
1919
1920const char kArcUseAuthEndpointDescription[] =
1921 "Enable Android apps authorization point to automatic sign-in in OptIn "
1922 "flow.";
1923
1924#endif // defined(OS_CHROMEOS)
1925
1926// Autofill experiment flags
1927
1928const char kSingleClickAutofillName[] = "Single-click autofill";
1929
1930const char kSingleClickAutofillDescription[] =
1931 "Make autofill suggestions on initial mouse click on a form element.";
1932
1933#if defined(OS_ANDROID)
1934
1935const char kAutofillAccessoryViewName[] =
1936 "Autofill suggestions as keyboard accessory view";
1937
1938const char kAutofillAccessoryViewDescription[] =
1939 "Shows Autofill suggestions on top of the keyboard rather than in a "
1940 "dropdown.";
1941
1942#endif // defined(OS_ANDROID)
1943
1944// Reader mode experiment flags
1945
1946#if defined(OS_ANDROID)
1947
1948const char kReaderModeHeuristicsName[] = "Reader Mode triggering";
1949
1950const char kReaderModeHeuristicsDescription[] =
1951 "Determines what pages the Reader Mode button is shown on.";
1952
1953const char kReaderModeHeuristicsMarkup[] = "With article structured markup";
1954
1955const char kReaderModeHeuristicsAdaboost[] = "Appears to be an article";
1956
1957const char kReaderModeHeuristicsAlwaysOff[] = "Never";
1958
1959const char kReaderModeHeuristicsAlwaysOn[] = "Always";
1960
1961#endif // defined(OS_ANDROID)
1962
1963// Chrome home flags
1964
1965#if defined(OS_ANDROID)
1966
1967const char kChromeHomeName[] = "Chrome Home";
1968
1969const char kChromeHomeDescription[] = "Enables Chrome Home on Android.";
1970
1971#endif // defined(OS_ANDROID)
1972
Tommy Nyquist4fad7062017-04-11 20:01:281973// In-Product Help flags
1974
1975#if defined(OS_ANDROID)
1976
1977const char kEnableIphDemoMode[] = "In-Product Help Demo Mode";
1978
1979const char kEnableIphDemoModeDescription[] =
1980 "Enables In-Product Help demo mode on Android.";
1981
1982#endif // defined(OS_ANDROID)
1983
vabr0215a8e2017-03-28 12:47:341984// Settings window flags
1985
1986const char kSettingsWindowName[] = "Show settings in a window";
1987
1988const char kSettingsWindowDescription[] =
1989 "Settings will be shown in a dedicated window instead of as a browser "
1990 "tab.";
1991
1992// Mixed content issue workaround flags
1993
1994#if defined(OS_ANDROID)
1995
1996// Flag strings for seccomp-bpf sandbox flag.
1997
1998const char kSeccompFilterSandboxAndroidName[] = "Seccomp-bpf renderer sandbox";
1999
2000const char kSeccompFilterSandboxAndroidDescription[] =
2001 "Renderers will have a second-layer sandbox provided by seccomp-bpf. "
2002 "This requires kernel features only available on select Android "
2003 "versions.";
2004
2005#endif // defined(OS_ANDROID)
2006
2007// Extension Content Verification
2008
2009const char kExtensionContentVerificationName[] =
2010 "Extension Content Verification";
2011
2012const char kExtensionContentVerificationDescription[] =
2013 "This flag can be used to turn on verification that the contents of the "
2014 "files on disk for extensions from the webstore match what they're "
2015 "expected to be. This can be used to turn on this feature if it would "
2016 "not otherwise have been turned on, but cannot be used to turn it off "
2017 "(because this setting can be tampered with by malware).";
2018
2019const char kExtensionContentVerificationBootstrap[] =
2020 "Bootstrap (get expected hashes, but do not enforce them)";
2021
2022const char kExtensionContentVerificationEnforce[] =
2023 "Enforce (try to get hashes, and enforce them if successful)";
2024
2025const char kExtensionContentVerificationEnforceStrict[] =
2026 "Enforce strict (hard fail if we can't get hashes)";
2027
2028// Built-in hotword detection display strings
2029
2030const char kExperimentalHotwordHardwareName[] =
2031 "Simulated hardware 'Ok Google' features";
2032
2033const char kExperimentalHotwordHardwareDescription[] =
2034 "Enables an experimental version of 'Ok Google' hotword detection "
2035 "features that have a hardware dependency.";
2036
2037// Message center strings
2038
2039const char kMessageCenterAlwaysScrollUpUponRemovalName[] =
2040 "Experiments that message center always scroll up upon notification "
2041 "removal";
2042
2043const char kMessageCenterAlwaysScrollUpUponRemovalDescription[] =
2044 "Enables experiment that message center always scroll up when a "
2045 "notification is removed.";
2046
2047const char kCastStreamingHwEncodingName[] =
2048 "Cast Streaming hardware video encoding";
2049
2050const char kCastStreamingHwEncodingDescription[] =
2051 "This option enables support in Cast Streaming for encoding video "
2052 "streams using platform hardware.";
2053
2054const char kAllowInsecureLocalhost[] =
2055 "Allow invalid certificates for resources loaded from localhost.";
2056
2057const char kAllowInsecureLocalhostDescription[] =
2058 "Allows requests to localhost over HTTPS even when an invalid "
2059 "certificate is presented.";
2060
2061#if defined(OS_WIN) || defined(OS_MACOSX)
2062
2063// Tab discarding
2064
2065const char kAutomaticTabDiscardingName[] = "Automatic tab discarding";
2066
2067const char kAutomaticTabDiscardingDescription[] =
2068 "If enabled, tabs get automatically discarded from memory when the "
2069 "system memory is low. Discarded tabs are still visible on the tab "
2070 "strip and get reloaded when clicked on. Info about discarded tabs can "
2071 "be found at chrome://discards.";
2072
2073#endif // defined(OS_WIN) || defined(OS_MACOSX)
2074
2075#if defined(OS_ANDROID)
2076
2077const char kOfflineBookmarksName[] = "Enable offline bookmarks";
2078
2079const char kOfflineBookmarksDescription[] =
2080 "Enable saving bookmarked pages for offline viewing.";
2081
2082const char kNtpOfflinePagesName[] = "Enable NTP offline pages";
2083
2084const char kNtpOfflinePagesDescription[] =
2085 "Enables badging of offline pages on the New Tab page. Only relevant if "
2086 "offline pages are enabled.";
2087
2088const char kOfflinePagesAsyncDownloadName[] =
2089 R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages.)*";
2090
2091const char kOfflinePagesAsyncDownloadDescription[] =
2092 R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages such )*"
2093 R"*(that the user can click on it to download the page later.)*";
2094
2095const char kOfflinePagesSvelteConcurrentLoadingName[] =
2096 "Enables concurrent background loading on svelte.";
2097
2098const char kOfflinePagesSvelteConcurrentLoadingDescription[] =
2099 "Enables concurrent background loading (or downloading) of pages on "
2100 "Android svelte (512MB RAM) devices. Otherwise, background loading will "
2101 "happen when the svelte device is idle.";
2102
petewil2abcf042017-04-10 21:45:002103const char kOfflinePagesLoadSignalCollectingName[] =
2104 "Enables collecting load timing data for offline page snapshots.";
2105
2106const char kOfflinePagesLoadSignalCollectingDescription[] =
2107 "Enables loading completeness data collection while writing an offline "
2108 "page. This data is collected in the snapshotted offline page to allow "
2109 "data analysis to improve deciding when to make the offline snapshot.";
2110
vabr0215a8e2017-03-28 12:47:342111const char kOfflinePagesPrefetchingName[] =
2112 "Enables suggested offline pages to be prefetched.";
2113
2114const char kOfflinePagesPrefetchingDescription[] =
2115 "Enables suggested offline pages to be prefetched, so useful content is "
2116 "available while offline.";
2117
2118const char kOfflinePagesSharingName[] = "Enables offline pages to be shared.";
2119
2120const char kOfflinePagesSharingDescription[] =
2121 "Enables the saved offline pages to be shared via other applications.";
2122
2123const char kBackgroundLoaderForDownloadsName[] =
2124 "Enables background downloading of pages.";
2125
2126const char kBackgroundLoaderForDownloadsDescription[] =
2127 "Enables downloading pages in the background in case page is not yet "
2128 "loaded in current tab.";
2129
2130const char kNewBackgroundLoaderName[] =
2131 "Use background loader instead of prerenderer to load pages.";
2132
2133const char kNewBackgroundLoaderDescription[] =
2134 "Use background loader instead of prerenderer to asynchronously "
2135 "download pages.";
2136
2137const char kNtpPopularSitesName[] = "Show popular sites on the New Tab page";
2138
2139const char kNtpPopularSitesDescription[] =
2140 "Pre-populate the New Tab page with popular sites.";
2141
2142const char kNtpSwitchToExistingTabName[] =
2143 "Switch to an existing tab for New Tab Page suggestions.";
2144
2145const char kNtpSwitchToExistingTabDescription[] =
2146 "When opening a suggested webpage from the New Tab Page, if a tab is "
2147 "already open for the suggestion, switch to that one instead of loading "
2148 "the suggestion in the new tab.";
2149
2150const char kNtpSwitchToExistingTabMatchUrl[] = "Match by URL";
2151
2152const char kNtpSwitchToExistingTabMatchHost[] = "Match by Hostname";
2153
2154const char kUseAndroidMidiApiName[] = "Use Android Midi API";
2155
2156const char kUseAndroidMidiApiDescription[] =
2157 "Use Android Midi API for WebMIDI (effective only with Android M+ "
2158 "devices).";
2159
2160const char kWebPaymentsModifiersName[] = "Enable web payment modifiers";
2161
2162const char kWebPaymentsModifiersDescription[] =
2163 "If the website provides modifiers in the payment request, show the "
2164 "custom total for each payment instrument, update the shopping cart "
2165 "when instruments are switched, and send modified payment method "
2166 "specific data to the payment app.";
2167
2168#endif // defined(OS_ANDROID)
2169
2170#if defined(OS_WIN)
2171
2172// Exporting tracing events to ETW
2173
2174const char kTraceExportEventsToEtwName[] =
2175 "Enable exporting of tracing events to ETW.";
2176
2177const char kTraceExportEventsToEtwDesription[] =
2178 "If enabled, trace events will be exported to the Event Tracing for "
2179 "Windows (ETW) and can then be captured by tools such as UIForETW or "
2180 "Xperf.";
2181
2182const char kMergeKeyCharEventsName[] =
2183 "Enable or disable merging merging the key event (WM_KEY*) with char "
2184 "event (WM_CHAR).";
2185
2186const char kMergeKeyCharEventsDescription[] =
2187 "If disabled, Chrome will handle WM_KEY* and WM_CHAR separatedly.";
2188
2189const char kUseWinrtMidiApiName[] = "Use Windows Runtime MIDI API";
2190
2191const char kUseWinrtMidiApiDescription[] =
2192 "Use Windows Runtime MIDI API for WebMIDI (effective only on Windows 10 "
2193 "or later).";
2194
2195#endif // defined(OS_WIN)
2196
2197#if defined(OS_ANDROID)
2198
2199// Data Use
2200
2201// Update Menu Item Flags
2202
2203const char kUpdateMenuItemName[] = "Force show update menu item";
2204
2205const char kUpdateMenuItemDescription[] =
2206 R"*(When enabled, an "Update Chrome" item will be shown in the app )*"
2207 R"*(menu.)*";
2208
2209const char kUpdateMenuItemSummaryName[] = "Update menu item summary";
2210
2211const char kUpdateMenuItemSummaryDescription[] =
2212 "When this flag and the force show update menu item flag are enabled, a "
2213 "summary will be displayed below the update menu item.";
2214
2215const char kUpdateMenuItemNoSummary[] = "No summary";
2216
2217const char kUpdateMenuItemDefaultSummary[] = "Default summary";
2218
2219const char kUpdateMenuItemNewFeaturesSummary[] = "New features summary";
2220
2221const char kUpdateMenuItemCustomSummary[] = "Custom summary";
2222
2223const char kUpdateMenuBadgeName[] = "Force show update menu badge";
2224
2225const char kUpdateMenuBadgeDescription[] =
2226 "When enabled, an update badge will be shown on the app menu button.";
2227
2228const char kSetMarketUrlForTestingName[] = "Set market URL for testing";
2229
2230const char kSetMarketUrlForTestingDescription[] =
2231 "When enabled, sets the market URL for use in testing the update menu "
2232 "item.";
2233
2234#endif // defined(OS_ANDROID)
2235
2236#if defined(OS_ANDROID)
2237
2238const char kHerbPrototypeChoicesName[] = "Switch preferred flavor of Herb";
2239
2240const char kHerbPrototypeChoicesDescription[] =
2241 "Switching this option changes which tab management prototype is being "
2242 "tested.";
2243
2244const char kHerbPrototypeFlavorElderberry[] =
2245 "ELDERBERRY: All View Intents in CCT v2";
2246
2247const char kEnableSpecialLocaleName[] =
2248 "Enable custom logic for special locales.";
2249
2250const char kEnableSpecialLocaleDescription[] =
2251 "Enable custom logic for special locales. In this mode, Chrome might "
2252 "behave differently in some locales.";
2253
2254// WebApks
2255
2256const char kEnableWebapk[] = "Enable improved add to Home screen";
2257
2258const char kEnableWebapkDescription[] =
2259 R"*(Packages "Progressive Web Apps" so that they can integrate more )*"
2260 R"*(deeply with Android. A Chrome server is used to package sites. In )*"
2261 R"*(Chrome Canary and Chrome Dev, this requires “Untrusted )*"
2262 R"*(sources” to be enabled in Android security settings.)*";
2263
2264#endif // defined(OS_ANDROID)
2265
2266const char kEnableBrotliName[] = "Brotli Content-Encoding.";
2267
2268const char kEnableBrotliDescription[] =
2269 "Enable Brotli Content-Encoding support.";
2270
2271const char kEnableWebfontsInterventionName[] =
2272 "New version of User Agent Intervention for WebFonts loading.";
2273
2274const char kEnableWebfontsInterventionDescription[] =
2275 "Enable New version of User Agent Intervention for WebFonts loading.";
2276
2277const char kEnableWebfontsInterventionV2ChoiceDefault[] = "Default";
2278
2279const char kEnableWebfontsInterventionV2ChoiceEnabledWith2g[] = "Enabled: 2G";
2280
2281const char kEnableWebfontsInterventionV2ChoiceEnabledWith3g[] = "Enabled: 3G";
2282
2283const char kEnableWebfontsInterventionV2ChoiceEnabledWithSlow2g[] =
2284 "Enabled: Slow 2G";
2285
2286const char kEnableWebfontsInterventionV2ChoiceDisabled[] = "Disabled";
2287
2288const char kEnableWebfontsInterventionTriggerName[] =
2289 "Trigger User Agent Intervention for WebFonts loading always.";
2290
2291const char kEnableWebfontsInterventionTriggerDescription[] =
2292 "Enable to trigger User Agent Intervention for WebFonts loading always. "
2293 "This flag affects only when the intervention is enabled.";
2294
2295const char kEnableScrollAnchoringName[] = "Scroll Anchoring";
2296
2297const char kEnableScrollAnchoringDescription[] =
2298 "Adjusts scroll position to prevent visible jumps when offscreen "
2299 "content changes.";
2300
2301#if defined(OS_CHROMEOS)
2302
skaua9afc0212017-04-07 19:18:472303const char kDisableNativeCupsName[] = "Native CUPS";
vabr0215a8e2017-03-28 12:47:342304
skaua9afc0212017-04-07 19:18:472305const char kDisableNativeCupsDescription[] =
2306 "Disable the use of the native CUPS printing backend.";
vabr0215a8e2017-03-28 12:47:342307
2308const char kEnableAndroidWallpapersAppName[] = "Android Wallpapers App";
2309
2310const char kEnableAndroidWallpapersAppDescription[] =
2311 "Enables the Android Wallpapers App as the default Wallpaper App on "
2312 "Chrome OS.";
2313
2314const char kEnableTouchSupportForScreenMagnifierName[] =
2315 "Touch support for screen magnifier";
2316
2317const char kEnableTouchSupportForScreenMagnifierDescription[] =
2318 "Enables touch support for screen magnifier";
2319
takise183b8cb42017-04-07 05:12:082320const char kEnableZipArchiverOnFileManagerName[] =
2321 "ZIP archiver for Drive";
2322
2323const char kEnableZipArchiverOnFileManagerDescription[] =
2324 "Enable the ability to archive and unpack files on Drive in the Files app";
2325
vabr0215a8e2017-03-28 12:47:342326#endif // defined(OS_CHROMEOS)
2327
2328#if defined(OS_ANDROID)
2329
2330const char kContentSuggestionsCategoryOrderName[] =
2331 "Default content suggestions category order (e.g. on NTP)";
2332
2333const char kContentSuggestionsCategoryOrderDescription[] =
2334 "Set default order of content suggestion categories (e.g. on the NTP).";
2335
2336const char kContentSuggestionsCategoryRankerName[] =
2337 "Content suggestions category ranker (e.g. on NTP)";
2338
2339const char kContentSuggestionsCategoryRankerDescription[] =
2340 "Set category ranker to order categories of content suggestions (e.g. "
2341 "on the NTP).";
2342
2343const char kEnableNtpSnippetsVisibilityName[] =
2344 "Make New Tab Page Snippets more visible.";
2345
2346const char kEnableNtpSnippetsVisibilityDescription[] =
2347 "If enabled, the NTP snippets will become more discoverable with a "
2348 "larger portion of the first card above the fold.";
2349
jkrcal18514e662017-03-30 06:12:282350const char kEnableContentSuggestionsNewFaviconServerName[] =
2351 "Get favicons for content suggestions from a new server.";
2352
2353const char kEnableContentSuggestionsNewFaviconServerDescription[] =
2354 "If enabled, the content suggestions (on the NTP) will get favicons from a "
2355 "new favicon server.";
2356
dgn2b5a43382017-04-06 16:56:562357const char kEnableContentSuggestionsSettingsName[] =
2358 "Show content suggestions settings.";
2359
2360const char kEnableContentSuggestionsSettingsDescription[] =
2361 "If enabled, the content suggestions settings will be available from the "
2362 "main settings menu.";
2363
vabr0215a8e2017-03-28 12:47:342364const char kEnableNtpRemoteSuggestionsName[] =
2365 "Show server-side suggestions on the New Tab page";
2366
2367const char kEnableNtpRemoteSuggestionsDescription[] =
2368 "If enabled, the list of content suggestions on the New Tab page (see "
2369 "#enable-ntp-snippets) will contain server-side suggestions (e.g., "
2370 "Articles for you). Furthermore, it allows to override the source used "
2371 "to retrieve these server-side suggestions.";
2372
2373const char kEnableNtpRecentOfflineTabSuggestionsName[] =
2374 "Show recent offline tabs on the New Tab page";
2375
2376const char kEnableNtpRecentOfflineTabSuggestionsDescription[] =
2377 "If enabled, the list of content suggestions on the New Tab page (see "
2378 "#enable-ntp-snippets) will contain pages that were captured offline "
2379 "during browsing (see #offlining-recent-pages)";
2380
vabr0215a8e2017-03-28 12:47:342381const char kEnableNtpAssetDownloadSuggestionsName[] =
2382 "Show asset downloads on the New Tab page";
2383
2384const char kEnableNtpAssetDownloadSuggestionsDescription[] =
2385 "If enabled, the list of content suggestions on the New Tab page (see "
2386 "#enable-ntp-snippets) will contain assets (e.g. books, pictures, "
2387 "audio) that the user downloaded for later use.";
2388
2389const char kEnableNtpOfflinePageDownloadSuggestionsName[] =
2390 "Show offline page downloads on the New Tab page";
2391
2392const char kEnableNtpOfflinePageDownloadSuggestionsDescription[] =
2393 "If enabled, the list of content suggestions on the New Tab page (see "
2394 "#enable-ntp-snippets) will contain pages that the user downloaded for "
2395 "later use.";
2396
2397const char kEnableNtpBookmarkSuggestionsName[] =
2398 "Show recently visited bookmarks on the New Tab page";
2399
2400const char kEnableNtpBookmarkSuggestionsDescription[] =
2401 "If enabled, the list of content suggestions on the New Tab page (see "
2402 "#enable-ntp-snippets) will contain recently visited bookmarks.";
2403
2404const char kEnableNtpPhysicalWebPageSuggestionsName[] =
2405 "Show Physical Web pages on the New Tab page";
2406
2407const char kEnableNtpPhysicalWebPageSuggestionsDescription[] =
2408 "If enabled, the list of content suggestions on the New Tab page (see "
2409 "#enable-ntp-snippets) will contain pages that are available through "
2410 "Physical Web (see #enable-physical-web)";
2411
2412const char kEnableNtpForeignSessionsSuggestionsName[] =
2413 "Show recent foreign tabs on the New Tab page";
2414
2415const char kEnableNtpForeignSessionsSuggestionsDescription[] =
2416 "If enabled, the list of content suggestions on the New Tab page (see "
2417 "#enable-ntp-snippets) will contain recent foreign tabs.";
2418
2419const char kEnableNtpSuggestionsNotificationsName[] =
2420 "Notify about new content suggestions available at the New Tab page";
2421
2422const char kEnableNtpSuggestionsNotificationsDescription[] =
2423 "If enabled, notifications will inform about new content suggestions on "
2424 "the New Tab page (see #enable-ntp-snippets).";
2425
2426const char kNtpCondensedLayoutName[] = "Condensed NTP layout";
2427
2428const char kNtpCondensedLayoutDescription[] =
2429 "Show a condensed layout on the New Tab Page.";
2430
2431const char kNtpCondensedTileLayoutName[] = "Condensed NTP tile layout";
2432
2433const char kNtpCondensedTileLayoutDescription[] =
2434 "Show a condensed tile layout on the New Tab Page.";
2435
2436const char kNtpGoogleGInOmniboxName[] = "Google G in New Tab Page omnibox";
2437
2438const char kNtpGoogleGInOmniboxDescription[] =
2439 "Show a Google G in the omnibox on the New Tab Page.";
2440
2441#endif // defined(OS_ANDROID)
2442
2443#if defined(OS_ANDROID)
2444
2445const char kOffliningRecentPagesName[] =
2446 "Enable offlining of recently visited pages";
2447
2448const char kOffliningRecentPagesDescription[] =
2449 "Enable storing recently visited pages locally for offline use. "
2450 "Requires Offline Pages to be enabled.";
2451
2452const char kOfflinePagesCtName[] = "Enable Offline Pages CT features.";
2453
2454const char kOfflinePagesCtDescription[] = "Enable Offline Pages CT features.";
2455
2456#endif // defined(OS_ANDROID)
2457
2458#if defined(OS_ANDROID)
2459
2460const char kEnableExpandedAutofillCreditCardPopupLayout[] =
2461 "Use expanded autofill credit card popup layout.";
2462
2463const char kEnableExpandedAutofillCreditCardPopupLayoutDescription[] =
2464 "If enabled, displays autofill credit card popup using expanded "
2465 "layout.";
2466
2467#endif // defined(OS_ANDROID)
2468
2469const char kEnableAutofillCreditCardLastUsedDateDisplay[] =
2470 "Display the last used date of a credit card in autofill.";
2471
2472const char kEnableAutofillCreditCardLastUsedDateDisplayDescription[] =
2473 "If enabled, display the last used date of a credit card in autofill.";
2474
jsaul314052192017-04-13 23:20:572475const char kEnableAutofillCreditCardUploadCvcPrompt[] =
2476 "Enable requesting missing CVC during Autofill credit card upload";
2477
2478const char kEnableAutofillCreditCardUploadCvcPromptDescription[] =
2479 "If enabled, requests missing CVC when offering to upload credit cards to "
2480 "Google Payments.";
2481
vabr0215a8e2017-03-28 12:47:342482#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
2483
2484const char kGoogleBrandedContextMenuName[] =
2485 "Google branding in the context menu";
2486
2487const char kGoogleBrandedContextMenuDescription[] =
2488 "Shows a Google icon next to context menu items powered by Google "
2489 "services.";
2490
2491#endif // !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
2492
2493const char kEnableWebUsbName[] = "WebUSB";
2494
2495const char kEnableWebUsbDescription[] = "Enable WebUSB support.";
2496
2497const char kEnableGenericSensorName[] = "Generic Sensor";
2498
2499const char kEnableGenericSensorDescription[] =
2500 "Enable sensor APIs based on Generic Sensor API.";
2501
2502const char kFontCacheScalingName[] = "FontCache scaling";
2503
2504const char kFontCacheScalingDescription[] =
2505 "Reuse a cached font in the renderer to serve different sizes of font "
2506 "for faster layout.";
2507
2508const char kFramebustingName[] =
2509 "Framebusting requires same-origin or a user gesture";
2510
2511const char kFramebustingDescription[] =
2512 "Don't permit an iframe to navigate the top level browsing context "
2513 "unless they are same-origin or the iframe is processing a user "
2514 "gesture.";
2515
2516#if defined(OS_ANDROID)
2517
2518const char kEnableVrShellName[] = "Enable Chrome VR.";
2519
2520const char kEnableVrShellDescription[] =
2521 "Allow browsing with a VR headset if available for this device.";
2522
2523#endif // defined(OS_ANDROID)
2524
2525// Web payments
2526
2527const char kWebPaymentsName[] = "Web Payments";
2528
2529const char kWebPaymentsDescription[] =
2530 "Enable Web Payments API integration, a JavaScript API for merchants.";
2531
2532#if defined(OS_ANDROID)
2533
2534const char kEnableAndroidPayIntegrationV1Name[] = "Enable Android Pay v1";
2535
2536const char kEnableAndroidPayIntegrationV1Description[] =
2537 "Enable integration with Android Pay using the first version of the "
2538 "API";
2539
2540const char kEnableAndroidPayIntegrationV2Name[] = "Enable Android Pay v2";
2541
2542const char kEnableAndroidPayIntegrationV2Description[] =
2543 "Enable integration with Android Pay using the second version of the "
2544 "API";
2545
2546const char kEnableWebPaymentsSingleAppUiSkipName[] =
2547 "Enable Web Payments single app UI skip";
2548
2549const char kEnableWebPaymentsSingleAppUiSkipDescription[] =
2550 "Enable Web Payments to skip showing its UI if the developer specifies "
2551 "a single app.";
2552
2553const char kAndroidPaymentAppsName[] = "Android payment apps";
2554
2555const char kAndroidPaymentAppsDescription[] =
2556 "Enable third party Android apps to integrate as payment apps";
2557
2558const char kAndroidPaymentAppsFilterTitle[] = "Android payment apps filter";
2559
2560const char kAndroidPaymentAppsFilterDescription[] =
2561 "Enable filtering out third party Android apps that can not be shown in "
2562 "settings";
2563
2564#endif // defined(OS_ANDROID)
2565
2566const char kFeaturePolicyName[] = "Feature Policy";
2567
2568const char kFeaturePolicyDescription[] =
2569 "Enables granting and removing access to features through the "
2570 "Feature-Policy HTTP header.";
2571
2572// Audio rendering mixing experiment strings.
2573
2574const char kNewAudioRenderingMixingStrategyName[] =
2575 "New audio rendering mixing strategy";
2576
2577const char kNewAudioRenderingMixingStrategyDescription[] =
2578 "Use the new audio rendering mixing strategy.";
2579
2580// Background video track disabling experiment strings.
2581
2582const char kBackgroundVideoTrackOptimizationName[] =
2583 "Optimize background video playback.";
2584
2585const char kBackgroundVideoTrackOptimizationDescription[] =
2586 "Disable video tracks when the video is played in the background to "
2587 "optimize performance.";
2588
2589// Video fullscreen with orientation lock experiment strings.
2590
2591const char kVideoFullscreenOrientationLockName[] =
2592 "Lock screen orientation when playing a video fullscreen.";
2593
2594const char kVideoFullscreenOrientationLockDescription[] =
2595 "Lock the screen orientation of the device to match video orientation "
2596 "when a video goes fullscreen. Only on phones.";
2597
2598// Expensive background timer throttling flag
2599
2600const char kExpensiveBackgroundTimerThrottlingName[] =
2601 "Throttle expensive background timers";
2602
2603const char kExpensiveBackgroundTimerThrottlingDescription[] =
2604 "Enables intervention to limit CPU usage of background timers to 1%.";
2605
2606// Enable default MediaSession flag
2607
2608#if !defined(OS_ANDROID)
2609
2610const char kEnableDefaultMediaSessionName[] = "Manage audio focus across tabs";
2611
2612const char kEnableDefaultMediaSessionDescription[] =
2613 "Manage audio focus across tabs to improve the audio mixing.";
2614
2615const char kEnableDefaultMediaSessionDisabled[] = "Disabled";
2616
2617const char kEnableDefaultMediaSessionEnabled[] = "Enabled";
2618
2619const char kEnableDefaultMediaSessionEnabledDuckFlash[] =
2620 "Enabled (Flash lowers volume when interrupted by other sound, "
2621 "experimental)";
2622
2623#endif // !defined(OS_ANDROID)
2624
2625#if defined(OS_WIN)
2626
2627const char kGdiTextPrinting[] = "GDI Text Printing";
2628
2629const char kGdiTextPrintingDescription[] =
2630 "Use GDI to print text as simply text";
2631
2632#endif // defined(OS_WIN)
2633
2634#if defined(OS_ANDROID)
2635
2636const char kModalPermissionPromptsName[] = "Modal Permission Prompts";
2637
2638const char kModalPermissionPromptsDescription[] =
2639 "Whether to use permission dialogs in place of permission infobars.";
2640
2641#endif // defined(OS_ANDROID)
2642
2643#if !defined(OS_MACOSX)
2644
2645const char kPermissionPromptPersistenceToggleName[] =
2646 "Persistence Toggle in Permission Prompts";
2647
2648const char kPermissionPromptPersistenceToggleDescription[] =
2649 "Whether to display a persistence toggle in permission prompts.";
2650
2651#endif // !defined(OS_MACOSX)
2652
2653#if defined(OS_ANDROID)
2654
2655const char kNoCreditCardAbort[] = "No Credit Card Abort";
2656
2657const char kNoCreditCardAbortDescription[] =
2658 "Whether or not the No Credit Card Abort is enabled.";
2659
2660#endif // defined(OS_ANDROID)
2661
2662// Consistent omnibox geolocation
2663
2664#if defined(OS_ANDROID)
2665
2666const char kEnableConsistentOmniboxGeolocationName[] =
2667 "Have consistent omnibox geolocation access.";
2668
2669const char kEnableConsistentOmniboxGeolocationDescription[] =
2670 "Have consistent geolocation access between the omnibox and default "
2671 "search engine.";
2672
2673#endif // defined(OS_ANDROID)
2674
2675// Media Remoting chrome://flags strings
2676
2677const char kMediaRemotingName[] = "Media Remoting during Cast Tab Mirroring";
2678
2679const char kMediaRemotingDescription[] =
2680 "When Casting a tab to a remote device, enabling this turns on an "
2681 "optimization that forwards the content bitstream directly to the "
2682 "remote device when a video is fullscreened.";
2683
2684const char kMediaRemotingEncryptedName[] =
2685 "Media Remoting during Cast Tab Mirroring: Encrypted content too";
2686
2687const char kMediaRemotingEncryptedDescription[] =
2688 "When Media Remoting is enabled, this flag must be enabled to allow the "
2689 "remoting of encrypted content. When disabled, only non-encrypted "
2690 "content can be remoted.";
2691
2692// Chrome OS component updates chrome://flags strings
2693
2694const char kCrosCompUpdatesName[] = "Chrome OS Flash Component Updates";
2695
2696const char kCrosCompUpdatesDescription[] =
2697 "Enable Flash component updates for Chrome OS.";
2698
2699// Native Android History chrome://flags strings
2700
2701#if defined(OS_ANDROID)
2702
2703const char kNativeAndroidHistoryManager[] = "Native Android History";
2704
2705const char kNativeAndroidHistoryManagerDescription[] =
2706 "Show the native Android UI for browsing history.";
2707
2708#endif // defined(OS_ANDROID)
2709
2710// Play Services LSD permission prompt chrome://flags strings
2711
2712#if defined(OS_ANDROID)
2713
2714const char kLsdPermissionPromptName[] =
2715 "Location Settings Dialog Permission Prompt";
2716
2717const char kLsdPermissionPromptDescription[] =
2718 "Whether to use the Google Play Services Location Settings Dialog "
2719 "permission dialog.";
2720
2721#endif // defined(OS_ANDROID)
2722
2723#if defined(OS_WIN)
2724
2725// Custom draw the Windows 10 titlebar. crbug.com/505013
2726
2727const char kWindows10CustomTitlebarName[] = "Custom-drawn Windows 10 Titlebar";
2728
2729const char kWindows10CustomTitlebarDescription[] =
2730 "If enabled, Chrome will draw the titlebar and caption buttons instead "
2731 "of deferring to Windows.";
2732
2733#endif // defined(OS_WIN)
2734
2735#if defined(OS_WIN)
2736
2737const char kPostscriptPrinting[] = "PostScript Printing";
2738
2739const char kPostscriptPrintingDescription[] =
2740 "Enable postscript generation in place of emf generation when printing "
2741 "to postscript capable printers.";
2742
2743#endif // defined(OS_WIN)
2744
2745#if defined(OS_ANDROID)
2746
2747const char kAiaFetchingName[] = "Intermediate Certificate Fetching";
2748
2749const char kAiaFetchingDescription[] =
2750 "Enable intermediate certificate fetching when a server does not "
2751 "provide sufficient certificates to build a chain to a trusted root.";
2752
2753#endif // defined(OS_ANDROID)
2754
2755// Web MIDI supports MIDIManager dynamic instantiation chrome://flags strings
2756
2757const char kEnableMidiManagerDynamicInstantiationName[] =
2758 "MIDIManager dynamic instantiation for Web MIDI.";
2759
2760const char kEnableMidiManagerDynamicInstantiationDescription[] =
2761 "Enable MIDIManager dynamic instantiation for Web MIDI.";
2762
2763// Desktop iOS promotion chrome://flags strings
2764
2765#if defined(OS_WIN)
2766
2767const char kEnableDesktopIosPromotionsName[] = "Desktop to iOS promotions.";
2768
2769const char kEnableDesktopIosPromotionsDescription[] =
2770 "Enable Desktop to iOS promotions, and allow users to see them if they "
2771 "are eligible.";
2772
2773#endif // defined(OS_WIN)
2774
2775#if defined(OS_ANDROID)
2776
2777const char kEnableCustomFeedbackUiName[] = "Enable Custom Feedback UI";
2778
2779const char kEnableCustomFeedbackUiDescription[] =
2780 "Enables a custom feedback UI when submitting feedback through Google "
2781 "Feedback. Works with Google Play Services v10.2+";
2782
2783#endif // defined(OS_ANDROID)
2784
2785const char kEnableAdjustableLargeCursorName[] =
2786 "Enable adjustable large cursor";
2787
2788const char kEnableAdjustableLargeCursorDescription[] =
2789 "Make size of accessibility large cursor adjustable.";
2790
2791#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
2792 defined(OS_WIN)
2793
2794const char kOmniboxEntitySuggestionsName[] = "Omnibox entity suggestions";
2795
2796const char kOmniboxEntitySuggestionsDescription[] =
2797 "Enable receiving entity suggestions in Omnibox.";
2798
ojan38c678352017-04-11 20:27:552799const char kPauseBackgroundTabsName[] = "Pause background tabs";
2800const char kPauseBackgroundTabsDescription[] =
2801 "Pause timers in background tabs after 5 minutes on desktop.";
2802
spqchan064a8112017-04-18 16:46:322803const char kAppMenuIconName[] = "App Menu Icon";
2804const char kAppMenuIconDescription[] = "Changes the icon in the app menu.";
2805const char kAppMenuIconOldBehavior[] = "Old Behavior";
2806const char kAppMenuIconPersistentOpenedState[] = "Persistent Opened State";
2807const char kAppMenuIconPersistentClosedState[] = "Persistent Closed State";
2808
vabr0215a8e2017-03-28 12:47:342809#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
2810 // defined(OS_WIN)
2811
2812#if defined(OS_CHROMEOS)
2813
2814const char kEnableChromevoxArcSupportName[] = "ChromeVox ARC support";
2815
2816const char kEnableChromevoxArcSupportDescription[] =
2817 "Enable ChromeVox screen reader features in ARC";
2818
2819#endif // defined(OS_CHROMEOS)
2820
2821const char kMojoLoadingName[] = "Use Mojo IPC for resource loading";
2822
2823const char kMojoLoadingDescription[] =
2824 "Use Mojo IPC instead of traditional Chrome IPC for resource loading.";
2825
2826#if defined(OS_ANDROID)
2827
2828const char kUseNewDoodleApiName[] = "Use new Doodle API";
2829
2830const char kUseNewDoodleApiDescription[] =
2831 "Enables the new API to fetch Doodles for the NTP.";
2832
2833#endif // defined(OS_ANDROID)
2834
vabr0215a8e2017-03-28 12:47:342835const char kDebugShortcutsDescription[] =
2836 "Enables additional keyboard shortcuts that are useful for debugging "
2837 "Ash.";
2838
dskiba950fbc82017-04-12 20:36:282839const char kMemoryAblationName[] = "Memory ablation experiment";
2840const char kMemoryAblationDescription[] =
2841 "Allocates extra memory in the browser process.";
2842
jwanda1582bcf2017-03-30 04:33:482843#if defined(OS_ANDROID)
2844
2845const char kEnableCustomContextMenuName[] = "Enable custom context menu";
2846
2847const char kEnableCustomContextMenuDescription[] =
2848 "Enables a new context menu when a link, image, or video is pressed within "
2849 "Chrome.";
2850
2851#endif // defined(OS_ANDROID)
2852
vabr0215a8e2017-03-28 12:47:342853#if defined(OS_CHROMEOS)
2854
2855// File Manager
2856
2857const char kVideoPlayerChromecastSupportName[] =
2858 "Experimental Chromecast support for Video Player";
2859
2860const char kVideoPlayerChromecastSupportDescription[] =
2861 "This option enables experimental Chromecast support for Video Player "
2862 "app on ChromeOS.";
2863
2864const char kNewZipUnpackerName[] = "New ZIP unpacker";
2865
2866const char kNewZipUnpackerDescription[] =
2867 "New ZIP unpacker flow, based on the File System Provider API.";
2868
2869const char kShowArcFilesAppName[] = "Show Android Files app";
2870
2871const char kShowArcFilesAppDescription[] =
2872 "Show Android Files app in Chrome OS launcher. This is only effective "
2873 "on a device with access to Play Store.";
2874
2875const char kOfficeEditingComponentAppName[] =
2876 "Office Editing for Docs, Sheets & Slides";
2877
2878const char kOfficeEditingComponentAppDescription[] =
2879 "Office Editing for Docs, Sheets & Slides for testing purposes.";
2880
2881const char kDisplayColorCalibrationName[] = "Color calibration of the display";
2882
2883const char kDisplayColorCalibrationDescription[] =
2884 "Allow color calibration of the display if the display supports the "
2885 "feature.";
2886
2887const char kMemoryPressureThresholdName[] =
2888 "Memory discard strategy for advanced pressure handling";
2889
2890const char kMemoryPressureThresholdDescription[] =
2891 "Memory discarding strategy to use";
2892
2893const char kConservativeThresholds[] =
2894 "Conservative memory pressure release strategy";
2895
2896const char kAggressiveCacheDiscardThresholds[] =
2897 "Aggressive cache release strategy";
2898
2899const char kAggressiveTabDiscardThresholds[] =
2900 "Aggressive tab release strategy";
2901
2902const char kAggressiveThresholds[] =
2903 "Aggressive tab and cache release strategy";
2904
2905const char kWakeOnPacketsName[] = "Wake On Packets";
2906
2907const char kWakeOnPacketsDescription[] =
2908 "Enables waking the device based on the receipt of some network "
2909 "packets.";
2910
2911const char kQuickUnlockPin[] = "Quick Unlock (PIN)";
2912
2913const char kQuickUnlockPinDescription[] =
2914 "Enabling PIN quick unlock allows you to use a PIN to unlock your "
2915 "Chromebook on the lock screen after you have signed into your device.";
2916
2917const char kQuickUnlockFingerprint[] = "Quick Unlock (Fingerprint)";
2918
2919const char kQuickUnlockFingerprintDescription[] =
2920 "Enabling fingerprint quick unlock allows you to setup and use a "
2921 "fingerprint to unlock your Chromebook on the lock screen after you "
2922 "have signed into your device.";
2923
2924const char kExperimentalAccessibilityFeaturesName[] =
2925 "Experimental accessibility features";
2926
2927const char kExperimentalAccessibilityFeaturesDescription[] =
2928 "Enable additional accessibility features in the Settings page.";
2929
2930const char kDisableSystemTimezoneAutomaticDetectionName[] =
2931 "SystemTimezoneAutomaticDetection policy support";
2932
2933const char kDisableSystemTimezoneAutomaticDetectionDescription[] =
2934 "Disable system timezone automatic detection device policy.";
2935
2936const char kEolNotificationName[] = "Disable Device End of Life notification.";
2937
2938const char kEolNotificationDescription[] =
2939 "Disable Notifcation when Device is End of Life.";
2940
2941// Stylus strings
2942
2943const char kForceEnableStylusToolsName[] = "Force enable stylus features";
2944
2945const char kForceEnableStylusToolsDescription[] =
2946 "Forces display of the stylus tools menu in the shelf and the stylus "
2947 "section in settings, even if there is no attached stylus device.";
2948
2949// Network portal notification
2950
2951const char kNetworkPortalNotificationName[] =
2952 "Notifications about captive portals";
2953
2954const char kNetworkPortalNotificationDescription[] =
2955 "If enabled, notification is displayed when device is connected to a "
2956 "network behind captive portal.";
2957
2958const char kMtpWriteSupportName[] = "MTP write support";
2959
2960const char kMtpWriteSupportDescription[] =
2961 "MTP write support in File System API (and file manager). In-place "
2962 "editing operations are not supported.";
2963
2964const char kCrosRegionsModeName[] = "Cros-regions load mode";
2965
2966const char kCrosRegionsModeDescription[] =
2967 "This flag controls cros-regions load mode";
2968
2969const char kCrosRegionsModeDefault[] = "Default";
2970
2971const char kCrosRegionsModeOverride[] = "Override VPD values.";
2972
2973const char kCrosRegionsModeHide[] = "Hide VPD values.";
2974
2975const char kPrinterProviderSearchAppName[] =
2976 "Chrome Web Store Gallery app for printer drivers";
2977
2978const char kPrinterProviderSearchAppDescription[] =
2979 "Enables Chrome Web Store Gallery app for printer drivers. The app "
2980 "searches Chrome Web Store for extensions that support printing to a "
2981 "USB printer with specific USB ID.";
2982
2983const char kArcBootCompleted[] = "Load Android apps automatically";
2984
2985const char kArcBootCompletedDescription[] =
2986 "Allow Android apps to start automatically after signing in.";
2987
2988const char kEnableImeMenuName[] = "Enable opt-in IME menu";
2989
2990const char kEnableImeMenuDescription[] =
2991 "Enable access to the new IME menu in the Language Settings page.";
2992
2993const char kEnableEhvInputName[] =
2994 "Emoji, handwriting and voice input on opt-in IME menu";
2995
2996const char kEnableEhvInputDescription[] =
2997 "Enable access to emoji, handwriting and voice input form opt-in IME "
2998 "menu.";
2999
fukino1b5ebe952017-04-07 05:35:303000const char kEnableEncryptionMigrationName[] =
3001 "Enable encryption migration of user data";
3002
3003const char kEnableEncryptionMigrationDescription[] =
3004 "If enabled and the device supports ARC, the user will be asked to update "
3005 "the encryption of user data when the user signs in.";
3006
vabr0215a8e2017-03-28 12:47:343007#endif // #if defined(OS_CHROMEOS)
3008
wychen2212fe72017-04-10 10:23:323009#if defined(OS_ANDROID)
3010
3011const char kEnableCopylessPasteName[] = "App Indexing (Copyless Paste)";
3012
3013const char kEnableCopylessPasteDescription[] =
3014 "Provide suggestions for text input, based on your recent context. For "
3015 "example, if you looked at a restaurant website and switched to the Maps "
3016 "app, the keyboard would offer the name of that restaurant as a suggestion "
3017 "to enter into the search bar. The data is indexed locally, and never sent "
3018 "to the server. It's disabled in incognito mode.";
3019
3020#endif // defined(OS_ANDROID)
3021
vabr0215a8e2017-03-28 12:47:343022} // namespace flag_descriptions