Chromium Code Reviews| Index: chrome/browser/flags_descriptions.cc |
| diff --git a/chrome/browser/flags_descriptions.cc b/chrome/browser/flags_descriptions.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b564fc22dd4f3f5f663635e0ec6145968508b1c6 |
| --- /dev/null |
| +++ b/chrome/browser/flags_descriptions.cc |
| @@ -0,0 +1,3308 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/flags_descriptions.h" |
| + |
| +namespace flags_descriptions { |
|
agrieve
2017/03/27 15:43:24
likewise for name nit: flag_descriptions
vabr (Chromium)
2017/03/27 18:12:33
Done.
|
| + |
| +// Material Design version of chrome://bookmarks |
| + |
| +const char kEnableMaterialDesignBookmarksName[] = |
| + R"*(Enable Material Design bookmarks)*"; |
|
Alexei Svitkine (slow)
2017/03/27 16:37:28
I don't think we should be prefixing all of these
vabr (Chromium)
2017/03/27 18:12:33
Done.
|
| + |
| +const char kEnableMaterialDesignBookmarksDescription[] = |
| + R"*(If enabled, the chrome://bookmarks/ URL loads the Material Design)*" |
| + R"*(bookmarks page.)*"; |
| + |
| +// Material Design version of chrome://policy |
| + |
| +const char kEnableMaterialDesignPolicyPageName[] = |
| + R"*(Enable Material Design policy page)*"; |
| + |
| +const char kEnableMaterialDesignPolicyPageDescription[] = |
| + R"*(If enabled, the chrome://md-policy URL loads the Material Design)*" |
| + R"*(policy page.)*"; |
| + |
| +// Material Design version of chrome://history |
| + |
| +const char kEnableMaterialDesignHistoryName[] = |
| + R"*(Enable Material Design history)*"; |
| + |
| +const char kEnableMaterialDesignHistoryDescription[] = |
| + R"*(If enabled, the chrome://history/ URL loads the Material Design)*" |
| + R"*(history page.)*"; |
| + |
| +// Material Design version of chrome://settings |
| + |
| +const char kEnableMaterialDesignSettingsName[] = |
| + R"*(Enable Material Design settings)*"; |
| + |
| +const char kEnableMaterialDesignSettingsDescription[] = |
| + R"*(If enabled, the chrome://settings/ URL loads the Material Design)*" |
| + R"*(settings page.)*"; |
| + |
| +// Material Design version of chrome://extensions |
| + |
| +const char kEnableMaterialDesignExtensionsName[] = |
| + R"*(Enable Material Design extensions)*"; |
| + |
| +const char kEnableMaterialDesignExtensionsDescription[] = |
| + R"*(If enabled, the chrome://extensions/ URL loads the Material)*" |
| + R"*(Design extensions page.)*"; |
| + |
| +// Material Design version of feedback form |
| + |
| +const char kEnableMaterialDesignFeedbackName[] = |
| + R"*(Enable Material Design feedback)*"; |
| + |
| +const char kEnableMaterialDesignFeedbackDescription[] = |
| + R"*(If enabled, reporting an issue will load the Material Design)*" |
| + R"*(feedback UI.)*"; |
| + |
| +// Report URL to SafeSearch |
| + |
| +const char kSafeSearchUrlReportingName[] = |
| + R"*(SafeSearch URLs reporting.)*"; |
| + |
| +const char kSafeSearchUrlReportingDescription[] = |
| + R"*(If enabled, inappropriate URLs can be reported back to)*" |
| + R"*(SafeSearch.)*"; |
| + |
| +// Device scale factor change in content crbug.com/485650. |
| + |
| +const char kEnableUseZoomForDsfName[] = |
| + R"*(Use Blink's zoom for device scale factor.)*"; |
| + |
| +const char kEnableUseZoomForDsfDescription[] = |
| + R"*(If enabled, Blink uses its zooming mechanism to scale content for)*" |
| + R"*(device scale factor.)*"; |
| + |
| +const char kEnableUseZoomForDsfChoiceDefault[] = |
| + R"*(Default)*"; |
| + |
| +const char kEnableUseZoomForDsfChoiceEnabled[] = |
| + R"*(Enabled)*"; |
| + |
| +const char kEnableUseZoomForDsfChoiceDisabled[] = |
| + R"*(Disabled)*"; |
| + |
| +const char kNostatePrefetch[] = |
| + R"*(No-State Prefetch)*"; |
| + |
| +const char kNostatePrefetchDescription[] = |
| + R"*("No-State Prefetch" pre-downloads resources to improve load)*" |
| + R"*(times. "Prerender" does a full pre-rendering of the page, to)*" |
| + R"*(improve load times even more. "Simple Load" does nothing and is)*" |
| + R"*(similar to disabling the feature, but collects more metrics for)*" |
| + R"*(comparison purposes.)*"; |
| + |
| +const char kSpeculativePrefetchName[] = |
| + R"*(Speculative Prefetch)*"; |
| + |
| +const char kSpeculativePrefetchDescription[] = |
| + R"*("Speculative Prefetch" fetches likely resources early to improve)*" |
| + R"*(load times, based on a local database (see chrome://predictors).)*" |
| + R"*("Learning" means that only the database construction is enabled,)*" |
| + R"*("Prefetching" that learning and prefetching are enabled.)*"; |
| + |
| +// Force Tablet Mode |
| + |
| +const char kForceTabletModeName[] = |
| + R"*(Force Tablet Mode)*"; |
| + |
| +const char kForceTabletModeDescription[] = |
| + R"*(This flag can be used to force a certain mode on to a chromebook,)*" |
| + R"*(despite its current orientation. "TouchView" means that the)*" |
| + R"*(chromebook will act as if it were in touch view mode. "Clamshell")*" |
| + R"*(means that the chromebook will act as if it were in clamshell)*" |
| + R"*(mode . "Auto" means that the chromebook will alternate between)*" |
| + R"*(the two, based on its orientation.)*"; |
| + |
| +const char kForceTabletModeTouchview[] = |
| + R"*(TouchView)*"; |
| + |
| +const char kForceTabletModeClamshell[] = |
| + R"*(Clamshell)*"; |
| + |
| +const char kForceTabletModeAuto[] = |
| + R"*(Auto (default))*"; |
| + |
| +// Print Preview features |
| + |
| +const char kPrintPdfAsImageName[] = |
| + R"*(Print Pdf as Image)*"; |
| + |
| +const char kPrintPdfAsImageDescription[] = |
| + R"*(If enabled, an option to print PDF files as images will be)*" |
| + R"*(available in print preview.)*"; |
| + |
| +const char kPrintScalingName[] = |
| + R"*(Print Scaling.)*"; |
| + |
| +const char kPrintScalingDescription[] = |
| + R"*(If enabled, an option to scale documents will be available in)*" |
| + R"*(print preview.)*"; |
| + |
| +const char kNaclName[] = |
| + R"*(Native Client)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kNaclDescription[] = |
| + R"*(Enable support for Native Client.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if !defined(OS_ANDROID) |
| + |
| +const char kNaclDescription[] = |
| + R"*(Support Native Client for all web applications, even those that)*" |
| + R"*(were not installed from the Chrome Web Store.)*"; |
| + |
| +#endif // !defined(OS_ANDROID) |
| + |
| +const char kNaclDebugName[] = |
| + R"*(Native Client GDB-based debugging)*"; |
| + |
| +const char kNaclDebugDescription[] = |
| + R"*(Enable GDB debug stub. This will stop a Native Client application)*" |
| + R"*(on startup and wait for nacl-gdb (from the NaCl SDK) to attach to)*" |
| + R"*(it.)*"; |
| + |
| +#if !defined(OS_ANDROID) |
| + |
| +const char kPnaclSubzeroName[] = |
| + R"*(Force PNaCl Subzero)*"; |
| + |
| +const char kPnaclSubzeroDescription[] = |
| + R"*(Force the use of PNaCl's fast Subzero translator for all pexe)*" |
| + R"*(files.)*"; |
| + |
| +#endif // !defined(OS_ANDROID) |
| + |
| +const char kNaclDebugMaskName[] = |
| + R"*(Restrict Native Client GDB-based debugging by pattern)*"; |
| + |
| +const char kNaclDebugMaskDescription[] = |
| + R"*(Restricts Native Client application GDB-based debugging by URL of)*" |
| + R"*(manifest file. Native Client GDB-based debugging must be enabled)*" |
| + R"*(for this option to work.)*"; |
| + |
| +const char kNaclDebugMaskChoiceDebugAll[] = |
| + R"*(Debug everything.)*"; |
| + |
| +const char kNaclDebugMaskChoiceExcludeUtilsPnacl[] = |
| + R"*(Debug everything except secure shell and the PNaCl translator.)*"; |
| + |
| +const char kNaclDebugMaskChoiceIncludeDebug[] = |
| + R"*(Debug only if manifest URL ends with debug.nmf.)*"; |
| + |
| +const char kEnableHttpFormWarningName[] = |
| + R"*(Show in-form warnings for sensitive fields when the top-level)*" |
| + R"*(page is not HTTPS)*"; |
| + |
| +const char kEnableHttpFormWarningDescription[] = |
| + R"*(Attaches a warning UI to any password or credit card fields)*" |
| + R"*(detected when the top-level page is not HTTPS)*"; |
| + |
| +const char kMarkHttpAsName[] = |
| + R"*(Mark non-secure origins as non-secure)*"; |
| + |
| +const char kMarkHttpAsDescription[] = |
| + R"*(Change the UI treatment for HTTP pages)*"; |
| + |
| +const char kMarkHttpAsDangerous[] = |
| + R"*(Always mark HTTP as actively dangerous)*"; |
| + |
| +const char kSavePageAsMhtmlName[] = |
| + R"*(Save Page as MHTML)*"; |
| + |
| +const char kSavePageAsMhtmlDescription[] = |
| + R"*(Enables saving pages as MHTML: a single text file containing HTML)*" |
| + R"*(and all sub-resources.)*"; |
| + |
| +// Flag and values for MHTML Geenrator options lab. |
| + |
| +const char kMhtmlGeneratorOptionName[] = |
| + R"*(MHTML Generation Option)*"; |
| + |
| +const char kMhtmlGeneratorOptionDescription[] = |
| + R"*(Provides experimental options for MHTML file generator.)*"; |
| + |
| +const char kMhtmlSkipNostoreMain[] = |
| + R"*(Skips no-store main frame.)*"; |
| + |
| +const char kMhtmlSkipNostoreAll[] = |
| + R"*(Skips all no-store resources.)*"; |
| + |
| +const char kDeviceDiscoveryNotificationsName[] = |
| + R"*(Device Discovery Notifications)*"; |
| + |
| +const char kDeviceDiscoveryNotificationsDescription[] = |
| + R"*(Device discovery notifications on local network.)*"; |
| + |
| +#if defined(OS_WIN) |
| + |
| +const char kCloudPrintXpsName[] = |
| + R"*(XPS in Google Cloud Print)*"; |
| + |
| +const char kCloudPrintXpsDescription[] = |
| + R"*(XPS enables advanced options for classic printers connected to)*" |
| + R"*(the Cloud Print with Chrome. Printers must be re-connected after)*" |
| + R"*(changing this flag.)*"; |
| + |
| +#endif // defined(OS_WIN) |
| + |
| +const char kLoadMediaRouterComponentExtensionName[] = |
| + R"*(Load Media Router Component Extension)*"; |
| + |
| +const char kLoadMediaRouterComponentExtensionDescription[] = |
| + R"*(Loads the Media Router component extension at startup.)*"; |
| + |
| +const char kPrintPreviewRegisterPromosName[] = |
| + R"*(Print Preview Registration Promos)*"; |
| + |
| +const char kPrintPreviewRegisterPromosDescription[] = |
| + R"*(Enable registering unregistered cloud printers from print)*" |
| + R"*(preview.)*"; |
| + |
| +const char kScrollPredictionName[] = |
| + R"*(Scroll prediction)*"; |
| + |
| +const char kTopChromeMd[] = |
| + R"*(UI Layout for the browser's top chrome)*"; |
| + |
| +const char kTopChromeMdDescription[] = |
| + R"*(Toggles between normal and touch (formerly "hybrid") layouts.)*"; |
| + |
| +const char kTopChromeMdMaterial[] = |
| + R"*(Normal)*"; |
| + |
| +const char kTopChromeMdMaterialHybrid[] = |
| + R"*(Touch)*"; |
| + |
| +const char kSiteSettings[] = |
| + R"*(Site settings with All sites and Site details)*"; |
| + |
| +const char kSiteSettingsDescription[] = |
| + R"*(Adds new ways of viewing Site settings.)*"; |
| + |
| +const char kSecondaryUiMd[] = |
| + R"*(Material Design in the rest of the browser's native UI)*"; |
| + |
| +const char kSecondaryUiMdDescription[] = |
| + R"*(Extends the --top-chrome-md setting to secondary UI (bubbles,)*" |
| + R"*(dialogs, etc.). On Mac, this enables MacViews, which uses)*" |
| + R"*(toolkit-views for native browser dialogs.)*"; |
| + |
| +const char kScrollPredictionDescription[] = |
| + R"*(Predicts the finger's future position during scrolls allowing)*" |
| + R"*(time to render the frame before the finger is there.)*"; |
| + |
| +const char kAddToShelfName[] = |
| + R"*(Add to shelf)*"; |
| + |
| +const char kAddToShelfDescription[] = |
| + R"*(Enable the display of add to shelf banners, which prompt a user)*" |
| + R"*(to add a web app to their shelf, or other platform-specific)*" |
| + R"*(equivalent.)*"; |
| + |
| +const char kBypassAppBannerEngagementChecksName[] = |
| + R"*(Bypass user engagement checks)*"; |
| + |
| +const char kBypassAppBannerEngagementChecksDescription[] = |
| + R"*(Bypasses user engagement checks for displaying app banners, such)*" |
| + R"*(as requiring that users have visited the site before and that the)*" |
| + R"*(banner hasn't been shown recently. This allows developers to test)*" |
| + R"*(that other eligibility requirements for showing app banners, such)*" |
| + R"*(as having a manifest, are met.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kAccessibilityTabSwitcherName[] = |
| + R"*(Accessibility Tab Switcher)*"; |
| + |
| +const char kAccessibilityTabSwitcherDescription[] = |
| + R"*(Enable the accessibility tab switcher for Android.)*"; |
| + |
| +const char kEnablePhysicalWebName[] = |
| + R"*(Enable the Physical Web.)*"; |
| + |
| +const char kEnablePhysicalWebDescription[] = |
| + R"*(Enable scanning for URLs from Physical Web objects.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kTouchEventsName[] = |
| + R"*(Touch Events API)*"; |
| + |
| +const char kTouchEventsDescription[] = |
| + R"*(Force Touch Events API feature detection to always be enabled or)*" |
| + R"*(disabled, or to be enabled when a touchscreen is detected on)*" |
| + R"*(startup (Automatic, the default).)*"; |
| + |
| +const char kTouchAdjustmentName[] = |
| + R"*(Touch adjustment)*"; |
| + |
| +const char kTouchAdjustmentDescription[] = |
| + R"*(Refine the position of a touch gesture in order to compensate for)*" |
| + R"*(touches having poor resolution compared to a mouse.)*"; |
| + |
| +const char kCompositedLayerBorders[] = |
| + R"*(Composited render layer borders)*"; |
| + |
| +const char kCompositedLayerBordersDescription[] = |
| + R"*(Renders a border around composited Render Layers to help debug)*" |
| + R"*(and study layer compositing.)*"; |
| + |
| +const char kGlCompositedTextureQuadBorders[] = |
| + R"*(GL composited texture quad borders)*"; |
| + |
| +const char kGlCompositedTextureQuadBordersDescription[] = |
| + R"*(Renders a border around GL composited texture quads to help debug)*" |
| + R"*(and study overlay support.)*"; |
| + |
| +const char kShowOverdrawFeedback[] = |
| + R"*(Show overdraw feedback)*"; |
| + |
| +const char kShowOverdrawFeedbackDescription[] = |
| + R"*(Visualize overdraw by color-coding elements based on if they have)*" |
| + R"*(other elements drawn underneath.)*"; |
| + |
| +const char kUiPartialSwapName[] = |
| + R"*(Partial swap)*"; |
| + |
| +const char kUiPartialSwapDescription[] = |
| + R"*(Sets partial swap behavior.)*"; |
| + |
| +const char kDebugShortcutsName[] = |
| + R"*(Debugging keyboard shortcuts)*"; |
| + |
| +const char kIgnoreGpuBlacklistName[] = |
| + R"*(Override software rendering list)*"; |
| + |
| +const char kIgnoreGpuBlacklistDescription[] = |
| + R"*(Overrides the built-in software rendering list and enables)*" |
| + R"*(GPU-acceleration on unsupported system configurations.)*"; |
| + |
| +const char kInertVisualViewportName[] = |
| + R"*(Inert visual viewport.)*"; |
| + |
| +const char kInertVisualViewportDescription[] = |
| + R"*(Experiment to have all APIs reflect the layout viewport. This)*" |
| + R"*(will make window.scroll properties relative to the layout)*" |
| + R"*(viewport.)*"; |
| + |
| +const char kExperimentalCanvasFeaturesName[] = |
| + R"*(Experimental canvas features)*"; |
| + |
| +const char kExperimentalCanvasFeaturesDescription[] = |
| + R"*(Enables the use of experimental canvas features which are still)*" |
| + R"*(in development.)*"; |
| + |
| +const char kAccelerated2dCanvasName[] = |
| + R"*(Accelerated 2D canvas)*"; |
| + |
| +const char kAccelerated2dCanvasDescription[] = |
| + R"*(Enables the use of the GPU to perform 2d canvas rendering instead)*" |
| + R"*(of using software rendering.)*"; |
| + |
| +const char kDisplayList2dCanvasName[] = |
| + R"*(Display list 2D canvas)*"; |
| + |
| +const char kDisplayList2dCanvasDescription[] = |
| + R"*(Enables the use of display lists to record 2D canvas commands.)*" |
| + R"*(This allows 2D canvas rasterization to be performed on separate)*" |
| + R"*(thread.)*"; |
| + |
| +const char kEnable2dCanvasDynamicRenderingModeSwitchingName[] = |
| + R"*(Enable 2D canvas dynamic rendering mode switching.)*"; |
| + |
| +const char kEnable2dCanvasDynamicRenderingModeSwitchingDescription[] = |
| + R"*(There are multiple implementations of the graphics rendering)*" |
| + R"*(pipeline for the 2D canvas. These different implementations have)*" |
| + R"*(different performance characteristics. Turning on this flag)*" |
| + R"*(allows canvas 2D contexts to switch between these implementations)*" |
| + R"*(on the fly based on how the canvas is used in order to increase)*" |
| + R"*(performance. For example, going from an implementation that uses)*" |
| + R"*(the GPU to one that doesn't.)*"; |
| + |
| +const char kExperimentalExtensionApisName[] = |
| + R"*(Experimental Extension APIs)*"; |
| + |
| +const char kExperimentalExtensionApisDescription[] = |
| + R"*(Enables experimental extension APIs. Note that the extension)*" |
| + R"*(gallery doesn't allow you to upload extensions that use)*" |
| + R"*(experimental APIs.)*"; |
| + |
| +const char kExtensionsOnChromeUrlsName[] = |
| + R"*(Extensions on chrome:// URLs)*"; |
| + |
| +const char kExtensionsOnChromeUrlsDescription[] = |
| + R"*(Enables running extensions on chrome:// URLs, where extensions)*" |
| + R"*(explicitly request this permission.)*"; |
| + |
| +const char kFastUnloadName[] = |
| + R"*(Fast tab/window close)*"; |
| + |
| +const char kFastUnloadDescription[] = |
| + R"*(Enables fast tab/window closing - runs a tab's onunload js)*" |
| + R"*(handler independently of the GUI.)*"; |
| + |
| +const char kUserConsentForExtensionScriptsName[] = |
| + R"*(User consent for extension scripts)*"; |
| + |
| +const char kUserConsentForExtensionScriptsDescription[] = |
| + R"*(Require user consent for an extension running a script on the)*" |
| + R"*(page, if the extension requested permission to run on all urls.)*"; |
| + |
| +const char kHistoryRequiresUserGestureName[] = |
| + R"*(New history entries require a user gesture.)*"; |
| + |
| +const char kHistoryRequiresUserGestureDescription[] = |
| + R"*(Require a user gesture to add a history entry.)*"; |
| + |
| +const char kHyperlinkAuditingName[] = |
| + R"*(Hyperlink auditing)*"; |
| + |
| +const char kHyperlinkAuditingDescription[] = |
| + R"*(Sends hyperlink auditing pings.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kContextualSearch[] = |
| + R"*(Contextual Search)*"; |
| + |
| +const char kContextualSearchDescription[] = |
| + R"*(Whether or not Contextual Search is enabled.)*"; |
| + |
| +const char kContextualSearchContextualCardsBarIntegration[] = |
| + R"*(Contextual Search - Contextual Cards Integration)*"; |
| + |
| +const char kContextualSearchContextualCardsBarIntegrationDescription[] = |
| + R"*(Whether or not integration of Contextual Cards data in the)*" |
| + R"*(Contextual Search Bar is enabled.)*"; |
| + |
| +const char kContextualSearchSingleActions[] = |
| + R"*(Contextual Search - Single Actions)*"; |
| + |
| +const char kContextualSearchSingleActionsDescription[] = |
| + R"*(Whether or not single actions using Contextual Cards data in the)*" |
| + R"*(Contextual Search Bar is enabled.)*"; |
| + |
| +const char kContextualSearchUrlActions[] = |
| + R"*(Contextual Search - URL Actions)*"; |
| + |
| +const char kContextualSearchUrlActionsDescription[] = |
| + R"*(Whether or not URL actions using Contextual Cards data in the)*" |
| + R"*(Contextual Search Bar is enabled.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kSmoothScrollingName[] = |
| + R"*(Smooth Scrolling)*"; |
| + |
| +const char kSmoothScrollingDescription[] = |
| + R"*(Animate smoothly when scrolling page content.)*"; |
| + |
| +const char kOverlayScrollbarsName[] = |
| + R"*(Overlay Scrollbars)*"; |
| + |
| +const char kOverlayScrollbarsDescription[] = |
| + R"*(Enable the experimental overlay scrollbars implementation. You)*" |
| + R"*(must also enable threaded compositing to have the scrollbars)*" |
| + R"*(animate.)*"; |
| + |
| +const char kShowAutofillTypePredictionsName[] = |
| + R"*(Show Autofill predictions)*"; |
| + |
| +const char kShowAutofillTypePredictionsDescription[] = |
| + R"*(Annotates web forms with Autofill field type predictions as)*" |
| + R"*(placeholder text.)*"; |
| + |
| +const char kTcpFastOpenName[] = |
| + R"*(TCP Fast Open)*"; |
| + |
| +const char kTcpFastOpenDescription[] = |
| + R"*(Enable the option to send extra authentication information in the)*" |
| + R"*(initial SYN packet for a previously connected client, allowing)*" |
| + R"*(faster data send start.)*"; |
| + |
| +const char kTouchDragDropName[] = |
| + R"*(Touch initiated drag and drop)*"; |
| + |
| +const char kTouchDragDropDescription[] = |
| + R"*(Touch drag and drop can be initiated through long press on a)*" |
| + R"*(draggable element.)*"; |
| + |
| +const char kTouchSelectionStrategyName[] = |
| + R"*(Touch text selection strategy)*"; |
| + |
| +const char kTouchSelectionStrategyDescription[] = |
| + R"*(Controls how text selection granularity changes when touch text)*" |
| + R"*(selection handles are dragged. Non-default behavior is)*" |
| + R"*(experimental.)*"; |
| + |
| +const char kTouchSelectionStrategyCharacter[] = |
| + R"*(Character)*"; |
| + |
| +const char kTouchSelectionStrategyDirection[] = |
| + R"*(Direction)*"; |
| + |
| +const char kWalletServiceUseSandboxName[] = |
| + R"*(Use Google Payments sandbox servers)*"; |
| + |
| +const char kWalletServiceUseSandboxDescription[] = |
| + R"*(For developers: use the sandbox service for Google Payments API)*" |
| + R"*(calls.)*"; |
| + |
| +const char kOverscrollHistoryNavigationName[] = |
| + R"*(Overscroll history navigation)*"; |
| + |
| +const char kOverscrollHistoryNavigationDescription[] = |
| + R"*(Experimental history navigation in response to horizontal)*" |
| + R"*(overscroll.)*"; |
| + |
| +const char kOverscrollHistoryNavigationSimpleUi[] = |
| + R"*(Simple)*"; |
| + |
| +const char kOverscrollStartThresholdName[] = |
| + R"*(Overscroll start threshold)*"; |
| + |
| +const char kOverscrollStartThresholdDescription[] = |
| + R"*(Changes overscroll start threshold relative to the default)*" |
| + R"*(value.)*"; |
| + |
| +const char kOverscrollStartThreshold133Percent[] = |
| + R"*(133%)*"; |
| + |
| +const char kOverscrollStartThreshold166Percent[] = |
| + R"*(166%)*"; |
| + |
| +const char kOverscrollStartThreshold200Percent[] = |
| + R"*(200%)*"; |
| + |
| +const char kScrollEndEffectName[] = |
| + R"*(Scroll end effect)*"; |
| + |
| +const char kScrollEndEffectDescription[] = |
| + R"*(Experimental scroll end effect in response to vertical)*" |
| + R"*(overscroll.)*"; |
| + |
| +const char kWebgl2Name[] = |
| + R"*(WebGL 2.0)*"; |
| + |
| +const char kWebgl2Description[] = |
| + R"*(Allow web applications to access WebGL 2.0.)*"; |
| + |
| +const char kWebglDraftExtensionsName[] = |
| + R"*(WebGL Draft Extensions)*"; |
| + |
| +const char kWebglDraftExtensionsDescription[] = |
| + R"*(Enabling this option allows web applications to access the WebGL)*" |
| + R"*(Extensions that are still in draft status.)*"; |
| + |
| +const char kWebrtcHwDecodingName[] = |
| + R"*(WebRTC hardware video decoding)*"; |
| + |
| +const char kWebrtcHwDecodingDescription[] = |
| + R"*(Support in WebRTC for decoding video streams using platform)*" |
| + R"*(hardware.)*"; |
| + |
| +const char kWebrtcHwEncodingName[] = |
| + R"*(WebRTC hardware video encoding)*"; |
| + |
| +const char kWebrtcHwEncodingDescription[] = |
| + R"*(Support in WebRTC for encoding video streams using platform)*" |
| + R"*(hardware.)*"; |
| + |
| +const char kWebrtcHwH264EncodingName[] = |
| + R"*(WebRTC hardware h264 video encoding)*"; |
| + |
| +const char kWebrtcHwH264EncodingDescription[] = |
| + R"*(Support in WebRTC for encoding h264 video streams using platform)*" |
| + R"*(hardware.)*"; |
| + |
| +const char kWebrtcSrtpAesGcmName[] = |
| + R"*(Negotiation with GCM cipher suites for SRTP in WebRTC)*"; |
| + |
| +const char kWebrtcSrtpAesGcmDescription[] = |
| + R"*(When enabled, WebRTC will try to negotiate GCM cipher suites for)*" |
| + R"*(SRTP.)*"; |
| + |
| +const char kWebrtcStunOriginName[] = |
| + R"*(WebRTC Stun origin header)*"; |
| + |
| +const char kWebrtcStunOriginDescription[] = |
| + R"*(When enabled, Stun messages generated by WebRTC will contain the)*" |
| + R"*(Origin header.)*"; |
| + |
| +const char kWebrtcEchoCanceller3Name[] = |
| + R"*(WebRTC Echo Canceller 3.)*"; |
| + |
| +const char kWebrtcEchoCanceller3Description[] = |
| + R"*(Experimental WebRTC echo canceller (AEC3).)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kMediaScreenCaptureName[] = |
| + R"*(Experimental ScreenCapture.)*"; |
| + |
| +const char kMediaScreenCaptureDescription[] = |
| + R"*(Enable this option for experimental ScreenCapture feature on)*" |
| + R"*(Android.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if BUILDFLAG(ENABLE_WEBRTC) |
| + |
| +const char kWebrtcH264WithOpenh264FfmpegName[] = |
| + R"*(WebRTC H.264 software video encoder/decoder)*"; |
| + |
| +const char kWebrtcH264WithOpenh264FfmpegDescription[] = |
| + R"*(When enabled, an H.264 software video encoder/decoder pair is)*" |
| + R"*(included. If a hardware encoder/decoder is also available it may)*" |
| + R"*(be used instead of this encoder/decoder.)*"; |
| + |
| +#endif // BUILDFLAG(ENABLE_WEBRTC) |
| + |
| +const char kWebvrName[] = |
| + R"*(WebVR)*"; |
| + |
| +const char kWebvrDescription[] = |
| + R"*(Enabling this option allows web applications to access)*" |
| + R"*(experimental Virtual Reality APIs.)*"; |
| + |
| +const char kWebvrExperimentalRenderingName[] = |
| + R"*(WebVR experimental rendering optimizations)*"; |
| + |
| +const char kWebvrExperimentalRenderingDescription[] = |
| + R"*(Enabling this option activates experimental rendering path)*" |
| + R"*(optimizations for WebVR.)*"; |
| + |
| +const char kGamepadExtensionsName[] = |
| + R"*(Gamepad Extensions)*"; |
| + |
| +const char kGamepadExtensionsDescription[] = |
| + R"*(Enabling this option allows web applications to access)*" |
| + R"*(experimental extensions to the Gamepad APIs.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kNewPhotoPickerName[] = |
| + R"*(Enable new Photopicker)*"; |
| + |
| +const char kNewPhotoPickerDescription[] = |
| + R"*(Activates the new picker for selecting photos.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kEnableOskOverscrollName[] = |
| + R"*(Enable OSK Overscroll)*"; |
| + |
| +const char kEnableOskOverscrollDescription[] = |
| + R"*(Enable OSK overscroll support. With this flag on, the OSK will)*" |
| + R"*(only resize the visual viewport.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kQuicName[] = |
| + R"*(Experimental QUIC protocol)*"; |
| + |
| +const char kQuicDescription[] = |
| + R"*(Enable experimental QUIC protocol support.)*"; |
| + |
| +const char kSslVersionMaxName[] = |
| + R"*(Maximum TLS version enabled.)*"; |
| + |
| +const char kSslVersionMaxDescription[] = |
| + R"*(Set maximum enabled TLS version.)*"; |
| + |
| +const char kSslVersionMaxTls12[] = |
| + R"*(TLS 1.2)*"; |
| + |
| +const char kSslVersionMaxTls13[] = |
| + R"*(TLS 1.3)*"; |
| + |
| +const char kEnableTokenBindingName[] = |
| + R"*(Token Binding.)*"; |
| + |
| +const char kEnableTokenBindingDescription[] = |
| + R"*(Enable Token Binding support.)*"; |
| + |
| +const char kGestureRequirementForMediaPlaybackName[] = |
| + R"*(Gesture requirement for media playback)*"; |
| + |
| +const char kGestureRequirementForMediaPlaybackDescription[] = |
| + R"*(User gesture requirement for playing media elements. Disabling)*" |
| + R"*(this will allow autoplay to work.)*"; |
| + |
| +#if !defined(OS_ANDROID) |
| + |
| +const char kCrossOriginMediaPlaybackRequiresUserGestureName[] = |
| + R"*(Media playback in cross-origin iframes requires user gesture)*"; |
| + |
| +const char kCrossOriginMediaPlaybackRequiresUserGestureDescription[] = |
| + R"*(Playing media elements in cross-origin iframes requires user)*" |
| + R"*(gesture. Disabling this will allow autoplay in cross-origin)*" |
| + R"*(iframes to work.)*"; |
| + |
| +#endif // !defined(OS_ANDROID) |
| + |
| +const char kPassiveDocumentEventListenersDescription[] = |
| + R"*(Forces touchstart, and touchmove event listeners on document)*" |
| + R"*(level targets (which haven't requested otherwise) to be treated)*" |
| + R"*(as passive.)*"; |
| + |
| +const char kPassiveDocumentEventListenersName[] = |
| + R"*(Document Level Event Listeners Passive Default)*"; |
| + |
| +const char kPassiveEventListenersDueToFlingDescription[] = |
| + R"*(Forces touchstart, and first touchmove per scroll event listeners)*" |
| + R"*(during fling to be treated as passive.)*"; |
| + |
| +const char kPassiveEventListenersDueToFlingName[] = |
| + R"*(Touch Event Listeners Passive Default During Fling)*"; |
| + |
| +const char kPassiveEventListenerTrue[] = |
| + R"*(True (when unspecified))*"; |
| + |
| +const char kPassiveEventListenerForceAllTrue[] = |
| + R"*(Force All True)*"; |
| + |
| +const char kPassiveEventListenerDefaultName[] = |
| + R"*(Passive Event Listener Override)*"; |
| + |
| +const char kPassiveEventListenerDefaultDescription[] = |
| + R"*(Forces touchstart, touchmove, mousewheel and wheel event)*" |
| + R"*(listeners (which haven't requested otherwise) to be treated as)*" |
| + R"*(passive. This will break touch/wheel behavior on some websites)*" |
| + R"*(but is useful for demonstrating the potential performance)*" |
| + R"*(benefits of adopting passive event listeners.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kImportantSitesInCbdName[] = |
| + R"*(Important sites options in clear browsing data dialog)*"; |
| + |
| +const char kImportantSitesInCbdDescription[] = |
| + R"*(Include the option to whitelist important sites in the clear)*" |
| + R"*(browsing data dialog.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(USE_ASH) |
| + |
| +const char kAshShelfColor[] = |
| + R"*(Shelf Color in Chrome OS system UI)*"; |
| + |
| +const char kAshShelfColorDescription[] = |
| + R"*(Specify the Shelf Color scheme in Chrome OS system UI)*"; |
| + |
| +const char kAshShelfColorLightVibrant[] = |
| + R"*(Light & Vibrant)*"; |
| + |
| +const char kAshShelfColorNormalVibrant[] = |
| + R"*(Normal & Vibrant)*"; |
| + |
| +const char kAshShelfColorDarkVibrant[] = |
| + R"*(Dark & Vibrant)*"; |
| + |
| +const char kAshShelfColorLightMuted[] = |
| + R"*(Light & Muted)*"; |
| + |
| +const char kAshShelfColorNormalMuted[] = |
| + R"*(Normal & Muted)*"; |
| + |
| +const char kAshShelfColorDarkMuted[] = |
| + R"*(Dark & Muted)*"; |
| + |
| +const char kAshMaximizeModeWindowBackdropName[] = |
| + R"*(Window backdrops in TouchView)*"; |
| + |
| +const char kAshMaximizeModeWindowBackdropDescription[] = |
| + R"*(Show grey window backdrops used in TouchView (maximize mode))*" |
| + R"*(behind windows which cannot be maximized.)*"; |
| + |
| +const char kAshScreenOrientationLockName[] = |
| + R"*(Screen Orientation locking)*"; |
| + |
| +const char kAshScreenOrientationLockDescription[] = |
| + R"*(Allows javascript to lock the screen orienation.)*"; |
| + |
| +const char kAshEnableMirroredScreenName[] = |
| + R"*(Enable mirrored screen mode.)*"; |
| + |
| +const char kAshEnableMirroredScreenDescription[] = |
| + R"*(Enable the mirrored screen mode. This mode flips the screen image)*" |
| + R"*(horizontally.)*"; |
| + |
| +const char kMaterialDesignInkDropAnimationFast[] = |
| + R"*(Fast)*"; |
| + |
| +const char kMaterialDesignInkDropAnimationSlow[] = |
| + R"*(Slow)*"; |
| + |
| +const char kMaterialDesignInkDropAnimationSpeedName[] = |
| + R"*(Material Design Ink Drop Animation Speed)*"; |
| + |
| +const char kMaterialDesignInkDropAnimationSpeedDescription[] = |
| + R"*(Sets the speed of the experimental visual feedback animations for)*" |
| + R"*(material design.)*"; |
| + |
| +const char kUiSlowAnimationsName[] = |
| + R"*(Slow UI animations)*"; |
| + |
| +const char kUiSlowAnimationsDescription[] = |
| + R"*(Makes all UI animations slow.)*"; |
| + |
| +#endif // defined(USE_ASH) |
| + |
| +const char kJavascriptHarmonyShippingName[] = |
| + R"*(Latest stable JavaScript features)*"; |
| + |
| +const char kJavascriptHarmonyShippingDescription[] = |
| + R"*(Some web pages use legacy or non-standard JavaScript extensions)*" |
| + R"*(that may conflict with the latest JavaScript features. This flag)*" |
| + R"*(allows disabling support of those features for compatibility with)*" |
| + R"*(such pages.)*"; |
| + |
| +const char kJavascriptHarmonyName[] = |
| + R"*(Experimental JavaScript)*"; |
| + |
| +const char kJavascriptHarmonyDescription[] = |
| + R"*(Enable web pages to use experimental JavaScript features.)*"; |
| + |
| +const char kV8FutureName[] = |
| + R"*(Experimental Features in V8 JavaScript execution)*"; |
| + |
| +const char kV8FutureDescription[] = |
| + R"*(Enable experimental features in V8 for JavaScript execution.)*"; |
| + |
| +const char kV8DisableIgnitionTurboName[] = |
| + R"*(Disable the new JavaScript Compilation Pipeline)*"; |
| + |
| +const char kV8DisableIgnitionTurboDescription[] = |
| + R"*(Disable V8's new Ignition interpreter and TurboFan compiler for)*" |
| + R"*(JavaScript execution.)*"; |
| + |
| +const char kEnableAsmWasmName[] = |
| + R"*(Experimental Validate Asm.js and convert to WebAssembly when)*" |
| + R"*(valid.)*"; |
| + |
| +const char kEnableAsmWasmDescription[] = |
| + R"*(Validate Asm.js when "use asm" is present and then convert to)*" |
| + R"*(WebAssembly.)*"; |
| + |
| +const char kEnableSharedArrayBufferName[] = |
| + R"*(Experimental enabled SharedArrayBuffer support in JavaScript.)*"; |
| + |
| +const char kEnableSharedArrayBufferDescription[] = |
| + R"*(Enable SharedArrayBuffer support in JavaScript.)*"; |
| + |
| +const char kEnableWasmName[] = |
| + R"*(WebAssembly structured cloning support.)*"; |
| + |
| +const char kEnableWasmDescription[] = |
| + R"*(Enable web pages to use WebAssembly structured cloning.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kMediaDocumentDownloadButtonName[] = |
| + R"*(Download button when opening a page with media url.)*"; |
| + |
| +const char kMediaDocumentDownloadButtonDescription[] = |
| + R"*(Allow a download button to show up when opening a page with media)*" |
| + R"*(url.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kSoftwareRasterizerName[] = |
| + R"*(3D software rasterizer)*"; |
| + |
| +const char kSoftwareRasterizerDescription[] = |
| + R"*(Fall back to a 3D software rasterizer when the GPU cannot be)*" |
| + R"*(used.)*"; |
| + |
| +const char kGpuRasterizationName[] = |
| + R"*(GPU rasterization)*"; |
| + |
| +const char kGpuRasterizationDescription[] = |
| + R"*(Use GPU to rasterize web content. Requires impl-side painting.)*"; |
| + |
| +const char kForceGpuRasterization[] = |
| + R"*(Force-enabled for all layers)*"; |
| + |
| +const char kGpuRasterizationMsaaSampleCountName[] = |
| + R"*(GPU rasterization MSAA sample count.)*"; |
| + |
| +const char kGpuRasterizationMsaaSampleCountDescription[] = |
| + R"*(Specify the number of MSAA samples for GPU rasterization.)*"; |
| + |
| +const char kGpuRasterizationMsaaSampleCountZero[] = |
| + R"*(0)*"; |
| + |
| +const char kGpuRasterizationMsaaSampleCountTwo[] = |
| + R"*(2)*"; |
| + |
| +const char kGpuRasterizationMsaaSampleCountFour[] = |
| + R"*(4)*"; |
| + |
| +const char kGpuRasterizationMsaaSampleCountEight[] = |
| + R"*(8)*"; |
| + |
| +const char kGpuRasterizationMsaaSampleCountSixteen[] = |
| + R"*(16)*"; |
| + |
| +const char kSlimmingPaintInvalidationName[] = |
| + R"*(Slimming paint invalidation.)*"; |
| + |
| +const char kSlimmingPaintInvalidationDescription[] = |
| + R"*(Whether to enable a new paint invalidation system.)*"; |
| + |
| +const char kExperimentalSecurityFeaturesName[] = |
| + R"*(Potentially annoying security features)*"; |
| + |
| +const char kExperimentalSecurityFeaturesDescription[] = |
| + R"*(Enables several security features that will likely break one or)*" |
| + R"*(more pages that you visit on a daily basis. Strict mixed content)*" |
| + R"*(checking, for example. And locking powerful features to secure)*" |
| + R"*(contexts. This flag will probably annoy you.)*"; |
| + |
| +const char kExperimentalWebPlatformFeaturesName[] = |
| + R"*(Experimental Web Platform features)*"; |
| + |
| +const char kExperimentalWebPlatformFeaturesDescription[] = |
| + R"*(Enables experimental Web Platform features that are in)*" |
| + R"*(development.)*"; |
| + |
| +const char kExperimentalPointerEventName[] = |
| + R"*(Pointer Events)*"; |
| + |
| +const char kExperimentalPointerEventDescription[] = |
| + R"*(Enables support for the Pointer Events API. This is intended only)*" |
| + R"*(for testing by web developers.)*"; |
| + |
| +const char kOriginTrialsName[] = |
| + R"*(Origin Trials)*"; |
| + |
| +const char kOriginTrialsDescription[] = |
| + R"*(Enables origin trials for controlling access to feature/API)*" |
| + R"*(experiments.)*"; |
| + |
| +const char kBleAdvertisingInExtensionsName[] = |
| + R"*(BLE Advertising in Chrome Apps)*"; |
| + |
| +const char kBleAdvertisingInExtensionsDescription[] = |
| + R"*(Enables BLE Advertising in Chrome Apps. BLE Advertising might)*" |
| + R"*(interfere with regular use of Bluetooth Low Energy features.)*"; |
| + |
| +const char kDevtoolsExperimentsName[] = |
| + R"*(Developer Tools experiments)*"; |
| + |
| +const char kDevtoolsExperimentsDescription[] = |
| + R"*(Enables Developer Tools experiments. Use Settings panel in)*" |
| + R"*(Developer Tools to toggle individual experiments.)*"; |
| + |
| +const char kSilentDebuggerExtensionApiName[] = |
| + R"*(Silent Debugging)*"; |
| + |
| +const char kSilentDebuggerExtensionApiDescription[] = |
| + R"*(Do not show the infobar when an extension attaches to a page via)*" |
| + R"*(chrome.debugger API. This is required to debug extension)*" |
| + R"*(background pages.)*"; |
| + |
| +const char kShowTouchHudName[] = |
| + R"*(Show HUD for touch points)*"; |
| + |
| +const char kShowTouchHudDescription[] = |
| + R"*(Enables a heads-up display at the top-left corner of the screen)*" |
| + R"*(that lists information about the touch-points on the screen.)*"; |
| + |
| +const char kPreferHtmlOverPluginsName[] = |
| + R"*(Prefer HTML over Flash)*"; |
| + |
| +const char kPreferHtmlOverPluginsDescription[] = |
| + R"*(Prefer HTML content by hiding Flash from the list of plugins.)*"; |
| + |
| +const char kAllowNaclSocketApiName[] = |
| + R"*(NaCl Socket API.)*"; |
| + |
| +const char kAllowNaclSocketApiDescription[] = |
| + R"*(Allows applications to use NaCl Socket API. Use only to test NaCl)*" |
| + R"*(plugins.)*"; |
| + |
| +const char kRunAllFlashInAllowModeName[] = |
| + R"*(Run all Flash content when Flash setting is set to "allow")*"; |
| + |
| +const char kRunAllFlashInAllowModeDescription[] = |
| + R"*(For sites that have been set to "allow" Flash content, run all)*" |
| + R"*(content including any that has been deemed unimportant.)*"; |
| + |
| +const char kPinchScaleName[] = |
| + R"*(Pinch scale)*"; |
| + |
| +const char kPinchScaleDescription[] = |
| + R"*(Enables experimental support for scale using pinch.)*"; |
| + |
| +const char kCredentialManagerApiName[] = |
| + R"*(Experimental Credential Manager API)*"; |
| + |
| +const char kCredentialManagerApiDescription[] = |
| + R"*(Enables an experimental implementation of the Credential Manager)*" |
| + R"*(API. Don't enable this unless you know what you're doing.)*"; |
| + |
| +const char kReducedReferrerGranularityName[] = |
| + R"*(Reduce default 'referer' header granularity.)*"; |
| + |
| +const char kReducedReferrerGranularityDescription[] = |
| + R"*(If a page hasn't set an explicit referrer policy, setting this)*" |
| + R"*(flag will reduce the amount of information in the 'referer')*" |
| + R"*(header for cross-origin requests.)*"; |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +const char kUseMashName[] = |
| + R"*(Mojo UI Service (mus).)*"; |
| + |
| +const char kUseMashDescription[] = |
| + R"*(Enable mus, mash etc.)*"; |
| + |
| +const char kAllowTouchpadThreeFingerClickName[] = |
| + R"*(Touchpad three-finger-click)*"; |
| + |
| +const char kAllowTouchpadThreeFingerClickDescription[] = |
| + R"*(Enables touchpad three-finger-click as middle button.)*"; |
| + |
| +const char kAshEnableUnifiedDesktopName[] = |
| + R"*(Unified desktop mode)*"; |
| + |
| +const char kAshEnableUnifiedDesktopDescription[] = |
| + R"*(Enable unified desktop mode which allows a window to span)*" |
| + R"*(multiple displays.)*"; |
| + |
| +const char kBootAnimation[] = |
| + R"*(Boot animation)*"; |
| + |
| +const char kBootAnimationDescription[] = |
| + R"*(Wallpaper boot animation (except for OOBE case).)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) |
| + |
| +const char kAcceleratedVideoDecodeName[] = |
| + R"*(Hardware-accelerated video decode)*"; |
| + |
| +const char kAcceleratedVideoDecodeDescription[] = |
| + R"*(Hardware-accelerated video decode where available.)*"; |
| + |
| +const char kCloudImport[] = |
| + R"*(Cloud Import)*"; |
| + |
| +const char kCloudImportDescription[] = |
| + R"*(Allows the cloud-import feature.)*"; |
| + |
| +const char kRequestTabletSiteName[] = |
| + R"*(Request tablet site option in the settings menu)*"; |
| + |
| +const char kRequestTabletSiteDescription[] = |
| + R"*(Allows the user to request tablet site. Web content is often)*" |
| + R"*(optimized for tablet devices. When this option is selected the)*" |
| + R"*(user agent string is changed to indicate a tablet device. Web)*" |
| + R"*(content optimized for tablets is received there after for the)*" |
| + R"*(current tab.)*"; |
| + |
| +const char kDebugPackedAppName[] = |
| + R"*(Debugging for packed apps)*"; |
| + |
| +const char kDebugPackedAppDescription[] = |
| + R"*(Enables debugging context menu options such as Inspect Element)*" |
| + R"*(for packed applications.)*"; |
| + |
| +const char kDropSyncCredentialName[] = |
| + R"*(Drop sync credentials from password manager)*"; |
| + |
| +const char kDropSyncCredentialDescription[] = |
| + R"*(The password manager will not offer to save the credential used)*" |
| + R"*(to sync.)*"; |
| + |
| +const char kPasswordGenerationName[] = |
| + R"*(Password generation)*"; |
| + |
| +const char kPasswordGenerationDescription[] = |
| + R"*(Allow the user to have Chrome generate passwords when it detects)*" |
| + R"*(account creation pages.)*"; |
| + |
| +const char kPasswordForceSavingName[] = |
| + R"*(Force-saving of passwords)*"; |
| + |
| +const char kPasswordForceSavingDescription[] = |
| + R"*(Allow the user to manually enforce password saving instead of)*" |
| + R"*(relying on password manager's heuristics.)*"; |
| + |
| +const char kManualPasswordGenerationName[] = |
| + R"*(Manual password generation.)*"; |
| + |
| +const char kManualPasswordGenerationDescription[] = |
| + R"*(Show a 'Generate Password' option on the context menu for all)*" |
| + R"*(password fields.)*"; |
| + |
| +const char kShowAutofillSignatures[] = |
| + R"*(Show autofill signatures.)*"; |
| + |
| +const char kShowAutofillSignaturesDescription[] = |
| + R"*(Annotates web forms with Autofill signatures as HTML attributes.)*"; |
| + |
| +const char kSuggestionsWithSubStringMatchName[] = |
| + R"*(Substring matching for Autofill suggestions)*"; |
| + |
| +const char kSuggestionsWithSubStringMatchDescription[] = |
| + R"*(Match Autofill suggestions based on substrings (token prefixes))*" |
| + R"*(rather than just prefixes.)*"; |
| + |
| +const char kAffiliationBasedMatchingName[] = |
| + R"*(Affiliation based matching in password manager)*"; |
| + |
| +const char kAffiliationBasedMatchingDescription[] = |
| + R"*(Allow credentials stored for Android applications to be filled)*" |
| + R"*(into corresponding websites.)*"; |
| + |
| +const char kProtectSyncCredentialName[] = |
| + R"*(Autofill sync credential)*"; |
| + |
| +const char kProtectSyncCredentialDescription[] = |
| + R"*(How the password manager handles autofill for the sync)*" |
| + R"*(credential.)*"; |
| + |
| +const char kPasswordImportExportName[] = |
| + R"*(Password import and export)*"; |
| + |
| +const char kPasswordImportExportDescription[] = |
| + R"*(Import and Export functionality in password settings.)*"; |
| + |
| +const char kProtectSyncCredentialOnReauthName[] = |
| + R"*(Autofill sync credential only for transactional reauth pages)*"; |
| + |
| +const char kProtectSyncCredentialOnReauthDescription[] = |
| + R"*(How the password manager handles autofill for the sync credential)*" |
| + R"*(only for transactional reauth pages.)*"; |
| + |
| +const char kIconNtpName[] = |
| + R"*(Large icons on the New Tab page)*"; |
| + |
| +const char kIconNtpDescription[] = |
| + R"*(Enable the experimental New Tab page using large icons.)*"; |
| + |
| +const char kPushApiBackgroundModeName[] = |
| + R"*(Enable Push API background mode)*"; |
| + |
| +const char kPushApiBackgroundModeDescription[] = |
| + R"*(Enable background mode for the Push API. This allows Chrome to)*" |
| + R"*(continue running after the last window is closed, and to launch)*" |
| + R"*(at OS startup, if the Push API needs it.)*"; |
| + |
| +const char kEnableNavigationTracing[] = |
| + R"*(Enable navigation tracing)*"; |
| + |
| +const char kEnableNavigationTracingDescription[] = |
| + R"*(This is to be used in conjunction with the trace-upload-url flag.)*" |
| + R"*(WARNING: When enabled, Chrome will record performance data for)*" |
| + R"*(every navigation and upload it to the URL specified by the)*" |
| + R"*(trace-upload-url flag. The trace may include personally)*" |
| + R"*(identifiable information (PII) such as the titles and URLs of)*" |
| + R"*(websites you visit.)*"; |
| + |
| +const char kTraceUploadUrl[] = |
| + R"*(Trace label for navigation tracing)*"; |
| + |
| +const char kTraceUploadUrlDescription[] = |
| + R"*(This is to be used in conjunction with the)*" |
| + R"*(enable-navigation-tracing flag. Please select the label that best)*" |
| + R"*(describes the recorded traces. This will choose the destination)*" |
| + R"*(the traces are uploaded to. If you are not sure, select other. If)*" |
| + R"*(left empty, no traces will be uploaded.)*"; |
| + |
| +const char kDisableAudioForDesktopShare[] = |
| + R"*(Disable Audio For Desktop Share)*"; |
| + |
| +const char kDisableAudioForDesktopShareDescription[] = |
| + R"*(With this flag on, desktop share picker window will not let the)*" |
| + R"*(user choose whether to share audio.)*"; |
| + |
| +const char kDisableTabForDesktopShare[] = |
| + R"*(Disable Desktop Share with tab source)*"; |
| + |
| +const char kDisableTabForDesktopShareDescription[] = |
| + R"*(This flag controls whether users can choose a tab for desktop)*" |
| + R"*(share.)*"; |
| + |
| +const char kTraceUploadUrlChoiceOther[] = |
| + R"*(Other)*"; |
| + |
| +const char kTraceUploadUrlChoiceEmloading[] = |
| + R"*(emloading)*"; |
| + |
| +const char kTraceUploadUrlChoiceQa[] = |
| + R"*(QA)*"; |
| + |
| +const char kTraceUploadUrlChoiceTesting[] = |
| + R"*(Testing)*"; |
| + |
| +const char kSupervisedUserManagedBookmarksFolderName[] = |
| + R"*(Managed bookmarks for supervised users)*"; |
| + |
| +const char kSupervisedUserManagedBookmarksFolderDescription[] = |
| + R"*(Enable the managed bookmarks folder for supervised users.)*"; |
| + |
| +const char kSyncAppListName[] = |
| + R"*(App Launcher sync)*"; |
| + |
| +const char kSyncAppListDescription[] = |
| + R"*(Enable App Launcher sync. This also enables Folders where)*" |
| + R"*(available (non OSX).)*"; |
| + |
| +const char kDriveSearchInChromeLauncher[] = |
| + R"*(Drive Search in Chrome App Launcher)*"; |
| + |
| +const char kDriveSearchInChromeLauncherDescription[] = |
| + R"*(Files from Drive will show up when searching the Chrome App)*" |
| + R"*(Launcher.)*"; |
| + |
| +const char kV8CacheOptionsName[] = |
| + R"*(V8 caching mode.)*"; |
| + |
| +const char kV8CacheOptionsDescription[] = |
| + R"*(Caching mode for the V8 JavaScript engine.)*"; |
| + |
| +const char kV8CacheOptionsParse[] = |
| + R"*(Cache V8 parser data.)*"; |
| + |
| +const char kV8CacheOptionsCode[] = |
| + R"*(Cache V8 compiler data.)*"; |
| + |
| +const char kV8CacheStrategiesForCacheStorageName[] = |
| + R"*(V8 caching strategy for CacheStorage.)*"; |
| + |
| +const char kV8CacheStrategiesForCacheStorageDescription[] = |
| + R"*(Caching strategy of scripts in CacheStorage for the V8 JavaScript)*" |
| + R"*(engine.)*"; |
| + |
| +const char kV8CacheStrategiesForCacheStorageNormal[] = |
| + R"*(Normal)*"; |
| + |
| +const char kV8CacheStrategiesForCacheStorageAggressive[] = |
| + R"*(Aggressive)*"; |
| + |
| +const char kSpeculativeLaunchServiceWorkerName[] = |
| + R"*(Speculative launch of service workers.)*"; |
| + |
| +const char kSpeculativeLaunchServiceWorkerDescription[] = |
| + R"*(Speculatively launch service workers using touch and mouse)*" |
| + R"*(events.)*"; |
| + |
| +const char kMemoryCoordinatorName[] = |
| + R"*(Memory coordinator)*"; |
| + |
| +const char kMemoryCoordinatorDescription[] = |
| + R"*(Enable memory coordinator instead of memory pressure listeners.)*"; |
| + |
| +const char kServiceWorkerNavigationPreloadName[] = |
| + R"*(Service worker navigation preload.)*"; |
| + |
| +const char kServiceWorkerNavigationPreloadDescription[] = |
| + R"*(Enable web pages to use the experimental service worker)*" |
| + R"*(navigation preload API.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kUploadCrashReportsUsingJobSchedulerName[] = |
| + R"*(Upload crash reports using JobScheduler API.)*"; |
| + |
| +const char kUploadCrashReportsUsingJobSchedulerDescription[] = |
| + R"*(Use the JobScheduler API to upload crash reports. This does not)*" |
| + R"*(affect whether or not crash reports will be uploaded. Rather,)*" |
| + R"*(*if* a crash report is going to be uploaded, this flag affects)*" |
| + R"*(*how* it is uploaded.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Data Reduction Proxy |
| + |
| +const char kDataReductionProxyLoFiName[] = |
| + R"*(Data Saver Lo-Fi mode)*"; |
| + |
| +const char kDataReductionProxyLoFiDescription[] = |
| + R"*(Forces Data Saver Lo-Fi mode to be always enabled, enabled only)*" |
| + R"*(on cellular connections, or disabled. Data Saver must be enabled)*" |
| + R"*(for Lo-Fi mode to be used.)*"; |
| + |
| +const char kDataReductionProxyLoFiAlwaysOn[] = |
| + R"*(Always on)*"; |
| + |
| +const char kDataReductionProxyLoFiCellularOnly[] = |
| + R"*(Cellular only)*"; |
| + |
| +const char kDataReductionProxyLoFiDisabled[] = |
| + R"*(Disable)*"; |
| + |
| +const char kDataReductionProxyLoFiSlowConnectionsOnly[] = |
| + R"*(Slow connections only)*"; |
| + |
| +const char kEnableDataReductionProxyLitePageName[] = |
| + R"*(Lite pages for Data Saver Lo-Fi mode)*"; |
| + |
| +const char kEnableDataReductionProxyLitePageDescription[] = |
| + R"*(Enable lite pages in Data Saver Lo-Fi mode. Previews of pages)*" |
| + R"*(will be shown instead of image placeholders when Lo-Fi is on.)*" |
| + R"*(Data Saver and Lo-Fi must be enabled for lite pages to be shown.)*"; |
| + |
| +const char kDataReductionProxyCarrierTestName[] = |
| + R"*(Enable a carrier-specific Data Reduction Proxy for testing.)*"; |
| + |
| +const char kDataReductionProxyCarrierTestDescription[] = |
| + R"*(Use a carrier-specific Data Reduction Proxy for testing.)*"; |
| + |
| +const char kEnableDataReductionProxySavingsPromoName[] = |
| + R"*(Data Saver 1 MB Savings Promo)*"; |
| + |
| +const char kEnableDataReductionProxySavingsPromoDescription[] = |
| + R"*(Enable a Data Saver promo for 1 MB of savings. If Data Saver has)*" |
| + R"*(already saved 1 MB of data, then the promo will not be shown.)*" |
| + R"*(Data Saver must be enabled for the promo to be shown.)*"; |
| + |
| +const char kLcdTextName[] = |
| + R"*(LCD text antialiasing)*"; |
| + |
| +const char kLcdTextDescription[] = |
| + R"*(If disabled, text is rendered with grayscale antialiasing instead)*" |
| + R"*(of LCD (subpixel) when doing accelerated compositing.)*"; |
| + |
| +const char kDistanceFieldTextName[] = |
| + R"*(Distance field text)*"; |
| + |
| +const char kDistanceFieldTextDescription[] = |
| + R"*(Text is rendered with signed distance fields rather than bitmap)*" |
| + R"*(alpha masks.)*"; |
| + |
| +const char kZeroCopyName[] = |
| + R"*(Zero-copy rasterizer)*"; |
| + |
| +const char kZeroCopyDescription[] = |
| + R"*(Raster threads write directly to GPU memory associated with)*" |
| + R"*(tiles.)*"; |
| + |
| +const char kHideInactiveStackedTabCloseButtonsName[] = |
| + R"*(Hiding close buttons on inactive tabs when stacked)*"; |
| + |
| +const char kHideInactiveStackedTabCloseButtonsDescription[] = |
| + R"*(Hides the close buttons of inactive tabs when the tabstrip is in)*" |
| + R"*(stacked mode.)*"; |
| + |
| +const char kDefaultTileWidthName[] = |
| + R"*(Default tile width)*"; |
| + |
| +const char kDefaultTileWidthDescription[] = |
| + R"*(Specify the default tile width.)*"; |
| + |
| +const char kDefaultTileWidthShort[] = |
| + R"*(128)*"; |
| + |
| +const char kDefaultTileWidthTall[] = |
| + R"*(256)*"; |
| + |
| +const char kDefaultTileWidthGrande[] = |
| + R"*(512)*"; |
| + |
| +const char kDefaultTileWidthVenti[] = |
| + R"*(1024)*"; |
| + |
| +const char kDefaultTileHeightName[] = |
| + R"*(Default tile height)*"; |
| + |
| +const char kDefaultTileHeightDescription[] = |
| + R"*(Specify the default tile height.)*"; |
| + |
| +const char kDefaultTileHeightShort[] = |
| + R"*(128)*"; |
| + |
| +const char kDefaultTileHeightTall[] = |
| + R"*(256)*"; |
| + |
| +const char kDefaultTileHeightGrande[] = |
| + R"*(512)*"; |
| + |
| +const char kDefaultTileHeightVenti[] = |
| + R"*(1024)*"; |
| + |
| +const char kNumRasterThreadsName[] = |
| + R"*(Number of raster threads)*"; |
| + |
| +const char kNumRasterThreadsDescription[] = |
| + R"*(Specify the number of raster threads.)*"; |
| + |
| +const char kNumRasterThreadsOne[] = |
| + R"*(1)*"; |
| + |
| +const char kNumRasterThreadsTwo[] = |
| + R"*(2)*"; |
| + |
| +const char kNumRasterThreadsThree[] = |
| + R"*(3)*"; |
| + |
| +const char kNumRasterThreadsFour[] = |
| + R"*(4)*"; |
| + |
| +const char kResetAppListInstallStateName[] = |
| + R"*(Reset the App Launcher install state on every restart.)*"; |
| + |
| +const char kResetAppListInstallStateDescription[] = |
| + R"*(Reset the App Launcher install state on every restart. While this)*" |
| + R"*(flag is set, Chrome will forget the launcher has been installed)*" |
| + R"*(each time it starts. This is used for testing the App Launcher)*" |
| + R"*(install flow.)*"; |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +const char kFirstRunUiTransitionsName[] = |
| + R"*(Animated transitions in the first-run tutorial)*"; |
| + |
| +const char kFirstRunUiTransitionsDescription[] = |
| + R"*(Transitions during first-run tutorial are animated.)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) |
| + |
| +const char kNewBookmarkAppsName[] = |
| + R"*(The new bookmark app system)*"; |
| + |
| +const char kNewBookmarkAppsDescription[] = |
| + R"*(Enables the new system for creating bookmark apps.)*"; |
| + |
| +#if defined(OS_MACOSX) |
| + |
| +const char kHostedAppsInWindowsName[] = |
| + R"*(Allow hosted apps to be opened in windows)*"; |
| + |
| +const char kHostedAppsInWindowsDescription[] = |
| + R"*(Allows hosted apps to be opened in windows instead of being)*" |
| + R"*(limited to tabs.)*"; |
| + |
| +const char kTabDetachingInFullscreenName[] = |
| + R"*(Allow tab detaching in fullscreen)*"; |
| + |
| +const char kTabDetachingInFullscreenDescription[] = |
| + R"*(Allow tabs to detach from the tabstrip when in fullscreen mode on)*" |
| + R"*(Mac.)*"; |
| + |
| +const char kFullscreenToolbarRevealName[] = |
| + R"*(Enables the toolbar in fullscreen to reveal itself.)*"; |
| + |
| +const char kFullscreenToolbarRevealDescription[] = |
| + R"*(Reveal the toolbar in fullscreen for a short period when the tab)*" |
| + R"*(strip has changed.)*"; |
| + |
| +const char kTabStripKeyboardFocusName[] = |
| + R"*(Tab Strip Keyboard Focus)*"; |
| + |
| +const char kTabStripKeyboardFocusDescription[] = |
| + R"*(Enable keyboard focus for the tabs in the tab strip.)*"; |
| + |
| +#endif // defined(OS_MACOSX) |
| + |
| +const char kHostedAppShimCreationName[] = |
| + R"*(Creation of app shims for hosted apps on Mac)*"; |
| + |
| +const char kHostedAppShimCreationDescription[] = |
| + R"*(Create app shims on Mac when creating a hosted app.)*"; |
| + |
| +const char kHostedAppQuitNotificationName[] = |
| + R"*(Quit notification for hosted apps)*"; |
| + |
| +const char kHostedAppQuitNotificationDescription[] = |
| + R"*(Display a notification when quitting Chrome if hosted apps are)*" |
| + R"*(currently running.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kPullToRefreshEffectName[] = |
| + R"*(The pull-to-refresh effect)*"; |
| + |
| +const char kPullToRefreshEffectDescription[] = |
| + R"*(Page reloads triggered by vertically overscrolling content.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(OS_MACOSX) |
| + |
| +const char kTranslateNewUxName[] = |
| + R"*(New Translate UX)*"; |
| + |
| +const char kTranslateNewUxDescription[] = |
| + R"*(Enable the new Translate bubble UX is offered instead of the)*" |
| + R"*(infobar.)*"; |
| + |
| +#endif // defined(OS_MACOSX) |
| + |
| +const char kTranslate2016q2UiName[] = |
| + R"*(Translate 2016Q2 UI)*"; |
| + |
| +const char kTranslate2016q2UiDescription[] = |
| + R"*(Improved triggering logic and look for Translate Bubble UI)*"; |
| + |
| +const char kTranslateLanguageByUlpName[] = |
| + R"*(Translate Language by ULP)*"; |
| + |
| +const char kTranslateLanguageByUlpDescription[] = |
| + R"*(Improved translate target language and triggering logic by)*" |
| + R"*(considering information from User Language Profile (ULP).)*"; |
| + |
| +const char kViewsRectBasedTargetingName[] = |
| + R"*(Rect-based targeting in views)*"; |
| + |
| +const char kViewsRectBasedTargetingDescription[] = |
| + R"*(Rect-based targeting uses a heuristic to determine the most)*" |
| + R"*(probable target of a gesture, where the touch region is)*" |
| + R"*(represented by a rectangle.)*"; |
| + |
| +const char kPermissionActionReportingName[] = |
| + R"*(Permission Action Reporting)*"; |
| + |
| +const char kPermissionActionReportingDescription[] = |
| + R"*(Enables permission action reporting to Safe Browsing servers for)*" |
| + R"*(opted in users.)*"; |
| + |
| +const char kPermissionsBlacklistName[] = |
| + R"*(Permissions Blacklist)*"; |
| + |
| +const char kPermissionsBlacklistDescription[] = |
| + R"*(Enables the Permissions Blacklist, which blocks permissions for)*" |
| + R"*(blacklisted sites for Safe Browsing users.)*"; |
| + |
| +const char kThreadedScrollingName[] = |
| + R"*(Threaded scrolling)*"; |
| + |
| +const char kThreadedScrollingDescription[] = |
| + R"*(Threaded handling of scroll-related input events. Disabling this)*" |
| + R"*(will force all such scroll events to be handled on the main)*" |
| + R"*(thread. Note that this can dramatically hurt scrolling)*" |
| + R"*(performance of most websites and is intended for testing purposes)*" |
| + R"*(only.)*"; |
| + |
| +const char kHarfbuzzRendertextName[] = |
| + R"*(HarfBuzz for UI text)*"; |
| + |
| +const char kHarfbuzzRendertextDescription[] = |
| + R"*(Enable cross-platform HarfBuzz layout engine for UI text. Doesn't)*" |
| + R"*(affect web content.)*"; |
| + |
| +const char kEmbeddedExtensionOptionsName[] = |
| + R"*(Embedded extension options)*"; |
| + |
| +const char kEmbeddedExtensionOptionsDescription[] = |
| + R"*(Display extension options as an embedded element in)*" |
| + R"*(chrome://extensions rather than opening a new tab.)*"; |
| + |
| +const char kTabAudioMutingName[] = |
| + R"*(Tab audio muting UI control)*"; |
| + |
| +const char kTabAudioMutingDescription[] = |
| + R"*(When enabled, the audio indicators in the tab strip double as tab)*" |
| + R"*(audio mute controls. This also adds commands in the tab context)*" |
| + R"*(menu for quickly muting multiple selected tabs.)*"; |
| + |
| +const char kEasyUnlockBluetoothLowEnergyDiscoveryName[] = |
| + R"*(Smart Lock Bluetooth Low Energy Discovery)*"; |
| + |
| +const char kEasyUnlockBluetoothLowEnergyDiscoveryDescription[] = |
| + R"*(Enables a Smart Lock setting that allows Chromebook to discover)*" |
| + R"*(phones over Bluetooth Low Energy in order to unlock the)*" |
| + R"*(Chromebook when the phone is in its proximity.)*"; |
| + |
| +const char kEasyUnlockProximityDetectionName[] = |
| + R"*(Smart Lock proximity detection)*"; |
| + |
| +const char kEasyUnlockProximityDetectionDescription[] = |
| + R"*(Enables a Smart Lock setting that restricts unlocking to only)*" |
| + R"*(work when your phone is very close to (roughly, within an arm's)*" |
| + R"*(length of) the Chrome device.)*"; |
| + |
| +const char kWifiCredentialSyncName[] = |
| + R"*(WiFi credential sync)*"; |
| + |
| +const char kWifiCredentialSyncDescription[] = |
| + R"*(Enables synchronizing WiFi network settings across devices. When)*" |
| + R"*(enabled, the WiFi credential datatype is registered with Chrome)*" |
| + R"*(Sync, and WiFi credentials are synchronized subject to user)*" |
| + R"*(preferences. (See also, chrome://settings/syncSetup.))*"; |
| + |
| +const char kSyncSandboxName[] = |
| + R"*(Use Chrome Sync sandbox)*"; |
| + |
| +const char kSyncSandboxDescription[] = |
| + R"*(Connects to the testing server for Chrome Sync.)*"; |
| + |
| +const char kDatasaverPromptName[] = |
| + R"*(Cellular Data Saver Prompt)*"; |
| + |
| +const char kDatasaverPromptDescription[] = |
| + R"*(Enables a prompt, which appears when a cellular network)*" |
| + R"*(connection is detected, to take the user to the Data Saver)*" |
| + R"*(extension page on Chrome Web Store.)*"; |
| + |
| +const char kDatasaverPromptDemoMode[] = |
| + R"*(Demo mode)*"; |
| + |
| +const char kDisableUnifiedMediaPipelineDescription[] = |
| + R"*(Disables the unified (Android and desktop) media pipeline on)*" |
| + R"*(Android.)*"; |
| + |
| +const char kTrySupportedChannelLayoutsName[] = |
| + R"*(Causes audio output streams to check if channel layouts other)*" |
| + R"*(than the default hardware layout are available.)*"; |
| + |
| +const char kTrySupportedChannelLayoutsDescription[] = |
| + R"*(Causes audio output streams to check if channel layouts other)*" |
| + R"*(than the default hardware layout are available. Turning this on)*" |
| + R"*(will allow the OS to do stereo to surround expansion if)*" |
| + R"*(supported. May expose third party driver bugs, use with caution.)*"; |
| + |
| +#if defined(OS_MACOSX) |
| + |
| +const char kAppInfoDialogName[] = |
| + R"*(Toolkit-Views App Info Dialog.)*"; |
| + |
| +const char kAppInfoDialogDescription[] = |
| + R"*(Makes the Toolkit-Views based App Info dialog accessible from)*" |
| + R"*(chrome://apps or chrome://extensions in place of the native)*" |
| + R"*(extension permissions dialog, or the details link (which is a)*" |
| + R"*(link to the Web Store).)*"; |
| + |
| +const char kMacViewsNativeAppWindowsName[] = |
| + R"*(Toolkit-Views App Windows.)*"; |
| + |
| +const char kMacViewsNativeAppWindowsDescription[] = |
| + R"*(Controls whether to use Toolkit-Views based Chrome App windows.)*"; |
| + |
| +const char kMacViewsTaskManagerName[] = |
| + R"*(Toolkit-Views Task Manager.)*"; |
| + |
| +const char kMacViewsTaskManagerDescription[] = |
| + R"*(Controls whether to use the Toolkit-Views based Task Manager.)*"; |
| + |
| +const char kAppWindowCyclingName[] = |
| + R"*(Custom Window Cycling for Chrome Apps.)*"; |
| + |
| +const char kAppWindowCyclingDescription[] = |
| + R"*(Changes the behavior of Cmd+` when a Chrome App becomes active.)*" |
| + R"*(When enabled, Chrome Apps will not be cycled when Cmd+` is)*" |
| + R"*(pressed from a browser window, and browser windows will not be)*" |
| + R"*(cycled when a Chrome App is active.)*"; |
| + |
| +#endif // defined(OS_MACOSX) |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +const char kAcceleratedMjpegDecodeName[] = |
| + R"*(Hardware-accelerated mjpeg decode for captured frame)*"; |
| + |
| +const char kAcceleratedMjpegDecodeDescription[] = |
| + R"*(Enable hardware-accelerated mjpeg decode for captured frame where)*" |
| + R"*(available.)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) |
| + |
| +const char kSimplifiedFullscreenUiName[] = |
| + R"*(Simplified full screen / mouse lock UI.)*"; |
| + |
| +const char kSimplifiedFullscreenUiDescription[] = |
| + R"*(A simplified new user experience when entering page-triggered)*" |
| + R"*(full screen or mouse pointer lock states.)*"; |
| + |
| +const char kExperimentalKeyboardLockUiName[] = |
| + R"*(Experimental keyboard lock UI.)*"; |
| + |
| +const char kExperimentalKeyboardLockUiDescription[] = |
| + R"*(An experimental full screen with keyboard lock mode requiring)*" |
| + R"*(users to hold Esc to exit.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kProgressBarAnimationName[] = |
| + R"*(Android phone page loading progress bar animation)*"; |
| + |
| +const char kProgressBarAnimationDescription[] = |
| + R"*(Configures Android phone page loading progress bar animation.)*"; |
| + |
| +const char kProgressBarAnimationLinear[] = |
| + R"*(Linear)*"; |
| + |
| +const char kProgressBarAnimationSmooth[] = |
| + R"*(Smooth)*"; |
| + |
| +const char kProgressBarAnimationSmoothIndeterminate[] = |
| + R"*(Smooth indeterminate)*"; |
| + |
| +const char kProgressBarAnimationFastStart[] = |
| + R"*(Fast start)*"; |
| + |
| +const char kProgressBarCompletionName[] = |
| + R"*(Android phone page load progress bar completion time.)*"; |
| + |
| +const char kProgressBarCompletionDescription[] = |
| + R"*(Configures Android phone page loading progress bar completion)*" |
| + R"*(time.)*"; |
| + |
| +const char kProgressBarCompletionLoadEvent[] = |
| + R"*(Top loading frame's onload event ("everything" is done in the)*" |
| + R"*(page, historical behavior).)*"; |
| + |
| +const char kProgressBarCompletionResourcesBeforeDcl[] = |
| + R"*(Main frame's domContentLoaded and all resources loads started)*" |
| + R"*(before domContentLoaded (iframes ignored).)*"; |
| + |
| +const char kProgressBarCompletionDomContentLoaded[] = |
| + R"*(Main frame's domContentLoaded (iframes ignored).)*"; |
| + |
| +const char kProgressBarCompletionResourcesBeforeDclAndSameOriginIframes[] = |
| + R"*(domContentLoaded and all resources loads started before)*" |
| + R"*(domContentLoaded (main frame and same origin iframes).)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kDisallowDocWrittenScriptsUiName[] = |
| + R"*(Block scripts loaded via document.write)*"; |
| + |
| +const char kDisallowDocWrittenScriptsUiDescription[] = |
| + R"*(Disallows fetches for third-party parser-blocking scripts)*" |
| + R"*(inserted into the main frame via document.write.)*"; |
| + |
| +#if defined(OS_WIN) |
| + |
| +const char kEnableAppcontainerName[] = |
| + R"*(Enable AppContainer Lockdown.)*"; |
| + |
| +const char kEnableAppcontainerDescription[] = |
| + R"*(Enables the use of an AppContainer on sandboxed processes to)*" |
| + R"*(improve security.)*"; |
| + |
| +#endif // defined(OS_WIN) |
| + |
| +#if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID) |
| + |
| +const char kAutofillCreditCardUploadName[] = |
| + R"*(Enable offering upload of Autofilled credit cards)*"; |
| + |
| +const char kAutofillCreditCardUploadDescription[] = |
| + R"*(Enables a new option to upload credit cards to Google Payments)*" |
| + R"*(for sync to all Chrome devices.)*"; |
| + |
| +#endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID) |
| + |
| +const char kForceUiDirectionName[] = |
| + R"*(Force UI direction)*"; |
| + |
| +const char kForceUiDirectionDescription[] = |
| + R"*(Explicitly force the UI to left-to-right (LTR) or right-to-left)*" |
| + R"*((RTL) mode, overriding the default direction of the UI language.)*"; |
| + |
| +const char kForceUiDirectionLtr[] = |
| + R"*(Left-to-right)*"; |
| + |
| +const char kForceUiDirectionRtl[] = |
| + R"*(Right-to-left)*"; |
| + |
| +#if defined(OS_WIN) || defined(OS_LINUX) |
| + |
| +const char kEnableInputImeApiName[] = |
| + R"*(Enable Input IME API)*"; |
| + |
| +const char kEnableInputImeApiDescription[] = |
| + R"*(Enable the use of chrome.input.ime API.)*"; |
| + |
| +#endif // defined(OS_WIN) || defined(OS_LINUX) |
| + |
| +const char kEnableGroupedHistoryName[] = |
| + R"*(Group history by domain)*"; |
| + |
| +const char kEnableGroupedHistoryDescription[] = |
| + R"*(Group history by website domain (i.e. google.com) on)*" |
| + R"*(chrome://history.)*"; |
| + |
| +const char kSecurityChipDefault[] = |
| + R"*(Default)*"; |
| + |
| +const char kSecurityChipShowNonsecureOnly[] = |
| + R"*(Show non-secure only)*"; |
| + |
| +const char kSecurityChipShowAll[] = |
| + R"*(Show all)*"; |
| + |
| +const char kSecurityChipAnimationDefault[] = |
| + R"*(Default)*"; |
| + |
| +const char kSecurityChipAnimationNone[] = |
| + R"*(No animation)*"; |
| + |
| +const char kSecurityChipAnimationNonsecureOnly[] = |
| + R"*(Animate non-secure only)*"; |
| + |
| +const char kSecurityChipAnimationAll[] = |
| + R"*(Animate all)*"; |
| + |
| +const char kSaveasMenuLabelExperimentName[] = |
| + R"*(Switch 'Save as' menu labels to 'Download')*"; |
| + |
| +const char kSaveasMenuLabelExperimentDescription[] = |
| + R"*(Enables an experiment to switch menu labels that use 'Save as...')*" |
| + R"*(to 'Download'.)*"; |
| + |
| +const char kEnableEnumeratingAudioDevicesName[] = |
| + R"*(Experimentally enable enumerating audio devices.)*"; |
| + |
| +const char kEnableEnumeratingAudioDevicesDescription[] = |
| + R"*(Experimentally enable the use of enumerating audio devices.)*"; |
| + |
| +const char kNewUsbBackendName[] = |
| + R"*(Enable new USB backend)*"; |
| + |
| +const char kNewUsbBackendDescription[] = |
| + R"*(Enables the new experimental USB backend for Windows.)*"; |
| + |
| +const char kNewOmniboxAnswerTypesName[] = |
| + R"*(New omnibox answers in suggest types)*"; |
| + |
| +const char kNewOmniboxAnswerTypesDescription[] = |
| + R"*(Enables new types of answers in the omnibox suggest drop-down:)*" |
| + R"*(currency conversions, dictionary definitions, sports scores,)*" |
| + R"*(translations, and when is.)*"; |
| + |
| +const char kEnableZeroSuggestRedirectToChromeName[] = |
| + R"*(Experimental contextual omnibox suggestion)*"; |
| + |
| +const char kEnableZeroSuggestRedirectToChromeDescription[] = |
| + R"*(Change omnibox contextual suggestions to an experimental source.)*" |
| + R"*(Note that this is not an on/off switch for contextual omnibox and)*" |
| + R"*(it only applies to suggestions provided before the user starts)*" |
| + R"*(typing a URL or a search query (i.e. zero suggest).)*"; |
| + |
| +const char kFillOnAccountSelectName[] = |
| + R"*(Fill passwords on account selection)*"; |
| + |
| +const char kFillOnAccountSelectDescription[] = |
| + R"*(Filling of passwords when an account is explicitly selected by)*" |
| + R"*(the user rather than autofilling credentials on page load.)*"; |
| + |
| +const char kEnableClearBrowsingDataCountersName[] = |
| + R"*(Enable Clear browsing data counters.)*"; |
| + |
| +const char kEnableClearBrowsingDataCountersDescription[] = |
| + R"*(Shows data volume counters in the Clear browsing data dialog.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kTabsInCbdName[] = |
| + R"*(Enable tabs for the Clear Browsing Data dialog.)*"; |
| + |
| +const char kTabsInCbdDescription[] = |
| + R"*(Enables a basic and an advanced tab for the Clear Browsing Data)*" |
| + R"*(dialog.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kNotificationsNativeFlag[] = |
| + R"*(Enable native notifications.)*"; |
| + |
| +const char kNotificationsNativeFlagDescription[] = |
| + R"*(Enable support for using the native notification toasts and)*" |
| + R"*(notification center on platforms where these are available.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kEnableAndroidSpellcheckerDescription[] = |
| + R"*(Enables use of the Android spellchecker.)*"; |
| + |
| +const char kEnableAndroidSpellcheckerName[] = |
| + R"*(Enable spell checking)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kEnableWebNotificationCustomLayoutsName[] = |
| + R"*(Enable custom layouts for Web Notifications.)*"; |
| + |
| +const char kEnableWebNotificationCustomLayoutsDescription[] = |
| + R"*(Enable custom layouts for Web Notifications. They will have)*" |
| + R"*(subtle layout improvements that are otherwise not possible.)*"; |
| + |
| +const char kAccountConsistencyName[] = |
| + R"*(Identity consistency between browser and cookie jar)*"; |
| + |
| +const char kAccountConsistencyDescription[] = |
| + R"*(When enabled, the browser manages signing in and out of Google)*" |
| + R"*(accounts.)*"; |
| + |
| +const char kEnablePasswordSeparatedSigninFlowName[] = |
| + R"*(Enable new gaia password-separated sign in flow)*"; |
| + |
| +const char kEnablePasswordSeparatedSigninFlowDescription[] = |
| + R"*(When enabled, signing in to the browser will use a new gaia)*" |
| + R"*(password-separated sign in flow.)*"; |
| + |
| +const char kGoogleProfileInfoName[] = |
| + R"*(Google profile name and icon)*"; |
| + |
| +const char kGoogleProfileInfoDescription[] = |
| + R"*(Enables using Google information to populate the profile name and)*" |
| + R"*(icon in the avatar menu.)*"; |
| + |
| +const char kOfferStoreUnmaskedWalletCards[] = |
| + R"*(Google Payments card saving checkbox)*"; |
| + |
| +const char kOfferStoreUnmaskedWalletCardsDescription[] = |
| + R"*(Show the checkbox to offer local saving of a credit card)*" |
| + R"*(downloaded from the server.)*"; |
| + |
| +const char kOfflineAutoReloadName[] = |
| + R"*(Offline Auto-Reload Mode)*"; |
| + |
| +const char kOfflineAutoReloadDescription[] = |
| + R"*(Pages that fail to load while the browser is offline will be)*" |
| + R"*(auto-reloaded when the browser is online again.)*"; |
| + |
| +const char kOfflineAutoReloadVisibleOnlyName[] = |
| + R"*(Only Auto-Reload Visible Tabs)*"; |
| + |
| +const char kOfflineAutoReloadVisibleOnlyDescription[] = |
| + R"*(Pages that fail to load while the browser is offline will only be)*" |
| + R"*(auto-reloaded if their tab is visible.)*"; |
| + |
| +const char kShowSavedCopyName[] = |
| + R"*(Show Saved Copy Button)*"; |
| + |
| +const char kShowSavedCopyDescription[] = |
| + R"*(When a page fails to load, if a stale copy of the page exists in)*" |
| + R"*(the browser cache, a button will be presented to allow the user)*" |
| + R"*(to load that stale copy. The primary enabling choice puts the)*" |
| + R"*(button in the most salient position on the error page; the)*" |
| + R"*(secondary enabling choice puts it secondary to the reload)*" |
| + R"*(button.)*"; |
| + |
| +const char kEnableShowSavedCopyPrimary[] = |
| + R"*(Enable: Primary)*"; |
| + |
| +const char kEnableShowSavedCopySecondary[] = |
| + R"*(Enable: Secondary)*"; |
| + |
| +const char kDisableShowSavedCopy[] = |
| + R"*(Disable)*"; |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +const char kSmartVirtualKeyboardName[] = |
| + R"*(Smart Deployment of the Virtual Keyboard)*"; |
| + |
| +const char kSmartVirtualKeyboardDescription[] = |
| + R"*(Enable/Disable smart deployment of the virtual keyboard.)*"; |
| + |
| +const char kVirtualKeyboardName[] = |
| + R"*(Virtual Keyboard)*"; |
| + |
| +const char kVirtualKeyboardDescription[] = |
| + R"*(Enable virtual keyboard support.)*"; |
| + |
| +const char kVirtualKeyboardOverscrollName[] = |
| + R"*(Virtual Keyboard Overscroll)*"; |
| + |
| +const char kVirtualKeyboardOverscrollDescription[] = |
| + R"*(Enables virtual keyboard overscroll support.)*"; |
| + |
| +const char kInputViewName[] = |
| + R"*(Input views)*"; |
| + |
| +const char kInputViewDescription[] = |
| + R"*(Enable IME extensions to supply custom views for user input such)*" |
| + R"*(as virtual keyboards.)*"; |
| + |
| +const char kNewKoreanImeName[] = |
| + R"*(New Korean IME)*"; |
| + |
| +const char kNewKoreanImeDescription[] = |
| + R"*(New Korean IME, which is based on Google Input Tools' HMM)*" |
| + R"*(engine.)*"; |
| + |
| +const char kPhysicalKeyboardAutocorrectName[] = |
| + R"*(Physical keyboard autocorrect)*"; |
| + |
| +const char kPhysicalKeyboardAutocorrectDescription[] = |
| + R"*(Enable physical keyboard autocorrect for US keyboard, which can)*" |
| + R"*(provide suggestions as typing on physical keyboard.)*"; |
| + |
| +const char kVoiceInputName[] = |
| + R"*(Voice input on virtual keyboard)*"; |
| + |
| +const char kVoiceInputDescription[] = |
| + R"*(Enables voice input on virtual keyboard.)*"; |
| + |
| +const char kExperimentalInputViewFeaturesName[] = |
| + R"*(Experimental input view features)*"; |
| + |
| +const char kExperimentalInputViewFeaturesDescription[] = |
| + R"*(Enable experimental features for IME input views.)*"; |
| + |
| +const char kFloatingVirtualKeyboardName[] = |
| + R"*(Floating virtual keyboard.)*"; |
| + |
| +const char kFloatingVirtualKeyboardDescription[] = |
| + R"*(Enable/Disable floating virtual keyboard.)*"; |
| + |
| +const char kGestureTypingName[] = |
| + R"*(Gesture typing for the virtual keyboard.)*"; |
| + |
| +const char kGestureTypingDescription[] = |
| + R"*(Enable/Disable gesture typing option in the settings page for the)*" |
| + R"*(virtual keyboard.)*"; |
| + |
| +const char kGestureEditingName[] = |
| + R"*(Gesture editing for the virtual keyboard.)*"; |
| + |
| +const char kGestureEditingDescription[] = |
| + R"*(Enable/Disable gesture editing option in the settings page for)*" |
| + R"*(the virtual keyboard.)*"; |
| + |
| +const char kCaptivePortalBypassProxyName[] = |
| + R"*(Bypass proxy for Captive Portal Authorization)*"; |
| + |
| +const char kCaptivePortalBypassProxyDescription[] = |
| + R"*(If proxy is configured, it usually prevents from authorization on)*" |
| + R"*(different captive portals. This enables opening captive portal)*" |
| + R"*(authorization dialog in a separate window, which ignores proxy)*" |
| + R"*(settings.)*"; |
| + |
| +const char kTouchscreenCalibrationName[] = |
| + R"*(Enable/disable touchscreen calibration option in material design)*" |
| + R"*(settings)*"; |
| + |
| +const char kTouchscreenCalibrationDescription[] = |
| + R"*(If enabled, the user can calibrate the touch screen displays in)*" |
| + R"*(chrome://md-settings/display.)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) |
| + |
| +// Strings for controlling credit card assist feature in about:flags. |
| + |
| +const char kCreditCardAssistName[] = |
| + R"*(Credit Card Assisted Filling)*"; |
| + |
| +const char kCreditCardAssistDescription[] = |
| + R"*(Enable assisted credit card filling on certain sites.)*"; |
| + |
| +// Strings for controlling credit card scanning feature in about:flags. |
| + |
| +// Simple Cache Backend experiment. |
| + |
| +const char kSimpleCacheBackendName[] = |
| + R"*(Simple Cache for HTTP)*"; |
| + |
| +const char kSimpleCacheBackendDescription[] = |
| + R"*(The Simple Cache for HTTP is a new cache. It relies on the)*" |
| + R"*(filesystem for disk space allocation.)*"; |
| + |
| +// Spelling feedback field trial. |
| + |
| +const char kSpellingFeedbackFieldTrialName[] = |
| + R"*(Spelling Feedback Field Trial)*"; |
| + |
| +const char kSpellingFeedbackFieldTrialDescription[] = |
| + R"*(Enable the field trial for sending user feedback to spelling)*" |
| + R"*(service.)*"; |
| + |
| +// Web MIDI API. |
| + |
| +const char kWebMidiName[] = |
| + R"*(Web MIDI API)*"; |
| + |
| +const char kWebMidiDescription[] = |
| + R"*(Enable Web MIDI API experimental support.)*"; |
| + |
| +// Site per process mode |
| + |
| +const char kSitePerProcessName[] = |
| + R"*(Out of process iframes)*"; |
| + |
| +const char kSitePerProcessDescription[] = |
| + R"*(Highly experimental support for rendering cross-site iframes in)*" |
| + R"*(separate processes. In this mode, documents will share a renderer)*" |
| + R"*(process only if they are from the same web site.)*"; |
| + |
| +// Top document isolation mode |
| + |
| +const char kTopDocumentIsolationName[] = |
| + R"*(Top document isolation)*"; |
| + |
| +const char kTopDocumentIsolationDescription[] = |
| + R"*(Highly experimental performance mode where cross-site iframes are)*" |
| + R"*(kept in a separate process from the top document. In this mode,)*" |
| + R"*(iframes from different third-party sites will be allowed to share)*" |
| + R"*(a process.)*"; |
| + |
| +// Cross process guest frames isolation mode |
| + |
| +const char kCrossProcessGuestViewIsolationName[] = |
| + R"*(Cross process frames for guests)*"; |
| + |
| +const char kCrossProcessGuestViewIsolationDescription[] = |
| + R"*(Highly experimental where guests such as <webview> are)*" |
| + R"*(implemented on the out-of-process iframe infrastructure.)*"; |
| + |
| +// Task Scheduler |
| + |
| +const char kBrowserTaskSchedulerName[] = |
| + R"*(Task Scheduler)*"; |
| + |
| +const char kBrowserTaskSchedulerDescription[] = |
| + R"*(Enables redirection of some task posting APIs to the task)*" |
| + R"*(scheduler.)*"; |
| + |
| +// Arc authorization |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +const char kArcUseAuthEndpointName[] = |
| + R"*(Android apps authorization point)*"; |
| + |
| +const char kArcUseAuthEndpointDescription[] = |
| + R"*(Enable Android apps authorization point to automatic sign-in in)*" |
| + R"*(OptIn flow.)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) |
| + |
| +// Autofill experiment flags |
| + |
| +const char kSingleClickAutofillName[] = |
| + R"*(Single-click autofill)*"; |
| + |
| +const char kSingleClickAutofillDescription[] = |
| + R"*(Make autofill suggestions on initial mouse click on a form)*" |
| + R"*(element.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kAutofillAccessoryViewName[] = |
| + R"*(Autofill suggestions as keyboard accessory view)*"; |
| + |
| +const char kAutofillAccessoryViewDescription[] = |
| + R"*(Shows Autofill suggestions on top of the keyboard rather than in)*" |
| + R"*(a dropdown.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Reader mode experiment flags |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kReaderModeHeuristicsName[] = |
| + R"*(Reader Mode triggering)*"; |
| + |
| +const char kReaderModeHeuristicsDescription[] = |
| + R"*(Determines what pages the Reader Mode button is shown on.)*"; |
| + |
| +const char kReaderModeHeuristicsMarkup[] = |
| + R"*(With article structured markup)*"; |
| + |
| +const char kReaderModeHeuristicsAdaboost[] = |
| + R"*(Appears to be an article)*"; |
| + |
| +const char kReaderModeHeuristicsAlwaysOff[] = |
| + R"*(Never)*"; |
| + |
| +const char kReaderModeHeuristicsAlwaysOn[] = |
| + R"*(Always)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Chrome home flags |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kChromeHomeName[] = |
| + R"*(Chrome Home)*"; |
| + |
| +const char kChromeHomeDescription[] = |
| + R"*(Enables Chrome Home on Android.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Settings window flags |
| + |
| +const char kSettingsWindowName[] = |
| + R"*(Show settings in a window)*"; |
| + |
| +const char kSettingsWindowDescription[] = |
| + R"*(Settings will be shown in a dedicated window instead of as a)*" |
| + R"*(browser tab.)*"; |
| + |
| +// Mixed content issue workaround flags |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +// Flag strings for seccomp-bpf sandbox flag. |
| + |
| +const char kSeccompFilterSandboxAndroidName[] = |
| + R"*(Seccomp-bpf renderer sandbox)*"; |
| + |
| +const char kSeccompFilterSandboxAndroidDescription[] = |
| + R"*(Renderers will have a second-layer sandbox provided by)*" |
| + R"*(seccomp-bpf. This requires kernel features only available on)*" |
| + R"*(select Android versions.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Extension Content Verification |
| + |
| +const char kExtensionContentVerificationName[] = |
| + R"*(Extension Content Verification)*"; |
| + |
| +const char kExtensionContentVerificationDescription[] = |
| + R"*(This flag can be used to turn on verification that the contents)*" |
| + R"*(of the files on disk for extensions from the webstore match what)*" |
| + R"*(they're expected to be. This can be used to turn on this feature)*" |
| + R"*(if it would not otherwise have been turned on, but cannot be used)*" |
| + R"*(to turn it off (because this setting can be tampered with by)*" |
| + R"*(malware).)*"; |
| + |
| +const char kExtensionContentVerificationBootstrap[] = |
| + R"*(Bootstrap (get expected hashes, but do not enforce them))*"; |
| + |
| +const char kExtensionContentVerificationEnforce[] = |
| + R"*(Enforce (try to get hashes, and enforce them if successful))*"; |
| + |
| +const char kExtensionContentVerificationEnforceStrict[] = |
| + R"*(Enforce strict (hard fail if we can't get hashes))*"; |
| + |
| +// Built-in hotword detection display strings |
| + |
| +const char kExperimentalHotwordHardwareName[] = |
| + R"*(Simulated hardware 'Ok Google' features)*"; |
| + |
| +const char kExperimentalHotwordHardwareDescription[] = |
| + R"*(Enables an experimental version of 'Ok Google' hotword detection)*" |
| + R"*(features that have a hardware dependency.)*"; |
| + |
| +// Message center strings |
| + |
| +const char kMessageCenterAlwaysScrollUpUponRemovalName[] = |
| + R"*(Experiments that message center always scroll up upon)*" |
| + R"*(notification removal)*"; |
| + |
| +const char kMessageCenterAlwaysScrollUpUponRemovalDescription[] = |
| + R"*(Enables experiment that message center always scroll up when a)*" |
| + R"*(notification is removed.)*"; |
| + |
| +const char kCastStreamingHwEncodingName[] = |
| + R"*(Cast Streaming hardware video encoding)*"; |
| + |
| +const char kCastStreamingHwEncodingDescription[] = |
| + R"*(This option enables support in Cast Streaming for encoding video)*" |
| + R"*(streams using platform hardware.)*"; |
| + |
| +const char kAllowInsecureLocalhost[] = |
| + R"*(Allow invalid certificates for resources loaded from localhost.)*"; |
| + |
| +const char kAllowInsecureLocalhostDescription[] = |
| + R"*(Allows requests to localhost over HTTPS even when an invalid)*" |
| + R"*(certificate is presented.)*"; |
| + |
| +#if defined(OS_WIN) || defined(OS_MACOSX) |
| + |
| +// Tab discarding |
| + |
| +const char kAutomaticTabDiscardingName[] = |
| + R"*(Automatic tab discarding)*"; |
| + |
| +const char kAutomaticTabDiscardingDescription[] = |
| + R"*(If enabled, tabs get automatically discarded from memory when the)*" |
| + R"*(system memory is low. Discarded tabs are still visible on the tab)*" |
| + R"*(strip and get reloaded when clicked on. Info about discarded tabs)*" |
| + R"*(can be found at chrome://discards.)*"; |
| + |
| +#endif // defined(OS_WIN) || defined(OS_MACOSX) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kOfflineBookmarksName[] = |
| + R"*(Enable offline bookmarks)*"; |
| + |
| +const char kOfflineBookmarksDescription[] = |
| + R"*(Enable saving bookmarked pages for offline viewing.)*"; |
| + |
| +const char kNtpOfflinePagesName[] = |
| + R"*(Enable NTP offline pages)*"; |
| + |
| +const char kNtpOfflinePagesDescription[] = |
| + R"*(Enables badging of offline pages on the New Tab page. Only)*" |
| + R"*(relevant if offline pages are enabled.)*"; |
| + |
| +const char kOfflinePagesAsyncDownloadName[] = |
| + R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages.)*"; |
| + |
| +const char kOfflinePagesAsyncDownloadDescription[] = |
| + R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages such)*" |
| + R"*(that the user can click on it to download the page later.)*"; |
| + |
| +const char kOfflinePagesSvelteConcurrentLoadingName[] = |
| + R"*(Enables concurrent background loading on svelte.)*"; |
| + |
| +const char kOfflinePagesSvelteConcurrentLoadingDescription[] = |
| + R"*(Enables concurrent background loading (or downloading) of pages)*" |
| + R"*(on Android svelte (512MB RAM) devices. Otherwise, background)*" |
| + R"*(loading will happen when the svelte device is idle.)*"; |
| + |
| +const char kOfflinePagesPrefetchingName[] = |
| + R"*(Enables suggested offline pages to be prefetched.)*"; |
| + |
| +const char kOfflinePagesPrefetchingDescription[] = |
| + R"*(Enables suggested offline pages to be prefetched, so useful)*" |
| + R"*(content is available while offline.)*"; |
| + |
| +const char kOfflinePagesSharingName[] = |
| + R"*(Enables offline pages to be shared.)*"; |
| + |
| +const char kOfflinePagesSharingDescription[] = |
| + R"*(Enables the saved offline pages to be shared via other)*" |
| + R"*(applications.)*"; |
| + |
| +const char kBackgroundLoaderForDownloadsName[] = |
| + R"*(Enables background downloading of pages.)*"; |
| + |
| +const char kBackgroundLoaderForDownloadsDescription[] = |
| + R"*(Enables downloading pages in the background in case page is not)*" |
| + R"*(yet loaded in current tab.)*"; |
| + |
| +const char kNewBackgroundLoaderName[] = |
| + R"*(Use background loader instead of prerenderer to load pages.)*"; |
| + |
| +const char kNewBackgroundLoaderDescription[] = |
| + R"*(Use background loader instead of prerenderer to asynchronously)*" |
| + R"*(download pages.)*"; |
| + |
| +const char kNtpPopularSitesName[] = |
| + R"*(Show popular sites on the New Tab page)*"; |
| + |
| +const char kNtpPopularSitesDescription[] = |
| + R"*(Pre-populate the New Tab page with popular sites.)*"; |
| + |
| +const char kNtpSwitchToExistingTabName[] = |
| + R"*(Switch to an existing tab for New Tab Page suggestions.)*"; |
| + |
| +const char kNtpSwitchToExistingTabDescription[] = |
| + R"*(When opening a suggested webpage from the New Tab Page, if a tab)*" |
| + R"*(is already open for the suggestion, switch to that one instead of)*" |
| + R"*(loading the suggestion in the new tab.)*"; |
| + |
| +const char kNtpSwitchToExistingTabMatchUrl[] = |
| + R"*(Match by URL)*"; |
| + |
| +const char kNtpSwitchToExistingTabMatchHost[] = |
| + R"*(Match by Hostname)*"; |
| + |
| +const char kUseAndroidMidiApiName[] = |
| + R"*(Use Android Midi API)*"; |
| + |
| +const char kUseAndroidMidiApiDescription[] = |
| + R"*(Use Android Midi API for WebMIDI (effective only with Android M+)*" |
| + R"*(devices).)*"; |
| + |
| +const char kWebPaymentsModifiersName[] = |
| + R"*(Enable web payment modifiers)*"; |
| + |
| +const char kWebPaymentsModifiersDescription[] = |
| + R"*(If the website provides modifiers in the payment request, show)*" |
| + R"*(the custom total for each payment instrument, update the shopping)*" |
| + R"*(cart when instruments are switched, and send modified payment)*" |
| + R"*(method specific data to the payment app.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(OS_WIN) |
| + |
| +// Exporting tracing events to ETW |
| + |
| +const char kTraceExportEventsToEtwName[] = |
| + R"*(Enable exporting of tracing events to ETW.)*"; |
| + |
| +const char kTraceExportEventsToEtwDesription[] = |
| + R"*(If enabled, trace events will be exported to the Event Tracing)*" |
| + R"*(for Windows (ETW) and can then be captured by tools such as)*" |
| + R"*(UIForETW or Xperf.)*"; |
| + |
| +const char kMergeKeyCharEventsName[] = |
| + R"*(Enable or disable merging merging the key event (WM_KEY*) with)*" |
| + R"*(char event (WM_CHAR).)*"; |
| + |
| +const char kMergeKeyCharEventsDescription[] = |
| + R"*(If disabled, Chrome will handle WM_KEY* and WM_CHAR separatedly.)*"; |
| + |
| +const char kUseWinrtMidiApiName[] = |
| + R"*(Use Windows Runtime MIDI API)*"; |
| + |
| +const char kUseWinrtMidiApiDescription[] = |
| + R"*(Use Windows Runtime MIDI API for WebMIDI (effective only on)*" |
| + R"*(Windows 10 or later).)*"; |
| + |
| +#endif // defined(OS_WIN) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +// Data Use |
| + |
| +// Update Menu Item Flags |
| + |
| +const char kUpdateMenuItemName[] = |
| + R"*(Force show update menu item)*"; |
| + |
| +const char kUpdateMenuItemDescription[] = |
| + R"*(When enabled, an "Update Chrome" item will be shown in the app)*" |
| + R"*(menu.)*"; |
| + |
| +const char kUpdateMenuItemSummaryName[] = |
| + R"*(Update menu item summary)*"; |
| + |
| +const char kUpdateMenuItemSummaryDescription[] = |
| + R"*(When this flag and the force show update menu item flag are)*" |
| + R"*(enabled, a summary will be displayed below the update menu item.)*"; |
| + |
| +const char kUpdateMenuItemNoSummary[] = |
| + R"*(No summary)*"; |
| + |
| +const char kUpdateMenuItemDefaultSummary[] = |
| + R"*(Default summary)*"; |
| + |
| +const char kUpdateMenuItemNewFeaturesSummary[] = |
| + R"*(New features summary)*"; |
| + |
| +const char kUpdateMenuItemCustomSummary[] = |
| + R"*(Custom summary)*"; |
| + |
| +const char kUpdateMenuBadgeName[] = |
| + R"*(Force show update menu badge)*"; |
| + |
| +const char kUpdateMenuBadgeDescription[] = |
| + R"*(When enabled, an update badge will be shown on the app menu)*" |
| + R"*(button.)*"; |
| + |
| +const char kSetMarketUrlForTestingName[] = |
| + R"*(Set market URL for testing)*"; |
| + |
| +const char kSetMarketUrlForTestingDescription[] = |
| + R"*(When enabled, sets the market URL for use in testing the update)*" |
| + R"*(menu item.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kHerbPrototypeChoicesName[] = |
| + R"*(Switch preferred flavor of Herb)*"; |
| + |
| +const char kHerbPrototypeChoicesDescription[] = |
| + R"*(Switching this option changes which tab management prototype is)*" |
| + R"*(being tested.)*"; |
| + |
| +const char kHerbPrototypeFlavorElderberry[] = |
| + R"*(ELDERBERRY: All View Intents in CCT v2)*"; |
| + |
| +const char kEnableSpecialLocaleName[] = |
| + R"*(Enable custom logic for special locales.)*"; |
| + |
| +const char kEnableSpecialLocaleDescription[] = |
| + R"*(Enable custom logic for special locales. In this mode, Chrome)*" |
| + R"*(might behave differently in some locales.)*"; |
| + |
| +// WebApks |
| + |
| +const char kEnableWebapk[] = |
| + R"*(Enable improved add to Home screen)*"; |
| + |
| +const char kEnableWebapkDescription[] = |
| + R"*(Packages "Progressive Web Apps" so that they can integrate more)*" |
| + R"*(deeply with Android. A Chrome server is used to package sites. In)*" |
| + R"*(Chrome Canary and Chrome Dev, this requires “Untrusted)*" |
| + R"*(sources” to be enabled in Android security settings.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kEnableBrotliName[] = |
| + R"*(Brotli Content-Encoding.)*"; |
| + |
| +const char kEnableBrotliDescription[] = |
| + R"*(Enable Brotli Content-Encoding support.)*"; |
| + |
| +const char kEnableWebfontsInterventionName[] = |
| + R"*(New version of User Agent Intervention for WebFonts loading.)*"; |
| + |
| +const char kEnableWebfontsInterventionDescription[] = |
| + R"*(Enable New version of User Agent Intervention for WebFonts)*" |
| + R"*(loading.)*"; |
| + |
| +const char kEnableWebfontsInterventionV2ChoiceDefault[] = |
| + R"*(Default)*"; |
| + |
| +const char kEnableWebfontsInterventionV2ChoiceEnabledWith2g[] = |
| + R"*(Enabled: 2G)*"; |
| + |
| +const char kEnableWebfontsInterventionV2ChoiceEnabledWith3g[] = |
| + R"*(Enabled: 3G)*"; |
| + |
| +const char kEnableWebfontsInterventionV2ChoiceEnabledWithSlow2g[] = |
| + R"*(Enabled: Slow 2G)*"; |
| + |
| +const char kEnableWebfontsInterventionV2ChoiceDisabled[] = |
| + R"*(Disabled)*"; |
| + |
| +const char kEnableWebfontsInterventionTriggerName[] = |
| + R"*(Trigger User Agent Intervention for WebFonts loading always.)*"; |
| + |
| +const char kEnableWebfontsInterventionTriggerDescription[] = |
| + R"*(Enable to trigger User Agent Intervention for WebFonts loading)*" |
| + R"*(always. This flag affects only when the intervention is enabled.)*"; |
| + |
| +const char kEnableScrollAnchoringName[] = |
| + R"*(Scroll Anchoring)*"; |
| + |
| +const char kEnableScrollAnchoringDescription[] = |
| + R"*(Adjusts scroll position to prevent visible jumps when offscreen)*" |
| + R"*(content changes.)*"; |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +const char kEnableNativeCupsName[] = |
| + R"*(Native CUPS)*"; |
| + |
| +const char kEnableNativeCupsDescription[] = |
| + R"*(Enables the use of the native CUPS printing backend.)*"; |
| + |
| +const char kEnableAndroidWallpapersAppName[] = |
| + R"*(Android Wallpapers App)*"; |
| + |
| +const char kEnableAndroidWallpapersAppDescription[] = |
| + R"*(Enables the Android Wallpapers App as the default Wallpaper App)*" |
| + R"*(on Chrome OS.)*"; |
| + |
| +const char kEnableTouchSupportForScreenMagnifierName[] = |
| + R"*(Touch support for screen magnifier)*"; |
| + |
| +const char kEnableTouchSupportForScreenMagnifierDescription[] = |
| + R"*(Enables touch support for screen magnifier)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kContentSuggestionsCategoryOrderName[] = |
| + R"*(Default content suggestions category order (e.g. on NTP))*"; |
| + |
| +const char kContentSuggestionsCategoryOrderDescription[] = |
| + R"*(Set default order of content suggestion categories (e.g. on the)*" |
| + R"*(NTP).)*"; |
| + |
| +const char kContentSuggestionsCategoryRankerName[] = |
| + R"*(Content suggestions category ranker (e.g. on NTP))*"; |
| + |
| +const char kContentSuggestionsCategoryRankerDescription[] = |
| + R"*(Set category ranker to order categories of content suggestions)*" |
| + R"*((e.g. on the NTP).)*"; |
| + |
| +const char kEnableNtpSnippetsVisibilityName[] = |
| + R"*(Make New Tab Page Snippets more visible.)*"; |
| + |
| +const char kEnableNtpSnippetsVisibilityDescription[] = |
| + R"*(If enabled, the NTP snippets will become more discoverable with a)*" |
| + R"*(larger portion of the first card above the fold.)*"; |
| + |
| +const char kEnableNtpRemoteSuggestionsName[] = |
| + R"*(Show server-side suggestions on the New Tab page)*"; |
| + |
| +const char kEnableNtpRemoteSuggestionsDescription[] = |
| + R"*(If enabled, the list of content suggestions on the New Tab page)*" |
| + R"*((see #enable-ntp-snippets) will contain server-side suggestions)*" |
| + R"*((e.g., Articles for you). Furthermore, it allows to override the)*" |
| + R"*(source used to retrieve these server-side suggestions.)*"; |
| + |
| +const char kEnableNtpRecentOfflineTabSuggestionsName[] = |
| + R"*(Show recent offline tabs on the New Tab page)*"; |
| + |
| +const char kEnableNtpRecentOfflineTabSuggestionsDescription[] = |
| + R"*(If enabled, the list of content suggestions on the New Tab page)*" |
| + R"*((see #enable-ntp-snippets) will contain pages that were captured)*" |
| + R"*(offline during browsing (see #offlining-recent-pages))*"; |
| + |
| +const char kEnableNtpSaveToOfflineName[] = |
| + R"*(Show option to save to offline in Snippets context menu.)*"; |
| + |
| +const char kEnableNtpSaveToOfflineDescription[] = |
| + R"*(If enabled, the Snippets context menu (see #enable-ntp-snippets))*" |
| + R"*(will contain the option to save linked page for offline viewing.)*"; |
| + |
| +const char kEnableNtpOfflineBadgeName[] = |
| + R"*(Show offline badge for offline available snippets on the ntp.)*"; |
| + |
| +const char kEnableNtpOfflineBadgeDescription[] = |
| + R"*(If enabled, Snippets that are available offline will have an)*" |
| + R"*(offline badge.)*"; |
| + |
| +const char kEnableNtpAssetDownloadSuggestionsName[] = |
| + R"*(Show asset downloads on the New Tab page)*"; |
| + |
| +const char kEnableNtpAssetDownloadSuggestionsDescription[] = |
| + R"*(If enabled, the list of content suggestions on the New Tab page)*" |
| + R"*((see #enable-ntp-snippets) will contain assets (e.g. books,)*" |
| + R"*(pictures, audio) that the user downloaded for later use.)*"; |
| + |
| +const char kEnableNtpOfflinePageDownloadSuggestionsName[] = |
| + R"*(Show offline page downloads on the New Tab page)*"; |
| + |
| +const char kEnableNtpOfflinePageDownloadSuggestionsDescription[] = |
| + R"*(If enabled, the list of content suggestions on the New Tab page)*" |
| + R"*((see #enable-ntp-snippets) will contain pages that the user)*" |
| + R"*(downloaded for later use.)*"; |
| + |
| +const char kEnableNtpBookmarkSuggestionsName[] = |
| + R"*(Show recently visited bookmarks on the New Tab page)*"; |
| + |
| +const char kEnableNtpBookmarkSuggestionsDescription[] = |
| + R"*(If enabled, the list of content suggestions on the New Tab page)*" |
| + R"*((see #enable-ntp-snippets) will contain recently visited)*" |
| + R"*(bookmarks.)*"; |
| + |
| +const char kEnableNtpPhysicalWebPageSuggestionsName[] = |
| + R"*(Show Physical Web pages on the New Tab page)*"; |
| + |
| +const char kEnableNtpPhysicalWebPageSuggestionsDescription[] = |
| + R"*(If enabled, the list of content suggestions on the New Tab page)*" |
| + R"*((see #enable-ntp-snippets) will contain pages that are available)*" |
| + R"*(through Physical Web (see #enable-physical-web))*"; |
| + |
| +const char kEnableNtpForeignSessionsSuggestionsName[] = |
| + R"*(Show recent foreign tabs on the New Tab page)*"; |
| + |
| +const char kEnableNtpForeignSessionsSuggestionsDescription[] = |
| + R"*(If enabled, the list of content suggestions on the New Tab page)*" |
| + R"*((see #enable-ntp-snippets) will contain recent foreign tabs.)*"; |
| + |
| +const char kEnableNtpSuggestionsNotificationsName[] = |
| + R"*(Notify about new content suggestions available at the New Tab)*" |
| + R"*(page)*"; |
| + |
| +const char kEnableNtpSuggestionsNotificationsDescription[] = |
| + R"*(If enabled, notifications will inform about new content)*" |
| + R"*(suggestions on the New Tab page (see #enable-ntp-snippets).)*"; |
| + |
| +const char kNtpCondensedLayoutName[] = |
| + R"*(Condensed NTP layout)*"; |
| + |
| +const char kNtpCondensedLayoutDescription[] = |
| + R"*(Show a condensed layout on the New Tab Page.)*"; |
| + |
| +const char kNtpCondensedTileLayoutName[] = |
| + R"*(Condensed NTP tile layout)*"; |
| + |
| +const char kNtpCondensedTileLayoutDescription[] = |
| + R"*(Show a condensed tile layout on the New Tab Page.)*"; |
| + |
| +const char kNtpGoogleGInOmniboxName[] = |
| + R"*(Google G in New Tab Page omnibox)*"; |
| + |
| +const char kNtpGoogleGInOmniboxDescription[] = |
| + R"*(Show a Google G in the omnibox on the New Tab Page.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kOffliningRecentPagesName[] = |
| + R"*(Enable offlining of recently visited pages)*"; |
| + |
| +const char kOffliningRecentPagesDescription[] = |
| + R"*(Enable storing recently visited pages locally for offline use.)*" |
| + R"*(Requires Offline Pages to be enabled.)*"; |
| + |
| +const char kOfflinePagesCtName[] = |
| + R"*(Enable Offline Pages CT features.)*"; |
| + |
| +const char kOfflinePagesCtDescription[] = |
| + R"*(Enable Offline Pages CT features.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kEnableExpandedAutofillCreditCardPopupLayout[] = |
| + R"*(Use expanded autofill credit card popup layout.)*"; |
| + |
| +const char kEnableExpandedAutofillCreditCardPopupLayoutDescription[] = |
| + R"*(If enabled, displays autofill credit card popup using expanded)*" |
| + R"*(layout.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kEnableAutofillCreditCardLastUsedDateDisplay[] = |
| + R"*(Display the last used date of a credit card in autofill.)*"; |
| + |
| +const char kEnableAutofillCreditCardLastUsedDateDisplayDescription[] = |
| + R"*(If enabled, display the last used date of a credit card in)*" |
| + R"*(autofill.)*"; |
| + |
| +#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD) |
| + |
| +const char kGoogleBrandedContextMenuName[] = |
| + R"*(Google branding in the context menu)*"; |
| + |
| +const char kGoogleBrandedContextMenuDescription[] = |
| + R"*(Shows a Google icon next to context menu items powered by Google)*" |
| + R"*(services.)*"; |
| + |
| +#endif // !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD) |
| + |
| +const char kEnableWebUsbName[] = |
| + R"*(WebUSB)*"; |
| + |
| +const char kEnableWebUsbDescription[] = |
| + R"*(Enable WebUSB support.)*"; |
| + |
| +const char kEnableGenericSensorName[] = |
| + R"*(Generic Sensor)*"; |
| + |
| +const char kEnableGenericSensorDescription[] = |
| + R"*(Enable sensor APIs based on Generic Sensor API.)*"; |
| + |
| +const char kFontCacheScalingName[] = |
| + R"*(FontCache scaling)*"; |
| + |
| +const char kFontCacheScalingDescription[] = |
| + R"*(Reuse a cached font in the renderer to serve different sizes of)*" |
| + R"*(font for faster layout.)*"; |
| + |
| +const char kFramebustingName[] = |
| + R"*(Framebusting requires same-origin or a user gesture)*"; |
| + |
| +const char kFramebustingDescription[] = |
| + R"*(Don't permit an iframe to navigate the top level browsing context)*" |
| + R"*(unless they are same-origin or the iframe is processing a user)*" |
| + R"*(gesture.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kEnableVrShellName[] = |
| + R"*(Enable Chrome VR.)*"; |
| + |
| +const char kEnableVrShellDescription[] = |
| + R"*(Allow browsing with a VR headset if available for this device.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Web payments |
| + |
| +const char kWebPaymentsName[] = |
| + R"*(Web Payments)*"; |
| + |
| +const char kWebPaymentsDescription[] = |
| + R"*(Enable Web Payments API integration, a JavaScript API for)*" |
| + R"*(merchants.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kEnableAndroidPayIntegrationV1Name[] = |
| + R"*(Enable Android Pay v1)*"; |
| + |
| +const char kEnableAndroidPayIntegrationV1Description[] = |
| + R"*(Enable integration with Android Pay using the first version of)*" |
| + R"*(the API)*"; |
| + |
| +const char kEnableAndroidPayIntegrationV2Name[] = |
| + R"*(Enable Android Pay v2)*"; |
| + |
| +const char kEnableAndroidPayIntegrationV2Description[] = |
| + R"*(Enable integration with Android Pay using the second version of)*" |
| + R"*(the API)*"; |
| + |
| +const char kEnableWebPaymentsSingleAppUiSkipName[] = |
| + R"*(Enable Web Payments single app UI skip)*"; |
| + |
| +const char kEnableWebPaymentsSingleAppUiSkipDescription[] = |
| + R"*(Enable Web Payments to skip showing its UI if the developer)*" |
| + R"*(specifies a single app.)*"; |
| + |
| +const char kAndroidPaymentAppsName[] = |
| + R"*(Android payment apps)*"; |
| + |
| +const char kAndroidPaymentAppsDescription[] = |
| + R"*(Enable third party Android apps to integrate as payment apps)*"; |
| + |
| +const char kAndroidPaymentAppsFilterTitle[] = |
| + R"*(Android payment apps filter)*"; |
| + |
| +const char kAndroidPaymentAppsFilterDescription[] = |
| + R"*(Enable filtering out third party Android apps that can not be)*" |
| + R"*(shown in settings)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kFeaturePolicyName[] = |
| + R"*(Feature Policy)*"; |
| + |
| +const char kFeaturePolicyDescription[] = |
| + R"*(Enables granting and removing access to features through the)*" |
| + R"*(Feature-Policy HTTP header.)*"; |
| + |
| +// Audio rendering mixing experiment strings. |
| + |
| +const char kNewAudioRenderingMixingStrategyName[] = |
| + R"*(New audio rendering mixing strategy)*"; |
| + |
| +const char kNewAudioRenderingMixingStrategyDescription[] = |
| + R"*(Use the new audio rendering mixing strategy.)*"; |
| + |
| +// Background video track disabling experiment strings. |
| + |
| +const char kBackgroundVideoTrackOptimizationName[] = |
| + R"*(Optimize background video playback.)*"; |
| + |
| +const char kBackgroundVideoTrackOptimizationDescription[] = |
| + R"*(Disable video tracks when the video is played in the background)*" |
| + R"*(to optimize performance.)*"; |
| + |
| +// Video fullscreen with orientation lock experiment strings. |
| + |
| +const char kVideoFullscreenOrientationLockName[] = |
| + R"*(Lock screen orientation when playing a video fullscreen.)*"; |
| + |
| +const char kVideoFullscreenOrientationLockDescription[] = |
| + R"*(Lock the screen orientation of the device to match video)*" |
| + R"*(orientation when a video goes fullscreen. Only on phones.)*"; |
| + |
| +// Expensive background timer throttling flag |
| + |
| +const char kExpensiveBackgroundTimerThrottlingName[] = |
| + R"*(Throttle expensive background timers)*"; |
| + |
| +const char kExpensiveBackgroundTimerThrottlingDescription[] = |
| + R"*(Enables intervention to limit CPU usage of background timers to)*" |
| + R"*(1%.)*"; |
| + |
| +// Enable default MediaSession flag |
| + |
| +#if !defined(OS_ANDROID) |
| + |
| +const char kEnableDefaultMediaSessionName[] = |
| + R"*(Manage audio focus across tabs)*"; |
| + |
| +const char kEnableDefaultMediaSessionDescription[] = |
| + R"*(Manage audio focus across tabs to improve the audio mixing.)*"; |
| + |
| +const char kEnableDefaultMediaSessionDisabled[] = |
| + R"*(Disabled)*"; |
| + |
| +const char kEnableDefaultMediaSessionEnabled[] = |
| + R"*(Enabled)*"; |
| + |
| +const char kEnableDefaultMediaSessionEnabledDuckFlash[] = |
| + R"*(Enabled (Flash lowers volume when interrupted by other sound,)*" |
| + R"*(experimental))*"; |
| + |
| +#endif // !defined(OS_ANDROID) |
| + |
| +#if defined(OS_WIN) |
| + |
| +const char kGdiTextPrinting[] = |
| + R"*(GDI Text Printing)*"; |
| + |
| +const char kGdiTextPrintingDescription[] = |
| + R"*(Use GDI to print text as simply text)*"; |
| + |
| +#endif // defined(OS_WIN) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kModalPermissionPromptsName[] = |
| + R"*(Modal Permission Prompts)*"; |
| + |
| +const char kModalPermissionPromptsDescription[] = |
| + R"*(Whether to use permission dialogs in place of permission)*" |
| + R"*(infobars.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if !defined(OS_MACOSX) |
| + |
| +const char kPermissionPromptPersistenceToggleName[] = |
| + R"*(Persistence Toggle in Permission Prompts)*"; |
| + |
| +const char kPermissionPromptPersistenceToggleDescription[] = |
| + R"*(Whether to display a persistence toggle in permission prompts.)*"; |
| + |
| +#endif // !defined(OS_MACOSX) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kNoCreditCardAbort[] = |
| + R"*(No Credit Card Abort)*"; |
| + |
| +const char kNoCreditCardAbortDescription[] = |
| + R"*(Whether or not the No Credit Card Abort is enabled.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Consistent omnibox geolocation |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kEnableConsistentOmniboxGeolocationName[] = |
| + R"*(Have consistent omnibox geolocation access.)*"; |
| + |
| +const char kEnableConsistentOmniboxGeolocationDescription[] = |
| + R"*(Have consistent geolocation access between the omnibox and)*" |
| + R"*(default search engine.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Media Remoting chrome://flags strings |
| + |
| +const char kMediaRemotingName[] = |
| + R"*(Media Remoting during Cast Tab Mirroring)*"; |
| + |
| +const char kMediaRemotingDescription[] = |
| + R"*(When Casting a tab to a remote device, enabling this turns on an)*" |
| + R"*(optimization that forwards the content bitstream directly to the)*" |
| + R"*(remote device when a video is fullscreened.)*"; |
| + |
| +const char kMediaRemotingEncryptedName[] = |
| + R"*(Media Remoting during Cast Tab Mirroring: Encrypted content too)*"; |
| + |
| +const char kMediaRemotingEncryptedDescription[] = |
| + R"*(When Media Remoting is enabled, this flag must be enabled to)*" |
| + R"*(allow the remoting of encrypted content. When disabled, only)*" |
| + R"*(non-encrypted content can be remoted.)*"; |
| + |
| +// Chrome OS component updates chrome://flags strings |
| + |
| +const char kCrosCompUpdatesName[] = |
| + R"*(Chrome OS Flash Component Updates)*"; |
| + |
| +const char kCrosCompUpdatesDescription[] = |
| + R"*(Enable Flash component updates for Chrome OS.)*"; |
| + |
| +// Native Android History chrome://flags strings |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kNativeAndroidHistoryManager[] = |
| + R"*(Native Android History)*"; |
| + |
| +const char kNativeAndroidHistoryManagerDescription[] = |
| + R"*(Show the native Android UI for browsing history.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Play Services LSD permission prompt chrome://flags strings |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kLsdPermissionPromptName[] = |
| + R"*(Location Settings Dialog Permission Prompt)*"; |
| + |
| +const char kLsdPermissionPromptDescription[] = |
| + R"*(Whether to use the Google Play Services Location Settings Dialog)*" |
| + R"*(permission dialog.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +#if defined(OS_WIN) |
| + |
| +// Custom draw the Windows 10 titlebar. crbug.com/505013 |
| + |
| +const char kWindows10CustomTitlebarName[] = |
| + R"*(Custom-drawn Windows 10 Titlebar)*"; |
| + |
| +const char kWindows10CustomTitlebarDescription[] = |
| + R"*(If enabled, Chrome will draw the titlebar and caption buttons)*" |
| + R"*(instead of deferring to Windows.)*"; |
| + |
| +#endif // defined(OS_WIN) |
| + |
| +#if defined(OS_WIN) |
| + |
| +const char kPostscriptPrinting[] = |
| + R"*(PostScript Printing)*"; |
| + |
| +const char kPostscriptPrintingDescription[] = |
| + R"*(Enable postscript generation in place of emf generation when)*" |
| + R"*(printing to postscript capable printers.)*"; |
| + |
| +#endif // defined(OS_WIN) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kAiaFetchingName[] = |
| + R"*(Intermediate Certificate Fetching)*"; |
| + |
| +const char kAiaFetchingDescription[] = |
| + R"*(Enable intermediate certificate fetching when a server does not)*" |
| + R"*(provide sufficient certificates to build a chain to a trusted)*" |
| + R"*(root.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +// Web MIDI supports MIDIManager dynamic instantiation chrome://flags strings |
| + |
| +const char kEnableMidiManagerDynamicInstantiationName[] = |
| + R"*(MIDIManager dynamic instantiation for Web MIDI.)*"; |
| + |
| +const char kEnableMidiManagerDynamicInstantiationDescription[] = |
| + R"*(Enable MIDIManager dynamic instantiation for Web MIDI.)*"; |
| + |
| +// Desktop iOS promotion chrome://flags strings |
| + |
| +#if defined(OS_WIN) |
| + |
| +const char kEnableDesktopIosPromotionsName[] = |
| + R"*(Desktop to iOS promotions.)*"; |
| + |
| +const char kEnableDesktopIosPromotionsDescription[] = |
| + R"*(Enable Desktop to iOS promotions, and allow users to see them if)*" |
| + R"*(they are eligible.)*"; |
| + |
| +#endif // defined(OS_WIN) |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kEnableCustomFeedbackUiName[] = |
| + R"*(Enable Custom Feedback UI)*"; |
| + |
| +const char kEnableCustomFeedbackUiDescription[] = |
| + R"*(Enables a custom feedback UI when submitting feedback through)*" |
| + R"*(Google Feedback. Works with Google Play Services v10.2+)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kEnableAdjustableLargeCursorName[] = |
| + R"*(Enable adjustable large cursor)*"; |
| + |
| +const char kEnableAdjustableLargeCursorDescription[] = |
| + R"*(Make size of accessibility large cursor adjustable.)*"; |
| + |
| +#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \ |
| + defined(OS_WIN) |
| + |
| +const char kOmniboxEntitySuggestionsName[] = |
| + R"*(Omnibox entity suggestions)*"; |
| + |
| +const char kOmniboxEntitySuggestionsDescription[] = |
| + R"*(Enable receiving entity suggestions in Omnibox.)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || |
| + // defined(OS_WIN) |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +const char kEnableChromevoxArcSupportName[] = |
| + R"*(ChromeVox ARC support)*"; |
| + |
| +const char kEnableChromevoxArcSupportDescription[] = |
| + R"*(Enable ChromeVox screen reader features in ARC)*"; |
| + |
| +#endif // defined(OS_CHROMEOS) |
| + |
| +const char kMojoLoadingName[] = |
| + R"*(Use Mojo IPC for resource loading)*"; |
| + |
| +const char kMojoLoadingDescription[] = |
| + R"*(Use Mojo IPC instead of traditional Chrome IPC for resource)*" |
| + R"*(loading.)*"; |
| + |
| +#if defined(OS_ANDROID) |
| + |
| +const char kUseNewDoodleApiName[] = |
| + R"*(Use new Doodle API)*"; |
| + |
| +const char kUseNewDoodleApiDescription[] = |
| + R"*(Enables the new API to fetch Doodles for the NTP.)*"; |
| + |
| +#endif // defined(OS_ANDROID) |
| + |
| +const char kDelayNavigationName[] = |
| + R"*(Delay navigations)*"; |
| + |
| +const char kDelayNavigationDescription[] = |
| + R"*(Add a fixed delay to main frame navigations.)*"; |
| + |
| +const char kDebugShortcutsDescription[] = |
| + R"*(Enables additional keyboard shortcuts that are useful for)*" |
| + R"*(debugging Ash.)*"; |
| + |
| +#if defined(OS_CHROMEOS) |
| + |
| +// File Manager |
| + |
| +const char kVideoPlayerChromecastSupportName[] = |
| + R"*(Experimental Chromecast support for Video Player)*"; |
| + |
| +const char kVideoPlayerChromecastSupportDescription[] = |
| + R"*(This option enables experimental Chromecast support for Video)*" |
| + R"*(Player app on ChromeOS.)*"; |
| + |
| +const char kNewZipUnpackerName[] = |
| + R"*(New ZIP unpacker)*"; |
| + |
| +const char kNewZipUnpackerDescription[] = |
| + R"*(New ZIP unpacker flow, based on the File System Provider API.)*"; |
| + |
| +const char kShowArcFilesAppName[] = |
| + R"*(Show Android Files app)*"; |
| + |
| +const char kShowArcFilesAppDescription[] = |
| + R"*(Show Android Files app in Chrome OS launcher. This is only)*" |
| + R"*(effective on a device with access to Play Store.)*"; |
| + |
| +const char kOfficeEditingComponentAppName[] = |
| + R"*(Office Editing for Docs, Sheets & Slides)*"; |
| + |
| +const char kOfficeEditingComponentAppDescription[] = |
| + R"*(Office Editing for Docs, Sheets & Slides for testing purposes.)*"; |
| + |
| +const char kDisplayColorCalibrationName[] = |
| + R"*(Color calibration of the display)*"; |
| + |
| +const char kDisplayColorCalibrationDescription[] = |
| + R"*(Allow color calibration of the display if the display supports)*" |
| + R"*(the feature.)*"; |
| + |
| +const char kMemoryPressureThresholdName[] = |
| + R"*(Memory discard strategy for advanced pressure handling)*"; |
| + |
| +const char kMemoryPressureThresholdDescription[] = |
| + R"*(Memory discarding strategy to use)*"; |
| + |
| +const char kConservativeThresholds[] = |
| + R"*(Conservative memory pressure release strategy)*"; |
| + |
| +const char kAggressiveCacheDiscardThresholds[] = |
| + R"*(Aggressive cache release strategy)*"; |
| + |
| +const char kAggressiveTabDiscardThresholds[] = |
| + R"*(Aggressive tab release strategy)*"; |
| + |
| +const char kAggressiveThresholds[] = |
| + R"*(Aggressive tab and cache release strategy)*"; |
| + |
| +const char kWakeOnPacketsName[] = |
| + R"*(Wake On Packets)*"; |
| + |
| +const char kWakeOnPacketsDescription[] = |
| + R"*(Enables waking the device based on the receipt of some network)*" |
| + R"*(packets.)*"; |
| + |
| +const char kQuickUnlockPin[] = |
| + R"*(Quick Unlock (PIN))*"; |
| + |
| +const char kQuickUnlockPinDescription[] = |
| + R"*(Enabling PIN quick unlock allows you to use a PIN to unlock your)*" |
| + R"*(Chromebook on the lock screen after you have signed into your)*" |
| + R"*(device.)*"; |
| + |
| +const char kQuickUnlockFingerprint[] = |
| + R"*(Quick Unlock (Fingerprint))*"; |
| + |
| +const char kQuickUnlockFingerprintDescription[] = |
| + R"*(Enabling fingerprint quick unlock allows you to setup and use a)*" |
| + R"*(fingerprint to unlock your Chromebook on the lock screen after)*" |
| + R"*(you have signed into your device.)*"; |
| + |
| +const char kExperimentalAccessibilityFeaturesName[] = |
| + R"*(Experimental accessibility features)*"; |
| + |
| +const char kExperimentalAccessibilityFeaturesDescription[] = |
| + R"*(Enable additional accessibility features in the Settings page.)*"; |
| + |
| +const char kDisableSystemTimezoneAutomaticDetectionName[] = |
| + R"*(SystemTimezoneAutomaticDetection policy support)*"; |
| + |
| +const char kDisableSystemTimezoneAutomaticDetectionDescription[] = |
| + R"*(Disable system timezone automatic detection device policy.)*"; |
| + |
| +const char kEolNotificationName[] = |
| + R"*(Disable Device End of Life notification.)*"; |
| + |
| +const char kEolNotificationDescription[] = |
| + R"*(Disable Notifcation when Device is End of Life.)*"; |
| + |
| +// Stylus strings |
| + |
| +const char kForceEnableStylusToolsName[] = |
| + R"*(Force enable stylus features)*"; |
| + |
| +const char kForceEnableStylusToolsDescription[] = |
| + R"*(Forces display of the stylus tools menu in the shelf and the)*" |
| + R"*(stylus section in settings, even if there is no attached stylus)*" |
| + R"*(device.)*"; |
| + |
| +// Network portal notification |
| + |
| +const char kNetworkPortalNotificationName[] = |
| + R"*(Notifications about captive portals)*"; |
| + |
| +const char kNetworkPortalNotificationDescription[] = |
| + R"*(If enabled, notification is displayed when device is connected to)*" |
| + R"*(a network behind captive portal.)*"; |
| + |
| +const char kMtpWriteSupportName[] = |
| + R"*(MTP write support)*"; |
| + |
| +const char kMtpWriteSupportDescription[] = |
| + R"*(MTP write support in File System API (and file manager). In-place)*" |
| + R"*(editing operations are not supported.)*"; |
| + |
| +const char kCrosRegionsModeName[] = |
| + R"*(Cros-regions load mode)*"; |
| + |
| +const char kCrosRegionsModeDescription[] = |
| + R"*(This flag controls cros-regions load mode)*"; |
| + |
| +const char kCrosRegionsModeDefault[] = |
| + R"*(Default)*"; |
| + |
| +const char kCrosRegionsModeOverride[] = |
| + R"*(Override VPD values.)*"; |
| + |
| +const char kCrosRegionsModeHide[] = |
| + R"*(Hide VPD values.)*"; |
| + |
| +const char kPrinterProviderSearchAppName[] = |
| + R"*(Chrome Web Store Gallery app for printer drivers)*"; |
| + |
| +const char kPrinterProviderSearchAppDescription[] = |
| + R"*(Enables Chrome Web Store Gallery app for printer drivers. The app)*" |
| + R"*(searches Chrome Web Store for extensions that support printing to)*" |
| + R"*(a USB printer with specific USB ID.)*"; |
| + |
| +const char kArcBootCompleted[] = |
| + R"*(Load Android apps automatically)*"; |
| + |
| +const char kArcBootCompletedDescription[] = |
| + R"*(Allow Android apps to start automatically after signing in.)*"; |
| + |
| +const char kEnableImeMenuName[] = |
| + R"*(Enable opt-in IME menu)*"; |
| + |
| +const char kEnableImeMenuDescription[] = |
| + R"*(Enable access to the new IME menu in the Language Settings page.)*"; |
| + |
| +const char kEnableEhvInputName[] = |
| + R"*(Emoji, handwriting and voice input on opt-in IME menu)*"; |
| + |
| +const char kEnableEhvInputDescription[] = |
| + R"*(Enable access to emoji, handwriting and voice input form opt-in)*" |
| + R"*(IME menu.)*"; |
| + |
| +#endif // #if defined(OS_CHROMEOS) |
| + |
| +} // namespace flags_descriptions |