| Index: chrome/browser/extensions/extension_data_deleter.cc
|
| diff --git a/chrome/browser/extensions/extension_data_deleter.cc b/chrome/browser/extensions/extension_data_deleter.cc
|
| index 98cf4330643218cfb59103f96eb5142d758ed874..1a9f84e6ffc3d4e03db9862e41c75f6b3a676f39 100644
|
| --- a/chrome/browser/extensions/extension_data_deleter.cc
|
| +++ b/chrome/browser/extensions/extension_data_deleter.cc
|
| @@ -23,18 +23,28 @@ ExtensionDataDeleter::ExtensionDataDeleter(Profile* profile,
|
|
|
| void ExtensionDataDeleter::StartDeleting() {
|
| DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
|
| +
|
| + ChromeThread::PostTask(
|
| + ChromeThread::IO, FROM_HERE,
|
| + NewRunnableMethod(this, &ExtensionDataDeleter::DeleteCookiesOnIOThread));
|
| +
|
| + ChromeThread::PostTask(
|
| + ChromeThread::WEBKIT, FROM_HERE,
|
| + NewRunnableMethod(
|
| + this, &ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread));
|
| +
|
| + ChromeThread::PostTask(
|
| + ChromeThread::FILE, FROM_HERE,
|
| + NewRunnableMethod(
|
| + this, &ExtensionDataDeleter::DeleteDatabaseOnFileThread));
|
| +}
|
| +
|
| +void ExtensionDataDeleter::DeleteCookiesOnIOThread() {
|
| + DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
|
| net::CookieMonster* cookie_monster =
|
| extension_request_context_->GetCookieStore()->GetCookieMonster();
|
| if (cookie_monster)
|
| cookie_monster->DeleteAllForURL(extension_url_, true);
|
| -
|
| - ChromeThread::PostTask(ChromeThread::WEBKIT, FROM_HERE,
|
| - NewRunnableMethod(this,
|
| - &ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread));
|
| -
|
| - ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE,
|
| - NewRunnableMethod(this,
|
| - &ExtensionDataDeleter::DeleteDatabaseOnFileThread));
|
| }
|
|
|
| void ExtensionDataDeleter::DeleteDatabaseOnFileThread() {
|
|
|