| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/service_worker/service_worker_cache_storage.h" | 5 #include "content/browser/service_worker/service_worker_cache_storage.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
| 10 #include "base/files/memory_mapped_file.h" | 10 #include "base/files/memory_mapped_file.h" |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 | 493 |
| 494 if (!initialized_) | 494 if (!initialized_) |
| 495 return; | 495 return; |
| 496 | 496 |
| 497 for (auto& key_value : cache_map_) { | 497 for (auto& key_value : cache_map_) { |
| 498 if (key_value.second) | 498 if (key_value.second) |
| 499 key_value.second->Close(); | 499 key_value.second->Close(); |
| 500 } | 500 } |
| 501 } | 501 } |
| 502 | 502 |
| 503 int64 ServiceWorkerCacheStorage::MemoryBackedSize() const { |
| 504 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 505 |
| 506 if (!initialized_ || !memory_only_) |
| 507 return 0; |
| 508 |
| 509 int64 sum = 0; |
| 510 for (auto& key_value : cache_map_) { |
| 511 if (key_value.second) |
| 512 sum += key_value.second->MemoryBackedSize(); |
| 513 } |
| 514 return sum; |
| 515 } |
| 516 |
| 503 // Init is run lazily so that it is called on the proper MessageLoop. | 517 // Init is run lazily so that it is called on the proper MessageLoop. |
| 504 void ServiceWorkerCacheStorage::LazyInit(const base::Closure& callback) { | 518 void ServiceWorkerCacheStorage::LazyInit(const base::Closure& callback) { |
| 505 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 519 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 506 DCHECK(!initialized_); | 520 DCHECK(!initialized_); |
| 507 | 521 |
| 508 init_callbacks_.push_back(callback); | 522 init_callbacks_.push_back(callback); |
| 509 | 523 |
| 510 // If this isn't the first call to LazyInit then return as the initialization | 524 // If this isn't the first call to LazyInit then return as the initialization |
| 511 // has already started. | 525 // has already started. |
| 512 if (init_callbacks_.size() > 1u) | 526 if (init_callbacks_.size() > 1u) |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 616 scoped_refptr<ServiceWorkerCache> new_cache = | 630 scoped_refptr<ServiceWorkerCache> new_cache = |
| 617 cache_loader_->CreateServiceWorkerCache(cache_name); | 631 cache_loader_->CreateServiceWorkerCache(cache_name); |
| 618 map_iter->second = new_cache->AsWeakPtr(); | 632 map_iter->second = new_cache->AsWeakPtr(); |
| 619 return new_cache; | 633 return new_cache; |
| 620 } | 634 } |
| 621 | 635 |
| 622 return make_scoped_refptr(cache.get()); | 636 return make_scoped_refptr(cache.get()); |
| 623 } | 637 } |
| 624 | 638 |
| 625 } // namespace content | 639 } // namespace content |
| OLD | NEW |