Chromium Code Reviews| Index: content/browser/service_worker/service_worker_context_wrapper.cc |
| diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc |
| index b135a85056b3bed00f969ae7059a047f2803fc7a..f1692359b97465bb3eab7c7312670835fe0e6775 100644 |
| --- a/content/browser/service_worker/service_worker_context_wrapper.cc |
| +++ b/content/browser/service_worker/service_worker_context_wrapper.cc |
| @@ -23,6 +23,22 @@ |
| #include "storage/browser/quota/special_storage_policy.h" |
| namespace content { |
| +namespace { |
| + |
| +size_t GetUsageIfValid(const ServiceWorkerVersionInfo& version_info) { |
| + return version_info.version_id != kInvalidServiceWorkerVersionId |
| + ? version_info.resources_total_size_bytes |
| + : 0; |
| +} |
| + |
| +size_t GetTotalUsageForRegistrationInfo( |
| + const ServiceWorkerRegistrationInfo& registration_info) { |
| + return GetUsageIfValid(registration_info.active_version) + |
| + GetUsageIfValid(registration_info.waiting_version) + |
| + GetUsageIfValid(registration_info.installing_version); |
|
michaeln
2014/10/30 01:32:27
Like we chatted about, going with a model where th
dmurph
2014/10/30 22:06:16
Done.
|
| +} |
| + |
| +} // namespace |
| ServiceWorkerContextWrapper::ServiceWorkerContextWrapper( |
| BrowserContext* browser_context) |
| @@ -184,26 +200,20 @@ void ServiceWorkerContextWrapper::DidGetAllRegistrationsForGetAllOrigins( |
| std::vector<ServiceWorkerUsageInfo> usage_infos; |
| std::map<GURL, ServiceWorkerUsageInfo> origins; |
| - for (std::vector<ServiceWorkerRegistrationInfo>::const_iterator it = |
| - registrations.begin(); |
| - it != registrations.end(); |
| - ++it) { |
| - const ServiceWorkerRegistrationInfo& registration_info = *it; |
| + for (const auto& registration_info : registrations) { |
| GURL origin = registration_info.pattern.GetOrigin(); |
| ServiceWorkerUsageInfo& usage_info = origins[origin]; |
| if (usage_info.origin.is_empty()) |
| usage_info.origin = origin; |
| usage_info.scopes.push_back(registration_info.pattern); |
| + usage_info.total_size_bytes += |
| + GetTotalUsageForRegistrationInfo(registration_info); |
| } |
| - for (std::map<GURL, ServiceWorkerUsageInfo>::const_iterator it = |
| - origins.begin(); |
| - it != origins.end(); |
| - ++it) { |
| - usage_infos.push_back(it->second); |
| + for (const auto& origin_info_pair : origins) { |
| + usage_infos.push_back(origin_info_pair.second); |
| } |
| - |
| callback.Run(usage_infos); |
| } |