// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/feature_engagement/public/feature_constants.h"

#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "base/time/time.h"
#include "build/branding_buildflags.h"
#include "build/build_config.h"

namespace feature_engagement {

// Features used by the In-Product Help system.
BASE_FEATURE(kIPHDemoMode, "IPH_DemoMode", base::FEATURE_DISABLED_BY_DEFAULT);

// Features used by various clients to show their In-Product Help messages.
BASE_FEATURE(kIPHDummyFeature, "IPH_Dummy", base::FEATURE_DISABLED_BY_DEFAULT);

#if BUILDFLAG(IS_IOS)
// Feature used to add on-device storage for feature engagement.
BASE_FEATURE(kOnDeviceStorage, base::FEATURE_ENABLED_BY_DEFAULT);
#endif

bool IsOnDeviceStorageEnabled() {
#if BUILDFLAG(IS_IOS)
  return base::FeatureList::IsEnabled(kOnDeviceStorage);
#else
  return false;
#endif
}

#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
    BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
BASE_FEATURE(kEsbDownloadRowPromoFeature,
             "EsbDownloadRowPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
#endif
BASE_FEATURE(kIPHBatterySaverModeFeature,
             "IPH_BatterySaverMode",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHCompanionSidePanelFeature,
             "IPH_CompanionSidePanel",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHCompanionSidePanelRegionSearchFeature,
             "IPH_CompanionSidePanelRegionSearch",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHComposeMSBBSettingsFeature,
             "IPH_ComposeMSBBSettingsFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHComposeNewBadgeFeature,
             "IPH_ComposeNewBadgeFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHContextualTasksEphemeralToolbarButtonFeature,
             "IPH_ContextualTasksEphemeralToolbarButton",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHCriticalActionAppMenuFeature,
             "IPH_CriticalActionAppMenu",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHCriticalActionFilterChipFeature,
             "IPH_CriticalActionFilterChip",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDesktopSharedHighlightingFeature,
             "IPH_DesktopSharedHighlighting",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDesktopCustomizeChromeExperimentFeature,
             "IPH_DesktopCustomizeChromeExperiment",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDesktopCustomizeChromeAutoOpenFeature,
             "IPH_DesktopCustomizeChromeAutoOpen",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDesktopRealboxContextualSearchFeature,
             "IPH_DesktopRealboxContextualSearchFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDiscardRingFeature,
             "IPH_DiscardRing",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadEsbPromoFeature,
             "IPH_DownloadEsbPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHExplicitBrowserSigninPreferenceRememberedFeature,
             "IPH_ExplicitBrowserSigninPreferenceRemembered",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHHistorySearchFeature,
             "IPH_HistorySearch",
             base::FEATURE_ENABLED_BY_DEFAULT);
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
BASE_FEATURE(kIPHExtensionsMenuFeature,
             "IPH_ExtensionsMenu",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHExtensionsRequestAccessButtonFeature,
             "IPH_ExtensionsRequestAccessButton",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHExtensionsZeroStatePromoFeature,
             "IPH_ExtensionsZeroStatePromo",
             base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<IPHExtensionsZeroStatePromoVariant>::Option
    kIPHExtensionsZeroStatePromoVariantOptions[] = {
        {IPHExtensionsZeroStatePromoVariant::kCustomActionIph,
         "custom-action-iph"},
        {IPHExtensionsZeroStatePromoVariant::kCustomUiChipIphV1,
         "custom-ui-chip-iph"},
        {IPHExtensionsZeroStatePromoVariant::kCustomUiChipIphV2,
         "custom-ui-chip-iph-v2"},
        {IPHExtensionsZeroStatePromoVariant::kCustomUiChipIphV3,
         "custom-ui-chip-iph-v3"},
        {IPHExtensionsZeroStatePromoVariant::kCustomUIPlainLinkIph,
         "custom-ui-plain-link-iph"}};
BASE_FEATURE_ENUM_PARAM(
    IPHExtensionsZeroStatePromoVariant,
    kIPHExtensionsZeroStatePromoVariantParam,
    &feature_engagement::kIPHExtensionsZeroStatePromoFeature,
    "x_iph-variant",
    IPHExtensionsZeroStatePromoVariant::kCustomUiChipIphV2,
    &kIPHExtensionsZeroStatePromoVariantOptions);
#endif  // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
BASE_FEATURE(kIPHFocusHelpBubbleScreenReaderPromoFeature,
             "IPH_FocusHelpBubbleScreenReaderPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGMCCastStartStopFeature,
             "IPH_GMCCastStartStop",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGMCLocalMediaCastingFeature,
             "IPH_GMCLocalMediaCasting",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGlicPromoFeature,
             "IPH_GlicPromo",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGlicTrustFirstOnboardingShortcutSnoozePromoFeature,
             "IPH_GlicTrustFirstOnboardingShortcutSnoozePromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGlicTryItFeature,
             "IPH_GlicTryIt",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHMemorySaverModeFeature,
             "IPH_HighEfficiencyMode",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHMultistepFilterPromoFeature,
             "IPH_MultistepFilterPromo",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHLensOverlayFeature,
             "IPH_LensOverlay",
             base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<std::string> kIPHLensOverlayUrlAllowFilters{
    &feature_engagement::kIPHLensOverlayFeature, "x_url_allow_filters", "[]"};
const base::FeatureParam<std::string> kIPHLensOverlayUrlBlockFilters{
    &feature_engagement::kIPHLensOverlayFeature, "x_url_block_filters", "[]"};
const base::FeatureParam<std::string> kIPHLensOverlayUrlPathMatchAllowPatterns{
    &feature_engagement::kIPHLensOverlayFeature,
    "x_url_path_match_allow_patterns", "[]"};
const base::FeatureParam<std::string>
    kIPHLensOverlayUrlForceAllowedUrlMatchPatterns{
        &feature_engagement::kIPHLensOverlayFeature,
        "x_url_forced_allowed_match_patterns", "[]"};
const base::FeatureParam<std::string> kIPHLensOverlayUrlPathMatchBlockPatterns{
    &feature_engagement::kIPHLensOverlayFeature,
    "x_url_path_match_block_patterns", "[]"};
const base::FeatureParam<base::TimeDelta> kIPHLensOverlayDelayTime{
    &feature_engagement::kIPHLensOverlayFeature, "x_wait_time",
    base::Seconds(7)};
BASE_FEATURE(kIPHLensOverlayTranslateButtonFeature,
             "IPH_LensOverlayTranslateButton",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabAudioMutingFeature,
             "IPH_TabAudioMuting",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPasswordsSavePrimingPromoFeature,
             "IPH_PasswordsSavePrimingPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPasswordsSaveRecoveryPromoFeature,
             "IPH_PasswordsSaveRecoveryPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPasswordsManagementBubbleAfterSaveFeature,
             "IPH_PasswordsManagementBubbleAfterSave",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPasswordsManagementBubbleDuringSigninFeature,
             "IPH_PasswordsManagementBubbleDuringSignin",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPasswordsWebAppProfileSwitchFeature,
             "IPH_PasswordsWebAppProfileSwitch",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPasswordManagerShortcutFeature,
             "IPH_PasswordManagerShortcut",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPasswordSharingFeature,
             "IPH_PasswordSharingFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPdfGlicSummarizeFeature,
             "IPH_PdfGlicSummarizeFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPdfInkSignaturesFeature,
             "IPH_PdfInkSignatures",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPdfSearchifyFeature,
             "IPH_PdfSearchifyFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPdfTextAnnotationsFeature,
             "IPH_PdfTextAnnotations",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPdfTranslateBubbleFeature,
             "IPH_PdfTranslateBubble",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPerformanceInterventionDialogFeature,
             "IPH_PerformanceInterventionDialogFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPowerBookmarksSidePanelFeature,
             "IPH_PowerBookmarksSidePanel",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPriceInsightsPageActionIconLabelFeature,
             "IPH_PriceInsightsPageActionIconLabelFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPriceTrackingEmailConsentFeature,
             "IPH_PriceTrackingEmailConsentFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPriceTrackingPageActionIconLabelFeature,
             "IPH_PriceTrackingPageActionIconLabelFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingListDiscoveryFeature,
             "IPH_ReadingListDiscovery",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingListEntryPointFeature,
             "IPH_ReadingListEntryPoint",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingListInSidePanelFeature,
             "IPH_ReadingListInSidePanel",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingModeKeyboardShortcutFeature,
             "IPH_ReadingModeKeyboardShortcut",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingModePageActionLabelFeature,
             "IPH_ReadingModePageActionLabel",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingModePresentationModeFeature,
             "IPH_ReadingModePresentationMode",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingModeSidePanelFeature,
             "IPH_ReadingModeSidePanel",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHShoppingCollectionFeature,
             "IPH_ShoppingCollectionFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSmartTabSharingDefaultOnFeature,
             "IPH_SmartTabSharingDefaultOnFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSmartTabSharingFeature,
             "IPH_SmartTabSharingFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSmartTabSharingTryItFeature,
             "IPH_SmartTabSharingTryItFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSideBySidePinnableFeature,
             "IPH_SideBySidePinnableFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSideBySideTabSwitchFeature,
             "IPH_SideBySideTabSwitchFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSplitViewHorizontalIndirectAccessFeature,
             "IPH_SplitViewHorizontalIndirectAccessFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVerticalTabsExpandOnHoverFeature,
             "IPH_VerticalTabsExpandOnHoverFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVerticalTabstripTutorialFeature,
             "IPH_VerticalTabstripTutorialFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSidePanelGenericPinnableFeature,
             "IPH_SidePanelGenericPinnableFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSidePanelLensOverlayPinnableFeature,
             "IPH_SidePanelLensOverlayPinnableFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSidePanelLensOverlayPinnableFollowupFeature,
             "IPH_SidePanelLensOverlayPinnableFollowupFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSidePanelContextualTasksPinnableFeature,
             "IPH_SidePanelContextualTasksPinnableFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSideSearchAutoTriggeringFeature,
             "IPH_SideSearchAutoTriggering",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSideSearchPageActionLabelFeature,
             "IPH_SideSearchPageActionLabel",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPwaQuietNotificationFeature,
             "IPH_PwaQuietNotification",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsSaveV2IntroFeature,
             "IPH_TabGroupsSaveV2Intro",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsSaveV2CloseGroupFeature,
             "IPH_TabGroupsSaveV2CloseGroup",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsSharedTabChangedFeature,
             "IPH_TabGroupsSharedTabChanged",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsSharedTabFeedbackFeature,
             "IPH_TabGroupsSharedTabFeedback",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabScrollButtonFeature,
             "IPH_TabScrollButtonFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabSearchComboButtonFeature,
             "IPH_TabSearchComboButton",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDesktopSnoozeFeature,
             "IPH_DesktopSnoozeFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDesktopPwaInstallFeature,
             "IPH_DesktopPwaInstall",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHProfileSwitchFeature,
             "IPH_ProfileSwitch",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHWebUiHelpBubbleTestFeature,
             "IPH_WebUiHelpBubbleTest",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPriceTrackingInSidePanelFeature,
             "IPH_PriceTrackingInSidePanel",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHBackNavigationMenuFeature,
             "IPH_BackNavigationMenu",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHBookmarkBarSimplifiedFeature,
             "IPH_BookmarkBarSimplified",
             base::FEATURE_DISABLED_BY_DEFAULT);
#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
        // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)

#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
BASE_FEATURE(kIPHExtensionsPinnedByDefaultFeature,
             "IPH_ExtensionsPinnedByDefault",
             base::FEATURE_DISABLED_BY_DEFAULT);
#endif  // BUILDFLAG(ENABLE_EXTENSIONS_CORE)

#if BUILDFLAG(IS_ANDROID)
// BASE_FEATURE_ANDROID_START
BASE_FEATURE(kIPHAccountSettingsHistorySync,
             "IPH_AccountSettingsHistorySync",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAndroidBottomBarAim,
             "IPH_AndroidBottomBarAim",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAndroidBottomBarAimPromoDialog,
             "IPH_AndroidBottomBarAimPromoDialog",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAndroidBottomBarGlic,
             "IPH_AndroidBottomBarGlic",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAndroidBottomBarNewTab,
             "IPH_AndroidBottomBarNewTab",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAndroidBottomBarPromoDialog,
             "IPH_AndroidBottomBarPromoDialog",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAndroidTabDeclutter,
             "IPH_AndroidTabDeclutter",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAndroidVerticalTabsPromoFeature,
             "IPH_AndroidVerticalTabsPromo",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationNewTabFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_NewTab",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationOpenInBrowserFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_OpenInBrowser",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationShareFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_Share",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationVoiceSearchFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_VoiceSearch",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationTranslateFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_Translate",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationAddToBookmarksFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_AddToBookmarks",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationReadAloudFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_ReadAloud",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonPinGlicToolbarButtonFeature,
             "IPH_AdaptiveButtonPinGlicToolbarButton",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationPageSummaryWebFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_PageSummary_Web",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAdaptiveButtonInTopToolbarCustomizationPageSummaryPdfFeature,
             "IPH_AdaptiveButtonInTopToolbarCustomization_PageSummary_Pdf",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAimActivationHint,
             "IPH_AimActivationHint",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPageSummaryWebMenuFeature,
             "IPH_PageSummaryWebMenu",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPageSummaryPdfMenuFeature,
             "IPH_PageSummaryPdfMenu",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAppRatingPromptFeature,
             "IPH_AppRatingPrompt",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAppSpecificHistory,
             "IPH_AppSpecificHistory",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutoDarkOptOutFeature,
             "IPH_AutoDarkOptOut",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutoDarkUserEducationMessageFeature,
             "IPH_AutoDarkUserEducationMessage",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutoDarkUserEducationMessageOptInFeature,
             "IPH_AutoDarkUserEducationMessageOptIn",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHBookmarksBarFeature,
             "IPH_BookmarksBar",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHCCTHistory,
             "IPH_CCTHistory",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHCCTMinimized,
             "IPH_CCTMinimized",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHContextualPageActionsQuietVariantFeature,
             "IPH_ContextualPageActions_QuietVariant",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHContextualPageActionsActionChipFeature,
             "IPH_ContextualPageActions_ActionChip",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDataSaverDetailFeature,
             "IPH_DataSaverDetail",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDataSaverMilestonePromoFeature,
             "IPH_DataSaverMilestonePromo",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDataSaverPreviewFeature,
             "IPH_DataSaverPreview",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDefaultBrowserPromoMagicStackFeature,
             "IPH_DefaultBrowserPromoMagicStack",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDefaultBrowserPromoMessagesFeature,
             "IPH_DefaultBrowserPromoMessages",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDefaultBrowserPromoSettingCardFeature,
             "IPH_DefaultBrowserPromoSettingCard",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadHomeFeature,
             "IPH_DownloadHome",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadIndicatorFeature,
             "IPH_DownloadIndicator",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadPageFeature,
             "IPH_DownloadPage",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadPageScreenshotFeature,
             "IPH_DownloadPageScreenshot",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHChromeHomeExpandFeature,
             "IPH_ChromeHomeExpand",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHChromeHomePullToRefreshFeature,
             "IPH_ChromeHomePullToRefresh",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadSettingsFeature,
             "IPH_DownloadSettings",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadInfoBarDownloadContinuingFeature,
             "IPH_DownloadInfoBarDownloadContinuing",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDownloadInfoBarDownloadsAreFasterFeature,
             "IPH_DownloadInfoBarDownloadsAreFaster",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHExtensionsManageToolbarFeature,
             "IPH_ExtensionsManageToolbar",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHExtensionsManageAppMenuFeature,
             "IPH_ExtensionsManageAppMenu",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadAloudAppMenuFeature,
             "IPH_ReadAloudAppMenuFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadAloudExpandedPlayerFeature,
             "IPH_ReadAloudExpandedPlayerFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadAloudPlaybackModeFeature,
             "IPH_ReadAloudPlaybackModeFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadLaterContextMenuFeature,
             "IPH_ReadLaterContextMenu",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadLaterAppMenuBookmarkThisPageFeature,
             "IPH_ReadLaterAppMenuBookmarkThisPage",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadLaterAppMenuBookmarksFeature,
             "IPH_ReadLaterAppMenuBookmarks",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadLaterBottomSheetFeature,
             "IPH_ReadLaterBottomSheet",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHRequestDesktopSiteDefaultOnFeature,
             "IPH_RequestDesktopSiteDefaultOn",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHRequestDesktopSiteExceptionsGenericFeature,
             "IPH_RequestDesktopSiteExceptionsGeneric",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHRequestDesktopSiteWindowSettingFeature,
             "IPH_RequestDesktopSiteWindowSetting",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHShoppingListSaveFlowFeature,
             "IPH_ShoppingListSaveFlow",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHEphemeralTabFeature,
             "IPH_EphemeralTab",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHFeedCardMenuFeature,
             "IPH_FeedCardMenu",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHFuseboxAttachmentFeature,
             "IPH_FuseboxAttachment",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGenericAlwaysTriggerHelpUiFeature,
             "IPH_GenericAlwaysTriggerHelpUiFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGestureUserEducation,
             "IPH_GestureUserEducation",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGlicPromoAndroidFeature,
             "IPH_GlicPromoAndroid",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHIdentityDiscFeature,
             "IPH_IdentityDisc",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHIncognitoIndicatorCloseAllWindows,
             "IPH_IncognitoIndicatorCloseAllWindows",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHInstanceSwitcherFeature,
             "IPH_InstanceSwitcher",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHRecentTabsFeature,
             "IPH_RecentTabs",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHKeyboardAccessoryAddressFillingFeature,
             "IPH_KeyboardAccessoryAddressFilling",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHKeyboardAccessoryBarSwipingFeature,
             "IPH_KeyboardAccessoryBarSwiping",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHKeyboardAccessoryPasswordFillingFeature,
             "IPH_KeyboardAccessoryPasswordFilling",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHKeyboardAccessoryPaymentFillingFeature,
             "IPH_KeyboardAccessoryPaymentFilling",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHKeyboardAccessoryPaymentOfferFeature,
             "IPH_KeyboardAccessoryPaymentOffer",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHLowUserEngagementDetectorFeature,
             "IPH_LowUserEngagementDetector",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHMicToolbarFeature,
             "IPH_MicToolbar",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHMenuAddToGroup,
             "IPH_MenuAddToGroup",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHMostVisitedTilesCustomizationPinFeature,
             "IPH_MostVisitedTilesCustomizationPin",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHNewTabPageThemeCustomizationFeature,
             "IPH_NewTabPageThemeCustomization",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPageInfoFeature,
             "IPH_PageInfo",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPageInfoStoreInfoFeature,
             "IPH_PageInfoStoreInfo",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPageZoomFeature,
             "IPH_PageZoom",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPdfPageDownloadFeature,
             "IPH_PdfPageDownload",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPreviewsOmniboxUIFeature,
             "IPH_PreviewsOmniboxUI",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReaderModeDistillInAppFeature,
             "IPH_ReaderModeDistillInApp",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHShoppingListMenuItemFeature,
             "IPH_ShoppingListMenuItem",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSiteControlsFeature,
             "IPH_SiteControls",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupCreationDialogSyncTextFeature,
             "IPH_TabGroupCreationDialogSyncText",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsDragAndDropFeature,
             "IPH_TabGroupsDragAndDrop",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupShareNoticeFeature,
             "IPH_TabGroupShareNotice",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupShareNotificationBubbleOnStripFeature,
             "IPH_TabGroupSharedNotificationBubbleOnStrip",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupShareUpdateFeature,
             "IPH_TabGroupShareUpdate",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupShareVersionUpdateFeature,
             "IPH_TabGroupShareVersionUpdate",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsRemoteGroupFeature,
             "IPH_TabGroupsRemoteGroup",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsSurfaceFeature,
             "IPH_TabGroupsSurface",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupsSurfaceOnHideFeature,
             "IPH_TabGroupsSurfaceOnHide",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabGroupSyncOnStripFeature,
             "IPH_TabGroupSyncOnStrip",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabSwitcherAddToGroup,
             "IPH_TabSwitcherAddToGroup",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabSwitcherButtonFeature,
             "IPH_TabSwitcherButton",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabSwitcherButtonSwitchIncognitoFeature,
             "IPH_TabSwitcherButtonSwitchIncognito",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHThreeDotMenuBackButton,
             "IPH_ThreeDotMenuBackButton",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTouchToSearchCalloutFeature,
             "IPH_TouchToSearchCallout",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTranslateMenuButtonFeature,
             "IPH_TranslateMenuButton",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVideoTutorialNTPChromeIntroFeature,
             "IPH_VideoTutorial_NTP_ChromeIntro",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVideoTutorialNTPDownloadFeature,
             "IPH_VideoTutorial_NTP_Download",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVideoTutorialNTPSearchFeature,
             "IPH_VideoTutorial_NTP_Search",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVideoTutorialNTPVoiceSearchFeature,
             "IPH_VideoTutorial_NTP_VoiceSearch",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVideoTutorialNTPSummaryFeature,
             "IPH_VideoTutorial_NTP_Summary",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHVideoTutorialTryNowFeature,
             "IPH_VideoTutorial_TryNow",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHExploreSitesTileFeature,
             "IPH_ExploreSitesTile",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHFeedHeaderMenuFeature,
             "IPH_FeedHeaderMenu",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHFeedSwipeRefresh,
             "IPH_FeedSwipeRefresh",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHChromeReengagementNotification1Feature,
             "IPH_ChromeReengagementNotification1",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHChromeReengagementNotification2Feature,
             "IPH_ChromeReengagementNotification2",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHChromeReengagementNotification3Feature,
             "IPH_ChromeReengagementNotification3",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHShareScreenshotFeature,
             "IPH_ShareScreenshot",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSharingHubLinkToggleFeature,
             "IPH_SharingHubLinkToggle",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSharedHighlightingBuilder,
             "IPH_SharedHighlightingBuilder",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSharedHighlightingReceiverFeature,
             "IPH_SharedHighlightingReceiver",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSharingHubWebnotesStylizeFeature,
             "IPH_SharingHubWebnotesStylize",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHRestoreTabsOnFREFeature,
             "IPH_RestoreTabsOnFRE",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabSwitcherXR,
             "IPH_TabSwitcherXR",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHTabTearingXR,
             "IPH_TabTearingXR",
             base::FEATURE_ENABLED_BY_DEFAULT);
// BASE_FEATURE_ANDROID_END
#endif  // BUILDFLAG(IS_ANDROID)

#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kIPHBottomToolbarTipFeature,
             "IPH_BottomToolbarTip",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHSendTabToSelfOmnibox,
             "IPH_SendTabToSelfOmnibox",
             base::FEATURE_DISABLED_BY_DEFAULT);
#endif  // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID)

#if BUILDFLAG(IS_IOS)
BASE_FEATURE(kIPHLongPressToolbarTipFeature,
             "IPH_LongPressToolbarTip",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHBadgedReaderModeFeature,
             "IPH_BadgedReaderMode",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHBadgedReadingListFeature,
             "IPH_BadgedReadingList",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHWhatsNewFeature,
             "IPH_WhatsNew",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHWhatsNewUpdatedFeature,
             "IPH_WhatsNewUpdated",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHReadingListMessagesFeature,
             "IPH_ReadingListMessages",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHBadgedTranslateManualTriggerFeature,
             "IPH_BadgedTranslateManualTrigger",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDiscoverFeedHeaderFeature,
             "IPH_DiscoverFeedHeaderMenu",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHDefaultSiteViewFeature,
             "IPH_DefaultSiteView",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHFollowWhileBrowsingFeature,
             "IPH_FollowWhileBrowsing",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHPriceNotificationsWhileBrowsingFeature,
             "IPH_PriceNotificationsWhileBrowsing",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSDefaultBrowserBadgeEligibilityFeature,
             "IPH_iOSDefaultBrowserBadgeEligibility",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSDefaultBrowserOverflowMenuBadgeFeature,
             "IPH_iOSDefaultBrowserOverflowMenuBadge",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSDownloadAutoDeletionFeature,
             "IPH_iOSDownloadAutoDeletion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSLensKeyboardFeature,
             "IPH_iOSLensKeyboard",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSBackendPromoFeature,
             "IPH_iOSBackendPromoFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoAppStoreFeature,
             "IPH_iOSPromoAppStore",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoWhatsNewFeature,
             "IPH_iOSPromoWhatsNew",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoBackgroundCustomizationFeature,
             "IPH_iOSPromoBackgroundCustomization",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoSigninFullscreenFeature,
             "IPH_iOSPromoSigninFullscreen",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoPostRestoreFeature,
             "IPH_iOSPromoPostRestore",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoCredentialProviderExtensionFeature,
             "IPH_iOSPromoCredentialProviderExtension",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoDefaultBrowserReminderFeature,
             "IPH_iOSPromoDefaultBrowserReminder",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSHistoryOnOverflowMenuFeature,
             "IPH_iOSHistoryOnOverflowMenuFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoPostRestoreDefaultBrowserFeature,
             "IPH_iOSPromoPostRestoreDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoNonModalUrlPasteDefaultBrowserFeature,
             "IPH_iOSPromoNonModalUrlPasteDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoNonModalAppSwitcherDefaultBrowserFeature,
             "IPH_iOSPromoNonModalAppSwitcherDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoNonModalShareDefaultBrowserFeature,
             "IPH_iOSPromoNonModalShareDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoNonModalSigninPasswordFeature,
             "IPH_iOSPromoNonModalSigninPassword",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoNonModalSigninBookmarkFeature,
             "IPH_iOSPromoNonModalSigninBookmark",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoPasswordManagerWidgetFeature,
             "IPH_iOSPromoPasswordManagerWidget",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPullToRefreshFeature,
             "IPH_iOSPullToRefreshFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSReaderModeLargeOmniboxEntrypointFeature,
             "IPH_iOSReaderModeLargeOmniboxEntrypointFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSReplaceSyncPromosWithSignInPromos,
             "IPH_iOSReplaceSyncPromosWithSignInPromos",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSTabGridSwipeRightForIncognito,
             "IPH_iOSTabGridSwipeRightForIncognito",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSDockingPromoFeature,
             "IPH_iOSDockingPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSDockingPromoEligibilityFeature,
             "IPH_iOSDockingPromoEligibility",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoAllTabsFeature,
             "IPH_iOSPromoAllTabs",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoMadeForIOSFeature,
             "IPH_iOSPromoMadeForIOS",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoStaySafeFeature,
             "IPH_iOSPromoStaySafe",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSSwipeBackForwardFeature,
             "IPH_iOSSwipeBackForward",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSSwipeToolbarToChangeTabFeature,
             "IPH_iOSSwipeToolbarToChangeTab",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPostDefaultAbandonmentPromoFeature,
             "IPH_iOSPostDefaultAbandonmentPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoGenericDefaultBrowserFeature,
             "IPH_iOSPromoGenericDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoSettingsCardDefaultBrowserFeature,
             "IPH_iOSPromoSettingsCardDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoSettingsCellDefaultBrowserFeature,
             "IPH_iOSPromoSettingsCellDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoOverflowMenuDestinationDefaultBrowserFeature,
             "IPH_iOSPromoOverflowMenuDestinationDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPromoOverflowMenuShortcutsDefaultBrowserFeature,
             "IPH_iOSPromoOverflowMenuShortcutsDefaultBrowser",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSOverflowMenuCustomizationFeature,
             "IPH_iOSOverflowMenuCustomization",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPageInfoRevampFeature,
             "IPH_iOSPageInfoRevamp",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSInlineEnhancedSafeBrowsingPromoFeature,
             "IPH_iOSInlineEnhancedSafeBrowsingPromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSSavedTabGroupClosed,
             "IPH_iOSSavedTabGroupClosed",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSContextualPanelSampleModelFeature,
             "IPH_iOSContextualPanelSampleModel",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSContextualPanelPriceInsightsFeature,
             "IPH_iOSContextualPanelPriceInsights",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHHomeCustomizationMenuFeature,
             "IPH_HomeCustomizationMenu",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSLensOverlayEntrypointTipFeature,
             "IPH_iOSLensOverlayEntrypointTip",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSLensOverlayEscapeHatchTipFeature,
             "IPH_iOSLensOverlayEscapeHatchTip",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSSharedTabGroupForeground,
             "IPH_iOSSharedTabGroupForeground",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSDefaultBrowserBannerPromoFeature,
             "IPH_iOSDefaultBrowserBannerPromoFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSDefaultBrowserOffCyclePromoFeature,
             "IPH_iOSDefaultBrowserOffCyclePromo",
             base::FEATURE_ENABLED_BY_DEFAULT);
constexpr base::FeatureParam<int> kIPHiOSDefaultBrowserOffCyclePromoCooldown{
    &kIPHiOSDefaultBrowserOffCyclePromoFeature,
    /*name=*/"cooldown-days",
    /*default_value=*/10 * 365};
BASE_FEATURE(kIPHiOSReminderNotificationsOverflowMenuBubbleFeature,
             "IPH_iOSReminderNotificationsOverflowMenuBubbleFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSReminderNotificationsOverflowMenuNewBadgeFeature,
             "IPH_iOSReminderNotificationsOverflowMenuNewBadgeFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSSafariImportFeature,
             "IPH_iOSSafariImportFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSSettingsInOverflowMenuBubbleFeature,
             "IPH_iOSSettingsInOverflowMenuBubbleFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
// Note: This IPH will only be triggered if
// `kSeparateProfilesForManagedAccounts` is enabled.
BASE_FEATURE(kIPHiOSSwitchAccountsWithNTPAccountParticleDiscFeature,
             "IPH_iOSSwitchAccountsWithNTPAccountParticleDiscFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
// Note: Feed swipe IPHs will only be triggered if `kFeedSwipeInProductHelp` is
// enabled.
BASE_FEATURE(kIPHiOSFeedSwipeStaticFeature,
             "IPH_iOSFeedSwipeStaticFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSFeedSwipeAnimatedFeature,
             "IPH_iOSFeedSwipeAnimatedFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSWelcomeBackFeature,
             "IPH_iOSWelcomeBack",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHIOSPageActionMenu,
             "IPH_iOSPageActionMenu",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSReaderModeOptionsFeature,
             "IPH_iOSReaderModeOptions",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSHomepageLensNewBadge,
             "IPH_iOSHomepageLensNewBadge",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSHomepageCustomizationNewBadge,
             "IPH_iOSHomepageCustomizationNewBadge",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSOneTimeDefaultBrowserNotificationFeature,
             "IPH_iOSOneTimeDefaultBrowserNotification",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSAIHubNewBadge,
             "IPH_iOSAIHubNewBadge",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSGeminiLiveNewBadgeFeature,
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSGeminiLiveIPHFeature, base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSGeminiFullscreenPromoFeature,
             "IPH_iOSGeminiFullscreenPromoFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSGeminiContextualCueChip,
             "IPH_iOSGeminiContextualCueChip",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSGeminiWhatCanGeminiDo, base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSGeminiImageRemixFeature,
             "IPH_iOSGeminiImageRemixFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSNewIAPromoFeature,
             "IPH_iOSNewIAPromoFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSGeminiExternalAppStoreEvent,
             "IPH_iOSGeminiExternalAppStoreEvent",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSPinMostVisitedSiteFeature,
             "IPH_iOSPinMostVisitedSiteFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHiOSActiveDaysTrackingFeature,
             "IPH_iOSActiveDaysTrackingFeature",
             base::FEATURE_ENABLED_BY_DEFAULT);

#endif  // BUILDFLAG(IS_IOS)

#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
    BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
BASE_FEATURE(kIPHAutofillAtMemoryFeature,
             "IPH_AutofillAtMemory",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature,
             "IPH_AutofillBnplAffirmOrZipSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillBnplAffirmZipOrKlarnaSuggestionFeature,
             "IPH_AutofillBnplAffirmZipOrKlarnaSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillCardInfoRetrievalSuggestionFeature,
             "IPH_AutofillCardInfoRetrievalSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillCreditCardBenefitFeature,
             "IPH_AutofillCreditCardBenefit",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillDisabledVirtualCardSuggestionFeature,
             "IPH_AutofillDisabledVirtualCardSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillDownstreamCardAwarenessFeature,
             "IPH_AutofillDownstreamCardAwareness",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillExternalAccountProfileSuggestionFeature,
             "IPH_AutofillExternalAccountProfileSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillHomeWorkProfileSuggestionFeature,
             "IPH_AutofillHomeWorkProfileSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillAccountNameEmailSuggestionFeature,
             "IPH_AutofillAccountNameEmailSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillAiOptInFeature,
             "IPH_AutofillAiOptIn",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillAiValuablesFeature,
             "IPH_AutofillAiValuables",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillVirtualCardCVCSuggestionFeature,
             "IPH_AutofillVirtualCardCVCSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillVirtualCardSuggestionFeature,
             "IPH_AutofillVirtualCardSuggestion",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillEnableLoyaltyCardsFeature,
             "IPH_AutofillEnableLoyaltyCards",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillOmniboxPaymentChipFeature,
             "IPH_AutofillOmniboxPaymentChip",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHAutofillWalletDirectOffersFeature,
             "IPH_AutofillWalletDirectOffers",
             base::FEATURE_ENABLED_BY_DEFAULT);
#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) ||
        // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
        // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)

#if BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kIPHGrowthFramework,
             "IPH_GrowthFramework",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHGoogleOneOfferNotificationFeature,
             "IPH_GoogleOneOfferNotification",
             base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIPHLauncherSearchHelpUiFeature,
             "IPH_LauncherSearchHelpUi",
             base::FEATURE_ENABLED_BY_DEFAULT);
#endif

#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
    BUILDFLAG(IS_CHROMEOS)
// This can be enabled by default, as the DesktopPWAsLinkCapturing
// flag is needed for the IPH linked to this feature to work, and
// use-cases to show the IPH are guarded by that flag.
BASE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunch,
             "IPH_DesktopPWAsLinkCapturingLaunch",
             base::FEATURE_ENABLED_BY_DEFAULT);

// This can be enabled by default, as the DesktopPWAsLinkCapturing
// flag is needed for the IPH linked to this feature to work, and
// use-cases to show the IPH are guarded by that flag.
BASE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTab,
             "IPH_DesktopPWAsLinkCapturingLaunchAppInTab",
             base::FEATURE_ENABLED_BY_DEFAULT);
#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
        // BUILDFLAG(IS_CHROMEOS)

#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
BASE_FEATURE(kIPHSignInBenefitsFeature,
             "IPH_SignInBenefits",
             base::FEATURE_DISABLED_BY_DEFAULT);

BASE_FEATURE(kIPHSignInBenefitsNewSigninFeature,
             "IPH_SignInBenefitsNewSignin",
             base::FEATURE_ENABLED_BY_DEFAULT);

BASE_FEATURE(kIPHSupervisedUserProfileSigninFeature,
             "IPH_SupervisedUserProfileSignin",
             base::FEATURE_ENABLED_BY_DEFAULT);
#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)

#if !BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kIPHiOSPasswordPromoDesktopFeature,
             "IPH_iOSPasswordPromoDesktop",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSAddressPromoDesktopFeature,
             "IPH_iOSAddressPromoDesktop",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPaymentPromoDesktopFeature,
             "IPH_iOSPaymentPromoDesktop",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSLensPromoDesktopFeature,
             "IPH_iOSLensPromoDesktop",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSEnhancedBrowsingDesktopFeature,
             "IPH_iOSEnhancedBrowsingDesktop",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSTabGroupsDesktopFeature,
             "IPH_iOSTabGroupsDesktop",
             base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIPHiOSPriceTrackingDesktopFeature,
             "IPH_iOSPriceTrackingDesktop",
             base::FEATURE_ENABLED_BY_DEFAULT);
#endif  // !BUILDFLAG(IS_ANDROID)

#if !BUILDFLAG(IS_IOS)
BASE_FEATURE(kIPHResumptionRailFeature,
             "IPH_ResumptionRail",
             base::FEATURE_ENABLED_BY_DEFAULT);
#endif  // !BUILDFLAG(IS_IOS)

#if BUILDFLAG(IS_WIN)
BASE_FEATURE(kIPHSearchPromotionFeature,
             "IPH_SearchPromotionFeature",
             base::FEATURE_DISABLED_BY_DEFAULT);

constexpr base::FeatureParam<SearchPromotionAction>::Option
    kSearchPromotionActionOptions[] = {
        {SearchPromotionAction::kOpen, kSearchPromotionActionOpen},
        {SearchPromotionAction::kInstall, kSearchPromotionActionInstall},
        {SearchPromotionAction::kControl, kSearchPromotionActionControl},
};

constinit const base::FeatureParam<SearchPromotionAction>
    kSearchPromotionAction{&kIPHSearchPromotionFeature, "action",
                           SearchPromotionAction::kDisabled,
                           &kSearchPromotionActionOptions};

constexpr base::FeatureParam<SearchPromotionCohort>::Option
    kSearchPromotionCohortOptions[] = {
        {SearchPromotionCohort::kAll, kSearchPromotionCohortAll},
        {SearchPromotionCohort::kLow, kSearchPromotionCohortLow},
        {SearchPromotionCohort::kMedium, kSearchPromotionCohortMedium},
        {SearchPromotionCohort::kPower, kSearchPromotionCohortPower},
};

constinit const base::FeatureParam<SearchPromotionCohort>
    kSearchPromotionCohort{&kIPHSearchPromotionFeature, "cohort",
                           SearchPromotionCohort::kAll,
                           &kSearchPromotionCohortOptions};
constinit const base::FeatureParam<std::string> kSearchPromotionStoreUrl{
    &kIPHSearchPromotionFeature, "store_url",
    "https://microsoftedge.microsoft.com/addons/detail/google-search-for-edge/"
    "dakcooigljlhlgibgdfadgphfnoooacj"};
constinit const base::FeatureParam<std::string> kSearchPromotionExtensionId{
    &kIPHSearchPromotionFeature, "extension_id",
    "dakcooigljlhlgibgdfadgphfnoooacj"};
constinit const base::FeatureParam<std::string> kSearchPromotionInstructionsUrl{
    &kIPHSearchPromotionFeature, "instructions_url",
    "https://www.google.com/chrome/landing/google-search-extension-edge/"};
constinit const base::FeatureParam<std::string> kSearchPromotionMinPehVersion{
    &kIPHSearchPromotionFeature, "min_peh_version", "153.0.8001.0"};
#endif  // BUILDFLAG(IS_WIN)

}  // namespace feature_engagement
