| Index: components/autofill/browser/webdata/autofill_webdata_service.cc
|
| diff --git a/components/autofill/browser/webdata/autofill_webdata_service.cc b/components/autofill/browser/webdata/autofill_webdata_service.cc
|
| index 12a6af72e2133b8daa8e44666e656d047d7fccf1..f4bc67ad78d820446f0f4773837444c25628bc88 100644
|
| --- a/components/autofill/browser/webdata/autofill_webdata_service.cc
|
| +++ b/components/autofill/browser/webdata/autofill_webdata_service.cc
|
| @@ -47,6 +47,13 @@ AutofillWebDataService::AutofillWebDataService()
|
| WebDataServiceBase::ProfileErrorCallback()) {
|
| }
|
|
|
| +void AutofillWebDataService::ShutdownOnUIThread() {
|
| + BrowserThread::PostTask(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(&AutofillWebDataService::ShutdownOnDBThread, this));
|
| + WebDataServiceBase::ShutdownOnUIThread();
|
| +}
|
| +
|
| void AutofillWebDataService::AddFormFields(
|
| const std::vector<FormFieldData>& fields) {
|
| wdbs_->ScheduleDBTask(FROM_HERE,
|
| @@ -164,7 +171,21 @@ void AutofillWebDataService::RemoveObserver(
|
| ui_observer_list_.RemoveObserver(observer);
|
| }
|
|
|
| -AutofillWebDataService::~AutofillWebDataService() {}
|
| +base::SupportsUserData* AutofillWebDataService::GetDBUserData() {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
|
| + if (!db_thread_user_data_)
|
| + db_thread_user_data_.reset(new SupportsUserDataAggregatable());
|
| + return db_thread_user_data_.get();
|
| +}
|
| +
|
| +void AutofillWebDataService::ShutdownOnDBThread() {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
|
| + db_thread_user_data_.reset();
|
| +}
|
| +
|
| +AutofillWebDataService::~AutofillWebDataService() {
|
| + DCHECK(!db_thread_user_data_.get()) << "Forgot to call ShutdownOnUIThread?";
|
| +}
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| //
|
|
|