Index: content/browser/service_worker/service_worker_cache_storage.cc |
diff --git a/content/browser/service_worker/service_worker_cache_storage.cc b/content/browser/service_worker/service_worker_cache_storage.cc |
index 307f658f9a957ba5e57e52dc0a2ca72c3ed87aad..b16d54ce386bcb5036c61e780c64c2e1ac0c1c52 100644 |
--- a/content/browser/service_worker/service_worker_cache_storage.cc |
+++ b/content/browser/service_worker/service_worker_cache_storage.cc |
@@ -500,6 +500,20 @@ void ServiceWorkerCacheStorage::CloseAllCaches() { |
} |
} |
+int64 ServiceWorkerCacheStorage::MemoryBackedSize() const { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ |
+ if (!initialized_ || !memory_only_) |
+ return 0; |
+ |
+ int64 sum = 0; |
+ for (auto& key_value : cache_map_) { |
+ if (key_value.second) |
+ sum += key_value.second->MemoryBackedSize(); |
+ } |
+ return sum; |
+} |
+ |
// Init is run lazily so that it is called on the proper MessageLoop. |
void ServiceWorkerCacheStorage::LazyInit(const base::Closure& callback) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |