Chromium Code Reviews| Index: content/browser/service_worker/service_worker_quota_client.cc |
| diff --git a/content/browser/service_worker/service_worker_quota_client.cc b/content/browser/service_worker/service_worker_quota_client.cc |
| index e2697e2303a62054a46c8736bac95798123ba30d..4c88a5d1976ecf6cf9874e4cc388a19988d21132 100644 |
| --- a/content/browser/service_worker/service_worker_quota_client.cc |
| +++ b/content/browser/service_worker/service_worker_quota_client.cc |
| @@ -30,6 +30,18 @@ void ReportToQuotaStatus(const QuotaClient::DeletionCallback& callback, |
| callback.Run(status ? storage::QuotaStatusCode::kQuotaStatusOk |
| : storage::QuotaStatusCode::kQuotaStatusUnknown); |
| } |
| + |
| +void AccumulateUsage(const QuotaClient::GetUsageCallback& callback, |
|
michaeln
2014/10/30 23:32:24
oh, the name of this method doesn't fit since its
dmurph
2014/10/31 19:10:49
Done.
|
| + const GURL& origin, |
| + const std::vector<ServiceWorkerUsageInfo>& usage_info) { |
| + for (const auto& info : usage_info) { |
| + if (info.origin == origin) { |
| + callback.Run(info.total_size_bytes); |
| + return; |
| + } |
| + } |
| + callback.Run(0); |
| +} |
| } // namespace |
| ServiceWorkerQuotaClient::ServiceWorkerQuotaClient( |
| @@ -52,8 +64,11 @@ void ServiceWorkerQuotaClient::GetOriginUsage( |
| const GURL& origin, |
| storage::StorageType type, |
| const GetUsageCallback& callback) { |
| - // TODO(dmurph): Add usage fetching when information is available. |
| - callback.Run(0); |
| + if (type != storage::StorageType::kStorageTypeTemporary) { |
| + callback.Run(0); |
| + return; |
| + } |
| + context_->GetAllOriginsInfo(base::Bind(&AccumulateUsage, callback, origin)); |
| } |
| void ServiceWorkerQuotaClient::GetOriginsForType( |