#include "content/browser/network/cross_origin_embedder_policy_reporter.h"
#include <string_view>
#include "base/values.h"
#include "content/public/browser/storage_partition.h"
#include "services/network/public/cpp/request_destination.h"
#include "services/network/public/mojom/network_context.mojom.h"
namespace content {
namespace {
constexpr char kType[] = …;
GURL StripUsernameAndPassword(const GURL& url) { … }
}
CrossOriginEmbedderPolicyReporter::CrossOriginEmbedderPolicyReporter(
base::WeakPtr<StoragePartition> storage_partition,
const GURL& context_url,
const std::optional<std::string>& endpoint,
const std::optional<std::string>& report_only_endpoint,
const base::UnguessableToken& reporting_source,
const net::NetworkAnonymizationKey& network_anonymization_key)
: … { … }
CrossOriginEmbedderPolicyReporter::~CrossOriginEmbedderPolicyReporter() =
default;
void CrossOriginEmbedderPolicyReporter::set_reporting_source(
const base::UnguessableToken& reporting_source) { … }
void CrossOriginEmbedderPolicyReporter::QueueCorpViolationReport(
const GURL& blocked_url,
network::mojom::RequestDestination destination,
bool report_only) { … }
void CrossOriginEmbedderPolicyReporter::BindObserver(
mojo::PendingRemote<blink::mojom::ReportingObserver> observer) { … }
void CrossOriginEmbedderPolicyReporter::QueueNavigationReport(
const GURL& blocked_url,
bool report_only) { … }
void CrossOriginEmbedderPolicyReporter::QueueWorkerInitializationReport(
const GURL& blocked_url,
bool report_only) { … }
void CrossOriginEmbedderPolicyReporter::Clone(
mojo::PendingReceiver<network::mojom::CrossOriginEmbedderPolicyReporter>
receiver) { … }
void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
std::initializer_list<std::pair<std::string_view, std::string_view>> body,
bool report_only) { … }
}