// Copyright 2019 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/autofill/core/common/autofill_payments_features.h" #include "build/chromeos_buildflags.h" namespace autofill::features { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) // When enabled, Chrome will extract the checkout amount from the checkout page // of the allowlisted merchant websites. BASE_FEATURE(…); #endif // When enabled, Android N+ devices will be supported for FIDO authentication. BASE_FEATURE(…); // When enabled, card art images (instead of network icons) will be shown in // Payments Autofill UI. BASE_FEATURE(…); // When enabled, server will return card art images of the exact required // dimension. BASE_FEATURE(…); // When enabled, card benefits offered by American Express will be shown in // Payments Autofill UI. BASE_FEATURE(…); // When enabled, card benefits offered by Capital One will be shown in Payments // Autofill UI. BASE_FEATURE(…); // When enabled, Chrome will show metadata along with other card information // when the virtual card is presented to users. BASE_FEATURE(…); #endif // When enabled, card product name (instead of issuer network) will be shown in // Payments Autofill UI. BASE_FEATURE(…); // When enabled, we will store CVC for both local and server credit cards. This // will also allow the users to autofill their CVCs on checkout pages. BASE_FEATURE(…); // When enabled, will enhance CVV storage project. Provide better suggestion, // resolve conflict with COF project and add logging. BASE_FEATURE(…); // When enabled, user's will see network card art images and network icons which // are larger, having a white border, and don't have the standard grey overlay // applied to them. BASE_FEATURE(…); // When enabled, server card retrieval will begin with a risk-based check // instead of jumping straight to CVC or biometric auth. BASE_FEATURE(…); #if BUILDFLAG(IS_ANDROID) // When enabled, saving and autofilling local IBANs (International Bank Account // Numbers) will be offered. BASE_FEATURE(kAutofillEnableLocalIban, "AutofillEnableLocalIban", base::FEATURE_DISABLED_BY_DEFAULT); #endif // When enabled, the merchant_domain field is included in requests to unmask a // card. BASE_FEATURE(…); // When enabled, the GPay logo will be moved to the right side in payments // autofill dialogs and bubbles on desktop. BASE_FEATURE(…); // When enabled, the GPay logo will be moved to the right side in payments // autofill dialogs and bubbles on clank. BASE_FEATURE(…); // When enabled, offers will be displayed in the Clank keyboard accessory during // downstream. BASE_FEATURE(…); // When enabled, risk data is prefetched during payments autofill flows to // reduce user-perceived latency. BASE_FEATURE(…); // When enabled, the save card screen will present a loading spinner when // uploading the card to the server and present a confirmation screen with the // result when completed. BASE_FEATURE(…); #endif // When enabled, save card will fallback to a local save if the server upload of // a card encounters a failure. BASE_FEATURE(…); #endif // When enabled, Autofill will attempt to offer upload save for IBANs // (International Bank Account Numbers) and autofill server-based IBANs. BASE_FEATURE(…); #if BUILDFLAG(IS_ANDROID) // When enabled, Pix bank accounts are synced from Chrome Sync backend and // stored in the local db. BASE_FEATURE(kAutofillEnableSyncingOfPixBankAccounts, "AutofillEnableSyncingOfPixBankAccounts", base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) // When enabled, Chrome will trigger 3DS authentication during a virtual card // retrieval if a challenge is required, 3DS authentication is available for // the card, and FIDO is not. BASE_FEATURE(…); // When enabled, the vcn enroll screen will present a loading spinner while // enrolling the card to the server and present a confirmation screen with the // result when completed. BASE_FEATURE(…); #endif // When enabled, Chrome will display grayed out virtual card suggestions on // merchant websites where the merchant has opted-out of virtual cards. BASE_FEATURE(…); // When enabled, uses the refactored VirtualCardEnrollMetricsLogger in // VirtualCardEnrollBubbleController on all platforms. BASE_FEATURE(…); // When enabled, Verve-branded card art will be shown for Verve cards. BASE_FEATURE(…); // When enabled, Chrome will show metadata along with other card information // when the virtual card is presented to users. BASE_FEATURE(…); #endif // When enabled, Autofill will attempt to find standalone CVC fields for VCN // card on file when parsing forms. BASE_FEATURE(…); // When enabled, the "Show cards from your Google Account" Autofill suggestion // will not be displayed, and Autofill will work as if it had been selected. BASE_FEATURE(…); // When enabled, the add/edit local card dialog in chrome://settings on Desktop // requires that the card number be valid before saving is allowed. BASE_FEATURE(…); #if BUILDFLAG(IS_IOS) // When enabled, manual fill view will be shown directly from form focusing // events, if a virtual card has been retrieved previously. BASE_FEATURE(kAutofillShowManualFillForVirtualCards, "AutofillShowManualFillForVirtualCards", base::FEATURE_ENABLED_BY_DEFAULT); #endif #if BUILDFLAG(IS_ANDROID) // When enabled, IBAN Autofill suggestions are shown via the keyboard accessory // instead of the bottom sheet. BASE_FEATURE(kAutofillSkipAndroidBottomSheetForIban, "AutofillSkipAndroidBottomSheetForIban", base::FEATURE_DISABLED_BY_DEFAULT); #endif // When enabled, adds a timeout on the network request for Unmask requests. BASE_FEATURE(…); // When enabled, adds a timeout on the network request for UploadCard requests. BASE_FEATURE(…); const base::FeatureParam<int> kAutofillUploadCardRequestTimeoutMilliseconds{ … }; // Controls offering credit card upload to Google Payments. Cannot ever be // ENABLED_BY_DEFAULT because the feature state depends on the user's country. // The set of launched countries is listed in autofill_experiments.cc, and this // flag remains as a way to easily enable upload credit card save for testers, // as well as enable non-fully-launched countries on a trial basis. BASE_FEATURE(…); // When enabled, shows different text and images in the UI of the credit card // upload save bubble. BASE_FEATURE(…); const base::FeatureParam<int> kAutofillUpstreamUpdatedUiTreatment{ … }; #if BUILDFLAG(IS_IOS) // When this is enabled, virtual card enrollment and retrieval will be enabled // on Bling. BASE_FEATURE(kAutofillEnableVirtualCards, "AutofillEnableVirtualCards", base::FEATURE_ENABLED_BY_DEFAULT); #endif // When enabled, adds a timeout on the network request for VcnEnroll requests. BASE_FEATURE(…); const base::FeatureParam<int> kAutofillVcnEnrollRequestTimeoutMilliseconds{ … }; #if BUILDFLAG(IS_ANDROID) // When enabled, eWallet accounts are synced from the Google Payments servers // and displayed on the payment methods settings page. BASE_FEATURE(kAutofillSyncEwalletAccounts, "AutofillSyncEwalletAccounts", base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) bool ShouldShowImprovedUserConsentForCreditCardSave() { … } } // namespace autofill::features