From c70c94f9fd39ed98f94abf8962903874bff093f0 Mon Sep 17 00:00:00 2001 From: "michaeln@google.com" Date: Wed, 14 Mar 2012 20:28:46 +0000 Subject: 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 --- chrome/browser/extensions/extension_data_deleter.cc | 16 +++++++++------- chrome/browser/extensions/extension_data_deleter.h | 8 ++++---- 2 files changed, 13 insertions(+), 11 deletions(-) (limited to 'chrome/browser/extensions') 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 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 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 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. -- cgit v1.1