Index: chrome/browser/browsing_data/browsing_data_indexed_db_helper.cc |
diff --git a/chrome/browser/browsing_data/browsing_data_indexed_db_helper.cc b/chrome/browser/browsing_data/browsing_data_indexed_db_helper.cc |
index b517ee63c24e8e587ef755f2689f8b1f1350024c..d1de2f85565281d474ecd5cb01d544c4fd02f436 100644 |
--- a/chrome/browser/browsing_data/browsing_data_indexed_db_helper.cc |
+++ b/chrome/browser/browsing_data/browsing_data_indexed_db_helper.cc |
@@ -14,14 +14,16 @@ |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/browsing_data/browsing_data_helper.h" |
+#include "chrome/browser/profiles/profile.h" |
+#include "content/public/browser/browser_context.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/indexed_db_context.h" |
-#include "webkit/browser/database/database_util.h" |
+#include "content/public/browser/storage_partition.h" |
+using content::BrowserContext; |
using content::BrowserThread; |
using content::IndexedDBContext; |
using content::IndexedDBInfo; |
-using webkit_database::DatabaseUtil; |
namespace { |
@@ -38,12 +40,12 @@ class BrowsingDataIndexedDBHelperImpl : public BrowsingDataIndexedDBHelper { |
private: |
virtual ~BrowsingDataIndexedDBHelperImpl(); |
- // Enumerates all indexed database files in the WEBKIT thread. |
- void FetchIndexedDBInfoInWebKitThread(); |
+ // Enumerates all indexed database files in the IndexedDB thread. |
+ void FetchIndexedDBInfoInIndexedDBThread(); |
// Notifies the completion callback in the UI thread. |
void NotifyInUIThread(); |
- // Delete a single indexed database in the WEBKIT thread. |
- void DeleteIndexedDBInWebKitThread(const GURL& origin); |
+ // Delete a single indexed database in the IndexedDB thread. |
+ void DeleteIndexedDBInIndexedDBThread(const GURL& origin); |
scoped_refptr<IndexedDBContext> indexed_db_context_; |
@@ -52,7 +54,7 @@ class BrowsingDataIndexedDBHelperImpl : public BrowsingDataIndexedDBHelper { |
// while |is_fetching_| is true. The flag |is_fetching_| is only accessed on |
// the UI thread. |
// In the context of this class |indexed_db_info_| is only accessed on the |
- // WEBKIT thread. |
+ // context's IndexedDB thread. |
std::list<IndexedDBInfo> indexed_db_info_; |
// This only mutates on the UI thread. |
@@ -85,25 +87,26 @@ void BrowsingDataIndexedDBHelperImpl::StartFetching( |
is_fetching_ = true; |
completion_callback_ = callback; |
- BrowserThread::PostTask( |
- BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
+ indexed_db_context_->TaskRunner()->PostTask( |
+ FROM_HERE, |
base::Bind( |
- &BrowsingDataIndexedDBHelperImpl::FetchIndexedDBInfoInWebKitThread, |
+ &BrowsingDataIndexedDBHelperImpl::FetchIndexedDBInfoInIndexedDBThread, |
this)); |
} |
void BrowsingDataIndexedDBHelperImpl::DeleteIndexedDB( |
const GURL& origin) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- BrowserThread::PostTask( |
- BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
+ indexed_db_context_->TaskRunner()->PostTask( |
+ FROM_HERE, |
base::Bind( |
- &BrowsingDataIndexedDBHelperImpl::DeleteIndexedDBInWebKitThread, this, |
+ &BrowsingDataIndexedDBHelperImpl::DeleteIndexedDBInIndexedDBThread, |
+ this, |
origin)); |
} |
-void BrowsingDataIndexedDBHelperImpl::FetchIndexedDBInfoInWebKitThread() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); |
+void BrowsingDataIndexedDBHelperImpl::FetchIndexedDBInfoInIndexedDBThread() { |
+ DCHECK(indexed_db_context_->OnIndexedDBThread()); |
std::vector<IndexedDBInfo> origins = indexed_db_context_->GetAllOriginsInfo(); |
for (std::vector<IndexedDBInfo>::const_iterator iter = origins.begin(); |
iter != origins.end(); ++iter) { |
@@ -127,9 +130,9 @@ void BrowsingDataIndexedDBHelperImpl::NotifyInUIThread() { |
is_fetching_ = false; |
} |
-void BrowsingDataIndexedDBHelperImpl::DeleteIndexedDBInWebKitThread( |
+void BrowsingDataIndexedDBHelperImpl::DeleteIndexedDBInIndexedDBThread( |
const GURL& origin) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); |
+ DCHECK(indexed_db_context_->OnIndexedDBThread()); |
indexed_db_context_->DeleteForOrigin(origin); |
} |
@@ -160,16 +163,19 @@ bool CannedBrowsingDataIndexedDBHelper::PendingIndexedDBInfo::operator<( |
return origin < other.origin; |
} |
-CannedBrowsingDataIndexedDBHelper::CannedBrowsingDataIndexedDBHelper() |
- : is_fetching_(false) { |
-} |
+CannedBrowsingDataIndexedDBHelper::CannedBrowsingDataIndexedDBHelper( |
+ Profile* profile) |
+ : profile_(profile), |
+ indexed_db_context_(BrowserContext::GetDefaultStoragePartition(profile) |
+ ->GetIndexedDBContext()), |
+ is_fetching_(false) {} |
CannedBrowsingDataIndexedDBHelper::~CannedBrowsingDataIndexedDBHelper() {} |
CannedBrowsingDataIndexedDBHelper* CannedBrowsingDataIndexedDBHelper::Clone() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
CannedBrowsingDataIndexedDBHelper* clone = |
- new CannedBrowsingDataIndexedDBHelper(); |
+ new CannedBrowsingDataIndexedDBHelper(profile_); |
base::AutoLock auto_lock(lock_); |
clone->pending_indexed_db_info_ = pending_indexed_db_info_; |
@@ -216,14 +222,14 @@ void CannedBrowsingDataIndexedDBHelper::StartFetching( |
is_fetching_ = true; |
completion_callback_ = callback; |
- BrowserThread::PostTask( |
- BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
- base::Bind( |
- &CannedBrowsingDataIndexedDBHelper::ConvertPendingInfoInWebKitThread, |
- this)); |
+ indexed_db_context_->TaskRunner()->PostTask( |
+ FROM_HERE, |
+ base::Bind(&CannedBrowsingDataIndexedDBHelper:: |
+ ConvertPendingInfoInIndexedDBThread, |
+ this)); |
} |
-void CannedBrowsingDataIndexedDBHelper::ConvertPendingInfoInWebKitThread() { |
+void CannedBrowsingDataIndexedDBHelper::ConvertPendingInfoInIndexedDBThread() { |
base::AutoLock auto_lock(lock_); |
indexed_db_info_.clear(); |
for (std::set<PendingIndexedDBInfo>::const_iterator |