#include "services/network/first_party_sets/first_party_sets_manager.h"
#include <initializer_list>
#include <memory>
#include <optional>
#include <set>
#include <utility>
#include "base/check.h"
#include "base/containers/circular_deque.h"
#include "base/containers/flat_map.h"
#include "base/feature_list.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/sequence_checker.h"
#include "base/time/time.h"
#include "base/timer/elapsed_timer.h"
#include "base/types/optional_util.h"
#include "net/base/features.h"
#include "net/base/schemeful_site.h"
#include "net/first_party_sets/first_party_set_entry.h"
#include "net/first_party_sets/first_party_set_metadata.h"
#include "net/first_party_sets/global_first_party_sets.h"
namespace network {
FirstPartySetsManager::FirstPartySetsManager(bool enabled)
: … { … }
FirstPartySetsManager::~FirstPartySetsManager() { … }
std::optional<net::FirstPartySetMetadata>
FirstPartySetsManager::ComputeMetadata(
const net::SchemefulSite& site,
const net::SchemefulSite* top_frame_site,
const net::FirstPartySetsContextConfig& fps_context_config,
base::OnceCallback<void(net::FirstPartySetMetadata)> callback) { … }
void FirstPartySetsManager::ComputeMetadataAndInvoke(
const net::SchemefulSite& site,
const std::optional<net::SchemefulSite> top_frame_site,
const net::FirstPartySetsContextConfig& fps_context_config,
base::OnceCallback<void(net::FirstPartySetMetadata)> callback) const { … }
net::FirstPartySetMetadata FirstPartySetsManager::ComputeMetadataInternal(
const net::SchemefulSite& site,
const net::SchemefulSite* top_frame_site,
const net::FirstPartySetsContextConfig& fps_context_config) const { … }
std::optional<net::FirstPartySetEntry> FirstPartySetsManager::FindEntry(
const net::SchemefulSite& site,
const net::FirstPartySetsContextConfig& fps_context_config) const { … }
std::optional<FirstPartySetsManager::EntriesResult>
FirstPartySetsManager::FindEntries(
const base::flat_set<net::SchemefulSite>& sites,
const net::FirstPartySetsContextConfig& fps_context_config,
base::OnceCallback<void(FirstPartySetsManager::EntriesResult)> callback) { … }
void FirstPartySetsManager::FindEntriesAndInvoke(
const base::flat_set<net::SchemefulSite>& sites,
const net::FirstPartySetsContextConfig& fps_context_config,
base::OnceCallback<void(FirstPartySetsManager::EntriesResult)> callback)
const { … }
FirstPartySetsManager::EntriesResult FirstPartySetsManager::FindEntriesInternal(
const base::flat_set<net::SchemefulSite>& sites,
const net::FirstPartySetsContextConfig& fps_context_config) const { … }
void FirstPartySetsManager::InvokePendingQueries() { … }
void FirstPartySetsManager::SetCompleteSets(net::GlobalFirstPartySets sets) { … }
void FirstPartySetsManager::EnqueuePendingQuery(base::OnceClosure run_query) { … }
}