#include "chrome/common/chrome_features.h"
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/strings/string_split.h"
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/common/chrome_switches.h"
#include "ppapi/buildflags/buildflags.h"
namespace features {
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kActivityReportingSessionType,
"ActivityReportingSessionType",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kAdaptiveScreenBrightnessLogging,
"AdaptiveScreenBrightnessLogging",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kAppPreloadService,
"AppPreloadService",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_MAC)
BASE_FEATURE(kAppShimRemoteCocoa,
"AppShimRemoteCocoa",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kAppShimNewCloseBehavior,
"AppShimNewCloseBehavior",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kAppShimLaunchChromeSilently,
"AppShimLaunchChromeSilently",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kAppShimNotificationAttribution,
"AppShimNotificationAttribution",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kUseAdHocSigningForWebAppShims,
"UseAdHocSigningForWebAppShims",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kQuickOfficeForceFileDownload,
"QuickOfficeForceFileDownload",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kBoardingPassDetector,
"BoardingPassDetector",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kBoardingPassDetectorUrlParamName[] = "boarding_pass_detector_urls";
const base::FeatureParam<std::string> kBoardingPassDetectorUrlParam(
&kBoardingPassDetector,
kBoardingPassDetectorUrlParamName,
"");
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kBorealis, "Borealis", base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kCrOSEnableUSMUserService,
"CrOSEnableUSMUserService",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCrosCompUpdates,
"CrosCompUpdates",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCrostini, "Crostini", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kCrostiniAdditionalEnterpriseReporting,
"CrostiniAdditionalEnterpriseReporting",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCrostiniAdvancedAccessControls,
"CrostiniAdvancedAccessControls",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kCrostiniAnsibleInfrastructure,
"CrostiniAnsibleInfrastructure",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCrostiniAnsibleSoftwareManagement,
"CrostiniAnsibleSoftwareManagement",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kCrostiniArcSideload,
"CrostiniArcSideload",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCryptohomeDistributedModel,
"CryptohomeDistributedModel",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kCryptohomeUserDataAuth,
"CryptohomeUserDataAuth",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kCryptohomeUserDataAuthKillswitch,
"CryptohomeUserDataAuthKillswitch",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kDataLeakPreventionPolicy,
"DataLeakPreventionPolicy",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kDataLeakPreventionFilesRestriction,
"DataLeakPreventionFilesRestriction",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kDMServerOAuthForChildUser,
"DMServerOAuthForChildUser",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kDesktopTaskManagerEndProcessDisabledForExtension,
"DesktopTaskManagerEndProcessDisabledForExtension",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kFileTransferEnterpriseConnector,
"FileTransferEnterpriseConnector",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kFileTransferEnterpriseConnectorUI,
"FileTransferEnterpriseConnectorUI",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(ENABLE_PLUGINS)
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kForcedAppRelaunchOnPlaceholderUpdate,
"ForcedAppRelaunchOnPlaceholderUpdate",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kPrivacyGuideAndroid3,
"PrivacyGuideAndroid3",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kPrivacyGuidePreloadAndroid,
"PrivacyGuidePreloadAndroid",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
BASE_FEATURE(…);
const base::FeatureParam<std::string> kHappinessTrackingSurveysHostedUrl{ … };
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopPrivacyGuideTime{ … };
BASE_FEATURE(…);
BASE_FEATURE(…);
const base::FeatureParam<bool>
kHappinessTrackingSurveysForDesktopSettingsPrivacyNoGuide{ … };
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopSettingsPrivacyTime{ … };
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopWhatsNewTime{ … };
constexpr base::FeatureParam<int>
kHappinessTrackingSurveysForDesktopWhatsNewEnActivationPercentage{ … };
constexpr base::FeatureParam<int>
kHappinessTrackingSurveysForDesktopWhatsNewDeActivationPercentage{ … };
constexpr base::FeatureParam<int>
kHappinessTrackingSurveysForDesktopWhatsNewJpActivationPercentage{ … };
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopM1AdPrivacyPageTime{ … };
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopM1TopicsSubpageTime{ … };
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopM1FledgeSubpageTime{ … };
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopM1AdMeasurementSubpageTime{ … };
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForSecurityPageTime{ … };
extern const base::FeatureParam<std::string>
kHappinessTrackingSurveysForSecurityPageTriggerId{ … };
extern const base::FeatureParam<bool>
kHappinessTrackingSurveysForSecurityPageRequireInteraction{ … };
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
BASE_FEATURE(kHappinessTrackingSurveysGetMostChrome,
"HappinessTrackingSurveysGetMostChrome",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysGetMostChromeTime{
&kHappinessTrackingSurveysGetMostChrome, "get-most-chrome-time",
base::Seconds(15)};
#endif
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kHappinessTrackingSystem,
"HappinessTrackingSystem",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemBluetoothRevamp,
"HappinessTrackingSystemBluetoothRevamp",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemBatteryLife,
"HappinessTrackingSystemBatteryLife",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemPeripherals,
"HappinessTrackingSystemPeripherals",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemEnt,
"HappinessTrackingSystemEnt",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemStability,
"HappinessTrackingSystemStability",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemPerformance,
"HappinessTrackingSystemPerformance",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemOnboarding,
"HappinessTrackingOnboardingExperience",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemArcGames,
"HappinessTrackingArcGames",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemAudio,
"HappinessTrackingAudio",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemAudioOutputProc,
"HappinessTrackingAudioOutputProc",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemBluetoothAudio,
"HappinessTrackingBluetoothAudio",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingPersonalizationAvatar,
"HappinessTrackingPersonalizationAvatar",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingPersonalizationScreensaver,
"HappinessTrackingPersonalizationScreensaver",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingPersonalizationWallpaper,
"HappinessTrackingPersonalizationWallpaper",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingMediaAppPdf,
"HappinessTrackingMediaAppPdf",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingSystemCameraApp,
"HappinessTrackingCameraApp",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingPhotosExperience,
"HappinessTrackingPhotosExperience",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingGeneralCamera,
"HappinessTrackingGeneralCamera",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingGeneralCameraPrioritized,
"HappinessTrackingGeneralCameraPrioritized",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingPrivacyHubPostLaunch,
"HappinessTrackingPrivacyHubPostLaunch",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingOsSettingsSearch,
"HappinessTrackingOsSettingsSearch",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingBorealisGames,
"HappinessTrackingBorealisGames",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingLauncherAppsFinding,
"HappinessTrackingLauncherAppsFinding",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingLauncherAppsNeeding,
"HappinessTrackingLauncherAppsNeeding",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kHappinessTrackingOffice,
"HappinessTrackingOffice",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_MAC)
BASE_FEATURE(kImmersiveFullscreen,
"ImmersiveFullscreen",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kImmersiveFullscreenTabs,
"ImmersiveFullscreenTabs",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kImmersiveFullscreenPWAs,
"ImmersiveFullscreenPWAs",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kInSessionPasswordChange,
"InSessionPasswordChange",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_WIN)
BASE_FEATURE(kIncompatibleApplicationsWarning,
"IncompatibleApplicationsWarning",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kIsolatedWebAppAutomaticUpdates,
"IsolatedWebAppAutomaticUpdates",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kIsolatedWebAppManagedGuestSessionInstall,
"IsolatedWebAppManagedGuestSessionInstall",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kKioskEnableSystemWebApps,
"KioskEnableSystemWebApps",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
constexpr base::FeatureParam<std::string> kKAnonymityServiceAuthServer{ … };
constexpr base::FeatureParam<std::string> kKAnonymityServiceJoinRelayServer{ … };
constexpr base::FeatureParam<std::string> kKAnonymityServiceJoinServer{ … };
constexpr base::FeatureParam<base::TimeDelta> kKAnonymityServiceJoinInterval{ … };
constexpr base::FeatureParam<std::string> kKAnonymityServiceQueryRelayServer{ … };
constexpr base::FeatureParam<std::string> kKAnonymityServiceQueryServer{ … };
constexpr base::FeatureParam<base::TimeDelta> kKAnonymityServiceQueryInterval{ … };
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(…);
constexpr base::FeatureParam<int> kLinuxLowMemoryMonitorModerateLevel{ … };
constexpr base::FeatureParam<int> kLinuxLowMemoryMonitorCriticalLevel{ … };
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_MAC)
BASE_FEATURE(kMacSystemScreenCapturePermissionCheck,
"MacSystemScreenCapturePermissionCheck",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kMeteredShowToggle,
"MeteredShowToggle",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kShowHiddenNetworkToggle,
"ShowHiddenNetworkToggle",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
const base::FeatureParam<std::string> kMoveWebAppUninstallStartUrlPrefix(
&kMoveWebApp,
"uninstallStartUrlPrefix",
"");
const base::FeatureParam<std::string> kMoveWebAppUninstallStartUrlPattern(
&kMoveWebApp,
"uninstallStartUrlPattern",
"");
const base::FeatureParam<std::string>
kMoveWebAppInstallStartUrl(&kMoveWebApp, "installStartUrl", "");
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_MAC)
BASE_FEATURE(kNewMacNotificationAPI,
"NewMacNotificationAPI",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kNewFilesPolicyUX,
"NewFilesPolicyUX",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_WIN)
BASE_FEATURE(kNotificationDurationLongForRequireInteraction,
"NotificationDurationLongForRequireInteraction",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kOfflineContentOnNetError,
"OfflineContentOnNetError",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kOfflineAutoFetch,
"OfflineAutoFetch",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kOomIntervention,
"OomIntervention",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kParentAccessCodeForOnlineLogin,
"ParentAccessCodeForOnlineLogin",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kPluginVm, "PluginVm", base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kPrintPreviewCrosPrimary,
"PrintPreviewCrosPrimary",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kRemoveSupervisedUsersOnStartup,
"RemoveSupervisedUsersOnStartup",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kSafetyHubMagicStack,
"SafetyHubMagicStack",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kSafetyHubFollowup,
"SafetyHubFollowup",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSafetyHubAndroidSurvey,
"SafetyHubAndroidSurvey",
base::FEATURE_DISABLED_BY_DEFAULT);
constexpr base::FeatureParam<std::string> kSafetyHubAndroidTriggerId(
&kSafetyHubAndroidSurvey,
"trigger_id",
"");
#endif
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta> kBackgroundPasswordCheckInterval{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<base::TimeDelta> kPasswordCheckOverdueInterval{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kPasswordCheckMonWeight{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kPasswordCheckTueWeight{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kPasswordCheckWedWeight{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kPasswordCheckThuWeight{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kPasswordCheckFriWeight{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kPasswordCheckSatWeight{ … };
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kPasswordCheckSunWeight{ … };
const base::FeatureParam<int>
kSafetyCheckNotificationPermissionsMinEnagementLimit{ … };
const base::FeatureParam<int>
kSafetyCheckNotificationPermissionsLowEnagementLimit{ … };
const char kPasswordCheckNotificationIntervalName[] = …;
const char kRevokedPermissionsNotificationIntervalName[] = …;
const char kNotificationPermissionsNotificationIntervalName[] = …;
const char kSafeBrowsingNotificationIntervalName[] = …;
const base::FeatureParam<base::TimeDelta> kPasswordCheckNotificationInterval{ … };
const base::FeatureParam<base::TimeDelta>
kRevokedPermissionsNotificationInterval{ … };
const base::FeatureParam<base::TimeDelta>
kNotificationPermissionsNotificationInterval{ … };
const base::FeatureParam<base::TimeDelta> kSafeBrowsingNotificationInterval{ … };
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kSchedulerConfiguration,
"SchedulerConfiguration",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_ENABLED_BY_DEFAULT);
#else
BASE_FEATURE(…);
#endif
constexpr base::FeatureParam<double> kSCTAuditingSamplingRate{ … };
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta> kSCTLogExpectedIngestionDelay{ … };
const base::FeatureParam<base::TimeDelta> kSCTLogMaxIngestionRandomDelay{ … };
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kSkyVault, "SkyVault", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSkyVaultV2, "SkyVaultV2", base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kSmartDim, "SmartDim", base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kSysInternals, "SysInternals", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kTPMFirmwareUpdate,
"TPMFirmwareUpdate",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_WIN)
BASE_FEATURE(kThirdPartyModulesBlocking,
"ThirdPartyModulesBlocking",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyMinTimeToPrompt{ … };
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyMaxTimeToPrompt{ … };
const base::FeatureParam<int> kTrustSafetySentimentSurveyNtpVisitsMinRange{ … };
const base::FeatureParam<int> kTrustSafetySentimentSurveyNtpVisitsMaxRange{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyPrivacySettingsProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyTrustedSurfaceProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyTransactionsProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyPrivacySandbox4ConsentAcceptProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyPrivacySandbox4ConsentDeclineProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyPrivacySandbox4NoticeOkProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyPrivacySandbox4NoticeSettingsProbability{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyPrivacySettingsTriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyTrustedSurfaceTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyTransactionsTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyPrivacySandbox4ConsentAcceptTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyPrivacySandbox4ConsentDeclineTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyPrivacySandbox4NoticeOkTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyPrivacySandbox4NoticeSettingsTriggerId{ … };
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyPrivacySettingsTime{ … };
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyTrustedSurfaceTime{ … };
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyTransactionsPasswordManagerTime{ … };
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyV2MinTimeToPrompt{ … };
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyV2MaxTimeToPrompt{ … };
const base::FeatureParam<int> kTrustSafetySentimentSurveyV2NtpVisitsMinRange{ … };
const base::FeatureParam<int> kTrustSafetySentimentSurveyV2NtpVisitsMaxRange{ … };
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyV2MinSessionTime{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2BrowsingDataProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2ControlGroupProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2DownloadWarningUIProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2PasswordCheckProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2PasswordProtectionUIProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2SafetyCheckProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2SafetyHubNotificationProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2SafetyHubInteractionProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2TrustedSurfaceProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2PrivacyGuideProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2PrivacySandbox4ConsentAcceptProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2PrivacySandbox4ConsentDeclineProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2PrivacySandbox4NoticeOkProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2PrivacySandbox4NoticeSettingsProbability{ … };
const base::FeatureParam<double>
kTrustSafetySentimentSurveyV2SafeBrowsingInterstitialProbability{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2BrowsingDataTriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2ControlGroupTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2DownloadWarningUITriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2PasswordCheckTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2PasswordProtectionUITriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2SafetyCheckTriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2SafetyHubInteractionTriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2SafetyHubNotificationTriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2TrustedSurfaceTriggerId{ … };
const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2PrivacyGuideTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2PrivacySandbox4ConsentAcceptTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2PrivacySandbox4ConsentDeclineTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2PrivacySandbox4NoticeOkTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2PrivacySandbox4NoticeSettingsTriggerId{ … };
extern const base::FeatureParam<std::string>
kTrustSafetySentimentSurveyV2SafeBrowsingInterstitialTriggerId{ … };
const base::FeatureParam<base::TimeDelta>
kTrustSafetySentimentSurveyV2TrustedSurfaceTime{ … };
#endif
#if BUILDFLAG(IS_MAC)
BASE_FEATURE(kUseChromiumUpdater,
"UseChromiumUpdater",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kUserActivityEventLogging,
"UserActivityEventLogging",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
BASE_FEATURE(…);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kWebKioskEnableIwaApis,
"WebKioskEnableIwaApis",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(…);
BASE_FEATURE(…);
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kWebShare, "WebShare", base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_MAC)
BASE_FEATURE(kWebShare, "WebShare", base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
extern const base::FeatureParam<std::string> kRestrictedWebUICodeCacheResources{ … };
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kUmaStorageDimensions,
"UmaStorageDimensions",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kUserTypeByDeviceTypeMetricsProvider,
"UserTypeByDeviceTypeMetricsProvider",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_WIN)
BASE_FEATURE(kWin10AcceleratedDefaultBrowserFlow,
"Win10AcceleratedDefaultBrowserFlow",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kUtilWinProcessUsesUiPump,
"UtilWinProcessUsesUiPump",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
BASE_FEATURE(…);
#if BUILDFLAG(IS_CHROMEOS_ASH)
bool IsParentAccessCodeForOnlineLoginEnabled() {
return base::FeatureList::IsEnabled(kParentAccessCodeForOnlineLogin);
}
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kSupportsRtcWakeOver24Hours,
"SupportsRtcWakeOver24Hours",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kEventBasedLogUpload,
"EventBasedLogUpload",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
BASE_FEATURE(kPeriodicLogUploadMigration,
"PeriodicLogUploadMigration",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
}