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 |