#include "content/browser/interest_group/interest_group_permissions_cache.h"
#include <map>
#include <memory>
#include "base/containers/lru_cache.h"
#include "base/functional/callback.h"
#include "base/location.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "net/base/network_isolation_key.h"
#include "url/origin.h"
namespace content {
InterestGroupPermissionsCache::InterestGroupPermissionsCache() = default;
InterestGroupPermissionsCache::~InterestGroupPermissionsCache() = default;
InterestGroupPermissionsCache::Permissions*
InterestGroupPermissionsCache::GetPermissions(
const url::Origin& frame_origin,
const url::Origin& interest_group_owner,
const net::NetworkIsolationKey& network_isolation_key) { … }
void InterestGroupPermissionsCache::CachePermissions(
Permissions permissions,
const url::Origin& frame_origin,
const url::Origin& interest_group_owner,
const net::NetworkIsolationKey& network_isolation_key) { … }
void InterestGroupPermissionsCache::Clear() { … }
size_t InterestGroupPermissionsCache::cache_shards_for_testing() const { … }
InterestGroupPermissionsCache::CacheShard::CacheShard()
: … { … }
InterestGroupPermissionsCache::CacheShard::CacheShard(CacheShard&&) = default;
InterestGroupPermissionsCache::CacheShard::~CacheShard() = default;
InterestGroupPermissionsCache::CacheShard*
InterestGroupPermissionsCache::FindShard(
const url::Origin& frame_origin,
const net::NetworkIsolationKey& network_isolation_key,
base::TimeTicks now) { … }
void InterestGroupPermissionsCache::MaybeStartDeleteExpiredTimer() { … }
void InterestGroupPermissionsCache::DeleteExpired() { … }
}