Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(777)

Unified Diff: content/browser/cache_storage/cache_storage.cc

Issue 2947753002: CacheStorage: Migrate to BindOnce/OnceCallback/OnceClosure (Closed)
Patch Set: Untangle Batch logic (relies on AdaptCallbackForRepeating) Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/cache_storage/cache_storage.cc
diff --git a/content/browser/cache_storage/cache_storage.cc b/content/browser/cache_storage/cache_storage.cc
index de76b56bf8df750e467cc9de040b9bc455b6523d..f6466e612798c970b9f552294a3bce621f12c547 100644
--- a/content/browser/cache_storage/cache_storage.cc
+++ b/content/browser/cache_storage/cache_storage.cc
@@ -50,9 +50,9 @@ std::string HexedHash(const std::string& value) {
}
void SizeRetrievedFromAllCaches(std::unique_ptr<int64_t> accumulator,
- const CacheStorage::SizeCallback& callback) {
+ CacheStorage::SizeCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::Bind(callback, *accumulator));
+ FROM_HERE, base::BindOnce(std::move(callback), *accumulator));
}
void DoNothingWithBool(bool success) {}
@@ -74,11 +74,11 @@ struct CacheStorage::CacheMatchResponse {
// Handles the loading and clean up of CacheStorageCache objects.
class CacheStorage::CacheLoader {
public:
- typedef base::Callback<void(std::unique_ptr<CacheStorageCache>)>
- CacheCallback;
- typedef base::Callback<void(bool)> BoolCallback;
+ using CacheCallback =
+ base::OnceCallback<void(std::unique_ptr<CacheStorageCache>)>;
+ using BoolCallback = base::OnceCallback<void(bool)>;
using CacheStorageIndexLoadCallback =
- base::Callback<void(std::unique_ptr<CacheStorageIndex>)>;
+ base::OnceCallback<void(std::unique_ptr<CacheStorageIndex>)>;
CacheLoader(
base::SequencedTaskRunner* cache_task_runner,
@@ -106,7 +106,7 @@ class CacheStorage::CacheLoader {
// Deletes any pre-existing cache of the same name and then loads it.
virtual void PrepareNewCacheDestination(const std::string& cache_name,
- const CacheCallback& callback) = 0;
+ CacheCallback callback) = 0;
// After the backend has been deleted, do any extra house keeping such as
// removing the cache's directory.
@@ -114,10 +114,10 @@ class CacheStorage::CacheLoader {
// Writes the cache index to disk if applicable.
virtual void WriteIndex(const CacheStorageIndex& index,
- const BoolCallback& callback) = 0;
+ BoolCallback callback) = 0;
// Loads the cache index from disk if applicable.
- virtual void LoadIndex(const CacheStorageIndexLoadCallback& callback) = 0;
+ virtual void LoadIndex(CacheStorageIndexLoadCallback callback) = 0;
// Called when CacheStorage has created a cache. Used to hold onto a handle to
// the cache if necessary.
@@ -172,21 +172,21 @@ class CacheStorage::MemoryLoader : public CacheStorage::CacheLoader {
}
void PrepareNewCacheDestination(const std::string& cache_name,
- const CacheCallback& callback) override {
+ CacheCallback callback) override {
std::unique_ptr<CacheStorageCache> cache =
CreateCache(cache_name, 0 /*cache_size*/);
- callback.Run(std::move(cache));
+ std::move(callback).Run(std::move(cache));
}
void CleanUpDeletedCache(CacheStorageCache* cache) override {}
void WriteIndex(const CacheStorageIndex& index,
- const BoolCallback& callback) override {
- callback.Run(true);
+ BoolCallback callback) override {
+ std::move(callback).Run(true);
}
- void LoadIndex(const CacheStorageIndexLoadCallback& callback) override {
- callback.Run(base::MakeUnique<CacheStorageIndex>());
+ void LoadIndex(CacheStorageIndexLoadCallback callback) override {
+ std::move(callback).Run(base::MakeUnique<CacheStorageIndex>());
}
void NotifyCacheCreated(
@@ -246,15 +246,16 @@ class CacheStorage::SimpleCacheLoader : public CacheStorage::CacheLoader {
}
void PrepareNewCacheDestination(const std::string& cache_name,
- const CacheCallback& callback) override {
+ CacheCallback callback) override {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
PostTaskAndReplyWithResult(
cache_task_runner_.get(), FROM_HERE,
- base::Bind(&SimpleCacheLoader::PrepareNewCacheDirectoryInPool,
- origin_path_),
- base::Bind(&SimpleCacheLoader::PrepareNewCacheCreateCache,
- weak_ptr_factory_.GetWeakPtr(), cache_name, callback));
+ base::BindOnce(&SimpleCacheLoader::PrepareNewCacheDirectoryInPool,
+ origin_path_),
+ base::BindOnce(&SimpleCacheLoader::PrepareNewCacheCreateCache,
+ weak_ptr_factory_.GetWeakPtr(), cache_name,
+ std::move(callback)));
}
// Runs on the cache_task_runner_.
@@ -271,15 +272,16 @@ class CacheStorage::SimpleCacheLoader : public CacheStorage::CacheLoader {
}
void PrepareNewCacheCreateCache(const std::string& cache_name,
- const CacheCallback& callback,
+ CacheCallback callback,
const std::string& cache_dir) {
if (cache_dir.empty()) {
- callback.Run(std::unique_ptr<CacheStorageCache>());
+ std::move(callback).Run(std::unique_ptr<CacheStorageCache>());
return;
}
cache_name_to_cache_dir_[cache_name] = cache_dir;
- callback.Run(CreateCache(cache_name, CacheStorage::kSizeUnknown));
+ std::move(callback).Run(
+ CreateCache(cache_name, CacheStorage::kSizeUnknown));
}
void CleanUpDeletedCache(CacheStorageCache* cache) override {
@@ -291,8 +293,9 @@ class CacheStorage::SimpleCacheLoader : public CacheStorage::CacheLoader {
doomed_cache_to_path_.erase(cache);
cache_task_runner_->PostTask(
- FROM_HERE, base::Bind(&SimpleCacheLoader::CleanUpDeleteCacheDirInPool,
- cache_path));
+ FROM_HERE,
+ base::BindOnce(&SimpleCacheLoader::CleanUpDeleteCacheDirInPool,
+ cache_path));
}
static void CleanUpDeleteCacheDirInPool(const base::FilePath& cache_path) {
@@ -300,7 +303,7 @@ class CacheStorage::SimpleCacheLoader : public CacheStorage::CacheLoader {
}
void WriteIndex(const CacheStorageIndex& index,
- const BoolCallback& callback) override {
+ BoolCallback callback) override {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
// 1. Create the index file as a string. (WriteIndex)
@@ -331,9 +334,9 @@ class CacheStorage::SimpleCacheLoader : public CacheStorage::CacheLoader {
PostTaskAndReplyWithResult(
cache_task_runner_.get(), FROM_HERE,
- base::Bind(&SimpleCacheLoader::WriteIndexWriteToFileInPool, tmp_path,
- index_path, serialized),
- callback);
+ base::BindOnce(&SimpleCacheLoader::WriteIndexWriteToFileInPool,
+ tmp_path, index_path, serialized),
+ std::move(callback));
}
static bool WriteIndexWriteToFileInPool(const base::FilePath& tmp_path,
@@ -349,17 +352,18 @@ class CacheStorage::SimpleCacheLoader : public CacheStorage::CacheLoader {
return base::ReplaceFile(tmp_path, index_path, NULL);
}
- void LoadIndex(const CacheStorageIndexLoadCallback& callback) override {
+ void LoadIndex(CacheStorageIndexLoadCallback callback) override {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
PostTaskAndReplyWithResult(
cache_task_runner_.get(), FROM_HERE,
- base::Bind(&SimpleCacheLoader::ReadAndMigrateIndexInPool, origin_path_),
- base::Bind(&SimpleCacheLoader::LoadIndexDidReadIndex,
- weak_ptr_factory_.GetWeakPtr(), callback));
+ base::BindOnce(&SimpleCacheLoader::ReadAndMigrateIndexInPool,
+ origin_path_),
+ base::BindOnce(&SimpleCacheLoader::LoadIndexDidReadIndex,
+ weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
}
- void LoadIndexDidReadIndex(const CacheStorageIndexLoadCallback& callback,
+ void LoadIndexDidReadIndex(CacheStorageIndexLoadCallback callback,
proto::CacheStorageIndex protobuf_index) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -378,9 +382,9 @@ class CacheStorage::SimpleCacheLoader : public CacheStorage::CacheLoader {
}
cache_task_runner_->PostTask(
- FROM_HERE, base::Bind(&DeleteUnreferencedCachesInPool, origin_path_,
- base::Passed(&cache_dirs)));
- callback.Run(std::move(index));
+ FROM_HERE, base::BindOnce(&DeleteUnreferencedCachesInPool, origin_path_,
+ base::Passed(&cache_dirs)));
+ std::move(callback).Run(std::move(index));
}
void NotifyCacheDoomed(
@@ -524,7 +528,7 @@ CacheStorage::~CacheStorage() {
}
void CacheStorage::OpenCache(const std::string& cache_name,
- const CacheAndErrorCallback& callback) {
+ CacheAndErrorCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
@@ -534,13 +538,13 @@ void CacheStorage::OpenCache(const std::string& cache_name,
storage::QuotaClient::kServiceWorkerCache, origin_,
storage::kStorageTypeTemporary);
- scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::OpenCacheImpl, weak_factory_.GetWeakPtr(),
- cache_name, scheduler_->WrapCallbackToRunNext(callback)));
+ scheduler_->ScheduleOperation(base::BindOnce(
+ &CacheStorage::OpenCacheImpl, weak_factory_.GetWeakPtr(), cache_name,
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
void CacheStorage::HasCache(const std::string& cache_name,
- const BoolAndErrorCallback& callback) {
+ BoolAndErrorCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
@@ -550,13 +554,13 @@ void CacheStorage::HasCache(const std::string& cache_name,
storage::QuotaClient::kServiceWorkerCache, origin_,
storage::kStorageTypeTemporary);
- scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::HasCacheImpl, weak_factory_.GetWeakPtr(),
- cache_name, scheduler_->WrapCallbackToRunNext(callback)));
+ scheduler_->ScheduleOperation(base::BindOnce(
+ &CacheStorage::HasCacheImpl, weak_factory_.GetWeakPtr(), cache_name,
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
void CacheStorage::DeleteCache(const std::string& cache_name,
- const BoolAndErrorCallback& callback) {
+ BoolAndErrorCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
@@ -566,12 +570,12 @@ void CacheStorage::DeleteCache(const std::string& cache_name,
storage::QuotaClient::kServiceWorkerCache, origin_,
storage::kStorageTypeTemporary);
- scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::DeleteCacheImpl, weak_factory_.GetWeakPtr(),
- cache_name, scheduler_->WrapCallbackToRunNext(callback)));
+ scheduler_->ScheduleOperation(base::BindOnce(
+ &CacheStorage::DeleteCacheImpl, weak_factory_.GetWeakPtr(), cache_name,
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
-void CacheStorage::EnumerateCaches(const IndexCallback& callback) {
+void CacheStorage::EnumerateCaches(IndexCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
@@ -581,16 +585,16 @@ void CacheStorage::EnumerateCaches(const IndexCallback& callback) {
storage::QuotaClient::kServiceWorkerCache, origin_,
storage::kStorageTypeTemporary);
- scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::EnumerateCachesImpl, weak_factory_.GetWeakPtr(),
- scheduler_->WrapCallbackToRunNext(callback)));
+ scheduler_->ScheduleOperation(base::BindOnce(
+ &CacheStorage::EnumerateCachesImpl, weak_factory_.GetWeakPtr(),
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
void CacheStorage::MatchCache(
const std::string& cache_name,
std::unique_ptr<ServiceWorkerFetchRequest> request,
const CacheStorageCacheQueryParams& match_params,
- const CacheStorageCache::ResponseCallback& callback) {
+ CacheStorageCache::ResponseCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
@@ -601,15 +605,15 @@ void CacheStorage::MatchCache(
storage::kStorageTypeTemporary);
scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::MatchCacheImpl, weak_factory_.GetWeakPtr(),
- cache_name, base::Passed(std::move(request)), match_params,
- scheduler_->WrapCallbackToRunNext(callback)));
+ base::BindOnce(&CacheStorage::MatchCacheImpl, weak_factory_.GetWeakPtr(),
+ cache_name, base::Passed(std::move(request)), match_params,
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
void CacheStorage::MatchAllCaches(
std::unique_ptr<ServiceWorkerFetchRequest> request,
const CacheStorageCacheQueryParams& match_params,
- const CacheStorageCache::ResponseCallback& callback) {
+ CacheStorageCache::ResponseCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
@@ -619,32 +623,32 @@ void CacheStorage::MatchAllCaches(
storage::QuotaClient::kServiceWorkerCache, origin_,
storage::kStorageTypeTemporary);
- scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::MatchAllCachesImpl, weak_factory_.GetWeakPtr(),
- base::Passed(std::move(request)), match_params,
- scheduler_->WrapCallbackToRunNext(callback)));
+ scheduler_->ScheduleOperation(base::BindOnce(
+ &CacheStorage::MatchAllCachesImpl, weak_factory_.GetWeakPtr(),
+ base::Passed(std::move(request)), match_params,
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
-void CacheStorage::GetSizeThenCloseAllCaches(const SizeCallback& callback) {
+void CacheStorage::GetSizeThenCloseAllCaches(SizeCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
LazyInit();
- scheduler_->ScheduleOperation(base::Bind(
+ scheduler_->ScheduleOperation(base::BindOnce(
&CacheStorage::GetSizeThenCloseAllCachesImpl, weak_factory_.GetWeakPtr(),
- scheduler_->WrapCallbackToRunNext(callback)));
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
-void CacheStorage::Size(const CacheStorage::SizeCallback& callback) {
+void CacheStorage::Size(CacheStorage::SizeCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!initialized_)
LazyInit();
scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::SizeImpl, weak_factory_.GetWeakPtr(),
- scheduler_->WrapCallbackToRunNext(callback)));
+ base::BindOnce(&CacheStorage::SizeImpl, weak_factory_.GetWeakPtr(),
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
void CacheStorage::ScheduleWriteIndex() {
@@ -658,27 +662,27 @@ void CacheStorage::ScheduleWriteIndex() {
base::TimeDelta::FromSeconds(kWriteIndexDelaySecs));
}
-void CacheStorage::WriteIndex(const base::Callback<void(bool)>& callback) {
+void CacheStorage::WriteIndex(base::OnceCallback<void(bool)> callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::WriteIndexImpl, weak_factory_.GetWeakPtr(),
- scheduler_->WrapCallbackToRunNext(callback)));
+ base::BindOnce(&CacheStorage::WriteIndexImpl, weak_factory_.GetWeakPtr(),
+ scheduler_->WrapCallbackToRunNext(std::move(callback))));
}
-void CacheStorage::WriteIndexImpl(const base::Callback<void(bool)>& callback) {
+void CacheStorage::WriteIndexImpl(base::OnceCallback<void(bool)> callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
- cache_loader_->WriteIndex(*cache_index_, callback);
+ cache_loader_->WriteIndex(*cache_index_, std::move(callback));
}
bool CacheStorage::InitiateScheduledIndexWriteForTest(
- const base::Callback<void(bool)>& callback) {
+ base::OnceCallback<void(bool)> callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (index_write_pending()) {
index_write_task_.Cancel();
- WriteIndex(callback);
+ WriteIndex(std::move(callback));
return true;
}
- callback.Run(true /* success */);
+ std::move(callback).Run(true /* success */);
return false;
}
@@ -692,7 +696,7 @@ void CacheStorage::CacheSizeUpdated(const CacheStorageCache* cache,
}
void CacheStorage::StartAsyncOperationForTesting() {
- scheduler_->ScheduleOperation(base::Bind(&base::DoNothing));
+ scheduler_->ScheduleOperation(base::BindOnce(&base::DoNothing));
}
void CacheStorage::CompleteAsyncOperationForTesting() {
@@ -711,7 +715,7 @@ void CacheStorage::LazyInit() {
initializing_ = true;
scheduler_->ScheduleOperation(
- base::Bind(&CacheStorage::LazyInitImpl, weak_factory_.GetWeakPtr()));
+ base::BindOnce(&CacheStorage::LazyInitImpl, weak_factory_.GetWeakPtr()));
}
void CacheStorage::LazyInitImpl() {
@@ -724,8 +728,8 @@ void CacheStorage::LazyInitImpl() {
// 3. Once each load is complete, update the map variables.
// 4. Call the list of waiting callbacks.
- cache_loader_->LoadIndex(base::Bind(&CacheStorage::LazyInitDidLoadIndex,
- weak_factory_.GetWeakPtr()));
+ cache_loader_->LoadIndex(base::BindOnce(&CacheStorage::LazyInitDidLoadIndex,
+ weak_factory_.GetWeakPtr()));
}
void CacheStorage::LazyInitDidLoadIndex(
@@ -748,22 +752,23 @@ void CacheStorage::LazyInitDidLoadIndex(
}
void CacheStorage::OpenCacheImpl(const std::string& cache_name,
- const CacheAndErrorCallback& callback) {
+ CacheAndErrorCallback callback) {
std::unique_ptr<CacheStorageCacheHandle> cache_handle =
GetLoadedCache(cache_name);
if (cache_handle) {
- callback.Run(std::move(cache_handle), CACHE_STORAGE_OK);
+ std::move(callback).Run(std::move(cache_handle), CACHE_STORAGE_OK);
return;
}
cache_loader_->PrepareNewCacheDestination(
- cache_name, base::Bind(&CacheStorage::CreateCacheDidCreateCache,
- weak_factory_.GetWeakPtr(), cache_name, callback));
+ cache_name, base::BindOnce(&CacheStorage::CreateCacheDidCreateCache,
+ weak_factory_.GetWeakPtr(), cache_name,
+ std::move(callback)));
}
void CacheStorage::CreateCacheDidCreateCache(
const std::string& cache_name,
- const CacheAndErrorCallback& callback,
+ CacheAndErrorCallback callback,
std::unique_ptr<CacheStorageCache> cache) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -771,8 +776,8 @@ void CacheStorage::CreateCacheDidCreateCache(
static_cast<bool>(cache));
if (!cache) {
- callback.Run(std::unique_ptr<CacheStorageCacheHandle>(),
- CACHE_STORAGE_ERROR_STORAGE);
+ std::move(callback).Run(std::unique_ptr<CacheStorageCacheHandle>(),
+ CACHE_STORAGE_ERROR_STORAGE);
return;
}
@@ -783,15 +788,16 @@ void CacheStorage::CreateCacheDidCreateCache(
CacheStorageIndex::CacheMetadata(cache_name, cache_ptr->cache_size()));
cache_loader_->WriteIndex(
- *cache_index_, base::Bind(&CacheStorage::CreateCacheDidWriteIndex,
- weak_factory_.GetWeakPtr(), callback,
- base::Passed(CreateCacheHandle(cache_ptr))));
+ *cache_index_,
+ base::BindOnce(&CacheStorage::CreateCacheDidWriteIndex,
+ weak_factory_.GetWeakPtr(), std::move(callback),
+ base::Passed(CreateCacheHandle(cache_ptr))));
cache_loader_->NotifyCacheCreated(cache_name, CreateCacheHandle(cache_ptr));
}
void CacheStorage::CreateCacheDidWriteIndex(
- const CacheAndErrorCallback& callback,
+ CacheAndErrorCallback callback,
std::unique_ptr<CacheStorageCacheHandle> cache_handle,
bool success) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -799,37 +805,38 @@ void CacheStorage::CreateCacheDidWriteIndex(
// TODO(jkarlin): Handle !success.
- callback.Run(std::move(cache_handle), CACHE_STORAGE_OK);
+ std::move(callback).Run(std::move(cache_handle), CACHE_STORAGE_OK);
}
void CacheStorage::HasCacheImpl(const std::string& cache_name,
- const BoolAndErrorCallback& callback) {
+ BoolAndErrorCallback callback) {
bool has_cache = base::ContainsKey(cache_map_, cache_name);
- callback.Run(has_cache, CACHE_STORAGE_OK);
+ std::move(callback).Run(has_cache, CACHE_STORAGE_OK);
}
void CacheStorage::DeleteCacheImpl(const std::string& cache_name,
- const BoolAndErrorCallback& callback) {
+ BoolAndErrorCallback callback) {
std::unique_ptr<CacheStorageCacheHandle> cache_handle =
GetLoadedCache(cache_name);
if (!cache_handle) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::Bind(callback, false, CACHE_STORAGE_ERROR_NOT_FOUND));
+ FROM_HERE, base::BindOnce(std::move(callback), false,
+ CACHE_STORAGE_ERROR_NOT_FOUND));
return;
}
cache_handle->value()->SetObserver(nullptr);
cache_index_->DoomCache(cache_name);
cache_loader_->WriteIndex(
- *cache_index_,
- base::Bind(&CacheStorage::DeleteCacheDidWriteIndex,
- weak_factory_.GetWeakPtr(),
- base::Passed(std::move(cache_handle)), callback));
+ *cache_index_, base::BindOnce(&CacheStorage::DeleteCacheDidWriteIndex,
+ weak_factory_.GetWeakPtr(),
+ base::Passed(std::move(cache_handle)),
+ std::move(callback)));
}
void CacheStorage::DeleteCacheDidWriteIndex(
std::unique_ptr<CacheStorageCacheHandle> cache_handle,
- const BoolAndErrorCallback& callback,
+ BoolAndErrorCallback callback,
bool success) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -837,7 +844,7 @@ void CacheStorage::DeleteCacheDidWriteIndex(
// Undo any changes if the index couldn't be written to disk.
cache_index_->RestoreDoomedCache();
cache_handle->value()->SetObserver(this);
- callback.Run(false, CACHE_STORAGE_ERROR_STORAGE);
+ std::move(callback).Run(false, CACHE_STORAGE_ERROR_STORAGE);
return;
}
@@ -853,15 +860,15 @@ void CacheStorage::DeleteCacheDidWriteIndex(
cache_loader_->NotifyCacheDoomed(std::move(cache_handle));
- callback.Run(true, CACHE_STORAGE_OK);
+ std::move(callback).Run(true, CACHE_STORAGE_OK);
}
// Call this once the last handle to a doomed cache is gone. It's okay if this
// doesn't get to complete before shutdown, the cache will be removed from disk
// on next startup in that case.
void CacheStorage::DeleteCacheFinalize(CacheStorageCache* doomed_cache) {
- doomed_cache->Size(base::Bind(&CacheStorage::DeleteCacheDidGetSize,
- weak_factory_.GetWeakPtr(), doomed_cache));
+ doomed_cache->Size(base::BindOnce(&CacheStorage::DeleteCacheDidGetSize,
+ weak_factory_.GetWeakPtr(), doomed_cache));
}
void CacheStorage::DeleteCacheDidGetSize(CacheStorageCache* doomed_cache,
@@ -876,55 +883,57 @@ void CacheStorage::DeleteCacheDidGetSize(CacheStorageCache* doomed_cache,
doomed_caches_.erase(doomed_caches_iter);
}
-void CacheStorage::EnumerateCachesImpl(const IndexCallback& callback) {
- callback.Run(*cache_index_);
+void CacheStorage::EnumerateCachesImpl(IndexCallback callback) {
+ std::move(callback).Run(*cache_index_);
}
void CacheStorage::MatchCacheImpl(
const std::string& cache_name,
std::unique_ptr<ServiceWorkerFetchRequest> request,
const CacheStorageCacheQueryParams& match_params,
- const CacheStorageCache::ResponseCallback& callback) {
+ CacheStorageCache::ResponseCallback callback) {
std::unique_ptr<CacheStorageCacheHandle> cache_handle =
GetLoadedCache(cache_name);
if (!cache_handle) {
- callback.Run(CACHE_STORAGE_ERROR_CACHE_NAME_NOT_FOUND,
- std::unique_ptr<ServiceWorkerResponse>(),
- std::unique_ptr<storage::BlobDataHandle>());
+ std::move(callback).Run(CACHE_STORAGE_ERROR_CACHE_NAME_NOT_FOUND,
+ std::unique_ptr<ServiceWorkerResponse>(),
+ std::unique_ptr<storage::BlobDataHandle>());
return;
}
// Pass the cache handle along to the callback to keep the cache open until
// match is done.
CacheStorageCache* cache_ptr = cache_handle->value();
- cache_ptr->Match(
- std::move(request), match_params,
- base::Bind(&CacheStorage::MatchCacheDidMatch, weak_factory_.GetWeakPtr(),
- base::Passed(std::move(cache_handle)), callback));
+ cache_ptr->Match(std::move(request), match_params,
+ base::BindOnce(&CacheStorage::MatchCacheDidMatch,
+ weak_factory_.GetWeakPtr(),
+ base::Passed(std::move(cache_handle)),
+ std::move(callback)));
}
void CacheStorage::MatchCacheDidMatch(
std::unique_ptr<CacheStorageCacheHandle> cache_handle,
- const CacheStorageCache::ResponseCallback& callback,
+ CacheStorageCache::ResponseCallback callback,
CacheStorageError error,
std::unique_ptr<ServiceWorkerResponse> response,
std::unique_ptr<storage::BlobDataHandle> handle) {
- callback.Run(error, std::move(response), std::move(handle));
+ std::move(callback).Run(error, std::move(response), std::move(handle));
}
void CacheStorage::MatchAllCachesImpl(
std::unique_ptr<ServiceWorkerFetchRequest> request,
const CacheStorageCacheQueryParams& match_params,
- const CacheStorageCache::ResponseCallback& callback) {
+ CacheStorageCache::ResponseCallback callback) {
std::vector<CacheMatchResponse>* match_responses =
new std::vector<CacheMatchResponse>(cache_index_->num_entries());
- base::Closure barrier_closure = base::BarrierClosure(
+ base::RepeatingClosure barrier_closure = base::BarrierClosure(
cache_index_->num_entries(),
- base::Bind(&CacheStorage::MatchAllCachesDidMatchAll,
- weak_factory_.GetWeakPtr(),
- base::Passed(base::WrapUnique(match_responses)), callback));
+ base::BindOnce(&CacheStorage::MatchAllCachesDidMatchAll,
+ weak_factory_.GetWeakPtr(),
+ base::Passed(base::WrapUnique(match_responses)),
+ std::move(callback)));
size_t idx = 0;
for (const auto& cache_metadata : cache_index_->ordered_cache_metadata()) {
@@ -933,12 +942,12 @@ void CacheStorage::MatchAllCachesImpl(
DCHECK(cache_handle);
CacheStorageCache* cache_ptr = cache_handle->value();
- cache_ptr->Match(base::MakeUnique<ServiceWorkerFetchRequest>(*request),
- match_params,
- base::Bind(&CacheStorage::MatchAllCachesDidMatch,
- weak_factory_.GetWeakPtr(),
- base::Passed(std::move(cache_handle)),
- &match_responses->at(idx), barrier_closure));
+ cache_ptr->Match(
+ base::MakeUnique<ServiceWorkerFetchRequest>(*request), match_params,
+ base::BindOnce(&CacheStorage::MatchAllCachesDidMatch,
+ weak_factory_.GetWeakPtr(),
+ base::Passed(std::move(cache_handle)),
+ &match_responses->at(idx), barrier_closure));
idx++;
}
}
@@ -946,7 +955,7 @@ void CacheStorage::MatchAllCachesImpl(
void CacheStorage::MatchAllCachesDidMatch(
std::unique_ptr<CacheStorageCacheHandle> cache_handle,
CacheMatchResponse* out_match_response,
- const base::Closure& barrier_closure,
+ const base::RepeatingClosure& barrier_closure,
CacheStorageError error,
std::unique_ptr<ServiceWorkerResponse> service_worker_response,
std::unique_ptr<storage::BlobDataHandle> handle) {
@@ -959,18 +968,18 @@ void CacheStorage::MatchAllCachesDidMatch(
void CacheStorage::MatchAllCachesDidMatchAll(
std::unique_ptr<std::vector<CacheMatchResponse>> match_responses,
- const CacheStorageCache::ResponseCallback& callback) {
+ CacheStorageCache::ResponseCallback callback) {
for (CacheMatchResponse& match_response : *match_responses) {
if (match_response.error == CACHE_STORAGE_ERROR_NOT_FOUND)
continue;
- callback.Run(match_response.error,
- std::move(match_response.service_worker_response),
- std::move(match_response.blob_data_handle));
+ std::move(callback).Run(match_response.error,
+ std::move(match_response.service_worker_response),
+ std::move(match_response.blob_data_handle));
return;
}
- callback.Run(CACHE_STORAGE_ERROR_NOT_FOUND,
- std::unique_ptr<ServiceWorkerResponse>(),
- std::unique_ptr<storage::BlobDataHandle>());
+ std::move(callback).Run(CACHE_STORAGE_ERROR_NOT_FOUND,
+ std::unique_ptr<ServiceWorkerResponse>(),
+ std::unique_ptr<storage::BlobDataHandle>());
}
void CacheStorage::AddCacheHandleRef(CacheStorageCache* cache) {
@@ -1039,53 +1048,56 @@ std::unique_ptr<CacheStorageCacheHandle> CacheStorage::GetLoadedCache(
void CacheStorage::SizeRetrievedFromCache(
std::unique_ptr<CacheStorageCacheHandle> cache_handle,
- const base::Closure& closure,
+ base::OnceClosure closure,
int64_t* accumulator,
int64_t size) {
cache_index_->SetCacheSize(cache_handle->value()->cache_name(), size);
*accumulator += size;
- closure.Run();
+ std::move(closure).Run();
}
-void CacheStorage::GetSizeThenCloseAllCachesImpl(const SizeCallback& callback) {
+void CacheStorage::GetSizeThenCloseAllCachesImpl(SizeCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(initialized_);
std::unique_ptr<int64_t> accumulator(new int64_t(0));
int64_t* accumulator_ptr = accumulator.get();
- base::Closure barrier_closure = base::BarrierClosure(
- cache_index_->num_entries(),
- base::Bind(&SizeRetrievedFromAllCaches,
- base::Passed(std::move(accumulator)), callback));
+ base::RepeatingClosure barrier_closure =
+ base::BarrierClosure(cache_index_->num_entries(),
+ base::BindOnce(&SizeRetrievedFromAllCaches,
+ base::Passed(std::move(accumulator)),
+ std::move(callback)));
for (const auto& cache_metadata : cache_index_->ordered_cache_metadata()) {
auto cache_handle = GetLoadedCache(cache_metadata.name);
CacheStorageCache* cache = cache_handle->value();
- cache->GetSizeThenClose(base::Bind(&CacheStorage::SizeRetrievedFromCache,
- weak_factory_.GetWeakPtr(),
- base::Passed(std::move(cache_handle)),
- barrier_closure, accumulator_ptr));
+ cache->GetSizeThenClose(base::BindOnce(
+ &CacheStorage::SizeRetrievedFromCache, weak_factory_.GetWeakPtr(),
+ base::Passed(std::move(cache_handle)), barrier_closure,
+ accumulator_ptr));
}
}
-void CacheStorage::SizeImpl(const SizeCallback& callback) {
+void CacheStorage::SizeImpl(SizeCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(initialized_);
if (cache_index_->GetStorageSize() != kSizeUnknown) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::Bind(callback, cache_index_->GetStorageSize()));
+ FROM_HERE,
+ base::BindOnce(std::move(callback), cache_index_->GetStorageSize()));
return;
}
std::unique_ptr<int64_t> accumulator(new int64_t(0));
int64_t* accumulator_ptr = accumulator.get();
- base::Closure barrier_closure = base::BarrierClosure(
- cache_index_->num_entries(),
- base::Bind(&SizeRetrievedFromAllCaches,
- base::Passed(std::move(accumulator)), callback));
+ base::RepeatingClosure barrier_closure =
+ base::BarrierClosure(cache_index_->num_entries(),
+ base::BindOnce(&SizeRetrievedFromAllCaches,
+ base::Passed(std::move(accumulator)),
+ std::move(callback)));
for (const auto& cache_metadata : cache_index_->ordered_cache_metadata()) {
if (cache_metadata.size != CacheStorage::kSizeUnknown) {
@@ -1096,10 +1108,10 @@ void CacheStorage::SizeImpl(const SizeCallback& callback) {
std::unique_ptr<CacheStorageCacheHandle> cache_handle =
GetLoadedCache(cache_metadata.name);
CacheStorageCache* cache = cache_handle->value();
- cache->Size(base::Bind(&CacheStorage::SizeRetrievedFromCache,
- weak_factory_.GetWeakPtr(),
- base::Passed(std::move(cache_handle)),
- barrier_closure, accumulator_ptr));
+ cache->Size(base::BindOnce(&CacheStorage::SizeRetrievedFromCache,
+ weak_factory_.GetWeakPtr(),
+ base::Passed(std::move(cache_handle)),
+ barrier_closure, accumulator_ptr));
}
}

Powered by Google App Engine
This is Rietveld 408576698