#include "components/services/storage/dom_storage/session_storage_area_impl.h"
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
#include "components/services/storage/dom_storage/session_storage_data_map.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "third_party/leveldatabase/env_chromium.h"
namespace storage {
SessionStorageAreaImpl::SessionStorageAreaImpl(
SessionStorageMetadata::NamespaceEntry namespace_entry,
blink::StorageKey storage_key,
scoped_refptr<SessionStorageDataMap> data_map,
RegisterNewAreaMap register_new_map_callback)
: … { … }
SessionStorageAreaImpl::~SessionStorageAreaImpl() { … }
void SessionStorageAreaImpl::Bind(
mojo::PendingReceiver<blink::mojom::StorageArea> receiver) { … }
bool SessionStorageAreaImpl::IsBound() const { … }
std::unique_ptr<SessionStorageAreaImpl> SessionStorageAreaImpl::Clone(
SessionStorageMetadata::NamespaceEntry namespace_entry) { … }
void SessionStorageAreaImpl::NotifyObserversAllDeleted() { … }
void SessionStorageAreaImpl::AddObserver(
mojo::PendingRemote<blink::mojom::StorageAreaObserver> observer) { … }
void SessionStorageAreaImpl::Put(
const std::vector<uint8_t>& key,
const std::vector<uint8_t>& value,
const std::optional<std::vector<uint8_t>>& client_old_value,
const std::string& source,
PutCallback callback) { … }
void SessionStorageAreaImpl::Delete(
const std::vector<uint8_t>& key,
const std::optional<std::vector<uint8_t>>& client_old_value,
const std::string& source,
DeleteCallback callback) { … }
void SessionStorageAreaImpl::DeleteAll(
const std::string& source,
mojo::PendingRemote<blink::mojom::StorageAreaObserver> new_observer,
DeleteAllCallback callback) { … }
void SessionStorageAreaImpl::Get(const std::vector<uint8_t>& key,
GetCallback callback) { … }
void SessionStorageAreaImpl::GetAll(
mojo::PendingRemote<blink::mojom::StorageAreaObserver> new_observer,
GetAllCallback callback) { … }
void SessionStorageAreaImpl::Checkpoint() { … }
void SessionStorageAreaImpl::FlushForTesting() { … }
void SessionStorageAreaImpl::OnConnectionError() { … }
void SessionStorageAreaImpl::OnGetAllResult(
mojo::PendingRemote<blink::mojom::StorageAreaObserver> new_observer,
GetAllCallback callback,
std::vector<blink::mojom::KeyValuePtr> entries) { … }
void SessionStorageAreaImpl::OnDeleteAllResult(
mojo::PendingRemote<blink::mojom::StorageAreaObserver> new_observer,
DeleteAllCallback callback,
bool was_nonempty) { … }
void SessionStorageAreaImpl::CreateNewMap(
NewMapType map_type,
const std::optional<std::string>& delete_all_source) { … }
}