Add Content API around DOMStorageContext and IndexedDBContext. In a followup change I will remove WebKitContext usage from chrome, and then in another change probably remove it altogether.
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9447010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123277 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_data_deleter.cc b/chrome/browser/extensions/extension_data_deleter.cc
index 7e6c1be..ad97271 100644
--- a/chrome/browser/extensions/extension_data_deleter.cc
+++ b/chrome/browser/extensions/extension_data_deleter.cc
@@ -12,7 +12,8 @@
#include "chrome/common/chrome_constants.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/url_constants.h"
-#include "content/browser/in_process_webkit/webkit_context.h"
+#include "content/public/browser/dom_storage_context.h"
+#include "content/public/browser/indexed_db_context.h"
#include "content/public/browser/resource_context.h"
#include "net/base/completion_callback.h"
#include "net/base/cookie_monster.h"
@@ -26,6 +27,8 @@
using content::BrowserContext;
using content::BrowserThread;
+using content::DOMStorageContext;
+using content::IndexedDBContext;
using content::ResourceContext;
// static
@@ -48,12 +51,15 @@
BrowserThread::PostTask(
BrowserThread::WEBKIT_DEPRECATED, FROM_HERE,
base::Bind(
- &ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread, deleter));
+ &ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread, deleter,
+ make_scoped_refptr(DOMStorageContext::GetForBrowserContext(
+ profile))));
BrowserThread::PostTask(
BrowserThread::WEBKIT_DEPRECATED, FROM_HERE,
base::Bind(
- &ExtensionDataDeleter::DeleteIndexedDBOnWebkitThread, deleter));
+ &ExtensionDataDeleter::DeleteIndexedDBOnWebkitThread, deleter,
+ make_scoped_refptr(IndexedDBContext::GetForBrowserContext(profile))));
BrowserThread::PostTask(
BrowserThread::FILE, FROM_HERE,
@@ -81,7 +87,6 @@
const GURL& storage_origin,
bool is_storage_isolated)
: extension_id_(extension_id) {
- webkit_context_ = BrowserContext::GetWebKitContext(profile);
database_tracker_ = BrowserContext::GetDatabaseTracker(profile);
// Pick the right request context depending on whether it's an extension,
// isolated app, or regular app.
@@ -121,16 +126,16 @@
DCHECK(rv == net::OK || rv == net::ERR_IO_PENDING);
}
-void ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread() {
+void ExtensionDataDeleter::DeleteLocalStorageOnWebkitThread(
+ scoped_refptr<DOMStorageContext> dom_storage_context) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- webkit_context_->dom_storage_context()->DeleteLocalStorageForOrigin(
- origin_id_);
+ dom_storage_context->DeleteForOrigin(origin_id_);
}
-void ExtensionDataDeleter::DeleteIndexedDBOnWebkitThread() {
+void ExtensionDataDeleter::DeleteIndexedDBOnWebkitThread(
+ scoped_refptr<IndexedDBContext> indexed_db_context) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- webkit_context_->indexed_db_context()->DeleteIndexedDBForOrigin(
- storage_origin_);
+ indexed_db_context->DeleteForOrigin(storage_origin_);
}
void ExtensionDataDeleter::DeleteFileSystemOnFileThread() {