Chromium Code Reviews| Index: components/autofill/browser/webdata/autofill_webdata_backend_impl.cc |
| diff --git a/components/autofill/browser/webdata/autofill_webdata_backend.cc b/components/autofill/browser/webdata/autofill_webdata_backend_impl.cc |
| similarity index 81% |
| rename from components/autofill/browser/webdata/autofill_webdata_backend.cc |
| rename to components/autofill/browser/webdata/autofill_webdata_backend_impl.cc |
| index 0cda3d15310d9e4796315c7be1d2442af50caffb..a88ab30bf18266b86b99cf13679986a1d6b9a9b3 100644 |
| --- a/components/autofill/browser/webdata/autofill_webdata_backend.cc |
| +++ b/components/autofill/browser/webdata/autofill_webdata_backend_impl.cc |
| @@ -2,7 +2,7 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "components/autofill/browser/webdata/autofill_webdata_backend.h" |
| +#include "components/autofill/browser/webdata/autofill_webdata_backend_impl.h" |
| #include "base/logging.h" |
| #include "base/stl_util.h" |
| @@ -14,6 +14,7 @@ |
| #include "components/autofill/browser/webdata/autofill_table.h" |
| #include "components/autofill/browser/webdata/autofill_webdata_service_observer.h" |
| #include "components/autofill/common/form_field_data.h" |
| +#include "components/webdata/common/web_data_service_backend.h" |
| using base::Bind; |
| using base::Time; |
| @@ -21,25 +22,49 @@ using content::BrowserThread; |
| namespace autofill { |
| -AutofillWebDataBackend::AutofillWebDataBackend() { |
| +AutofillWebDataBackendImpl::AutofillWebDataBackendImpl( |
| + scoped_refptr<WebDataServiceBackend> web_database_backend, |
| + const base::Closure& on_changed_callback) |
| + : web_database_backend_(web_database_backend), |
| + on_changed_callback_(new base::Closure(on_changed_callback)) { |
|
Ilya Sherman
2013/05/09 05:04:24
nit: Why are you storing the as a pointer rather t
Cait (Slow)
2013/05/09 18:29:54
Done.
|
| } |
| -void AutofillWebDataBackend::AddObserver( |
| +void AutofillWebDataBackendImpl::AddObserver( |
| AutofillWebDataServiceObserverOnDBThread* observer) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| db_observer_list_.AddObserver(observer); |
| } |
| -void AutofillWebDataBackend::RemoveObserver( |
| +void AutofillWebDataBackendImpl::RemoveObserver( |
| AutofillWebDataServiceObserverOnDBThread* observer) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| db_observer_list_.RemoveObserver(observer); |
| } |
| -AutofillWebDataBackend::~AutofillWebDataBackend() { |
| +AutofillWebDataBackendImpl::~AutofillWebDataBackendImpl() { |
| } |
| -WebDatabase::State AutofillWebDataBackend::AddFormElements( |
| +WebDatabase* AutofillWebDataBackendImpl::GetDatabase() { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| + return web_database_backend_->database(); |
|
Ilya Sherman
2013/05/09 05:04:24
nit: De-indent two spaces.
Cait (Slow)
2013/05/09 18:29:54
Done.
|
| +} |
| + |
| +void AutofillWebDataBackendImpl::RemoveExpiredFormElementsWrapper() { |
| + if (RemoveExpiredFormElements(web_database_backend_->database()) == |
| + WebDatabase::COMMIT_NEEDED) { |
| + web_database_backend_->database()->CommitTransaction(); |
| + web_database_backend_->database()->BeginTransaction(); |
| + } |
|
Ilya Sherman
2013/05/09 05:04:24
Is this new behavior that's being added in this CL
Cait (Slow)
2013/05/09 18:29:54
This is duplicating behavior in WebDataServiceBack
|
| +} |
| + |
| +void AutofillWebDataBackendImpl::NotifyOfMultipleAutofillChanges() { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| + BrowserThread::PostTask(BrowserThread::UI, |
| + FROM_HERE, |
| + *(on_changed_callback_.get())); |
|
Ilya Sherman
2013/05/09 05:04:24
nit: I don't think the .get() is necessary.
Cait (Slow)
2013/05/09 18:29:54
Done.
|
| +} |
| + |
| +WebDatabase::State AutofillWebDataBackendImpl::AddFormElements( |
| const std::vector<FormFieldData>& fields, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| AutofillChangeList changes; |
| @@ -60,7 +85,7 @@ WebDatabase::State AutofillWebDataBackend::AddFormElements( |
| } |
| scoped_ptr<WDTypedResult> |
| -AutofillWebDataBackend::GetFormValuesForElementName( |
| +AutofillWebDataBackendImpl::GetFormValuesForElementName( |
| const base::string16& name, const base::string16& prefix, int limit, |
| WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| @@ -72,7 +97,7 @@ AutofillWebDataBackend::GetFormValuesForElementName( |
| values)); |
| } |
| -WebDatabase::State AutofillWebDataBackend::RemoveFormElementsAddedBetween( |
| +WebDatabase::State AutofillWebDataBackendImpl::RemoveFormElementsAddedBetween( |
| const base::Time& delete_begin, const base::Time& delete_end, |
| WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| @@ -93,7 +118,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveFormElementsAddedBetween( |
| return WebDatabase::COMMIT_NOT_NEEDED; |
| } |
| -WebDatabase::State AutofillWebDataBackend::RemoveExpiredFormElements( |
| +WebDatabase::State AutofillWebDataBackendImpl::RemoveExpiredFormElements( |
| WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| AutofillChangeList changes; |
| @@ -112,7 +137,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveExpiredFormElements( |
| return WebDatabase::COMMIT_NOT_NEEDED; |
| } |
| -WebDatabase::State AutofillWebDataBackend::RemoveFormValueForElementName( |
| +WebDatabase::State AutofillWebDataBackendImpl::RemoveFormValueForElementName( |
| const base::string16& name, const base::string16& value, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| @@ -131,7 +156,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveFormValueForElementName( |
| return WebDatabase::COMMIT_NOT_NEEDED; |
| } |
| -WebDatabase::State AutofillWebDataBackend::AddAutofillProfile( |
| +WebDatabase::State AutofillWebDataBackendImpl::AddAutofillProfile( |
| const AutofillProfile& profile, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| if (!AutofillTable::FromWebDatabase(db)->AddAutofillProfile(profile)) { |
| @@ -149,7 +174,7 @@ WebDatabase::State AutofillWebDataBackend::AddAutofillProfile( |
| return WebDatabase::COMMIT_NEEDED; |
| } |
| -WebDatabase::State AutofillWebDataBackend::UpdateAutofillProfile( |
| +WebDatabase::State AutofillWebDataBackendImpl::UpdateAutofillProfile( |
| const AutofillProfile& profile, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| // Only perform the update if the profile exists. It is currently |
| @@ -178,7 +203,7 @@ WebDatabase::State AutofillWebDataBackend::UpdateAutofillProfile( |
| return WebDatabase::COMMIT_NEEDED; |
| } |
| -WebDatabase::State AutofillWebDataBackend::RemoveAutofillProfile( |
| +WebDatabase::State AutofillWebDataBackendImpl::RemoveAutofillProfile( |
| const std::string& guid, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| AutofillProfile* profile = NULL; |
| @@ -202,7 +227,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveAutofillProfile( |
| return WebDatabase::COMMIT_NEEDED; |
| } |
| -scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetAutofillProfiles( |
| +scoped_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetAutofillProfiles( |
| WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| std::vector<AutofillProfile*> profiles; |
| @@ -211,11 +236,11 @@ scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetAutofillProfiles( |
| new WDDestroyableResult<std::vector<AutofillProfile*> >( |
| AUTOFILL_PROFILES_RESULT, |
| profiles, |
| - base::Bind(&AutofillWebDataBackend::DestroyAutofillProfileResult, |
| + base::Bind(&AutofillWebDataBackendImpl::DestroyAutofillProfileResult, |
| base::Unretained(this)))); |
| } |
| -WebDatabase::State AutofillWebDataBackend::AddCreditCard( |
| +WebDatabase::State AutofillWebDataBackendImpl::AddCreditCard( |
| const CreditCard& credit_card, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| if (!AutofillTable::FromWebDatabase(db)->AddCreditCard(credit_card)) { |
| @@ -226,7 +251,7 @@ WebDatabase::State AutofillWebDataBackend::AddCreditCard( |
| return WebDatabase::COMMIT_NEEDED; |
| } |
| -WebDatabase::State AutofillWebDataBackend::UpdateCreditCard( |
| +WebDatabase::State AutofillWebDataBackendImpl::UpdateCreditCard( |
| const CreditCard& credit_card, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| // It is currently valid to try to update a missing profile. We simply drop |
| @@ -245,7 +270,7 @@ WebDatabase::State AutofillWebDataBackend::UpdateCreditCard( |
| return WebDatabase::COMMIT_NEEDED; |
| } |
| -WebDatabase::State AutofillWebDataBackend::RemoveCreditCard( |
| +WebDatabase::State AutofillWebDataBackendImpl::RemoveCreditCard( |
| const std::string& guid, WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| if (!AutofillTable::FromWebDatabase(db)->RemoveCreditCard(guid)) { |
| @@ -255,7 +280,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveCreditCard( |
| return WebDatabase::COMMIT_NEEDED; |
| } |
| -scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetCreditCards( |
| +scoped_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetCreditCards( |
| WebDatabase* db) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| std::vector<CreditCard*> credit_cards; |
| @@ -264,12 +289,12 @@ scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetCreditCards( |
| new WDDestroyableResult<std::vector<CreditCard*> >( |
| AUTOFILL_CREDITCARDS_RESULT, |
| credit_cards, |
| - base::Bind(&AutofillWebDataBackend::DestroyAutofillCreditCardResult, |
| + base::Bind(&AutofillWebDataBackendImpl::DestroyAutofillCreditCardResult, |
| base::Unretained(this)))); |
| } |
| WebDatabase::State |
| - AutofillWebDataBackend::RemoveAutofillDataModifiedBetween( |
| + AutofillWebDataBackendImpl::RemoveAutofillDataModifiedBetween( |
| const base::Time& delete_begin, |
| const base::Time& delete_end, |
| WebDatabase* db) { |
| @@ -295,7 +320,7 @@ WebDatabase::State |
| return WebDatabase::COMMIT_NOT_NEEDED; |
| } |
| -void AutofillWebDataBackend::DestroyAutofillProfileResult( |
| +void AutofillWebDataBackendImpl::DestroyAutofillProfileResult( |
| const WDTypedResult* result) { |
| DCHECK(result->GetType() == AUTOFILL_PROFILES_RESULT); |
| const WDResult<std::vector<AutofillProfile*> >* r = |
| @@ -304,7 +329,7 @@ void AutofillWebDataBackend::DestroyAutofillProfileResult( |
| STLDeleteElements(&profiles); |
| } |
| -void AutofillWebDataBackend::DestroyAutofillCreditCardResult( |
| +void AutofillWebDataBackendImpl::DestroyAutofillCreditCardResult( |
| const WDTypedResult* result) { |
| DCHECK(result->GetType() == AUTOFILL_CREDITCARDS_RESULT); |
| const WDResult<std::vector<CreditCard*> >* r = |