// Copyright 2023 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/plus_addresses/features.h" #include "base/feature_list.h" #include "base/time/time.h" namespace plus_addresses::features { namespace { constexpr char kEnterprisePlusAddressOAuthScopeName[] = …; constexpr char kEnterprisePlusAddressServerUrlName[] = …; constexpr char kPlusAddressManagementUrlName[] = …; constexpr char kPlusAddressLearnMoreUrlName[] = …; constexpr char kPlusAddressExcludedSitesName[] = …; constexpr char kPlusAddressErrorReportUrlName[] = …; constexpr char kDisableForForbiddenUsersName[] = …; } // namespace #if BUILDFLAG(IS_ANDROID) // When enabled, mobile manual fallbacks for addresses and passwords show plus // address filling information. BASE_FEATURE(kPlusAddressAndroidManualFallbackEnabled, "PlusAddressAndroidManualFallbackEnabled", base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) // When enabled, autofill stops overriding single field form fill suggestions // with plus address suggestions. Instead, it shows them together in the same // context menu. BASE_FEATURE(…); // When enabled, Chrome will fetch the blocklist data using the Component // Updater and employ that for blocking Plus Addresses. Otherwise, the blocklist // information is sourced from a Finch parameter. BASE_FEATURE(…); // Controls the enabled/disabled state of the experimental feature. BASE_FEATURE(…); const base::FeatureParam<std::string> kEnterprisePlusAddressOAuthScope{ … }; const base::FeatureParam<std::string> kEnterprisePlusAddressServerUrl{ … }; const base::FeatureParam<std::string> kPlusAddressManagementUrl{ … }; const base::FeatureParam<std::string> kPlusAddressLearnMoreUrl{ … }; const base::FeatureParam<std::string> kPlusAddressExcludedSites{ … }; const base::FeatureParam<std::string> kPlusAddressErrorReportUrl{ … }; const base::FeatureParam<bool> kDisableForForbiddenUsers{ … }; // When enabled, plus addresses are supported within the context menu. BASE_FEATURE(…); // When enabled, the `PlusAddressSettingService` will be consulted on whether // to offer plus address creation. BASE_FEATURE(…); #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // When enabled, users that have accepted the legal notice will see a // streamlined flow for creating plus addresses that never leaves the Autofill // popup. BASE_FEATURE(…); #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_IOS) // When enabled, mobile manual fallbacks for addresses and passwords show plus // address filling information. BASE_FEATURE(kPlusAddressIOSManualFallbackEnabled, "PlusAddressIOSManualFallbackEnabled", base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_IOS) // When enabled, plus address creation is offered on all email fields that are // not a username field - even if they are on a login form or a change password // form. // Intended as a killswitch to protect against unexpected behavior. // TODO: crbug.com/355398505 - clean up. BASE_FEATURE(…); // When enabled, we offer plus address creation on single username forms. BASE_FEATURE(…); // When enabled, plus addresses are preallocated to avoid having to query the // server for every reserve call. BASE_FEATURE(…); // The minimum number of locally stored pre-allocated plus addresses. If the // number slips below this threshold, more are requested. extern const base::FeatureParam<int> kPlusAddressPreallocationMinimumSize( &kPlusAddressPreallocation, "minimum-size", 10); // When enabled, `GoogleGroupsManager::IsFeatureEnabledForProfile` is used to // check whether `kPlusAddressesEnabled` is enabled. Used as a killswitch. // TODO: crbug.com/348575889 - Clean up. BASE_FEATURE(…); #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // When enabled, plus address settings on Desktop are nested under address // autofill and the label for the autofill settings entry gains a subtitle. BASE_FEATURE(…); #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // When enabled, the plus address creation dialogs or bottom sheets include // extended feature description and usage notice. BASE_FEATURE(…); } // namespace plus_addresses::features