Chromium Code Reviews| Index: components/autofill/browser/webdata/autofill_webdata_backend.cc |
| diff --git a/components/autofill/browser/webdata/autofill_webdata_backend.cc b/components/autofill/browser/webdata/autofill_webdata_backend.cc |
| index 0cda3d15310d9e4796315c7be1d2442af50caffb..09b0a62bacaf5b7c8d38b70a2f4e9c6158d30666 100644 |
| --- a/components/autofill/browser/webdata/autofill_webdata_backend.cc |
| +++ b/components/autofill/browser/webdata/autofill_webdata_backend.cc |
| @@ -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,7 +22,11 @@ using content::BrowserThread; |
| namespace autofill { |
| -AutofillWebDataBackend::AutofillWebDataBackend() { |
| +AutofillWebDataBackend::AutofillWebDataBackend( |
| + scoped_refptr<WebDataServiceBackend> web_db_backend, |
| + const base::Closure& on_changed_callback) |
| + : web_database_backend_(web_db_backend), |
| + on_changed_callback_(new base::Closure(on_changed_callback)) { |
| } |
| void AutofillWebDataBackend::AddObserver( |
| @@ -36,7 +41,34 @@ void AutofillWebDataBackend::RemoveObserver( |
| db_observer_list_.RemoveObserver(observer); |
| } |
| -AutofillWebDataBackend::~AutofillWebDataBackend() { |
| +WebDatabase* AutofillWebDataBackend::GetDatabaseOnDB() { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| + if (!web_database_backend_) |
| + return NULL; |
| + |
| + return web_database_backend_->database(); |
| +} |
| + |
| +void AutofillWebDataBackend::RemoveExpiredFormElementsWrapper() { |
| + if (!web_database_backend_ || !web_database_backend_->database()) |
| + return; |
| + |
| + if (RemoveExpiredFormElements(web_database_backend_->database()) == |
| + WebDatabase::COMMIT_NEEDED) { |
| + web_database_backend_->database()->CommitTransaction(); |
| + web_database_backend_->database()->BeginTransaction(); |
| + } |
| +} |
| + |
| +void AutofillWebDataBackend::NotifyOfMultipleAutofillChanges() { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| + |
| + if (!on_changed_callback_ .get()|| on_changed_callback_->is_null()) |
|
Jói
2013/05/07 19:39:41
no space before .get()
Cait (Slow)
2013/05/07 20:14:56
Done.
|
| + return; |
| + BrowserThread::PostTask( |
| + BrowserThread::UI, |
|
Jói
2013/05/07 19:39:41
these can align to the parenthesis (with the first
Cait (Slow)
2013/05/07 20:14:56
Done.
|
| + FROM_HERE, |
| + *(on_changed_callback_.get()); |
| } |
| WebDatabase::State AutofillWebDataBackend::AddFormElements( |
| @@ -295,6 +327,9 @@ WebDatabase::State |
| return WebDatabase::COMMIT_NOT_NEEDED; |
| } |
| +AutofillWebDataBackend::~AutofillWebDataBackend() { |
| +} |
| + |
| void AutofillWebDataBackend::DestroyAutofillProfileResult( |
| const WDTypedResult* result) { |
| DCHECK(result->GetType() == AUTOFILL_PROFILES_RESULT); |