#include "content/browser/interest_group/interest_group_real_time_report_util.h"
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <map>
#include <optional>
#include "base/check_op.h"
#include "base/notreached.h"
#include "base/rand_util.h"
#include "content/services/auction_worklet/public/cpp/real_time_reporting.h"
#include "content/services/auction_worklet/public/mojom/real_time_reporting.mojom.h"
#include "third_party/blink/public/common/features.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace content {
namespace {
constexpr char kRealTimeReportPath[] = …;
}
std::vector<uint8_t> Rappor(std::optional<int32_t> maybe_bucket,
double epsilon,
int num_buckets) { … }
std::optional<int32_t> SampleContributions(
const std::vector<auction_worklet::mojom::RealTimeReportingContributionPtr>&
contributions) { … }
std::map<url::Origin, std::vector<uint8_t>>
CalculateRealTimeReportingHistograms(
std::map<
url::Origin,
std::vector<auction_worklet::mojom::RealTimeReportingContributionPtr>>
contributions) { … }
GURL GetRealTimeReportDestination(const url::Origin& origin) { … }
bool HasValidRealTimeBucket(
const auction_worklet::mojom::RealTimeReportingContributionPtr&
contribution) { … }
bool HasValidRealTimePriorityWeight(
const auction_worklet::mojom::RealTimeReportingContributionPtr&
contribution) { … }
std::vector<uint8_t> BitPacking(std::vector<uint8_t> data) { … }
}