[Autofill] Make PaymentInstrument final
Bug: 40100455
Change-Id: I0d763bf4d67da9f80f03a58294aa5a9e34eb9bb9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5807758
Auto-Submit: Christoph Schwering <schwering@google.com>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Jan Keitel <jkeitel@google.com>
Commit-Queue: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1346579}
diff --git a/chrome/browser/autofill/android/personal_data_manager_android.cc b/chrome/browser/autofill/android/personal_data_manager_android.cc
index cb105fe..b6ff7ba 100644
--- a/chrome/browser/autofill/android/personal_data_manager_android.cc
+++ b/chrome/browser/autofill/android/personal_data_manager_android.cc
@@ -581,7 +581,7 @@
const BankAccount& bank_account) {
// Create an integer vector of PaymentRails which can be used to create a Java
// array to be passed via JNI.
- auto& payment_instrument_supported_rails =
+ DenseSet<PaymentInstrument::PaymentRail> payment_instrument_supported_rails =
bank_account.payment_instrument().supported_rails();
std::vector<int> supported_payment_rails_array(
bank_account.payment_instrument().supported_rails().size());
diff --git a/components/autofill/core/browser/data_model/bank_account.cc b/components/autofill/core/browser/data_model/bank_account.cc
index 0c7a7a00..64e62a5 100644
--- a/components/autofill/core/browser/data_model/bank_account.cc
+++ b/components/autofill/core/browser/data_model/bank_account.cc
@@ -16,17 +16,17 @@
BankAccount& BankAccount::operator=(const BankAccount& other) = default;
BankAccount::BankAccount(int64_t instrument_id,
- std::u16string_view nickname,
- const GURL& display_icon_url,
- std::u16string_view bank_name,
- std::u16string_view account_number_suffix,
+ std::u16string nickname,
+ GURL display_icon_url,
+ std::u16string bank_name,
+ std::u16string account_number_suffix,
AccountType account_type)
- : bank_name_(bank_name),
- account_number_suffix_(account_number_suffix),
+ : bank_name_(std::move(bank_name)),
+ account_number_suffix_(std::move(account_number_suffix)),
account_type_(account_type),
payment_instrument_(instrument_id,
- nickname,
- display_icon_url,
+ std::move(nickname),
+ std::move(display_icon_url),
DenseSet({PaymentInstrument::PaymentRail::kPix})) {}
BankAccount::~BankAccount() = default;
diff --git a/components/autofill/core/browser/data_model/bank_account.h b/components/autofill/core/browser/data_model/bank_account.h
index 609f16c..d312ade9 100644
--- a/components/autofill/core/browser/data_model/bank_account.h
+++ b/components/autofill/core/browser/data_model/bank_account.h
@@ -34,10 +34,10 @@
BankAccount(const BankAccount& other);
BankAccount& operator=(const BankAccount& other);
BankAccount(int64_t instrument_id,
- std::u16string_view nickname,
- const GURL& display_icon_url,
- std::u16string_view bank_name,
- std::u16string_view account_number_suffix,
+ std::u16string nickname,
+ GURL display_icon_url,
+ std::u16string bank_name,
+ std::u16string account_number_suffix,
AccountType account_type);
~BankAccount();
diff --git a/components/autofill/core/browser/data_model/payment_instrument.cc b/components/autofill/core/browser/data_model/payment_instrument.cc
index 2f037ca3..a102671 100644
--- a/components/autofill/core/browser/data_model/payment_instrument.cc
+++ b/components/autofill/core/browser/data_model/payment_instrument.cc
@@ -13,12 +13,12 @@
PaymentInstrument::PaymentInstrument(
int64_t instrument_id,
- std::u16string_view nickname,
- const GURL& display_icon_url,
- const DenseSet<PaymentInstrument::PaymentRail> supported_rails)
+ std::u16string nickname,
+ GURL display_icon_url,
+ DenseSet<PaymentInstrument::PaymentRail> supported_rails)
: instrument_id_(instrument_id),
- nickname_(nickname),
- display_icon_url_(display_icon_url),
+ nickname_(std::move(nickname)),
+ display_icon_url_(std::move(display_icon_url)),
supported_rails_(supported_rails) {}
PaymentInstrument::PaymentInstrument(
diff --git a/components/autofill/core/browser/data_model/payment_instrument.h b/components/autofill/core/browser/data_model/payment_instrument.h
index 362945c..2da03a4 100644
--- a/components/autofill/core/browser/data_model/payment_instrument.h
+++ b/components/autofill/core/browser/data_model/payment_instrument.h
@@ -20,7 +20,7 @@
// be any form of payment stored in the GPay backend that can be used to
// facilitate a payment on a webpage. Examples of derived class: BankAccount,
// CreditCard etc.
-class PaymentInstrument {
+class PaymentInstrument final {
public:
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.autofill.payments
// A payment rail can loosely represent the different ways in which Chrome can
@@ -34,12 +34,12 @@
};
PaymentInstrument(int64_t instrument_id,
- std::u16string_view nickname,
- const GURL& display_icon_url,
+ std::u16string nickname,
+ GURL display_icon_url,
DenseSet<PaymentInstrument::PaymentRail> supported_rails);
PaymentInstrument(const PaymentInstrument& other);
PaymentInstrument& operator=(const PaymentInstrument& other);
- virtual ~PaymentInstrument();
+ ~PaymentInstrument();
friend std::strong_ordering operator<=>(const PaymentInstrument&,
const PaymentInstrument&);
@@ -47,9 +47,7 @@
int64_t instrument_id() const { return instrument_id_; }
- const DenseSet<PaymentRail>& supported_rails() const {
- return supported_rails_;
- }
+ DenseSet<PaymentRail> supported_rails() const { return supported_rails_; }
// Check whether the PaymentInstrument is supported for a particular rail.
bool IsSupported(PaymentRail payment_rail) const;