#include "components/services/storage/partition_impl.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/synchronization/waitable_event.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "build/build_config.h"
#include "components/services/storage/dom_storage/local_storage_impl.h"
#include "components/services/storage/dom_storage/session_storage_impl.h"
#include "components/services/storage/service_worker/service_worker_storage_control_impl.h"
#include "components/services/storage/storage_service_impl.h"
namespace storage {
namespace {
const char kSessionStorageDirectory[] = …;
template <typename T>
base::OnceClosure MakeDeferredDeleter(std::unique_ptr<T> object) { … }
template <typename T>
void ShutDown(std::unique_ptr<T> object) { … }
}
PartitionImpl::PartitionImpl(StorageServiceImpl* service,
const std::optional<base::FilePath>& path)
: … { … }
PartitionImpl::~PartitionImpl() { … }
void PartitionImpl::BindReceiver(
mojo::PendingReceiver<mojom::Partition> receiver) { … }
void PartitionImpl::BindOriginContext(
const url::Origin& origin,
mojo::PendingReceiver<mojom::OriginContext> receiver) { … }
void PartitionImpl::BindSessionStorageControl(
mojo::PendingReceiver<mojom::SessionStorageControl> receiver) { … }
void PartitionImpl::BindLocalStorageControl(
mojo::PendingReceiver<mojom::LocalStorageControl> receiver) { … }
void PartitionImpl::BindServiceWorkerStorageControl(
mojo::PendingReceiver<mojom::ServiceWorkerStorageControl> receiver) { … }
void PartitionImpl::OnDisconnect() { … }
void PartitionImpl::RemoveOriginContext(const url::Origin& origin) { … }
}