Index: android_webview/native/aw_quota_manager_bridge_impl.cc |
diff --git a/android_webview/native/aw_quota_manager_bridge_impl.cc b/android_webview/native/aw_quota_manager_bridge_impl.cc |
index 83fdb603b7cd6573cf4e574f50ad91067409d8be..1de22bdfe57aa2368115bf4ab66c9af7e712a7e9 100644 |
--- a/android_webview/native/aw_quota_manager_bridge_impl.cc |
+++ b/android_webview/native/aw_quota_manager_bridge_impl.cc |
@@ -173,81 +173,48 @@ void AwQuotaManagerBridgeImpl::Init(JNIEnv* env, jobject object) { |
java_ref_ = JavaObjectWeakGlobalRef(env, object); |
} |
-QuotaManager* AwQuotaManagerBridgeImpl::GetQuotaManager() const { |
+StoragePartition* AwQuotaManagerBridgeImpl::GetStoragePartition() const { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
// AndroidWebview does not use per-site storage partitions. |
StoragePartition* storage_partition = |
- content::BrowserContext::GetStoragePartitionForSite( |
- browser_context_, GURL()); |
+ content::BrowserContext::GetDefaultStoragePartition(browser_context_); |
DCHECK(storage_partition); |
- |
- QuotaManager* quota_manager = storage_partition->GetQuotaManager(); |
- DCHECK(quota_manager); |
- return quota_manager; |
+ return storage_partition; |
} |
-namespace { |
- |
-void IgnoreStatus(quota::QuotaStatusCode status_code) {} |
+QuotaManager* AwQuotaManagerBridgeImpl::GetQuotaManager() const { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-void DeleteAllOriginData( |
- QuotaManager* quota_manager, |
- const std::set<GURL>& origins, |
- quota::StorageType type) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
- for (std::set<GURL>::const_iterator origin = origins.begin(); |
- origin != origins.end(); |
- ++origin) { |
- quota_manager->DeleteOriginData(*origin, |
- type, |
- QuotaClient::kAllClientsMask, |
- base::Bind(&IgnoreStatus)); |
- } |
+ QuotaManager* quota_manager = GetStoragePartition()->GetQuotaManager(); |
+ DCHECK(quota_manager); |
+ return quota_manager; |
} |
-} // namespace |
- |
// Cannot directly call StoragePartition clear data methods because cookies are |
// controlled separately. |
-// TODO(boliu): Should consider dedup delete code with StoragePartition. |
void AwQuotaManagerBridgeImpl::DeleteAllData(JNIEnv* env, jobject object) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- scoped_refptr<QuotaManager> quota_manager = GetQuotaManager(); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&QuotaManager::GetOriginsModifiedSince, |
- quota_manager, |
- quota::kStorageTypeTemporary, |
- base::Time() /* Since beginning of time. */, |
- base::Bind(&DeleteAllOriginData, quota_manager))); |
- |
- // TODO(boliu): This needs to clear WebStorage (ie localStorage and |
- // sessionStorage). |
+ GetStoragePartition()->AsyncClearData( |
+ StoragePartition::kQuotaManagedTemporaryStorage | |
+ StoragePartition::kLocalDomStorage | |
+ StoragePartition::kSessionDomStorage); |
} |
void AwQuotaManagerBridgeImpl::DeleteOrigin( |
JNIEnv* env, jobject object, jstring origin) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
- base::Bind(&QuotaManager::DeleteOriginData, |
- GetQuotaManager(), |
- GURL(base::android::ConvertJavaStringToUTF16(env, origin)), |
- quota::kStorageTypeTemporary, |
- QuotaClient::kAllClientsMask, |
- base::Bind(&IgnoreStatus))); |
+ StoragePartition* storage_partition = GetStoragePartition(); |
+ storage_partition->AsyncClearDataForOrigin( |
+ StoragePartition::kQuotaManagedTemporaryStorage, |
+ GURL(base::android::ConvertJavaStringToUTF16(env, origin)), |
+ storage_partition->GetURLRequestContext()); |
} |
void AwQuotaManagerBridgeImpl::GetOrigins( |
JNIEnv* env, jobject object, jint callback_id) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- // TODO(boliu): Consider expanding QuotaManager::GetUsageInfo to include |
- // quota so can be used here. |
- |
const GetOriginsCallback ui_callback = base::Bind( |
&AwQuotaManagerBridgeImpl::GetOriginsCallbackImpl, |
weak_factory_.GetWeakPtr(), |