Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(98)

Side by Side Diff: chrome/browser/webdata/autofill_web_data_service_impl.cc

Issue 12987023: Rip autofill code out of webdataservice (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/webdata/autofill_web_data_service_impl.h" 5 #include "chrome/browser/webdata/autofill_web_data_service_impl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "chrome/browser/webdata/autofill_change.h" 9 #include "chrome/browser/webdata/autofill_change.h"
10 #include "chrome/browser/webdata/autofill_entry.h" 10 #include "chrome/browser/webdata/autofill_entry.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 wdbs_->ScheduleDBTask(FROM_HERE, 143 wdbs_->ScheduleDBTask(FROM_HERE,
144 Bind(&AutofillWebDataServiceImpl::RemoveCreditCardImpl, this, guid)); 144 Bind(&AutofillWebDataServiceImpl::RemoveCreditCardImpl, this, guid));
145 } 145 }
146 146
147 AutofillWebDataServiceImpl::Handle AutofillWebDataServiceImpl::GetCreditCards( 147 AutofillWebDataServiceImpl::Handle AutofillWebDataServiceImpl::GetCreditCards(
148 WebDataServiceConsumer* consumer) { 148 WebDataServiceConsumer* consumer) {
149 return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, 149 return wdbs_->ScheduleDBTaskWithResult(FROM_HERE,
150 Bind(&AutofillWebDataServiceImpl::GetCreditCardsImpl, this), consumer); 150 Bind(&AutofillWebDataServiceImpl::GetCreditCardsImpl, this), consumer);
151 } 151 }
152 152
153 void AutofillWebDataServiceImpl::RemoveFormElementsAddedBetween(
154 const Time& delete_begin, const Time& delete_end) {
155 wdbs_->ScheduleDBTask(FROM_HERE,
156 Bind(&AutofillWebDataServiceImpl::RemoveFormElementsAddedBetweenImpl,
157 this, delete_begin, delete_end));
158 }
159
160 void
161 AutofillWebDataServiceImpl::RemoveAutofillProfilesAndCreditCardsModifiedBetween(
162 const Time& delete_begin, const Time& delete_end) {
163 wdbs_->ScheduleDBTask(FROM_HERE, Bind(
164 &AutofillWebDataServiceImpl::RemoveAutofillProfilesAndCreditCardsModifiedBetween Impl,
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.
165 this, delete_begin, delete_end));
166 }
167
153 AutofillWebDataServiceImpl::~AutofillWebDataServiceImpl() { 168 AutofillWebDataServiceImpl::~AutofillWebDataServiceImpl() {
154 } 169 }
155 170
156 //////////////////////////////////////////////////////////////////////////////// 171 ////////////////////////////////////////////////////////////////////////////////
157 // 172 //
158 // Autofill implementation. 173 // Autofill implementation.
159 // 174 //
160 //////////////////////////////////////////////////////////////////////////////// 175 ////////////////////////////////////////////////////////////////////////////////
161 176
162 WebDatabase::State AutofillWebDataServiceImpl::AddFormElementsImpl( 177 WebDatabase::State AutofillWebDataServiceImpl::AddFormElementsImpl(
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 std::vector<CreditCard*> credit_cards; 411 std::vector<CreditCard*> credit_cards;
397 AutofillTable::FromWebDatabase(db)->GetCreditCards(&credit_cards); 412 AutofillTable::FromWebDatabase(db)->GetCreditCards(&credit_cards);
398 return scoped_ptr<WDTypedResult>( 413 return scoped_ptr<WDTypedResult>(
399 new WDDestroyableResult<std::vector<CreditCard*> >( 414 new WDDestroyableResult<std::vector<CreditCard*> >(
400 AUTOFILL_CREDITCARDS_RESULT, 415 AUTOFILL_CREDITCARDS_RESULT,
401 credit_cards, 416 credit_cards,
402 base::Bind(&AutofillWebDataServiceImpl::DestroyAutofillCreditCardResult, 417 base::Bind(&AutofillWebDataServiceImpl::DestroyAutofillCreditCardResult,
403 base::Unretained(this)))); 418 base::Unretained(this))));
404 } 419 }
405 420
421 WebDatabase::State
422 AutofillWebDataServiceImpl::RemoveAutofillProfilesAndCreditCardsModifiedBetweenI mpl(
423 const base::Time& delete_begin, const base::Time& delete_end,
424 WebDatabase* db) {
425 std::vector<std::string> profile_guids;
426 std::vector<std::string> credit_card_guids;
427 if (AutofillTable::FromWebDatabase(db)->
428 RemoveAutofillProfilesAndCreditCardsModifiedBetween(
429 delete_begin,
430 delete_end,
431 &profile_guids,
432 &credit_card_guids)) {
433 for (std::vector<std::string>::iterator iter = profile_guids.begin();
434 iter != profile_guids.end(); ++iter) {
435 AutofillProfileChange change(AutofillProfileChange::REMOVE, *iter,
436 NULL);
437 content::NotificationService::current()->Notify(
438 chrome::NOTIFICATION_AUTOFILL_PROFILE_CHANGED,
439 content::Source<AutofillWebDataService>(this),
440 content::Details<AutofillProfileChange>(&change));
441 }
442 // Note: It is the caller's responsibility to post notifications for any
443 // changes, e.g. by calling the Refresh() method of PersonalDataManager.
444 return WebDatabase::COMMIT_NEEDED;
445 }
446 return WebDatabase::COMMIT_NOT_NEEDED;
447 }
448
406 void AutofillWebDataServiceImpl::DestroyAutofillProfileResult( 449 void AutofillWebDataServiceImpl::DestroyAutofillProfileResult(
407 const WDTypedResult* result) { 450 const WDTypedResult* result) {
408 DCHECK(result->GetType() == AUTOFILL_PROFILES_RESULT); 451 DCHECK(result->GetType() == AUTOFILL_PROFILES_RESULT);
409 const WDResult<std::vector<AutofillProfile*> >* r = 452 const WDResult<std::vector<AutofillProfile*> >* r =
410 static_cast<const WDResult<std::vector<AutofillProfile*> >*>(result); 453 static_cast<const WDResult<std::vector<AutofillProfile*> >*>(result);
411 std::vector<AutofillProfile*> profiles = r->GetValue(); 454 std::vector<AutofillProfile*> profiles = r->GetValue();
412 STLDeleteElements(&profiles); 455 STLDeleteElements(&profiles);
413 } 456 }
414 457
415 void AutofillWebDataServiceImpl::DestroyAutofillCreditCardResult( 458 void AutofillWebDataServiceImpl::DestroyAutofillCreditCardResult(
416 const WDTypedResult* result) { 459 const WDTypedResult* result) {
417 DCHECK(result->GetType() == AUTOFILL_CREDITCARDS_RESULT); 460 DCHECK(result->GetType() == AUTOFILL_CREDITCARDS_RESULT);
418 const WDResult<std::vector<CreditCard*> >* r = 461 const WDResult<std::vector<CreditCard*> >* r =
419 static_cast<const WDResult<std::vector<CreditCard*> >*>(result); 462 static_cast<const WDResult<std::vector<CreditCard*> >*>(result);
420 463
421 std::vector<CreditCard*> credit_cards = r->GetValue(); 464 std::vector<CreditCard*> credit_cards = r->GetValue();
422 STLDeleteElements(&credit_cards); 465 STLDeleteElements(&credit_cards);
423 } 466 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698