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 "ios/chrome/browser/flags/ios_chrome_flag_descriptions.h"
6 
7 // This file declares strings used in chrome://flags. These messages are not
8 // translated, because instead of end-users they target Chromium developers and
9 // testers. See https://crbug.com/587272 and https://crbug.com/703134 for more
10 // details.
11 
12 namespace flag_descriptions {
13 
14 const char kAddWebContentDropInteractionName[] =
15     "Add Web Content Drop Interaction";
16 const char kAddWebContentDropInteractionDescription[] =
17     "When enabled, adds ability to drop a URL on the web content area to "
18     "navigate to that URL.";
19 
20 const char kAutofillCacheQueryResponsesName[] =
21     "Cache Autofill Query Responses";
22 const char kAutofillCacheQueryResponsesDescription[] =
23     "When enabled, autofill will cache the responses it receives from the "
24     "crowd-sourced field type prediction server.";
25 
26 const char kAutofillCreditCardUploadName[] =
27     "Offers uploading Autofilled credit cards";
28 const char kAutofillCreditCardUploadDescription[] =
29     "Offers uploading Autofilled credit cards to Google Payments after form "
30     "submission.";
31 
32 const char kAutofillEnableCardNicknameManagementName[] =
33     "Enable Autofill card nickname management";
34 const char kAutofillEnableCardNicknameManagementDescription[] =
35     "When enabled, nicknames for credit cards will be able to be modified "
36     "locally.";
37 
38 const char kAutofillEnableCardNicknameUpstreamName[] =
39     "Enable Autofill card nickname upstream";
40 const char kAutofillEnableCardNicknameUpstreamDescription[] =
41     "When enabled, nicknames for credit cards will be able to be uploaded to "
42     "Payments.";
43 
44 const char kAutofillEnableGoogleIssuedCardName[] =
45     "Enable Autofill Google-issued card";
46 const char kAutofillEnableGoogleIssuedCardDescription[] =
47     "When enabled, Google-issued cards will be available in the autofill "
48     "suggestions.";
49 
50 const char kAutofillEnableOffersInDownstreamName[] =
51     "Enable Autofill offers in downstream";
52 const char kAutofillEnableOffersInDownstreamDescription[] =
53     "When enabled, offer data will be retrieved during downstream and shown in "
54     "the dropdown list.";
55 
56 const char kAutofillIOSDelayBetweenFieldsName[] = "Autofill delay";
57 const char kAutofillIOSDelayBetweenFieldsDescription[] =
58     "Delay between the different fields of a form being autofilled. In "
59     "milliseconds.";
60 
61 const char kAutofillPruneSuggestionsName[] = "Autofill Prune Suggestions";
62 const char kAutofillPruneSuggestionsDescription[] =
63     "Further limits the number of suggestions in the Autofill dropdown.";
64 
65 const char kAutofillSaveCardDismissOnNavigationName[] =
66     "Save Card Dismiss on Navigation";
67 const char kAutofillSaveCardDismissOnNavigationDescription[] =
68     "Dismisses the Save Card Infobar on a user initiated Navigation, other "
69     "than one caused by submitted form.";
70 
71 const char kAutofillSaveCardInfobarEditSupportName[] =
72     "Save Card Infobar Edit Support";
73 const char kAutofillSaveCardInfobarEditSupportDescription[] =
74     "When enabled and saving a credit card to Google Payments, a dialog is "
75     "displayed that allows editing the card info before confirming save.";
76 
77 const char kAutofillRestrictUnownedFieldsToFormlessCheckoutName[] =
78     "Restrict formless form extraction";
79 const char kAutofillRestrictUnownedFieldsToFormlessCheckoutDescription[] =
80     "Restrict extraction of formless forms to checkout flows";
81 
82 const char kAutofillRichMetadataQueriesName[] =
83     "Autofill - Rich metadata queries (Canary/Dev only)";
84 const char kAutofillRichMetadataQueriesDescription[] =
85     "Transmit rich form/field metadata when querying the autofill server. "
86     "This feature only works on the Canary and Dev channels.";
87 
88 const char kAutofillUseMobileLabelDisambiguationName[] =
89     "Autofill Uses Mobile Label Disambiguation";
90 const char kAutofillUseMobileLabelDisambiguationDescription[] =
91     "When enabled, Autofill suggestions' labels are displayed using a "
92     "mobile-friendly format.";
93 
94 const char kAutofillUseRendererIDsName[] =
95     "Autofill logic uses unqiue renderer IDs";
96 const char kAutofillUseRendererIDsDescription[] =
97     "When enabled, Autofill logic uses unique numeric renderer IDs instead "
98     "of string form and field identifiers in form filling logic.";
99 
100 extern const char kLogBreadcrumbsName[] = "Log Breadcrumb Events";
101 extern const char kLogBreadcrumbsDescription[] =
102     "When enabled, breadcrumb events will be logged.";
103 
104 const char kSyntheticCrashReportsForUteName[] =
105     "Generate synthetic crash reports for UTE";
106 const char kSyntheticCrashReportsForUteDescription[] =
107     "When enabled the app will create synthetic crash report when chrome "
108     "starts up after Unexplained Termination Event (UTE).";
109 
110 const char kBreakpadNoDelayInitialUploadName[] =
111     "Remove delay on initial crash upload";
112 const char kBreakpadNoDelayInitialUploadDescription[] =
113     "When enabled, the initial crash uploading will not be delayed. When "
114     "disabled, initial upload is delayed until deferred initialization. This "
115     "does not affect recovery mode.";
116 
117 const char kCollectionsCardPresentationStyleName[] =
118     "Card style presentation for Collections.";
119 const char kCollectionsCardPresentationStyleDescription[] =
120     "When enabled collections are presented using the new iOS13 card "
121     "style.";
122 
123 const char kCreditCardScannerName[] = "Enable the 'Use Camera' button";
124 const char kCreditCardScannerDescription[] =
125     "Allow a user to scan a credit card using the credit card camera scanner."
126     "The 'Use Camera' button is located in the 'Add Payment Method' view";
127 
128 #if defined(DCHECK_IS_CONFIGURABLE)
129 const char kDcheckIsFatalName[] = "DCHECKs are fatal";
130 const char kDcheckIsFatalDescription[] =
131     "By default Chrome will evaluate in this build, but only log failures, "
132     "rather than crashing. If enabled, DCHECKs will crash the calling process.";
133 #endif  // defined(DCHECK_IS_CONFIGURABLE)
134 
135 const char kDefaultBrowserSettingsName[] = "Setting to change Default Browser";
136 const char kDefaultBrowserSettingsDescription[] =
137     "When enabled, adds a button in the settings to allow changing the default "
138     "browser in the Settings.app.";
139 
140 const char kDefaultToDesktopOnIPadName[] = "Request desktop version by default";
141 const char kDefaultToDesktopOnIPadDescription[] =
142     "By default, on iPad, the desktop version of the web sites will be "
143     "requested";
144 
145 const char kDefaultBrowserFullscreenPromoName[] =
146     "Fullscreen modal promo about the default browser feature";
147 const char kDefaultBrowserFullscreenPromoDescription[] =
148     "When enabled, will allow for a fullscreen modal promo to be shown to "
149     "users informing them about the default browser feature and providing a "
150     "button that takes users to Settings.app to update their default browser.";
151 
152 const char kDelayThresholdMinutesToUpdateGaiaCookieName[] =
153     "Delay for polling (in minutes) to verify the existence of GAIA cookies.";
154 const char kDelayThresholdMinutesToUpdateGaiaCookieDescription[] =
155     "Used for testing purposes to reduce the amount of delay between polling "
156     "intervals.";
157 
158 const char kDetectMainThreadFreezeName[] = "Detect freeze in the main thread.";
159 const char kDetectMainThreadFreezeDescription[] =
160     "A crash report will be uploaded if the main thread is frozen more than "
161     "the time specified by this flag.";
162 
163 const char kDisableProgressBarAnimationName[] =
164     "Disable page load progress bar animation";
165 const char kDisableProgressBarAnimationDescription[] =
166     "Disable progress bar animation when a page loads.";
167 
168 const char kDiscoverFeedInNtpName[] = "Enable new content Suggestion Feed";
169 const char kDiscoverFeedInNtpDescription[] =
170     "When enabled, replaces articles feed with new content Suggestion Feed in "
171     "the NTP.";
172 
173 const char kDragAndDropName[] = "Drag and Drop";
174 const char kDragAndDropDescription[] = "Enable support for drag and drop.";
175 
176 const char kEditBookmarksIOSName[] = "Edit Bookmarks IOS";
177 const char kEditBookmarksIOSDescription[] =
178     "Enables support for the EditBookmarksEnabled enterprise policy on iOS";
179 
180 const char kEditPasswordsInSettingsName[] = "Edit passwords in settings";
181 const char kEditPasswordsInSettingsDescription[] =
182     "Enables password editing in settings.";
183 
184 const char kEmbedderBlockRestoreUrlName[] =
185     "Allow embedders to prevent certain URLs from restoring.";
186 const char kEmbedderBlockRestoreUrlDescription[] =
187     "Embedders can prevent URLs from restoring.";
188 
189 const char kEnableAutofillCacheServerCardInfoName[] =
190     "Enable Autofill to cache unmasked server card info";
191 const char kEnableAutofillCacheServerCardInfoDescription[] =
192     "If enabled, when a server card is unmasked, its info will be cached until "
193     "page navigation to simplify consecutive fills on the same page.";
194 
195 const char kEnableCloseAllTabsConfirmationName[] =
196     "Enable Close All Tabs confirmation";
197 const char kEnableCloseAllTabsConfirmationDescription[] =
198     "Enable showing an action sheet that asks for confirmation when 'Close "
199     "All' button is tapped on the tab grid to avoid unwanted clearing.";
200 
201 const char kEnableFullPageScreenshotName[] = "Enable fullpage screenshots";
202 const char kEnableFullPageScreenshotDescription[] =
203     "Enables the option of capturing an entire webpage as a PDF when a "
204     "screenshot is taken.";
205 
206 const char kEnableIOSManagedSettingsUIName[] = "Enable IOS Managed Settings UI";
207 const char kEnableIOSManagedSettingsUIDescription[] =
208     "Enable showing a different UI when the setting is managed by an "
209     "enterprise policy on iOS.";
210 
211 const char kEnableMyGoogleName[] = "Enable MyGoogle UI";
212 const char kEnableMyGoogleDescription[] =
213     "Enable MyGoogle account management UI in iOS Settings";
214 
215 const char kEnableNativeContextMenusName[] =
216     "Enable Context Menus in Native UI";
217 const char kEnableNativeContextMenusDescription[] =
218     "Enables the new iOS 13 context menus on various pieces of UI in native "
219     "Chrome (e.g. History, Bookmarks).";
220 
221 const char kExpandedTabStripName[] = "Enable expanded tabstrip";
222 const char kExpandedTabStripDescription[] =
223     "Enables the new expanded tabstrip. Activated by swiping down the tabstrip"
224     " or the toolbar";
225 
226 const char kExtendOpenInFilesSupportName[] =
227     "Extend Open in toolbar files support";
228 const char kExtendOpenInFilesSupportDescription[] =
229     "When enabled, the Open in toolbar is displayed on more file types";
230 
231 const char kForceStartupSigninPromoName[] = "Display the startup sign-in promo";
232 const char kForceStartupSigninPromoDescription[] =
233     "When enabled, the startup sign-in promo is always displayed when starting "
234     "Chrome.";
235 
236 const char kForceUnstackedTabstripName[] = "Force unstacked tabstrip.";
237 const char kForceUnstackedTabstripDescription[] =
238     "When enabled, the tabstrip will draw unstacked, without tab collapsing.";
239 
240 const char kFullscreenSmoothScrollingName[] = "Fullscreen Smooth Scrolling";
241 const char kFullscreenSmoothScrollingDescription[] =
242     "When enabled, the web view's insets are updated for scoll events. If "
243     "disabled, the the web view's frame are updated.";
244 
245 const char kFullscreenControllerBrowserScopedName[] =
246     "Scope FullscreenController to Browser";
247 const char kFullscreenControllerBrowserScopedDescription[] =
248     "When enabled, FullscreenController will be stored and retrieved using the "
249     "Browser.";
250 
251 const char kIncognitoAuthenticationName[] =
252     "Device Authentication for Incognito";
253 extern const char kIncognitoAuthenticationDescription[] =
254     "When enabled, a setting appears to enable biometric authentication for "
255     "accessing incognito.";
256 
257 const char kIllustratedEmptyStatesName[] = "Illustrated empty states";
258 const char kIllustratedEmptyStatesDescription[] =
259     "Display new illustrations and layout on empty states.";
260 
261 const char kInfobarOverlayUIName[] = "Use OverlayPresenter for infobars";
262 const char kInfobarOverlayUIDescription[] =
263     "When enabled alongside the Infobar UI Reboot, infobars will be presented "
264     "using OverlayPresenter.";
265 
266 const char kInfobarUIRebootName[] = "Infobar UI Reboot";
267 const char kInfobarUIRebootDescription[] =
268     "When enabled, Infobar will use the new UI.";
269 
270 const char kInfobarUIRebootOnlyiOS13Name[] = "Infobar UI Reboot iOS13";
271 const char kInfobarUIRebootOnlyiOS13Description[] =
272     "When enabled, Infobar will use the new UI only on iOS13";
273 
274 const char kSigninNotificationInfobarUsernameInTitleName[] =
275     "Sign-in notification infobar title";
276 const char kSigninNotificationInfobarUsernameInTitleDescription[] =
277     "When enabled, uses the authenticated user's full name in the infobar "
278     "title.";
279 
280 const char kInProductHelpDemoModeName[] = "In-Product Help Demo Mode";
281 const char kInProductHelpDemoModeDescription[] =
282     "When enabled, in-product help promotions occur exactly once per cold "
283     "start. Enabled causes all in-product help promotions to occur. Enabling "
284     "an individual promotion causes that promotion but no other promotions to "
285     "occur.";
286 
287 const char kIOSLegacyTLSInterstitialsName[] = "Show legacy TLS interstitials";
288 const char kIOSLegacyTLSInterstitialsDescription[] =
289     "When enabled, an interstitial will be shown on main-frame navigations "
290     "that use legacy TLS connections, and subresources using legacy TLS "
291     "connections will be blocked.";
292 
293 const char kIOSLookalikeUrlNavigationSuggestionsUIName[] =
294     "Lookalike URL Navigation Suggestions UI";
295 const char kIOSLookalikeUrlNavigationSuggestionsUIDescription[] =
296     "When enabled, an interstitial will be shown on navigations to lookalike "
297     "URLs.";
298 
299 const char kIOSPersistCrashRestoreName[] = "Persist Crash Restore Infobar";
300 const char kIOSPersistCrashRestoreDescription[] =
301     "When enabled, the Crash Restore Infobar will persist through navigations "
302     "instead of dismissing.";
303 
304 const char kLocationPermissionsPromptName[] =
305     "Location Permisssions Prompt Experiment";
306 const char kLocationPermissionsPromptDescription[] =
307     "When enabled, a different user experience flow will be shown to ask for "
308     "location permissions.";
309 
310 const char kLockBottomToolbarName[] = "Lock bottom toolbar";
311 const char kLockBottomToolbarDescription[] =
312     "When enabled, the bottom toolbar will not get collapsed when scrolling "
313     "into fullscreen mode.";
314 
315 const char kManagedBookmarksIOSName[] = "Managed Bookmarks IOS";
316 const char kManagedBookmarksIOSDescription[] =
317     "When enabled, managed bookmarks set by an enterprise policy can be shown "
318     "in the bookmarks UI on iOS";
319 
320 const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
321 const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
322 
323 const char kMobileGoogleSRPName[] = "Mobile version of Google SRP by default";
324 const char kMobileGoogleSRPDescription[] =
325     "Request the Mobile version of Google SRP by default when the desktop mode "
326     "is requested by default.";
327 
328 const char kMobileIdentityConsistencyName[] = "Mobile identity consistency";
329 const char kMobileIdentityConsistencyDescription[] =
330     "Enables identity consistency on mobile by decoupling sync and sign-in.";
331 
332 const char kModernTabStripName[] = "Modern TabStrip";
333 const char kModernTabStripDescription[] =
334     "When enabled, the newly implemented tabstrip can be tested.";
335 
336 const char kOmniboxUIMaxAutocompleteMatchesName[] =
337     "Omnibox UI Max Autocomplete Matches";
338 const char kOmniboxUIMaxAutocompleteMatchesDescription[] =
339     "Changes the maximum number of autocomplete matches displayed in the "
340     "Omnibox UI.";
341 
342 const char kOmniboxOnDeviceHeadSuggestionsIncognitoName[] =
343     "Omnibox on device head suggestions (incognito only)";
344 const char kOmniboxOnDeviceHeadSuggestionsIncognitoDescription[] =
345     "Shows Google head non personalized search suggestions provided by a "
346     "compact on device model for incognito";
347 
348 const char kOmniboxOnDeviceHeadSuggestionsNonIncognitoName[] =
349     "Omnibox on device head suggestions (non-incognito only)";
350 const char kOmniboxOnDeviceHeadSuggestionsNonIncognitoDescription[] =
351     "Shows Google head non personalized search suggestions provided by a "
352     "compact on device model for non-incognito";
353 
354 const char kOmniboxOnFocusSuggestionsName[] = "Omnibox on-focus suggestions";
355 const char kOmniboxOnFocusSuggestionsDescription[] =
356     "Configures Omnibox on-focus suggestions - suggestions displayed on-focus "
357     "before the user has typed any input. This provides overrides for the "
358     "default suggestion locations.";
359 
360 const char kPageInfoRefactoringName[] = "New design of the page info";
361 const char kPageInfoRefactoringDescription[] =
362     "Uses the new design for the page security info.";
363 
364 const char kOmniboxLocalHistoryZeroSuggestName[] =
365     "Omnibox local zero-prefix suggestions";
366 const char kOmniboxLocalHistoryZeroSuggestDescription[] =
367     "Configures the omnibox zero-prefix suggestion to use local search "
368     "history.";
369 
370 #if defined(__IPHONE_13_4)
371 const char kPointerSupportName[] = "Enables pointer support on tablets";
372 const char kPointerSupportDescription[] =
373     "Enables pointer support on tablets on iOS 13.4 and above.";
374 #endif  // defined(__IPHONE_13_4)
375 
376 const char kRestoreGaiaCookiesIfDeletedName[] =
377     "Restore GAIA cookies if deleted";
378 const char kRestoreGaiaCookiesIfDeletedDescription[] =
379     "When enabled, will restore GAIA cookies for signed-in Chrome users if "
380     "they are deleted.";
381 
382 const char kSafeBrowsingAvailableName[] = "Make Safe Browsing available";
383 const char kSafeBrowsingAvailableDescription[] =
384     "When enabled, navigation URLs are compared to Safe Browsing blocklists, "
385     "subject to an opt-out preference.";
386 
387 const char kSafeBrowsingRealTimeLookupName[] = "Enable real-time Safe Browsing";
388 const char kSafeBrowsingRealTimeLookupDescription[] =
389     "When enabled, navigation URLs are checked using real-time queries to Safe "
390     "Browsing servers, subject to an opt-in preference.";
391 
392 const char kSafetyCheckIOSName[] = "Enable safety check on iOS";
393 const char kSafetyCheckIOSDescription[] =
394     "When enabled, the iOS version of safety check is available in Chrome "
395     "settings.";
396 
397 const char kSaveCardInfobarMessagesUIName[] = "Save Card Infobar Messages UI";
398 const char kSaveCardInfobarMessagesUIDescription[] =
399     "When enabled, Save Card Infobar uses the new Messages UI.";
400 
401 const char kScreenTimeIntegrationName[] = "Enables ScreenTime Integration";
402 const char kScreenTimeIntegrationDescription[] =
403     "Enables integration with ScreenTime in iOS 14.0 and above.";
404 
405 const char kScrollToTextIOSName[] = "Enable Scroll to Text";
406 const char kScrollToTextIOSDescription[] =
407     "When enabled, opening a URL with a text fragment (e.g., "
408     "example.com/#:~:text=examples) will cause matching text in the page to be "
409     "highlighted and scrolled into view.";
410 
411 const char kSendTabToSelfName[] = "Send tab to self";
412 const char kSendTabToSelfDescription[] =
413     "Allows users to receive tabs that were pushed from another of their "
414     "synced devices, in order to easily transition tabs between devices.";
415 
416 const char kSendUmaOverAnyNetwork[] =
417     "Send UMA data over any network available.";
418 const char kSendUmaOverAnyNetworkDescription[] =
419     "When enabled, will send UMA data over either WiFi or cellular by default.";
420 
421 const char kSettingsRefreshName[] = "Enable the UI Refresh for Settings";
422 const char kSettingsRefreshDescription[] =
423     "Change the UI appearance of the settings to have something in phase with "
424     "UI Refresh.";
425 
426 const char kSharedHighlightingIOSName[] = "Enable Shared Highlighting features";
427 const char kSharedHighlightingIOSDescription[] =
428     "Adds a Link to Text option in the Edit Menu which generates URLs with a "
429     "text fragment. Works best with the #scroll-to-text-ios flag.";
430 
431 const char kShowAutofillTypePredictionsName[] = "Show Autofill predictions";
432 const char kShowAutofillTypePredictionsDescription[] =
433     "Annotates web forms with Autofill field type predictions as placeholder "
434     "text.";
435 
436 const char kSnapshotDrawViewName[] = "Use DrawViewHierarchy for Snapshots";
437 const char kSnapshotDrawViewDescription[] =
438     "When enabled, snapshots will be taken using |-drawViewHierarchy:|.";
439 
440 const char kSyncSandboxName[] = "Use Chrome Sync sandbox";
441 const char kSyncSandboxDescription[] =
442     "Connects to the testing server for Chrome Sync.";
443 
444 const char kToolbarContainerName[] = "Use Toolbar Containers";
445 const char kToolbarContainerDescription[] =
446     "When enabled, the toolbars and their fullscreen animations will be "
447     "managed by the toolbar container coordinator rather than BVC.";
448 
449 const char kTranslateInfobarMessagesUIName[] =
450     "Enable Translate Infobar Messages UI";
451 const char kTranslateInfobarMessagesUIDescription[] =
452     "When enabled, the Translate Infobar uses the new Messages UI.";
453 
454 const char kURLBlocklistIOSName[] = "URL Blocklist Policy";
455 const char kURLBlocklistIOSDescription[] =
456     "When enabled, URLs can be blocked/allowed by the URLBlocklist/URLAllowlist"
457     "enterprise policies.";
458 
459 const char kUseJSForErrorPageName[] = "Enable new error page workflow";
460 const char kUseJSForErrorPageDescription[] =
461     "Use JavaScript for the error pages";
462 
463 const char kWalletServiceUseSandboxName[] = "Use Google Payments sandbox";
464 const char kWalletServiceUseSandboxDescription[] =
465     "Uses the sandbox service for Google Payments API calls.";
466 
467 const char kWebPageDefaultZoomFromDynamicTypeName[] =
468     "Use dynamic type size for default text zoom level";
469 const char kWebPageDefaultZoomFromDynamicTypeDescription[] =
470     "When enabled, the default text zoom level for a website comes from the "
471     "current dynamic type setting.";
472 
473 const char kWebPageTextAccessibilityName[] =
474     "Enable text accessibility in web pages";
475 const char kWebPageTextAccessibilityDescription[] =
476     "When enabled, text in web pages will respect the user's Dynamic Type "
477     "setting.";
478 
479 const char kWebPageAlternativeTextZoomName[] =
480     "Use different method for zooming web pages";
481 const char kWebPageAlternativeTextZoomDescription[] =
482     "When enabled, switches the method used to zoom web pages.";
483 
484 const char kWebViewNativeContextMenuName[] =
485     "Use the native Context Menus in the WebView";
486 const char kWebViewNativeContextMenuDescription[] =
487     "When enabled, the native context menu are displayed when the user long "
488     "press on a link or an image.";
489 
490 const char kWellKnownChangePasswordName[] =
491     "Support for .well-known/change-password";
492 const char kWellKnownChangePasswordDescription[] =
493     "If enabled the 'change password' button in password checkup redirects to "
494     "the .well-known/change-password path. The path is supposed to point to "
495     "the password change form of the site. When the site doesn't support "
496     ".well-known/change-password it is checked if a fallback url is available. "
497     "Otherwise the user is redirected to the origin.";
498 // Please insert your name/description above in alphabetical order.
499 
500 }  // namespace flag_descriptions
501