1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
|
// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_FLAGS_ANDROID_CHROME_FEATURE_LIST_H_
#define CHROME_BROWSER_FLAGS_ANDROID_CHROME_FEATURE_LIST_H_
#include <jni.h>
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "extensions/buildflags/buildflags.h"
namespace chrome {
namespace android {
// Alphabetical:
BASE_DECLARE_FEATURE(kAccountForSuppressedKeyboardInsets);
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2);
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarPageSummary);
BASE_DECLARE_FEATURE(kAllowTabClosingUponMinimization);
BASE_DECLARE_FEATURE(kAndroidAppIntegration);
BASE_DECLARE_FEATURE(kAndroidAppIntegrationV2);
BASE_DECLARE_FEATURE(kNewTabPageCustomization);
BASE_DECLARE_FEATURE(kNewTabPageCustomizationV2);
BASE_DECLARE_FEATURE(kNewTabPageCustomizationToolbarButton);
BASE_DECLARE_FEATURE(kNewTabPageCustomizationForMvt);
BASE_DECLARE_FEATURE(kAndroidAppIntegrationWithFavicon);
BASE_DECLARE_FEATURE(kAndroidAppIntegrationMultiDataSource);
BASE_DECLARE_FEATURE(kAndroidAppearanceSettings);
BASE_DECLARE_FEATURE(kAndroidBookmarkBar);
BASE_DECLARE_FEATURE(kAndroidBottomToolbar);
BASE_DECLARE_FEATURE(kAndroidDumpOnScrollWithoutResource);
BASE_DECLARE_FEATURE(kAndroidElegantTextHeight);
BASE_DECLARE_FEATURE(kAndroidKeyboardA11y);
BASE_DECLARE_FEATURE(kAndroidMetaClickHistoryNavigation);
BASE_DECLARE_FEATURE(kAndroidNativePagesInNewTab);
BASE_DECLARE_FEATURE(kAndroidProgressBarVisualUpdate);
BASE_DECLARE_FEATURE(kAndroidNoVisibleHintForDifferentTLD);
BASE_DECLARE_FEATURE(kAndroidOmniboxFocusedNewTabPage);
BASE_DECLARE_FEATURE(kAndroidOpenPdfInlineBackport);
BASE_DECLARE_FEATURE(kAndroidPdfAssistContent);
BASE_DECLARE_FEATURE(kAndroidTabGroupsColorUpdateGM3);
BASE_DECLARE_FEATURE(kAndroidShowRestoreTabsPromoOnFREBypassedKillSwitch);
BASE_DECLARE_FEATURE(kAndroidSurfaceColorUpdate);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterArchiveAllButActiveTab);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterArchiveDuplicateTabs);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterArchiveTabGroups);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterAutoDelete);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterAutoDeleteKillSwitch);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterRescueKillswitch);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterDedupeTabIdsKillSwitch);
BASE_DECLARE_FEATURE(kAndroidTabDeclutterPerformanceImprovements);
BASE_DECLARE_FEATURE(kAndroidTabSkipSaveTabsKillswitch);
BASE_DECLARE_FEATURE(kAndroidThemeModule);
BASE_DECLARE_FEATURE(kAndroidToolbarScrollAblation);
BASE_DECLARE_FEATURE(kAndroidWindowPopupLargeScreen);
BASE_DECLARE_FEATURE(kAnimatedImageDragShadow);
BASE_DECLARE_FEATURE(kAppSpecificHistory);
BASE_DECLARE_FEATURE(kTinkerTankBottomSheet);
BASE_DECLARE_FEATURE(kAsyncNotificationManager);
BASE_DECLARE_FEATURE(kAsyncNotificationManagerForDownload);
BASE_DECLARE_FEATURE(kAuxiliarySearchDonation);
BASE_DECLARE_FEATURE(kBackgroundThreadPool);
BASE_DECLARE_FEATURE(kBatchTabRestore);
#if BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS)
BASE_DECLARE_FEATURE(kBlockInstallingExtensionsOnDesktopAndroid);
#endif
BASE_DECLARE_FEATURE(kBlockIntentsWhileLocked);
BASE_DECLARE_FEATURE(kBookmarkPaneAndroid);
BASE_DECLARE_FEATURE(kBottomBrowserControlsRefactor);
BASE_DECLARE_FEATURE(kBrowserControlsDebugging);
BASE_DECLARE_FEATURE(kBrowserControlsEarlyResize);
BASE_DECLARE_FEATURE(kCacheActivityTaskID);
BASE_DECLARE_FEATURE(kCacheIsMultiInstanceApi31Enabled);
BASE_DECLARE_FEATURE(kCastDeviceFilter);
BASE_DECLARE_FEATURE(kCCTAdaptiveButton);
BASE_DECLARE_FEATURE(kCCTAdaptiveButtonTestSwitch);
BASE_DECLARE_FEATURE(kCCTAuthTab);
BASE_DECLARE_FEATURE(kCCTAuthTabDisableAllExternalIntents);
BASE_DECLARE_FEATURE(kCCTAuthTabEnableHttpsRedirects);
BASE_DECLARE_FEATURE(kCCTBlockTouchesDuringEnterAnimation);
BASE_DECLARE_FEATURE(kCCTClientDataHeader);
BASE_DECLARE_FEATURE(kCCTEarlyNav);
BASE_DECLARE_FEATURE(kCCTEphemeralMediaViewerExperiment);
BASE_DECLARE_FEATURE(kCCTEphemeralMode);
BASE_DECLARE_FEATURE(kCCTExtendTrustedCdnPublisher);
BASE_DECLARE_FEATURE(kCCTFixWarmup);
BASE_DECLARE_FEATURE(kCCTFreInSameTask);
BASE_DECLARE_FEATURE(kCCTIncognitoAvailableToThirdParty);
BASE_DECLARE_FEATURE(kCCTIntentFeatureOverrides);
BASE_DECLARE_FEATURE(kCCTMinimized);
BASE_DECLARE_FEATURE(kCCTMinimizedEnabledByDefault);
BASE_DECLARE_FEATURE(kCCTNavigationalPrefetch);
BASE_DECLARE_FEATURE(kCCTNestedSecurityIcon);
BASE_DECLARE_FEATURE(kCCTGoogleBottomBar);
BASE_DECLARE_FEATURE(kCCTGoogleBottomBarVariantLayouts);
BASE_DECLARE_FEATURE(kCCTOpenInBrowserButtonIfAllowedByEmbedder);
BASE_DECLARE_FEATURE(kCCTOpenInBrowserButtonIfEnabledByEmbedder);
BASE_DECLARE_FEATURE(kCCTPredictiveBackGesture);
BASE_DECLARE_FEATURE(kCCTPrewarmTab);
BASE_DECLARE_FEATURE(kCCTRealtimeEngagementEventsInBackground);
BASE_DECLARE_FEATURE(kCCTReportParallelRequestStatus);
BASE_DECLARE_FEATURE(kCCTReportPrerenderEvents);
BASE_DECLARE_FEATURE(kCCTResizableForThirdParties);
BASE_DECLARE_FEATURE(kCCTRetainingStateInMemory);
BASE_DECLARE_FEATURE(kCCTRevampedBranding);
BASE_DECLARE_FEATURE(kCCTShowTabFix);
BASE_DECLARE_FEATURE(kCCTTabModalDialog);
BASE_DECLARE_FEATURE(kCCTToolbarRefactor);
BASE_DECLARE_FEATURE(kDefaultBrowserPromoAndroid2);
BASE_DECLARE_FEATURE(kDontAutoHideBrowserControls);
BASE_DECLARE_FEATURE(kCacheDeprecatedSystemLocationSetting);
BASE_DECLARE_FEATURE(kChangeUnfocusedPriority);
BASE_DECLARE_FEATURE(kChromeShareScreenshot);
BASE_DECLARE_FEATURE(kChromeSharingHubLaunchAdjacent);
BASE_DECLARE_FEATURE(kChromeSurveyNextAndroid);
BASE_DECLARE_FEATURE(kClampAutomotiveScaling);
BASE_DECLARE_FEATURE(kClankStartupLatencyInjection);
BASE_DECLARE_FEATURE(kClankWhatsNew);
BASE_DECLARE_FEATURE(kClearBrowsingDataAndroidSurvey);
BASE_DECLARE_FEATURE(kClearInstanceInfoWhenClosedIntentionally);
BASE_DECLARE_FEATURE(kCommandLineOnNonRooted);
BASE_DECLARE_FEATURE(kAndroidComposeplate);
BASE_DECLARE_FEATURE(kContextMenuSysUiMatchesActivity);
BASE_DECLARE_FEATURE(kContextMenuTranslateWithGoogleLens);
BASE_DECLARE_FEATURE(kContextualSearchDisableOnlineDetection);
BASE_DECLARE_FEATURE(kContextualSearchSuppressShortView);
BASE_DECLARE_FEATURE(kControlsVisibilityFromNavigations);
BASE_DECLARE_FEATURE(kCpaSpecUpdate);
BASE_DECLARE_FEATURE(kCrossDeviceTabPaneAndroid);
BASE_DECLARE_FEATURE(kDeviceAuthenticatorAndroidx);
BASE_DECLARE_FEATURE(kDisableInstanceLimit);
BASE_DECLARE_FEATURE(kDontPrefetchLibraries);
BASE_DECLARE_FEATURE(kDrawKeyNativeEdgeToEdge);
BASE_DECLARE_FEATURE(kEdgeToEdgeBottomChin);
BASE_DECLARE_FEATURE(kEdgeToEdgeDebugging);
BASE_DECLARE_FEATURE(kEdgeToEdgeEverywhere);
BASE_DECLARE_FEATURE(kEdgeToEdgeMonitorConfigurations);
BASE_DECLARE_FEATURE(kEdgeToEdgeWebOptIn);
BASE_DECLARE_FEATURE(kEdgeToEdgeSafeAreaConstraint);
BASE_DECLARE_FEATURE(kEdgeToEdgeTablet);
BASE_DECLARE_FEATURE(kEducationalTipDefaultBrowserPromoCard);
BASE_DECLARE_FEATURE(kEmptyTabListAnimationKillSwitch);
BASE_DECLARE_FEATURE(kEnableXAxisActivityTransition);
BASE_DECLARE_FEATURE(kExperimentsForAgsa);
BASE_DECLARE_FEATURE(kFloatingSnackbar);
BASE_DECLARE_FEATURE(kForceBrowserControlsUponExitingFullscreen);
BASE_DECLARE_FEATURE(kForceTranslucentNotificationTrampoline);
BASE_DECLARE_FEATURE(kFullscreenInsetsApiMigration);
BASE_DECLARE_FEATURE(kFullscreenInsetsApiMigrationOnAutomotive);
BASE_DECLARE_FEATURE(kGridTabSwitcherSurfaceColorUpdate);
BASE_DECLARE_FEATURE(kGroupNewTabWithParent);
BASE_DECLARE_FEATURE(kHeadlessTabModel);
BASE_DECLARE_FEATURE(kHistoryPaneAndroid);
BASE_DECLARE_FEATURE(kHomepageIsNewTabPagePolicyAndroid);
BASE_DECLARE_FEATURE(kLockBackPressHandlerAtStart);
BASE_DECLARE_FEATURE(kIncognitoScreenshot);
BASE_DECLARE_FEATURE(kInstanceSwitcherV2);
BASE_DECLARE_FEATURE(kImprovedA2HS);
BASE_DECLARE_FEATURE(kKeyboardEscBackNavigation);
BASE_DECLARE_FEATURE(kLanguagesPreference);
BASE_DECLARE_FEATURE(kLegacyTabStateDeprecation);
BASE_DECLARE_FEATURE(kLensOnQuickActionSearchWidget);
BASE_DECLARE_FEATURE(kLocationBarModelOptimizations);
BASE_DECLARE_FEATURE(kMagicStackAndroid);
BASE_DECLARE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition);
BASE_DECLARE_FEATURE(kMiniOriginBar);
BASE_DECLARE_FEATURE(kMostVisitedTilesCustomization);
BASE_DECLARE_FEATURE(kMostVisitedTilesReselect);
BASE_DECLARE_FEATURE(kMultiInstanceApplicationStatusCleanup);
BASE_DECLARE_FEATURE(kMvcUpdateViewWhenModelChanged);
BASE_DECLARE_FEATURE(kNativePageTransitionHardwareCapture);
BASE_DECLARE_FEATURE(kNavBarColorAnimation);
BASE_DECLARE_FEATURE(kNavBarColorMatchesTabBackground);
BASE_DECLARE_FEATURE(kNewTabPageAndroidTriggerForPrerender2);
BASE_DECLARE_FEATURE(kNotificationPermissionVariant);
BASE_DECLARE_FEATURE(kNotificationPermissionBottomSheet);
BASE_DECLARE_FEATURE(kNotificationTrampoline);
BASE_DECLARE_FEATURE(kOmahaMinSdkVersionAndroid);
BASE_DECLARE_FEATURE(kAvoidRelayoutDuringFocusAnimation);
BASE_DECLARE_FEATURE(kShortCircuitUnfocusAnimation);
BASE_DECLARE_FEATURE(kShowHomeButtonPolicyAndroid);
BASE_DECLARE_FEATURE(kShowNewTabAnimations);
BASE_DECLARE_FEATURE(kShowTabListAnimations);
BASE_DECLARE_FEATURE(kOptimizeGeolocationHeaderGeneration);
BASE_DECLARE_FEATURE(kPageAnnotationsService);
BASE_DECLARE_FEATURE(kPageContentProvider);
BASE_DECLARE_FEATURE(kPowerSavingModeBroadcastReceiverInBackground);
BASE_DECLARE_FEATURE(kPreconnectOnTabCreation);
BASE_DECLARE_FEATURE(kPriceChangeModule);
BASE_DECLARE_FEATURE(kProcessRankPolicyAndroid);
BASE_DECLARE_FEATURE(kProtectedTabsAndroid);
BASE_DECLARE_FEATURE(kPwaRestoreUi);
BASE_DECLARE_FEATURE(kPwaRestoreUiAtStartup);
BASE_DECLARE_FEATURE(kPartnerCustomizationsUma);
BASE_DECLARE_FEATURE(kQuickDeleteAndroidSurvey);
BASE_DECLARE_FEATURE(kReadAloud);
BASE_DECLARE_FEATURE(kReadAloudAudioOverviews);
BASE_DECLARE_FEATURE(kReadAloudAudioOverviewsFeedback);
BASE_DECLARE_FEATURE(kReadAloudInOverflowMenuInCCT);
BASE_DECLARE_FEATURE(kReadAloudInMultiWindow);
BASE_DECLARE_FEATURE(kReadAloudBackgroundPlayback);
BASE_DECLARE_FEATURE(kReadAloudPlayback);
BASE_DECLARE_FEATURE(kReadAloudTapToSeek);
BASE_DECLARE_FEATURE(kReadAloudServerExperiments);
BASE_DECLARE_FEATURE(kReadAloudIPHMenuButtonHighlightCCT);
BASE_DECLARE_FEATURE(kReengagementNotification);
BASE_DECLARE_FEATURE(kRecordSuppressionMetrics);
BASE_DECLARE_FEATURE(kRelatedSearchesAllLanguage);
BASE_DECLARE_FEATURE(kRelatedSearchesSwitch);
BASE_DECLARE_FEATURE(kReloadTabUiResourcesIfChanged);
BASE_DECLARE_FEATURE(kRemoveTabFocusOnShowingAndSelect);
BASE_DECLARE_FEATURE(kRightEdgeGoesForwardGestureNav);
BASE_DECLARE_FEATURE(kSearchInCCT);
BASE_DECLARE_FEATURE(kSearchInCCTAlternateTapHandling);
BASE_DECLARE_FEATURE(kSearchInCCTIfEnabledByEmbedder);
BASE_DECLARE_FEATURE(kSearchInCCTAlternateTapHandlingIfEnabledByEmbedder);
BASE_DECLARE_FEATURE(kSearchResumptionModuleAndroid);
BASE_DECLARE_FEATURE(kSettingsSingleActivity);
BASE_DECLARE_FEATURE(kShareCustomActionsInCCT);
BASE_DECLARE_FEATURE(kSharingHubLinkToggle);
BASE_DECLARE_FEATURE(kSkipIsolatedSplitPreload);
BASE_DECLARE_FEATURE(kSmallerTabStripTitleLimit);
BASE_DECLARE_FEATURE(kScrollToTLDOptimization);
BASE_DECLARE_FEATURE(kSuppressToolbarCapturesAtGestureEnd);
BASE_DECLARE_FEATURE(kSwapNewTabAndNewTabInGroupAndroid);
BASE_DECLARE_FEATURE(kTabGroupEntryPointsAndroid);
BASE_DECLARE_FEATURE(kTabGroupParityBottomSheetAndroid);
BASE_DECLARE_FEATURE(kTabletTabStripAnimation);
BASE_DECLARE_FEATURE(kTabFreezeOnUndoableClosureKillSwitch);
BASE_DECLARE_FEATURE(kTabStateFlatBuffer);
BASE_DECLARE_FEATURE(kTabStripContextMenuAndroid);
BASE_DECLARE_FEATURE(kTabStripDensityChangeAndroid);
BASE_DECLARE_FEATURE(kTabStripGroupDragDropAndroid);
BASE_DECLARE_FEATURE(kTabStripGroupReorderAndroid);
BASE_DECLARE_FEATURE(kTabStripIncognitoMigration);
BASE_DECLARE_FEATURE(kTabStripLayoutOptimization);
BASE_DECLARE_FEATURE(kTabClosureMethodRefactor);
BASE_DECLARE_FEATURE(kTabStripTransitionInDesktopWindow);
BASE_DECLARE_FEATURE(kTabSwitcherColorBlendAnimate);
BASE_DECLARE_FEATURE(kTabArchivalDragDropAndroid);
BASE_DECLARE_FEATURE(kTabCollectionAndroid);
BASE_DECLARE_FEATURE(kTabSwitcherDragDropAndroid);
BASE_DECLARE_FEATURE(kTabSwitcherForeignFaviconSupport);
BASE_DECLARE_FEATURE(kTabSwitcherGroupSuggestionsAndroid);
BASE_DECLARE_FEATURE(kTabSwitcherGroupSuggestionsTestModeAndroid);
BASE_DECLARE_FEATURE(kTabWindowManagerReportIndicesMismatch);
BASE_DECLARE_FEATURE(kHideTabletToolbarDownloadButton);
BASE_DECLARE_FEATURE(kTestDefaultDisabled);
BASE_DECLARE_FEATURE(kTestDefaultEnabled);
BASE_DECLARE_FEATURE(kTopControlsRefactor);
BASE_DECLARE_FEATURE(kToolbarPhoneAnimationRefactor);
BASE_DECLARE_FEATURE(kTouchToSearchCallout);
BASE_DECLARE_FEATURE(kTraceBinderIpc);
BASE_DECLARE_FEATURE(kStartSurfaceReturnTime);
BASE_DECLARE_FEATURE(kUmaBackgroundSessions);
BASE_DECLARE_FEATURE(kUpdateCompositorForSurfaceControl);
BASE_DECLARE_FEATURE(kUseActivityManagerForTabActivation);
BASE_DECLARE_FEATURE(kUseInitialNetworkStateAtStartup);
BASE_DECLARE_FEATURE(kUseLibunwindstackNativeUnwinderAndroid);
BASE_DECLARE_FEATURE(kWebOtpCrossDeviceSimpleString);
BASE_DECLARE_FEATURE(kGridTabSwitcherUpdate);
BASE_DECLARE_FEATURE(kAndroidPinnedTabs);
// For FeatureParam, Alphabetical:
constexpr base::FeatureParam<int> kAppIntegrationMaxDonationCountParam(
&kAndroidAppIntegrationMultiDataSource,
"max_donation_count",
100);
constexpr base::FeatureParam<int> kAppIntegrationCCTVisitDurationLimitSecParam(
&kAndroidAppIntegrationMultiDataSource,
"cct_visit_duration_limit_sec",
3);
constexpr base::FeatureParam<int> kAuxiliarySearchMaxBookmarksCountParam(
&kAuxiliarySearchDonation,
"auxiliary_search_max_donation_bookmark",
100);
constexpr base::FeatureParam<size_t> kAuxiliarySearchMaxTabsCountParam(
&kAuxiliarySearchDonation,
"auxiliary_search_max_donation_tab",
100);
constexpr base::FeatureParam<bool> kEdgeToEdgeBottomChinDebugParam(
&kEdgeToEdgeBottomChin,
"debug_bottom_chin",
/*default_value=*/false);
constexpr base::FeatureParam<bool> kCCTNavigationalPrefetchHoldback(
&kCCTNavigationalPrefetch,
"holdback",
false);
// If it does not support PERCEPTIBLE importance (e.g. Android Q- does not
// support not-perceptible binding), protected tabs have MODERATE importance as
// fallback.
constexpr base::FeatureParam<bool> kFallbackToModerateParam(
&kProtectedTabsAndroid,
"fallback_to_moderate",
/*default_value=*/false);
constexpr base::FeatureParam<int>
kReadAloudAudioOverviewsSpeedAdditionPercentage(
&kReadAloudAudioOverviews,
"read_aloud_audio_overviews_speed_addition_percentage",
/* default_value=*/20);
constexpr base::FeatureParam<std::string> kQuickDeleteAndroidSurveyTriggerId(
&kQuickDeleteAndroidSurvey,
"trigger_id",
/*default_value=*/"");
constexpr base::FeatureParam<bool> kTouchToSearchCalloutTextVariant(
&kTouchToSearchCallout,
"text_variant",
/*default_value=*/false);
} // namespace android
} // namespace chrome
#endif // CHROME_BROWSER_FLAGS_ANDROID_CHROME_FEATURE_LIST_H_
|