summaryrefslogtreecommitdiff
path: root/chromium/chrome/common/chrome_features.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/common/chrome_features.cc')
-rw-r--r--chromium/chrome/common/chrome_features.cc150
1 files changed, 73 insertions, 77 deletions
diff --git a/chromium/chrome/common/chrome_features.cc b/chromium/chrome/common/chrome_features.cc
index c70c0e041f4..06763a9d46c 100644
--- a/chromium/chrome/common/chrome_features.cc
+++ b/chromium/chrome/common/chrome_features.cc
@@ -49,13 +49,15 @@ const base::Feature kShow10_9ObsoleteInfobar{"Show109ObsoleteInfobar",
#endif // defined(OS_MACOSX)
#if !defined(OS_ANDROID)
-// App Service related flags. See chrome/services/app_service/README.md.
+// App Service related flags. See components/services/app_service/README.md.
const base::Feature kAppServiceContextMenu{"AppServiceContextMenu",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAppServiceInstanceRegistry{
"AppServiceInstanceRegistry", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kAppServiceIntentHandling{
- "AppServiceIntentHandling", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kAppServiceIntentHandling{"AppServiceIntentHandling",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kAppServiceAdaptiveIcon{"AppServiceAdaptiveIcon",
+ base::FEATURE_DISABLED_BY_DEFAULT};
#endif // !defined(OS_ANDROID)
// Enables the built-in DNS resolver.
@@ -113,6 +115,12 @@ const base::Feature kCertDualVerificationTrialFeature{
const base::Feature kChangePictureVideoMode{"ChangePictureVideoMode",
base::FEATURE_ENABLED_BY_DEFAULT};
+// Dispatches a dummy fetch event to a service worker to check the offline
+// capability of the PWA site before promoting installation. See
+// https://crbug.com/965802 for more details.
+const base::Feature kCheckOfflineCapability{"CheckOfflineCapability",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
#if defined(OS_CHROMEOS)
// Enables passing additional user authentication in requests to DMServer
// (policy fetch, status report upload).
@@ -129,6 +137,9 @@ const base::Feature kClearOldBrowsingData{"ClearOldBrowsingData",
const base::Feature kClickToOpenPDFPlaceholder{
"ClickToOpenPDFPlaceholder", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kClientStorageAccessContextAuditing{
+ "ClientStorageAccessContextAuditing", base::FEATURE_DISABLED_BY_DEFAULT};
+
#if defined(OS_MACOSX)
const base::Feature kImmersiveFullscreen{"ImmersiveFullscreen",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -164,7 +175,7 @@ const base::Feature kCrostiniAnsibleSoftwareManagement{
// Enables custom UI for forcibly closing unresponsive windows.
const base::Feature kCrostiniForceClose{"CrostiniForceClose",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Enables support for sideloading android apps into Arc via crostini.
const base::Feature kCrostiniArcSideload{"CrostiniArcSideload",
@@ -181,6 +192,12 @@ const base::Feature kCryptohomeDistributedModel{
const base::Feature kCryptohomeUserDataAuth{"CryptohomeUserDataAuth",
base::FEATURE_DISABLED_BY_DEFAULT};
+// Kill switch for cryptohome UserDataAuth interface. UserDataAuth is a new
+// dbus interface that is fully protobuf and uses libbrillo for dbus instead
+// instead of the deprecated glib-dbus.
+const base::Feature kCryptohomeUserDataAuthKillswitch{
+ "CryptohomeUserDataAuthKillswitch", base::FEATURE_DISABLED_BY_DEFAULT};
+
// Enable support for "Plugin VMs" on Chrome OS.
const base::Feature kPluginVm{"PluginVm", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -198,10 +215,6 @@ const base::Feature kTerminalSystemApp{"TerminalSystemApp",
const base::Feature kTerminalSystemAppLegacySettings{
"TerminalSystemAppLegacySettings", base::FEATURE_DISABLED_BY_DEFAULT};
-// Enable splits in the Terminal System App.
-const base::Feature kTerminalSystemAppSplits{"TerminalSystemAppSplits",
- 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};
@@ -219,7 +232,7 @@ const base::Feature kDesktopCaptureTabSharingInfobar{
// Enables or disables new Desktop PWAs implementation that does not use
// extensions.
const base::Feature kDesktopPWAsWithoutExtensions{
- "DesktopPWAsWithoutExtensions", base::FEATURE_DISABLED_BY_DEFAULT};
+ "DesktopPWAsWithoutExtensions", base::FEATURE_ENABLED_BY_DEFAULT};
// When installing default installed PWAs, we wait for service workers
// to cache resources.
@@ -245,24 +258,7 @@ const base::Feature kDesktopPWAsTabStripLinkCapturing{
// 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_DISABLED_BY_DEFAULT};
-
-// Enables or disables use of new Desktop PWAs browser controller (that uses the
-// universal web_app::AppRegistrar) by extensions-based bookmark apps. Note that
-// the new Desktop PWAs implementation (not based on extensions) always uses the
-// new browser controller.
-// TODO(crbug.com/877898): Enable and delete this feature flag before
-// kDesktopPWAsWithoutExtensions launch.
-const base::Feature kDesktopPWAsUnifiedUiController{
- "DesktopPWAsUnifiedUiController", base::FEATURE_ENABLED_BY_DEFAULT};
-
-// Enables or disables use of new Desktop PWAs launch manager by
-// extensions-based bookmark apps. (Note that Bookmark apps not based
-// on extensions unconditionally use the new launch manager.)
-// TODO(crbug.com/877898): Enable and delete this feature flag before
-// kDesktopPWAsWithoutExtensions launch.
-const base::Feature kDesktopPWAsUnifiedLaunch{"DesktopPWAsUnifiedLaunch",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ "DesktopPWAsAppIconShortcutsMenu", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or disables usage of shared LevelDB instance (ModelTypeStoreService).
// If this flag is disabled, the new Web Apps system uses its own isolated
@@ -279,6 +275,10 @@ const base::Feature kDefaultWebAppInstallation{
"DefaultWebAppInstallation", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
+// Enables or disables Desktop PWAs to be auto-started on OS login.
+const base::Feature kDesktopPWAsRunOnOsLogin{"DesktopPWAsRunOnOsLogin",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
// Enable DNS over HTTPS (DoH).
const base::Feature kDnsOverHttps{"DnsOverHttps",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -409,11 +409,10 @@ const base::Feature kHideCorsLegacyModeEnabledPolicySupport{
const base::Feature kHideCorsMitigationListPolicySupport{
"HideCorsMitigationListPolicySupport", base::FEATURE_ENABLED_BY_DEFAULT};
-// Enables navigation suggestions UI for lookalike URLs (e.g. internationalized
-// domain names that are visually similar to popular domains or to domains with
-// engagement score, such as googlé.com).
-const base::Feature kLookalikeUrlNavigationSuggestionsUI{
- "LookalikeUrlNavigationSuggestionsUI", base::FEATURE_ENABLED_BY_DEFAULT};
+// 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_WIN)
// A feature that controls whether Chrome warns about incompatible applications.
@@ -443,11 +442,19 @@ const base::Feature kInstallableAmbientBadgeInfoBar{
#endif
#if !defined(OS_ANDROID)
+// Support sharing in Chrome OS intent handling.
+const base::Feature kIntentHandlingSharing{"IntentHandlingSharing",
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Allow user to have preference for PWA in the intent picker.
const base::Feature kIntentPickerPWAPersistence{
"IntentPickerPWAPersistence", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // !defined(OS_ANDROID)
+// If enabled, CloudPolicyInvalidator and RemoteCommandInvalidator instances
+// will have unique owner name.
+const base::Feature kInvalidatorUniqueOwnerName{
+ "InvalidatorUniqueOwnerName", base::FEATURE_DISABLED_BY_DEFAULT};
+
#if defined(OS_CHROMEOS)
const base::Feature kKernelnextVMs{"KernelnextVMs",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -481,6 +488,13 @@ const base::Feature kMacSystemScreenCapturePermissionCheck{
"MacSystemScreenCapturePermissionCheck", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
+#if defined(OS_CHROMEOS)
+// Whether to show the Metered toggle in Settings, allowing users to toggle
+// whether to treat a WiFi or Cellular network as 'metered'.
+const base::Feature kMeteredShowToggle{"MeteredShowToggle",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+#endif
+
#if BUILDFLAG(ENABLE_EXTENSIONS)
// Sets whether dismissing the new-tab-page override bubble counts as
// acknowledgement.
@@ -500,12 +514,6 @@ const base::Feature kOnConnectNative{"OnConnectNative",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
-// Enables the new native file system API permission model. When enabled
-// permissions are no longer scoped to tabs.
-const base::Feature kNativeFileSystemOriginScopedPermissions{
- "NativeFileSystemOriginScopedPermissions",
- base::FEATURE_ENABLED_BY_DEFAULT};
-
// Enables the use of native notification centers instead of using the Message
// Center for displaying the toasts. The feature is hardcoded to enabled for
// Chrome OS.
@@ -539,12 +547,6 @@ const base::Feature kOomIntervention{"OomIntervention",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
-// Adds the base language code to the Language-Accept headers if at least one
-// corresponding language+region code is present in the user preferences.
-// For example: "en-US, fr-FR" --> "en-US, en, fr-FR, fr".
-const base::Feature kUseNewAcceptLanguageHeader{
- "UseNewAcceptLanguageHeader", base::FEATURE_ENABLED_BY_DEFAULT};
-
#if defined(OS_CHROMEOS)
// Enables usage of Parent Access Code to authorize certain actions on child
// user device.
@@ -568,18 +570,28 @@ const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes{
// Allows Chrome to do preconnect when prerender fails.
const base::Feature kPrerenderFallbackToPreconnect{
- "PrerenderFallbackToPreconnect", base::FEATURE_DISABLED_BY_DEFAULT};
+ "PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
+
+#if defined(OS_ANDROID)
+const base::Feature kPrivacyElevatedAndroid{"PrivacyElevatedAndroid",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+#endif
// Whether to display redesign of the chrome privacy settings page
// to the user.
const base::Feature kPrivacySettingsRedesign{"PrivacySettingsRedesign",
- base::FEATURE_DISABLED_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_DISABLED_BY_DEFAULT};
+#endif
+
#if BUILDFLAG(ENABLE_PLUGINS)
// Show Flash deprecation warning to users who have manually enabled Flash.
// https://crbug.com/918428
@@ -606,6 +618,11 @@ const base::Feature kRemoveSupervisedUsersOnStartup{
const base::Feature kSecurityKeyAttestationPrompt{
"SecurityKeyAttestationPrompt", base::FEATURE_ENABLED_BY_DEFAULT};
+#if defined(OS_CHROMEOS)
+const base::Feature kSharesheet{"Sharesheet",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+#endif
+
#if defined(OS_ANDROID)
const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -627,37 +644,6 @@ const base::Feature kSitePerProcess {
#endif
};
-// Controls a mode for dynamically process-isolating sites where the user has
-// entered a password. This is intended to be used primarily when full site
-// isolation is turned off. To check whether this mode is enabled, use
-// SiteIsolationPolicy::IsIsolationForPasswordSitesEnabled() rather than
-// checking the feature directly, since that decision is influenced by other
-// factors as well.
-const base::Feature kSiteIsolationForPasswordSites {
- "site-isolation-for-password-sites",
-// Enabled by default on Android; see https://crbug.com/849815. Note that this
-// should not affect Android Webview, which does not include this code.
-#if defined(OS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif
-};
-
-// kSitePerProcessOnlyForHighMemoryClients is checked before kSitePerProcess,
-// and (if enabled) can restrict if kSitePerProcess feature is checked at all -
-// no check will be made on devices with low memory (these devices will have no
-// Site Isolation via kSitePerProcess trials and won't activate either the
-// control or the experiment group). The threshold for what is considered a
-// "low memory" device is set (in MB) via a field trial param with the name
-// defined below ("site-per-process-low-memory-cutoff-mb") and compared against
-// base::SysInfo::AmountOfPhysicalMemoryMB().
-const base::Feature kSitePerProcessOnlyForHighMemoryClients{
- "site-per-process-only-for-high-memory-clients",
- base::FEATURE_DISABLED_BY_DEFAULT};
-const char kSitePerProcessOnlyForHighMemoryClientsParamName[] =
- "site-per-process-low-memory-cutoff-mb";
-
#if defined(OS_CHROMEOS)
// Enables or disables automatic setup of USB printers.
const base::Feature kStreamlinedUsbPrinterSetup{
@@ -706,6 +692,12 @@ const base::Feature kHeavyAdInterventionWarning{
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)
// Enables or disables logging for adaptive screen brightness on Chrome OS.
const base::Feature kAdaptiveScreenBrightnessLogging{
@@ -779,6 +771,10 @@ const base::Feature kSchedulerConfiguration{"SchedulerConfiguration",
#endif // defined(OS_CHROMEOS)
+// Enables the teamfood flags.
+const base::Feature kTeamfoodFlags{"TeamfoodFlags",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
#if !defined(OS_ANDROID)
// Allow capturing of WebRTC event logs, and uploading of those logs to Crash.
// Please note that a Chrome policy must also be set, for this to have effect.