summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
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.