| Index: components/password_manager/core/browser/password_store_default.cc
|
| diff --git a/components/password_manager/core/browser/password_store_default.cc b/components/password_manager/core/browser/password_store_default.cc
|
| index 40b070e32123b50c9d6ac9d4c9c33bc1c07a8cb8..4f305909444facab3c0168acabbcac563a7d1ede 100644
|
| --- a/components/password_manager/core/browser/password_store_default.cc
|
| +++ b/components/password_manager/core/browser/password_store_default.cc
|
| @@ -24,8 +24,6 @@ PasswordStoreDefault::PasswordStoreDefault(
|
| }
|
|
|
| PasswordStoreDefault::~PasswordStoreDefault() {
|
| - if (!GetBackgroundTaskRunner()->BelongsToCurrentThread())
|
| - GetBackgroundTaskRunner()->DeleteSoon(FROM_HERE, login_db_.release());
|
| }
|
|
|
| bool PasswordStoreDefault::Init(
|
| @@ -34,6 +32,11 @@ bool PasswordStoreDefault::Init(
|
| return PasswordStore::Init(flare);
|
| }
|
|
|
| +void PasswordStoreDefault::Shutdown() {
|
| + PasswordStore::Shutdown();
|
| + ScheduleTask(base::Bind(&PasswordStoreDefault::ResetLoginDB, this));
|
| +}
|
| +
|
| void PasswordStoreDefault::InitOnDBThread() {
|
| DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
|
| DCHECK(login_db_);
|
| @@ -169,4 +172,9 @@ scoped_ptr<InteractionsStats> PasswordStoreDefault::GetSiteStatsImpl(
|
| : scoped_ptr<InteractionsStats>();
|
| }
|
|
|
| +void PasswordStoreDefault::ResetLoginDB() {
|
| + DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
|
| + login_db_.reset();
|
| +}
|
| +
|
| } // namespace password_manager
|
|
|