Chromium Code Reviews| Index: chrome/browser/webdata/autofill_web_data_service_impl.cc |
| diff --git a/chrome/browser/webdata/autofill_web_data_service_impl.cc b/chrome/browser/webdata/autofill_web_data_service_impl.cc |
| index 76dd5833620a0b5011644920a9fda50d2984930d..9bc77403b84739cf9752aeed0f6322348a03e365 100644 |
| --- a/chrome/browser/webdata/autofill_web_data_service_impl.cc |
| +++ b/chrome/browser/webdata/autofill_web_data_service_impl.cc |
| @@ -150,6 +150,21 @@ AutofillWebDataServiceImpl::Handle AutofillWebDataServiceImpl::GetCreditCards( |
| Bind(&AutofillWebDataServiceImpl::GetCreditCardsImpl, this), consumer); |
| } |
| +void AutofillWebDataServiceImpl::RemoveFormElementsAddedBetween( |
| + const Time& delete_begin, const Time& delete_end) { |
| + wdbs_->ScheduleDBTask(FROM_HERE, |
| + Bind(&AutofillWebDataServiceImpl::RemoveFormElementsAddedBetweenImpl, |
| + this, delete_begin, delete_end)); |
| +} |
| + |
| +void |
| +AutofillWebDataServiceImpl::RemoveAutofillProfilesAndCreditCardsModifiedBetween( |
| + const Time& delete_begin, const Time& delete_end) { |
| + wdbs_->ScheduleDBTask(FROM_HERE, Bind( |
| +&AutofillWebDataServiceImpl::RemoveAutofillProfilesAndCreditCardsModifiedBetweenImpl, |
|
dhollowa
2013/03/25 21:50:38
Gosh, this is excessive. How would you feel about
Cait (Slow)
2013/03/26 14:29:23
Done. There is a method of the same name on the Au
dhollowa
2013/03/26 15:14:09
Yes, please.
|
| + this, delete_begin, delete_end)); |
| +} |
| + |
| AutofillWebDataServiceImpl::~AutofillWebDataServiceImpl() { |
| } |
| @@ -403,6 +418,34 @@ AutofillWebDataServiceImpl::GetCreditCardsImpl(WebDatabase* db) { |
| base::Unretained(this)))); |
| } |
| +WebDatabase::State |
| +AutofillWebDataServiceImpl::RemoveAutofillProfilesAndCreditCardsModifiedBetweenImpl( |
| + const base::Time& delete_begin, const base::Time& delete_end, |
| + WebDatabase* db) { |
| + std::vector<std::string> profile_guids; |
| + std::vector<std::string> credit_card_guids; |
| + if (AutofillTable::FromWebDatabase(db)-> |
| + RemoveAutofillProfilesAndCreditCardsModifiedBetween( |
| + delete_begin, |
| + delete_end, |
| + &profile_guids, |
| + &credit_card_guids)) { |
| + for (std::vector<std::string>::iterator iter = profile_guids.begin(); |
| + iter != profile_guids.end(); ++iter) { |
| + AutofillProfileChange change(AutofillProfileChange::REMOVE, *iter, |
| + NULL); |
| + content::NotificationService::current()->Notify( |
| + chrome::NOTIFICATION_AUTOFILL_PROFILE_CHANGED, |
| + content::Source<AutofillWebDataService>(this), |
| + content::Details<AutofillProfileChange>(&change)); |
| + } |
| + // Note: It is the caller's responsibility to post notifications for any |
| + // changes, e.g. by calling the Refresh() method of PersonalDataManager. |
| + return WebDatabase::COMMIT_NEEDED; |
| + } |
| + return WebDatabase::COMMIT_NOT_NEEDED; |
| +} |
| + |
| void AutofillWebDataServiceImpl::DestroyAutofillProfileResult( |
| const WDTypedResult* result) { |
| DCHECK(result->GetType() == AUTOFILL_PROFILES_RESULT); |