[M85 Dev][EFL] Fix errors to generate ninja files
[platform/framework/web/chromium-efl.git] / chrome / browser / flag_descriptions.cc
1 // 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
7 // Keep in identical order as the header file, see the comment at the top
8 // for formatting rules.
9
10 namespace flag_descriptions {
11
12 const char kAccelerated2dCanvasName[] = "Accelerated 2D canvas";
13 const char kAccelerated2dCanvasDescription[] =
14     "Enables the use of the GPU to perform 2d canvas rendering instead of "
15     "using software rendering.";
16
17 const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
18 const char kAcceleratedVideoDecodeDescription[] =
19     "Hardware-accelerated video decode where available.";
20
21 const char kAcceleratedVideoEncodeName[] = "Hardware-accelerated video encode";
22 const char kAcceleratedVideoEncodeDescription[] =
23     "Hardware-accelerated video encode where available.";
24
25 const char kAccessibilityExposeARIAAnnotationsName[] =
26     "Expose ARIA Annotation roles";
27 const char kAccessibilityExposeARIAAnnotationsDescription[] =
28     "Expose annotation- prefixed roles from ARIA Annotations draft "
29     "specification at https://w3c.github.io/annotation-aria/.";
30
31 const char kAccessibilityExposeDisplayNoneName[] =
32     "Expose 'display: none' nodes for accessibility";
33 const char kAccessibilityExposeDisplayNoneDescription[] =
34     "Expose 'display: none' nodes that have an HTML ID to the browser process "
35     "accessibility tree.";
36
37 const char kAccountIdMigrationName[] = "Account ID migration";
38 const char kAccountIdMigrationDescription[] =
39     "Migrate to use Gaia ID instead of the email as the account identifer for "
40     "the Identity Manager.";
41
42 const char kAlignFontDisplayAutoTimeoutWithLCPGoalName[] =
43     "Align 'font-display: auto' timeout with LCP goal";
44 const char kAlignFontDisplayAutoTimeoutWithLCPGoalDescription[] =
45     "Make pending 'display: auto' web fonts enter the swap or failure period "
46     "immediately before reaching the LCP time limit (~2500ms), so that web "
47     "fonts do not become a source of bad LCP (Largest Contentful Paint).";
48
49 const char kAllowInsecureLocalhostName[] =
50     "Allow invalid certificates for resources loaded from localhost.";
51 const char kAllowInsecureLocalhostDescription[] =
52     "Allows requests to localhost over HTTPS even when an invalid certificate "
53     "is presented.";
54
55 const char kAllowPopupsDuringPageUnloadName[] =
56     "Allows a page to show popups during its unloading";
57 const char kAllowPopupsDuringPageUnloadDescription[] =
58     "When the flag is set to enabled, pages are allowed to show popups while "
59     "they are being unloaded.";
60
61 const char kAllowSignedHTTPExchangeCertsWithoutExtensionName[] =
62     "Allow Signed HTTP Exchange certificates without extension";
63 const char kAllowSignedHTTPExchangeCertsWithoutExtensionDescription[] =
64     "Accepts Origin-Signed HTTP Exchanges to be signed with certificates "
65     "that do not have CanSignHttpExchangesDraft extension. Warning: Enabling "
66     "this may pose a security risk.";
67
68 const char kAllowSyncXHRInPageDismissalName[] =
69     "Allows synchronous XHR requests in page dismissal";
70 const char kAllowSyncXHRInPageDismissalDescription[] =
71     "Allows synchronous XHR requests during page dismissal when the page is "
72     "being navigated away or closed by the user.";
73
74 const char kConditionalTabStripAndroidName[] = "Conditional Tab Strip";
75 const char kConditionalTabStripAndroidDescription[] =
76     "Allows users to access conditional tab strip.";
77
78 const char kConversionMeasurementApiName[] = "Conversion Measurement API";
79 const char kConversionMeasurementApiDescription[] =
80     "Enables usage of the Conversion Measurement API. Requires "
81     "#enable-experimental-web-platform-features to be enabled.";
82
83 const char kConversionMeasurementDebugModeName[] =
84     "Conversion Measurement Debug Mode";
85 const char kConversionMeasurementDebugModeDescription[] =
86     "Enables debug mode for the Conversion Measurement API. This removes all "
87     "reporting delays and noise. Only works if the Conversion Measurement API "
88     "is already enabled.";
89
90 const char kEnableClipboardProviderImageSuggestionsName[] =
91     "Omnibox clipboard image search suggestions";
92 const char kEnableClipboardProviderImageSuggestionsDescription[] =
93     "Enables image search suggestions in the Omnibox.";
94
95 const char kEnableFtpName[] = "Enable support for FTP URLs";
96 const char kEnableFtpDescription[] =
97     "When enabled, the browser will handle navigations to ftp:// URLs by "
98     "either showing a directory listing or downloading the resource over FTP. "
99     "When disabled, the browser has no special handling for ftp:// URLs and "
100     "by default defer handling of the URL to the underlying platform.";
101
102 const char kShelfAppScalingName[] = "Enable shelf app scaling";
103 const char kShelfAppScalingDescription[] =
104     "Reduce the app icon size from standard to dense when the user exceeds the "
105     "available space to add an additional app icon in tablet mode";
106
107 const char kEnableSignedExchangeSubresourcePrefetchName[] =
108     "Enable Signed Exchange subresource prefetching";
109 const char kEnableSignedExchangeSubresourcePrefetchDescription[] =
110     "When enabled, the distributors of signed exchanges can let Chrome know "
111     "alternative signed exchange subresources by setting \"alternate\" link "
112     "header. Chrome will prefetch the alternate signed exchange subresources "
113     "and will load them if the publisher of the main signed exchange has set "
114     "\"allowed-alt-sxg\" link header in the signed inner response of the "
115     "main signed exchange.";
116
117 const char kEnableSignedExchangePrefetchCacheForNavigationsName[] =
118     "Enable Signed Exchange prefetch cache for navigations";
119 const char kEnableSignedExchangePrefetchCacheForNavigationsDescription[] =
120     "When enabled, the prefetched signed exchanges is stored to a prefetch "
121     "cache attached to the frame. The body of the inner response is stored as "
122     "a blob and the verification process of the signed exchange is skipped for "
123     "the succeeding navigation.";
124
125 const char kAudioWorkletRealtimeThreadName[] =
126     "Use realtime priority thread for Audio Worklet";
127 const char kAudioWorkletRealtimeThreadDescription[] =
128     "Run Audio Worklet operation on a realtime priority thread for better "
129     "audio stream stability.";
130
131 const char kUpdatedCellularActivationUiName[] =
132     "Updated Cellular Activation UI";
133 const char kUpdatedCellularActivationUiDescription[] =
134     "Enables the updated cellular activation UI.";
135
136 const char kUseLookalikesForNavigationSuggestionsName[] =
137     "Use lookalike URL suggestions for navigation suggestions";
138 const char kUseLookalikesForNavigationSuggestionsDescription[] =
139     "Use lookalike URL suggestions to suggest navigations to users who "
140     "face domain not found error.";
141
142 const char kUseMessagesStagingUrlName[] = "Use Messages staging URL";
143 const char kUseMessagesStagingUrlDescription[] =
144     "Use the staging server as part of the \"Messages\" feature under "
145     "\"Connected Devices\" settings.";
146
147 const char kUseCustomMessagesDomainName[] = "Use custom Messages domain";
148 const char kUseCustomMessagesDomainDescription[] =
149     "Use a custom URL as part of the \"Messages\" feature under "
150     "\"Connected Devices\" settings.";
151
152 const char kAndroidPictureInPictureAPIName[] =
153     "Picture-in-Picture Web API for Android";
154 const char kAndroidPictureInPictureAPIDescription[] =
155     "Enable Picture-in-Picture Web API for Android";
156
157 const char kAppCacheName[] = "AppCache web API and browser backend";
158 const char kAppCacheDescription[] =
159     "When disabled, turns off all AppCache code so that developers "
160     "can test that their code works properly in the future when AppCache "
161     "has been removed.";
162
163 const char kDnsHttpssvcName[] = "Support for HTTPSSVC records in DNS.";
164 const char kDnsHttpssvcDescription[] =
165     "When enabled, Chrome may query a configured DoH server for HTTPSSVC "
166     "records. If any HTTPSSVC records are returned, Chrome may upgrade the URL "
167     "to HTTPS. If the records indicate support for QUIC, Chrome may attempt "
168     "QUIC on the first connection.";
169
170 const char kDnsOverHttpsName[] = "Secure DNS lookups";
171 const char kDnsOverHttpsDescription[] =
172     "Enables DNS over HTTPS. When this feature is enabled, your browser may "
173     "try to use a secure HTTPS connection to look up the addresses of websites "
174     "and other web resources.";
175
176 const char kDrawVerticallyEdgeToEdgeName[] =
177     "Draw contents vertically from edge to edge.";
178 const char kDrawVerticallyEdgeToEdgeDescription[] =
179     "Draw contents vertically from edge to edge.";
180
181 const char kAutofillAlwaysReturnCloudTokenizedCardName[] =
182     "Return cloud token details for server credit cards when possible";
183 const char kAutofillAlwaysReturnCloudTokenizedCardDescription[] =
184     "When enabled and where available, forms filled using Google Payments "
185     "server cards are populated with cloud token details, including CPAN "
186     "(cloud tokenized version of the Primary Account Number) and dCVV (dynamic "
187     "CVV).";
188
189 const char kAutofillAssistantChromeEntryName[] = "AutofillAssistantChromeEntry";
190 const char kAutofillAssistantChromeEntryDescription[] =
191     "Initiate autofill assistant from within Chrome.";
192
193 const char kAutofillCacheQueryResponsesName[] =
194     "Cache Autofill Query Responses";
195 const char kAutofillCacheQueryResponsesDescription[] =
196     "When enabled, autofill will cache the responses it receives from the "
197     "crowd-sourced field type prediction server.";
198
199 const char kAutofillEnableCardNicknameManagementName[] =
200     "Enable Autofill card nickname management";
201 const char kAutofillEnableCardNicknameManagementDescription[] =
202     "When enabled, nicknames for credit cards will be able to be modified "
203     "locally.";
204
205 const char kAutofillEnableCardNicknameUpstreamName[] =
206     "Enable Autofill card nickname upstream";
207 const char kAutofillEnableCardNicknameUpstreamDescription[] =
208     "When enabled, nicknames for credit cards stored locally will be able to "
209     "be uploaded to Payments.";
210
211 const char kAutofillEnableCompanyNameName[] =
212     "Enable Autofill Company Name field";
213 const char kAutofillEnableCompanyNameDescription[] =
214     "When enabled, Company Name fields will be auto filled";
215
216 const char kAutofillEnableGoogleIssuedCardName[] =
217     "Enable Autofill Google-issued card";
218 const char kAutofillEnableGoogleIssuedCardDescription[] =
219     "When enabled, Google-issued cards will be available in the autofill "
220     "suggestions.";
221
222 const char kAutofillEnableOffersInDownstreamName[] =
223     "Enable Autofill offers in downstream";
224 const char kAutofillEnableOffersInDownstreamDescription[] =
225     "When enabled, offer data will be retrieved during downstream and shown in "
226     "the dropdown list.";
227
228 const char kAutofillEnableStickyPaymentsBubbleName[] =
229     "Enable Autofill payments sticky bubbles";
230 const char kAutofillEnableStickyPaymentsBubbleDescription[] =
231     "When enabled, all Autofill payments bubbles will not be dismissed upon "
232     "navigation.";
233
234 const char kAutofillEnableSurfacingServerCardNicknameName[] =
235     "Enable surfacing masked server card nicknames";
236 const char kAutofillEnableSurfacingServerCardNicknameDescription[] =
237     "When enabled, if Google Payments cards were given nicknames in a Google "
238     "Pay app, Autofill will surface these nicknames in suggestions.";
239
240 const char kAutofillEnableToolbarStatusChipName[] =
241     "Move Autofill omnibox icons next to the profile avatar icon";
242 const char kAutofillEnableToolbarStatusChipDescription[] =
243     "When enabled, Autofill data related icon will be shown in the status "
244     "chip next to the profile avatar icon in the toolbar.";
245
246 const char kAutofillEnableVirtualCardName[] =
247     "Offer to use cloud token virtual card in Autofill";
248 const char kAutofillEnableVirtualCardDescription[] =
249     "When enabled, if all requirements are met, Autofill will offer to use "
250     "virtual credit cards in form filling.";
251
252 const char kAutofillEnforceMinRequiredFieldsForHeuristicsName[] =
253     "Autofill Enforce Min Required Fields For Heuristics";
254 const char kAutofillEnforceMinRequiredFieldsForHeuristicsDescription[] =
255     "When enabled, autofill will generally require a form to have at least 3 "
256     "fields before allowing heuristic field-type prediction to occur.";
257
258 const char kAutofillEnforceMinRequiredFieldsForQueryName[] =
259     "Autofill Enforce Min Required Fields For Query";
260 const char kAutofillEnforceMinRequiredFieldsForQueryDescription[] =
261     "When enabled, autofill will generally require a form to have at least 3 "
262     "fields before querying the autofill server for field-type predictions.";
263
264 const char kAutofillEnforceMinRequiredFieldsForUploadName[] =
265     "Autofill Enforce Min Required Fields For Upload";
266 const char kAutofillEnforceMinRequiredFieldsForUploadDescription[] =
267     "When enabled, autofill will generally require a form to have at least 3 "
268     "fillable fields before uploading field-type votes for that form.";
269
270 const char kAutofillOffNoServerDataName[] = "Autofill Off No Server Data";
271 const char kAutofillOffNoServerDataDescription[] =
272     "Disables Autofill for fields with autocomplete off that have no "
273     "crowd-sourced evidence that Autofill would be helpful.";
274
275 const char kAutofillProfileClientValidationName[] =
276     "Autofill Validates Profiles By Client";
277 const char kAutofillProfileClientValidationDescription[] =
278     "Allows autofill to validate profiles on the client side";
279
280 const char kAutofillProfileServerValidationName[] =
281     "Autofill Uses Server Validation";
282 const char kAutofillProfileServerValidationDescription[] =
283     "Allows autofill to use server side validation";
284
285 const char kAutofillPruneSuggestionsName[] = "Autofill Prune Suggestions";
286 const char kAutofillPruneSuggestionsDescription[] =
287     "Further limits the number of suggestions in the Autofill dropdown.";
288
289 const char kAutofillRejectCompanyBirthyearName[] =
290     "Autofill Rejects Invalid Company Names";
291 const char kAutofillRejectCompanyBirthyearDescription[] =
292     "Autofill rejects using non-verified company names that are in the "
293     "format of a birthyear.";
294
295 const char kAutofillRestrictUnownedFieldsToFormlessCheckoutName[] =
296     "Restrict formless form extraction";
297 const char kAutofillRestrictUnownedFieldsToFormlessCheckoutDescription[] =
298     "Restrict extraction of formless forms to checkout flows";
299
300 const char kAutofillRichMetadataQueriesName[] =
301     "Autofill - Rich metadata queries (Canary/Dev only)";
302 const char kAutofillRichMetadataQueriesDescription[] =
303     "Transmit rich form/field metadata when querying the autofill server. "
304     "This feature only works on the Canary and Dev channels.";
305
306 const char kAutofillSaveAndFillVPAName[] =
307     "Offer save and autofill of UPI/VPA values";
308 const char kAutofillSaveAndFillVPADescription[] =
309     "If enabled, when autofill recognizes a UPI/VPA value in a payment form, "
310     "it will offer to save it. If saved, it will be offered for filling in "
311     "fields which expect a VPA.";
312
313 const char kAutofillUseImprovedLabelDisambiguationName[] =
314     "Autofill Uses Improved Label Disambiguation";
315 const char kAutofillUseImprovedLabelDisambiguationDescription[] =
316     "When enabled, the Autofill dropdown's suggestions' labels are displayed "
317     "using the improved disambiguation format.";
318
319 const char kAutoScreenBrightnessName[] = "Auto Screen Brightness model";
320 const char kAutoScreenBrightnessDescription[] =
321     "Uses Auto Screen Brightness model to adjust screen brightness based on "
322     "ambient light";
323
324 const char kAvatarToolbarButtonName[] = "Avatar Toolbar Button";
325 const char kAvatarToolbarButtonDescription[] =
326     "Enables the avatar toolbar button and the associated menu";
327
328 const char kBackForwardCacheName[] = "Back-forward cache";
329 const char kBackForwardCacheDescription[] =
330     "Enables back-forward cache. NOTE: this feature is highly experimental and "
331     "will lead to various breakages, up to and including user data loss. "
332     "Do not enable unless you work on this feature";
333
334 const char kBypassAppBannerEngagementChecksName[] =
335     "Bypass user engagement checks";
336 const char kBypassAppBannerEngagementChecksDescription[] =
337     "Bypasses user engagement checks for displaying app banners, such as "
338     "requiring that users have visited the site before and that the banner "
339     "hasn't been shown recently. This allows developers to test that other "
340     "eligibility requirements for showing app banners, such as having a "
341     "manifest, are met.";
342
343 const char kContextMenuSearchWithGoogleLensName[] =
344     "Google Lens powered image search in the context menu.";
345 const char kContextMenuSearchWithGoogleLensDescription[] =
346     "Replaces default image search with an intent to Google Lens when "
347     "supported.";
348
349 const char kContextMenuShopWithGoogleLensName[] =
350     "Google Lens powered image search for shoppable images in the context "
351     "menu.";
352 const char kContextMenuShopWithGoogleLensDescription[] =
353     "Enable a menu item for a Shopping intent into Google Lens when supported. "
354     "By default replaces the Search with Google Lens option.";
355
356 const char kContextMenuSearchAndShopWithGoogleLensName[] =
357     "Additional menu item for Google Lens image search for shoppable images in "
358     "the context menu.";
359 const char kContextMenuSearchAndShopWithGoogleLensDescription[] =
360     "Display an additional menu item for a Shopping intent to Google Lens "
361     "below Search with Google Lens when Lens shopping feature is enabled";
362
363 const char kOmniboxContextMenuShowFullUrlsName[] =
364     "Context menu show full URLs";
365 const char kOmniboxContextMenuShowFullUrlsDescription[] =
366     "Provides an omnibox context menu option that prevents URL elisions.";
367
368 const char kClickToOpenPDFName[] = "Click to open embedded PDFs";
369 const char kClickToOpenPDFDescription[] =
370     "When the PDF plugin is unavailable, show a click-to-open placeholder for "
371     "embedded PDFs.";
372
373 const char kClientStorageAccessContextAuditingName[] =
374     "Access contexts for client-side storage";
375 const char kClientStorageAccessContextAuditingDescription[] =
376     "Record the first-party contexts in which client-side storage was accessed";
377
378 const char kDecodeJpeg420ImagesToYUVName[] = "YUV decoding for JPEG";
379 const char kDecodeJpeg420ImagesToYUVDescription[] =
380     "Decode and render 4:2:0 formatted jpeg images from YUV instead of RGB."
381     "This feature requires GPU or OOP rasterization to also be enabled.";
382
383 const char kDecodeLossyWebPImagesToYUVName[] = "YUV Decoding for WebP";
384 const char kDecodeLossyWebPImagesToYUVDescription[] =
385     "Decode and render lossy WebP images from YUV instead of RGB. "
386     "You must also have GPU rasterization or OOP rasterization.";
387
388 const char kDoubleBufferCompositingName[] = "Double buffered compositing";
389 const char kDoubleBufferCompositingDescription[] =
390     "Use double buffer for compositing (instead of triple-buffering). "
391     "Latency should be reduced in some cases. On the other hand, more skipped "
392     "frames are expected.";
393
394 const char kEnablePasswordsAccountStorageName[] =
395     "Enable the account data storage for passwords";
396 const char kEnablePasswordsAccountStorageDescription[] =
397     "Enables storing passwords in a second, Gaia-account-scoped storage for "
398     "signed-in but not syncing users";
399
400 const char kExportTaggedPDFName[] = "Export Tagged PDF";
401 const char kExportTaggedPDFDescription[] =
402     "When printing to a PDF file, generated a tagged (accessible) PDF.";
403
404 const char kFocusMode[] = "Focus Mode";
405 const char kFocusModeDescription[] =
406     "If enabled, allows the user to switch to Focus Mode";
407
408 const char kFontAccessAPIName[] = "Font Access APIs";
409 const char kFontAccessAPIDescription[] =
410     "Enables the experimental Font Access APIs, giving websites access "
411     "to enumerate local fonts and access their table data.";
412
413 const char kForceColorProfileSRGB[] = "sRGB";
414 const char kForceColorProfileP3[] = "Display P3 D65";
415 const char kForceColorProfileColorSpin[] = "Color spin with gamma 2.4";
416 const char kForceColorProfileSCRGBLinear[] =
417     "scRGB linear (HDR where available)";
418 const char kForceColorProfileHDR10[] = "HDR10 (HDR where available)";
419
420 const char kForceColorProfileName[] = "Force color profile";
421 const char kForceColorProfileDescription[] =
422     "Forces Chrome to use a specific color profile instead of the color "
423     "of the window's current monitor, as specified by the operating system.";
424
425 const char kDynamicColorGamutName[] = "Dynamic color gamut";
426 const char kDynamicColorGamutDescription[] =
427     "Displays in wide color when the content is wide. When the content is "
428     "not wide, displays sRGB";
429
430 const char kCompositedLayerBordersName[] = "Composited render layer borders";
431 const char kCompositedLayerBordersDescription[] =
432     "Renders a border around composited Render Layers to help debug and study "
433     "layer compositing.";
434
435 const char kCookieDeprecationMessagesName[] = "Cookie deprecation messages";
436 const char kCookieDeprecationMessagesDescription[] =
437     "Show messages in DevTools about upcoming deprecations that would affect "
438     "sent/received cookies.";
439
440 const char kCookiesWithoutSameSiteMustBeSecureName[] =
441     "Cookies without SameSite must be secure";
442 const char kCookiesWithoutSameSiteMustBeSecureDescription[] =
443     "If enabled, cookies without SameSite restrictions must also be Secure. If "
444     "a cookie without SameSite restrictions is set without the Secure "
445     "attribute, it will be rejected. This flag only has an effect if "
446     "\"SameSite by default cookies\" is also enabled.";
447
448 const char kCooperativeSchedulingName[] = "Cooperative Scheduling";
449 const char kCooperativeSchedulingDescription[] =
450     "Enables cooperative scheduling in Blink.";
451
452 const char kCreditCardAssistName[] = "Credit Card Assisted Filling";
453 const char kCreditCardAssistDescription[] =
454     "Enable assisted credit card filling on certain sites.";
455
456 const char kDarkenWebsitesCheckboxInThemesSettingName[] =
457     "Darken websites checkbox in themes setting";
458 const char kDarkenWebsitesCheckboxInThemesSettingDescription[] =
459     "Show a darken websites checkbox in themes settings when system default or "
460     "dark is selected. The checkbox can toggle the auto-darkening web contents "
461     "feature";
462
463 const char kDataSaverServerPreviewsName[] = "Data Saver Server Previews";
464 const char kDataSaverServerPreviewsDescription[] =
465     "Allow the Data Reduction Proxy to serve previews.";
466
467 const char kDebugPackedAppName[] = "Debugging for packed apps";
468 const char kDebugPackedAppDescription[] =
469     "Enables debugging context menu options such as Inspect Element for packed "
470     "applications.";
471
472 const char kDebugShortcutsName[] = "Debugging keyboard shortcuts";
473 const char kDebugShortcutsDescription[] =
474     "Enables additional keyboard shortcuts that are useful for debugging Ash.";
475
476 const char kDetectTargetEmbeddingLookalikesName[] =
477     "Detect target embedding domains as lookalikes.";
478 const char kDetectTargetEmbeddingLookalikesDescription[] =
479     "Shows a lookalike interstitial when navigating to target embedding domains"
480     "(e.g. google.com.example.com).";
481
482 const char kDeviceDiscoveryNotificationsName[] =
483     "Device Discovery Notifications";
484 const char kDeviceDiscoveryNotificationsDescription[] =
485     "Device discovery notifications on local network.";
486
487 const char kDisableBestEffortTasksName[] = "Skip best effort tasks";
488 const char kDisableBestEffortTasksDescription[] =
489     "With this flag on, tasks of the lowest priority will not be executed "
490     "until shutdown. The queue of low priority tasks can increase memory usage."
491     "Also, while it should be possible to use Chrome almost normally with this "
492     "flag, it is expected that some non-visible operations such as writing "
493     "user data to disk, cleaning caches, reporting metrics or updating "
494     "components won't be performed until shutdown.";
495
496 const char kDisallowDocWrittenScriptsUiName[] =
497     "Block scripts loaded via document.write";
498 const char kDisallowDocWrittenScriptsUiDescription[] =
499     "Disallows fetches for third-party parser-blocking scripts inserted into "
500     "the main frame via document.write.";
501
502 const char kEnableAccessibilityObjectModelName[] =
503     "Accessibility Object Model v0 (deprecated)";
504 const char kEnableAccessibilityObjectModelDescription[] =
505     "Enables experimental support for an earlier version of Accessibility"
506     "Object Model APIs that are now deprecated.";
507
508 const char kEnableAmbientAuthenticationInIncognitoName[] =
509     "Enable Ambient Authentication in Incognito mode";
510 const char kEnableAmbientAuthenticationInIncognitoDescription[] =
511     "Enables ambient authentication in Incognito mode. This flag may be "
512     "overriden by policies.";
513
514 const char kEnableAmbientAuthenticationInGuestSessionName[] =
515     "Enable Ambient Authentication in Guest session.";
516 const char kEnableAmbientAuthenticationInGuestSessionDescription[] =
517     "Enables ambient authentication in Guest session. This flag may be "
518     "overriden by policies.";
519
520 const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement";
521 const char kEnableAudioFocusEnforcementDescription[] =
522     "Enables enforcement of a single media session having audio focus at "
523     "any one time. Requires #enable-media-session-service to be enabled too.";
524
525 const char kEnableAutofillAccountWalletStorageName[] =
526     "Enable the account data storage for autofill";
527 const char kEnableAutofillAccountWalletStorageDescription[] =
528     "Enable the ephemeral storage for account data for autofill.";
529
530 const char kEnableAutofillCacheServerCardInfoName[] =
531     "Enable Autofill to cache unmasked server card info";
532 const char kEnableAutofillCacheServerCardInfoDescription[] =
533     "If enabled, when a server card is unmasked, its info will be cached until "
534     "page navigation to simplify consecutive fills on the same page.";
535
536 const char kEnableAutofillCreditCardAblationExperimentDisplayName[] =
537     "Credit card autofill ablation experiment.";
538 const char kEnableAutofillCreditCardAblationExperimentDescription[] =
539     "If enabled, credit card autofill suggestions will not display.";
540
541 const char kEnableAutofillCreditCardAuthenticationName[] =
542     "Allow using platform authenticators to retrieve server cards";
543 const char kEnableAutofillCreditCardAuthenticationDescription[] =
544     "When enabled, users will be given the option to use a platform "
545     "authenticator (if available) to verify card ownership when retrieving "
546     "credit cards from Google Payments.";
547
548 const char kEnableAutofillCreditCardUploadFeedbackName[] =
549     "Enable feedback for credit card upload flow";
550 const char kEnableAutofillCreditCardUploadFeedbackDescription[] =
551     "When enabled, if credit card upload succeeds, the avatar button will "
552     "show a highlight, otherwise the icon will be updated and if it is "
553     "clicked, the save card failure bubble will be shown.";
554
555 const char kEnableExperimentalCookieFeaturesName[] =
556     "Enable experimental cookie features";
557 const char kEnableExperimentalCookieFeaturesDescription[] =
558     "Enable new features that affect setting, sending, and managing cookies. "
559     "The enabled features are subject to change at any time.";
560
561 const char kEnableDeferAllScriptName[] = "DeferAllScript previews";
562 const char kEnableDeferAllScriptDescription[] =
563     "Enable deferring synchronous script on slow pages.";
564
565 const char kEnableDeferAllScriptWithoutOptimizationHintsName[] =
566     "Skip checking optimization hints for Defer Script previews";
567 const char kEnableDeferAllScriptWithoutOptimizationHintsDescription[] =
568     "Skips checking optimization hints for Defer Script previews and assumes "
569     "that the ECT trigger threshold is set to 4G (which is otherwise provided "
570     "by the optimization hints). Rest of the checks are still executed.";
571
572 const char kEnableEduCoexistenceName[] =
573     "Enable Family Link managed accounts and EDU accounts coexistence";
574 const char kEnableEduCoexistenceDescription[] =
575     "Allows Family Link managed users to add secondary EDU accounts.";
576
577 const char kEnableEduCoexistenceConsentLogName[] =
578     "Enable parent consent logging in EDU account addition flow";
579 const char kEnableEduCoexistenceConsentLogDescription[] =
580     "If enabled, parent consent gets logged to ARI before adding the account "
581     "to the device.";
582
583 const char kEnableSaveDataName[] = "Enables save data feature";
584 const char kEnableSaveDataDescription[] =
585     "Enables save data feature. May cause user's traffic to be proxied via "
586     "Google's data reduction proxy.";
587
588 const char kEnableNavigationPredictorName[] = "Enables navigation predictor";
589 const char kEnableNavigationPredictorDescription[] =
590     "Enables navigation predictor feature that predicts the next likely "
591     "navigation using a set of heuristics.";
592
593 const char kEnablePreconnectToSearchName[] =
594     "Enables preconnections to default search engine";
595 const char kEnablePreconnectToSearchDescription[] =
596     "Enables the feature that preconnects to the user's default search engine.";
597
598 const char kEnableNoScriptPreviewsName[] = "NoScript previews";
599
600 const char kEnableNoScriptPreviewsDescription[] =
601     "Enable disabling JavaScript on some pages on slow networks.";
602
603 const char kEnableRemovingAllThirdPartyCookiesName[] =
604     "Enable removing SameSite=None cookies";
605 const char kEnableRemovingAllThirdPartyCookiesDescription[] =
606     "Enables UI on chrome://settings/siteData to remove all third-party "
607     "cookies and site data.";
608
609 const char kColorProviderRedirectionName[] = "Color Provider Redirection";
610 const char kColorProviderRedirectionDescription[] =
611     "Redirects color requests to the color provider where possible.";
612
613 const char kDataReductionProxyServerAlternative1[] = "Use alt. server config 1";
614 const char kDataReductionProxyServerAlternative2[] = "Use alt. server config 2";
615 const char kDataReductionProxyServerAlternative3[] = "Use alt. server config 3";
616 const char kDataReductionProxyServerAlternative4[] = "Use alt. server config 4";
617 const char kDataReductionProxyServerAlternative5[] = "Use alt. server config 5";
618 const char kDataReductionProxyServerAlternative6[] = "Use alt. server config 6";
619 const char kDataReductionProxyServerAlternative7[] = "Use alt. server config 7";
620 const char kDataReductionProxyServerAlternative8[] = "Use alt. server config 8";
621 const char kDataReductionProxyServerAlternative9[] = "Use alt. server config 9";
622 const char kDataReductionProxyServerAlternative10[] =
623     "Use alt. server config 10";
624 const char kEnableDataReductionProxyServerExperimentName[] =
625     "Use an alternative Data Saver back end configuration.";
626 const char kEnableDataReductionProxyServerExperimentDescription[] =
627     "Enable a different approach to saving data by configuring the back end "
628     "server";
629
630 const char kDesktopPWAsLocalUpdatingName[] = "Desktop PWAs local updating";
631 const char kDesktopPWAsLocalUpdatingDescription[] =
632     "Enable installed PWAs to update their app manifest data when the site "
633     "manifest data has changed.";
634
635 const char kDesktopPWAsLocalUpdatingThrottlePersistenceName[] =
636     "Desktop PWAs local updating throttle persistence";
637 const char kDesktopPWAsLocalUpdatingThrottlePersistenceDescription[] =
638     "Persist the throttling of local PWA manifest update checks across browser "
639     "restarts.";
640
641 const char kDesktopPWAsAppIconShortcutsMenuName[] =
642     "Desktop PWAs app icon shortcuts menu";
643 const char kDesktopPWAsAppIconShortcutsMenuDescription[] =
644     "Enable installed PWAs to include a menu of shortcuts associated with the "
645     "app icon in the taskbar on Windows, or the dock on macOS or Linux.";
646
647 const char kDesktopPWAsTabStripName[] = "Desktop PWA tab strips";
648 const char kDesktopPWAsTabStripDescription[] =
649     "Experimental UI for exploring what PWA windows would look like with a tab "
650     "strip.";
651
652 const char kDesktopPWAsTabStripLinkCapturingName[] =
653     "Desktop PWA tab strip link capturing";
654 const char kDesktopPWAsTabStripLinkCapturingDescription[] =
655     "Experimental behaviour for \"Desktop PWA tab strips\" to capture link "
656     "navigations within the app scope and bring them into the app's tabbed "
657     "window.";
658
659 const char kDesktopPWAsWithoutExtensionsName[] =
660     "Desktop PWAs without Extensions";
661 const char kDesktopPWAsWithoutExtensionsDescription[] =
662     "New platform to manage Web Applications metadata. Warning: this feature "
663     "is incomplete and may corrupt your synced Chrome profile. Test accounts "
664     "only are advised.";
665
666 const char kDesktopPWAsRunOnOsLoginName[] = "Desktop PWAs run on OS login";
667 const char kDesktopPWAsRunOnOsLoginDescription[] =
668     "Enable installed PWAs to be configured to automatically start when the OS "
669     "user logs in.";
670
671 const char kEnableSystemWebAppsName[] = "System Web Apps";
672 const char kEnableSystemWebAppsDescription[] =
673     "Experimental system for using the Desktop PWA framework for running System"
674     "Apps (e.g Settings, Discover).";
675
676 const char kEnableTLS13EarlyDataName[] = "TLS 1.3 Early Data";
677 const char kEnableTLS13EarlyDataDescription[] =
678     "This option enables TLS 1.3 Early Data, allowing GET requests to be sent "
679     "during the handshake when resuming a connection to a compatible TLS 1.3 "
680     "server.";
681
682 const char kPostQuantumCECPQ2Name[] = "TLS Post-Quantum Confidentiality";
683 const char kPostQuantumCECPQ2Description[] =
684     "This option enables a post-quantum (i.e. resistent to quantum computers) "
685     "key exchange algorithm in TLS (CECPQ2).";
686
687 const char kMacCoreLocationImplementationName[] =
688     "Core Location Implementation";
689 const char kMacCoreLocationImplementationDescription[] =
690     "Enables usage of the Core Location APIs on macOS for geolocation";
691
692 const char kMaintainShelfStateWhenEnteringOverviewName[] =
693     "Allow Home Launcher Shelf In Overview";
694 const char kMaintainShelfStateWhenEnteringOverviewDescription[] =
695     "Maintains shelf state when entering and exiting overview mode.";
696
697 const char kWinrtGeolocationImplementationName[] =
698     "WinRT Geolocation Implementation";
699 const char kWinrtGeolocationImplementationDescription[] =
700     "Enables usage of the Windows.Devices.Geolocation WinRT APIs on Windows "
701     "for geolocation";
702
703 const char kWinrtSensorsImplementationName[] = "WinRT Sensor Implementation";
704 const char kWinrtSensorsImplementationDescription[] =
705     "Enables usage of the Windows.Devices.Sensors WinRT APIs on Windows for "
706     "sensors";
707
708 const char kEnableGenericSensorExtraClassesName[] =
709     "Generic Sensor Extra Classes";
710 const char kEnableGenericSensorExtraClassesDescription[] =
711     "Enables an extra set of sensor classes based on Generic Sensor API, which "
712     "expose previously unavailable platform features, i.e. AmbientLightSensor "
713     "and Magnetometer interfaces.";
714
715 const char kEnableGpuServiceLoggingName[] = "Enable gpu service logging";
716 const char kEnableGpuServiceLoggingDescription[] =
717     "Enable printing the actual GL driver calls.";
718
719 const char kEnableImplicitRootScrollerName[] = "Implicit Root Scroller";
720 const char kEnableImplicitRootScrollerDescription[] =
721     "Enables implicitly choosing which scroller on a page is the 'root "
722     "scroller'. i.e. The one that gets special features like URL bar movement, "
723     "overscroll glow, rotation anchoring, etc.";
724
725 const char kEnableCSSOMViewScrollCoordinatesName[] =
726     "CSSOM View Scroll Coordinates";
727 const char kEnableCSSOMViewScrollCoordinatesDescription[] =
728     "Enables CSSOM View Scroll Coordinates, this affects to box scroll "
729     "coordinates in scrollTop / scrollLeft / scrollTo' when ScrollOrigin isn't "
730     "at the left top corner. i.e. For leftwards overflow direction box "
731     "the X coordinate will start from 0 to negative value. For upwards box the "
732     "Y coordinate will start from 0 to negative value. And for other directions"
733     "(rightwards and downwards) the value will start from 0 to positive";
734
735 const char kEnablePreviewsCoinFlipName[] = "Enable Previews Coin Flip";
736 const char kEnablePreviewsCoinFlipDescription[] =
737     "Enable coin flip experimentation of Previews.";
738
739 const char kEnableSRPIsolatedPrerendersName[] =
740     "Enable Navigation Predictor Isolated Prerenders";
741 const char kEnableSRPIsolatedPrerendersDescription[] =
742     "Enable Navigation Predictions on the Google SRP to be fully isolated.";
743
744 const char kEnableSRPIsolatedPrerenderProbingName[] =
745     "Enable Probing on Navigation Predictor Isolated Prerenders";
746 const char kEnableSRPIsolatedPrerenderProbingDescription[] =
747     "Enable probing checks for Isolated Prerenders which will block commit.";
748
749 const char kEnableSRPIsolatedPrerendersNSPName[] =
750     "Enable NoStatePrefetch on Navigation Predictor Isolated Prerenders";
751 const char kEnableSRPIsolatedPrerendersNSPDescription[] =
752     "Enables NoStatePrefetch on Isolated Prerenders.";
753
754 const char kDownloadAutoResumptionNativeName[] =
755     "Enable download auto-resumption in native";
756 const char kDownloadAutoResumptionNativeDescription[] =
757     "Enables download auto-resumption in native";
758
759 const char kDownloadLaterName[] = "Enable download later";
760 const char kDownloadLaterDescription[] = "Enables download later feature.";
761
762 const char kDownloadLaterDebugOnWifiName[] =
763     "Show download later dialog on WIFI.";
764 const char kDownloadLaterDebugOnWifiNameDescription[] =
765     "Show download later dialog on WIFI.";
766
767 const char kEnableLayoutNGName[] = "Enable LayoutNG";
768 const char kEnableLayoutNGDescription[] =
769     "Enable Blink's next generation layout engine.";
770
771 const char kEnableLazyFrameLoadingName[] = "Enable lazy frame loading";
772 const char kEnableLazyFrameLoadingDescription[] =
773     "Defers the loading of iframes marked with the attribute 'loading=lazy' "
774     "until the page is scrolled down near them.";
775
776 const char kEnableLazyImageLoadingName[] = "Enable lazy image loading";
777 const char kEnableLazyImageLoadingDescription[] =
778     "Defers the loading of images marked with the attribute 'loading=lazy' "
779     "until the page is scrolled down near them.";
780
781 const char kEnableMediaSessionServiceName[] = "Media Session Service";
782 const char kEnableMediaSessionServiceDescription[] =
783     "Enables the media session mojo service and internal media session "
784     "support.";
785
786 const char kEnableNetworkLoggingToFileName[] = "Enable network logging to file";
787 const char kEnableNetworkLoggingToFileDescription[] =
788     "Enables network logging to a file named netlog.json in the user data "
789     "directory. The file can be imported into chrome://net-internals.";
790
791 const char kEnableNetworkServiceInProcessName[] =
792     "Runs network service in-process";
793 const char kEnableNetworkServiceInProcessDescription[] =
794     "Runs the network service in the browser process.";
795
796 const char kEnableNewDownloadBackendName[] = "Enable new download backend";
797 const char kEnableNewDownloadBackendDescription[] =
798     "Enables the new download backend that uses offline content provider";
799
800 const char kEnablePortalsName[] = "Enable Portals.";
801 const char kEnablePortalsDescription[] =
802     "Portals are an experimental web platform feature that allows embedding"
803     " and seamless transitions between pages."
804     " See https://github.com/WICG/portals and https://wicg.github.io/portals/";
805
806 const char kEnablePortalsCrossOriginName[] = "Enable cross-origin Portals.";
807 const char kEnablePortalsCrossOriginDescription[] =
808     "Allows portals to load cross-origin URLs in addition to same-origin ones."
809     " Has no effect if Portals are not enabled.";
810
811 const char kEnableTranslateSubFramesName[] = "Translate sub frames";
812 const char kEnableTranslateSubFramesDescription[] =
813     "Enable the translation of sub frames (as well as the main frame)";
814
815 const char kCorsForContentScriptsName[] = "CORS for content scripts";
816 const char kCorsForContentScriptsDescription[] =
817     "Prevent content scripts of Chrome Extensions from bypassing CORS. "
818     "For more information about the allowlist and the changes to the "
819     "security model of content scripts, please see: "
820     "https://www.chromium.org/Home/chromium-security/"
821     "extension-content-script-fetches";
822
823 const char kForceEmptyCorbAndCorsAllowlistName[] =
824     "Force empty CORB and CORS allowlist";
825 const char kForceEmptyCorbAndCorsAllowlistDescription[] =
826     "Removes all Chrome Extensions from the CORB and CORS allowlist. "
827     "For more information about the allowlist and the changes to the "
828     "security model of content scripts, please see: "
829     "https://www.chromium.org/Home/chromium-security/"
830     "extension-content-script-fetches";
831
832 const char kCrossOriginOpenerPolicyName[] = "Cross Origin Opener Policy";
833 const char kCrossOriginOpenerPolicyDescription[] =
834     "Enables Cross Origin Opener Policy.";
835
836 const char kCrossOriginOpenerPolicyReportingName[] =
837     "Cross Origin Opener Policy reporting";
838 const char kCrossOriginOpenerPolicyReportingDescription[] =
839     "Enables Cross Origin Opener Policy reporting.";
840
841 const char kCrossOriginOpenerPolicyAccessReportingName[] =
842     "Cross Origin Opener Policy access reporting";
843 const char kCrossOriginOpenerPolicyAccessReportingDescription[] =
844     "Enables Cross Origin Opener Policy access reporting.";
845
846 const char kDisableKeepaliveFetchName[] = "Disable fetch with keepalive set";
847 const char kDisableKeepaliveFetchDescription[] =
848     "Disable fetch with keepalive set "
849     "(https://fetch.spec.whatwg.org/#request-keepalive-flag).";
850
851 const char kExperimentalAccessibilityLanguageDetectionName[] =
852     "Experimental accessibility language detection";
853 const char kExperimentalAccessibilityLanguageDetectionDescription[] =
854     "Enable language detection for in-page content which is then exposed to "
855     "assistive technologies such as screen readers.";
856
857 const char kExperimentalAccessibilityLanguageDetectionDynamicName[] =
858     "Experimental accessibility language detection for dynamic content";
859 const char kExperimentalAccessibilityLanguageDetectionDynamicDescription[] =
860     "Enable language detection for dynamic content which is then exposed to "
861     "assistive technologies such as screen readers.";
862
863 const char kCompositorThreadedScrollbarScrollingName[] =
864     "Compositor threaded scrollbar scrolling";
865 const char kCompositorThreadedScrollbarScrollingDescription[] =
866     "Enables pointer-based scrollbar scrolling on the compositor thread "
867     "instead of the main thread";
868
869 const char kMemlogName[] = "Chrome heap profiler start mode.";
870 const char kMemlogDescription[] =
871     "Starts heap profiling service that records sampled memory allocation "
872     "profile having each sample attributed with a callstack. "
873     "The sampling resolution is controlled with --memlog-sampling-rate flag. "
874     "Recorded heap dumps can be obtained at chrome://tracing "
875     "[category:memory-infra] and chrome://memory-internals. This setting "
876     "controls which processes will be profiled since their start. To profile "
877     "any given process at a later time use chrome://memory-internals page.";
878 const char kMemlogModeMinimal[] = "Browser and GPU";
879 const char kMemlogModeAll[] = "All processes";
880 const char kMemlogModeAllRenderers[] = "All renderers";
881 const char kMemlogModeRendererSampling[] = "Single renderer";
882 const char kMemlogModeBrowser[] = "Browser only";
883 const char kMemlogModeGpu[] = "GPU only";
884
885 const char kMemlogSamplingRateName[] =
886     "Heap profiling sampling interval (in bytes).";
887 const char kMemlogSamplingRateDescription[] =
888     "Heap profiling service uses Poisson process to sample allocations. "
889     "Default value for the interval between samples is 100000 (100KB). "
890     "This results in low noise for large and/or frequent allocations "
891     "[size * frequency >> 100KB]. This means that aggregate numbers [e.g. "
892     "total size of malloc-ed objects] and large and/or frequent allocations "
893     "can be trusted with high fidelity. "
894     "Lower intervals produce higher samples resolution, but come at a cost of "
895     "higher performance overhead.";
896 const char kMemlogSamplingRate10KB[] = "10KB";
897 const char kMemlogSamplingRate50KB[] = "50KB";
898 const char kMemlogSamplingRate100KB[] = "100KB";
899 const char kMemlogSamplingRate500KB[] = "500KB";
900 const char kMemlogSamplingRate1MB[] = "1MB";
901 const char kMemlogSamplingRate5MB[] = "5MB";
902
903 const char kMemlogStackModeName[] = "Heap profiling stack traces type.";
904 const char kMemlogStackModeDescription[] =
905     "By default heap profiling service records native stacks. "
906     "A post-processing step is required to symbolize the stacks. "
907     "'Native with thread names' adds the thread name as the first frame of "
908     "each native stack. It's also possible to record a pseudo stack using "
909     "trace events as identifiers. It's also possible to do a mix of both.";
910 const char kMemlogStackModeMixed[] = "Mixed";
911 const char kMemlogStackModeNative[] = "Native";
912 const char kMemlogStackModeNativeWithThreadNames[] = "Native with thread names";
913 const char kMemlogStackModePseudo[] = "Trace events";
914
915 const char kEnablePixelCanvasRecordingName[] = "Enable pixel canvas recording";
916 const char kEnablePixelCanvasRecordingDescription[] =
917     "Pixel canvas recording allows the compositor to raster contents aligned "
918     "with the pixel and improves text rendering. This should be enabled when a "
919     "device is using fractional scale factor.";
920
921 const char kEnableResamplingInputEventsName[] =
922     "Enable resampling input events";
923 const char kEnableResamplingInputEventsDescription[] =
924     "Predicts mouse and touch inputs position at rAF time based on previous "
925     "input";
926 const char kEnableResamplingScrollEventsName[] =
927     "Enable resampling scroll events";
928 const char kEnableResamplingScrollEventsDescription[] =
929     "Predicts the scroll amount at vsync time based on previous input";
930
931 const char kEnableResourceLoadingHintsName[] = "Enable resource loading hints";
932 const char kEnableResourceLoadingHintsDescription[] =
933     "Enable using server-provided resource loading hints to provide a preview "
934     "over slow network connections.";
935
936 const char kEnableSyncTrustedVaultName[] =
937     "Enable trusted vault sync passphrase type";
938 const char kEnableSyncTrustedVaultDescription[] =
939     "Enables the new, experimental passphrase type for sync data";
940
941 const char kEnableTextFragmentAnchorName[] = "Enable Text Fragment Anchor.";
942 const char kEnableTextFragmentAnchorDescription[] =
943     "Enables scrolling to text specified in URL's fragment.";
944
945 const char kEnableUseZoomForDsfName[] =
946     "Use Blink's zoom for device scale factor.";
947 const char kEnableUseZoomForDsfDescription[] =
948     "If enabled, Blink uses its zooming mechanism to scale content for device "
949     "scale factor.";
950 const char kEnableUseZoomForDsfChoiceDefault[] = "Default";
951 const char kEnableUseZoomForDsfChoiceEnabled[] = "Enabled";
952 const char kEnableUseZoomForDsfChoiceDisabled[] = "Disabled";
953
954 const char kEnableSubresourceRedirectName[] =
955     "Enable Render Level Data Use Optimization";
956 const char kEnableSubresourceRedirectDescription[] =
957     "Allow Render Level Data Use Optimization";
958
959 const char kEnableWebAuthenticationCableV2SupportName[] =
960     "Web Authentication caBLE v2 support";
961 const char kEnableWebAuthenticationCableV2SupportDescription[] =
962     "Enable the QR-based pairingless BLE protocol for use with the Web "
963     "Authentication API. (This will also enable the cloud-based protocol "
964     "on platforms where it is not already enabled.)";
965
966 const char kExperimentalWebAssemblyFeaturesName[] = "Experimental WebAssembly";
967 const char kExperimentalWebAssemblyFeaturesDescription[] =
968     "Enable web pages to use experimental WebAssembly features.";
969
970 const char kEnableWasmBaselineName[] = "WebAssembly baseline compiler";
971 const char kEnableWasmBaselineDescription[] =
972     "Enables WebAssembly baseline compilation and tier up.";
973
974 const char kEnableWasmLazyCompilationName[] = "WebAssembly lazy compilation";
975 const char kEnableWasmLazyCompilationDescription[] =
976     "Enables lazy (JIT on first call) compilation of WebAssembly modules.";
977
978 const char kEnableWasmSimdName[] = "WebAssembly SIMD support.";
979 const char kEnableWasmSimdDescription[] =
980     "Enables support for the WebAssembly SIMD proposal.";
981
982 const char kEnableWasmThreadsName[] = "WebAssembly threads support";
983 const char kEnableWasmThreadsDescription[] =
984     "Enables support for the WebAssembly Threads proposal.";
985
986 const char kEnableWasmTieringName[] = "WebAssembly tiering";
987 const char kEnableWasmTieringDescription[] =
988     "Enables tiered compilation of WebAssembly (will tier up to TurboFan if "
989     "#enable-webassembly-baseline is enabled).";
990
991 const char kEvDetailsInPageInfoName[] = "EV certificate details in Page Info.";
992 const char kEvDetailsInPageInfoDescription[] =
993     "Shows the EV certificate details in the Page Info bubble.";
994
995 const char kExpensiveBackgroundTimerThrottlingName[] =
996     "Throttle expensive background timers";
997 const char kExpensiveBackgroundTimerThrottlingDescription[] =
998     "Enables intervention to limit CPU usage of background timers to 1%.";
999
1000 const char kExperimentalExtensionApisName[] = "Experimental Extension APIs";
1001 const char kExperimentalExtensionApisDescription[] =
1002     "Enables experimental extension APIs. Note that the extension gallery "
1003     "doesn't allow you to upload extensions that use experimental APIs.";
1004
1005 const char kExperimentalFlingAnimationName[] =
1006     "Enable experimental fling animation";
1007 const char kExperimentalFlingAnimationDescription[] =
1008     "Enables the use of a touch fling curve that is based on the behavior of "
1009     "native apps on Windows.";
1010
1011 const char kExperimentalProductivityFeaturesName[] =
1012     "Experimental Productivity Features";
1013 const char kExperimentalProductivityFeaturesDescription[] =
1014     "Enable support for experimental developer productivity features, such as "
1015     "import maps and policies for avoiding slow rendering.";
1016
1017 const char kExperimentalWebPlatformFeaturesName[] =
1018     "Experimental Web Platform features";
1019 const char kExperimentalWebPlatformFeaturesDescription[] =
1020     "Enables experimental Web Platform features that are in development.";
1021
1022 const char kExtensionContentVerificationName[] =
1023     "Extension Content Verification";
1024 const char kExtensionContentVerificationDescription[] =
1025     "This flag can be used to turn on verification that the contents of the "
1026     "files on disk for extensions from the webstore match what they're "
1027     "expected to be. This can be used to turn on this feature if it would not "
1028     "otherwise have been turned on, but cannot be used to turn it off (because "
1029     "this setting can be tampered with by malware).";
1030 const char kExtensionContentVerificationBootstrap[] =
1031     "Bootstrap (get expected hashes, but do not enforce them)";
1032 const char kExtensionContentVerificationEnforce[] =
1033     "Enforce (try to get hashes, and enforce them if successful)";
1034 const char kExtensionContentVerificationEnforceStrict[] =
1035     "Enforce strict (hard fail if we can't get hashes)";
1036
1037 const char kExtensionsCheckupName[] = "Extensions Checkup";
1038 const char kExtensionsCheckupDescription[] =
1039     "Enable the extensions checkup experiment";
1040
1041 const char kExtensionsToolbarMenuName[] = "Extensions Toolbar Menu";
1042 const char kExtensionsToolbarMenuDescription[] =
1043     "Enable a separate toolbar button and menu for extensions";
1044
1045 const char kExtensionsOnChromeUrlsName[] = "Extensions on chrome:// URLs";
1046 const char kExtensionsOnChromeUrlsDescription[] =
1047     "Enables running extensions on chrome:// URLs, where extensions explicitly "
1048     "request this permission.";
1049
1050 const char kFilteringScrollPredictionName[] = "Filtering scroll prediction";
1051 const char kFilteringScrollPredictionDescription[] =
1052     "Enable filtering of predicted scroll events";
1053
1054 const char kFirstScrollLatencyMeasurementName[] =
1055     "First Scroll Latency Measurement";
1056 const char kFirstScrollLatencyMeasurementDescription[] =
1057     "Enables measurement of the latency between user input events and visual "
1058     "updates for the first scroll of a navigation.";
1059
1060 const char kFractionalScrollOffsetsName[] = "Fractional Scroll Offsets";
1061 const char kFractionalScrollOffsetsDescription[] =
1062     "Enables fractional scroll offsets inside Blink, exposing non-integer "
1063     "offsets to web APIs.";
1064
1065 const char kFreezeUserAgentName[] = "Freeze User-Agent request header";
1066 const char kFreezeUserAgentDescription[] =
1067     "Set the User-Agent request header to a static string that conforms to the "
1068     "current User-Agent string format but only reveals desktop vs Android and "
1069     "if the 'mobile' flag is set";
1070
1071 const char kForceEffectiveConnectionTypeName[] =
1072     "Override effective connection type";
1073 const char kForceEffectiveConnectionTypeDescription[] =
1074     "Overrides the effective connection type of the current connection "
1075     "returned by the network quality estimator. Slow 2G on Cellular returns "
1076     "Slow 2G when connected to a cellular network, and the actual estimate "
1077     "effective connection type when not on a cellular network. Previews are "
1078     "usually served on 2G networks.";
1079 const char kEffectiveConnectionTypeUnknownDescription[] = "Unknown";
1080 const char kEffectiveConnectionTypeOfflineDescription[] = "Offline";
1081 const char kEffectiveConnectionTypeSlow2GDescription[] = "Slow 2G";
1082 const char kEffectiveConnectionTypeSlow2GOnCellularDescription[] =
1083     "Slow 2G On Cellular";
1084 const char kEffectiveConnectionType2GDescription[] = "2G";
1085 const char kEffectiveConnectionType3GDescription[] = "3G";
1086 const char kEffectiveConnectionType4GDescription[] = "4G";
1087
1088 const char kFileHandlingAPIName[] = "File Handling API";
1089 const char kFileHandlingAPIDescription[] =
1090     "Enables the file handling API, allowing websites to register as file "
1091     "handlers. This depends on native-file-system";
1092
1093 const char kFillOnAccountSelectName[] = "Fill passwords on account selection";
1094 const char kFillOnAccountSelectDescription[] =
1095     "Filling of passwords when an account is explicitly selected by the user "
1096     "rather than autofilling credentials on page load.";
1097
1098 const char kForceTextDirectionName[] = "Force text direction";
1099 const char kForceTextDirectionDescription[] =
1100     "Explicitly force the per-character directionality of UI text to "
1101     "left-to-right (LTR) or right-to-left (RTL) mode, overriding the default "
1102     "direction of the character language.";
1103 const char kForceDirectionLtr[] = "Left-to-right";
1104 const char kForceDirectionRtl[] = "Right-to-left";
1105
1106 const char kForceUiDirectionName[] = "Force UI direction";
1107 const char kForceUiDirectionDescription[] =
1108     "Explicitly force the UI to left-to-right (LTR) or right-to-left (RTL) "
1109     "mode, overriding the default direction of the UI language.";
1110
1111 const char kFormControlsDarkModeName[] = "Web Platform Controls Dark Mode";
1112 const char kFormControlsDarkModeDescription[] =
1113     "If enabled, forms controls and scrollbars will be rendered with a dark "
1114     "theme, only on web pages that support dark color schemes, and when the "
1115     "OS is switched to dark theme.";
1116
1117 const char kFormControlsRefreshName[] = "Web Platform Controls updated UI";
1118 const char kFormControlsRefreshDescription[] =
1119     "If enabled, HTML forms elements will be rendered using an updated style.";
1120
1121 const char kGlobalMediaControlsName[] = "Global Media Controls";
1122 const char kGlobalMediaControlsDescription[] =
1123     "Enables the Global Media Controls UI in the toolbar.";
1124
1125 const char kGlobalMediaControlsForCastName[] = "Global Media Controls for Cast";
1126 const char kGlobalMediaControlsForCastDescription[] =
1127     "Shows Cast sessions in the Global Media Controls UI. Requires "
1128     "#global-media-controls and #cast-media-route-provider to also be enabled.";
1129
1130 const char kGlobalMediaControlsPictureInPictureName[] =
1131     "Global Media Controls Picture-in-Picture";
1132 const char kGlobalMediaControlsPictureInPictureDescription[] =
1133     "Enables Picture-in-Picture controls in the Global Media Controls UI. "
1134     "Requires "
1135     "#global-media-controls to also be enabled.";
1136
1137 const char kGlobalMediaControlsSeamlessTransferName[] =
1138     "Global Media Controls Seamless Transfer";
1139 const char kGlobalMediaControlsSeamlessTransferDescription[] =
1140     "Enables selection of audio output device to play media through in "
1141     "the Global Media Controls UI. Requires #global-media-controls to "
1142     "also be enabled.";
1143
1144 const char kGpuRasterizationName[] = "GPU rasterization";
1145 const char kGpuRasterizationDescription[] = "Use GPU to rasterize web content.";
1146
1147 const char kGooglePasswordManagerName[] = "Google Password Manager UI";
1148 const char kGooglePasswordManagerDescription[] =
1149     "Enables access to the Google Password Manager UI from Chrome.";
1150
1151 const char kHandwritingGestureName[] = "Handwriting Gestures";
1152 const char kHandwritingGestureDescription[] =
1153     "Enables handwriting gestures within the virtual keyboard. This will send "
1154     "handwriting you write inside the virtual keyboard to Google servers for "
1155     "recognition but will not be associated with your Google account.";
1156
1157 const char kHardwareMediaKeyHandling[] = "Hardware Media Key Handling";
1158 const char kHardwareMediaKeyHandlingDescription[] =
1159     "Enables using media keys to control the active media session. This "
1160     "requires MediaSessionService to be enabled too";
1161
1162 const char kHeavyAdPrivacyMitigationsName[] = "Heavy ad privacy mitigations";
1163 const char kHeavyAdPrivacyMitigationsDescription[] =
1164     "Enables privacy mitigations for the heavy ad intervention. Disabling "
1165     "this makes the intervention deterministic. Defaults to enabled.";
1166
1167 const char kHeavyAdInterventionName[] = "Heavy Ad Intervention";
1168 const char kHeavyAdInterventionDescription[] =
1169     "Unloads ads that use too many device resources.";
1170
1171 const char kHideShelfControlsInTabletModeName[] =
1172     "Hide shelf control buttons in tablet mode.";
1173
1174 const char kHideShelfControlsInTabletModeDescription[] =
1175     "Hides home, back, and overview button from the shelf while the device is "
1176     "in tablet mode. Predicated on shelf-hotseat feature being enabled.";
1177
1178 const char kHorizontalTabSwitcherAndroidName[] =
1179     "Enable horizontal tab switcher";
1180 const char kHorizontalTabSwitcherAndroidDescription[] =
1181     "Changes the layout of the Android tab switcher so tabs scroll "
1182     "horizontally instead of vertically.";
1183
1184 const char kTabSwitcherOnReturnName[] = "Enable tab switcher on return";
1185 const char kTabSwitcherOnReturnDescription[] =
1186     "Enable tab switcher on return after specified time has elapsed";
1187
1188 const char kHostedAppQuitNotificationName[] =
1189     "Quit notification for hosted apps";
1190 const char kHostedAppQuitNotificationDescription[] =
1191     "Display a notification when quitting Chrome if hosted apps are currently "
1192     "running.";
1193
1194 const char kHostedAppShimCreationName[] =
1195     "Creation of app shims for hosted apps on Mac";
1196 const char kHostedAppShimCreationDescription[] =
1197     "Create app shims on Mac when creating a hosted app.";
1198
1199 const char kIgnoreGpuBlacklistName[] = "Override software rendering list";
1200 const char kIgnoreGpuBlacklistDescription[] =
1201     "Overrides the built-in software rendering list and enables "
1202     "GPU-acceleration on unsupported system configurations.";
1203
1204 const char kIgnorePreviewsBlocklistName[] = "Ignore Previews Blocklist";
1205 const char kIgnorePreviewsBlocklistDescription[] =
1206     "Ignore decisions made by the PreviewsBlockList";
1207
1208 const char kImprovedCookieControlsName[] =
1209     "Enable improved cookie controls UI in incognito mode";
1210 const char kImprovedCookieControlsDescription[] =
1211     "Improved UI in Incognito mode for third-party cookie blocking.";
1212
1213 const char kImprovedCookieControlsForThirdPartyCookieBlockingName[] =
1214     "Enable improved UI for third-party cookie blocking";
1215 const char kImprovedCookieControlsForThirdPartyCookieBlockingDescription[] =
1216     "Enables an improved UI for existing third-party cookie blocking users.";
1217
1218 const char kImpulseScrollAnimationsName[] = "Impulse-style scroll animations";
1219 const char kImpulseScrollAnimationsDescription[] =
1220     "Replaces the default scroll animation with Impulse-style scroll "
1221     "animations.";
1222
1223 const char kInProductHelpDemoModeChoiceName[] = "In-Product Help Demo Mode";
1224 const char kInProductHelpDemoModeChoiceDescription[] =
1225     "Selects the In-Product Help demo mode.";
1226
1227 const char kInstalledAppsInCbdName[] = "Installed Apps in Clear Browsing Data";
1228 const char kInstalledAppsInCbdDescription[] =
1229     "Adds the installed apps warning dialog to the clear browsing data flow "
1230     "which allows users to protect installed apps' data from being deleted.";
1231
1232 const char kJavascriptHarmonyName[] = "Experimental JavaScript";
1233 const char kJavascriptHarmonyDescription[] =
1234     "Enable web pages to use experimental JavaScript features.";
1235
1236 const char kJavascriptHarmonyShippingName[] =
1237     "Latest stable JavaScript features";
1238 const char kJavascriptHarmonyShippingDescription[] =
1239     "Some web pages use legacy or non-standard JavaScript extensions that may "
1240     "conflict with the latest JavaScript features. This flag allows disabling "
1241     "support of those features for compatibility with such pages.";
1242
1243 const char kLauncherSettingsSearchName[] = "Launcher settings search";
1244 const char kLauncherSettingsSearchDescription[] =
1245     "Enable search results for OS settings in the launcher.";
1246
1247 const char kLegacyTLSEnforcedName[] =
1248     "Enforce deprecation of legacy TLS versions";
1249 const char kLegacyTLSEnforcedDescription[] =
1250     "Enable connection errors and interstitials for sites that use legacy TLS "
1251     "versions (TLS 1.0 and TLS 1.1), which are deprecated and will be removed "
1252     " in the future.";
1253
1254 const char kLegacyTLSWarningsName[] =
1255     "Show security warnings for sites using legacy TLS versions";
1256 const char kLegacyTLSWarningsDescription[] =
1257     "Show security warnings for sites that use legacy TLS versions (TLS 1.0 "
1258     "and TLS 1.1), which are deprecated and will be removed in the future.";
1259
1260 const char kLiteVideoName[] = "Enable LiteVideos";
1261 const char kLiteVideoDescription[] =
1262     "Enable the LiteVideo optimization to throttle media requests to "
1263     "reduce data usage";
1264
1265 const char kLiteVideoForceOverrideDecisionName[] = "Force LiteVideos decision";
1266 const char kLiteVideoForceOverrideDecisionDescription[] =
1267     "Force the LiteVideo decision to be allowed on every navigation.";
1268
1269 const char kLoadMediaRouterComponentExtensionName[] =
1270     "Load Media Router Component Extension";
1271 const char kLoadMediaRouterComponentExtensionDescription[] =
1272     "Loads the Media Router component extension at startup.";
1273
1274 const char kLogJsConsoleMessagesName[] =
1275     "Log JS console messages in system logs";
1276 const char kLogJsConsoleMessagesDescription[] =
1277     "Enable logging JS console messages in system logs, please note that they "
1278     "may contain PII.";
1279
1280 const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
1281 const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
1282
1283 const char kMediaHistoryName[] = "Enable Media History";
1284 const char kMediaHistoryDescription[] =
1285     "Enables Media History which records data around media playbacks on "
1286     "websites.";
1287
1288 const char kMediaRouterCastAllowAllIPsName[] =
1289     "Connect to Cast devices on all IP addresses";
1290 const char kMediaRouterCastAllowAllIPsDescription[] =
1291     "Have the Media Router connect to Cast devices on all IP addresses, not "
1292     "just RFC1918/RFC4193 private addresses.";
1293
1294 const char kMixBrowserTypeTabsName[] = "Mix browser type tabs";
1295 const char kMixBrowserTypeTabsDescription[] =
1296     "Allows tabs to be dragged between any browsers that support tabs, "
1297     "including apps";
1298
1299 const char kMobileIdentityConsistencyName[] = "Mobile identity consistency";
1300 const char kMobileIdentityConsistencyDescription[] =
1301     "Enables stronger identity consistency on mobile";
1302
1303 const char kMouseSubframeNoImplicitCaptureName[] =
1304     "Disable mouse implicit capture for iframe";
1305 const char kMouseSubframeNoImplicitCaptureDescription[] =
1306     "When enable, mouse down does not implicit capture for iframe.";
1307
1308 const char kNativeFileSystemAPIName[] = "Native File System API";
1309 const char kNativeFileSystemAPIDescription[] =
1310     "Enables the experimental Native File System API, giving websites access "
1311     "to the native file system";
1312
1313 const char kNearbySharingName[] = "Nearby Sharing";
1314 const char kNearbySharingDescription[] =
1315     "Enables Nearby Sharing for sharing content between devices.";
1316
1317 const char kNewCanvas2DAPIName[] = "Experimental canvas 2D API features";
1318 const char kNewCanvas2DAPIDescription[] =
1319     "Enables in-progress features for the canvas 2D API. See "
1320     "https://github.com/fserb/canvas2d.";
1321
1322 const char kNewProfilePickerName[] = "New profile picker";
1323 const char kNewProfilePickerDescription[] =
1324     "Enables new profile picker implementation.";
1325
1326 const char kNewUsbBackendName[] = "Enable new USB backend";
1327 const char kNewUsbBackendDescription[] =
1328     "Enables the new experimental USB backend for Windows.";
1329
1330 const char kNewTabstripAnimationName[] = "New tabstrip animations";
1331 const char kNewTabstripAnimationDescription[] =
1332     "New implementation of tabstrip animations.";
1333
1334 const char kNewOsSettingsSearchName[] = "New OS Settings Search";
1335 const char kNewOsSettingsSearchDescription[] =
1336     "Enables New OS Settings search with fuzzy matching, and disables the old "
1337     "OS settings search using exact string matching.";
1338
1339 const char kDlcSettingsUiName[] = "DLC Settings UI";
1340 const char kDlcSettingsUiDescription[] =
1341     "Enables DLC (Downloadable Content) Settings subpage in the Device section "
1342     "of OS Settings.";
1343
1344 const char kTextureLayerSkipWaitForActivationName[] = "Parallelize layers";
1345 const char kTextureLayerSkipWaitForActivationDescription[] =
1346     "Don't wait for layer activation before beginning new frame.";
1347
1348 const char kNotificationIndicatorName[] = "Notification Indicators";
1349 const char kNotificationIndicatorDescription[] =
1350     "Enable notification indicators, which appear on shelf app icons when a "
1351     "notification is active.";
1352
1353 const char kNotificationSchedulerDebugOptionName[] =
1354     "Notification scheduler debug options";
1355 const char kNotificationSchedulerDebugOptionDescription[] =
1356     "Enable debugging mode to override certain behavior of notification "
1357     "scheduler system for easier manual testing.";
1358 const char kNotificationSchedulerImmediateBackgroundTaskDescription[] =
1359     "Show scheduled notification right away.";
1360
1361 const char kNotificationsNativeFlagName[] = "Enable native notifications.";
1362 const char kNotificationsNativeFlagDescription[] =
1363     "Enable support for using the native notification toasts and notification "
1364     "center on platforms where these are available.";
1365
1366 const char kUpdateHoverAtBeginFrameName[] = "Update hover at the begin frame";
1367 const char kUpdateHoverAtBeginFrameDescription[] =
1368     "Recompute hover state at BeginFrame for layout and scroll based mouse "
1369     "moves, rather than old timing-based mechanism.";
1370
1371 const char kUseMultiloginEndpointName[] = "Use Multilogin endpoint.";
1372 const char kUseMultiloginEndpointDescription[] =
1373     "Use Gaia OAuth multilogin for identity consistency.";
1374
1375 const char kOfferStoreUnmaskedWalletCardsName[] =
1376     "Google Payments card saving checkbox";
1377 const char kOfferStoreUnmaskedWalletCardsDescription[] =
1378     "Show the checkbox to offer local saving of a credit card downloaded from "
1379     "the server.";
1380
1381 const char kOmniboxAdaptiveSuggestionsCountName[] =
1382     "Adaptive Omnibox Suggestions count";
1383 const char kOmniboxAdaptiveSuggestionsCountDescription[] =
1384     "Dynamically adjust number of presented Omnibox suggestions depending on "
1385     "available space. When enabled, this feature will increase (or decrease) "
1386     "amount of offered Omnibox suggestions to fill in the space between the "
1387     "Omnibox and soft keyboard (if any). See also Max Autocomplete Matches "
1388     "flag to adjust the limit of offered suggestions. The number of shown "
1389     "suggestions will be no less than the platform default limit.";
1390
1391 const char kOmniboxAssistantVoiceSearchName[] =
1392     "Omnibox Assistant Voice Search";
1393 const char kOmniboxAssistantVoiceSearchDescription[] =
1394     "When enabled, use Assistant for omnibox voice query recognition instead of"
1395     " Android's built-in voice recognition service. Only works on Android.";
1396
1397 const char kOmniboxAutocompleteTitlesName[] = "Omnibox Autocomplete Titles";
1398 const char kOmniboxAutocompleteTitlesDescription[] =
1399     "Allows autocompleting bookmark, history, and document suggestions when the"
1400     " user input is a prefix of their titles, as opposed to their URLs.";
1401
1402 const char kOmniboxCompactSuggestionsName[] = "Omnibox: Compact suggestions";
1403 const char kOmniboxCompactSuggestionsDescription[] =
1404     "Conserve the space for Omnibox Suggestions by slightly reducing their "
1405     "size.";
1406
1407 const char kOmniboxDeferredKeyboardPopupName[] =
1408     "Omnibox: Defer keyboard popup";
1409 const char kOmniboxDeferredKeyboardPopupDescription[] =
1410     "Defer keyboard popup when user selects the Omnibox to allow presenting "
1411     "more instant/zero-prefix suggestions. The soft keyboard will only be "
1412     "shown when user taps the Omnibox again, or if there's no suggestions to "
1413     "show to the user.";
1414
1415 const char kOmniboxDisplayTitleForCurrentUrlName[] =
1416     "Include title for the current URL in the omnibox";
1417 const char kOmniboxDisplayTitleForCurrentUrlDescription[] =
1418     "In the event that the omnibox provides suggestions on-focus, the URL of "
1419     "the current page is provided as the first suggestion without a title. "
1420     "Enabling this flag causes the title to be displayed.";
1421
1422 const char kOmniboxDisableInstantExtendedLimitName[] =
1423     "Disable the 'instant extended' limit on search suggestions";
1424 const char kOmniboxDisableInstantExtendedLimitDescription[] =
1425     "Effectively doubles the max number of Google-provided search suggestions "
1426     "on Android by disabling the 'Instant Extended' check.";
1427
1428 const char kOmniboxExperimentalSuggestScoringName[] =
1429     "Omnibox Experimental Suggest Scoring";
1430 const char kOmniboxExperimentalSuggestScoringDescription[] =
1431     "Enables an experimental scoring mode for suggestions when Google is the "
1432     "default search engine.";
1433
1434 const char kOmniboxHistoryQuickProviderAllowButDoNotScoreMidwordTermsName[] =
1435     "Omnibox History Quick Provider Allow but Do Not Score Midword Terms";
1436 const char
1437     kOmniboxHistoryQuickProviderAllowButDoNotScoreMidwordTermsDescription[] =
1438         "Midword terms are allowed but not scored.";
1439 const char kOmniboxHistoryQuickProviderAllowMidwordContinuationsName[] =
1440     "Omnibox History Quick Provider Allow Midword Continuations";
1441 const char kOmniboxHistoryQuickProviderAllowMidwordContinuationsDescription[] =
1442     "Midword matches are allowed and scored when the match begins immediately "
1443     "after the previous match ends.";
1444
1445 const char kOmniboxLocalEntitySuggestionsName[] =
1446     "Omnibox Local Entity Suggestions";
1447 const char kOmniboxLocalEntitySuggestionsDescription[] =
1448     "Enables location specific suggestions displayed with images and enhanced "
1449     "layout, similar to #omnibox-rich-entity-suggestions. Enabling this feature"
1450     "will also enable #omnibox-rich-entity-suggestions.";
1451
1452 const char kOmniboxRichAutocompletionName[] = "Omnibox Rich Autocompletion";
1453 const char kOmniboxRichAutocompletionDescription[] =
1454     "Allow autocompletion for titles and non-prefixes. I.e. suggestions whose "
1455     "titles or URLs contain the user input as a continuous chunk, but not "
1456     "necessarily a prefix, can be the default suggestion. Typically, only "
1457     "suggestions whose URLs are prefixed by the user input can be. The "
1458     "potential variations toggle 4 params: 1) 'Title UI' displays titles, 2) "
1459     "'2-Line UI' includes titles (and URLs when autocompleting titles) on a "
1460     "2nd line, 3) 'Title AC' autocompletes titles, and 4) 'Non-Prefix AC' "
1461     "autocompletes non-prefixes.";
1462
1463 const char kOmniboxOnFocusSuggestionsName[] = "Omnibox on-focus suggestions";
1464 const char kOmniboxOnFocusSuggestionsDescription[] =
1465     "Configures Omnibox on-focus suggestions - suggestions displayed on-focus "
1466     "before the user has typed any input";
1467
1468 const char kOmniboxOnFocusSuggestionsContextualWebName[] =
1469     "Omnibox on-focus suggestions for the contextual Web";
1470 const char kOmniboxOnFocusSuggestionsContextualWebDescription[] =
1471     "Enables on-focus suggestions on the Open Web, that are contextual to the "
1472     "current URL. Will only work if user is signed-in and syncing, or is "
1473     "otherwise eligible to send the current page URL to the suggest server.";
1474
1475 const char kOmniboxSearchEngineLogoName[] = "Omnibox search engine logo";
1476 const char kOmniboxSearchEngineLogoDescription[] =
1477     "Display the current default search engine's logo in the omnibox";
1478
1479 const char kOmniboxSearchReadyIncognitoName[] =
1480     "Search ready omnibox in incognito";
1481 const char kOmniboxSearchReadyIncognitoDescription[] =
1482     "Show search ready omnibox when browsing incognito.";
1483
1484 const char kOmniboxSpareRendererName[] =
1485     "Start spare renderer on omnibox focus";
1486 const char kOmniboxSpareRendererDescription[] =
1487     "When the omnibox is focused, start an empty spare renderer. This can "
1488     "speed up the load of the navigation from the omnibox.";
1489
1490 const char kOmniboxSuggestionsRecyclerViewName[] =
1491     "Omnibox Suggestions using a recycler view";
1492 const char kOmniboxSuggestionsRecyclerViewDescription[] =
1493     "Use an Android RecyclerView to render the Omnibox Suggestions drop down.";
1494
1495 const char kOmniboxSuggestionsWrapAroundName[] =
1496     "Omnibox Suggestions Wrap-Around";
1497 const char kOmniboxSuggestionsWrapAroundDescription[] =
1498     "Allow long search suggestions to wrap around to reveal their content";
1499
1500 const char kOmniboxTabSwitchSuggestionsName[] =
1501     "Omnibox switch to tab suggestions";
1502 const char kOmniboxTabSwitchSuggestionsDescription[] =
1503     "Enable URL suggestions to optionally take the user to a tab where a "
1504     "website is already opened.";
1505
1506 const char kOmniboxUIHideSteadyStateUrlSchemeName[] =
1507     "Omnibox UI Hide Steady-State URL Scheme";
1508 const char kOmniboxUIHideSteadyStateUrlSchemeDescription[] =
1509     "In the omnibox, hide the scheme from steady state displayed URLs. It is "
1510     "restored during editing.";
1511
1512 const char kOmniboxUIHideSteadyStateUrlTrivialSubdomainsName[] =
1513     "Omnibox UI Hide Steady-State URL Trivial Subdomains";
1514 const char kOmniboxUIHideSteadyStateUrlTrivialSubdomainsDescription[] =
1515     "In the omnibox, hide trivial subdomains from steady state displayed URLs. "
1516     "Hidden portions are restored during editing.";
1517
1518 const char kOmniboxUIRevealSteadyStateUrlPathQueryAndRefOnHoverName[] =
1519     "Omnibox UI Reveal Steady-State URL Path, Query, and Ref On Hover";
1520 const char kOmniboxUIRevealSteadyStateUrlPathQueryAndRefOnHoverDescription[] =
1521     "In the omnibox, reveal the path, query and ref from steady state "
1522     "displayed URLs on hover.";
1523
1524 const char kOmniboxUIHideSteadyStateUrlPathQueryAndRefOnInteractionName[] =
1525     "Omnibox UI Hide Steady-State URL Path, Query, and Ref On Interaction";
1526 const char
1527     kOmniboxUIHideSteadyStateUrlPathQueryAndRefOnInteractionDescription[] =
1528         "In the omnibox, hide the path, query and ref from steady state "
1529         "displayed URLs when the user interacts with the page.";
1530
1531 const char kOmniboxUIMaxAutocompleteMatchesName[] =
1532     "Omnibox UI Max Autocomplete Matches";
1533 const char kOmniboxUIMaxAutocompleteMatchesDescription[] =
1534     "Changes the maximum number of autocomplete matches displayed in the "
1535     "Omnibox UI.";
1536
1537 const char kOmniboxMaxURLMatchesName[] = "Omnibox Max URL Matches";
1538 const char kOmniboxMaxURLMatchesDescription[] =
1539     "The maximum number of URL matches to show, unless there are no "
1540     "replacements.";
1541
1542 const char kOmniboxOnDeviceHeadSuggestionsIncognitoName[] =
1543     "Omnibox on device head suggestions (incognito only)";
1544 const char kOmniboxOnDeviceHeadSuggestionsIncognitoDescription[] =
1545     "Google head non personalized search suggestions provided by a compact on "
1546     "device model for incognito";
1547
1548 const char kOmniboxOnDeviceHeadSuggestionsNonIncognitoName[] =
1549     "Omnibox on device head suggestions (non-incognito only)";
1550 const char kOmniboxOnDeviceHeadSuggestionsNonIncognitoDescription[] =
1551     "Google head non personalized search suggestions provided by a compact on "
1552     "device model for non-incognito";
1553
1554 const char kOmniboxPreserveDefaultMatchAgainstAsyncUpdateName[] =
1555     "Omnibox Preserve Default Match Against Async Update";
1556 const char kOmniboxPreserveDefaultMatchAgainstAsyncUpdateDescription[] =
1557     "Preserves the default match against change when providers return results "
1558     "asynchronously. This prevents the default match from changing after the "
1559     "user finishes typing. Without this feature, if the default match is "
1560     "updated right when the user presses Enter, the user may go to a "
1561     "surprising destination.";
1562
1563 const char kOmniboxUISwapTitleAndUrlName[] = "Omnibox UI Swap Title and URL";
1564 const char kOmniboxUISwapTitleAndUrlDescription[] =
1565     "In the omnibox dropdown, shows titles before URLs when both are "
1566     "available.";
1567
1568 const char kOmniboxZeroSuggestionsOnNTPName[] =
1569     "Omnibox Zero Suggestions on New Tab Page";
1570 const char kOmniboxZeroSuggestionsOnNTPDescription[] =
1571     "Offer suggestions when URL bar (omnibox) is focused.";
1572
1573 const char kOmniboxZeroSuggestionsOnNTPRealboxName[] =
1574     "Zero Suggestions in real search box on New Tab Page";
1575 const char kOmniboxZeroSuggestionsOnNTPRealboxDescription[] =
1576     "Offer suggestions when the real search box on New Tab Page is focused.";
1577
1578 const char kOmniboxZeroSuggestionsOnSERPName[] =
1579     "Omnibox Zero Suggestions on SERP / On-Focus Query Refinement";
1580 const char kOmniboxZeroSuggestionsOnSERPDescription[] =
1581     "Offer query refinement suggestions when the URL bar (omnibox) is focused "
1582     "on the default search provider's search results page (SERP).";
1583
1584 const char kOnTheFlyMhtmlHashComputationName[] =
1585     "On-The-Fly MHTML Hash Computation";
1586 const char kOnTheFlyMhtmlHashComputationDescription[] =
1587     "Save MHTML files to the target location and calculate their content "
1588     "digests in one step.";
1589
1590 const char kOopRasterizationName[] = "Out of process rasterization";
1591 const char kOopRasterizationDescription[] =
1592     "Perform Ganesh raster in the GPU Process instead of the renderer.  "
1593     "Must also enable GPU rasterization";
1594
1595 const char kOopRasterizationDDLName[] =
1596     "Out of process rasterization using DDLs";
1597 const char kOopRasterizationDDLDescription[] =
1598     "Use Skia Deferred Display Lists when performing rasterization in the GPU "
1599     "process  "
1600     "Must also enable OOP rasterization";
1601
1602 const char kEnableDeJellyName[] = "Experimental de-jelly effect";
1603 const char kEnableDeJellyDescription[] =
1604     "Enables an experimental effect which attempts to mitigate "
1605     "\"jelly-scrolling\". This is an experimental implementation with known "
1606     "bugs, visual artifacts, and performance cost. This implementation may be "
1607     "removed at any time.";
1608
1609 const char kOverlayNewLayoutName[] = "Overlay new layout";
1610 const char kOverlayNewLayoutDescription[] =
1611     "Enables a new layout for the "
1612     "Overlay panels including Contextual Search and Preview Tab.";
1613
1614 const char kOverlayScrollbarsName[] = "Overlay Scrollbars";
1615 const char kOverlayScrollbarsDescription[] =
1616     "Enable the experimental overlay scrollbars implementation. You must also "
1617     "enable threaded compositing to have the scrollbars animate.";
1618
1619 const char kOverlayScrollbarsFlashAfterAnyScrollUpdateName[] =
1620     "Flash Overlay Scrollbars After Any Scroll Update";
1621 const char kOverlayScrollbarsFlashAfterAnyScrollUpdateDescription[] =
1622     "Flash Overlay Scrollbars After any scroll update happends in page. You"
1623     " must also enable Overlay Scrollbars.";
1624
1625 const char kOverlayScrollbarsFlashWhenMouseEnterName[] =
1626     "Flash Overlay Scrollbars When Mouse Enter";
1627 const char kOverlayScrollbarsFlashWhenMouseEnterDescription[] =
1628     "Flash Overlay Scrollbars When Mouse Enter a scrollable area. You must also"
1629     " enable Overlay Scrollbars.";
1630
1631 const char kOverlayStrategiesName[] = "Select HW overlay strategies";
1632 const char kOverlayStrategiesDescription[] =
1633     "Select strategies used to promote quads to HW overlays.";
1634 const char kOverlayStrategiesDefault[] = "Default";
1635 const char kOverlayStrategiesNone[] = "None";
1636 const char kOverlayStrategiesUnoccludedFullscreen[] =
1637     "Unoccluded fullscreen buffers (single-fullscreen)";
1638 const char kOverlayStrategiesUnoccluded[] =
1639     "Unoccluded buffers (single-fullscreen,single-on-top)";
1640 const char kOverlayStrategiesOccludedAndUnoccluded[] =
1641     "Occluded and unoccluded buffers "
1642     "(single-fullscreen,single-on-top,underlay)";
1643
1644 const char kOverscrollHistoryNavigationName[] = "Overscroll history navigation";
1645 const char kOverscrollHistoryNavigationDescription[] =
1646     "History navigation in response to horizontal overscroll.";
1647
1648 const char kPaintHoldingName[] =
1649     "Delay the commit to screen for same-origin navigations";
1650 const char kPaintHoldingDescription[] =
1651     "Enables a delay before commiting the page to screen when navigating "
1652     "between pages in the same origin. This may help avoid a flash of unstyled "
1653     "content for same-origin navigations";
1654
1655 const char kParallelDownloadingName[] = "Parallel downloading";
1656 const char kParallelDownloadingDescription[] =
1657     "Enable parallel downloading to accelerate download speed.";
1658
1659 const char kPassiveEventListenerDefaultName[] =
1660     "Passive Event Listener Override";
1661 const char kPassiveEventListenerDefaultDescription[] =
1662     "Forces touchstart, touchmove, mousewheel and wheel event listeners (which "
1663     "haven't requested otherwise) to be treated as passive. This will break "
1664     "touch/wheel behavior on some websites but is useful for demonstrating the "
1665     "potential performance benefits of adopting passive event listeners.";
1666 const char kPassiveEventListenerTrue[] = "True (when unspecified)";
1667 const char kPassiveEventListenerForceAllTrue[] = "Force All True";
1668
1669 const char kPassiveEventListenersDueToFlingName[] =
1670     "Touch Event Listeners Passive Default During Fling";
1671 const char kPassiveEventListenersDueToFlingDescription[] =
1672     "Forces touchstart, and first touchmove per scroll event listeners during "
1673     "fling to be treated as passive.";
1674
1675 const char kPassiveDocumentEventListenersName[] =
1676     "Document Level Event Listeners Passive Default";
1677 const char kPassiveDocumentEventListenersDescription[] =
1678     "Forces touchstart, and touchmove event listeners on document level "
1679     "targets (which haven't requested otherwise) to be treated as passive.";
1680
1681 const char kPassiveDocumentWheelEventListenersName[] =
1682     "Document Level Wheel Event Listeners Passive Default";
1683 const char kPassiveDocumentWheelEventListenersDescription[] =
1684     "Forces wheel, and mousewheel event listeners on document level targets "
1685     "(which haven't requested otherwise) to be treated as passive.";
1686
1687 const char kPassiveMixedContentWarningName[] =
1688     "Warning for Passive Mixed Content";
1689 const char kPassiveMixedContentWarningDescription[] =
1690     "Causes a 'Not Secure' chip to be shown in the omnibox if a site contains "
1691     "passive (aka optionally blockable) mixed content.";
1692
1693 const char kPasswordChangeName[] = "Rework password change flow";
1694 const char kPasswordChangeDescription[] =
1695     "Change password when password leak is detected.";
1696
1697 const char kPasswordEditingAndroidName[] = "Password editing for Android";
1698 const char kPasswordEditingAndroidDescription[] =
1699     "Adds the editing option for saved passwords.";
1700
1701 const char kPasswordImportName[] = "Password import";
1702 const char kPasswordImportDescription[] =
1703     "Import functionality in password settings.";
1704
1705 const char kForceWebContentsDarkModeName[] = "Force Dark Mode for Web Contents";
1706 const char kForceWebContentsDarkModeDescription[] =
1707     "Automatically render all web contents using a dark theme.";
1708
1709 const char kForcedColorsName[] = "Forced Colors";
1710 const char kForcedColorsDescription[] =
1711     "Enables forced colors mode for web content.";
1712
1713 const char kPercentBasedScrollingName[] = "Percent-based Scrolling";
1714 const char kPercentBasedScrollingDescription[] =
1715     "If enabled, mousewheel and keyboard scrolls will scroll by a percentage "
1716     "of the scroller size.";
1717
1718 const char kPerMethodCanMakePaymentQuotaName[] =
1719     "Per-method canMakePayment() quota.";
1720 const char kPerMethodCanMakePaymentQuotaDescription[] =
1721     "Allow calling canMakePayment() for different payment methods, as long as "
1722     "method-specific parameters remain unchanged.";
1723
1724 const char kPermissionChipName[] = "Permissions Chip Experiment";
1725 const char kPermissionChipDescription[] =
1726     "Enables an experimental permission prompt that uses a chip in the location"
1727     " bar.";
1728
1729 const char kPointerLockOptionsName[] = "Enables pointer lock options";
1730 const char kPointerLockOptionsDescription[] =
1731     "Enables pointer lock unadjustedMovement. When unadjustedMovement is set "
1732     "to true, pointer movements wil not be affected by the underlying platform "
1733     "modications such as mouse accelaration.";
1734
1735 const char kPolicyAtomicGroupsEnabledName[] = "Policy Atomic Groups Enabled";
1736 const char kPolicyAtomicGroupsEnabledDescription[] =
1737     "Enables the concept of policy atomic groups that makes policies of an "
1738     "atomic group that do not share the highest priority source from that group"
1739     "ignored.";
1740
1741 const char kPreviewsAllowedName[] = "Previews Allowed";
1742 const char kPreviewsAllowedDescription[] =
1743     "Allows previews to be shown subject to specific preview types being "
1744     "enabled and the client experiencing specific triggering conditions. "
1745     "May be used as a kill-switch to turn off all potential preview types.";
1746
1747 const char kPrintJobManagementAppName[] = "Print Management App";
1748 const char kPrintJobManagementAppDescription[] =
1749     "Enables the print management app that allows Chrome OS users to view "
1750     "and manage their native print jobs.";
1751
1752 const char kPrivacyElevatedAndroidName[] =
1753     "Elevate Privacy in Settings on Android";
1754 const char kPrivacyElevatedAndroidDescription[] =
1755     "Moves the Privacy section up to Basics and moves the Homepage one to "
1756     " Advanced.";
1757
1758 const char kPrivacySettingsRedesignName[] = "Privacy Settings Redesign";
1759 const char kPrivacySettingsRedesignDescription[] =
1760     "Redesign of the privacy settings card to make it more prominent and "
1761     "and easier to use.";
1762
1763 const char kSafetyCheckAndroidName[] = "Safety Check on Android";
1764 const char kSafetyCheckAndroidDescription[] =
1765     "A settings component for checking multiple areas of browser safety.";
1766
1767 const char kProminentDarkModeActiveTabTitleName[] =
1768     "Prominent Dark Mode Active Tab Titles";
1769 const char kProminentDarkModeActiveTabTitleDescription[] =
1770     "Makes the active tab title in dark mode bolder so the active tab is "
1771     "easier "
1772     "to identify.";
1773
1774 const char kPullToRefreshName[] = "Pull-to-refresh gesture";
1775 const char kPullToRefreshDescription[] =
1776     "Pull-to-refresh gesture in response to vertical overscroll.";
1777 const char kPullToRefreshEnabledTouchscreen[] = "Enabled for touchscreen only";
1778
1779 const char kQuicName[] = "Experimental QUIC protocol";
1780 const char kQuicDescription[] = "Enable experimental QUIC protocol support.";
1781
1782 const char kQuietNotificationPromptsName[] =
1783     "Quieter notification permission prompts";
1784 const char kQuietNotificationPromptsDescription[] =
1785     "Enables quieter permission prompts for notification permission requests. "
1786     "When a site wishes to show notifications, the usual modal dialog is "
1787     "replaced with a quieter version.";
1788
1789 const char kRawClipboardName[] = "Raw Clipboard";
1790 const char kRawClipboardDescription[] =
1791     "Allows raw / unsanitized clipboard content to be read and written. "
1792     "See https://github.com/WICG/raw-clipboard-access.";
1793
1794 const char kReducedReferrerGranularityName[] =
1795     "Reduce default 'referer' header granularity.";
1796 const char kReducedReferrerGranularityDescription[] =
1797     "If a page hasn't set an explicit referrer policy, setting this flag will "
1798     "reduce the amount of information in the 'referer' header for cross-origin "
1799     "requests.";
1800
1801 const char kRewriteLevelDBOnDeletionName[] =
1802     "Rewrite LevelDB instances after full deletions";
1803 const char kRewriteLevelDBOnDeletionDescription[] =
1804     "Rewrite LevelDB instances to remove traces of deleted data from disk.";
1805
1806 const char kRequestUnbufferedDispatchName[] = "Use RequestUnbufferedDispatch";
1807 const char kRequestUnbufferedDispatchDescription[] =
1808     "Calls RequestUnbufferedDispatch in the Android API to disable buffering "
1809     "of input by the OS.";
1810
1811 const char kRequestTabletSiteName[] =
1812     "Request tablet site option in the settings menu";
1813 const char kRequestTabletSiteDescription[] =
1814     "Allows the user to request tablet site. Web content is often optimized "
1815     "for tablet devices. When this option is selected the user agent string is "
1816     "changed to indicate a tablet device. Web content optimized for tablets is "
1817     "received there after for the current tab.";
1818
1819 const char kDelayAsyncScriptExecutionName[] = "Delay Async Script Execution";
1820 const char kDelayAsyncScriptExecutionDescription[] =
1821     "The execution of async scripts will be delayed.";
1822
1823 const char kPrefetchPrivacyChangesName[] =
1824     "Prefetch request properties are updated to be privacy-preserving";
1825 const char kPrefetchPrivacyChangesDescription[] =
1826     "Prefetch requests will not follow redirects, not send a Referer header, "
1827     "not send credentials for cross-origin requests, and do not pass through "
1828     "service workers.";
1829
1830 const char kIntensiveWakeUpThrottlingName[] =
1831     "Throttle Javascript timers in background.";
1832 const char kIntensiveWakeUpThrottlingDescription[] =
1833     "When enabled, wake ups from throttleable TaskQueues are limited to 1 per "
1834     "minute in a page that has been backgrounded for 5 minutes. For additional "
1835     "details, see https://www.chromestatus.com/feature/4718288976216064.";
1836
1837 const char kPrinterStatusName[] = "Show printer Status";
1838 const char kPrinterStatusDescription[] =
1839     "Enables printer status icons and labels for saved and nearby printers";
1840
1841 const char kSafetyTipName[] =
1842     "Show Safety Tip UI when visiting low-reputation websites";
1843 const char kSafetyTipDescription[] =
1844     "If enabled, a Safety Tip UI may be displayed when visiting or interacting "
1845     "with a site Chrome believes may be suspicious.";
1846
1847 const char kSameSiteByDefaultCookiesName[] = "SameSite by default cookies";
1848 const char kSameSiteByDefaultCookiesDescription[] =
1849     "Treat cookies that don't specify a SameSite attribute as if they were "
1850     "SameSite=Lax. Sites must specify SameSite=None in order to enable "
1851     "third-party usage.";
1852
1853 const char kScrollableTabStripName[] = "Scrollable TabStrip";
1854 const char kScrollableTabStripDescription[] =
1855     "Allows users to access tabs by scrolling when they no longer fit in the "
1856     "tabstrip.";
1857
1858 const char kScrollUnificationName[] = "Scroll Unification";
1859 const char kScrollUnificationDescription[] =
1860     "Refactoring project that eliminates scroll handling code from Blink. "
1861     "Does not affect behavior or performance.";
1862
1863 const char kSendTabToSelfOmniboxSendingAnimationName[] =
1864     "Send tab to self omnibox sending animation";
1865 const char kSendTabToSelfOmniboxSendingAnimationDescription[] =
1866     "If enabled, shows Sending... animation in omnibox instead of Desktop OS "
1867     "notifications for contextual menu entry points.";
1868
1869 const char kServiceWorkerOnUIName[] = "Service worker on UI thread";
1870 const char kServiceWorkerOnUIDescription[] =
1871     "Enables browser process logic related to service workers to run on the UI "
1872     "thread rather than the IO thread.";
1873
1874 const char kSharedClipboardUIName[] =
1875     "Enable shared clipboard feature signals to be handled";
1876 const char kSharedClipboardUIDescription[] =
1877     "Enables shared clipboard feature signals to be handled by showing "
1878     "a list of user's available devices to share the clipboard.";
1879
1880 const char kSharingPeerConnectionReceiverName[] =
1881     "Enable receiver device to handle peer connection requests.";
1882 const char kSharingPeerConnectionReceiverDescription[] =
1883     "Enables receiver device to connect and share data using a peer to peer "
1884     "connection.";
1885
1886 const char kSharingPeerConnectionSenderName[] =
1887     "Enable sender device to initiate peer connection requests.";
1888 const char kSharingPeerConnectionSenderDescription[] =
1889     "Enables the sender devices to connect with chosen device using a peer to "
1890     "peer connection for transferring data.";
1891
1892 const char kSharingPreferVapidName[] =
1893     "Prefer sending Sharing message via VAPID";
1894 const char kSharingPreferVapidDescription[] =
1895     "Prefer sending Sharing message via FCM WebPush authenticated using VAPID.";
1896
1897 const char kSharingQRCodeGeneratorName[] = "Enable sharing page via QR Code";
1898 const char kSharingQRCodeGeneratorDescription[] =
1899     "Enables right-click UI to share the page's URL via a generated QR Code.";
1900
1901 const char kSharingSendViaSyncName[] =
1902     "Enable sending Sharing message via Sync";
1903 const char kSharingSendViaSyncDescription[] =
1904     "Enables sending Sharing message via commiting to Chrome Sync's "
1905     "SHARING_MESSAGE data type";
1906
1907 const char kSharingDeviceExpirationName[] =
1908     "Configures sharing device expiration";
1909 const char kSharingDeviceExpirationDescription[] =
1910     "Configures how long after a device was last active that it is eligible "
1911     "for use in sharing features.";
1912
1913 const char kShelfHotseatName[] = "Enable a modular design for the shelf.";
1914 const char kShelfHotseatDescription[] =
1915     "Shows a modular design for the shelf where the apps are shown separately "
1916     "in a 'hotseat' interface when in tablet mode, and where various pieces "
1917     "are separate and behave independently. Also reduces the size of the"
1918     "shelf and its app when in laptop mode.";
1919
1920 const char kShelfHoverPreviewsName[] =
1921     "Show previews of running apps when hovering over the shelf.";
1922 const char kShelfHoverPreviewsDescription[] =
1923     "Shows previews of the open windows for a given running app when hovering "
1924     "over the shelf.";
1925
1926 const char kShowAndroidFilesInFilesAppName[] =
1927     "Show Android files in Files app";
1928 const char kShowAndroidFilesInFilesAppDescription[] =
1929     "Show Android files in Files app if Android is enabled on the device.";
1930
1931 const char kShowAutofillSignaturesName[] = "Show autofill signatures.";
1932 const char kShowAutofillSignaturesDescription[] =
1933     "Annotates web forms with Autofill signatures as HTML attributes. Also "
1934     "marks password fields suitable for password generation.";
1935
1936 const char kShowAutofillTypePredictionsName[] = "Show Autofill predictions";
1937 const char kShowAutofillTypePredictionsDescription[] =
1938     "Annotates web forms with Autofill field type predictions as placeholder "
1939     "text.";
1940
1941 const char kShowOverdrawFeedbackName[] = "Show overdraw feedback";
1942 const char kShowOverdrawFeedbackDescription[] =
1943     "Visualize overdraw by color-coding elements based on if they have other "
1944     "elements drawn underneath.";
1945
1946 const char kSkiaRendererName[] = "Skia API for compositing";
1947 const char kSkiaRendererDescription[] =
1948     "If enabled, the display compositor will use Skia as the graphics API "
1949     "instead of OpenGL ES.";
1950
1951 const char kHistoryManipulationIntervention[] =
1952     "History Manipulation Intervention";
1953 const char kHistoryManipulationInterventionDescription[] =
1954     "If a page does a client side redirect or adds to the history without a "
1955     "user gesture, then skip it on back/forward UI.";
1956
1957 const char kSilentDebuggerExtensionApiName[] = "Silent Debugging";
1958 const char kSilentDebuggerExtensionApiDescription[] =
1959     "Do not show the infobar when an extension attaches to a page via "
1960     "chrome.debugger API. This is required to debug extension background "
1961     "pages.";
1962
1963 const char kIsolateOriginsName[] = "Isolate additional origins";
1964 const char kIsolateOriginsDescription[] =
1965     "Requires dedicated processes for an additional set of origins, "
1966     "specified as a comma-separated list.";
1967
1968 const char kSiteIsolationOptOutName[] = "Disable site isolation";
1969 const char kSiteIsolationOptOutDescription[] =
1970     "Disables site isolation "
1971     "(SitePerProcess, IsolateOrigins, etc). Intended for diagnosing bugs that "
1972     "may be due to out-of-process iframes. Opt-out has no effect if site "
1973     "isolation is force-enabled using a command line switch or using an "
1974     "enterprise policy. "
1975     "Caution: this disables important mitigations for the Spectre CPU "
1976     "vulnerability affecting most computers.";
1977 const char kSiteIsolationOptOutChoiceDefault[] = "Default";
1978 const char kSiteIsolationOptOutChoiceOptOut[] = "Disabled (not recommended)";
1979
1980 const char kSlowDCTimerInterruptsWinName[] = "Slow maximum DC interrupt timer";
1981 const char kSlowDCTimerInterruptsWinDescription[] =
1982     "Slow the maximum interrupt timer on battery power to 8 ms, instead of the "
1983     "default 4 ms.";
1984
1985 const char kSmoothScrollingName[] = "Smooth Scrolling";
1986 const char kSmoothScrollingDescription[] =
1987     "Animate smoothly when scrolling page content.";
1988
1989 const char kSmsReceiverCrossDeviceName[] = "SMS Receiver Cross Device";
1990 const char kSmsReceiverCrossDeviceDescription[] =
1991     "Enable the SMS Receiver API to work across devices";
1992
1993 const char kSpeculativeServiceWorkerStartOnQueryInputName[] =
1994     "Enable speculative start of a service worker when a search is predicted.";
1995 const char kSpeculativeServiceWorkerStartOnQueryInputDescription[] =
1996     "If enabled, when the user enters text in the omnibox that looks like a "
1997     "a query, any service worker associated with the search engine the query "
1998     "will be sent to is started early.";
1999
2000 const char kSplitPartiallyOccludedQuadsName[] =
2001     "Split partially occluded quads";
2002 const char kSplitPartiallyOccludedQuadsDescription[] =
2003     "Split partially occluded quads before drawing, discarding the occluded "
2004     "regions, in order to reduce compositing overdraw.";
2005
2006 const char kStrictOriginIsolationName[] = "Strict-Origin-Isolation";
2007 const char kStrictOriginIsolationDescription[] =
2008     "Experimental security mode that strengthens the site isolation policy. "
2009     "Controls whether site isolation should use origins instead of scheme and "
2010     "eTLD+1.";
2011
2012 const char kStopInBackgroundName[] = "Stop in background";
2013 const char kStopInBackgroundDescription[] =
2014     "Stop scheduler task queues, in the background, "
2015     " after a grace period.";
2016
2017 const char kStopNonTimersInBackgroundName[] =
2018     "Stop non-timer task queues background";
2019 const char kStopNonTimersInBackgroundDescription[] =
2020     "Stop non-timer task queues, in the background, "
2021     "after a grace period.";
2022
2023 const char kStorageAccessAPIName[] = "Storage Access API";
2024 const char kStorageAccessAPIDescription[] =
2025     "Enables the Storage Access API, allowing websites to request storage "
2026     "access when it would otherwise be restricted.";
2027
2028 const char kStoragePressureEventName[] = "Enable storage pressure Event";
2029 const char kStoragePressureEventDescription[] =
2030     "If enabled, Chrome will dispatch a DOM event, informing applications "
2031     "about storage pressure (low disk space)";
2032
2033 const char kStoragePressureUIName[] = "Enable storage pressure UI";
2034 const char kStoragePressureUIDescription[] =
2035     "If enabled, Chrome will trigger system notifications to warn about "
2036     "storage pressure.";
2037
2038 const char kSuggestedContentToggleName[] = "Enable Suggested Content toggle";
2039 const char kSuggestedContentToggleDescription[] =
2040     "Enables a settings UI toggle that controls Suggested Content status. Also"
2041     "enables a corresponding notice in the Launcher about Suggested Content.";
2042
2043 const char kSuggestionsWithSubStringMatchName[] =
2044     "Substring matching for Autofill suggestions";
2045 const char kSuggestionsWithSubStringMatchDescription[] =
2046     "Match Autofill suggestions based on substrings (token prefixes) rather "
2047     "than just prefixes.";
2048
2049 const char kSyncDeviceInfoInTransportModeName[] =
2050     "Enable syncing DeviceInfo in transport-only sync mode.";
2051 const char kSyncDeviceInfoInTransportModeDescription[] =
2052     "When enabled, allows syncing DeviceInfo datatype for users who are "
2053     "signed-in but not necessary sync-ing.";
2054
2055 const char kSyncErrorInfoBarName[] = "Enable SyncErrorInfoBar.";
2056 const char kSyncErrorInfoBarDescription[] =
2057     "When enabled, shows an infobar for sync errors that can be resolved "
2058     "by user interaction in the settings page.";
2059
2060 const char kSyncSandboxName[] = "Use Chrome Sync sandbox";
2061 const char kSyncSandboxDescription[] =
2062     "Connects to the testing server for Chrome Sync.";
2063
2064 const char kSystemKeyboardLockName[] = "Experimental system keyboard lock";
2065 const char kSystemKeyboardLockDescription[] =
2066     "Enables websites to use the keyboard.lock() API to intercept system "
2067     "keyboard shortcuts and have the events routed directly to the website "
2068     "when in fullscreen mode.";
2069
2070 const char kSystemTrayMicGainName[] = "Modify mic gain in the system tray";
2071 const char kSystemTrayMicGainDescription[] =
2072     "Enables mic gain settings in the system tray audio "
2073     "settings.";
2074
2075 const char kTabEngagementReportingName[] = "Tab Engagement Metrics";
2076 const char kTabEngagementReportingDescription[] =
2077     "Tracks tab engagement and lifetime metrics.";
2078
2079 const char kTabGridLayoutAndroidName[] = "Tab Grid Layout";
2080 const char kTabGridLayoutAndroidDescription[] =
2081     "Allows users to see their tabs in a grid layout in the tab switcher on "
2082     "phones.";
2083
2084 const char kTabGroupsAndroidName[] = "Tab Groups";
2085 const char kTabGroupsAndroidDescription[] =
2086     "Allows users to create groups to better organize their tabs on phones.";
2087
2088 const char kTabGroupsContinuationAndroidName[] = "Tab Groups Continuation";
2089 const char kTabGroupsContinuationAndroidDescription[] =
2090     "Allows users to access continuation features in Tab Group on phones.";
2091
2092 const char kTabGroupsUiImprovementsAndroidName[] = "Tab Groups UI Improvements";
2093 const char kTabGroupsUiImprovementsAndroidDescription[] =
2094     "Allows users to access new features in Tab Group UI on phones.";
2095
2096 const char kTabToGTSAnimationAndroidName[] = "Enable Tab-to-GTS Animation";
2097 const char kTabToGTSAnimationAndroidDescription[] =
2098     "Allows users to see an animation when entering or leaving the "
2099     "Grid Tab Switcher on phones.";
2100
2101 const char kTabGroupsName[] = "Tab Groups";
2102 const char kTabGroupsDescription[] =
2103     "Allows users to organize tabs into visually distinct groups, e.g. to "
2104     "separate tabs associated with different tasks.";
2105
2106 const char kTabGroupsCollapseName[] = "Tab Groups Collapse";
2107 const char kTabGroupsCollapseDescription[] =
2108     "Allows a tab group to be collapsible and expandable, if tab groups are "
2109     "enabled.";
2110
2111 const char kTabGroupsFeedbackName[] = "Tab Groups Feedback";
2112 const char kTabGroupsFeedbackDescription[] =
2113     "Enables the feedback app to appear in the tab group editor bubble, if tab "
2114     "groups are enabled.";
2115
2116 const char kTabHoverCardsName[] = "Tab Hover Cards";
2117 const char kTabHoverCardsDescription[] =
2118     "Enables a popup containing tab information to be visible when hovering "
2119     "over a tab. This will replace tooltips for tabs.";
2120
2121 const char kTabHoverCardImagesName[] = "Tab Hover Card Images";
2122 const char kTabHoverCardImagesDescription[] =
2123     "Shows a preview image in tab hover cards, if tab hover cards are enabled.";
2124
2125 const char kTabOutlinesInLowContrastThemesName[] =
2126     "Tab Outlines in Low Contrast Themes";
2127 const char kTabOutlinesInLowContrastThemesDescription[] =
2128     "Expands the range of situations in which tab outline strokes are "
2129     "displayed, improving accessiblity in dark and incognito mode.";
2130
2131 const char kTintGlCompositedContentName[] = "Tint GL-composited content";
2132 const char kTintGlCompositedContentDescription[] =
2133     "Tint contents composited using GL with a shade of red to help debug and "
2134     "study overlay support.";
2135
2136 const char kTLS13HardeningForLocalAnchorsName[] =
2137     "TLS 1.3 hardening for local anchors";
2138 const char kTLS13HardeningForLocalAnchorsDescription[] =
2139     "This option enables the TLS 1.3 downgrade hardening mechanism for "
2140     "connections authenticated by local trust anchors. This improves security "
2141     "for connections to TLS-1.3-capable servers while remaining compatible "
2142     "with older servers. Firewalls and proxies that do not function when this "
2143     "is enabled do not implement TLS 1.2 correctly or securely and must be "
2144     "updated.";
2145
2146 const char kTopChromeTouchUiName[] = "Touch UI Layout";
2147 const char kTopChromeTouchUiDescription[] =
2148     "Enables touch UI layout in the browser's top chrome.";
2149
2150 const char kThreadedScrollingName[] = "Threaded scrolling";
2151 const char kThreadedScrollingDescription[] =
2152     "Threaded handling of scroll-related input events. Disabling this will "
2153     "force all such scroll events to be handled on the main thread. Note that "
2154     "this can dramatically hurt scrolling performance of most websites and is "
2155     "intended for testing purposes only.";
2156
2157 const char kTouchAdjustmentName[] = "Touch adjustment";
2158 const char kTouchAdjustmentDescription[] =
2159     "Refine the position of a touch gesture in order to compensate for touches "
2160     "having poor resolution compared to a mouse.";
2161
2162 const char kTouchDragDropName[] = "Touch initiated drag and drop";
2163 const char kTouchDragDropDescription[] =
2164     "Touch drag and drop can be initiated through long press on a draggable "
2165     "element.";
2166
2167 const char kTouchEventsName[] = "Touch Events API";
2168 const char kTouchEventsDescription[] =
2169     "Force Touch Events API feature detection to always be enabled or "
2170     "disabled, or to be enabled when a touchscreen is detected on startup "
2171     "(Automatic).";
2172
2173 const char kTouchSelectionStrategyName[] = "Touch text selection strategy";
2174 const char kTouchSelectionStrategyDescription[] =
2175     "Controls how text selection granularity changes when touch text selection "
2176     "handles are dragged. Non-default behavior is experimental.";
2177 const char kTouchSelectionStrategyCharacter[] = "Character";
2178 const char kTouchSelectionStrategyDirection[] = "Direction";
2179
2180 const char kTouchpadOverscrollHistoryNavigationName[] =
2181     "Overscroll history navigation on Touchpad";
2182 const char kTouchpadOverscrollHistoryNavigationDescription[] =
2183     "Allows swipe left/right from touchpad change browser navigation.";
2184
2185 const char kTraceUploadUrlName[] = "Trace label for navigation tracing";
2186 const char kTraceUploadUrlDescription[] =
2187     "This is to be used in conjunction with the enable-navigation-tracing "
2188     "flag. Please select the label that best describes the recorded traces. "
2189     "This will choose the destination the traces are uploaded to. If you are "
2190     "not sure, select other. If left empty, no traces will be uploaded.";
2191 const char kTraceUploadUrlChoiceOther[] = "Other";
2192 const char kTraceUploadUrlChoiceEmloading[] = "emloading";
2193 const char kTraceUploadUrlChoiceQa[] = "QA";
2194 const char kTraceUploadUrlChoiceTesting[] = "Testing";
2195
2196 const char kTranslateForceTriggerOnEnglishName[] =
2197     "Select which language model to use to trigger translate on English "
2198     "content";
2199 const char kTranslateForceTriggerOnEnglishDescription[] =
2200     "Force the Translate Triggering on English pages experiment to be enabled "
2201     "with the selected language model active.";
2202
2203 const char kTranslateBubbleUIName[] =
2204     "Select which UI to use for translate bubble";
2205 const char kTranslateBubbleUIDescription[] =
2206     "Three bubble options to choose. Existing UI is selected by default";
2207
2208 const char kTreatInsecureOriginAsSecureName[] =
2209     "Insecure origins treated as secure";
2210 const char kTreatInsecureOriginAsSecureDescription[] =
2211     "Treat given (insecure) origins as secure origins. Multiple origins can be "
2212     "supplied as a comma-separated list. Origins must have their protocol "
2213     "specified e.g. \"http://example.com\". For the definition of secure "
2214     "contexts, see https://w3c.github.io/webappsec-secure-contexts/";
2215
2216 const char kTreatUnsafeDownloadsAsActiveName[] =
2217     "Treat risky downloads over insecure connections as active mixed content";
2218 const char kTreatUnsafeDownloadsAsActiveDescription[] =
2219     "Disallows downloads of unsafe files (files that can potentially execute "
2220     "code), where the final download origin or any origin in the redirect "
2221     "chain is insecure if the originating page is secure.";
2222
2223 const char kTrustTokensName[] = "Enable Trust Tokens";
2224 const char kTrustTokensDescription[] =
2225     "Enables the prototype Trust Token API "
2226     "(https://github.com/wicg/trust-token-api).";
2227
2228 const char kTrySupportedChannelLayoutsName[] =
2229     "Causes audio output streams to check if channel layouts other than the "
2230     "default hardware layout are available.";
2231 const char kTrySupportedChannelLayoutsDescription[] =
2232     "Causes audio output streams to check if channel layouts other than the "
2233     "default hardware layout are available. Turning this on will allow the OS "
2234     "to do stereo to surround expansion if supported. May expose third party "
2235     "driver bugs, use with caution.";
2236
2237 const char kTurnOffStreamingMediaCachingName[] =
2238     "Turn off caching of streaming media to disk.";
2239 const char kTurnOffStreamingMediaCachingDescription[] =
2240     "Reduces disk activity during media playback, which can result in "
2241     "power savings.";
2242
2243 const char kUnsafeWebGPUName[] = "Unsafe WebGPU";
2244 const char kUnsafeWebGPUDescription[] =
2245     "Enables access to the experimental WebGPU API. Warning: As GPU sandboxing "
2246     "isn't implemented yet for the WebGPU API, it is possible to read GPU data "
2247     "for other processes.";
2248
2249 const char kUiPartialSwapName[] = "Partial swap";
2250 const char kUiPartialSwapDescription[] = "Sets partial swap behavior.";
2251
2252 const char kUsernameFirstFlowName[] = "Username first flow";
2253 const char kUsernameFirstFlowDescription[] =
2254     "Support of username saving and filling on username first flow i.e. login "
2255     "flows where a user has to type username first on one page and then "
2256     "password on another page";
2257
2258 const char kUsePreferredIntervalForVideoName[] =
2259     "Use preferred interval for video";
2260 const char kUsePreferredIntervalForVideoDescription[] =
2261     "When enabled, the composition rate will be changed based on the videos' "
2262     "actual fps.";
2263
2264 const char kUseSearchClickForRightClickName[] =
2265     "Use Search+Click for right click";
2266 const char kUseSearchClickForRightClickDescription[] =
2267     "When enabled search+click will be remapped to right click, allowing "
2268     "webpages and apps to consume alt+click. When disabled the legacy "
2269     "behavior of remapping alt+click to right click will remain unchanged.";
2270
2271 const char kV8VmFutureName[] = "Future V8 VM features";
2272 const char kV8VmFutureDescription[] =
2273     "This enables upcoming and experimental V8 VM features. "
2274     "This flag does not enable experimental JavaScript features.";
2275
2276 const char kWalletServiceUseSandboxName[] =
2277     "Use Google Payments sandbox servers";
2278 const char kWalletServiceUseSandboxDescription[] =
2279     "For developers: use the sandbox service for Google Payments API calls.";
2280
2281 const char kWebBluetoothNewPermissionsBackendName[] =
2282     "Use the new permissions backend for Web Bluetooth";
2283 const char kWebBluetoothNewPermissionsBackendDescription[] =
2284     "Enables the new permissions backend for Web Bluetooth. This will enable "
2285     "persistent storage of device permissions.";
2286
2287 const char kWebBundlesName[] = "Web Bundles";
2288 const char kWebBundlesDescription[] =
2289     "Enables experimental supports for Web Bundles (Bundled HTTP Exchanges) "
2290     "navigation.";
2291
2292 const char kWebOtpBackendName[] = "Web OTP";
2293 const char kWebOtpBackendDescription[] =
2294     "Enables Web OTP API that uses the specified backend.";
2295 const char kWebOtpBackendSmsVerification[] =
2296     "SMS Verification API (requires app-hash)";
2297 const char kWebOtpBackendUserConsent[] = "User Consent API";
2298
2299 const char kWebglDraftExtensionsName[] = "WebGL Draft Extensions";
2300 const char kWebglDraftExtensionsDescription[] =
2301     "Enabling this option allows web applications to access the WebGL "
2302     "Extensions that are still in draft status.";
2303
2304 const char kWebPaymentsExperimentalFeaturesName[] =
2305     "Experimental Web Payments API features";
2306 const char kWebPaymentsExperimentalFeaturesDescription[] =
2307     "Enable experimental Web Payments API features";
2308
2309 const char kWebPaymentsMinimalUIName[] = "Web Payments Minimal UI";
2310 const char kWebPaymentsMinimalUIDescription[] =
2311     "Allow Payment Request API to open a minimal UI to replace the Payment "
2312     "Request UI when appropriate.";
2313
2314 const char kAppStoreBillingDebugName[] =
2315     "Web Payments App Store Billing Debug Mode";
2316 const char kAppStoreBillingDebugDescription[] =
2317     "App-store purchases (e.g., Google Play Store) within a TWA can be "
2318     "requested using the Payment Request API. This flag removes the "
2319     "restriction that the TWA has to be installed from the app-store.";
2320
2321 const char kWebrtcCaptureMultiChannelApmName[] =
2322     "WebRTC multi-channel capture audio processing.";
2323 const char kWebrtcCaptureMultiChannelApmDescription[] =
2324     "Support in WebRTC for processing capture audio in multi channel without "
2325     "downmixing when running APM in the render process.";
2326
2327 const char kWebrtcHideLocalIpsWithMdnsName[] =
2328     "Anonymize local IPs exposed by WebRTC.";
2329 const char kWebrtcHideLocalIpsWithMdnsDecription[] =
2330     "Conceal local IP addresses with mDNS hostnames.";
2331
2332 const char kWebrtcHybridAgcName[] = "WebRTC hybrid Agc2/Agc1.";
2333 const char kWebrtcHybridAgcDescription[] =
2334     "WebRTC Agc2 digital adaptation with Agc1 analog adaptation.";
2335
2336 const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
2337 const char kWebrtcHwDecodingDescription[] =
2338     "Support in WebRTC for decoding video streams using platform hardware.";
2339
2340 const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
2341 const char kWebrtcHwEncodingDescription[] =
2342     "Support in WebRTC for encoding video streams using platform hardware.";
2343
2344 const char kWebrtcNewEncodeCpuLoadEstimatorName[] =
2345     "WebRTC new encode cpu load estimator";
2346 const char kWebrtcNewEncodeCpuLoadEstimatorDescription[] =
2347     "Enable new estimator for the encoder cpu load, for evaluation and "
2348     "testing. Intended to improve accuracy when screen casting.";
2349
2350 const char kWebRtcRemoteEventLogName[] = "WebRTC remote-bound event logging";
2351 const char kWebRtcRemoteEventLogDescription[] =
2352     "Allow collecting WebRTC event logs and uploading them to Crash. "
2353     "Please note that, even if enabled, this will still require "
2354     "a policy to be set, for it to have an effect.";
2355
2356 const char kWebrtcSrtpAesGcmName[] =
2357     "Negotiation with GCM cipher suites for SRTP in WebRTC";
2358 const char kWebrtcSrtpAesGcmDescription[] =
2359     "When enabled, WebRTC will try to negotiate GCM cipher suites for SRTP.";
2360
2361 const char kWebrtcStunOriginName[] = "WebRTC Stun origin header";
2362 const char kWebrtcStunOriginDescription[] =
2363     "When enabled, Stun messages generated by WebRTC will contain the Origin "
2364     "header.";
2365
2366 const char kWebrtcUseMinMaxVEADimensionsName[] =
2367     "WebRTC Min/Max Video Encode Accelerator dimensions";
2368 const char kWebrtcUseMinMaxVEADimensionsDescription[] =
2369     "When enabled, WebRTC will only use the Video Encode Accelerator for "
2370     "video resolutions inside those published as supported.";
2371
2372 const char kWebXrForceRuntimeName[] = "Force WebXr Runtime";
2373 const char kWebXrForceRuntimeDescription[] =
2374     "Force the browser to use a particular runtime, even if it would not "
2375     "usually be enabled or would otherwise not be selected based on the "
2376     "attached hardware.";
2377
2378 const char kWebXrRuntimeChoiceNone[] = "No Runtime";
2379 const char kWebXrRuntimeChoiceOpenXR[] = "OpenXR";
2380 const char kWebXrRuntimeChoiceWindowsMixedReality[] = "Windows Mixed Reality";
2381
2382 const char kWebXrIncubationsName[] = "WebXR Incubations";
2383 const char kWebXrIncubationsDescription[] =
2384     "Enables experimental features for WebXR.";
2385
2386 const char kWebXrMultiGpuName[] = "WebXR Multi GPU Support";
2387 const char kWebXrMultiGpuDescription[] =
2388     "Improves WebXR support for computers with more than one GPU.";
2389
2390 const char kZeroCopyName[] = "Zero-copy rasterizer";
2391 const char kZeroCopyDescription[] =
2392     "Raster threads write directly to GPU memory associated with tiles.";
2393
2394 const char kEnableVulkanName[] = "Vulkan";
2395 const char kEnableVulkanDescription[] = "Use vulkan as the graphics backend.";
2396
2397 // Android ---------------------------------------------------------------------
2398
2399 #if defined(OS_ANDROID)
2400
2401 const char kAndroidAutofillAccessibilityName[] = "Autofill Accessibility";
2402 const char kAndroidAutofillAccessibilityDescription[] =
2403     "Enable accessibility for autofill popup.";
2404
2405 const char kAndroidDefaultBrowserPromoName[] = "Default Browser Promo";
2406 const char kAndroidDefaultBrowserPromoDescription[] =
2407     "Shows a promo dialog to set Chrome as the default browser";
2408
2409 const char kAndroidMultipleDisplayName[] = "Multiple Display";
2410 const char kAndroidMultipleDisplayDescription[] =
2411     "When enabled, tabs can be moved to the secondary display.";
2412
2413 const char kAppNotificationStatusMessagingName[] =
2414     "App notification status messaging";
2415 const char kAppNotificationStatusMessagingDescription[] =
2416     "Enables messaging in site permissions UI informing user when "
2417     "notifications are disabled for the entire app.";
2418
2419 const char kAsyncDnsName[] = "Async DNS resolver";
2420 const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver.";
2421
2422 const char kAutofillAccessoryViewName[] =
2423     "Autofill suggestions as keyboard accessory view";
2424 const char kAutofillAccessoryViewDescription[] =
2425     "Shows Autofill suggestions on top of the keyboard rather than in a "
2426     "dropdown.";
2427
2428 const char kAutofillAssistantDirectActionsName[] =
2429     "Autofill Assistant direct actions";
2430 const char kAutofillAssistantDirectActionsDescription[] =
2431     "When enabled, expose direct actions from the Autofill Assistant.";
2432
2433 const char kAutofillTouchToFillName[] = "Touch To Fill UI for Passwords";
2434 const char kAutofillTouchToFillDescription[] =
2435     "Adds a Touch To Fill sheet to the keyboard accessory which will be shown "
2436     "instead of the keyboard when a password can be filled.";
2437
2438 const char kAutofillUseMobileLabelDisambiguationName[] =
2439     "Autofill Uses Mobile Label Disambiguation";
2440 const char kAutofillUseMobileLabelDisambiguationDescription[] =
2441     "When enabled, Autofill suggestions' labels are displayed using a "
2442     "mobile-friendly format.";
2443
2444 const char kBackgroundTaskComponentUpdateName[] =
2445     "Background Task Component Updates";
2446 const char kBackgroundTaskComponentUpdateDescription[] =
2447     "Schedule component updates with BackgroundTaskScheduler";
2448
2449 const char kCCTIncognitoName[] = "Chrome Custom Tabs Incognito mode";
2450 const char kCCTIncognitoDescription[] =
2451     "Enables incognito mode for Chrome Custom Tabs, on Android.";
2452
2453 const char kCCTTargetTranslateLanguageName[] =
2454     "Chrome Custom Tabs Target Translate Language";
2455 const char kCCTTargetTranslateLanguageDescription[] =
2456     "Enables specify target language the page should be translated to "
2457     "in Chrome Custom Tabs.";
2458
2459 const char kChromeDuetName[] = "Chrome Duet";
2460 const char kChromeDuetDescription[] =
2461     "Enables Chrome Duet, split toolbar Chrome Home, on Android.";
2462
2463 const char kChromeDuetLabelsName[] = "Chrome Duet Labels";
2464 const char kChromeDuetLabelsDescription[] =
2465     "Enables Chrome Duet (split toolbar) labels.";
2466
2467 const char kChromeShareQRCodeName[] = "Chrome Share QRCodes";
2468 const char kChromeShareQRCodeDescription[] =
2469     "Enables UI to generate and scan QR Codes on Android";
2470
2471 const char kChromeShareScreenshotName[] = "Chrome Share Screenshots";
2472 const char kChromeShareScreenshotDescription[] =
2473     "Enables UI to edit and share screenshots";
2474
2475 const char kChromeSharingHubName[] = "Chrome Sharing Hub";
2476 const char kChromeSharingHubDescription[] =
2477     "Enables the Chrome Sharing Hub/custom share sheet.";
2478
2479 const char kChromeSharingHubV15Name[] = "Chrome Sharing Hub V1.5";
2480 const char kChromeSharingHubV15Description[] =
2481     "Enables v1.5 of the Chrome Sharing Hub.";
2482
2483 const char kClearOldBrowsingDataName[] = "Clear older browsing data";
2484 const char kClearOldBrowsingDataDescription[] =
2485     "Enables clearing of browsing data which is older than a given time "
2486     "period.";
2487
2488 const char kCloseTabSuggestionsName[] = "Suggest to close Tabs";
2489 const char kCloseTabSuggestionsDescription[] =
2490     "Suggests to the user to close Tabs that haven't been used beyond a "
2491     "configurable threshold or where duplicates of Tabs exist. "
2492     "The threshold is configurable.";
2493
2494 const char kContentIndexingDownloadHomeName[] =
2495     "Content indexing in download home";
2496 const char kContentIndexingDownloadHomeDescription[] =
2497     "Shows content indexing articles in group cards in download home";
2498
2499 const char kContentIndexingNTPName[] = "Content indexing in NTP";
2500 const char kContentIndexingNTPDescription[] =
2501     "Shows content indexing entry point UI in NTP";
2502
2503 const char kContextMenuCopyImageName[] = "Copy Image";
2504 const char kContextMenuCopyImageDescription[] =
2505     "Enable copying image to system clipboard via context menu.";
2506
2507 const char kContextMenuPerformanceInfoAndRemoteHintFetchingName[] =
2508     "Context menu performance info and remote hint fetching";
2509 const char kContextMenuPerformanceInfoAndRemoteHintFetchingDescription[] =
2510     "Enables showing link performance information in the context menu and "
2511     "allows communicating with Google servers to fetch performance information "
2512     "for the main frame URL.";
2513
2514 const char kContextualSearchDebugName[] = "Contextual Search debug";
2515 const char kContextualSearchDebugDescription[] =
2516     "Enables internal debugging of Contextual Search behavior on the client "
2517     "and server.";
2518
2519 const char kContextualSearchDefinitionsName[] = "Contextual Search definitions";
2520 const char kContextualSearchDefinitionsDescription[] =
2521     "Enables touch-activated contextual definitions of words on a page to be "
2522     "presented in the caption of the Touch to Search Bar.";
2523
2524 const char kContextualSearchLongpressResolveName[] =
2525     "Contextual Search long-press Resolves";
2526 const char kContextualSearchLongpressResolveDescription[] =
2527     "Enables communicating with Google servers when a long-press gesture is "
2528     "recognized under some privacy-limited conditions, including having Touch "
2529     "to Search enabled in preferences. The page context data sent to Google is "
2530     "potentially privacy sensitive!  This disables the tap gesture from "
2531     "triggering Touch to Search unless that experiment arm is enabled.";
2532
2533 const char kContextualSearchMlTapSuppressionName[] =
2534     "Contextual Search ML tap suppression";
2535 const char kContextualSearchMlTapSuppressionDescription[] =
2536     "Enables tap gestures to be suppressed to improve CTR by applying machine "
2537     "learning.  The \"Contextual Search Ranker prediction\" flag must also be "
2538     "enabled!";
2539
2540 const char kContextualSearchRankerQueryName[] =
2541     "Contextual Search Ranker prediction";
2542 const char kContextualSearchRankerQueryDescription[] =
2543     "Enables prediction of tap gestures using Assist-Ranker machine learning.";
2544
2545 const char kContextualSearchSecondTapName[] =
2546     "Contextual Search second tap triggering";
2547 const char kContextualSearchSecondTapDescription[] =
2548     "Enables triggering on a second tap gesture even when Ranker would "
2549     "normally suppress that tap.";
2550
2551 const char kContextualSearchTranslationsName[] =
2552     "Contextual Search translations";
2553 const char kContextualSearchTranslationsDescription[] =
2554     "Enables automatic translations of words on a page to be presented in the "
2555     "caption of the bottom bar.";
2556
2557 const char kDirectActionsName[] = "Direct actions";
2558 const char kDirectActionsDescription[] =
2559     "Enables direct actions (Android Q and more).";
2560
2561 const char kDuetTabStripIntegrationAndroidName[] = "Duet-TabStrip Integration";
2562 const char kDuetTabStripIntegrationAndroidDescription[] =
2563     "Allows users to access integration of Duet and TabStrip.";
2564
2565 const char kAutofillManualFallbackAndroidName[] =
2566     "Enable Autofill manual fallback for Addresses and Payments (Android)";
2567 const char kAutofillManualFallbackAndroidDescription[] =
2568     "If enabled, adds toggle for addresses and payments bottom sheet to the "
2569     "keyboard accessory.";
2570
2571 const char kEnableAutofillRefreshStyleName[] =
2572     "Enable Autofill refresh style (Android)";
2573 const char kEnableAutofillRefreshStyleDescription[] =
2574     "Enable modernized style for Autofill on Android";
2575
2576 const char kEnableAndroidSpellcheckerDescription[] =
2577     "Enables use of the Android spellchecker.";
2578
2579 const char kEnableCommandLineOnNonRootedName[] =
2580     "Enable command line on non-rooted devices";
2581 const char kEnableCommandLineOnNoRootedDescription[] =
2582     "Enable reading command line file on non-rooted devices (DANGEROUS).";
2583
2584 const char kEnableRevampedContextMenuName[] =
2585     "Enable the revamped context menu";
2586 const char kEnableRevampedContextMenuDescription[] =
2587     "Enables a revamped context menu when a link, image, or video is long "
2588     "pressed within Chrome.";
2589
2590 const char kEnableOfflinePreviewsName[] = "Offline Page Previews";
2591 const char kEnableOfflinePreviewsDescription[] =
2592     "Enable showing offline page previews on slow networks.";
2593
2594 const char kEnableUseAaudioDriverName[] = "Use AAudio Driver";
2595 const char kEnableUseAaudioDriverDescription[] =
2596     "Enable the use of AAudio, if supported by the current Android version.";
2597
2598 const char kEphemeralTabUsingBottomSheetName[] =
2599     "An ephemeral Preview Tab using the bottom sheet";
2600 const char kEphemeralTabUsingBottomSheetDescription[] =
2601     "Enable a 'Preview page/image' at a linked page into the bottom sheet. "
2602     "No other flags are needed for this feature.";
2603
2604 const char kExploreSitesName[] = "Explore websites";
2605 const char kExploreSitesDescription[] =
2606     "Enables portal from new tab page to explore websites.";
2607
2608 const char kGamesHubName[] = "Games Hub";
2609 const char kGamesHubDescription[] =
2610     "Enables viewing and usage of the Games Hub.";
2611
2612 const char kHomepageLocationName[] =
2613     "Enable enterprise policy HomepageLocation";
2614 const char kHomepageLocationDescription[] =
2615     "Enable enterprice policy HomepageLocation, a rule of configure the home "
2616     "page URL";
2617
2618 const char kHomepagePromoCardName[] =
2619     "Enable homepage promo card on the New Tab Page";
2620 const char kHomepagePromoCardDescription[] =
2621     "Enable homepage promo card that will be shown to users with partner "
2622     "configured homepage.";
2623
2624 const char kHomepageSettingsUIConversionName[] =
2625     "Enable new homepage setting UI";
2626 const char kHomepageSettingsUIConversionDescription[] =
2627     "Enable new homepage setting UI, which allows user set up customized "
2628     "homepage URL through a radio button group, and add promo box on NTP "
2629     "if homepage is not enabled.";
2630
2631 const char kInstantStartName[] = "Enable instant start";
2632 const char kInstantStartDescription[] =
2633     "Show start surface before native library is loaded.";
2634
2635 const char kIntentBlockExternalFormRedirectsNoGestureName[] =
2636     "Block intents from form submissions without user gesture";
2637 const char kIntentBlockExternalFormRedirectsNoGestureDescription[] =
2638     "Require a user gesture that triggered a form submission in order to "
2639     "allow for redirecting to an external intent.";
2640
2641 const char kInterestFeedNotificationsName[] = "Interest Feed Notifications";
2642 const char kInterestFeedNotificationsDescription[] =
2643     "Show notifications for some suggested content from the interest feed. "
2644     "#interest-feed-content-suggestions should also be enabled.";
2645
2646 const char kInterestFeedContentSuggestionsDescription[] =
2647     "Use the interest feed to render content suggestions. Currently "
2648     "content "
2649     "suggestions are shown on the New Tab Page.";
2650 const char kInterestFeedContentSuggestionsName[] =
2651     "Interest Feed Content Suggestions";
2652
2653 const char kInterestFeedV2Name[] = "Interest Feed v2";
2654 const char kInterestFeedV2Description[] =
2655     "Show content suggestions on the New Tab Page and Start Surface using the "
2656     "new Feed Component.";
2657
2658 const char kInterestFeedFeedbackDescription[] =
2659     "Allow the user to provide feedback from a feed card.";
2660 const char kInterestFeedFeedbackName[] = "Interest Feed Feedback";
2661
2662 const char kOfflineIndicatorAlwaysHttpProbeName[] = "Always http probe";
2663 const char kOfflineIndicatorAlwaysHttpProbeDescription[] =
2664     "Always do http probe to detect network connectivity for offline indicator "
2665     "as opposed to just taking the connection state from the system."
2666     "Used for testing.";
2667
2668 const char kOfflineIndicatorChoiceName[] = "Offline indicator choices";
2669 const char kOfflineIndicatorChoiceDescription[] =
2670     "Show an offline indicator while offline.";
2671
2672 const char kOfflineIndicatorV2Name[] = "Offline indicator V2";
2673 const char kOfflineIndicatorV2Description[] =
2674     "Show a persistent offline indicator when offline.";
2675
2676 const char kOfflinePagesCtName[] = "Enable Offline Pages CT features.";
2677 const char kOfflinePagesCtDescription[] = "Enable Offline Pages CT features.";
2678
2679 const char kOfflinePagesCtV2Name[] = "Enable Offline Pages CT V2 features.";
2680 const char kOfflinePagesCtV2Description[] =
2681     "V2 features include attributing pages to the app that initiated the "
2682     "custom tabs, and being able to query for pages by page attribution.";
2683
2684 const char kOfflinePagesCTSuppressNotificationsName[] =
2685     "Disable download complete notification for whitelisted CCT apps.";
2686 const char kOfflinePagesCTSuppressNotificationsDescription[] =
2687     "Disable download complete notification for page downloads originating "
2688     "from a CCT app whitelisted to show their own download complete "
2689     "notification.";
2690
2691 const char kOfflinePagesDescriptiveFailStatusName[] =
2692     "Enables descriptive failed download status text.";
2693 const char kOfflinePagesDescriptiveFailStatusDescription[] =
2694     "Enables failed download status text in notifications and Downloads Home "
2695     "to state the reason the request failed if the failure is actionable.";
2696
2697 const char kOfflinePagesDescriptivePendingStatusName[] =
2698     "Enables descriptive pending download status text.";
2699 const char kOfflinePagesDescriptivePendingStatusDescription[] =
2700     "Enables pending download status text in notifications and Downloads Home "
2701     "to state the reason the request is pending.";
2702
2703 const char kOfflinePagesInDownloadHomeOpenInCctName[] =
2704     "Enables offline pages in the downloads home to be opened in CCT.";
2705 const char kOfflinePagesInDownloadHomeOpenInCctDescription[] =
2706     "When enabled offline pages launched from the Downloads Home will be "
2707     "opened in Chrome Custom Tabs (CCT) instead of regular tabs.";
2708
2709 const char kOfflinePagesLoadSignalCollectingName[] =
2710     "Enables collecting load timing data for offline page snapshots.";
2711 const char kOfflinePagesLoadSignalCollectingDescription[] =
2712     "Enables loading completeness data collection while writing an offline "
2713     "page.  This data is collected in the snapshotted offline page to allow "
2714     "data analysis to improve deciding when to make the offline snapshot.";
2715
2716 const char kOfflinePagesPrefetchingName[] =
2717     "Enables suggested offline pages to be prefetched.";
2718 const char kOfflinePagesPrefetchingDescription[] =
2719     "Enables suggested offline pages to be prefetched, so useful content is "
2720     "available while offline.";
2721
2722 const char kOfflinePagesResourceBasedSnapshotName[] =
2723     "Enables offline page snapshots to be based on percentage of page loaded.";
2724 const char kOfflinePagesResourceBasedSnapshotDescription[] =
2725     "Enables offline page snapshots to use a resource percentage based "
2726     "approach for determining when the page is loaded as opposed to a time "
2727     "based approach";
2728
2729 const char kOfflinePagesRenovationsName[] = "Enables offline page renovations.";
2730 const char kOfflinePagesRenovationsDescription[] =
2731     "Enables offline page renovations which correct issues with dynamic "
2732     "content that occur when offlining pages that use JavaScript.";
2733
2734 const char kOfflinePagesLivePageSharingName[] =
2735     "Enables live page sharing of offline pages";
2736 const char kOfflinePagesLivePageSharingDescription[] =
2737     "Enables to share current loaded page as offline page by saving as MHTML "
2738     "first.";
2739
2740 const char kOfflinePagesShowAlternateDinoPageName[] =
2741     "Enable alternate dino page with more user capabilities.";
2742 const char kOfflinePagesShowAlternateDinoPageDescription[] =
2743     "Enables the dino page to show more buttons and offer existing offline "
2744     "content.";
2745
2746 const char kOffliningRecentPagesName[] =
2747     "Enable offlining of recently visited pages";
2748 const char kOffliningRecentPagesDescription[] =
2749     "Enable storing recently visited pages locally for offline use. Requires "
2750     "Offline Pages to be enabled.";
2751
2752 const char kAndroidPartnerCustomizationPhenotypeName[] =
2753     "Use homepage and bookmarks from partner customization";
2754 const char kAndroidPartnerCustomizationPhenotypeDescription[] =
2755     "This flag loads a new configuration source of the default homepage and "
2756     "bookmarks.";
2757
2758 const char kPageInfoPerformanceHintsName[] = "Page info performance hints";
2759 const char kPageInfoPerformanceHintsDescription[] =
2760     "Show site performance information in the page info menu.";
2761
2762 const char kPageInfoV2Name[] = "Page info version two";
2763 const char kPageInfoV2Description[] =
2764     "Enable the second version of the page info menu.";
2765
2766 const char kPasswordCheckName[] = "Bulk Password Check";
2767 const char kPasswordCheckDescription[] =
2768     "Enables the Bulk Password Check feature for signed-in users.";
2769
2770 const char kPasswordManagerOnboardingAndroidName[] =
2771     "Password manager onboarding experience";
2772 const char kPasswordManagerOnboardingAndroidDescription[] =
2773     "This flag enables showing the password manager onboarding experience.";
2774
2775 const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
2776 const char kPhotoPickerVideoSupportDescription[] =
2777     "Enables video files to be shown in the Photo Picker dialog";
2778
2779 const char kProcessSharingWithDefaultSiteInstancesName[] =
2780     "Process sharing with default site instances";
2781 const char kProcessSharingWithDefaultSiteInstancesDescription[] =
2782     "When site isolation is disabled, this mode changes how sites are lumped "
2783     "in to shared processes. For sites that do not require isolation, this "
2784     "feature groups them into a single 'default' site instance (per browsing "
2785     "instance) instead of creating unique site instances for each one. This "
2786     "enables resource savings by creating fewer processes for sites that do "
2787     "not need isolation.";
2788
2789 const char kProcessSharingWithStrictSiteInstancesName[] =
2790     "Process sharing with strict site instances";
2791 const char kProcessSharingWithStrictSiteInstancesDescription[] =
2792     "When site isolation is disabled, this mode changes how sites are lumped "
2793     "in to a shared process. Process selection is usually controlled with "
2794     "site instances. With strict site isolation, each site on a page gets its "
2795     "own site instance and process. With site isolation disabled and without "
2796     "this mode, all sites that share a process are put into the same site "
2797     "instance. This mode adds a third way: site instances are strictly "
2798     "separated like strict site isolation, but process selection puts multiple "
2799     "site instances in a single process.";
2800
2801 const char kQueryTilesName[] = "Show query tiles";
2802 const char kQueryTilesDescription[] = "Shows query tiles in Chrome";
2803 const char kQueryTilesOmniboxName[] = "Show query tiles in omnibox";
2804 const char kQueryTilesOmniboxDescription[] = "Shows query tiles in omnibox";
2805 const char kQueryTilesSingleTierName[] = "Show only one level of query tiles";
2806 const char kQueryTilesSingleTierDescription[] =
2807     "Show only one level of query tiles";
2808 const char kQueryTilesEnableQueryEditingName[] =
2809     "Query Tiles - Enable query edit mode";
2810 const char kQueryTilesEnableQueryEditingDescription[] =
2811     "When a query tile is tapped, the query text will be shown in the omnibox "
2812     "and user will have a chance to edit the text before submitting";
2813 const char kQueryTilesCountryCode[] = "Country code for getting tiles";
2814 const char kQueryTilesCountryCodeDescription[] =
2815     "When query tiles are enabled, this value determines tiles for which "
2816     "country should be displayed.";
2817 const char kQueryTilesCountryCodeUS[] = "US";
2818 const char kQueryTilesCountryCodeIndia[] = "IN";
2819 const char kQueryTilesCountryCodeBrazil[] = "BR";
2820 const char kQueryTilesCountryCodeNigeria[] = "NG";
2821 const char kQueryTilesCountryCodeIndonesia[] = "ID";
2822 const char kQueryTilesInstantFetchName[] = "Query tile instant fetch";
2823 const char kQueryTilesInstantFetchDescription[] =
2824     "Immediately schedule background task to fetch query tiles";
2825
2826 const char kReaderModeHeuristicsName[] = "Reader Mode triggering";
2827 const char kReaderModeHeuristicsDescription[] =
2828     "Determines what pages the Reader Mode infobar is shown on.";
2829 const char kReaderModeHeuristicsMarkup[] = "With article structured markup";
2830 const char kReaderModeHeuristicsAdaboost[] = "Non-mobile-friendly articles";
2831 const char kReaderModeHeuristicsAllArticles[] = "All articles";
2832 const char kReaderModeHeuristicsAlwaysOff[] = "Never";
2833 const char kReaderModeHeuristicsAlwaysOn[] = "Always";
2834
2835 const char kReaderModeInCCTName[] = "Reader Mode in CCT";
2836 const char kReaderModeInCCTDescription[] =
2837     "Open Reader Mode in Chrome Custom Tabs.";
2838
2839 const char kRecoverFromNeverSaveAndroidName[] =
2840     "UI to recover from never save passwords on Android";
2841 const char kRecoverFromNeverSaveAndroidDescription[] =
2842     "Enables showing UI which allows for easy reverting of the decision to "
2843     "never save passwords on a certain webiste";
2844
2845 const char kReengagementNotificationName[] =
2846     "Enable re-engagement notifications";
2847 const char kReengagementNotificationDescription[] =
2848     "Enables Chrome to use the in-product help system to decide when "
2849     "to show re-engagement notifications.";
2850
2851 const char kRelatedSearchesName[] =
2852     "Enables an experiment for Related Searches on Android";
2853 const char kRelatedSearchesDescription[] =
2854     "Enables displaying related searches in a UI surface for experimentation "
2855     "purposes.  This may have privacy implications so do not enable unless "
2856     "you have no privacy worries about sending page content and URLs to "
2857     "Google!";
2858
2859 const char kReportFeedUserActionsName[] =
2860     "Enable the report of click actions on cards in Chrome's Feed on Android.";
2861 const char kReportFeedUserActionsDescription[] =
2862     "Enable the report of click actions on cards in Chrome's Feed on Android."
2863     " Also enable the feed header menu to manage the feed.";
2864
2865 const char kSafeBrowsingUseLocalBlacklistsV2Name[] =
2866     "Use local Safe Browsing blacklists";
2867 const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
2868     "If enabled, maintain a copy of Safe Browsing blacklists in the browser "
2869     "process to check the Safe Browsing reputation of URLs without calling "
2870     "into GmsCore for every URL.";
2871
2872 const char kSetMarketUrlForTestingName[] = "Set market URL for testing";
2873 const char kSetMarketUrlForTestingDescription[] =
2874     "When enabled, sets the market URL for use in testing the update menu "
2875     "item.";
2876
2877 const char kShareButtonInTopToolbarName[] = "Share Button In Top Toolbar";
2878 const char kShareButtonInTopToolbarDescription[] =
2879     "Enables UI to initiate sharing from the top toolbar";
2880
2881 const char kSiteIsolationForPasswordSitesName[] =
2882     "Site Isolation For Password Sites";
2883 const char kSiteIsolationForPasswordSitesDescription[] =
2884     "Security mode that enables site isolation for sites based on "
2885     "password-oriented heuristics, such as a user typing in a password.";
2886
2887 const char kStartSurfaceAndroidName[] = "Start Surface";
2888 const char kStartSurfaceAndroidDescription[] =
2889     "Enable showing the start surface when launching Chrome via the "
2890     "launcher.";
2891
2892 const char kStrictSiteIsolationName[] = "Strict site isolation";
2893 const char kStrictSiteIsolationDescription[] =
2894     "Security mode that enables site isolation for all sites (SitePerProcess). "
2895     "In this mode, each renderer process will contain pages from at most one "
2896     "site, using out-of-process iframes when needed. "
2897     "Check chrome://process-internals to see the current isolation mode. "
2898     "Setting this flag to 'Enabled' turns on site isolation regardless of the "
2899     "default. Here, 'Disabled' is a legacy value that actually means "
2900     "'Default,' in which case site isolation may be already enabled based on "
2901     "platform, enterprise policy, or field trial. See also "
2902     "#site-isolation-trial-opt-out for how to disable site isolation for "
2903     "testing.";
2904
2905 const char kUpdateMenuBadgeName[] = "Force show update menu badge";
2906 const char kUpdateMenuBadgeDescription[] =
2907     "When enabled, a badge will be shown on the app menu button if the update "
2908     "type is Update Available or Unsupported OS Version.";
2909
2910 const char kUpdateMenuItemCustomSummaryDescription[] =
2911     "When this flag and the force show update menu item flag are enabled, a "
2912     "custom summary string will be displayed below the update menu item.";
2913 const char kUpdateMenuItemCustomSummaryName[] =
2914     "Update menu item custom summary";
2915
2916 const char kUpdateMenuTypeName[] =
2917     "Forces the update menu type to a specific type";
2918 const char kUpdateMenuTypeDescription[] =
2919     "When set, forces the update type to be a specific one, which impacts "
2920     "the app menu badge and menu item for updates. For Inline Update, the "
2921     "update available flag is implied. The 'Inline Update: Success' selection "
2922     "goes through the whole inline update flow to the end with a successful "
2923     "outcome. The other 'Inline Update' options go through the same flow, but "
2924     "stop at various stages, see their error type for details.";
2925 const char kUpdateMenuTypeNone[] = "None";
2926 const char kUpdateMenuTypeUpdateAvailable[] = "Update Available";
2927 const char kUpdateMenuTypeUnsupportedOSVersion[] = "Unsupported OS Version";
2928 const char kUpdateMenuTypeInlineUpdateSuccess[] = "Inline Update: Success";
2929 const char kUpdateMenuTypeInlineUpdateDialogCanceled[] =
2930     "Inline Update Error: Dialog Canceled";
2931 const char kUpdateMenuTypeInlineUpdateDialogFailed[] =
2932     "Inline Update Error: Dialog Failed";
2933 const char kUpdateMenuTypeInlineUpdateDownloadFailed[] =
2934     "Inline Update Error: Download Failed";
2935 const char kUpdateMenuTypeInlineUpdateDownloadCanceled[] =
2936     "Inline Update Error: Download Canceled";
2937 const char kUpdateMenuTypeInlineUpdateInstallFailed[] =
2938     "Inline Update Error: Install Failed";
2939
2940 const char kUpdateNotificationSchedulingIntegrationName[] =
2941     "Enable update notification using notification scheduling system";
2942 const char kUpdateNotificationSchedulingIntegrationDescription[] =
2943     "if enable update notification will hook up to notification scheduling "
2944     "system in native side";
2945
2946 const char kPrefetchNotificationSchedulingIntegrationName[] =
2947     "Enable prefetch notification using notification scheduling system";
2948 const char kPrefetchNotificationSchedulingIntegrationDescription[] =
2949     "if enable prefetch notification service and background task will hook up "
2950     "to notification scheduling system in native side";
2951
2952 const char kUpdateNotificationServiceImmediateShowOptionName[] =
2953     "Update notification service debug options";
2954 const char kUpdateNotificationServiceImmediateShowOptionDescription[] =
2955     "Show update notification right immediately";
2956
2957 const char kUsageStatsDescription[] =
2958     "When set, enables sharing of per-domain usage stats with the Digital "
2959     "Wellbeing app on Android, and allows Digital Wellbeing to suspend access "
2960     "to websites in order to enforce user-defined time limits.";
2961 const char kUsageStatsName[] = "Share Usage Stats with Digital Wellbeing";
2962
2963 const char kInlineUpdateFlowName[] = "Enable Google Play inline update flow";
2964 const char kInlineUpdateFlowDescription[] =
2965     "When this flag is set, instead of taking the user to the Google Play "
2966     "Store when an update is available, the user is presented with an inline "
2967     "flow where they do not have to leave Chrome until the update is ready "
2968     "to install.";
2969
2970 const char kAndroidDarkSearchName[] = "Show darkened search pages on Android";
2971 const char kAndroidDarkSearchDescription[] =
2972     "If enabled, users will see a darkened search page if Chrome is in "
2973     "nightmode as well.";
2974
2975 const char kAndroidNightModeTabReparentingName[] =
2976     "Android Chrome UI dark mode tab reparenting";
2977 const char kAndroidNightModeTabReparentingDescription[] =
2978     "If enabled, when the user changes themes the current tabs are reparented "
2979     "instead of reloaded.";
2980 // Non-Android -----------------------------------------------------------------
2981
2982 #else  // !defined(OS_ANDROID)
2983
2984 const char kEnableAccessibilityLiveCaptionsName[] = "Live Captions";
2985 const char kEnableAccessibilityLiveCaptionsDescription[] =
2986     "Enables the live captions feature which generates captions for "
2987     "media playing in Chrome. Turn the feature on in "
2988     "chrome://settings/accessibility.";
2989
2990 const char kCastMediaRouteProviderName[] = "Cast Media Route Provider";
2991 const char kCastMediaRouteProviderDescription[] =
2992     "Enables the native Cast Media Route Provider implementation to be used "
2993     "instead of the implementation in the Media Router component extension.";
2994
2995 const char kNtpConfirmSuggestionRemovalsName[] =
2996     "Confirm removing \"realbox\" suggestions on New Tab page";
2997 const char kNtpConfirmSuggestionRemovalsDescription[] =
2998     "Show a confirmation dialog when removing suggestions from the \"realbox\" "
2999     "on the New Tab page. Requires #ntp-realbox to be enabled.";
3000
3001 const char kNtpDismissPromosName[] = "Dismiss promos on the New Tab Page";
3002 const char kNtpDismissPromosDescription[] =
3003     "Enables a UI to persistently dismiss [non-emergency] promos on the "
3004     "bottom/middle of the New Tab Page";
3005
3006 const char kNtpIframeOneGoogleBarName[] = "Load OneGoogleBar in an iframe";
3007 const char kNtpIframeOneGoogleBarDescription[] =
3008     "Enables loading the OneGoogleBar in an iframe. Otherwise, the "
3009     "OneGoogleBar is loaded inline on chrome://new-tab-page.";
3010
3011 const char kNtpOneGoogleBarModalOverlaysName[] =
3012     "When OneGoogleBar is loaded in an iframe, overlays are modal";
3013 const char kNtpOneGoogleBarModalOverlaysDescription[] =
3014     "Enables overlays being modal, when the OneGoogleBar is loaded as iframe."
3015     "Otherwise, a clip-path definition is used to clip away parts of the"
3016     "OneGoogleBar that do not have visible elements.";
3017
3018 const char kNtpRealboxName[] = "Real search box in New Tab Page";
3019 const char kNtpRealboxDescription[] =
3020     "Enables a search box in the middle of the NTP that will accept input "
3021     "directly (i.e. not be a \"fake\" box). Search results will show below the "
3022     "non-fake input (\"realbox\").";
3023
3024 const char kNtpRealboxMatchOmniboxThemeName[] =
3025     "Make the New Tab page real search box match the omnibox's theme colors";
3026 const char kNtpRealboxMatchOmniboxThemeDescription[] =
3027     "Themes the real search box in the middle of the NTP to match the omnibox. "
3028     "Only has an an effect if #ntp-realbox is enabled.";
3029
3030 const char kNtpWebUIName[] =
3031     "Use the WebUI new tab page when opening a new tab";
3032 const char kNtpWebUIDescription[] =
3033     "The WebUI new tab page is a replacement for the local NTP.";
3034
3035 const char kEnableReaderModeName[] = "Enable Reader Mode";
3036 const char kEnableReaderModeDescription[] =
3037     "Allows viewing of simplified web pages by selecting 'Customize and "
3038     "control Chrome'>'Distill page'";
3039
3040 const char kHappinessTrackingSurveysForDesktopName[] =
3041     "Happiness Tracking Surveys";
3042 const char kHappinessTrackingSurveysForDesktopDescription[] =
3043     "Enable showing Happiness Tracking Surveys to users on Desktop";
3044
3045 const char kHappinessTrackingSurveysForDesktopDemoName[] =
3046     "Happiness Tracking Surveys Demo";
3047 const char kHappinessTrackingSurveysForDesktopDemoDescription[] =
3048     "Enable showing Happiness Tracking Surveys Demo to users on Desktop";
3049
3050 const char kHappinessTrackingSurveysForDesktopSettingsName[] =
3051     "Happiness Tracking Surveys for Settings";
3052 const char kHappinessTrackingSurveysForDesktopSettingsDescription[] =
3053     "Enable showing Happiness Tracking Surveys for Settings to users on "
3054     "Desktop";
3055
3056 const char kHappinessTrackingSurveysForDesktopSettingsPrivacyName[] =
3057     "Happiness Tracking Surveys for Privacy Settings";
3058 const char kHappinessTrackingSurveysForDesktopSettingsPrivacyDescription[] =
3059     "Enable showing Happiness Tracking Surveys for Privacy Settings to users "
3060     "on Desktop";
3061
3062 const char kHappinessTrackingSurveysForDesktopMigrationName[] =
3063     "Happiness Tracking Surveys migration";
3064 const char kHappinessTrackingSurveysForDesktopMigrationDescription[] =
3065     "Enable the latest version of Happiness Tracking Surveys.";
3066
3067 const char kKernelnextVMsName[] = "Enable VMs on experimental kernels.";
3068 const char kKernelnextVMsDescription[] =
3069     "Enables VM support on devices running experimental kernel versions.";
3070
3071 const char kOmniboxDriveSuggestionsName[] =
3072     "Omnibox Google Drive Document suggestions";
3073 const char kOmniboxDriveSuggestionsDescriptions[] =
3074     "Display suggestions for Google Drive documents in the omnibox when Google "
3075     "is the default search engine.";
3076
3077 const char kOmniboxExperimentalKeywordModeName[] =
3078     "Omnibox Experimental Keyword Mode";
3079 const char kOmniboxExperimentalKeywordModeDescription[] =
3080     "Enables various experimental features related to keyword mode, its "
3081     "suggestions and layout.";
3082
3083 const char kOmniboxLooseMaxLimitOnDedicatedRowsName[] =
3084     "Omnibox Loose Max Limit on Dedicated Rows";
3085 const char kOmniboxLooseMaxLimitOnDedicatedRowsDescription[] =
3086     "Enables not counting submatch suggestions towards total suggestion "
3087     "count.";
3088
3089 const char kOmniboxPedalSuggestionsName[] = "Omnibox Pedal suggestions";
3090 const char kOmniboxPedalSuggestionsDescription[] =
3091     "Enable omnibox Pedal suggestions to accelerate actions within Chrome by "
3092     "detecting user intent and offering direct access to the end goal.";
3093
3094 const char kOmniboxSuggestionButtonRowName[] = "Omnibox suggestion button row";
3095 const char kOmniboxSuggestionButtonRowDescription[] =
3096     "Enable a button row on omnibox suggestions to present actionable items "
3097     "such as keyword search, tab-switch buttons, and Pedals.";
3098
3099 const char kOmniboxReverseAnswersName[] = "Omnibox reverse answers";
3100 const char kOmniboxReverseAnswersDescription[] =
3101     "Display answers with rows reversed (swapped); except definitions.";
3102
3103 const char kOmniboxShortBookmarkSuggestionsName[] =
3104     "Omnibox short bookmark suggestions";
3105 const char kOmniboxShortBookmarkSuggestionsDescription[] =
3106     "Match very short input words to beginning of words in bookmark "
3107     "suggestions.";
3108
3109 const char kOmniboxTabSwitchSuggestionsDedicatedRowName[] =
3110     "Omnibox dedicated row tab switch suggestions";
3111 const char kOmniboxTabSwitchSuggestionsDedicatedRowDescription[] =
3112     "Put each tab switch suggestion in a separate suggestion, immediately "
3113     "following the original suggestion.";
3114
3115 const char kTabFreezeName[] = "Tab Freeze";
3116 const char kTabFreezeDescription[] =
3117     "Enables freezing eligible tabs when they have been backgrounded for 5 "
3118     "minutes.";
3119
3120 const char kSyncSetupFriendlySettingsName[] = "Sync setup friendly settings";
3121 const char kSyncSetupFriendlySettingsDescription[] =
3122     "Enable the new sync setup friendly settings";
3123
3124 #endif  // !defined(OS_ANDROID)
3125
3126 // Windows ---------------------------------------------------------------------
3127
3128 #if defined(OS_WIN)
3129
3130 const char kCalculateNativeWinOcclusionName[] =
3131     "Calculate window occlusion on Windows";
3132 const char kCalculateNativeWinOcclusionDescription[] =
3133     "Calculate window occlusion on Windows will be used in the future "
3134     "to throttle and potentially unload foreground tabs in occluded windows";
3135
3136 const char kCloudPrintXpsName[] = "XPS in Google Cloud Print";
3137 const char kCloudPrintXpsDescription[] =
3138     "XPS enables advanced options for classic printers connected to the Cloud "
3139     "Print with Chrome. Printers must be re-connected after changing this "
3140     "flag.";
3141
3142 const char kD3D11VideoDecoderName[] = "D3D11 Video Decoder";
3143 const char kD3D11VideoDecoderDescription[] =
3144     "Enables D3D11VideoDecoder for hardware accelerated video decoding.";
3145
3146 const char kElasticOverscrollWinName[] = "Elastic Overscroll for Windows";
3147 const char kElasticOverscrollWinDescription[] =
3148     "Enables Elastic Overscrolling for Windows on touchscreens and precision "
3149     "touchpads.";
3150
3151 const char kEnableMediaFoundationVideoCaptureName[] =
3152     "MediaFoundation Video Capture";
3153 const char kEnableMediaFoundationVideoCaptureDescription[] =
3154     "Enable/Disable the usage of MediaFoundation for video capture. Fall back "
3155     "to DirectShow if disabled.";
3156
3157 const char kRunVideoCaptureServiceInBrowserProcessName[] =
3158     "Run video capture service in browser";
3159 const char kRunVideoCaptureServiceInBrowserProcessDescription[] =
3160     "Run the video capture service in the browser process.";
3161
3162 const char kSafetyCheckChromeCleanerChildName[] =
3163     "Chrome Cleanup Tool in safety check";
3164 const char kSafetyCheckChromeCleanerChildDescription[] =
3165     "Enables the Chrome Cleanup Tool child in safety check.";
3166
3167 const char kUseAngleName[] = "Choose ANGLE graphics backend";
3168 const char kUseAngleDescription[] =
3169     "Choose the graphics backend for ANGLE. D3D11 is used on most Windows "
3170     "computers by default. Using the OpenGL driver as the graphics backend may "
3171     "result in higher performance in some graphics-heavy applications, "
3172     "particularly on NVIDIA GPUs. It can increase battery and memory usage of "
3173     "video playback.";
3174
3175 const char kUseAngleDefault[] = "Default";
3176 const char kUseAngleGL[] = "OpenGL";
3177 const char kUseAngleD3D11[] = "D3D11";
3178 const char kUseAngleD3D9[] = "D3D9";
3179 const char kUseAngleD3D11on12[] = "D3D11on12";
3180
3181 const char kUseWinrtMidiApiName[] = "Use Windows Runtime MIDI API";
3182 const char kUseWinrtMidiApiDescription[] =
3183     "Use Windows Runtime MIDI API for WebMIDI (effective only on Windows 10 or "
3184     "later).";
3185
3186 #if BUILDFLAG(ENABLE_PRINTING)
3187 const char kGdiTextPrinting[] = "GDI Text Printing";
3188 const char kGdiTextPrintingDescription[] =
3189     "Use GDI to print text as simply text";
3190
3191 const char kPrintWithReducedRasterizationName[] =
3192     "Print with reduced rasterization";
3193 const char kPrintWithReducedRasterizationDescription[] =
3194     "When using GDI printing, avoid rasterization if possible.";
3195
3196 const char kUseXpsForPrintingName[] = "Use XPS for printing";
3197 const char kUseXpsForPrintingDescription[] =
3198     "When enabled, use XPS printing API instead of the GDI print API.";
3199
3200 const char kUseXpsForPrintingFromPdfName[] = "Use XPS for printing from PDF";
3201 const char kUseXpsForPrintingFromPdfDescription[] =
3202     "When enabled, use XPS printing API instead of the GDI print API when "
3203     "printing PDF documents.";
3204 #endif  // BUILDFLAG(ENABLE_PRINTING)
3205
3206 #if BUILDFLAG(ENABLE_SPELLCHECK)
3207 const char kWinUseBrowserSpellCheckerName[] =
3208     "Use the Windows OS spell checker";
3209 const char kWinUseBrowserSpellCheckerDescription[] =
3210     "For supported languages, use the Windows OS spell checker to find "
3211     "spelling mistakes and provide spelling suggestions. Additional languages "
3212     "can be installed in the Windows OS settings to improve Windows spell "
3213     "check support.";
3214 #endif  // BUILDFLAG(ENABLE_SPELLCHECK)
3215
3216 #endif  // defined(OS_WIN)
3217
3218 // Mac -------------------------------------------------------------------------
3219
3220 #if defined(OS_MACOSX)
3221
3222 #if BUILDFLAG(ENABLE_PRINTING)
3223 const char kCupsIppPrintingBackendName[] = "CUPS IPP Printing Backend";
3224 const char kCupsIppPrintingBackendDescription[] =
3225     "Use the CUPS IPP printing backend instead of the original CUPS backend "
3226     "that calls the PPD API.";
3227 #endif  // BUILDFLAG(ENABLE_PRINTING)
3228
3229 const char kImmersiveFullscreenName[] = "Immersive Fullscreen Toolbar";
3230 const char kImmersiveFullscreenDescription[] =
3231     "Automatically hide and show the toolbar in fullscreen.";
3232
3233 const char kEnableCustomMacPaperSizesName[] = "Enable custom paper sizes";
3234 const char kEnableCustomMacPaperSizesDescription[] =
3235     "Allow use of custom paper sizes in Print Preview.";
3236
3237 const char kMacSyscallSandboxName[] = "Mac Syscall Filtering Sandbox";
3238 const char kMacSyscallSandboxDescription[] =
3239     "Controls whether the macOS sandbox filters syscalls.";
3240
3241 const char kMacV2GPUSandboxName[] = "Mac V2 GPU Sandbox";
3242 const char kMacV2GPUSandboxDescription[] =
3243     "Controls whether the GPU process on macOS uses the V1 or V2 sandbox.";
3244
3245 const char kMacSystemMediaPermissionsInfoUiName[] =
3246     "System media permissions info UI";
3247 const char kMacSystemMediaPermissionsInfoUiDescription[] =
3248     "In case a website is trying to use the camera/microphone, but Chrome "
3249     "itself is blocked on the system level to access these, show an icon in "
3250     "the Omnibox, which, when clicked, displays a bubble with information on "
3251     "how to toggle Chrome's system-level media permissions.";
3252
3253 const char kMetalName[] = "Metal";
3254 const char kMetalDescription[] =
3255     "Use Metal instead of OpenGL for rasterization (if out-of-process "
3256     "rasterization is enabled) and display (if the Skia renderer is enabled)";
3257
3258 #endif
3259
3260 // Chrome OS -------------------------------------------------------------------
3261
3262 #if defined(OS_CHROMEOS)
3263
3264 const char kAcceleratedMjpegDecodeName[] =
3265     "Hardware-accelerated mjpeg decode for captured frame";
3266 const char kAcceleratedMjpegDecodeDescription[] =
3267     "Enable hardware-accelerated mjpeg decode for captured frame where "
3268     "available.";
3269
3270 const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
3271 const char kAggregatedMlAppRankingDescription[] =
3272     "Use the aggregated ML model to rank the suggested apps.";
3273
3274 const char kAggregatedMlSearchRankingName[] = "Rank search results with ML.";
3275 const char kAggregatedMlSearchRankingDescription[] =
3276     "Use the aggregated ML model to rank the non-app search results for "
3277     "non-empty queries.";
3278
3279 const char kAllowDisableMouseAccelerationName[] =
3280     "Allow disabling mouse acceleration";
3281 const char kAllowDisableMouseAccelerationDescription[] =
3282     "Shows a setting to disable mouse acceleration.";
3283
3284 const char kAllowScrollSettingsName[] =
3285     "Allow changes to scroll acceleration/sensitivity for mice/touchpads.";
3286 const char kAllowScrollSettingsDescription[] =
3287     "Shows settings to enable/disable scroll acceleration and to adjust the "
3288     "sensitivity for scrolling.";
3289
3290 const char kAppServiceInstanceRegistryName[] = "App Service Instance Registry";
3291 const char kAppServiceInstanceRegistryDescription[] =
3292     "Use the App Service to provide app instance information, such as the "
3293     "app window running status.";
3294
3295 const char kAppServiceIntentHandlingName[] = "App Service Intent Handling";
3296 const char kAppServiceIntentHandlingDescription[] =
3297     "Use the App Service to provide data for intent handling.";
3298
3299 const char kAppServiceAdaptiveIconName[] = "App Service Adaptive Icons";
3300 const char kAppServiceAdaptiveIconDescription[] =
3301     "Provide adaptive icons through the App Service";
3302
3303 const char kArcApplicationZoomName[] = "Allow zooming of Android apps";
3304 const char kArcApplicationZoomDescription[] =
3305     "Allow Android apps to be zoomed in/out using ctrl+/-.";
3306
3307 const char kArcCupsApiName[] = "ARC CUPS API";
3308 const char kArcCupsApiDescription[] =
3309     "Enables support of libcups APIs from ARC";
3310
3311 const char kArcCustomTabsExperimentName[] =
3312     "Enable Custom Tabs experiment for ARC";
3313 const char kArcCustomTabsExperimentDescription[] =
3314     "Allow Android apps to use Custom Tabs."
3315     "This feature only works on the Canary and Dev channels.";
3316
3317 const char kArcDocumentsProviderName[] = "ARC DocumentsProvider integration";
3318 const char kArcDocumentsProviderDescription[] =
3319     "Enables DocumentsProvider integration in Chrome OS Files app.";
3320
3321 const char kArcFilePickerExperimentName[] =
3322     "Enable file picker experiment for ARC";
3323 const char kArcFilePickerExperimentDescription[] =
3324     "Enables using Chrome OS file picker in ARC.";
3325
3326 const char kArcNativeBridgeToggleName[] =
3327     "Toggle between native bridge implementations for ARC";
3328 const char kArcNativeBridgeToggleDescription[] =
3329     "Toggle between native bridge implementations for ARC.";
3330
3331 const char kArcPrintSpoolerExperimentName[] =
3332     "Enable print spooler experiment for ARC";
3333 const char kArcPrintSpoolerExperimentDescription[] =
3334     "Enables using the Chrome OS print system and print preview in ARC.";
3335
3336 const char kArcUsbHostName[] = "Enable ARC USB host integration";
3337 const char kArcUsbHostDescription[] =
3338     "Allow Android apps to use USB host feature on ChromeOS devices.";
3339
3340 const char kArcUsbStorageUIName[] = "Enable ARC USB Storage UI";
3341 const char kArcUsbStorageUIDescription[] =
3342     "Enable experimental UI for controlling ARC access to USB storage devices.";
3343
3344 const char kAshDragWindowFromShelfName[] =
3345     "Enable dragging a window from shelf to overview or home screen.";
3346 const char kAshDragWindowFromShelfDescription[] =
3347     "Enable dragging a window from shelf to overview or home screen.";
3348
3349 const char kAshEnablePipRoundedCornersName[] =
3350     "Enable Picture-in-Picture rounded corners.";
3351 const char kAshEnablePipRoundedCornersDescription[] =
3352     "Enable rounded corners on the Picture-in-Picture window.";
3353
3354 const char kAshEnableUnifiedDesktopName[] = "Unified desktop mode";
3355 const char kAshEnableUnifiedDesktopDescription[] =
3356     "Enable unified desktop mode which allows a window to span multiple "
3357     "displays.";
3358
3359 const char kAshSwapSideVolumeButtonsForOrientationName[] =
3360     "Swap side volume buttons to match screen orientation.";
3361 const char kAshSwapSideVolumeButtonsForOrientationDescription[] =
3362     "Make the side volume button that's closer to the top/right always "
3363     "increase the volume and the button that's closer to the bottom/left "
3364     "always decrease the volume.";
3365
3366 const char kAshSwipingFromLeftEdgeToGoBackName[] =
3367     "Swping from the left edge of the display to go back to the previous page.";
3368 const char kAshSwipingFromLeftEdgeToGoBackDescription[] =
3369     "Swiping from the restricted left area of the display with enough drag "
3370     "distance or fling velocity could go back to the previous page while in "
3371     "tablet mode.";
3372
3373 const char kBluetoothAggressiveAppearanceFilterName[] =
3374     "Aggressive Bluetooth device filtering";
3375 const char kBluetoothAggressiveAppearanceFilterDescription[] =
3376     "Enables a more aggressive Bluetooth filter in the UI to hide devices that "
3377     "likely cannot be connected to.";
3378
3379 const char kBluetoothFixA2dpPacketSizeName[] = "Bluetooth fix A2DP packet size";
3380 const char kBluetoothFixA2dpPacketSizeDescription[] =
3381     "Fixes Bluetooth A2DP packet size to a smaller default value to improve "
3382     "audio quality and may fix audio stutter.";
3383
3384 const char kBluetoothNextHandsfreeProfileName[] =
3385     "Enable next version of Bluetooth Handsfree profile";
3386 const char kBluetoothNextHandsfreeProfileDescription[] =
3387     "Enable next version of Bluetooth Handsfree profile 1.7 which includes "
3388     "WBS(wideband speeech) feature";
3389
3390 const char kCameraSystemWebAppName[] = "Camera System Web App";
3391 const char kCameraSystemWebAppDescription[] =
3392     "Run the Chrome Camera App as a System Web App.";
3393
3394 const char kChromeosVideoDecoderName[] = "New Chrome OS Video Decoder";
3395 const char kChromeosVideoDecoderDescription[] =
3396     "Enables the new Chrome OS video decoder pipeline for hardware accelerated"
3397     "video decoding.";
3398
3399 const char kContextualNudgesName[] =
3400     "Contextual nudges for user gesture education";
3401 const char kContextualNudgesDescription[] =
3402     "Enables contextual nudges, periodically showing the user a label "
3403     "explaining how to interact with a particular UI element using gestures.";
3404
3405 const char kCrosRegionsModeName[] = "Cros-regions load mode";
3406 const char kCrosRegionsModeDescription[] =
3407     "This flag controls cros-regions load mode";
3408 const char kCrosRegionsModeDefault[] = "Default";
3409 const char kCrosRegionsModeOverride[] = "Override VPD values.";
3410 const char kCrosRegionsModeHide[] = "Hide VPD values.";
3411
3412 const char kCrostiniPortForwardingName[] = "Crostini Port Forwarding";
3413 const char kCrostiniPortForwardingDescription[] =
3414     "Enable Crostini port forwarding.";
3415
3416 const char kCrostiniDiskResizingName[] = "Allow resizing Crostini disks";
3417 const char kCrostiniDiskResizingDescription[] =
3418     "Use preallocated user-resizeable disks for Crostini instead of sparse "
3419     "automatically sized disks.";
3420
3421 const char kCrostiniShowMicSettingName[] = "Allow Crostini mic setting";
3422 const char kCrostiniShowMicSettingDescription[] =
3423     "Adds the option to allow Crostini to access the mic";
3424
3425 const char kCrostiniUseBusterImageName[] = "New Crostini containers use Buster";
3426 const char kCrostiniUseBusterImageDescription[] =
3427     "New Crostini containers use Debian Buster images instead of Debian "
3428     "Stretch.";
3429
3430 const char kCrostiniGpuSupportName[] = "Crostini GPU Support";
3431 const char kCrostiniGpuSupportDescription[] = "Enable Crostini GPU support.";
3432
3433 const char kCrostiniUsbAllowUnsupportedName[] =
3434     "Crostini Usb Allow Unsupported";
3435 const char kCrostiniUsbAllowUnsupportedDescription[] =
3436     "Allow mounting unsupported Usb devices in Crostini. At your own risk. ";
3437
3438 const char kCrostiniWebUIUpgraderName[] = "Crostini WebUI Upgrader";
3439 const char kCrostiniWebUIUpgraderDescription[] =
3440     "Enable the new WebUI Crostini Upgrader Dialog.";
3441
3442 const char kCryptAuthV2DeviceActivityStatusName[] =
3443     "CryptAuth Device Activity Status";
3444 const char kCryptAuthV2DeviceActivityStatusDescription[] =
3445     "Use the CryptAuth GetDevicesActivityStatus API to sort devices.";
3446
3447 const char kCryptAuthV2DeviceSyncName[] = "CryptAuth v2 DeviceSync";
3448 const char kCryptAuthV2DeviceSyncDescription[] =
3449     "Use the CryptAuth v2 DeviceSync protocol. Note: v1 DeviceSync will "
3450     "continue to run until the deprecation flag is flipped.";
3451
3452 const char kCryptAuthV2EnrollmentName[] = "CryptAuth v2 Enrollment";
3453 const char kCryptAuthV2EnrollmentDescription[] =
3454     "Use the CryptAuth v2 Enrollment protocol.";
3455
3456 const char kDisableCancelAllTouchesName[] = "Disable CancelAllTouches()";
3457 const char kDisableCancelAllTouchesDescription[] =
3458     "If enabled, a canceled touch will not force all other touches to be "
3459     "canceled.";
3460
3461 const char kDisableCryptAuthV1DeviceSyncName[] =
3462     "Disable CryptAuth v1 DeviceSync";
3463 const char kDisableCryptAuthV1DeviceSyncDescription[] =
3464     "Disable the CryptAuth v1 DeviceSync protocol. The v2 DeviceSync flag "
3465     "should be enabled before this flag is flipped.";
3466
3467 const char kDisableExplicitDmaFencesName[] = "Disable explicit dma-fences";
3468 const char kDisableExplicitDmaFencesDescription[] =
3469     "Always rely on implicit syncrhonization between GPU and display "
3470     "controller instead of using dma-fences explcitily when available.";
3471
3472 const char kDisplayIdentificationName[] =
3473     "Enable display identification highlight";
3474 const char kDisplayIdentificationDescription[] =
3475     "Shows a blue highlight around the edges of the display that is selected "
3476     "in the Displays Settings page. Only shown when the Displays Settings page "
3477     "is open.";
3478
3479 const char kUseHDRTransferFunctionName[] =
3480     "Monitor/Display HDR transfer function";
3481 const char kUseHDRTransferFunctionDescription[] =
3482     "Allows using the HDR transfer functions of any connected monitor that "
3483     "supports it";
3484
3485 const char kDisableOfficeEditingComponentAppName[] =
3486     "Disable Office Editing for Docs, Sheets & Slides";
3487 const char kDisableOfficeEditingComponentAppDescription[] =
3488     "Disables Office Editing for Docs, Sheets & Slides component app so "
3489     "handlers won't be registered, making it possible to install another "
3490     "version for testing.";
3491
3492 const char kDoubleTapToZoomInTabletModeName[] =
3493     "Double-tap to zoom in tablet mode";
3494 const char kDoubleTapToZoomInTabletModeDescription[] =
3495     "If Enabled, double tapping in webpages while in tablet mode will zoom the "
3496     "page.";
3497
3498 const char kMovablePartialScreenshotName[] =
3499     "Movable/resizable partial screenshot region";
3500 const char kMovablePartialScreenshotDescription[] =
3501     "Allow partial screenshot region to be moved/resized via mouse/touch.";
3502
3503 const char kEnableAdvancedPpdAttributesName[] =
3504     "Enable advanced PPD attributes";
3505 const char kEnableAdvancedPpdAttributesDescription[] =
3506     "Enable advanced settings on CUPS printers";
3507
3508 const char kEnableAppDataSearchName[] = "Enable app data search in launcher";
3509 const char kEnableAppDataSearchDescription[] =
3510     "Allow launcher search to access data available through Firebase App "
3511     "Indexing";
3512
3513 const char kEnableAppReinstallZeroStateName[] =
3514     "Enable Zero State App Reinstall Suggestions.";
3515 const char kEnableAppReinstallZeroStateDescription[] =
3516     "Enable Zero State App Reinstall Suggestions feature in launcher, which "
3517     "will show app reinstall recommendations at end of zero state list.";
3518
3519 const char kEnableAppGridGhostName[] = "App Grid Ghosting";
3520 const char kEnableAppGridGhostDescription[] =
3521     "Enables ghosting during an item drag in launcher.";
3522
3523 const char kEnableAppListSearchAutocompleteName[] =
3524     "App List Search Autocomplete";
3525 const char kEnableAppListSearchAutocompleteDescription[] =
3526     "Allow App List search box to autocomplete queries for Google searches and "
3527     "apps.";
3528
3529 const char kEnableArcUnifiedAudioFocusName[] =
3530     "Enable unified audio focus on ARC";
3531 const char kEnableArcUnifiedAudioFocusDescription[] =
3532     "If audio focus is enabled in Chrome then this will delegate audio focus "
3533     "control in Android apps to Chrome.";
3534
3535 const char kEnableAmbientModeName[] = "Enable Ambient Mode";
3536 const char kEnableAmbientModeDescription[] =
3537     "Enable Ambient Mode to show an enhanced lock screen with more functions";
3538
3539 const char kEnableAssistantAppSupportName[] = "Enable Assistant App Support";
3540 const char kEnableAssistantAppSupportDescription[] =
3541     "Enable the Assistant App Support feature";
3542
3543 const char kEnableAssistantLauncherIntegrationName[] =
3544     "Assistant & Launcher integration";
3545 const char kEnableAssistantLauncherIntegrationDescription[] =
3546     "Combine Launcher search with the power of Assistant to provide the most "
3547     "useful answer for each query. Requires Assistant to be enabled.";
3548
3549 const char kEnableAssistantLauncherUIName[] = "Assistant Launcher UI";
3550 const char kEnableAssistantLauncherUIDescription[] =
3551     "Enables the embedded Assistant UI in the app list. Requires Assistant to "
3552     "be enabled.";
3553
3554 const char kEnableAssistantMediaSessionIntegrationName[] =
3555     "Assistant Media Session integration";
3556 const char kEnableAssistantMediaSessionIntegrationDescription[] =
3557     "Enable Assistant Media Session Integration.";
3558
3559 const char kEnableAssistantRoutinesName[] = "Assistant Routines";
3560 const char kEnableAssistantRoutinesDescription[] = "Enable Assistant Routines.";
3561
3562 const char kEnableBackgroundBlurName[] = "Enable background blur.";
3563 const char kEnableBackgroundBlurDescription[] =
3564     "Enables background blur for the Launcher, Shelf, Unified System Tray etc.";
3565
3566 const char kDragToSnapInClamshellModeName[] = "Enable clamshell split view.";
3567 const char kDragToSnapInClamshellModeDescription[] =
3568     "You can drag a window from clamshell overview and snap it. If you will be "
3569     "using multiple displays, you should use this flag only in conjunction "
3570     "with multi-display-overview-and-split-view (otherwise you are likely to "
3571     "get a crash).";
3572
3573 const char kMultiDisplayOverviewAndSplitViewName[] =
3574     "Enable multi-display overview and split view.";
3575 const char kMultiDisplayOverviewAndSplitViewDescription[] =
3576     "You can drag a window from one overview grid and drop into another "
3577     "overview grid.";
3578
3579 const char kEnableCrOSActionRecorderName[] = "Enable CrOS action recorder";
3580 const char kEnableCrOSActionRecorderDescription[] =
3581     "When enabled, each app launching, file opening, setting change, and url "
3582     "visiting will be logged locally into an encrypted file. Should not be "
3583     "enabled. Be aware that hash option only provides a thin layer of privacy.";
3584
3585 const char kEnableDiscoverAppName[] = "Enable Discover App";
3586 const char kEnableDiscoverAppDescription[] =
3587     "Enable Discover App icon in launcher.";
3588
3589 const char kEnableEncryptionMigrationName[] =
3590     "Enable encryption migration of user data";
3591 const char kEnableEncryptionMigrationDescription[] =
3592     "If enabled and the device supports ARC, the user will be asked to update "
3593     "the encryption of user data when the user signs in.";
3594
3595 const char kEnableGesturePropertiesDBusServiceName[] =
3596     "Enable gesture properties D-Bus service";
3597 const char kEnableGesturePropertiesDBusServiceDescription[] =
3598     "Enable a D-Bus service for accessing gesture properties, which are used "
3599     "to configure input devices.";
3600
3601 const char kEnableGoogleAssistantDspName[] =
3602     "Enable Google Assistant with hardware-based hotword";
3603 const char kEnableGoogleAssistantDspDescription[] =
3604     "Enable an experimental feature that uses hardware-based hotword detection "
3605     "for Assistant. Only a limited number of devices have this type of "
3606     "hardware support.";
3607
3608 const char kEnableGoogleAssistantStereoInputName[] =
3609     "Enable Google Assistant with stereo audio input";
3610 const char kEnableGoogleAssistantStereoInputDescription[] =
3611     "Enable an experimental feature that uses stereo audio input for hotword "
3612     "and voice to text detection in Google Assistant.";
3613
3614 const char kEnableGoogleAssistantAecName[] = "Enable Google Assistant AEC";
3615 const char kEnableGoogleAssistantAecDescription[] =
3616     "Enable an experimental feature that removes local feedback from audio "
3617     "input to help hotword and ASR when background audio is playing.";
3618
3619 const char kEnableHeuristicStylusPalmRejectionName[] =
3620     "Enable Heuristic for Stylus/Palm Rejection.";
3621 const char kEnableHeuristicStylusPalmRejectionDescription[] =
3622     "Enable additional heuristic palm rejection logic when interacting with "
3623     "stylus usage. Not intended for all devices.";
3624
3625 const char kEnableHighResolutionMouseScrollingName[] =
3626     "Enable high resolution mouse scrolling";
3627 const char kEnableHighResolutionMouseScrollingDescription[] =
3628     "Enable use of high-resolution scrolling events from supported mice (those "
3629     "which report REL_WHEEL_HI_RES from the Linux kernel).";
3630
3631 const char kNewDragSpecInLauncherName[] = "Enable Launcher App Paging";
3632 const char kNewDragSpecInLauncherDescription[] =
3633     "Show visual affordance of launcher app pages and enable page previews "
3634     "when dragging apps.";
3635
3636 const char kEnableNeuralStylusPalmRejectionName[] =
3637     "Enable Neural Palm Detection";
3638 const char kEnableNeuralStylusPalmRejectionDescription[] =
3639     "Experimental: Enable Neural Palm detection. Not compatible with all "
3640     "devices.";
3641
3642 const char kEnableNewShortcutMappingName[] = "Enable New Shortcut Mapping";
3643 const char kEnableNewShortcutMappingDescription[] =
3644     "Enables experimental new shortcut mapping";
3645
3646 const char kEnableOnDeviceAssistantName[] = "Enable On Device Assistant";
3647 const char kEnableOnDeviceAssistantDescription[] =
3648     "Enable On Device Assistant.";
3649
3650 const char kEnablePalmOnMaxTouchMajorName[] =
3651     "Enable Palm when Touch is Maximum";
3652 const char kEnablePalmOnMaxTouchMajorDescription[] =
3653     "Experimental: Enable Palm detection when the touchscreen reports max "
3654     "size. Not compatible with all devices.";
3655
3656 const char kEnablePalmOnToolTypePalmName[] =
3657     "Enable Palm when Tool Type is Palm";
3658 const char kEnablePalmOnToolTypePalmDescription[] =
3659     "Experimental: Enable palm detection when touchscreen reports "
3660     "TOOL_TYPE_PALM. Not compatible with all devices.";
3661
3662 const char kEnablePalmSuppressionName[] =
3663     "Enable Palm Suppression with Stylus.";
3664 const char kEnablePalmSuppressionDescription[] =
3665     "If enabled, suppresses touch when a stylus is on a touchscreen.";
3666
3667 const char kEnableParentalControlsSettingsName[] =
3668     "Enable Parental controls settings";
3669 const char kEnableParentalControlsSettingsDescription[] =
3670     "Enable Parental Control options in settings.";
3671
3672 const char kEnablePlayStoreSearchName[] = "Enable Play Store search";
3673 const char kEnablePlayStoreSearchDescription[] =
3674     "Enable Play Store search in launcher.";
3675
3676 const char kEnableQuickAnswersName[] = "Enable Quick Answers";
3677 const char kEnableQuickAnswersDescription[] =
3678     "Enable the Quick Answers feature";
3679
3680 const char kEnableQuickAnswersRichUiName[] = "Enable Quick Answers Rich UI";
3681 const char kEnableQuickAnswersRichUiDescription[] =
3682     "Enable the Quick Answers rich UI.";
3683
3684 const char kEnableQuickAnswersTextAnnotatorName[] =
3685     "Enable Quick Answers text annotator";
3686 const char kEnableQuickAnswersTextAnnotatorDescription[] =
3687     "Enable Quick Answers text annotator.";
3688
3689 const char kTrimOnFreezeName[] = "Trim Working Set on freeze";
3690 const char kTrimOnFreezeDescription[] = "Trim Working Set on all frames frozen";
3691
3692 const char kTrimOnMemoryPressureName[] = "Trim Working Set on memory pressure";
3693 const char kTrimOnMemoryPressureDescription[] =
3694     "Trim Working Set periodically on memory pressure";
3695
3696 const char kEnableZeroStateSuggestionsName[] = "Enable Zero State Suggetions";
3697 const char kEnableZeroStateSuggestionsDescription[] =
3698     "Enable Zero State Suggestions feature in Launcher, which will show "
3699     "suggestions when launcher search box is active with an empty query";
3700
3701 const char kEnableSuggestedFilesName[] = "Enable Suggested Files";
3702 const char kEnableSuggestedFilesDescription[] =
3703     "Enable Suggested Files feature in Launcher, which will show file "
3704     "suggestions in the suggestion chips when the launcher is opened";
3705
3706 const char kEnterpriseReportingInChromeOSName[] =
3707     "Enterprise cloud reporting in Chrome OS";
3708 const char kEnterpriseReportingInChromeOSDescription[] =
3709     "Enable the enterprise cloud reporting in Chrome OS. This feature requires "
3710     "user level cloud management.";
3711
3712 const char kExoPointerLockName[] = "Pointer lock for Linux applications";
3713 const char kExoPointerLockDescription[] =
3714     "Allow Linux applications to request a pointer lock, i.e. exclusive use of "
3715     "the mouse pointer.";
3716
3717 const char kExperimentalAccessibilityChromeVoxAnnotationsName[] =
3718     "Enable experimental ChromeVox annotations feature.";
3719 const char kExperimentalAccessibilityChromeVoxAnnotationsDescription[] =
3720     "Allows users to create custom annotations for elements using ChromeVox.";
3721
3722 const char kExperimentalAccessibilityChromeVoxLanguageSwitchingName[] =
3723     "Disable ChromeVox language switching.";
3724 const char kExperimentalAccessibilityChromeVoxLanguageSwitchingDescription[] =
3725     "Disable ChromeVox language switching, which changes ChromeVox's "
3726     "output language upon detection of new language.";
3727
3728 const char kExperimentalAccessibilityChromeVoxTutorialName[] =
3729     "Enable experimental ChromeVox interactive tutorial.";
3730 const char kExperimentalAccessibilityChromeVoxTutorialDescription[] =
3731     "A comprehensive and interactive tutorial for the ChromeVox screen reader.";
3732
3733 const char kExperimentalAccessibilityChromeVoxSearchMenusName[] =
3734     "Enable experimental ChromeVox search menus feature.";
3735 const char kExperimentalAccessibilityChromeVoxSearchMenusDescription[] =
3736     "Allows users to search for items in the ChromeVox menu.";
3737
3738 const char kExperimentalAccessibilitySwitchAccessName[] =
3739     "Experimental feature Switch Access";
3740 const char kExperimentalAccessibilitySwitchAccessDescription[] =
3741     "Add a setting to enable the prototype of Switch Access";
3742
3743 const char kExperimentalAccessibilitySwitchAccessTextName[] =
3744     "Enable enhanced Switch Access text input.";
3745 const char kExperimentalAccessibilitySwitchAccessTextDescription[] =
3746     "Enable experimental or in-progress Switch Access features for improved "
3747     "text input";
3748
3749 const char kExperimentalAccessibilityCursorColorsName[] =
3750     "Enable cursor colors.";
3751 const char kExperimentalAccessibilityCursorColorsDescription[] =
3752     "Enable experimental feature which allows setting cursor color in "
3753     "Accessibility settings.";
3754
3755 const char kFilesNGName[] = "Enable Files App. NG.";
3756 const char kFilesNGDescription[] =
3757     "Enable the next generation UI style of the file manager.";
3758
3759 const char kFilesTransferDetailsName[] = "Enable Files Transfer Details.";
3760 const char kFilesTransferDetailsDescription[] =
3761     "Enable transfer details like remaining time in the progress center panel.";
3762
3763 const char kFilesZipNoNaClName[] = "New ZIP handling in Files App";
3764 const char kFilesZipNoNaClDescription[] =
3765     "Enable new ZIP archive handling in Files App which does not rely on NaCl.";
3766
3767 const char kFsNosymfollowName[] =
3768     "Prevent symlink traversal on user-supplied filesystems.";
3769 const char kFsNosymfollowDescription[] =
3770     "Causes user-supplied filesystems to be mounted with the 'nosymfollow'"
3771     " option, so the chromuimos LSM denies symlink traversal on the"
3772     " filesystem.";
3773
3774 const char kFuzzyAppSearchName[] = "Fuzzy app search algorithm in launcher.";
3775 const char kFuzzyAppSearchDescription[] =
3776     "Uses fuzzy search algorithm for app search in launcher.";
3777
3778 const char kGaiaActionButtonsName[] =
3779     "Enable action buttons on Gaia login screen";
3780 const char kGaiaActionButtonsDescription[] =
3781     "Enable primary/secondary action button on Gaia login screen.";
3782
3783 const char kHelpAppName[] = "Help App";
3784 const char kHelpAppDescription[] =
3785     "Enables the chrome://help-app System Web App (SWA)";
3786
3787 const char kHideArcMediaNotificationsName[] = "Hide ARC media notifications";
3788 const char kHideArcMediaNotificationsDescription[] =
3789     "Hides media notifications for ARC apps. Requires "
3790     "#enable-media-session-notifications to be enabled.";
3791
3792 const char kImeAssistAutocorrectName[] = "Enable assistive autocorrect";
3793 const char kImeAssistAutocorrectDescription[] =
3794     "Enable assistive auto-correct features for native IME";
3795
3796 const char kImeAssistPersonalInfoName[] = "Enable assistive personal info";
3797 const char kImeAssistPersonalInfoDescription[] =
3798     "Enable auto-complete suggestions on personal infomation for native IME.";
3799
3800 const char kImeEmojiSuggestAdditionName[] =
3801     "Enable emoji suggestion (addition)";
3802 const char kImeEmojiSuggestAdditionDescription[] =
3803     "Enable emoji suggestion as addition to the text written for native IME.";
3804
3805 const char kImeInputLogicFstName[] = "Enable FST Input Logic on IME";
3806 const char kImeInputLogicFstDescription[] =
3807     "Enable FST Input Logic to replace the IME legacy input logic on NaCl";
3808
3809 const char kImeInputLogicHmmName[] = "Enable HMM Input Logic on IME";
3810 const char kImeInputLogicHmmDescription[] =
3811     "Enable HMM Input Logic to replace the IME legacy input logic on NaCl";
3812
3813 const char kImeInputLogicMozcName[] = "Enable MOZC Input Logic on IME";
3814 const char kImeInputLogicMozcDescription[] =
3815     "Enable MOZC Input Logic to replace the IME legacy input logic on NaCl";
3816
3817 const char kImeMozcProtoName[] = "Enable protobuf on Japanese IME";
3818 const char kImeMozcProtoDescription[] =
3819     "Enable Japanese IME to use protobuf as interactive message format to "
3820     "replace JSON";
3821
3822 const char kImeServiceSandboxName[] = "Use CrOS 'ime' sandbox";
3823 const char kImeServiceSandboxDescription[] =
3824     "Controls whether the IME service on CrOS uses the 'ime' sandbox.";
3825
3826 const char kIntentHandlingSharingName[] = "Intent handling for sharing";
3827 const char kIntentHandlingSharingDescription[] =
3828     "Support sharing in Chrome OS intent handling.";
3829
3830 const char kIntentPickerPWAPersistenceName[] = "Intent picker PWA Persistence";
3831 const char kIntentPickerPWAPersistenceDescription[] =
3832     "Allow user to always open with PWA in intent picker.";
3833
3834 const char kLacrosSupportName[] = "LaCrOS support";
3835 const char kLacrosSupportDescription[] =
3836     "Support for the experimental lacros-chrome browser.";
3837
3838 const char kLimitAltTabToActiveDeskName[] =
3839     "Limit Alt-Tab windows to active desk";
3840 const char kLimitAltTabToActiveDeskDescription[] =
3841     "Limits the windows listed in Alt-Tab to the ones in the currently active "
3842     "virtual desk";
3843
3844 const char kLimitShelfItemsToActiveDeskName[] =
3845     "Limit Shelf items to active desk";
3846 const char kLimitShelfItemsToActiveDeskDescription[] =
3847     "Limits items on the shelf to the ones associated with windows on the "
3848     "active desk";
3849
3850 const char kListAllDisplayModesName[] = "List all display modes";
3851 const char kListAllDisplayModesDescription[] =
3852     "Enables listing all external displays' modes in the display settings.";
3853
3854 const char kLockScreenMediaControlsName[] = "Lock screen media controls";
3855 const char kLockScreenMediaControlsDescription[] =
3856     "Enable media controls on the lock screen.";
3857
3858 const char kLockScreenNotificationName[] = "Lock screen notification";
3859 const char kLockScreenNotificationDescription[] =
3860     "Enable notifications on the lock screen.";
3861
3862 const char kMediaAppName[] = "Media App";
3863 const char kMediaAppDescription[] =
3864     "Enables the chrome://media-app System Web App (SWA)";
3865
3866 const char kMediaSessionNotificationsName[] = "Media session notifications";
3867 const char kMediaSessionNotificationsDescription[] =
3868     "Shows notifications for media sessions showing the currently playing "
3869     "media and providing playback controls";
3870
3871 const char kMeteredShowToggleName[] = "Show Metered Toggle";
3872 const char kMeteredShowToggleDescription[] =
3873     "Shows a Metered toggle in the Network settings UI for WiFI and Cellular. "
3874     "The toggle allows users to set whether a network should be considered "
3875     "metered for purposes of bandwith usage (e.g. for automatic updates).";
3876
3877 const char kPrintServerUiName[] = "Print Server UI";
3878 const char kPrintServerUiDescription[] =
3879     "Enables users to add their own print server in the printer settings page.";
3880
3881 const char kRar2FsName[] = "Enable rar2fs";
3882 const char kRar2FsDescription[] =
3883     "Enable Files App to mount RAR archives using rar2fs.";
3884
3885 const char kReduceDisplayNotificationsName[] = "Reduce display notifications";
3886 const char kReduceDisplayNotificationsDescription[] =
3887     "If enabled, notifications for display rotation, display removed, display "
3888     "mirroring, and display extending will be suppressed.";
3889
3890 const char kReleaseNotesName[] = "CrOS Release Notes.";
3891 const char kReleaseNotesDescription[] =
3892     "Creates release notes app in settings menu that shows a webview "
3893     "describing new OS features.";
3894
3895 const char kScanningUIName[] = "Scanning UI";
3896 const char kScanningUIDescription[] =
3897     "An experimental UI that allows users to interact with a connected "
3898     "scanner.";
3899
3900 const char kSchedulerConfigurationName[] = "Scheduler Configuration";
3901 const char kSchedulerConfigurationDescription[] =
3902     "Instructs the OS to use a specific scheduler configuration setting.";
3903 const char kSchedulerConfigurationConservative[] =
3904     "Disables Hyper-Threading on relevant CPUs.";
3905 const char kSchedulerConfigurationPerformance[] =
3906     "Enables Hyper-Threading on relevant CPUs.";
3907
3908 const char kSharesheetName[] = "Sharesheet";
3909 const char kSharesheetDescription[] = "Chrome OS sharesheet.";
3910
3911 const char kShowBluetoothDebugLogToggleName[] =
3912     "Show Bluetooth debug log toggle";
3913 const char kShowBluetoothDebugLogToggleDescription[] =
3914     "Enables a toggle which can enable debug (i.e., verbose) logs for "
3915     "Bluetooth";
3916
3917 const char kShowBluetoothDeviceBatteryName[] = "Show Bluetooth device battery";
3918 const char kShowBluetoothDeviceBatteryDescription[] =
3919     "Enables showing the battery level of connected and supported Bluetooth "
3920     "devices in the System Tray and Settings UI.";
3921
3922 const char kShowTapsName[] = "Show taps";
3923 const char kShowTapsDescription[] =
3924     "Draws a circle at each touch point, which makes touch points more obvious "
3925     "when projecting or mirroring the display. Similar to the Android OS "
3926     "developer option.";
3927
3928 const char kShowTouchHudName[] = "Show HUD for touch points";
3929 const char kShowTouchHudDescription[] =
3930     "Shows a trail of colored dots for the last few touch points. Pressing "
3931     "Ctrl-Alt-I shows a heads-up display view in the top-left corner. Helps "
3932     "debug hardware issues that generate spurious touch events.";
3933
3934 const char kSmartDimModelV3Name[] = "Smart Dim updated model";
3935 const char kSmartDimModelV3Description[] =
3936     "Uses an updated model for user activity prediction (Smart Dim).";
3937
3938 const char kSmartDimNewMlAgentName[] = "Smart Dim new machine learning agent";
3939 const char kSmartDimNewMlAgentDescription[] =
3940     "Uses a new machine learning agent to switch between builtin and dynamic "
3941     "ML models.";
3942
3943 const char kSmartTextSelectionName[] = "Smart Text Selection";
3944 const char kSmartTextSelectionDescription[] =
3945     "Shows quick actions for text "
3946     "selections in the context menu.";
3947
3948 const char kSmbfsFileSharesName[] = "Smbfs file shares";
3949 const char kSmbfsFileSharesDescription[] =
3950     "Use smbfs for accessing network file shares.";
3951
3952 const char kSplitSettingsSyncName[] = "Split OS and browser sync";
3953 const char kSplitSettingsSyncDescription[] =
3954     "Allows OS sync to be configured separately from browser sync. Changes the "
3955     "OS settings UI to provide controls for OS data types. Requires "
3956     "#split-settings to be enabled.";
3957
3958 const char kStreamlinedUsbPrinterSetupName[] =
3959     "Streamlined USB Printer Setup Flow";
3960 const char kStreamlinedUsbPrinterSetupDescription[] =
3961     "Automatically sets up capable USB printers when plugged in. Shows a "
3962     "notification with the setup result.";
3963
3964 const char kSyncWifiConfigurationsName[] = "Sync Wi-Fi network configurations";
3965 const char kSyncWifiConfigurationsDescription[] =
3966     "Enables the option to sync Wi-Fi network configurations with Chrome Sync.";
3967
3968 const char kTerminalSystemAppName[] = "Terminal System App";
3969 const char kTerminalSystemAppDescription[] =
3970     "Enables the Terminal System App at chrome://terminal which is used for "
3971     "the Chrome OS Linux terminal.";
3972
3973 const char kTerminalSystemAppLegacySettingsName[] =
3974     "Terminal System App Legacy Settings";
3975 const char kTerminalSystemAppLegacySettingsDescription[] =
3976     "Use the legacy settings page for Terminal System App.";
3977
3978 const char kPluginVmShowCameraPermissionsName[] =
3979     "Show Plugin VM camera permissions";
3980 const char kPluginVmShowCameraPermissionsDescription[] =
3981     "Displays camera permissions for Plugin VM in the app settings.";
3982
3983 const char kPluginVmShowMicrophonePermissionsName[] =
3984     "Show Plugin VM microphone permissions";
3985 const char kPluginVmShowMicrophonePermissionsDescription[] =
3986     "Displays microphone permissions for Plugin VM in the app settings.";
3987
3988 const char kTetherName[] = "Instant Tethering";
3989 const char kTetherDescription[] =
3990     "Enables Instant Tethering. Instant Tethering allows your nearby Google "
3991     "phone to share its Internet connection with this device.";
3992
3993 const char kTouchscreenCalibrationName[] =
3994     "Enable/disable touchscreen calibration option in material design settings";
3995 const char kTouchscreenCalibrationDescription[] =
3996     "If enabled, the user can calibrate the touch screen displays in "
3997     "chrome://settings/display.";
3998
3999 const char kUseFakeDeviceForMediaStreamName[] = "Use fake video capture device";
4000 const char kUseFakeDeviceForMediaStreamDescription[] =
4001     "Forces Chrome to use a fake video capture device (a rolling pacman with a "
4002     "timestamp) instead of the system audio/video devices, for debugging "
4003     "purposes.";
4004
4005 const char kUiDevToolsName[] = "Enable native UI inspection";
4006 const char kUiDevToolsDescription[] =
4007     "Enables inspection of native UI elements. For local inspection use "
4008     "chrome://inspect#other";
4009
4010 const char kUiShowCompositedLayerBordersName[] =
4011     "Show UI composited layer borders";
4012 const char kUiShowCompositedLayerBordersDescription[] =
4013     "Show border around composited layers created by UI.";
4014 const char kUiShowCompositedLayerBordersRenderPass[] = "RenderPass";
4015 const char kUiShowCompositedLayerBordersSurface[] = "Surface";
4016 const char kUiShowCompositedLayerBordersLayer[] = "Layer";
4017 const char kUiShowCompositedLayerBordersAll[] = "All";
4018
4019 const char kUiSlowAnimationsName[] = "Slow UI animations";
4020 const char kUiSlowAnimationsDescription[] = "Makes all UI animations slow.";
4021
4022 const char kUnifiedMediaViewName[] = "Unified media view in Files App";
4023 const char kUnifiedMediaViewDescription[] =
4024     "Enable unified media view to browse recently-modified media files from"
4025     " local disk, Google Drive, and Android.";
4026
4027 const char kUsbguardName[] = "Block new USB devices at the lock screen.";
4028 const char kUsbguardDescription[] =
4029     "Prevents newly connected USB devices from operating at the lock screen"
4030     " until Chrome OS is unlocked to protect against malicious USB devices."
4031     " Already connected USB devices will continue to function.";
4032
4033 const char kVaapiJpegImageDecodeAccelerationName[] =
4034     "VA-API JPEG decode acceleration for images";
4035 const char kVaapiJpegImageDecodeAccelerationDescription[] =
4036     "Enable or disable decode acceleration of JPEG images (as opposed to camera"
4037     " captures) using the VA-API.";
4038
4039 const char kVaapiWebPImageDecodeAccelerationName[] =
4040     "VA-API WebP decode acceleration for images";
4041 const char kVaapiWebPImageDecodeAccelerationDescription[] =
4042     "Enable or disable decode acceleration of WebP images using the VA-API.";
4043
4044 const char kVirtualKeyboardBorderedKeyName[] = "Virtual Keyboard Bordered Key";
4045 const char kVirtualKeyboardBorderedKeyDescription[] =
4046     "Show virtual keyboard with bordered key";
4047
4048 const char kVirtualKeyboardFloatingResizableName[] =
4049     "Virtual Keyboard Resizable Mode";
4050 const char kVirtualKeyboardFloatingResizableDescription[] =
4051     "Show virtual keyboard with resizable floating mode";
4052
4053 const char kVirtualKeyboardName[] = "Virtual Keyboard";
4054 const char kVirtualKeyboardDescription[] =
4055     "Always show virtual keyboard regardless of having a physical keyboard "
4056     "present";
4057
4058 const char kZeroStateFilesName[] = "Enable Launcher Zero State Files";
4059 const char kZeroStateFilesDescription[] =
4060     "Enables zero state file recommendations in the Launcher, which appear when"
4061     "the search box is active and no query has been entered.";
4062
4063 const char kZeroCopyVideoCaptureName[] = "Enable Zero-Copy Video Capture";
4064 const char kZeroCopyVideoCaptureDescription[] =
4065     "Camera produces a gpu friendly buffer on capture and, if there is, "
4066     "hardware accelerated video encoder consumes the buffer";
4067
4068 // Prefer keeping this section sorted to adding new definitions down here.
4069
4070 #endif  // defined(OS_CHROMEOS)
4071
4072 // All views-based platforms --------------------------------------------------
4073
4074 #if defined(TOOLKIT_VIEWS)
4075
4076 const char kEnableMDRoundedCornersOnDialogsName[] =
4077     "MD corners on secondary UI";
4078 const char kEnableMDRoundedCornersOnDialogsDescription[] =
4079     "Increases corner radius on secondary UI.";
4080
4081 const char kInstallableInkDropName[] = "Use InstallableInkDrop where supported";
4082 const char kInstallableInkDropDescription[] =
4083     "InstallableInkDrop is part of an InkDrop refactoring effort. This enables "
4084     "the pilot implementation where available.";
4085
4086 const char kTextfieldFocusOnTapUpName[] = "Focus UI text fields on touch-up";
4087 const char kTextfieldFocusOnTapUpDescription[] =
4088     "When enabled, Views-based text fields take focus on touch-up instead of "
4089     "touch-down. This includes the Omnibox.";
4090
4091 const char kReopenTabInProductHelpName[] = "Reopen tab in-product help";
4092 const char kReopenTabInProductHelpDescription[] =
4093     "Enable in-product help that guides a user to reopen a tab if it looks "
4094     "like they accidentally closed it.";
4095
4096 const char kEnableNewBadgeOnMenuItemsName[] =
4097     "Enable 'New' badge on menu items";
4098 const char kEnableNewBadgeOnMenuItemsDescription[] =
4099     "When enabled, allows 'New' badge to help users identify menu items which "
4100     "access new functionality.";
4101
4102 #endif  // defined(TOOLKIT_VIEWS)
4103
4104 // Random platform combinations -----------------------------------------------
4105
4106 #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
4107
4108 const char kWebGL2ComputeContextName[] = "WebGL 2.0 Compute";
4109 const char kWebGL2ComputeContextDescription[] =
4110     "Enable the use of WebGL 2.0 Compute API.";
4111
4112 #endif  // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
4113
4114 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
4115     defined(OS_CHROMEOS)
4116
4117 const char kEnableMediaFeedsName[] = "Enables Media Feeds";
4118 const char kEnableMediaFeedsDescription[] =
4119     "Enables the Media Feeds feature which allows us to fetch feeds of media "
4120     "items from websites that support the feature. ";
4121
4122 const char kRemoteCopyReceiverName[] =
4123     "Enables the remote copy feature to receive messages";
4124 const char kRemoteCopyReceiverDescription[] =
4125     "Enables the remote copy feature to handle messages by writing content to "
4126     "the clipboard and showing a notification to the user.";
4127
4128 const char kRemoteCopyImageNotificationName[] =
4129     "Enables image notifications for the remote copy feature";
4130 const char kRemoteCopyImageNotificationDescription[] =
4131     "Enables image notifications to be shown for the remote copy feature "
4132     "when receiving a message.";
4133
4134 const char kRemoteCopyPersistentNotificationName[] =
4135     "Enables persistent notifications for the remote copy feature";
4136 const char kRemoteCopyPersistentNotificationDescription[] =
4137     "Enables persistent notifications to be shown for the remote copy feature "
4138     "when receiving a message.";
4139
4140 const char kRemoteCopyProgressNotificationName[] =
4141     "Enables progress notifications for the remote copy feature";
4142 const char kRemoteCopyProgressNotificationDescription[] =
4143     "Enables progress notifications to be shown for the remote copy feature "
4144     "when receiving a message.";
4145
4146 #endif  // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
4147         // defined(OS_CHROMEOS)
4148
4149 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
4150
4151 const char kDirectManipulationStylusName[] = "Direct Manipulation Stylus";
4152 const char kDirectManipulationStylusDescription[] =
4153     "If enabled, Chrome will scroll web pages on stylus drag.";
4154
4155 #endif  // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
4156
4157 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
4158
4159 const char kWebContentsOcclusionName[] = "Enable occlusion of web contents";
4160 const char kWebContentsOcclusionDescription[] =
4161     "If enabled, web contents will behave as hidden when it is occluded by "
4162     "other windows.";
4163
4164 #endif  // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
4165
4166 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
4167 #if BUILDFLAG(USE_TCMALLOC)
4168 const char kDynamicTcmallocName[] = "Dynamic Tcmalloc Tuning";
4169 const char kDynamicTcmallocDescription[] =
4170     "Allows tcmalloc to dynamically adjust tunables based on system resource "
4171     "utilization.";
4172 #endif  // BUILDFLAG(USE_TCMALLOC)
4173 #endif  // #if defined(OS_CHROMEOS) || defined(OS_LINUX)
4174
4175 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
4176 const char kUserDataSnapshotName[] = "Enable user data snapshots";
4177 const char kUserDataSnapshotDescription[] =
4178     "Enables taking snapshots of the user data directory after a Chrome "
4179     "update and restoring them after a version rollback.";
4180 #endif  // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
4181
4182 // Feature flags --------------------------------------------------------------
4183
4184 #if defined(DCHECK_IS_CONFIGURABLE)
4185 const char kDcheckIsFatalName[] = "DCHECKs are fatal";
4186 const char kDcheckIsFatalDescription[] =
4187     "By default Chrome will evaluate in this build, but only log failures, "
4188     "rather than crashing. If enabled, DCHECKs will crash the calling process.";
4189 #endif  // defined(DCHECK_IS_CONFIGURABLE)
4190
4191 #if BUILDFLAG(ENABLE_CLICK_TO_CALL)
4192 const char kClickToCallUIName[] =
4193     "Enable click to call feature signals to be handled on desktop";
4194 const char kClickToCallUIDescription[] =
4195     "Enables click to call feature signals to be handled on desktop by showing "
4196     "a list of user's available devices with telephony functionality.";
4197 #endif  // BUILDFLAG(ENABLE_CLICK_TO_CALL)
4198
4199 #if BUILDFLAG(ENABLE_DICE_SUPPORT)
4200 const char kDiceWebSigninInterceptionName[] = "Dice Web-Signin Interception";
4201 const char kDiceWebSigninInterceptionDescription[] =
4202     "If enabled, Chrome may promote profile creation after signin on the web.";
4203 #endif
4204
4205 #if BUILDFLAG(ENABLE_NACL)
4206 const char kNaclName[] = "Native Client";
4207 const char kNaclDescription[] =
4208     "Support Native Client for all web applications, even those that were not "
4209     "installed from the Chrome Web Store.";
4210 #endif  // ENABLE_NACL
4211
4212 #if BUILDFLAG(ENABLE_PAINT_PREVIEW) && defined(OS_ANDROID)
4213 const char kPaintPreviewDemoName[] = "Paint Preview Demo";
4214 const char kPaintPreviewDemoDescription[] =
4215     "If enabled a menu item is added to the Android main menu to demo paint "
4216     "previews.";
4217 const char kPaintPreviewStartupName[] = "Paint Preview Startup";
4218 const char kPaintPreviewStartupDescription[] =
4219     "If enabled, paint previews for each tab are captured when a tab is hidden "
4220     "and are deleted when a tab is closed. If a paint preview was captured for "
4221     "the tab to be restored on startup, the paint preview will be shown "
4222     "instead.";
4223 #endif  // ENABLE_PAINT_PREVIEW && defined(OS_ANDROID)
4224
4225 #if BUILDFLAG(ENABLE_PLUGINS)
4226
4227 const char kPdfFormSaveName[] = "Save PDF Forms";
4228 const char kPdfFormSaveDescription[] =
4229     "Enable saving PDFs with filled form data.";
4230
4231 const char kPdfHonorJsContentSettingsName[] =
4232     "Honor JavaScript content settings in PDFs";
4233 const char kPdfHonorJsContentSettingsDescription[] =
4234     "Enable whether an origin's JavaScript content settings are honored in "
4235     "PDFs opened from that origin.";
4236
4237 const char kPdfTwoUpViewName[] = "PDF Two-up View";
4238 const char kPdfTwoUpViewDescription[] =
4239     "Enable a new option to display two pages side by side in the PDF viewer.";
4240
4241 const char kPdfViewerUpdateName[] = "PDF Viewer Update";
4242 const char kPdfViewerUpdateDescription[] =
4243     "When enabled, the PDF viewer will display an updated UI with new "
4244     "options and features.";
4245 #endif  // BUILDFLAG(ENABLE_PLUGINS)
4246
4247 #if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
4248 const char kWebUITabStripName[] = "WebUI tab strip";
4249 const char kWebUITabStripDescription[] =
4250     "When enabled makes use of a WebUI-based tab strip.";
4251
4252 const char kWebUITabStripDemoOptionsName[] = "WebUI tab strip demo options";
4253 const char kWebUITabStripDemoOptionsDescription[] =
4254     "When enabled, displays a set of options to demo and test various features "
4255     "and behaviors of the WebUI tab strip. The WebUI tab strip must also be "
4256     "enabled.";
4257 #endif  // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
4258
4259 #if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
4260
4261 const char kAutofillCreditCardUploadName[] =
4262     "Enable offering upload of Autofilled credit cards";
4263 const char kAutofillCreditCardUploadDescription[] =
4264     "Enables a new option to upload credit cards to Google Payments for sync "
4265     "to all Chrome devices.";
4266
4267 #endif  // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
4268
4269 #if defined(WEBRTC_USE_PIPEWIRE)
4270 const char kWebrtcPipeWireCapturerName[] = "WebRTC PipeWire support";
4271 const char kWebrtcPipeWireCapturerDescription[] =
4272     "When enabled the WebRTC will use the PipeWire multimedia server for "
4273     "capturing the desktop content on the Wayland display server.";
4274 #endif  // #if defined(WEBRTC_USE_PIPEWIRE)
4275
4276 // ============================================================================
4277 // Don't just add flags to the end, put them in the right section in
4278 // alphabetical order just like the header file.
4279 // ============================================================================
4280
4281 }  // namespace flag_descriptions