910e62b5创建于 1月15日历史提交
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROMEOS_CONSTANTS_CHROMEOS_FEATURES_H_
#define CHROMEOS_CONSTANTS_CHROMEOS_FEATURES_H_

#include "base/component_export.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "build/buildflag.h"

namespace chromeos {
namespace features {

// All features in alphabetical order. The features should be documented
// alongside the definition of their values in the .cc file. If a feature is
// being rolled out via Finch, add a comment in the .cc file.

COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kBatteryBadgeIcon);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kBluetoothWifiQSPodRefresh);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kCachedLocationProvider);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kCloudGamingDevice);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kAlmanacLauncherPayload);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kBlinkExtension);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kBlinkExtensionKiosk);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kCrosComponents);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kDataControlsFileAccessDefaultDeny);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kDataMigration);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kDisableSystemBlur);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kDisableIdleSocketsCloseOnMemoryPressure);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kDisableQuickAnswersV2Translation);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kEssentialSearch);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kExternalDisplayEventTelemetry);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kGeminiAppPreinstall);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kKioskHeartbeatsViaERP);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kLockScreenBadgeAuth);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMahi);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementMahi);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMahiPanelResizable);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMahiSendingUrl);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMahiManaged);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kPompano);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kMahiSummarizeSelected);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMagicBoostRevamp);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kMagicBoostRevampForQuickAnswers);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMahiDebugging);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kOrca);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kOrcaDogfood);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kOrcaInternationalize);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kOrcaUseL10nStrings);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementGeminiAppPreinstall);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementHistoryEmbedding);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementPassageEmbedder);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementOrca);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementDisableChromeCompose);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementGlic);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kGlicEnableFor8GbDevices);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFeatureManagementRoundedWindows);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kNotebookLmAppPreinstall);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kNewGuestProfile);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kNotificationWidthIncrease);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kOfficeNavigationCapturingReimpl);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kMicrosoft365ScopeExtensions);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::FeatureParam<std::string> kMicrosoft365ScopeExtensionsURLs;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::FeatureParam<std::string>
    kMicrosoft365ScopeExtensionsDomains;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kMicrosoft365ManifestOverride);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::FeatureParam<std::string> kMicrosoft365ManifestUrls;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kMultiCaptureReworkedUsageIndicators);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kPlatformKeysChangesWave1);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kQuickAnswersMaterialNextUI);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kQuickAnswersRichCard);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kQuickAnswersV2SettingsSubToggle);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kQuickShareV2);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kUploadOfficeToCloud);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kUploadOfficeToCloudForEnterprise);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kUploadOfficeToCloudSync);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kMicrosoftOneDriveIntegrationForEnterprise);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFileSystemProviderCloudFileSystem);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kFileSystemProviderContentCache);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kSystemFeaturesDisableListHidden);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kNotebookLmAppShelfPin);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kNotebookLmAppShelfPinReset);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kWebAppManifestProtocolHandlerSupport);
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
BASE_DECLARE_FEATURE(kVidsAppPreinstall);

// Keep alphabetized.

COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsBatteryBadgeIconEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsBluetoothWifiQSPodRefreshEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCachedLocationProviderEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCloudGamingDeviceEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsAlmanacLauncherPayloadEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsBlinkExtensionEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCrosComponentsEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool ShouldDisableChromeComposeOnChromeOS();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsDataControlsFileAccessDefaultDenyEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsDataMigrationEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsEssentialSearchEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsFileSystemProviderCloudFileSystemEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsFileSystemProviderContentCacheEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsSystemFeaturesDisableListHiddenEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsGeminiAppPreinstallFeatureManagementEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsGeminiAppPreinstallEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsLockScreenBadgeAuthEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMagicBoostRevampEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsMagicBoostRevampForQuickAnswersEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMahiEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMahiSendingUrl();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMahiManagedEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMahiDebuggingEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsPlatformKeysChangesWave1Enabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsPompanoEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMahiSummarizeSelectedEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsNotificationWidthIncreaseEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsRoundedWindowsEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) int RoundedWindowsRadius();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const char kRoundedWindowsRadius[];
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSystemBlurEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsSeparateWebAppShortcutBadgeIconEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsOfficeNavigationCapturingReimplEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsOrcaEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsOrcaUseL10nStringsEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsOrcaInternationalizeEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersV2TranslationDisabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickAnswersV2SettingsSubToggleEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersMaterialNextUIEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickAnswersRichCardEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickAnswersAlwaysTriggerForSingleWord();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickShareV2Enabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsUploadOfficeToCloudEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsUploadOfficeToCloudForEnterpriseEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsUploadOfficeToCloudSyncEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsMicrosoft365ScopeExtensionsEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsMicrosoft365ManifestOverrideEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsMicrosoftOneDriveIntegrationForEnterpriseEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsFeatureManagementHistoryEmbeddingEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsWebAppManifestProtocolHandlerSupportEnabled();

}  // namespace features
}  // namespace chromeos

#endif  // CHROMEOS_CONSTANTS_CHROMEOS_FEATURES_H_