Chromium Code Reviews| 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..331e9e17d2a763ffa68318f9c0f9a1493b71fb4d 100644 |
| --- a/android_webview/native/aw_quota_manager_bridge_impl.cc |
| +++ b/android_webview/native/aw_quota_manager_bridge_impl.cc |
| @@ -173,7 +173,7 @@ 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. |
| @@ -181,73 +181,41 @@ QuotaManager* AwQuotaManagerBridgeImpl::GetQuotaManager() const { |
| content::BrowserContext::GetStoragePartitionForSite( |
|
awong
2013/03/04 23:44:28
Please prefer BrowserContext::GetDefaultStoragePar
boliu
2013/03/05 00:00:00
Done.
|
| browser_context_, GURL()); |
| 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(), |