| Index: components/autofill/core/browser/webdata/autofill_webdata_backend_impl.cc
|
| diff --git a/components/autofill/core/browser/webdata/autofill_webdata_backend_impl.cc b/components/autofill/core/browser/webdata/autofill_webdata_backend_impl.cc
|
| index 022fe449de772fe003687b511c181100b34d96c9..ccda7ac2ecaede996b284c601a8a8ad8081ede15 100644
|
| --- a/components/autofill/core/browser/webdata/autofill_webdata_backend_impl.cc
|
| +++ b/components/autofill/core/browser/webdata/autofill_webdata_backend_impl.cc
|
| @@ -7,9 +7,7 @@
|
| #include "base/bind.h"
|
| #include "base/location.h"
|
| #include "base/logging.h"
|
| -#include "base/memory/scoped_vector.h"
|
| #include "base/single_thread_task_runner.h"
|
| -#include "base/stl_util.h"
|
| #include "components/autofill/core/browser/autofill_country.h"
|
| #include "components/autofill/core/browser/autofill_profile.h"
|
| #include "components/autofill/core/browser/credit_card.h"
|
| @@ -241,25 +239,21 @@ WebDatabase::State AutofillWebDataBackendImpl::RemoveAutofillProfile(
|
| std::unique_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetAutofillProfiles(
|
| WebDatabase* db) {
|
| DCHECK(db_thread_->BelongsToCurrentThread());
|
| - std::vector<AutofillProfile*> profiles;
|
| + std::vector<std::unique_ptr<AutofillProfile>> profiles;
|
| AutofillTable::FromWebDatabase(db)->GetAutofillProfiles(&profiles);
|
| return std::unique_ptr<WDTypedResult>(
|
| - new WDDestroyableResult<std::vector<AutofillProfile*>>(
|
| - AUTOFILL_PROFILES_RESULT, profiles,
|
| - base::Bind(&AutofillWebDataBackendImpl::DestroyAutofillProfileResult,
|
| - base::Unretained(this))));
|
| + new WDResult<std::vector<std::unique_ptr<AutofillProfile>>>(
|
| + AUTOFILL_PROFILES_RESULT, std::move(profiles)));
|
| }
|
|
|
| std::unique_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetServerProfiles(
|
| WebDatabase* db) {
|
| DCHECK(db_thread_->BelongsToCurrentThread());
|
| - std::vector<AutofillProfile*> profiles;
|
| + std::vector<std::unique_ptr<AutofillProfile>> profiles;
|
| AutofillTable::FromWebDatabase(db)->GetServerProfiles(&profiles);
|
| return std::unique_ptr<WDTypedResult>(
|
| - new WDDestroyableResult<std::vector<AutofillProfile*>>(
|
| - AUTOFILL_PROFILES_RESULT, profiles,
|
| - base::Bind(&AutofillWebDataBackendImpl::DestroyAutofillProfileResult,
|
| - base::Unretained(this))));
|
| + new WDResult<std::vector<std::unique_ptr<AutofillProfile>>>(
|
| + AUTOFILL_PROFILES_RESULT, std::move(profiles)));
|
| }
|
|
|
| std::unique_ptr<WDTypedResult>
|
| @@ -340,27 +334,21 @@ WebDatabase::State AutofillWebDataBackendImpl::RemoveCreditCard(
|
| std::unique_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetCreditCards(
|
| WebDatabase* db) {
|
| DCHECK(db_thread_->BelongsToCurrentThread());
|
| - std::vector<CreditCard*> credit_cards;
|
| + std::vector<std::unique_ptr<CreditCard>> credit_cards;
|
| AutofillTable::FromWebDatabase(db)->GetCreditCards(&credit_cards);
|
| return std::unique_ptr<WDTypedResult>(
|
| - new WDDestroyableResult<std::vector<CreditCard*>>(
|
| - AUTOFILL_CREDITCARDS_RESULT, credit_cards,
|
| - base::Bind(
|
| - &AutofillWebDataBackendImpl::DestroyAutofillCreditCardResult,
|
| - base::Unretained(this))));
|
| + new WDResult<std::vector<std::unique_ptr<CreditCard>>>(
|
| + AUTOFILL_CREDITCARDS_RESULT, std::move(credit_cards)));
|
| }
|
|
|
| std::unique_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetServerCreditCards(
|
| WebDatabase* db) {
|
| DCHECK(db_thread_->BelongsToCurrentThread());
|
| - std::vector<CreditCard*> credit_cards;
|
| + std::vector<std::unique_ptr<CreditCard>> credit_cards;
|
| AutofillTable::FromWebDatabase(db)->GetServerCreditCards(&credit_cards);
|
| return std::unique_ptr<WDTypedResult>(
|
| - new WDDestroyableResult<std::vector<CreditCard*>>(
|
| - AUTOFILL_CREDITCARDS_RESULT, credit_cards,
|
| - base::Bind(
|
| - &AutofillWebDataBackendImpl::DestroyAutofillCreditCardResult,
|
| - base::Unretained(this))));
|
| + new WDResult<std::vector<std::unique_ptr<CreditCard>>>(
|
| + AUTOFILL_CREDITCARDS_RESULT, std::move(credit_cards)));
|
| }
|
|
|
| WebDatabase::State AutofillWebDataBackendImpl::UnmaskServerCreditCard(
|
| @@ -480,14 +468,15 @@ WebDatabase::State AutofillWebDataBackendImpl::RemoveOriginURLsModifiedBetween(
|
| const base::Time& delete_end,
|
| WebDatabase* db) {
|
| DCHECK(db_thread_->BelongsToCurrentThread());
|
| - ScopedVector<AutofillProfile> profiles;
|
| + std::vector<std::unique_ptr<AutofillProfile>> profiles;
|
| if (!AutofillTable::FromWebDatabase(db)->RemoveOriginURLsModifiedBetween(
|
| delete_begin, delete_end, &profiles)) {
|
| return WebDatabase::COMMIT_NOT_NEEDED;
|
| }
|
|
|
| - for (const AutofillProfile* it : profiles) {
|
| - AutofillProfileChange change(AutofillProfileChange::UPDATE, it->guid(), it);
|
| + for (const auto& profile : profiles) {
|
| + AutofillProfileChange change(AutofillProfileChange::UPDATE, profile->guid(),
|
| + profile.get());
|
| for (auto& db_observer : db_observer_list_)
|
| db_observer.AutofillProfileChanged(change);
|
| }
|
| @@ -514,23 +503,4 @@ WebDatabase::State AutofillWebDataBackendImpl::RemoveExpiredFormElementsImpl(
|
| return WebDatabase::COMMIT_NOT_NEEDED;
|
| }
|
|
|
| -void AutofillWebDataBackendImpl::DestroyAutofillProfileResult(
|
| - const WDTypedResult* result) {
|
| - DCHECK(result->GetType() == AUTOFILL_PROFILES_RESULT);
|
| - const WDResult<std::vector<AutofillProfile*> >* r =
|
| - static_cast<const WDResult<std::vector<AutofillProfile*> >*>(result);
|
| - std::vector<AutofillProfile*> profiles = r->GetValue();
|
| - base::STLDeleteElements(&profiles);
|
| -}
|
| -
|
| -void AutofillWebDataBackendImpl::DestroyAutofillCreditCardResult(
|
| - const WDTypedResult* result) {
|
| - DCHECK(result->GetType() == AUTOFILL_CREDITCARDS_RESULT);
|
| - const WDResult<std::vector<CreditCard*> >* r =
|
| - static_cast<const WDResult<std::vector<CreditCard*> >*>(result);
|
| -
|
| - std::vector<CreditCard*> credit_cards = r->GetValue();
|
| - base::STLDeleteElements(&credit_cards);
|
| -}
|
| -
|
| } // namespace autofill
|
|
|