#include "services/network/shared_dictionary/shared_dictionary_manager_in_memory.h"
#include <algorithm>
#include "base/functional/callback_helpers.h"
#include "base/logging.h"
#include "base/notreached.h"
#include "services/network/shared_dictionary/shared_dictionary_storage_in_memory.h"
namespace network {
namespace {
class DictionaryReference { … };
struct LastUsedTimeLess { … };
class EvictionCandidate { … };
}
SharedDictionaryManagerInMemory::SharedDictionaryManagerInMemory(
uint64_t cache_max_size,
uint64_t cache_max_count)
: … { … }
SharedDictionaryManagerInMemory::~SharedDictionaryManagerInMemory() = default;
scoped_refptr<SharedDictionaryStorage>
SharedDictionaryManagerInMemory::CreateStorage(
const net::SharedDictionaryIsolationKey& isolation_key) { … }
void SharedDictionaryManagerInMemory::SetCacheMaxSize(uint64_t cache_max_size) { … }
void SharedDictionaryManagerInMemory::ClearData(
base::Time start_time,
base::Time end_time,
base::RepeatingCallback<bool(const GURL&)> url_matcher,
base::OnceClosure callback) { … }
void SharedDictionaryManagerInMemory::ClearDataForIsolationKey(
const net::SharedDictionaryIsolationKey& isolation_key,
base::OnceClosure callback) { … }
void SharedDictionaryManagerInMemory::MaybeRunCacheEvictionPerSite(
const net::SchemefulSite& top_frame_site) { … }
void SharedDictionaryManagerInMemory::MaybeRunCacheEviction() { … }
void SharedDictionaryManagerInMemory::RunCacheEvictionImpl(
std::optional<net::SchemefulSite> top_frame_site,
uint64_t max_size,
uint64_t size_low_watermark,
uint64_t max_count,
uint64_t count_low_watermark) { … }
void SharedDictionaryManagerInMemory::GetUsageInfo(
base::OnceCallback<void(const std::vector<net::SharedDictionaryUsageInfo>&)>
callback) { … }
void SharedDictionaryManagerInMemory::GetSharedDictionaryInfo(
const net::SharedDictionaryIsolationKey& isolation_key,
base::OnceCallback<
void(std::vector<network::mojom::SharedDictionaryInfoPtr>)> callback) { … }
void SharedDictionaryManagerInMemory::GetOriginsBetween(
base::Time start_time,
base::Time end_time,
base::OnceCallback<void(const std::vector<url::Origin>&)> callback) { … }
}