summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authormichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-14 20:28:46 +0000
committermichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-14 20:28:46 +0000
commitc70c94f9fd39ed98f94abf8962903874bff093f0 (patch)
treeeba6a72057abebe0a0fc629a8b712350642dbf91 /chrome/browser/extensions
parenteedff4e0601522d489db61bfff5d8a5e0d6a671c (diff)
downloadchromium_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.cc16
-rw-r--r--chrome/browser/extensions/extension_data_deleter.h8
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.