Commit 0e5fd802 authored by Wei-Yin Chen (陳威尹)'s avatar Wei-Yin Chen (陳威尹) Committed by Commit Bot

Sort chrome_features.{h,cc} in dictionary order

Command to verify they are sorted:

cat chrome/common/chrome_features.h | \
gawk '{print gensub(/.*Feature[^ ]* ([0-9a-zA-Z_]*).*/,"\\1","g")}' | \
gawk '/^k/' > out/all \
&& cat out/all | LANG=C sort -u > out/sorted \
&& diff -u out/all out/sorted

chrome/common/chrome_features.cc can be checked similarly.
Fixing them was manual.

Bug: None
Change-Id: Ie5639fa4bedc41024f975ad43b8bf5a5149b322f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2345944
Commit-Queue: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#796580}
parent 69e18d60
...@@ -16,9 +16,31 @@ namespace features { ...@@ -16,9 +16,31 @@ namespace features {
// All features in alphabetical order. // All features in alphabetical order.
#if BUILDFLAG(ENABLE_EXTENSIONS)
// Sets whether dismissing the new-tab-page override bubble counts as
// acknowledgement.
const base::Feature kAcknowledgeNtpOverrideOnDeactivate{
"AcknowledgeNtpOverrideOnDeactivate", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_CHROMEOS)
// Enables or disables logging for adaptive screen brightness on Chrome OS.
const base::Feature kAdaptiveScreenBrightnessLogging{
"AdaptiveScreenBrightnessLogging", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
const base::Feature kAddToHomescreenMessaging{ const base::Feature kAddToHomescreenMessaging{
"AddToHomescreenMessaging", base::FEATURE_DISABLED_BY_DEFAULT}; "AddToHomescreenMessaging", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_CHROMEOS)
// Shows a setting that allows disabling mouse acceleration.
const base::Feature kAllowDisableMouseAcceleration{
"AllowDisableMouseAcceleration", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if defined(OS_ANDROID)
const base::Feature kAndroidDarkSearch{"AndroidDarkSearch", const base::Feature kAndroidDarkSearch{"AndroidDarkSearch",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
...@@ -36,26 +58,21 @@ const base::Feature kAppActivityReporting{"AppActivityReporting", ...@@ -36,26 +58,21 @@ const base::Feature kAppActivityReporting{"AppActivityReporting",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
#if !defined(OS_ANDROID)
// App Service related flags. See components/services/app_service/README.md.
const base::Feature kAppServiceAdaptiveIcon{"AppServiceAdaptiveIcon",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAppServiceIntentHandling{"AppServiceIntentHandling",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif // !defined(OS_ANDROID)
#if defined(OS_MAC) #if defined(OS_MAC)
// Can be used to disable RemoteCocoa (hosting NSWindows for apps in the app // Can be used to disable RemoteCocoa (hosting NSWindows for apps in the app
// process). For debugging purposes only. // process). For debugging purposes only.
const base::Feature kAppShimRemoteCocoa{"AppShimRemoteCocoa", const base::Feature kAppShimRemoteCocoa{"AppShimRemoteCocoa",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Enables the "this OS is obsolete" infobar on Mac 10.9.
// TODO(ellyjones): Remove this after the last 10.9 release.
const base::Feature kShow10_9ObsoleteInfobar{"Show109ObsoleteInfobar",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_MAC) #endif // defined(OS_MAC)
#if !defined(OS_ANDROID)
// App Service related flags. See components/services/app_service/README.md.
const base::Feature kAppServiceIntentHandling{"AppServiceIntentHandling",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAppServiceAdaptiveIcon{"AppServiceAdaptiveIcon",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif // !defined(OS_ANDROID)
// Enables the built-in DNS resolver. // Enables the built-in DNS resolver.
const base::Feature kAsyncDns { const base::Feature kAsyncDns {
"AsyncDns", "AsyncDns",
...@@ -74,20 +91,9 @@ const base::Feature kBackgroundModeAllowRestart{ ...@@ -74,20 +91,9 @@ const base::Feature kBackgroundModeAllowRestart{
"BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT}; "BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_WIN) || defined(OS_LINUX) #endif // defined(OS_WIN) || defined(OS_LINUX)
#if !defined(OS_ANDROID) #if defined(OS_CHROMEOS)
// Enables logging UKMs for background tab activity by TabActivityWatcher. // Enable Borealis on Chrome OS.
const base::Feature kTabMetricsLogging{"TabMetricsLogging", const base::Feature kBorealis{"Borealis", base::FEATURE_DISABLED_BY_DEFAULT};
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if defined(OS_WIN)
// Enables the blocking of third-party modules. This feature requires Windows 8
// or higher because it depends on the ProcessExtensionPointDisablePolicy
// mitigation, which was not available on Windows 7.
// Note: Due to a limitation in the implementation of this feature, it is
// required to start the browser two times to fully enable or disable it.
const base::Feature kThirdPartyModulesBlocking{
"ThirdPartyModulesBlocking", base::FEATURE_DISABLED_BY_DEFAULT};
#endif #endif
#if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) #if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED)
...@@ -107,13 +113,6 @@ const base::Feature kChangePictureVideoMode{"ChangePictureVideoMode", ...@@ -107,13 +113,6 @@ const base::Feature kChangePictureVideoMode{"ChangePictureVideoMode",
const base::Feature kCheckOfflineCapability{"CheckOfflineCapability", const base::Feature kCheckOfflineCapability{"CheckOfflineCapability",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_CHROMEOS)
// Enables passing additional user authentication in requests to DMServer
// (policy fetch, status report upload).
const base::Feature kDMServerOAuthForChildUser{
"DMServerOAuthForChildUser", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
// Enables clearing of browsing data which is older than given time period. // Enables clearing of browsing data which is older than given time period.
const base::Feature kClearOldBrowsingData{"ClearOldBrowsingData", const base::Feature kClearOldBrowsingData{"ClearOldBrowsingData",
...@@ -129,18 +128,15 @@ const base::Feature kClientStorageAccessContextAuditing{ ...@@ -129,18 +128,15 @@ const base::Feature kClientStorageAccessContextAuditing{
const base::Feature kContentSettingsRedesign{"ContentSettingsRedesign", const base::Feature kContentSettingsRedesign{"ContentSettingsRedesign",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_MAC)
const base::Feature kImmersiveFullscreen{"ImmersiveFullscreen",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
// Shows a setting that allows disabling mouse acceleration. // Enables or disables "usm" service in the list of user services returned by
const base::Feature kAllowDisableMouseAcceleration{ // userInfo Gaia message.
"AllowDisableMouseAcceleration", base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kCrOSEnableUSMUserService{"CrOSEnableUSMUserService",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enable Borealis on Chrome OS. // Enables or disables flash component updates on Chrome OS.
const base::Feature kBorealis{"Borealis", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kCrosCompUpdates{"CrosCompUpdates",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enable project Crostini, Linux VMs on Chrome OS. // Enable project Crostini, Linux VMs on Chrome OS.
const base::Feature kCrostini{"Crostini", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kCrostini{"Crostini", base::FEATURE_DISABLED_BY_DEFAULT};
...@@ -165,14 +161,14 @@ const base::Feature kCrostiniAnsibleInfrastructure{ ...@@ -165,14 +161,14 @@ const base::Feature kCrostiniAnsibleInfrastructure{
const base::Feature kCrostiniAnsibleSoftwareManagement{ const base::Feature kCrostiniAnsibleSoftwareManagement{
"CrostiniAnsibleSoftwareManagement", base::FEATURE_DISABLED_BY_DEFAULT}; "CrostiniAnsibleSoftwareManagement", base::FEATURE_DISABLED_BY_DEFAULT};
// Enables custom UI for forcibly closing unresponsive windows.
const base::Feature kCrostiniForceClose{"CrostiniForceClose",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables support for sideloading android apps into Arc via crostini. // Enables support for sideloading android apps into Arc via crostini.
const base::Feature kCrostiniArcSideload{"CrostiniArcSideload", const base::Feature kCrostiniArcSideload{"CrostiniArcSideload",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Enables custom UI for forcibly closing unresponsive windows.
const base::Feature kCrostiniForceClose{"CrostiniForceClose",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables distributed model for TPM1.2, i.e., using tpm_managerd and // Enables distributed model for TPM1.2, i.e., using tpm_managerd and
// attestationd. // attestationd.
const base::Feature kCryptohomeDistributedModel{ const base::Feature kCryptohomeDistributedModel{
...@@ -189,36 +185,29 @@ const base::Feature kCryptohomeUserDataAuth{"CryptohomeUserDataAuth", ...@@ -189,36 +185,29 @@ const base::Feature kCryptohomeUserDataAuth{"CryptohomeUserDataAuth",
// instead of the deprecated glib-dbus. // instead of the deprecated glib-dbus.
const base::Feature kCryptohomeUserDataAuthKillswitch{ const base::Feature kCryptohomeUserDataAuthKillswitch{
"CryptohomeUserDataAuthKillswitch", base::FEATURE_DISABLED_BY_DEFAULT}; "CryptohomeUserDataAuthKillswitch", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enable support for "Plugin VMs" on Chrome OS. #if defined(OS_CHROMEOS)
const base::Feature kPluginVm{"PluginVm", base::FEATURE_DISABLED_BY_DEFAULT}; // Enables passing additional user authentication in requests to DMServer
// (policy fetch, status report upload).
// Enable adding a print server on Chrome OS. const base::Feature kDMServerOAuthForChildUser{
const base::Feature kPrintServerUi{"PrintServerUi", "DMServerOAuthForChildUser", base::FEATURE_ENABLED_BY_DEFAULT};
base::FEATURE_ENABLED_BY_DEFAULT}; #endif
// Use the Terminal System App legacy settings page.
const base::Feature kTerminalSystemAppLegacySettings{
"TerminalSystemAppLegacySettings", base::FEATURE_DISABLED_BY_DEFAULT};
// Enable uploading of a zip archive of system logs instead of individual files.
const base::Feature kUploadZippedSystemLogs{"UploadZippedSystemLogs",
base::FEATURE_ENABLED_BY_DEFAULT};
// Allow a Wilco DTC (diagnostics and telemetry controller) on Chrome OS. #if !defined(OS_ANDROID)
// More info about the project may be found here: // Whether to allow installed-by-default web apps to be installed or not.
// https://docs.google.com/document/d/18Ijj8YlC8Q3EWRzLspIi2dGxg4vIBVe5sJgMPt9SWYo const base::Feature kDefaultWebAppInstallation{
const base::Feature kWilcoDtc{"WilcoDtc", base::FEATURE_DISABLED_BY_DEFAULT}; "DefaultWebAppInstallation", base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
// Enable using tab sharing infobars for desktop capture. // Enable using tab sharing infobars for desktop capture.
const base::Feature kDesktopCaptureTabSharingInfobar{ const base::Feature kDesktopCaptureTabSharingInfobar{
"DesktopCaptureTabSharingInfobar", base::FEATURE_ENABLED_BY_DEFAULT}; "DesktopCaptureTabSharingInfobar", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables new Desktop PWAs implementation that does not use // Enables Desktop PWA installs to have a menu of shortcuts associated with
// extensions. // the app icon in the taskbar on Windows, or the dock on macOS or Linux.
const base::Feature kDesktopPWAsWithoutExtensions{ const base::Feature kDesktopPWAsAppIconShortcutsMenu{
"DesktopPWAsWithoutExtensions", base::FEATURE_ENABLED_BY_DEFAULT}; "DesktopPWAsAppIconShortcutsMenu", base::FEATURE_ENABLED_BY_DEFAULT};
// When installing default installed PWAs, we wait for service workers // When installing default installed PWAs, we wait for service workers
// to cache resources. // to cache resources.
...@@ -230,21 +219,9 @@ const base::Feature kDesktopPWAsCacheDuringDefaultInstall{ ...@@ -230,21 +219,9 @@ const base::Feature kDesktopPWAsCacheDuringDefaultInstall{
const base::Feature kDesktopPWAsLocalUpdating{"DesktopPWAsLocalUpdating", const base::Feature kDesktopPWAsLocalUpdating{"DesktopPWAsLocalUpdating",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Adds a tab strip to PWA windows, used for UI experimentation. // Enables or disables Desktop PWAs to be auto-started on OS login.
// TODO(crbug.com/897314): Enable this feature. const base::Feature kDesktopPWAsRunOnOsLogin{"DesktopPWAsRunOnOsLogin",
const base::Feature kDesktopPWAsTabStrip{"DesktopPWAsTabStrip", base::FEATURE_DISABLED_BY_DEFAULT};
base::FEATURE_DISABLED_BY_DEFAULT};
// Makes user navigations via links within web app scopes get captured tab
// tabbed app windows.
// TODO(crbug.com/897314): Enable this feature.
const base::Feature kDesktopPWAsTabStripLinkCapturing{
"DesktopPWAsTabStripLinkCapturing", base::FEATURE_DISABLED_BY_DEFAULT};
// Enables Desktop PWA installs to have a menu of shortcuts associated with
// the app icon in the taskbar on Windows, or the dock on macOS or Linux.
const base::Feature kDesktopPWAsAppIconShortcutsMenu{
"DesktopPWAsAppIconShortcutsMenu", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables usage of shared LevelDB instance (ModelTypeStoreService). // Enables or disables usage of shared LevelDB instance (ModelTypeStoreService).
// If this flag is disabled, the new Web Apps system uses its own isolated // If this flag is disabled, the new Web Apps system uses its own isolated
...@@ -255,25 +232,41 @@ const base::Feature kDesktopPWAsAppIconShortcutsMenu{ ...@@ -255,25 +232,41 @@ const base::Feature kDesktopPWAsAppIconShortcutsMenu{
const base::Feature kDesktopPWAsSharedStoreService{ const base::Feature kDesktopPWAsSharedStoreService{
"DesktopPWAsSharedStoreService", base::FEATURE_ENABLED_BY_DEFAULT}; "DesktopPWAsSharedStoreService", base::FEATURE_ENABLED_BY_DEFAULT};
#if !defined(OS_ANDROID) // Adds a tab strip to PWA windows, used for UI experimentation.
// Whether to allow installed-by-default web apps to be installed or not. // TODO(crbug.com/897314): Enable this feature.
const base::Feature kDefaultWebAppInstallation{ const base::Feature kDesktopPWAsTabStrip{"DesktopPWAsTabStrip",
"DefaultWebAppInstallation", base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables or disables Desktop PWAs to be auto-started on OS login. // Makes user navigations via links within web app scopes get captured tab
const base::Feature kDesktopPWAsRunOnOsLogin{"DesktopPWAsRunOnOsLogin", // tabbed app windows.
base::FEATURE_DISABLED_BY_DEFAULT}; // TODO(crbug.com/897314): Enable this feature.
const base::Feature kDesktopPWAsTabStripLinkCapturing{
"DesktopPWAsTabStripLinkCapturing", base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables new Desktop PWAs implementation that does not use
// extensions.
const base::Feature kDesktopPWAsWithoutExtensions{
"DesktopPWAsWithoutExtensions", base::FEATURE_ENABLED_BY_DEFAULT};
// Enable DNS over HTTPS (DoH). // Enable DNS over HTTPS (DoH).
const base::Feature kDnsOverHttps{"DnsOverHttps", const base::Feature kDnsOverHttps{"DnsOverHttps",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// Provides a mechanism to remove providers from the dropdown list in the
// settings UI. Separate multiple provider ids with commas. See the
// mapping in net/dns/dns_util.cc for provider ids.
const base::FeatureParam<std::string> kDnsOverHttpsDisabledProvidersParam{
&kDnsOverHttps, "DisabledProviders", ""};
// Set whether fallback to insecure DNS is allowed by default. This setting may // Set whether fallback to insecure DNS is allowed by default. This setting may
// be overridden for individual transactions. // be overridden for individual transactions.
const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps, const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps,
"Fallback", true}; "Fallback", true};
// Sets whether the DoH setting is displayed in the settings UI.
const base::FeatureParam<bool> kDnsOverHttpsShowUiParam{&kDnsOverHttps,
"ShowUi", false};
// Supply one or more space-separated DoH server URI templates to use when this // Supply one or more space-separated DoH server URI templates to use when this
// feature is enabled. If no templates are specified, then a hardcoded mapping // feature is enabled. If no templates are specified, then a hardcoded mapping
// will be used to construct a list of DoH templates associated with the IP // will be used to construct a list of DoH templates associated with the IP
...@@ -281,32 +274,22 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps, ...@@ -281,32 +274,22 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps,
const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
&kDnsOverHttps, "Templates", ""}; &kDnsOverHttps, "Templates", ""};
// Sets whether the DoH setting is displayed in the settings UI.
const base::FeatureParam<bool> kDnsOverHttpsShowUiParam{&kDnsOverHttps,
"ShowUi", false};
// Provides a mechanism to remove providers from the dropdown list in the
// settings UI. Separate multiple provider ids with commas. See the
// mapping in net/dns/dns_util.cc for provider ids.
const base::FeatureParam<std::string> kDnsOverHttpsDisabledProvidersParam{
&kDnsOverHttps, "DisabledProviders", ""};
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
// Enable changing default downloads storage location on Android. // Enable changing default downloads storage location on Android.
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange", const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
// Disables ambient authentication in incognito mode.
const base::Feature kEnableAmbientAuthenticationInIncognito{
"EnableAmbientAuthenticationInIncognito",
base::FEATURE_DISABLED_BY_DEFAULT};
// Disables ambient authentication in guest sessions. // Disables ambient authentication in guest sessions.
const base::Feature kEnableAmbientAuthenticationInGuestSession{ const base::Feature kEnableAmbientAuthenticationInGuestSession{
"EnableAmbientAuthenticationInGuestSession", "EnableAmbientAuthenticationInGuestSession",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// Disables ambient authentication in incognito mode.
const base::Feature kEnableAmbientAuthenticationInIncognito{
"EnableAmbientAuthenticationInIncognito",
base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_WIN) #if defined(OS_WIN)
// Enables users to create a desktop shortcut for incognito mode. // Enables users to create a desktop shortcut for incognito mode.
const base::Feature kEnableIncognitoShortcutOnDesktop{ const base::Feature kEnableIncognitoShortcutOnDesktop{
...@@ -337,6 +320,19 @@ const base::Feature kExportTaggedPDF{"ExportTaggedPDF", ...@@ -337,6 +320,19 @@ const base::Feature kExportTaggedPDF{"ExportTaggedPDF",
const base::Feature kExternalExtensionDefaultButtonControl{ const base::Feature kExternalExtensionDefaultButtonControl{
"ExternalExtensionDefaultButtonControl", base::FEATURE_DISABLED_BY_DEFAULT}; "ExternalExtensionDefaultButtonControl", base::FEATURE_DISABLED_BY_DEFAULT};
#if BUILDFLAG(ENABLE_PLUGINS)
// Show Flash deprecation warning to users who have manually enabled Flash.
// https://crbug.com/918428
const base::Feature kFlashDeprecationWarning{"FlashDeprecationWarning",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
// Enables or disables the FlocIdComputed event logging, which happens when a
// floc id is first computed for a browsing session or is refreshed due to a
// long period of time has passed since the last computation.
const base::Feature kFlocIdComputedEventLogging{
"FlocIdComputedEventLogging", base::FEATURE_DISABLED_BY_DEFAULT};
// Enables Focus Mode which brings up a PWA-like window look. // Enables Focus Mode which brings up a PWA-like window look.
const base::Feature kFocusMode{"FocusMode", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kFocusMode{"FocusMode", base::FEATURE_DISABLED_BY_DEFAULT};
...@@ -355,12 +351,6 @@ const base::Feature kGdiTextPrinting{"GdiTextPrinting", ...@@ -355,12 +351,6 @@ const base::Feature kGdiTextPrinting{"GdiTextPrinting",
const base::Feature kGeoLanguage{"GeoLanguage", const base::Feature kGeoLanguage{"GeoLanguage",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_CHROMEOS)
// Enables or disables the Happiness Tracking System for the device.
const base::Feature kHappinessTrackingSystem{"HappinessTrackingSystem",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
// Enables or disables the Happiness Tracking System for Desktop Chrome. // Enables or disables the Happiness Tracking System for Desktop Chrome.
const base::Feature kHappinessTrackingSurveysForDesktop{ const base::Feature kHappinessTrackingSurveysForDesktop{
...@@ -372,6 +362,12 @@ const base::Feature kHappinessTrackingSurveysForDesktopDemo{ ...@@ -372,6 +362,12 @@ const base::Feature kHappinessTrackingSurveysForDesktopDemo{
"HappinessTrackingSurveysForDesktopDemo", "HappinessTrackingSurveysForDesktopDemo",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// Enables the migration of Happiness Tracking Surveys on Desktop (to the latest
// version).
const base::Feature kHappinessTrackingSurveysForDesktopMigration{
"HappinessTrackingSurveysForDesktopMigration",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables the Happiness Tracking System for Desktop Chrome // Enables or disables the Happiness Tracking System for Desktop Chrome
// Settings. // Settings.
const base::Feature kHappinessTrackingSurveysForDesktopSettings{ const base::Feature kHappinessTrackingSurveysForDesktopSettings{
...@@ -383,14 +379,33 @@ const base::Feature kHappinessTrackingSurveysForDesktopSettings{ ...@@ -383,14 +379,33 @@ const base::Feature kHappinessTrackingSurveysForDesktopSettings{
const base::Feature kHappinessTrackingSurveysForDesktopSettingsPrivacy{ const base::Feature kHappinessTrackingSurveysForDesktopSettingsPrivacy{
"HappinessTrackingSurveysForDesktopSettingsPrivacy", "HappinessTrackingSurveysForDesktopSettingsPrivacy",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// Enables the migration of Happiness Tracking Surveys on Desktop (to the latest
// version).
const base::Feature kHappinessTrackingSurveysForDesktopMigration{
"HappinessTrackingSurveysForDesktopMigration",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif // !defined(OS_ANDROID) #endif // !defined(OS_ANDROID)
#if defined(OS_CHROMEOS)
// Enables or disables the Happiness Tracking System for the device.
const base::Feature kHappinessTrackingSystem{"HappinessTrackingSystem",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables or disables the intervention that unloads ad iframes with intensive
// resource usage.
const base::Feature kHeavyAdIntervention{"HeavyAdIntervention",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables reporting on the intervention that unloads ad iframes
// with intensive resource usage.
const base::Feature kHeavyAdInterventionWarning{
"HeavyAdInterventionWarning", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables the privacy mitigations for the heavy ad intervention.
// This throttles the amount of interventions that can occur on a given host in
// a time period. It also adds noise to the thresholds used. This is separate
// from the intervention feature so it does not interfere with field trial
// activation, as this blocklist is created for every user, and noise is decided
// prior to seeing a heavy ad.
const base::Feature kHeavyAdPrivacyMitigations{
"HeavyAdPrivacyMitigations", base::FEATURE_ENABLED_BY_DEFAULT};
// Hide CorsLegacyModeEnabled enterprise policy support. This feature and // Hide CorsLegacyModeEnabled enterprise policy support. This feature and
// the enterprise policy supporting code will be removed at m84. // the enterprise policy supporting code will be removed at m84.
const base::Feature kHideCorsLegacyModeEnabledPolicySupport{ const base::Feature kHideCorsLegacyModeEnabledPolicySupport{
...@@ -401,17 +416,9 @@ const base::Feature kHideCorsLegacyModeEnabledPolicySupport{ ...@@ -401,17 +416,9 @@ const base::Feature kHideCorsLegacyModeEnabledPolicySupport{
const base::Feature kHideCorsMitigationListPolicySupport{ const base::Feature kHideCorsMitigationListPolicySupport{
"HideCorsMitigationListPolicySupport", base::FEATURE_ENABLED_BY_DEFAULT}; "HideCorsMitigationListPolicySupport", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables LiteVideos, a data-saving optimization that throttles media requests #if defined(OS_MAC)
// to reduce the bitrate of adaptive media streams. Only for Lite mode users const base::Feature kImmersiveFullscreen{"ImmersiveFullscreen",
// (formerly DataSaver). base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kLiteVideo{"LiteVideo", base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_WIN)
// A feature that controls whether Chrome warns about incompatible applications.
// This feature requires Windows 10 or higher to work because it depends on
// the "Apps & Features" system settings.
const base::Feature kIncompatibleApplicationsWarning{
"IncompatibleApplicationsWarning", base::FEATURE_DISABLED_BY_DEFAULT};
#endif #endif
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
...@@ -427,6 +434,14 @@ const base::Feature kInSessionPasswordChange{"InSessionPasswordChange", ...@@ -427,6 +434,14 @@ const base::Feature kInSessionPasswordChange{"InSessionPasswordChange",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif // defined(OS_CHROMEOS) #endif // defined(OS_CHROMEOS)
#if defined(OS_WIN)
// A feature that controls whether Chrome warns about incompatible applications.
// This feature requires Windows 10 or higher to work because it depends on
// the "Apps & Features" system settings.
const base::Feature kIncompatibleApplicationsWarning{
"IncompatibleApplicationsWarning", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
// Enables or disables the installable ambient badge infobar. // Enables or disables the installable ambient badge infobar.
const base::Feature kInstallableAmbientBadgeInfoBar{ const base::Feature kInstallableAmbientBadgeInfoBar{
...@@ -452,6 +467,11 @@ const base::Feature kKernelnextVMs{"KernelnextVMs", ...@@ -452,6 +467,11 @@ const base::Feature kKernelnextVMs{"KernelnextVMs",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
#endif #endif
// Enables LiteVideos, a data-saving optimization that throttles media requests
// to reduce the bitrate of adaptive media streams. Only for Lite mode users
// (formerly DataSaver).
const base::Feature kLiteVideo{"LiteVideo", base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_MAC) #if defined(OS_MAC)
// Uses NSFullSizeContentViewWindowMask where available instead of adding our // Uses NSFullSizeContentViewWindowMask where available instead of adding our
// own views to the window frame. This is a temporary kill switch, it can be // own views to the window frame. This is a temporary kill switch, it can be
...@@ -487,13 +507,6 @@ const base::Feature kMeteredShowToggle{"MeteredShowToggle", ...@@ -487,13 +507,6 @@ const base::Feature kMeteredShowToggle{"MeteredShowToggle",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
// Sets whether dismissing the new-tab-page override bubble counts as
// acknowledgement.
const base::Feature kAcknowledgeNtpOverrideOnDeactivate{
"AcknowledgeNtpOverrideOnDeactivate", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables showing an entry for mixed content in site settings, which controls // Enables showing an entry for mixed content in site settings, which controls
// allowing blockable mixed content. When enabled, the mixed content shield is // allowing blockable mixed content. When enabled, the mixed content shield is
// not shown on the omnibox, since its functionality is replaced by the // not shown on the omnibox, since its functionality is replaced by the
...@@ -501,11 +514,6 @@ const base::Feature kAcknowledgeNtpOverrideOnDeactivate{ ...@@ -501,11 +514,6 @@ const base::Feature kAcknowledgeNtpOverrideOnDeactivate{
const base::Feature kMixedContentSiteSetting{"MixedContentSiteSetting", const base::Feature kMixedContentSiteSetting{"MixedContentSiteSetting",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#if !defined(OS_ANDROID)
const base::Feature kOnConnectNative{"OnConnectNative",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables the use of native notification centers instead of using the Message // Enables the use of native notification centers instead of using the Message
// Center for displaying the toasts. The feature is hardcoded to enabled for // Center for displaying the toasts. The feature is hardcoded to enabled for
// Chrome OS. // Chrome OS.
...@@ -533,6 +541,25 @@ const base::Feature kNtlmV2Enabled{"NtlmV2Enabled", ...@@ -533,6 +541,25 @@ const base::Feature kNtlmV2Enabled{"NtlmV2Enabled",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
#if !defined(OS_ANDROID)
const base::Feature kOnConnectNative{"OnConnectNative",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables/disables marketing emails for other countries other than US,CA,UK.
const base::Feature kOobeMarketingAdditionalCountriesSupported{
"kOobeMarketingAdditionalCountriesSupported",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables/disables marketing emails for double opt-in countries.
const base::Feature kOobeMarketingDoubleOptInCountriesSupported{
"kOobeMarketingDoubleOptInCountriesSupported",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables the marketing opt-in screen in OOBE
const base::Feature kOobeMarketingScreen{"OobeMarketingScreen",
base::FEATURE_ENABLED_BY_DEFAULT};
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
// Enables or disabled the OOM intervention. // Enables or disabled the OOM intervention.
const base::Feature kOomIntervention{"OomIntervention", const base::Feature kOomIntervention{"OomIntervention",
...@@ -560,6 +587,11 @@ const base::Feature kPerAppTimeLimits{"PerAppTimeLimits", ...@@ -560,6 +587,11 @@ const base::Feature kPerAppTimeLimits{"PerAppTimeLimits",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
#if defined(OS_CHROMEOS)
// Enable support for "Plugin VMs" on Chrome OS.
const base::Feature kPluginVm{"PluginVm", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Allows prediction operations (e.g., prefetching) on all connection types. // Allows prediction operations (e.g., prefetching) on all connection types.
const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes{ const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes{
"PredictivePrefetchingAllowedOnAllConnectionTypes", "PredictivePrefetchingAllowedOnAllConnectionTypes",
...@@ -569,6 +601,12 @@ const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes{ ...@@ -569,6 +601,12 @@ const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes{
const base::Feature kPrerenderFallbackToPreconnect{ const base::Feature kPrerenderFallbackToPreconnect{
"PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT}; "PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
#if defined(OS_CHROMEOS)
// Enable adding a print server on Chrome OS.
const base::Feature kPrintServerUi{"PrintServerUi",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
const base::Feature kPrivacyElevatedAndroid{"PrivacyElevatedAndroid", const base::Feature kPrivacyElevatedAndroid{"PrivacyElevatedAndroid",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
...@@ -582,28 +620,31 @@ const base::Feature kPrivacyReorderedAndroid{"PrivacyReorderedAndroid", ...@@ -582,28 +620,31 @@ const base::Feature kPrivacyReorderedAndroid{"PrivacyReorderedAndroid",
const base::Feature kPrivacySettingsRedesign{"PrivacySettingsRedesign", const base::Feature kPrivacySettingsRedesign{"PrivacySettingsRedesign",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#if defined(OS_ANDROID)
const base::Feature kSafetyCheckAndroid{"SafetyCheckAndroid",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_WIN)
const base::Feature kSafetyCheckChromeCleanerChild{
"SafetyCheckChromeCleanerChild", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if BUILDFLAG(ENABLE_PLUGINS)
// Show Flash deprecation warning to users who have manually enabled Flash.
// https://crbug.com/918428
const base::Feature kFlashDeprecationWarning{"FlashDeprecationWarning",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
// Enables or disables push subscriptions keeping Chrome running in the // Enables or disables push subscriptions keeping Chrome running in the
// background when closed. // background when closed.
const base::Feature kPushMessagingBackgroundMode{ const base::Feature kPushMessagingBackgroundMode{
"PushMessagingBackgroundMode", base::FEATURE_DISABLED_BY_DEFAULT}; "PushMessagingBackgroundMode", base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_CHROMEOS)
// Enables or disables fingerprint quick unlock.
const base::Feature kQuickUnlockFingerprint{"QuickUnlockFingerprint",
base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether the PIN auto submit feature is enabled.
const base::Feature kQuickUnlockPinAutosubmit{
"QuickUnlockPinAutosubmit", base::FEATURE_DISABLED_BY_DEFAULT};
// TODO(crbug.com/1104164) - Remove this once most
// users have their preferences backfilled.
// Controls whether the PIN auto submit backfill operation should be performed.
const base::Feature kQuickUnlockPinAutosubmitBackfill{
"QuickUnlockPinAutosubmitBackfill", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables pin on the login screen.
const base::Feature kQuickUnlockPinSignin{"QuickUnlockPinSignin",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables using quiet prompts for notification permission requests. // Enables using quiet prompts for notification permission requests.
const base::Feature kQuietNotificationPrompts{"QuietNotificationPrompts", const base::Feature kQuietNotificationPrompts{"QuietNotificationPrompts",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
...@@ -614,6 +655,22 @@ const base::Feature kRemoveSupervisedUsersOnStartup{ ...@@ -614,6 +655,22 @@ const base::Feature kRemoveSupervisedUsersOnStartup{
"RemoveSupervisedUsersOnStartup", base::FEATURE_DISABLED_BY_DEFAULT}; "RemoveSupervisedUsersOnStartup", base::FEATURE_DISABLED_BY_DEFAULT};
#endif #endif
#if defined(OS_ANDROID)
const base::Feature kSafetyCheckAndroid{"SafetyCheckAndroid",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_WIN)
const base::Feature kSafetyCheckChromeCleanerChild{
"SafetyCheckChromeCleanerChild", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if defined(OS_CHROMEOS)
// Enable support for multiple scheduler configurations.
const base::Feature kSchedulerConfiguration{"SchedulerConfiguration",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_CHROMEOS)
// Controls whether the user is prompted when sites request attestation. // Controls whether the user is prompted when sites request attestation.
const base::Feature kSecurityKeyAttestationPrompt{ const base::Feature kSecurityKeyAttestationPrompt{
"SecurityKeyAttestationPrompt", base::FEATURE_ENABLED_BY_DEFAULT}; "SecurityKeyAttestationPrompt", base::FEATURE_ENABLED_BY_DEFAULT};
...@@ -623,6 +680,13 @@ const base::Feature kSharesheet{"Sharesheet", ...@@ -623,6 +680,13 @@ const base::Feature kSharesheet{"Sharesheet",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
#endif #endif
#if defined(OS_MAC)
// Enables the "this OS is obsolete" infobar on Mac 10.9.
// TODO(ellyjones): Remove this after the last 10.9 release.
const base::Feature kShow10_9ObsoleteInfobar{"Show109ObsoleteInfobar",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_MAC)
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL", const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
...@@ -645,9 +709,8 @@ const base::Feature kSitePerProcess { ...@@ -645,9 +709,8 @@ const base::Feature kSitePerProcess {
}; };
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
// Enables or disables automatic setup of USB printers. // Enables or disables SmartDim on Chrome OS.
const base::Feature kStreamlinedUsbPrinterSetup{ const base::Feature kSmartDim{"SmartDim", base::FEATURE_DISABLED_BY_DEFAULT};
"StreamlinedUsbPrinterSetup", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables using smbfs for accessing SMB file shares. // Enables or disables using smbfs for accessing SMB file shares.
const base::Feature kSmbFs{"SmbFs", base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kSmbFs{"SmbFs", base::FEATURE_ENABLED_BY_DEFAULT};
...@@ -659,6 +722,10 @@ const base::Feature kSoundContentSetting{"SoundContentSetting", ...@@ -659,6 +722,10 @@ const base::Feature kSoundContentSetting{"SoundContentSetting",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
// Enables or disables automatic setup of USB printers.
const base::Feature kStreamlinedUsbPrinterSetup{
"StreamlinedUsbPrinterSetup", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables chrome://sys-internals. // Enables or disables chrome://sys-internals.
const base::Feature kSysInternals{"SysInternals", const base::Feature kSysInternals{"SysInternals",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
...@@ -668,113 +735,63 @@ const base::Feature kSysInternals{"SysInternals", ...@@ -668,113 +735,63 @@ const base::Feature kSysInternals{"SysInternals",
const base::Feature kSystemWebApps{"SystemWebApps", const base::Feature kSystemWebApps{"SystemWebApps",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Disable downloads of unsafe file types over insecure transports if initiated
// from a secure page
const base::Feature kTreatUnsafeDownloadsAsActive{
"TreatUnsafeDownloadsAsActive", base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables the intervention that unloads ad iframes with intensive
// resource usage.
const base::Feature kHeavyAdIntervention{"HeavyAdIntervention",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables reporting on the intervention that unloads ad iframes
// with intensive resource usage.
const base::Feature kHeavyAdInterventionWarning{
"HeavyAdInterventionWarning", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables the privacy mitigations for the heavy ad intervention.
// This throttles the amount of interventions that can occur on a given host in
// a time period. It also adds noise to the thresholds used. This is separate
// from the intervention feature so it does not interfere with field trial
// activation, as this blocklist is created for every user, and noise is decided
// prior to seeing a heavy ad.
const base::Feature kHeavyAdPrivacyMitigations{
"HeavyAdPrivacyMitigations", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables the FlocIdComputed event logging, which happens when a
// floc id is first computed for a browsing session or is refreshed due to a
// long period of time has passed since the last computation.
const base::Feature kFlocIdComputedEventLogging{
"FlocIdComputedEventLogging", base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
// Enables or disables logging for adaptive screen brightness on Chrome OS. // Enables or disables TPM firmware update capability on Chrome OS.
const base::Feature kAdaptiveScreenBrightnessLogging{ const base::Feature kTPMFirmwareUpdate{"TPMFirmwareUpdate",
"AdaptiveScreenBrightnessLogging", base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables user activity event logging for power management on
// Chrome OS.
const base::Feature kUserActivityEventLogging{"UserActivityEventLogging",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
#if defined(OS_CHROMEOS) #if !defined(OS_ANDROID)
// Controls whether the PIN auto submit feature is enabled. // Enables logging UKMs for background tab activity by TabActivityWatcher.
const base::Feature kQuickUnlockPinAutosubmit{ const base::Feature kTabMetricsLogging{"TabMetricsLogging",
"QuickUnlockPinAutosubmit", base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif
// TODO(crbug.com/1104164) - Remove this once most
// users have their preferences backfilled.
// Controls whether the PIN auto submit backfill operation should be performed.
const base::Feature kQuickUnlockPinAutosubmitBackfill{
"QuickUnlockPinAutosubmitBackfill", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables pin on the login screen.
const base::Feature kQuickUnlockPinSignin{"QuickUnlockPinSignin",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables the marketing opt-in screen in OOBE
const base::Feature kOobeMarketingScreen{"OobeMarketingScreen",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables/disables marketing emails for double opt-in countries.
const base::Feature kOobeMarketingDoubleOptInCountriesSupported{
"kOobeMarketingDoubleOptInCountriesSupported",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables/disables marketing emails for other countries other than US,CA,UK.
const base::Feature kOobeMarketingAdditionalCountriesSupported{
"kOobeMarketingAdditionalCountriesSupported",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables fingerprint quick unlock.
const base::Feature kQuickUnlockFingerprint{"QuickUnlockFingerprint",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables flash component updates on Chrome OS. // Enables the teamfood flags.
const base::Feature kCrosCompUpdates{"CrosCompUpdates", const base::Feature kTeamfoodFlags{"TeamfoodFlags",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables TPM firmware update capability on Chrome OS. #if defined(OS_CHROMEOS)
const base::Feature kTPMFirmwareUpdate{"TPMFirmwareUpdate", // Use the Terminal System App legacy settings page.
base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kTerminalSystemAppLegacySettings{
"TerminalSystemAppLegacySettings", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables or disables "usm" service in the list of user services returned by #if defined(OS_WIN)
// userInfo Gaia message. // Enables the blocking of third-party modules. This feature requires Windows 8
const base::Feature kCrOSEnableUSMUserService{"CrOSEnableUSMUserService", // or higher because it depends on the ProcessExtensionPointDisablePolicy
base::FEATURE_ENABLED_BY_DEFAULT}; // mitigation, which was not available on Windows 7.
// Note: Due to a limitation in the implementation of this feature, it is
// required to start the browser two times to fully enable or disable it.
const base::Feature kThirdPartyModulesBlocking{
"ThirdPartyModulesBlocking", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Enables or disables SmartDim on Chrome OS. // Disable downloads of unsafe file types over insecure transports if initiated
const base::Feature kSmartDim{"SmartDim", base::FEATURE_DISABLED_BY_DEFAULT}; // from a secure page
const base::Feature kTreatUnsafeDownloadsAsActive{
"TreatUnsafeDownloadsAsActive", base::FEATURE_DISABLED_BY_DEFAULT};
// Enable USBGuard at the lockscreen on Chrome OS. #if defined(OS_CHROMEOS)
// TODO(crbug.com/874630): Remove this kill-switch // Enable uploading of a zip archive of system logs instead of individual files.
const base::Feature kUsbguard{"USBGuard", base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kUploadZippedSystemLogs{"UploadZippedSystemLogs",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enable USB Bouncer for managing a device whitelist for USBGuard on Chrome OS. // Enable USB Bouncer for managing a device whitelist for USBGuard on Chrome OS.
const base::Feature kUsbbouncer{"USBBouncer", const base::Feature kUsbbouncer{"USBBouncer",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// Enable support for multiple scheduler configurations. // Enable USBGuard at the lockscreen on Chrome OS.
const base::Feature kSchedulerConfiguration{"SchedulerConfiguration", // TODO(crbug.com/874630): Remove this kill-switch
base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kUsbguard{"USBGuard", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#endif // defined(OS_CHROMEOS)
// Enables the teamfood flags. #if defined(OS_CHROMEOS)
const base::Feature kTeamfoodFlags{"TeamfoodFlags", // Enables or disables user activity event logging for power management on
base::FEATURE_DISABLED_BY_DEFAULT}; // Chrome OS.
const base::Feature kUserActivityEventLogging{"UserActivityEventLogging",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
// Allow capturing of WebRTC event logs, and uploading of those logs to Crash. // Allow capturing of WebRTC event logs, and uploading of those logs to Crash.
...@@ -788,6 +805,13 @@ const base::Feature kWebRtcRemoteEventLogGzipped{ ...@@ -788,6 +805,13 @@ const base::Feature kWebRtcRemoteEventLogGzipped{
"WebRtcRemoteEventLogGzipped", base::FEATURE_ENABLED_BY_DEFAULT}; "WebRtcRemoteEventLogGzipped", base::FEATURE_ENABLED_BY_DEFAULT};
#endif #endif
// Enables setting time limit for Chrome and PWA's on child user device.
// Requires |kPerAppTimeLimits| to be enabled.
#if defined(OS_CHROMEOS)
const base::Feature kWebTimeLimits{"WebTimeLimits",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_CHROMEOS)
// Whether to enable "dark mode" enhancements in Mac Mojave or Windows 10 for // Whether to enable "dark mode" enhancements in Mac Mojave or Windows 10 for
// UIs implemented with web technologies. // UIs implemented with web technologies.
const base::Feature kWebUIDarkMode { const base::Feature kWebUIDarkMode {
...@@ -799,6 +823,13 @@ const base::Feature kWebUIDarkMode { ...@@ -799,6 +823,13 @@ const base::Feature kWebUIDarkMode {
#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_ANDROID) #endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_ANDROID)
}; };
#if defined(OS_CHROMEOS)
// Allow a Wilco DTC (diagnostics and telemetry controller) on Chrome OS.
// More info about the project may be found here:
// https://docs.google.com/document/d/18Ijj8YlC8Q3EWRzLspIi2dGxg4vIBVe5sJgMPt9SWYo
const base::Feature kWilcoDtc{"WilcoDtc", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_WIN) #if defined(OS_WIN)
// Enables the accelerated default browser flow for Windows 10. // Enables the accelerated default browser flow for Windows 10.
const base::Feature kWin10AcceleratedDefaultBrowserFlow{ const base::Feature kWin10AcceleratedDefaultBrowserFlow{
...@@ -811,13 +842,6 @@ const base::Feature kWriteBasicSystemProfileToPersistentHistogramsFile{ ...@@ -811,13 +842,6 @@ const base::Feature kWriteBasicSystemProfileToPersistentHistogramsFile{
"WriteBasicSystemProfileToPersistentHistogramsFile", "WriteBasicSystemProfileToPersistentHistogramsFile",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Enables setting time limit for Chrome and PWA's on child user device.
// Requires |kPerAppTimeLimits| to be enabled.
#if defined(OS_CHROMEOS)
const base::Feature kWebTimeLimits{"WebTimeLimits",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_CHROMEOS)
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
bool IsParentAccessCodeForOnlineLoginEnabled() { bool IsParentAccessCodeForOnlineLoginEnabled() {
return base::FeatureList::IsEnabled(kParentAccessCode) && return base::FeatureList::IsEnabled(kParentAccessCode) &&
......
...@@ -26,9 +26,27 @@ namespace features { ...@@ -26,9 +26,27 @@ namespace features {
// All features in alphabetical order. The features should be documented // All features in alphabetical order. The features should be documented
// alongside the definition of their values in the .cc file. // alongside the definition of their values in the .cc file.
#if BUILDFLAG(ENABLE_EXTENSIONS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAcknowledgeNtpOverrideOnDeactivate;
#endif
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAdaptiveScreenBrightnessLogging;
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAddToHomescreenMessaging; extern const base::Feature kAddToHomescreenMessaging;
#endif // defined(OS_ANDROID)
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAllowDisableMouseAcceleration;
#endif // defined(OS_CHROMEOS)
#if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAndroidDarkSearch; extern const base::Feature kAndroidDarkSearch;
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
...@@ -43,20 +61,18 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -43,20 +61,18 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAppActivityReporting; extern const base::Feature kAppActivityReporting;
#endif #endif
#if defined(OS_MAC)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAppShimRemoteCocoa;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kShow10_9ObsoleteInfobar;
#endif // defined(OS_MAC)
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAppServiceIntentHandling;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAppServiceAdaptiveIcon; extern const base::Feature kAppServiceAdaptiveIcon;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAppServiceIntentHandling;
#endif // !defined(OS_ANDROID) #endif // !defined(OS_ANDROID)
#if defined(OS_MAC)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAppShimRemoteCocoa;
#endif // defined(OS_MAC)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns;
#if defined(OS_WIN) || defined(OS_LINUX) #if defined(OS_WIN) || defined(OS_LINUX)
...@@ -64,6 +80,10 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -64,6 +80,10 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kBackgroundModeAllowRestart; extern const base::Feature kBackgroundModeAllowRestart;
#endif // defined(OS_WIN) || defined(OS_LINUX) #endif // defined(OS_WIN) || defined(OS_LINUX)
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis;
#endif // defined(OS_CHROMEOS)
#if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) #if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCertDualVerificationTrialFeature; extern const base::Feature kCertDualVerificationTrialFeature;
...@@ -75,11 +95,6 @@ extern const base::Feature kChangePictureVideoMode; ...@@ -75,11 +95,6 @@ extern const base::Feature kChangePictureVideoMode;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCheckOfflineCapability; extern const base::Feature kCheckOfflineCapability;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDMServerOAuthForChildUser;
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kClearOldBrowsingData; extern const base::Feature kClearOldBrowsingData;
...@@ -94,15 +109,10 @@ extern const base::Feature kClientStorageAccessContextAuditing; ...@@ -94,15 +109,10 @@ extern const base::Feature kClientStorageAccessContextAuditing;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kContentSettingsRedesign; extern const base::Feature kContentSettingsRedesign;
#if defined(OS_MAC)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kImmersiveFullscreen;
#endif
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAllowDisableMouseAcceleration; extern const base::Feature kCrOSEnableUSMUserService;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrosCompUpdates;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrostini; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrostini;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCrostiniAdditionalEnterpriseReporting; extern const base::Feature kCrostiniAdditionalEnterpriseReporting;
...@@ -113,29 +123,32 @@ extern const base::Feature kCrostiniAnsibleInfrastructure; ...@@ -113,29 +123,32 @@ extern const base::Feature kCrostiniAnsibleInfrastructure;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCrostiniAnsibleSoftwareManagement; extern const base::Feature kCrostiniAnsibleSoftwareManagement;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCrostiniForceClose;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCrostiniArcSideload; extern const base::Feature kCrostiniArcSideload;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCrostiniForceClose;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCryptohomeDistributedModel; extern const base::Feature kCryptohomeDistributedModel;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCryptohomeUserDataAuth; extern const base::Feature kCryptohomeUserDataAuth;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCryptohomeUserDataAuthKillswitch; extern const base::Feature kCryptohomeUserDataAuthKillswitch;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPluginVm; #endif
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPrintServerUi;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kTerminalSystemAppLegacySettings; extern const base::Feature kDMServerOAuthForChildUser;
#endif
#if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kUploadZippedSystemLogs; extern const base::Feature kDefaultWebAppInstallation;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWilcoDtc;
#endif #endif
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopCaptureTabSharingInfobar; extern const base::Feature kDesktopCaptureTabSharingInfobar;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsWithoutExtensions; extern const base::Feature kDesktopPWAsAppIconShortcutsMenu;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsCacheDuringDefaultInstall; extern const base::Feature kDesktopPWAsCacheDuringDefaultInstall;
...@@ -144,34 +157,29 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -144,34 +157,29 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsLocalUpdating; extern const base::Feature kDesktopPWAsLocalUpdating;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsTabStrip; extern const base::Feature kDesktopPWAsRunOnOsLogin;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsTabStripLinkCapturing;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsAppIconShortcutsMenu; extern const base::Feature kDesktopPWAsSharedStoreService;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsSharedStoreService; extern const base::Feature kDesktopPWAsTabStrip;
#if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDefaultWebAppInstallation; extern const base::Feature kDesktopPWAsTabStripLinkCapturing;
#endif
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsRunOnOsLogin; extern const base::Feature kDesktopPWAsWithoutExtensions;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDnsOverHttps; extern const base::Feature kDnsOverHttps;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<bool> kDnsOverHttpsFallbackParam; extern const base::FeatureParam<bool> kDnsOverHttpsFallbackParam;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<bool> kDnsOverHttpsShowUiParam; extern const base::FeatureParam<bool> kDnsOverHttpsShowUiParam;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<std::string> extern const base::FeatureParam<std::string>
kDnsOverHttpsDisabledProvidersParam; kDnsOverHttpsDisabledProvidersParam;
...@@ -207,20 +215,16 @@ extern const base::Feature kExportTaggedPDF; ...@@ -207,20 +215,16 @@ extern const base::Feature kExportTaggedPDF;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kExternalExtensionDefaultButtonControl; extern const base::Feature kExternalExtensionDefaultButtonControl;
#if BUILDFLAG(ENABLE_PLUGINS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kFocusMode; extern const base::Feature kFlashDeprecationWarning;
// Android expects this string from Java code, so it is always needed.
// TODO(crbug.com/731802): Use #if BUILDFLAG(ENABLE_VR_BROWSING) instead.
#if BUILDFLAG(ENABLE_VR) || defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kVrBrowsing;
#endif #endif
#if BUILDFLAG(ENABLE_VR)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kVrBrowsingExperimentalFeatures; extern const base::Feature kFlocIdComputedEventLogging;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kVrBrowsingExperimentalRendering; extern const base::Feature kFocusMode;
#endif // ENABLE_VR
#if defined(OS_WIN) #if defined(OS_WIN)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGdiTextPrinting; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGdiTextPrinting;
...@@ -228,11 +232,6 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGdiTextPrinting; ...@@ -228,11 +232,6 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGdiTextPrinting;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGeoLanguage; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGeoLanguage;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHappinessTrackingSystem;
#endif
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHappinessTrackingSurveysForDesktop; extern const base::Feature kHappinessTrackingSurveysForDesktop;
...@@ -240,26 +239,39 @@ extern const base::Feature kHappinessTrackingSurveysForDesktop; ...@@ -240,26 +239,39 @@ extern const base::Feature kHappinessTrackingSurveysForDesktop;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHappinessTrackingSurveysForDesktopDemo; extern const base::Feature kHappinessTrackingSurveysForDesktopDemo;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHappinessTrackingSurveysForDesktopMigration;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHappinessTrackingSurveysForDesktopSettings; extern const base::Feature kHappinessTrackingSurveysForDesktopSettings;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHappinessTrackingSurveysForDesktopSettingsPrivacy; extern const base::Feature kHappinessTrackingSurveysForDesktopSettingsPrivacy;
#endif
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHappinessTrackingSurveysForDesktopMigration; extern const base::Feature kHappinessTrackingSystem;
#endif #endif
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHeavyAdIntervention;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHeavyAdInterventionWarning;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHeavyAdPrivacyMitigations;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHideCorsLegacyModeEnabledPolicySupport; extern const base::Feature kHideCorsLegacyModeEnabledPolicySupport;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHideCorsMitigationListPolicySupport; extern const base::Feature kHideCorsMitigationListPolicySupport;
#if defined(OS_WIN) #if defined(OS_MAC)
// Only has an effect in branded builds.
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kIncompatibleApplicationsWarning; extern const base::Feature kImmersiveFullscreen;
#endif #endif
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
...@@ -267,6 +279,12 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -267,6 +279,12 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kInSessionPasswordChange; extern const base::Feature kInSessionPasswordChange;
#endif #endif
#if defined(OS_WIN)
// Only has an effect in branded builds.
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kIncompatibleApplicationsWarning;
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kInstallableAmbientBadgeInfoBar; extern const base::Feature kInstallableAmbientBadgeInfoBar;
...@@ -313,18 +331,9 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -313,18 +331,9 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kMeteredShowToggle; extern const base::Feature kMeteredShowToggle;
#endif #endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAcknowledgeNtpOverrideOnDeactivate;
#endif
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kMixedContentSiteSetting; extern const base::Feature kMixedContentSiteSetting;
#if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kOnConnectNative;
#endif
#if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kNativeNotifications; extern const base::Feature kNativeNotifications;
...@@ -341,6 +350,19 @@ extern const base::Feature kNotificationDurationLongForRequireInteraction; ...@@ -341,6 +350,19 @@ extern const base::Feature kNotificationDurationLongForRequireInteraction;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kNtlmV2Enabled; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kNtlmV2Enabled;
#endif #endif
#if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kOnConnectNative;
#endif
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kOobeMarketingAdditionalCountriesSupported;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kOobeMarketingDoubleOptInCountriesSupported;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kOobeMarketingScreen;
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kOomIntervention; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kOomIntervention;
#endif #endif
...@@ -357,6 +379,9 @@ extern const base::Feature kParentAccessCodeForTimeChange; ...@@ -357,6 +379,9 @@ extern const base::Feature kParentAccessCodeForTimeChange;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kPerAppTimeLimits; extern const base::Feature kPerAppTimeLimits;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kPluginVm;
#endif #endif
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
...@@ -365,6 +390,11 @@ extern const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes; ...@@ -365,6 +390,11 @@ extern const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kPrerenderFallbackToPreconnect; extern const base::Feature kPrerenderFallbackToPreconnect;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kPrintServerUi;
#endif
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kPrivacyElevatedAndroid; extern const base::Feature kPrivacyElevatedAndroid;
...@@ -376,23 +406,24 @@ extern const base::Feature kPrivacyReorderedAndroid; ...@@ -376,23 +406,24 @@ extern const base::Feature kPrivacyReorderedAndroid;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kPrivacySettingsRedesign; extern const base::Feature kPrivacySettingsRedesign;
#if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSafetyCheckAndroid; extern const base::Feature kPushMessagingBackgroundMode;
#endif
#if defined(OS_WIN) #if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSafetyCheckChromeCleanerChild; extern const base::Feature kQuickUnlockFingerprint;
#endif
#if BUILDFLAG(ENABLE_PLUGINS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kFlashDeprecationWarning; extern const base::Feature kQuickUnlockPinAutosubmit;
#endif
// TODO(crbug.com/1104164) - Remove this once most
// users have their preferences backfilled.
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kPushMessagingBackgroundMode; extern const base::Feature kQuickUnlockPinAutosubmitBackfill;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kQuickUnlockPinSignin;
#endif
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kQuietNotificationPrompts; extern const base::Feature kQuietNotificationPrompts;
...@@ -402,6 +433,21 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -402,6 +433,21 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kRemoveSupervisedUsersOnStartup; extern const base::Feature kRemoveSupervisedUsersOnStartup;
#endif #endif
#if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSafetyCheckAndroid;
#endif
#if defined(OS_WIN)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSafetyCheckChromeCleanerChild;
#endif
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSchedulerConfiguration;
#endif
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSecurityKeyAttestationPrompt; extern const base::Feature kSecurityKeyAttestationPrompt;
...@@ -410,6 +456,11 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -410,6 +456,11 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSharesheet; extern const base::Feature kSharesheet;
#endif #endif
#if defined(OS_MAC)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kShow10_9ObsoleteInfobar;
#endif // defined(OS_MAC)
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kShowTrustedPublisherURL; extern const base::Feature kShowTrustedPublisherURL;
...@@ -418,8 +469,8 @@ extern const base::Feature kShowTrustedPublisherURL; ...@@ -418,8 +469,8 @@ extern const base::Feature kShowTrustedPublisherURL;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSitePerProcess; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSitePerProcess;
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSmartDim;
extern const base::Feature kStreamlinedUsbPrinterSetup;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSmbFs; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSmbFs;
#endif #endif
...@@ -427,6 +478,9 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -427,6 +478,9 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSoundContentSetting; extern const base::Feature kSoundContentSetting;
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kStreamlinedUsbPrinterSetup;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSysInternals; extern const base::Feature kSysInternals;
#endif #endif
...@@ -434,10 +488,21 @@ extern const base::Feature kSysInternals; ...@@ -434,10 +488,21 @@ extern const base::Feature kSysInternals;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSystemWebApps; extern const base::Feature kSystemWebApps;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTPMFirmwareUpdate;
#endif
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTabMetricsLogging; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTabMetricsLogging;
#endif #endif
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTeamfoodFlags;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kTerminalSystemAppLegacySettings;
#endif
#if defined(OS_WIN) #if defined(OS_WIN)
// Only has an effect in branded builds. // Only has an effect in branded builds.
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
...@@ -447,69 +512,33 @@ extern const base::Feature kThirdPartyModulesBlocking; ...@@ -447,69 +512,33 @@ extern const base::Feature kThirdPartyModulesBlocking;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kTreatUnsafeDownloadsAsActive; extern const base::Feature kTreatUnsafeDownloadsAsActive;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHeavyAdIntervention; extern const base::Feature kUploadZippedSystemLogs;
#endif // defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kHeavyAdInterventionWarning;
COMPONENT_EXPORT(CHROME_FEATURES) #if defined(OS_CHROMEOS)
extern const base::Feature kHeavyAdPrivacyMitigations; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbbouncer;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbguard;
extern const base::Feature kFlocIdComputedEventLogging; #endif // defined(OS_CHROMEOS)
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAdaptiveScreenBrightnessLogging;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kUserActivityEventLogging; extern const base::Feature kUserActivityEventLogging;
#endif #endif
#if defined(OS_CHROMEOS) // Android expects this string from Java code, so it is always needed.
COMPONENT_EXPORT(CHROME_FEATURES) // TODO(crbug.com/731802): Use #if BUILDFLAG(ENABLE_VR_BROWSING) instead.
extern const base::Feature kQuickUnlockPinAutosubmit; #if BUILDFLAG(ENABLE_VR) || defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kVrBrowsing;
// TODO(crbug.com/1104164) - Remove this once most #endif
// users have their preferences backfilled. #if BUILDFLAG(ENABLE_VR)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kQuickUnlockPinAutosubmitBackfill;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kQuickUnlockPinSignin;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kOobeMarketingScreen;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kOobeMarketingDoubleOptInCountriesSupported;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kOobeMarketingAdditionalCountriesSupported;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kQuickUnlockFingerprint;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kCrosCompUpdates;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTPMFirmwareUpdate;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCrOSEnableUSMUserService; extern const base::Feature kVrBrowsingExperimentalFeatures;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kSmartDim;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbguard;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kUsbbouncer;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kSchedulerConfiguration; extern const base::Feature kVrBrowsingExperimentalRendering;
#endif // defined(OS_CHROMEOS) #endif // ENABLE_VR
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kTeamfoodFlags;
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
...@@ -518,8 +547,17 @@ COMPONENT_EXPORT(CHROME_FEATURES) ...@@ -518,8 +547,17 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kWebRtcRemoteEventLogGzipped; extern const base::Feature kWebRtcRemoteEventLogGzipped;
#endif #endif
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kWebTimeLimits;
#endif // defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWebUIDarkMode; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWebUIDarkMode;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWilcoDtc;
#endif // defined(OS_CHROMEOS)
#if defined(OS_WIN) #if defined(OS_WIN)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kWin10AcceleratedDefaultBrowserFlow; extern const base::Feature kWin10AcceleratedDefaultBrowserFlow;
...@@ -528,11 +566,6 @@ extern const base::Feature kWin10AcceleratedDefaultBrowserFlow; ...@@ -528,11 +566,6 @@ extern const base::Feature kWin10AcceleratedDefaultBrowserFlow;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kWriteBasicSystemProfileToPersistentHistogramsFile; extern const base::Feature kWriteBasicSystemProfileToPersistentHistogramsFile;
#if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kWebTimeLimits;
#endif // defined(OS_CHROMEOS)
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
bool IsParentAccessCodeForOnlineLoginEnabled(); bool IsParentAccessCodeForOnlineLoginEnabled();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment