diff options
author | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-14 20:28:46 +0000 |
---|---|---|
committer | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-14 20:28:46 +0000 |
commit | c70c94f9fd39ed98f94abf8962903874bff093f0 (patch) | |
tree | eba6a72057abebe0a0fc629a8b712350642dbf91 /chrome/browser/extensions | |
parent | eedff4e0601522d489db61bfff5d8a5e0d6a671c (diff) | |
download | chromium_src-c70c94f9fd39ed98f94abf8962903874bff093f0.zip chromium_src-c70c94f9fd39ed98f94abf8962903874bff093f0.tar.gz chromium_src-c70c94f9fd39ed98f94abf8962903874bff093f0.tar.bz2 |
ContentAPI change - Post DomStorage tasks via a SequencedTaskRunner instead of directly to WEBKIT_DEPRECATED.
BUG=106763
Review URL: https://chromiumcodereview.appspot.com/9700007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126720 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r-- | chrome/browser/extensions/extension_data_deleter.cc | 16 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_data_deleter.h | 8 |
2 files changed, 13 insertions, 11 deletions
diff --git a/chrome/browser/extensions/extension_data_deleter.cc b/chrome/browser/extensions/extension_data_deleter.cc index 3cae231..ab92bae 100644 --- a/chrome/browser/extensions/extension_data_deleter.cc +++ b/chrome/browser/extensions/extension_data_deleter.cc @@ -48,11 +48,13 @@ void ExtensionDataDeleter::StartDeleting( base::Bind( &ExtensionDataDeleter::DeleteCookiesOnIOThread, deleter)); - BrowserThread::PostTask( - BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, + scoped_refptr<DOMStorageContext> dom_storage_context = + BrowserContext::GetDOMStorageContext(profile); + dom_storage_context->task_runner()->PostTask( + FROM_HERE, base::Bind( - &ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread, deleter, - make_scoped_refptr(BrowserContext::GetDOMStorageContext(profile)))); + &ExtensionDataDeleter::DeleteLocalStorageInSequencedTask, deleter, + dom_storage_context)); BrowserThread::PostTask( BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, @@ -125,9 +127,9 @@ void ExtensionDataDeleter::DeleteDatabaseOnFileThread() { DCHECK(rv == net::OK || rv == net::ERR_IO_PENDING); } -void ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread( - scoped_refptr<DOMStorageContext> dom_storage_context) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); +void ExtensionDataDeleter::DeleteLocalStorageInSequencedTask( + DOMStorageContext* dom_storage_context) { + DCHECK(dom_storage_context->task_runner()->RunsTasksOnCurrentThread()); dom_storage_context->DeleteForOrigin(origin_id_); } diff --git a/chrome/browser/extensions/extension_data_deleter.h b/chrome/browser/extensions/extension_data_deleter.h index 6732445..c3ab6ce 100644 --- a/chrome/browser/extensions/extension_data_deleter.h +++ b/chrome/browser/extensions/extension_data_deleter.h @@ -70,10 +70,10 @@ class ExtensionDataDeleter // thread. void DeleteDatabaseOnFileThread(); - // Deletes local storage for the extension. May only be called on the webkit - // thread. - void DeleteLocalStorageOnWebkitThread( - scoped_refptr<content::DOMStorageContext> dom_storage_context); + // Deletes local storage for the extension. May only be called in a + // DOMStorageContext sequenced task. + void DeleteLocalStorageInSequencedTask( + content::DOMStorageContext* dom_storage_context); // Deletes indexed db files for the extension. May only be called on the // webkit thread. |