summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_data_deleter.cc
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-21 16:04:50 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-21 16:04:50 +0000
commit34d18e40e285579af3b5fae02ad21ce3d94745be (patch)
treef69d053360091d15a6adef6095c54f947a113812 /chrome/browser/extensions/extension_data_deleter.cc
parent379418079f6f422db211d61f1b1142e4025b730c (diff)
downloadchromium_src-34d18e40e285579af3b5fae02ad21ce3d94745be.zip
chromium_src-34d18e40e285579af3b5fae02ad21ce3d94745be.tar.gz
chromium_src-34d18e40e285579af3b5fae02ad21ce3d94745be.tar.bz2
Revert 50296 (Causes DCHECK failures) - Make CookieMonster NonThreadSafe.
Made ExtensionFunction RefCountedThreadSafe so it can be posted to different threads. Used WaitableEvent in AutomationProvider. BUG=44083 Review URL: http://codereview.chromium.org/2756003 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/2860012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50357 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_data_deleter.cc')
-rw-r--r--chrome/browser/extensions/extension_data_deleter.cc26
1 files changed, 8 insertions, 18 deletions
diff --git a/chrome/browser/extensions/extension_data_deleter.cc b/chrome/browser/extensions/extension_data_deleter.cc
index 1a9f84e..98cf433 100644
--- a/chrome/browser/extensions/extension_data_deleter.cc
+++ b/chrome/browser/extensions/extension_data_deleter.cc
@@ -23,28 +23,18 @@ 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() {