Skip to content

Commit

Permalink
Rename PaymentsClient to PaymentsNetworkInterface
Browse files Browse the repository at this point in the history
This renaming is the first CL in a series of CLs that are meant to
refactor the payments related code in AutofillClient into a new
PaymentsClient class. Since these names would conflict, the team decided
that PaymentsNetworkInterface is a better name for this class as it
better describes what this class actually does.

More context on the refactor can be found in go/autofillclient-payments-refactor-design.

Bug: 1494289
Change-Id: Ib4106a88a7b812f91c83b15abcb448ca89a27682
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4956573
Reviewed-by: Hiroshi Ichikawa <ichikawa@chromium.org>
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Nicolas Ouellet-Payeur <nicolaso@chromium.org>
Reviewed-by: Christoph Schwering <schwering@google.com>
Commit-Queue: Vinny Persky <vinnypersky@google.com>
Cr-Commit-Position: refs/heads/main@{#1222672}
  • Loading branch information
Vinny Persky authored and Chromium LUCI CQ committed Nov 10, 2023
1 parent ef0a583 commit 570dfc3
Show file tree
Hide file tree
Showing 107 changed files with 1,297 additions and 1,166 deletions.
3 changes: 2 additions & 1 deletion android_webview/browser/aw_autofill_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,8 @@ autofill::FormDataImporter* AwAutofillClient::GetFormDataImporter() {
return nullptr;
}

autofill::payments::PaymentsClient* AwAutofillClient::GetPaymentsClient() {
autofill::payments::PaymentsNetworkInterface*
AwAutofillClient::GetPaymentsNetworkInterface() {
return nullptr;
}

Expand Down
3 changes: 2 additions & 1 deletion android_webview/browser/aw_autofill_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ class AwAutofillClient : public autofill::ContentAutofillClient {
syncer::SyncService* GetSyncService() override;
signin::IdentityManager* GetIdentityManager() override;
autofill::FormDataImporter* GetFormDataImporter() override;
autofill::payments::PaymentsClient* GetPaymentsClient() override;
autofill::payments::PaymentsNetworkInterface* GetPaymentsNetworkInterface()
override;
autofill::StrikeDatabase* GetStrikeDatabase() override;
ukm::UkmRecorder* GetUkmRecorder() override;
ukm::SourceId GetUkmSourceId() override;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include "chrome/browser/ui/autofill/risk_util.h"
#include "components/autofill/content/browser/content_autofill_driver.h"
#include "components/autofill/core/browser/browser_autofill_manager.h"
#include "components/autofill/core/browser/payments/payments_client.h"
#include "components/autofill/core/browser/payments/payments_network_interface.h"
#include "components/autofill/core/browser/payments/virtual_card_enrollment_flow.h"
#include "components/autofill/core/browser/payments/virtual_card_enrollment_manager.h"
#include "components/autofill/core/browser/personal_data_manager.h"
Expand All @@ -42,12 +42,14 @@ void RunVirtualCardEnrollmentFieldsLoadedCallback(
AutofillPaymentMethodsDelegate::AutofillPaymentMethodsDelegate(Profile* profile)
: profile_(profile) {
personal_data_manager_ = PersonalDataManagerFactory::GetForProfile(profile);
payments_client_ = std::make_unique<payments::PaymentsClient>(
profile->GetURLLoaderFactory(),
IdentityManagerFactory::GetForProfile(profile), personal_data_manager_);
payments_network_interface_ =
std::make_unique<payments::PaymentsNetworkInterface>(
profile->GetURLLoaderFactory(),
IdentityManagerFactory::GetForProfile(profile),
personal_data_manager_);
virtual_card_enrollment_manager_ =
std::make_unique<VirtualCardEnrollmentManager>(personal_data_manager_,
payments_client_.get());
std::make_unique<VirtualCardEnrollmentManager>(
personal_data_manager_, payments_network_interface_.get());
}

AutofillPaymentMethodsDelegate::~AutofillPaymentMethodsDelegate() = default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class PersonalDataManager;
class VirtualCardEnrollmentManager;

namespace payments {
class PaymentsClient;
class PaymentsNetworkInterface;
}

// Delegate that listens to changes made in the settings related to payment
Expand Down Expand Up @@ -56,7 +56,8 @@ class AutofillPaymentMethodsDelegate {
private:
raw_ptr<Profile> profile_; // weak reference
raw_ptr<PersonalDataManager> personal_data_manager_; // weak reference
std::unique_ptr<payments::PaymentsClient> payments_client_;
std::unique_ptr<payments::PaymentsNetworkInterface>
payments_network_interface_;
std::unique_ptr<VirtualCardEnrollmentManager>
virtual_card_enrollment_manager_;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ class FastCheckoutClientImplTest : public ChromeRenderViewHostTestHarness {
test_client_->InjectFastCheckoutController(
std::move(fast_checkout_controller));

autofill_client()->set_test_payments_client(
std::make_unique<autofill::payments::TestPaymentsClient>(
autofill_client()->set_test_payments_network_interface(
std::make_unique<autofill::payments::TestPaymentsNetworkInterface>(
autofill_client()->GetURLLoaderFactory(),
autofill_client()->GetIdentityManager(),
autofill_client()->GetPersonalDataManager()));
Expand Down
24 changes: 13 additions & 11 deletions chrome/browser/ui/autofill/chrome_autofill_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
#include "components/autofill/core/browser/payments/credit_card_risk_based_authenticator.h"
#include "components/autofill/core/browser/payments/mandatory_reauth_manager.h"
#include "components/autofill/core/browser/payments/offer_notification_options.h"
#include "components/autofill/core/browser/payments/payments_client.h"
#include "components/autofill/core/browser/payments/payments_network_interface.h"
#include "components/autofill/core/browser/ui/payments/bubble_show_options.h"
#include "components/autofill/core/browser/ui/payments/card_unmask_prompt_controller_impl.h"
#include "components/autofill/core/browser/ui/payments/card_unmask_prompt_view.h"
Expand Down Expand Up @@ -346,22 +346,24 @@ signin::IdentityManager* ChromeAutofillClient::GetIdentityManager() {
FormDataImporter* ChromeAutofillClient::GetFormDataImporter() {
if (!form_data_importer_) {
form_data_importer_ = std::make_unique<FormDataImporter>(
this, GetPaymentsClient(), GetPersonalDataManager(),
this, GetPaymentsNetworkInterface(), GetPersonalDataManager(),
GetPersonalDataManager()->app_locale());
}
return form_data_importer_.get();
}

payments::PaymentsClient* ChromeAutofillClient::GetPaymentsClient() {
if (!payments_client_) {
payments_client_ = std::make_unique<payments::PaymentsClient>(
Profile::FromBrowserContext(web_contents()->GetBrowserContext())
->GetURLLoaderFactory(),
GetIdentityManager(), GetPersonalDataManager(),
Profile::FromBrowserContext(web_contents()->GetBrowserContext())
->IsOffTheRecord());
payments::PaymentsNetworkInterface*
ChromeAutofillClient::GetPaymentsNetworkInterface() {
if (!payments_network_interface_) {
payments_network_interface_ =
std::make_unique<payments::PaymentsNetworkInterface>(
Profile::FromBrowserContext(web_contents()->GetBrowserContext())
->GetURLLoaderFactory(),
GetIdentityManager(), GetPersonalDataManager(),
Profile::FromBrowserContext(web_contents()->GetBrowserContext())
->IsOffTheRecord());
}
return payments_client_.get();
return payments_network_interface_.get();
}

StrikeDatabase* ChromeAutofillClient::GetStrikeDatabase() {
Expand Down
5 changes: 3 additions & 2 deletions chrome/browser/ui/autofill/chrome_autofill_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ class ChromeAutofillClient : public ContentAutofillClient,
syncer::SyncService* GetSyncService() override;
signin::IdentityManager* GetIdentityManager() override;
FormDataImporter* GetFormDataImporter() override;
payments::PaymentsClient* GetPaymentsClient() override;
payments::PaymentsNetworkInterface* GetPaymentsNetworkInterface() override;
StrikeDatabase* GetStrikeDatabase() override;
ukm::UkmRecorder* GetUkmRecorder() override;
ukm::SourceId GetUkmSourceId() override;
Expand Down Expand Up @@ -340,7 +340,8 @@ class ChromeAutofillClient : public ContentAutofillClient,
// These members are initialized lazily in their respective getters.
// Therefore, do not access the members directly.
std::unique_ptr<AutofillDownloadManager> download_manager_;
std::unique_ptr<payments::PaymentsClient> payments_client_;
std::unique_ptr<payments::PaymentsNetworkInterface>
payments_network_interface_;
std::unique_ptr<CreditCardCvcAuthenticator> cvc_authenticator_;
std::unique_ptr<CreditCardOtpAuthenticator> otp_authenticator_;
std::unique_ptr<CreditCardRiskBasedAuthenticator> risk_based_authenticator_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,14 +199,14 @@ class LocalCardMigrationBrowserTest
ASSERT_TRUE(SetupClients());
chrome::NewTab(GetBrowser(0));

// Set up the URL loader factory for the payments client so we can intercept
// those network requests too.
// Set up the URL loader factory for the PaymentsNetworkInterface so we can
// intercept those network requests too.
test_shared_loader_factory_ =
base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
&test_url_loader_factory_);
ContentAutofillClient* client =
ContentAutofillClient::FromWebContents(GetActiveWebContents());
client->GetPaymentsClient()->set_url_loader_factory_for_testing(
client->GetPaymentsNetworkInterface()->set_url_loader_factory_for_testing(
test_shared_loader_factory_);

// Set up this class as the ObserverForTest implementation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
#include "components/autofill/core/browser/metrics/payments/credit_card_save_metrics.h"
#include "components/autofill/core/browser/metrics/payments/manage_cards_prompt_metrics.h"
#include "components/autofill/core/browser/payments/credit_card_save_manager.h"
#include "components/autofill/core/browser/payments/payments_client.h"
#include "components/autofill/core/browser/payments/payments_network_interface.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/strike_databases/payments/credit_card_save_strike_database.h"
#include "components/autofill/core/browser/test_autofill_clock.h"
Expand Down Expand Up @@ -203,14 +203,14 @@ class SaveCardBubbleViewsFullFormBrowserTest
// that this method starts observing will also be the one to notify later.
AddBlankTabAndShow(GetBrowser(0));

// Set up the URL loader factory for the payments client so we can intercept
// those network requests too.
// Set up the URL loader factory for the PaymentsNetworkInterface so we can
// intercept those network requests too.
test_shared_loader_factory_ =
base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
&test_url_loader_factory_);
autofill_manager()
->client()
.GetPaymentsClient()
.GetPaymentsNetworkInterface()
->set_url_loader_factory_for_testing(test_shared_loader_factory_);

// Wait for Personal Data Manager to be fully loaded to prevent that
Expand Down
14 changes: 7 additions & 7 deletions components/autofill/core/browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -388,9 +388,9 @@ static_library("browser") {
"payments/offer_notification_options.h",
"payments/otp_unmask_delegate.h",
"payments/otp_unmask_result.h",
"payments/payments_client.cc",
"payments/payments_client.h",
"payments/payments_customer_data.h",
"payments/payments_network_interface.cc",
"payments/payments_network_interface.h",
"payments/payments_requests/get_details_for_enrollment_request.cc",
"payments/payments_requests/get_details_for_enrollment_request.h",
"payments/payments_requests/get_iban_upload_details_request.cc",
Expand Down Expand Up @@ -813,8 +813,8 @@ static_library("test_support") {
"mock_merchant_promo_code_manager.h",
"mock_single_field_form_fill_router.cc",
"mock_single_field_form_fill_router.h",
"payments/mock_test_payments_client.cc",
"payments/mock_test_payments_client.h",
"payments/mock_test_payments_network_interface.cc",
"payments/mock_test_payments_network_interface.h",
"payments/test/mock_mandatory_reauth_manager.cc",
"payments/test/mock_mandatory_reauth_manager.h",
"payments/test/test_credit_card_otp_authenticator.cc",
Expand All @@ -826,8 +826,8 @@ static_library("test_support") {
"payments/test_credit_card_save_manager.cc",
"payments/test_credit_card_save_manager.h",
"payments/test_legal_message_line.h",
"payments/test_payments_client.cc",
"payments/test_payments_client.h",
"payments/test_payments_network_interface.cc",
"payments/test_payments_network_interface.h",
"payments/test_virtual_card_enrollment_manager.cc",
"payments/test_virtual_card_enrollment_manager.h",
"personal_data_manager_test_utils.cc",
Expand Down Expand Up @@ -1098,7 +1098,7 @@ source_set("unit_tests") {
"payments/full_card_request_unittest.cc",
"payments/iban_save_manager_unittest.cc",
"payments/legal_message_line_unittest.cc",
"payments/payments_client_unittest.cc",
"payments/payments_network_interface_unittest.cc",
"payments/payments_requests/get_details_for_enrollment_request_unittest.cc",
"payments/payments_requests/get_iban_upload_details_request_unittest.cc",
"payments/payments_requests/unmask_card_request_unittest.cc",
Expand Down
6 changes: 3 additions & 3 deletions components/autofill/core/browser/autofill_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ enum class WebauthnDialogCallbackType;
enum class WebauthnDialogState;

namespace payments {
class PaymentsClient;
class MandatoryReauthManager;
class PaymentsNetworkInterface;
}

// A client interface that needs to be supplied to the Autofill component by the
Expand Down Expand Up @@ -478,8 +478,8 @@ class AutofillClient : public RiskDataLoader {
// Gets the FormDataImporter instance owned by the client.
virtual FormDataImporter* GetFormDataImporter() = 0;

// Gets the payments::PaymentsClient instance owned by the client.
virtual payments::PaymentsClient* GetPaymentsClient() = 0;
// Gets the payments::PaymentsNetworkInterface instance owned by the client.
virtual payments::PaymentsNetworkInterface* GetPaymentsNetworkInterface() = 0;

// Gets the StrikeDatabase associated with the client. Note: Nullptr may be
// returned so check before use.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ void AutofillMergeTest::SetUp() {
personal_data_.set_auto_accept_address_imports_for_testing(true);
form_data_importer_ = std::make_unique<FormDataImporter>(
&autofill_client_,
/*payments::PaymentsClient=*/nullptr, &personal_data_, "en");
/*payments_network_interface=*/nullptr, &personal_data_, "en");
}

void AutofillMergeTest::TearDown() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@
#include "components/autofill/core/browser/metrics/quality_metrics.h"
#include "components/autofill/core/browser/payments/autofill_offer_manager.h"
#include "components/autofill/core/browser/payments/credit_card_access_manager.h"
#include "components/autofill/core/browser/payments/payments_client.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/profile_token_quality.h"
#include "components/autofill/core/browser/randomized_encoder.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
#include "components/autofill/core/browser/mock_merchant_promo_code_manager.h"
#include "components/autofill/core/browser/mock_single_field_form_fill_router.h"
#include "components/autofill/core/browser/payments/test_credit_card_save_manager.h"
#include "components/autofill/core/browser/payments/test_payments_client.h"
#include "components/autofill/core/browser/payments/test_payments_network_interface.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/profile_token_quality.h"
#include "components/autofill/core/browser/strike_databases/payments/test_credit_card_save_strike_database.h"
Expand Down Expand Up @@ -609,19 +609,19 @@ class BrowserAutofillManagerTest : public testing::Test {
/*is_off_the_record=*/false);

autofill_driver_ = std::make_unique<NiceMock<MockAutofillDriver>>();
autofill_client_.set_test_payments_client(
std::make_unique<payments::TestPaymentsClient>(
autofill_client_.set_test_payments_network_interface(
std::make_unique<payments::TestPaymentsNetworkInterface>(
autofill_client_.GetURLLoaderFactory(),
autofill_client_.GetIdentityManager(), &personal_data()));
auto credit_card_save_manager = std::make_unique<TestCreditCardSaveManager>(
autofill_driver_.get(), &autofill_client_,
static_cast<payments::TestPaymentsClient*>(
autofill_client_.GetPaymentsClient()),
static_cast<payments::TestPaymentsNetworkInterface*>(
autofill_client_.GetPaymentsNetworkInterface()),
&personal_data());
credit_card_save_manager->SetCreditCardUploadEnabled(true);
autofill_client_.set_test_form_data_importer(
std::make_unique<autofill::TestFormDataImporter>(
&autofill_client_, autofill_client_.GetPaymentsClient(),
&autofill_client_, autofill_client_.GetPaymentsNetworkInterface(),
std::move(credit_card_save_manager),
/*iban_save_manager=*/nullptr, &personal_data(), "en-US"));

Expand Down Expand Up @@ -922,8 +922,8 @@ class BrowserAutofillManagerTest : public testing::Test {
}

void PrepareForRealPanResponse(FormData* form, CreditCard* card) {
// This line silences the warning from PaymentsClient about matching sync
// and Payments server types.
// This line silences the warning from PaymentsNetworkInterface about
// matching sync and Payments server types.
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
"sync-url", "https://google.com");

Expand Down Expand Up @@ -955,7 +955,7 @@ class BrowserAutofillManagerTest : public testing::Test {
full_card_request->OnUnmaskPromptAccepted(details);

// Mock payments response.
payments::PaymentsClient::UnmaskResponseDetails response;
payments::PaymentsNetworkInterface::UnmaskResponseDetails response;
response.card_type = is_virtual_card
? AutofillClient::PaymentsRpcCardType::kVirtualCard
: AutofillClient::PaymentsRpcCardType::kServerCard;
Expand Down
29 changes: 16 additions & 13 deletions components/autofill/core/browser/form_data_importer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include "components/autofill/core/browser/metrics/profile_import_metrics.h"
#include "components/autofill/core/browser/payments/credit_card_save_manager.h"
#include "components/autofill/core/browser/payments/mandatory_reauth_manager.h"
#include "components/autofill/core/browser/payments/payments_network_interface.h"
#include "components/autofill/core/browser/payments/virtual_card_enrollment_manager.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/profile_requirement_utils.h"
Expand Down Expand Up @@ -142,14 +143,15 @@ FormDataImporter::ExtractedFormData::operator=(

FormDataImporter::ExtractedFormData::~ExtractedFormData() = default;

FormDataImporter::FormDataImporter(AutofillClient* client,
payments::PaymentsClient* payments_client,
PersonalDataManager* personal_data_manager,
const std::string& app_locale)
FormDataImporter::FormDataImporter(
AutofillClient* client,
payments::PaymentsNetworkInterface* payments_network_interface,
PersonalDataManager* personal_data_manager,
const std::string& app_locale)
: client_(client),
credit_card_save_manager_(
std::make_unique<CreditCardSaveManager>(client,
payments_client,
payments_network_interface,
app_locale,
personal_data_manager)),
address_profile_save_manager_(
Expand All @@ -158,18 +160,19 @@ FormDataImporter::FormDataImporter(AutofillClient* client,
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
iban_save_manager_(
std::make_unique<IbanSaveManager>(personal_data_manager, client)),
local_card_migration_manager_(
std::make_unique<LocalCardMigrationManager>(client,
payments_client,
app_locale,
personal_data_manager)),
local_card_migration_manager_(std::make_unique<LocalCardMigrationManager>(
client,
payments_network_interface,
app_locale,
personal_data_manager)),
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
personal_data_manager_(personal_data_manager),
app_locale_(app_locale),
virtual_card_enrollment_manager_(
std::make_unique<VirtualCardEnrollmentManager>(personal_data_manager,
payments_client,
client)),
std::make_unique<VirtualCardEnrollmentManager>(
personal_data_manager,
payments_network_interface,
client)),
multistep_importer_(app_locale,
client_->GetVariationConfigCountryCode()) {
if (personal_data_manager_)
Expand Down
Loading

0 comments on commit 570dfc3

Please sign in to comment.