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