| Index: components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc
|
| diff --git a/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc b/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc
|
| index 971e2009eaf9b4699c6cc94df21a9012160e6e40..de80ecd17287539f133d04ca2ccb791e4db2bd36 100644
|
| --- a/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc
|
| +++ b/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc
|
| @@ -123,11 +123,11 @@ AutofillProfile ProfileFromSpecifics(
|
| // The credit card's IDs do not change over time.
|
| void CopyBillingAddressesFromDisk(AutofillTable* table,
|
| std::vector<CreditCard>* cards_from_server) {
|
| - ScopedVector<CreditCard> cards_on_disk;
|
| - table->GetServerCreditCards(&cards_on_disk.get());
|
| + std::vector<std::unique_ptr<CreditCard>> cards_on_disk;
|
| + table->GetServerCreditCards(&cards_on_disk);
|
|
|
| // The reasons behind brute-force search are explained in SetDataIfChanged.
|
| - for (const CreditCard* saved_card : cards_on_disk) {
|
| + for (const auto& saved_card : cards_on_disk) {
|
| for (CreditCard& server_card : *cards_from_server) {
|
| if (saved_card->server_id() == server_card.server_id()) {
|
| server_card.set_billing_address_id(saved_card->billing_address_id());
|
| @@ -150,15 +150,15 @@ void CopyBillingAddressesFromDisk(AutofillTable* table,
|
| //
|
| // Returns true if anything changed. The previous number of items in the table
|
| // (for sync tracking) will be placed into *prev_item_count.
|
| -template<class Data>
|
| +template <class Data>
|
| bool SetDataIfChanged(
|
| AutofillTable* table,
|
| const std::vector<Data>& data,
|
| - bool (AutofillTable::*getter)(std::vector<Data*>*),
|
| + bool (AutofillTable::*getter)(std::vector<std::unique_ptr<Data>>*),
|
| void (AutofillTable::*setter)(const std::vector<Data>&),
|
| size_t* prev_item_count) {
|
| - ScopedVector<Data> existing_data;
|
| - (table->*getter)(&existing_data.get());
|
| + std::vector<std::unique_ptr<Data>> existing_data;
|
| + (table->*getter)(&existing_data);
|
| *prev_item_count = existing_data.size();
|
|
|
| // If the user has a large number of addresses, don't bother verifying
|
| @@ -177,7 +177,7 @@ bool SetDataIfChanged(
|
| // compares). A std::set only uses operator< requiring multiple calls to
|
| // check equality, giving 8 compares for 2 elements and 16 for 3. For these
|
| // set sizes, brute force O(n^2) is faster.
|
| - for (const Data* cur_existing : existing_data) {
|
| + for (const auto& cur_existing : existing_data) {
|
| bool found_match_for_cur_existing = false;
|
| for (const Data& cur_new : data) {
|
| if (cur_existing->Compare(cur_new) == 0) {
|
|
|