#include "net/base/network_isolation_key.h"
#include <cstddef>
#include <optional>
#include <string>
#include "base/unguessable_token.h"
#include "net/base/features.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "schemeful_site.h"
#include "url/gurl.h"
#include "url/origin.h"
#include "url/url_constants.h"
namespace net {
namespace {
std::string GetSiteDebugString(const std::optional<SchemefulSite>& site) { … }
}
NetworkIsolationKey::NetworkIsolationKey(
const SchemefulSite& top_frame_site,
const SchemefulSite& frame_site,
const std::optional<base::UnguessableToken>& nonce)
: … { … }
NetworkIsolationKey::NetworkIsolationKey(
SchemefulSite&& top_frame_site,
SchemefulSite&& frame_site,
std::optional<base::UnguessableToken>&& nonce)
: … { … }
NetworkIsolationKey::NetworkIsolationKey(const url::Origin& top_frame_origin,
const url::Origin& frame_origin)
: … { … }
NetworkIsolationKey::NetworkIsolationKey() = default;
NetworkIsolationKey::NetworkIsolationKey(
const NetworkIsolationKey& network_isolation_key) = default;
NetworkIsolationKey::NetworkIsolationKey(
NetworkIsolationKey&& network_isolation_key) = default;
NetworkIsolationKey::~NetworkIsolationKey() = default;
NetworkIsolationKey& NetworkIsolationKey::operator=(
const NetworkIsolationKey& network_isolation_key) = default;
NetworkIsolationKey& NetworkIsolationKey::operator=(
NetworkIsolationKey&& network_isolation_key) = default;
NetworkIsolationKey NetworkIsolationKey::CreateTransientForTesting() { … }
NetworkIsolationKey NetworkIsolationKey::CreateWithNewFrameSite(
const SchemefulSite& new_frame_site) const { … }
std::optional<std::string> NetworkIsolationKey::ToCacheKeyString() const { … }
std::string NetworkIsolationKey::ToDebugString() const { … }
bool NetworkIsolationKey::IsFullyPopulated() const { … }
bool NetworkIsolationKey::IsTransient() const { … }
bool NetworkIsolationKey::IsEmpty() const { … }
bool NetworkIsolationKey::IsOpaque() const { … }
NET_EXPORT std::ostream& operator<<(std::ostream& os,
const NetworkIsolationKey& nik) { … }
}