diff options
Diffstat (limited to 'chromium/storage/browser/quota/quota_manager_proxy.cc')
-rw-r--r-- | chromium/storage/browser/quota/quota_manager_proxy.cc | 90 |
1 files changed, 29 insertions, 61 deletions
diff --git a/chromium/storage/browser/quota/quota_manager_proxy.cc b/chromium/storage/browser/quota/quota_manager_proxy.cc index c4c37ec1bd0..0c30182c7a8 100644 --- a/chromium/storage/browser/quota/quota_manager_proxy.cc +++ b/chromium/storage/browser/quota/quota_manager_proxy.cc @@ -17,6 +17,7 @@ #include "base/sequence_checker.h" #include "base/strings/string_number_conversions.h" #include "base/synchronization/waitable_event.h" +#include "base/task/bind_post_task.h" #include "base/task/sequenced_task_runner.h" #include "base/threading/thread_task_runner_handle.h" #include "base/time/time.h" @@ -34,39 +35,6 @@ using ::blink::StorageKey; namespace storage { -namespace { - -void DidGetBucket(scoped_refptr<base::SequencedTaskRunner> callback_task_runner, - base::OnceCallback<void(QuotaErrorOr<BucketInfo>)> callback, - QuotaErrorOr<BucketInfo> result) { - DCHECK(callback_task_runner); - DCHECK(callback); - - if (callback_task_runner->RunsTasksInCurrentSequence()) { - std::move(callback).Run(std::move(result)); - return; - } - callback_task_runner->PostTask( - FROM_HERE, base::BindOnce(std::move(callback), std::move(result))); -} - -void DidGetStatus( - scoped_refptr<base::SequencedTaskRunner> callback_task_runner, - base::OnceCallback<void(blink::mojom::QuotaStatusCode)> callback, - blink::mojom::QuotaStatusCode status) { - DCHECK(callback_task_runner); - DCHECK(callback); - - if (callback_task_runner->RunsTasksInCurrentSequence()) { - std::move(callback).Run(std::move(status)); - return; - } - callback_task_runner->PostTask( - FROM_HERE, base::BindOnce(std::move(callback), std::move(status))); -} - -} // namespace - QuotaManagerProxy::QuotaManagerProxy( QuotaManagerImpl* quota_manager_impl, scoped_refptr<base::SequencedTaskRunner> quota_manager_impl_task_runner, @@ -158,16 +126,16 @@ void QuotaManagerProxy::GetOrCreateBucket( } DCHECK_CALLED_ON_VALID_SEQUENCE(quota_manager_impl_sequence_checker_); + + auto respond = + base::BindPostTask(std::move(callback_task_runner), std::move(callback)); if (!quota_manager_impl_) { - DidGetBucket(std::move(callback_task_runner), std::move(callback), - QuotaErrorOr<BucketInfo>(QuotaError::kUnknownError)); + std::move(respond).Run(QuotaError::kUnknownError); return; } - quota_manager_impl_->GetOrCreateBucket( - storage_key, bucket_name, - base::BindOnce(&DidGetBucket, std::move(callback_task_runner), - std::move(callback))); + quota_manager_impl_->GetOrCreateBucket(storage_key, bucket_name, + std::move(respond)); } QuotaErrorOr<BucketInfo> QuotaManagerProxy::GetOrCreateBucketSync( @@ -211,16 +179,16 @@ void QuotaManagerProxy::GetOrCreateBucketDeprecated( } DCHECK_CALLED_ON_VALID_SEQUENCE(quota_manager_impl_sequence_checker_); + + auto respond = + base::BindPostTask(std::move(callback_task_runner), std::move(callback)); if (!quota_manager_impl_) { - DidGetBucket(std::move(callback_task_runner), std::move(callback), - QuotaErrorOr<BucketInfo>(QuotaError::kUnknownError)); + std::move(respond).Run(QuotaError::kUnknownError); return; } quota_manager_impl_->GetOrCreateBucketDeprecated( - storage_key, bucket_name, storage_type, - base::BindOnce(&DidGetBucket, std::move(callback_task_runner), - std::move(callback))); + storage_key, bucket_name, storage_type, std::move(respond)); } void QuotaManagerProxy::CreateBucketForTesting( @@ -242,16 +210,16 @@ void QuotaManagerProxy::CreateBucketForTesting( } DCHECK_CALLED_ON_VALID_SEQUENCE(quota_manager_impl_sequence_checker_); + + auto respond = + base::BindPostTask(std::move(callback_task_runner), std::move(callback)); if (!quota_manager_impl_) { - DidGetBucket(std::move(callback_task_runner), std::move(callback), - QuotaErrorOr<BucketInfo>(QuotaError::kUnknownError)); + std::move(respond).Run(QuotaError::kUnknownError); return; } quota_manager_impl_->CreateBucketForTesting( // IN-TEST - storage_key, bucket_name, storage_type, - base::BindOnce(&DidGetBucket, std::move(callback_task_runner), - std::move(callback))); + storage_key, bucket_name, storage_type, std::move(respond)); } void QuotaManagerProxy::GetBucket( @@ -273,16 +241,16 @@ void QuotaManagerProxy::GetBucket( } DCHECK_CALLED_ON_VALID_SEQUENCE(quota_manager_impl_sequence_checker_); + + auto respond = + base::BindPostTask(std::move(callback_task_runner), std::move(callback)); if (!quota_manager_impl_) { - DidGetBucket(std::move(callback_task_runner), std::move(callback), - QuotaErrorOr<BucketInfo>(QuotaError::kUnknownError)); + std::move(respond).Run(QuotaError::kUnknownError); return; } - quota_manager_impl_->GetBucket( - storage_key, bucket_name, type, - base::BindOnce(&DidGetBucket, std::move(callback_task_runner), - std::move(callback))); + quota_manager_impl_->GetBucket(storage_key, bucket_name, type, + std::move(respond)); } void QuotaManagerProxy::DeleteBucket( @@ -303,16 +271,16 @@ void QuotaManagerProxy::DeleteBucket( } DCHECK_CALLED_ON_VALID_SEQUENCE(quota_manager_impl_sequence_checker_); + + auto respond = + base::BindPostTask(std::move(callback_task_runner), std::move(callback)); if (!quota_manager_impl_) { - DidGetStatus(std::move(callback_task_runner), std::move(callback), - blink::mojom::QuotaStatusCode::kUnknown); + std::move(respond).Run(blink::mojom::QuotaStatusCode::kUnknown); return; } - quota_manager_impl_->FindAndDeleteBucketData( - storage_key, bucket_name, - base::BindOnce(&DidGetStatus, std::move(callback_task_runner), - std::move(callback))); + quota_manager_impl_->FindAndDeleteBucketData(storage_key, bucket_name, + std::move(respond)); } void QuotaManagerProxy::NotifyStorageAccessed(const StorageKey& storage_key, |