Avoid PDM dependency in components/facilitated_payments
FacilitatedPaymentsClients currently has a GetPersonalDataManager()
function. Since the component only cares about payments, this should
be GetPaymentsDataManager() instead. This CL makes this change.
This requires two changes:
- Exposing the app locale through the payments data manager. It already
knows about it, so this simply requires adding a getter.
- Changing the PDM parameter of GetBillingCustomerId() to payments data
manager. This is trivial too, since the function only calls the PDM's
payments_data_manager() getter - but requires updating several
existing usages in Autofill code.
As a drive-by, this CL also updates the parameter of
HasGooglePaymentsAccount(), since it only has a single caller.
Bug: b/322170538
Change-Id: I95bf37344183cc7d7196d165d8edf7805da375ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5538271
Reviewed-by: Vishwas Uppoor <vishwasuppoor@google.com>
Commit-Queue: Florian Leimgruber <fleimgruber@google.com>
Cr-Commit-Position: refs/heads/main@{#1301281}
diff --git a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc
index b91cbd7..5444dd1 100644
--- a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc
+++ b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/browser/ui/autofill/risk_util.h"
+#include "components/autofill/core/browser/payments_data_manager.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/facilitated_payments/core/browser/network_api/facilitated_payments_network_interface.h"
#include "components/signin/public/identity_manager/identity_manager.h"
@@ -31,14 +32,16 @@
std::move(on_risk_data_loaded_callback));
}
-autofill::PersonalDataManager*
-ChromeFacilitatedPaymentsClient::GetPersonalDataManager() {
+autofill::PaymentsDataManager*
+ChromeFacilitatedPaymentsClient::GetPaymentsDataManager() {
Profile* profile =
Profile::FromBrowserContext(GetWebContents().GetBrowserContext());
- if (profile) {
- return autofill::PersonalDataManagerFactory::GetForProfile(profile);
+ if (!profile) {
+ return nullptr;
}
- return nullptr;
+ autofill::PersonalDataManager* pdm =
+ autofill::PersonalDataManagerFactory::GetForProfile(profile);
+ return pdm ? &pdm->payments_data_manager() : nullptr;
}
payments::facilitated::FacilitatedPaymentsNetworkInterface*
@@ -53,8 +56,7 @@
payments::facilitated::FacilitatedPaymentsNetworkInterface>(
profile->GetURLLoaderFactory(),
IdentityManagerFactory::GetForProfile(profile->GetOriginalProfile()),
- &GetPersonalDataManager()->payments_data_manager(),
- profile->IsOffTheRecord());
+ GetPaymentsDataManager(), profile->IsOffTheRecord());
}
return facilitated_payments_network_interface_.get();
}
diff --git a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h
index 183580a..b6eab81 100644
--- a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h
+++ b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h
@@ -43,13 +43,13 @@
friend class content::WebContentsUserData<ChromeFacilitatedPaymentsClient>;
FRIEND_TEST_ALL_PREFIXES(ChromeFacilitatedPaymentsClientTest,
- GetPersonalDataManager);
+ GetPaymentsDataManager);
FRIEND_TEST_ALL_PREFIXES(ChromeFacilitatedPaymentsClientTest,
GetFacilitatedPaymentsNetworkInterface);
// FacilitatedPaymentsClient:
// This returns nullptr if the `Profile` associated is null.
- autofill::PersonalDataManager* GetPersonalDataManager() override;
+ autofill::PaymentsDataManager* GetPaymentsDataManager() override;
// This returns nullptr if the `Profile` associated is null.
payments::facilitated::FacilitatedPaymentsNetworkInterface*
GetFacilitatedPaymentsNetworkInterface() override;
diff --git a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc
index 88f9e70..6f9d57b 100644
--- a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc
+++ b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc
@@ -43,12 +43,12 @@
using ChromeFacilitatedPaymentsClientTest = ChromeRenderViewHostTestHarness;
-TEST_F(ChromeFacilitatedPaymentsClientTest, GetPersonalDataManager) {
+TEST_F(ChromeFacilitatedPaymentsClientTest, GetPaymentsDataManager) {
MockOptimizationGuideDecider optimization_guide_decider;
auto client = std::make_unique<ChromeFacilitatedPaymentsClient>(
web_contents(), &optimization_guide_decider);
- EXPECT_NE(nullptr, client->GetPersonalDataManager());
+ EXPECT_NE(nullptr, client->GetPaymentsDataManager());
}
TEST_F(ChromeFacilitatedPaymentsClientTest,
diff --git a/components/autofill/core/browser/autofill_experiments.cc b/components/autofill/core/browser/autofill_experiments.cc
index 8aa39f4c..3712a23 100644
--- a/components/autofill/core/browser/autofill_experiments.cc
+++ b/components/autofill/core/browser/autofill_experiments.cc
@@ -23,6 +23,7 @@
#include "components/autofill/core/browser/metrics/autofill_metrics.h"
#include "components/autofill/core/browser/metrics/payments/credit_card_save_metrics.h"
#include "components/autofill/core/browser/payments/payments_util.h"
+#include "components/autofill/core/browser/payments_data_manager.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/ui/suggestion.h"
#include "components/autofill/core/common/autofill_features.h"
@@ -208,27 +209,26 @@
syncer::SyncService* sync_service,
bool is_test_mode,
LogManager* log_manager) {
+ PaymentsDataManager& payments_data_manager =
+ personal_data_manager->payments_data_manager();
// If |is_test_mode| is set, assume we are in a browsertest and
// credit card upload should be enabled by default to fix flaky
// local card migration browsertests.
if (!is_test_mode &&
- !IsCreditCardUploadEnabled(sync_service,
- personal_data_manager->payments_data_manager()
- .GetAccountInfoForPaymentsServer()
- .email,
- personal_data_manager->payments_data_manager()
- .GetCountryCodeForExperimentGroup(),
- personal_data_manager->payments_data_manager()
- .GetPaymentsSigninStateForMetrics(),
- log_manager)) {
+ !IsCreditCardUploadEnabled(
+ sync_service,
+ payments_data_manager.GetAccountInfoForPaymentsServer().email,
+ payments_data_manager.GetCountryCodeForExperimentGroup(),
+ payments_data_manager.GetPaymentsSigninStateForMetrics(),
+ log_manager)) {
return false;
}
- if (!payments::HasGooglePaymentsAccount(personal_data_manager))
+ if (!payments::HasGooglePaymentsAccount(&payments_data_manager)) {
return false;
+ }
- return personal_data_manager->payments_data_manager()
- .IsPaymentsDownloadActive();
+ return payments_data_manager.IsPaymentsDownloadActive();
}
bool IsInAutofillSuggestionsDisabledExperiment() {
diff --git a/components/autofill/core/browser/payments/credit_card_access_manager.cc b/components/autofill/core/browser/payments/credit_card_access_manager.cc
index 4d219f9..ee5fb99 100644
--- a/components/autofill/core/browser/payments/credit_card_access_manager.cc
+++ b/components/autofill/core/browser/payments/credit_card_access_manager.cc
@@ -634,7 +634,8 @@
card_.get(), *selected_challenge_option_,
weak_ptr_factory_.GetWeakPtr(),
virtual_card_unmask_response_details_.context_token,
- payments::GetBillingCustomerId(personal_data_manager_));
+ payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager()));
break;
}
case UnmaskAuthFlowType::kThreeDomainSecure:
diff --git a/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc b/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc
index d6aff830..ad7d204b 100644
--- a/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc
+++ b/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc
@@ -78,7 +78,7 @@
unmask_request_details_->billing_customer_number =
payments::GetBillingCustomerId(
- autofill_client_->GetPersonalDataManager());
+ &autofill_client_->GetPersonalDataManager()->payments_data_manager());
autofill_client_->GetPaymentsAutofillClient()
->GetPaymentsNetworkInterface()
diff --git a/components/autofill/core/browser/payments/credit_card_save_manager.cc b/components/autofill/core/browser/payments/credit_card_save_manager.cc
index ab7f63e..40f4f38 100644
--- a/components/autofill/core/browser/payments/credit_card_save_manager.cc
+++ b/components/autofill/core/browser/payments/credit_card_save_manager.cc
@@ -380,7 +380,8 @@
base::BindOnce(&CreditCardSaveManager::OnDidGetUploadDetails,
weak_ptr_factory_.GetWeakPtr()),
payments::kUploadPaymentMethodBillableServiceNumber,
- payments::GetBillingCustomerId(personal_data_manager_),
+ payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager()),
payments::PaymentsNetworkInterface::UploadCardSource::
UPSTREAM_CHECKOUT_FLOW);
}
@@ -1047,7 +1048,8 @@
// Payments account. Include a bit for existence of this account (NOT the id
// itself), as it will help determine if a new Payments customer might need to
// be created when save is accepted.
- if (payments::GetBillingCustomerId(personal_data_manager_) != 0) {
+ if (payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager()) != 0) {
detected_values |= DetectedValue::HAS_GOOGLE_PAYMENTS_ACCOUNT;
}
@@ -1279,8 +1281,8 @@
observer_for_testing_->OnSentUploadCardRequest();
}
upload_request_.app_locale = app_locale_;
- upload_request_.billing_customer_number =
- payments::GetBillingCustomerId(personal_data_manager_);
+ upload_request_.billing_customer_number = payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager());
AutofillMetrics::LogUploadAcceptedCardOriginMetric(
uploading_local_card_
diff --git a/components/autofill/core/browser/payments/full_card_request.cc b/components/autofill/core/browser/payments/full_card_request.cc
index 15a5b95..f84e1cdb 100644
--- a/components/autofill/core/browser/payments/full_card_request.cc
+++ b/components/autofill/core/browser/payments/full_card_request.cc
@@ -164,7 +164,7 @@
if (should_unmask_card_) {
payments_network_interface_->Prepare();
request_->billing_customer_number =
- GetBillingCustomerId(personal_data_manager_);
+ GetBillingCustomerId(&personal_data_manager_->payments_data_manager());
}
request_->fido_assertion_info = std::move(fido_assertion_info);
diff --git a/components/autofill/core/browser/payments/iban_access_manager.cc b/components/autofill/core/browser/payments/iban_access_manager.cc
index 8076ea69..3e124971 100644
--- a/components/autofill/core/browser/payments/iban_access_manager.cc
+++ b/components/autofill/core/browser/payments/iban_access_manager.cc
@@ -96,8 +96,8 @@
payments::PaymentsNetworkInterface::UnmaskIbanRequestDetails request_details;
request_details.billable_service_number =
payments::kUnmaskPaymentMethodBillableServiceNumber;
- request_details.billing_customer_number =
- payments::GetBillingCustomerId(client_->GetPersonalDataManager());
+ request_details.billing_customer_number = payments::GetBillingCustomerId(
+ &client_->GetPersonalDataManager()->payments_data_manager());
request_details.instrument_id = instrument_id;
base::TimeTicks unmask_request_timestamp = base::TimeTicks::Now();
client_->GetPaymentsAutofillClient()
diff --git a/components/autofill/core/browser/payments/iban_save_manager.cc b/components/autofill/core/browser/payments/iban_save_manager.cc
index 33cb8f6e..5f74bd2 100644
--- a/components/autofill/core/browser/payments/iban_save_manager.cc
+++ b/components/autofill/core/browser/payments/iban_save_manager.cc
@@ -197,7 +197,8 @@
->GetPaymentsNetworkInterface()
->GetIbanUploadDetails(
personal_data_manager_->app_locale(),
- payments::GetBillingCustomerId(personal_data_manager_),
+ payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager()),
payments::kUploadPaymentMethodBillableServiceNumber,
import_candidate.GetCountryCode(),
base::BindOnce(&IbanSaveManager::OnDidGetUploadDetails,
@@ -343,8 +344,8 @@
details.app_locale = personal_data_manager_->app_locale();
details.billable_service_number =
payments::kUploadPaymentMethodBillableServiceNumber;
- details.billing_customer_number =
- payments::GetBillingCustomerId(personal_data_manager_);
+ details.billing_customer_number = payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager());
details.context_token = context_token_;
details.value = import_candidate.value();
details.nickname = import_candidate.nickname();
diff --git a/components/autofill/core/browser/payments/local_card_migration_manager.cc b/components/autofill/core/browser/payments/local_card_migration_manager.cc
index a5479e6..6316fe7 100644
--- a/components/autofill/core/browser/payments/local_card_migration_manager.cc
+++ b/components/autofill/core/browser/payments/local_card_migration_manager.cc
@@ -161,7 +161,8 @@
base::BindOnce(&LocalCardMigrationManager::OnDidGetUploadDetails,
weak_ptr_factory_.GetWeakPtr(), is_from_settings_page),
payments::kMigrateCardsBillableServiceNumber,
- payments::GetBillingCustomerId(personal_data_manager_),
+ payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager()),
is_from_settings_page
? payments::PaymentsNetworkInterface::UploadCardSource::
LOCAL_CARD_MIGRATION_SETTINGS_PAGE
@@ -371,8 +372,8 @@
observer_for_testing_->OnSentMigrateCardsRequest();
migration_request_.app_locale = app_locale_;
- migration_request_.billing_customer_number =
- payments::GetBillingCustomerId(personal_data_manager_);
+ migration_request_.billing_customer_number = payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager());
client_->GetPaymentsAutofillClient()
->GetPaymentsNetworkInterface()
->MigrateCards(
@@ -428,7 +429,8 @@
// Local card migration should ONLY be offered when the user already has a
// Google Payments account.
- DCHECK_NE(0, payments::GetBillingCustomerId(personal_data_manager_));
+ DCHECK_NE(0, payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager()));
detected_values |=
CreditCardSaveManager::DetectedValue::HAS_GOOGLE_PAYMENTS_ACCOUNT;
diff --git a/components/autofill/core/browser/payments/payments_util.cc b/components/autofill/core/browser/payments/payments_util.cc
index 24ebcc2..adccf31 100644
--- a/components/autofill/core/browser/payments/payments_util.cc
+++ b/components/autofill/core/browser/payments/payments_util.cc
@@ -9,7 +9,6 @@
#include "base/strings/string_number_conversions.h"
#include "components/autofill/core/browser/payments/payments_customer_data.h"
#include "components/autofill/core/browser/payments_data_manager.h"
-#include "components/autofill/core/browser/personal_data_manager.h"
namespace autofill {
namespace payments {
@@ -18,12 +17,12 @@
constexpr int kCustomerHasNoBillingCustomerNumber = 0;
}
-int64_t GetBillingCustomerId(PersonalDataManager* personal_data_manager) {
- DCHECK(personal_data_manager);
+int64_t GetBillingCustomerId(PaymentsDataManager* payments_data_manager) {
+ DCHECK(payments_data_manager);
// Get billing customer ID from the synced PaymentsCustomerData.
PaymentsCustomerData* customer_data =
- personal_data_manager->payments_data_manager().GetPaymentsCustomerData();
+ payments_data_manager->GetPaymentsCustomerData();
if (customer_data && !customer_data->customer_id.empty()) {
int64_t billing_customer_id = 0;
if (base::StringToInt64(std::string_view(customer_data->customer_id),
@@ -34,8 +33,8 @@
return kCustomerHasNoBillingCustomerNumber;
}
-bool HasGooglePaymentsAccount(PersonalDataManager* personal_data_manager) {
- return GetBillingCustomerId(personal_data_manager) !=
+bool HasGooglePaymentsAccount(PaymentsDataManager* payments_data_manager) {
+ return GetBillingCustomerId(payments_data_manager) !=
kCustomerHasNoBillingCustomerNumber;
}
diff --git a/components/autofill/core/browser/payments/payments_util.h b/components/autofill/core/browser/payments/payments_util.h
index 53aa6d0..bf3205e 100644
--- a/components/autofill/core/browser/payments/payments_util.h
+++ b/components/autofill/core/browser/payments/payments_util.h
@@ -12,17 +12,17 @@
namespace autofill {
-class PersonalDataManager;
+class PaymentsDataManager;
namespace payments {
// Returns the billing customer ID (a.k.a. the customer number) for the Google
// Payments account for this user. Obtains it from the synced data. Returns 0
// if the customer ID was not found.
-int64_t GetBillingCustomerId(PersonalDataManager* personal_data_manager);
+int64_t GetBillingCustomerId(PaymentsDataManager* payments_data_manager);
// Returns if the customer has an existing Google payments account.
-bool HasGooglePaymentsAccount(PersonalDataManager* personal_data_manager);
+bool HasGooglePaymentsAccount(PaymentsDataManager* payments_data_manager);
// Checks if |card_number| matches one of the ranges in
// |supported_card_bin_ranges|, inclusive of the start and end boundaries.
diff --git a/components/autofill/core/browser/payments/payments_util_unittest.cc b/components/autofill/core/browser/payments/payments_util_unittest.cc
index c76d56c..22c60977c 100644
--- a/components/autofill/core/browser/payments/payments_util_unittest.cc
+++ b/components/autofill/core/browser/payments/payments_util_unittest.cc
@@ -9,7 +9,7 @@
#include "base/strings/utf_string_conversions.h"
#include "components/autofill/core/browser/autofill_test_utils.h"
#include "components/autofill/core/browser/payments/payments_customer_data.h"
-#include "components/autofill/core/browser/test_personal_data_manager.h"
+#include "components/autofill/core/browser/test_payments_data_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace autofill {
@@ -25,39 +25,39 @@
~PaymentsUtilTest() override = default;
protected:
- TestPersonalDataManager personal_data_manager_;
+ TestPaymentsDataManager payments_data_manager_;
};
TEST_F(PaymentsUtilTest, GetBillingCustomerId_PaymentsCustomerData_Normal) {
- personal_data_manager_.test_payments_data_manager().SetPaymentsCustomerData(
+ payments_data_manager_.SetPaymentsCustomerData(
std::make_unique<PaymentsCustomerData>(/*customer_id=*/"123456"));
- EXPECT_EQ(123456, GetBillingCustomerId(&personal_data_manager_));
+ EXPECT_EQ(123456, GetBillingCustomerId(&payments_data_manager_));
}
TEST_F(PaymentsUtilTest, GetBillingCustomerId_PaymentsCustomerData_Garbage) {
- personal_data_manager_.test_payments_data_manager().SetPaymentsCustomerData(
+ payments_data_manager_.SetPaymentsCustomerData(
std::make_unique<PaymentsCustomerData>(/*customer_id=*/"garbage"));
- EXPECT_EQ(0, GetBillingCustomerId(&personal_data_manager_));
+ EXPECT_EQ(0, GetBillingCustomerId(&payments_data_manager_));
}
TEST_F(PaymentsUtilTest, GetBillingCustomerId_PaymentsCustomerData_NoData) {
// Explictly do not set PaymentsCustomerData. Nothing crashes and the returned
// customer ID is 0.
- EXPECT_EQ(0, GetBillingCustomerId(&personal_data_manager_));
+ EXPECT_EQ(0, GetBillingCustomerId(&payments_data_manager_));
}
TEST_F(PaymentsUtilTest, HasGooglePaymentsAccount_Normal) {
- personal_data_manager_.test_payments_data_manager().SetPaymentsCustomerData(
+ payments_data_manager_.SetPaymentsCustomerData(
std::make_unique<PaymentsCustomerData>(/*customer_id=*/"123456"));
- EXPECT_TRUE(HasGooglePaymentsAccount(&personal_data_manager_));
+ EXPECT_TRUE(HasGooglePaymentsAccount(&payments_data_manager_));
}
TEST_F(PaymentsUtilTest, HasGooglePaymentsAccount_NoData) {
// Explicitly do not set Prefs data. Nothing crashes and returns false.
- EXPECT_FALSE(HasGooglePaymentsAccount(&personal_data_manager_));
+ EXPECT_FALSE(HasGooglePaymentsAccount(&payments_data_manager_));
}
TEST_F(PaymentsUtilTest, IsCreditCardNumberSupported_EmptyBin) {
diff --git a/components/autofill/core/browser/payments/payments_window_manager_util.cc b/components/autofill/core/browser/payments/payments_window_manager_util.cc
index 313e3bd3..4e4f06c 100644
--- a/components/autofill/core/browser/payments/payments_window_manager_util.cc
+++ b/components/autofill/core/browser/payments/payments_window_manager_util.cc
@@ -11,6 +11,7 @@
#include "components/autofill/core/browser/payments/card_unmask_challenge_option.h"
#include "components/autofill/core/browser/payments/payments_util.h"
#include "components/autofill/core/browser/payments/payments_window_manager.h"
+#include "components/autofill/core/browser/personal_data_manager.h"
#include "url/gurl.h"
#include "url/origin.h"
@@ -64,8 +65,8 @@
PaymentsWindowManager::RedirectCompletionProof redirect_completion_proof) {
payments::PaymentsNetworkInterface::UnmaskRequestDetails request_details;
request_details.card = context.card;
- request_details.billing_customer_number =
- GetBillingCustomerId(client.GetPersonalDataManager());
+ request_details.billing_customer_number = GetBillingCustomerId(
+ &client.GetPersonalDataManager()->payments_data_manager());
request_details.context_token = context.context_token;
if (const url::Origin& origin =
diff --git a/components/autofill/core/browser/payments/test_local_card_migration_manager.cc b/components/autofill/core/browser/payments/test_local_card_migration_manager.cc
index 8a73be1..70c6157 100644
--- a/components/autofill/core/browser/payments/test_local_card_migration_manager.cc
+++ b/components/autofill/core/browser/payments/test_local_card_migration_manager.cc
@@ -22,7 +22,8 @@
TestLocalCardMigrationManager::~TestLocalCardMigrationManager() = default;
bool TestLocalCardMigrationManager::IsCreditCardMigrationEnabled() {
- return payments::GetBillingCustomerId(personal_data_manager_) != 0;
+ return payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager()) != 0;
}
bool TestLocalCardMigrationManager::LocalCardMigrationWasTriggered() {
diff --git a/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc b/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc
index 9233a75d..74910c7 100644
--- a/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc
+++ b/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc
@@ -123,8 +123,8 @@
state_.virtual_card_enrollment_fields.virtual_card_enrollment_source;
request_details.virtual_card_enrollment_request_type =
VirtualCardEnrollmentRequestType::kEnroll;
- request_details.billing_customer_number =
- payments::GetBillingCustomerId(personal_data_manager_);
+ request_details.billing_customer_number = payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager());
request_details.instrument_id =
state_.virtual_card_enrollment_fields.credit_card.instrument_id();
request_details.vcn_context_token = state_.vcn_context_token;
@@ -163,8 +163,8 @@
request_details.virtual_card_enrollment_request_type =
VirtualCardEnrollmentRequestType::kUnenroll;
- request_details.billing_customer_number =
- payments::GetBillingCustomerId(personal_data_manager_);
+ request_details.billing_customer_number = payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager());
request_details.instrument_id = instrument_id;
virtual_card_enrollment_update_response_callback_ =
@@ -390,8 +390,8 @@
request_details;
request_details.app_locale = personal_data_manager_->app_locale();
request_details.risk_data = state_.risk_data.value_or("");
- request_details.billing_customer_number =
- payments::GetBillingCustomerId(personal_data_manager_);
+ request_details.billing_customer_number = payments::GetBillingCustomerId(
+ &personal_data_manager_->payments_data_manager());
request_details.instrument_id =
state_.virtual_card_enrollment_fields.credit_card.instrument_id();
request_details.source =
diff --git a/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc b/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc
index 0a46a88..801dbf0 100644
--- a/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc
+++ b/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc
@@ -285,7 +285,8 @@
EXPECT_EQ(request_details.instrument_id,
state->virtual_card_enrollment_fields.credit_card.instrument_id());
EXPECT_EQ(request_details.billing_customer_number,
- payments::GetBillingCustomerId(&personal_data_manager()));
+ payments::GetBillingCustomerId(
+ &personal_data_manager().payments_data_manager()));
EXPECT_EQ(
request_details.source,
state->virtual_card_enrollment_fields.virtual_card_enrollment_source);
diff --git a/components/autofill/core/browser/payments_data_manager.h b/components/autofill/core/browser/payments_data_manager.h
index ec6272d..af7de294 100644
--- a/components/autofill/core/browser/payments_data_manager.h
+++ b/components/autofill/core/browser/payments_data_manager.h
@@ -440,6 +440,8 @@
// when Chrome is restarted.
const std::string& GetCountryCodeForExperimentGroup() const;
+ const std::string& app_locale() const { return app_locale_; }
+
// Returns if there are any pending queries to the web database.
bool HasPendingPaymentQueries() const;
diff --git a/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc b/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc
index 7dc1676..7f3b8224 100644
--- a/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc
+++ b/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc
@@ -53,8 +53,8 @@
LoadRiskData,
(base::OnceCallback<void(const std::string&)>),
(override));
- MOCK_METHOD(autofill::PersonalDataManager*,
- GetPersonalDataManager,
+ MOCK_METHOD(autofill::PaymentsDataManager*,
+ GetPaymentsDataManager,
(),
(override));
MOCK_METHOD(FacilitatedPaymentsNetworkInterface*,
diff --git a/components/facilitated_payments/core/browser/facilitated_payments_client.h b/components/facilitated_payments/core/browser/facilitated_payments_client.h
index 9806fe1..f7f97da 100644
--- a/components/facilitated_payments/core/browser/facilitated_payments_client.h
+++ b/components/facilitated_payments/core/browser/facilitated_payments_client.h
@@ -15,7 +15,7 @@
namespace autofill {
class BankAccount;
-class PersonalDataManager;
+class PaymentsDataManager;
} // namespace autofill
namespace payments::facilitated {
@@ -27,9 +27,9 @@
public:
~FacilitatedPaymentsClient() override;
- // Gets the `PersonalDataManager` instance associated with the Chrome profile.
+ // Gets the `PaymentsDataManager` instance associated with the Chrome profile.
// It is used to get user's account info.
- virtual autofill::PersonalDataManager* GetPersonalDataManager() = 0;
+ virtual autofill::PaymentsDataManager* GetPaymentsDataManager() = 0;
// Gets the `FacilitatedPaymentsNetworkInterface` instance owned by the client
// used for making payment requests. It can be null if the browser context
diff --git a/components/facilitated_payments/core/browser/facilitated_payments_manager.cc b/components/facilitated_payments/core/browser/facilitated_payments_manager.cc
index c6a1872f..e993f9d 100644
--- a/components/facilitated_payments/core/browser/facilitated_payments_manager.cc
+++ b/components/facilitated_payments/core/browser/facilitated_payments_manager.cc
@@ -11,7 +11,7 @@
#include "base/functional/callback_helpers.h"
#include "components/autofill/core/browser/data_model/bank_account.h"
#include "components/autofill/core/browser/payments/payments_util.h"
-#include "components/autofill/core/browser/personal_data_manager.h"
+#include "components/autofill/core/browser/payments_data_manager.h"
#include "components/facilitated_payments/core/browser/facilitated_payments_client.h"
#include "components/facilitated_payments/core/browser/network_api/facilitated_payments_network_interface.h"
#include "components/facilitated_payments/core/features/features.h"
@@ -144,13 +144,13 @@
// payment prompt.
// TODO(b/339477906): The check for bank accounts should move to
// OnPixCodeValidated.
- auto* personal_data_manager = client_->GetPersonalDataManager();
- if (!personal_data_manager) {
+ auto* payments_data_manager = client_->GetPaymentsDataManager();
+ if (!payments_data_manager) {
Reset();
return;
}
if (result != mojom::PixCodeDetectionResult::kValidPixCodeFound ||
- !personal_data_manager->payments_data_manager().HasMaskedBankAccounts() ||
+ !payments_data_manager->HasMaskedBankAccounts() ||
!base::FeatureList::IsEnabled(kEnablePixPayments)) {
Reset();
return;
@@ -205,12 +205,12 @@
return;
}
- // If the personal data manager isn't available, then the flow should have
+ // If the payments data manager isn't available, then the flow should have
// been abandoned already in `ProcessPixCodeDetectionResult`.
- CHECK(client_->GetPersonalDataManager());
+ CHECK(client_->GetPaymentsDataManager());
initiate_payment_request_details_->billing_customer_number_ =
autofill::payments::GetBillingCustomerId(
- client_->GetPersonalDataManager());
+ client_->GetPaymentsDataManager());
// Before showing the payment prompt, load the risk data required for
// initiating payment request. The risk data is collected once per page load
// if a PIX code was detected.
@@ -221,9 +221,7 @@
}
client_->ShowPixPaymentPrompt(
- client_->GetPersonalDataManager()
- ->payments_data_manager()
- .GetMaskedBankAccounts(),
+ client_->GetPaymentsDataManager()->GetMaskedBankAccounts(),
base::BindOnce(&FacilitatedPaymentsManager::OnPixPaymentPromptResult,
weak_ptr_factory_.GetWeakPtr()));
}
@@ -283,7 +281,7 @@
base::BindOnce(
&FacilitatedPaymentsManager::OnInitiatePaymentResponseReceived,
weak_ptr_factory_.GetWeakPtr()),
- client_->GetPersonalDataManager()->app_locale());
+ client_->GetPaymentsDataManager()->app_locale());
}
}
diff --git a/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc b/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc
index 4d1867c7..7ee0f2b 100644
--- a/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc
+++ b/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc
@@ -18,7 +18,7 @@
#include "base/types/expected.h"
#include "components/autofill/core/browser/autofill_test_utils.h"
#include "components/autofill/core/browser/data_model/bank_account.h"
-#include "components/autofill/core/browser/test_personal_data_manager.h"
+#include "components/autofill/core/browser/test_payments_data_manager.h"
#include "components/facilitated_payments/core/browser/facilitated_payments_api_client.h"
#include "components/facilitated_payments/core/browser/facilitated_payments_client.h"
#include "components/facilitated_payments/core/browser/facilitated_payments_driver.h"
@@ -132,8 +132,8 @@
LoadRiskData,
(base::OnceCallback<void(const std::string&)>),
(override));
- MOCK_METHOD(autofill::PersonalDataManager*,
- GetPersonalDataManager,
+ MOCK_METHOD(autofill::PaymentsDataManager*,
+ GetPaymentsDataManager,
(),
(override));
MOCK_METHOD(FacilitatedPaymentsNetworkInterface*,
@@ -197,12 +197,12 @@
// Using Autofill preferences since we use autofill's infra for syncing bank
// accounts.
pref_service_ = autofill::test::PrefServiceForTesting();
- personal_data_manager_ =
- std::make_unique<autofill::TestPersonalDataManager>();
- personal_data_manager_->SetPrefService(pref_service_.get());
- personal_data_manager_->SetSyncServiceForTest(&sync_service_);
- ON_CALL(*client_, GetPersonalDataManager)
- .WillByDefault(testing::Return(personal_data_manager_.get()));
+ payments_data_manager_ =
+ std::make_unique<autofill::TestPaymentsDataManager>();
+ payments_data_manager_->SetPrefService(pref_service_.get());
+ payments_data_manager_->SetSyncServiceForTest(&sync_service_);
+ ON_CALL(*client_, GetPaymentsDataManager)
+ .WillByDefault(testing::Return(payments_data_manager_.get()));
ON_CALL(*client_, GetFacilitatedPaymentsNetworkInterface)
.WillByDefault(testing::Return(&payments_network_interface_));
@@ -212,9 +212,8 @@
api_client_ = nullptr;
allowlist_decision_timer_.Stop();
page_load_timer_.Stop();
- personal_data_manager_->payments_data_manager()
- .ClearAllServerDataForTesting();
- personal_data_manager_.reset();
+ payments_data_manager_->ClearAllServerDataForTesting();
+ payments_data_manager_.reset();
}
// Sets the allowlist `decision` (true or false).
@@ -317,7 +316,7 @@
std::unique_ptr<MockFacilitatedPaymentsDriver> driver_;
std::unique_ptr<MockFacilitatedPaymentsClient> client_;
std::unique_ptr<FacilitatedPaymentsManager> manager_;
- std::unique_ptr<autofill::TestPersonalDataManager> personal_data_manager_;
+ std::unique_ptr<autofill::TestPaymentsDataManager> payments_data_manager_;
MockFacilitatedPaymentsNetworkInterface payments_network_interface_;
// Owned by the `manager_`.
@@ -843,9 +842,9 @@
// show the PIX payment prompt.
TEST_F(FacilitatedPaymentsManagerTest,
NoPixPaymentPromptWhenApiClientNotAvailable) {
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
+ payments_data_manager_->AddMaskedBankAccountForTest(
CreatePixBankAccount(/*instrument_id=*/1));
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
+ payments_data_manager_->AddMaskedBankAccountForTest(
CreatePixBankAccount(/*instrument_id=*/2));
EXPECT_CALL(*client_, ShowPixPaymentPrompt(testing::_, testing::_)).Times(0);
@@ -861,10 +860,8 @@
CreatePixBankAccount(/*instrument_id=*/1);
autofill::BankAccount pix_account2 =
CreatePixBankAccount(/*instrument_id=*/2);
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- pix_account1);
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- pix_account2);
+ payments_data_manager_->AddMaskedBankAccountForTest(pix_account1);
+ payments_data_manager_->AddMaskedBankAccountForTest(pix_account2);
EXPECT_CALL(*client_, ShowPixPaymentPrompt(testing::UnorderedElementsAreArray(
{pix_account1, pix_account2}),
@@ -1051,8 +1048,7 @@
// facilitated payment API is available.
TEST_F(FacilitatedPaymentsManagerWithPixPaymentsDisabledTest,
ValidPixCodeDetectionResult_HasPixAccounts_ApiClientNotTriggered) {
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- CreatePixBankAccount(1));
+ payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
@@ -1076,8 +1072,7 @@
// checks whether the facilitated payment API is available.
TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
ValidPixCodeDetectionResult_HasPixAccounts_ApiClientTriggered) {
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- CreatePixBankAccount(1));
+ payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
EXPECT_CALL(*api_client_, IsAvailable(testing::_));
@@ -1095,8 +1090,7 @@
// the API is available.
TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
ValidPixCodeDetectionResult_InvalidPixCodeString_ApiClientNotTriggered) {
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- CreatePixBankAccount(1));
+ payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
@@ -1112,8 +1106,7 @@
// facilitated payment API is available.
TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
InvalidPixCodeDetectionResultDoesNotTriggerApiClient) {
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- CreatePixBankAccount(1));
+ payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
@@ -1195,13 +1188,12 @@
mojom::PixCodeDetectionResult::kValidPixCodeFound, std::string());
}
-// If personal data manager is unavailable, the manager does not check
+// If payments data manager is unavailable, the manager does not check
// whether the facilitated payment API is available.
TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
UnavailabilityOfPdmDoesNotTriggerApiClient) {
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- CreatePixBankAccount(1));
- ON_CALL(*client_, GetPersonalDataManager)
+ payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
+ ON_CALL(*client_, GetPaymentsDataManager)
.WillByDefault(testing::Return(nullptr));
EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
@@ -1219,10 +1211,8 @@
CreatePixBankAccount(/*instrument_id=*/1);
autofill::BankAccount pix_account2 =
CreatePixBankAccount(/*instrument_id=*/2);
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- pix_account1);
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- pix_account2);
+ payments_data_manager_->AddMaskedBankAccountForTest(pix_account1);
+ payments_data_manager_->AddMaskedBankAccountForTest(pix_account2);
ON_CALL(*api_client_, IsAvailable)
.WillByDefault([](base::OnceCallback<void(bool)> callback) {
std::move(callback).Run(true);
@@ -1346,8 +1336,7 @@
TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
ApiAvailabilityHistogram) {
base::HistogramTester histogram_tester;
- personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
- CreatePixBankAccount(1));
+ payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
EXPECT_CALL(*api_client_, IsAvailable(testing::_));
manager_->OnPixCodeValidated(/*pix_code=*/std::string(),
/*is_pix_code_valid=*/true);