diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-29 20:51:01 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-29 20:51:01 +0000 |
commit | 9eaa18ed61a3837e1046045476a3c7f4e8eb6a5f (patch) | |
tree | 814e98bb2f18d5017b047c241cdf58e47ea0d050 /chrome/browser/extensions/extension_data_deleter.cc | |
parent | 564e170373c0bb521d735547dc7f443d19b2fac5 (diff) | |
download | chromium_src-9eaa18ed61a3837e1046045476a3c7f4e8eb6a5f.zip chromium_src-9eaa18ed61a3837e1046045476a3c7f4e8eb6a5f.tar.gz chromium_src-9eaa18ed61a3837e1046045476a3c7f4e8eb6a5f.tar.bz2 |
Reland r50296 which removes some uses of CookieMonster on the UI thread.
Removes the addition of NonThreadSafe and DCHECKs to CookieMonster.
BUG=44083
Review URL: http://codereview.chromium.org/2845031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51164 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_data_deleter.cc')
-rw-r--r-- | chrome/browser/extensions/extension_data_deleter.cc | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/chrome/browser/extensions/extension_data_deleter.cc b/chrome/browser/extensions/extension_data_deleter.cc index 98cf433..1a9f84e 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() { |