blob: 24a62e43a1d69543601239ee221c550a06c0f7b1 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ios/chrome/browser/shared/public/features/features.h"
BASE_FEATURE(kDefaultBrowserBlueDotPromo,
"DefaultBrowserBlueDotPromo",
base::FEATURE_DISABLED_BY_DEFAULT);
constexpr base::FeatureParam<BlueDotPromoUserGroup>::Option
kBlueDotPromoUserGroupOptions[] = {
{BlueDotPromoUserGroup::kAllDBPromosDisabled, "all-db-promos-disabled"},
{BlueDotPromoUserGroup::kAllDBPromosEnabled, "all-db-promos-enabled"},
{BlueDotPromoUserGroup::kOnlyBlueDotPromoEnabled,
"only-blue-dot-promo-enabled"}};
constexpr base::FeatureParam<BlueDotPromoUserGroup> kBlueDotPromoUserGroupParam{
&kDefaultBrowserBlueDotPromo, "user-group",
BlueDotPromoUserGroup::kOnlyBlueDotPromoEnabled,
&kBlueDotPromoUserGroupOptions};
BASE_FEATURE(kExpandedTabStrip,
"ExpandedTabStrip",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kTestFeature, "TestFeature", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSharedHighlightingIOS,
"SharedHighlightingIOS",
base::FEATURE_ENABLED_BY_DEFAULT);
// TODO(crbug.com/1128242): Remove this flag after the refactoring work is
// finished.
BASE_FEATURE(kModernTabStrip,
"ModernTabStrip",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIncognitoNtpRevamp,
"IncognitoNtpRevamp",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDefaultBrowserFullscreenPromoExperiment,
"DefaultBrowserFullscreenPromoExperiment",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDefaultBrowserIntentsShowSettings,
"DefaultBrowserIntentsShowSettings",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIOSBrowserEditMenuMetrics,
"IOSBrowserEditMenuMetrics",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kIOSCustomBrowserEditMenu,
"IOSCustomBrowserEditMenu",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kIOSEditMenuPartialTranslateNoIncognitoParam[] =
"IOSEditMenuPartialTranslateNoIncognitoParam";
BASE_FEATURE(kIOSEditMenuPartialTranslate,
"IOSEditMenuPartialTranslate",
base::FEATURE_DISABLED_BY_DEFAULT);
bool ShouldShowPartialTranslateInIncognito() {
if (!base::FeatureList::IsEnabled(kIOSEditMenuPartialTranslate)) {
return false;
}
return !base::GetFieldTrialParamByFeatureAsBool(
kIOSEditMenuPartialTranslate,
kIOSEditMenuPartialTranslateNoIncognitoParam, false);
}
BASE_FEATURE(kIOSNewOmniboxImplementation,
"kIOSNewOmniboxImplementation",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kRemoveCrashInfobar,
"RemoveCrashInfobar",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIOSLocationBarUseNativeContextMenu,
"IOSLocationBarUseNativeContextMenu",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kUseLensToSearchForImage,
"UseLensToSearchForImage",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kEnableLensInHomeScreenWidget,
"EnableLensInHomeScreenWidget",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnableLensInKeyboard,
"EnableLensInKeyboard",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnableLensInNTP,
"EnableLensInNTP",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnableLensContextMenuAltText,
"EnableLensContextMenuAltText",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnableLensInOmniboxCopiedImage,
"EnableLensInOmniboxCopiedImage",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnableUIButtonConfiguration,
"EnableUIButtonConfiguration",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsUIButtonConfigurationEnabled() {
return base::FeatureList::IsEnabled(kEnableUIButtonConfiguration);
}
BASE_FEATURE(kRemoveExcessNTPs,
"RemoveExcessNTPs",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kEnableShortenedPasswordAutoFillInstruction,
"EnableShortenedPasswordAutoFillInstruction",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kUseSFSymbolsInOmnibox,
"UseSFSymbolsInOmnibox",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kCalendarExperienceKit,
"CalendarExperienceKit",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kEnableExpKitAppleCalendar,
"EnableExpKitAppleCalendar",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kExperienceKitMapsVariationName[] = "ExperienceKitMapsVariant";
extern const char kEnableExperienceKitMapsVariationSrp[] = "with SRP";
BASE_FEATURE(kMapsExperienceKit,
"MapsExperienceKit",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kEnableMiniMap,
"EnableMiniMap",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kTabGridRecencySort,
"TabGridRecencySort",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsTabGridSortedByRecency() {
return base::FeatureList::IsEnabled(kTabGridRecencySort);
}
BASE_FEATURE(kMultilineFadeTruncatingLabel,
"MultilineFadeTruncatingLabel",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kNotificationSettingsMenuItem,
"NotificationSettingsMenuItem",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSpotlightReadingListSource,
"SpotlightReadingListSource",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kConsistencyNewAccountInterface,
"ConsistencyNewAccountInterface",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsConsistencyNewAccountInterfaceEnabled() {
return base::FeatureList::IsEnabled(kConsistencyNewAccountInterface);
}
BASE_FEATURE(kAddToHomeScreen,
"AddToHomeScreen",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kAddToHomeScreenDisableIncognitoParam[] =
"AddToHomeScreenDisableIncognitoParam";
bool ShouldAddToHomeScreen(bool in_incognito) {
if (!base::FeatureList::IsEnabled(kAddToHomeScreen)) {
return false;
}
if (!in_incognito) {
return true;
}
return !base::GetFieldTrialParamByFeatureAsBool(
kAddToHomeScreen, kAddToHomeScreenDisableIncognitoParam, false);
}
BASE_FEATURE(kBringYourOwnTabsIOS,
"BringYourOwnTabsIOS",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kBringYourOwnTabsIOSParam[] = "bottom-message";
BringYourOwnTabsPromptType GetBringYourOwnTabsPromptType() {
if (base::FeatureList::IsEnabled(kBringYourOwnTabsIOS)) {
bool showBottomMessagePrompt = base::GetFieldTrialParamByFeatureAsBool(
kBringYourOwnTabsIOS, kBringYourOwnTabsIOSParam, false);
return showBottomMessagePrompt ? BringYourOwnTabsPromptType::kBottomMessage
: BringYourOwnTabsPromptType::kHalfSheet;
}
return BringYourOwnTabsPromptType::kDisabled;
}
BASE_FEATURE(kIndicateAccountStorageErrorInAccountCell,
"IndicatePassphraseErrorForSignedInUser",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsIndicateAccountStorageErrorInAccountCellEnabled() {
return base::FeatureList::IsEnabled(
kIndicateAccountStorageErrorInAccountCell);
}
BASE_FEATURE(kNewNTPOmniboxLayout,
"kNewNTPOmniboxLayout",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnableEmailInBookmarksReadingListSnackbar,
"EnableEmailInBookmarksReadingListSnackbar",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIndicateSyncErrorInOverflowMenu,
"IndicateSyncErrorInOverflowMenu",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsIndicateSyncErrorInOverflowMenuEnabled() {
return base::FeatureList::IsEnabled(kIndicateSyncErrorInOverflowMenu);
}