#include "content/browser/cache_storage/cache_storage_context_impl.h"
#include "base/files/file_path.h"
#include "base/functional/bind.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "build/build_config.h"
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
#include "components/services/storage/public/cpp/buckets/constants.h"
#include "components/services/storage/public/mojom/quota_client.mojom.h"
#include "components/services/storage/public/mojom/storage_policy_update.mojom.h"
#include "components/services/storage/public/mojom/storage_usage_info.mojom.h"
#include "content/browser/cache_storage/blob_storage_context_wrapper.h"
#include "content/browser/cache_storage/cache_storage_dispatcher_host.h"
#include "content/browser/cache_storage/cache_storage_manager.h"
#include "content/browser/cache_storage/cache_storage_quota_client.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "storage/browser/quota/quota_client_type.h"
#include "storage/browser/quota/quota_manager_proxy.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
#include "url/origin.h"
namespace content {
CacheStorageContextImpl::CacheStorageContextImpl(
scoped_refptr<storage::QuotaManagerProxy> quota_manager_proxy)
: … { … }
CacheStorageContextImpl::~CacheStorageContextImpl() { … }
scoped_refptr<base::SequencedTaskRunner>
CacheStorageContextImpl::CreateSchedulerTaskRunner() { … }
void CacheStorageContextImpl::Init(
mojo::PendingReceiver<storage::mojom::CacheStorageControl> control,
const base::FilePath& user_data_directory,
mojo::PendingReceiver<storage::mojom::QuotaClient>
cache_storage_client_remote,
mojo::PendingReceiver<storage::mojom::QuotaClient>
background_fetch_client_remote,
mojo::PendingRemote<storage::mojom::BlobStorageContext>
blob_storage_context) { … }
void CacheStorageContextImpl::AddReceiver(
const network::CrossOriginEmbedderPolicy& cross_origin_embedder_policy,
mojo::PendingRemote<network::mojom::CrossOriginEmbedderPolicyReporter>
coep_reporter,
const network::DocumentIsolationPolicy& document_isolation_policy,
const storage::BucketLocator& bucket_locator,
storage::mojom::CacheStorageOwner owner,
mojo::PendingReceiver<blink::mojom::CacheStorage> receiver) { … }
void CacheStorageContextImpl::AddObserver(
mojo::PendingRemote<storage::mojom::CacheStorageObserver> observer) { … }
void CacheStorageContextImpl::ApplyPolicyUpdates(
std::vector<storage::mojom::StoragePolicyUpdatePtr> policy_updates) { … }
void CacheStorageContextImpl::AddReceiverWithBucketInfo(
const network::CrossOriginEmbedderPolicy& cross_origin_embedder_policy,
mojo::PendingRemote<network::mojom::CrossOriginEmbedderPolicyReporter>
coep_reporter,
const network::DocumentIsolationPolicy& document_isolation_policy,
const blink::StorageKey& storage_key,
storage::mojom::CacheStorageOwner owner,
mojo::PendingReceiver<blink::mojom::CacheStorage> receiver,
storage::QuotaErrorOr<storage::BucketInfo> result) { … }
}