#include "net/reporting/reporting_delivery_agent.h"
#include <algorithm>
#include <map>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "base/check.h"
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/json/json_writer.h"
#include "base/memory/raw_ptr.h"
#include "base/metrics/histogram_functions.h"
#include "base/numerics/safe_conversions.h"
#include "base/time/tick_clock.h"
#include "base/timer/timer.h"
#include "base/values.h"
#include "net/base/isolation_info.h"
#include "net/base/network_anonymization_key.h"
#include "net/base/url_util.h"
#include "net/reporting/reporting_cache.h"
#include "net/reporting/reporting_cache_observer.h"
#include "net/reporting/reporting_context.h"
#include "net/reporting/reporting_delegate.h"
#include "net/reporting/reporting_endpoint_manager.h"
#include "net/reporting/reporting_report.h"
#include "net/reporting/reporting_target_type.h"
#include "net/reporting/reporting_uploader.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace net {
namespace {
ReportList;
ReportingUploadHeaderType;
void RecordReportingUploadHeaderType(ReportingUploadHeaderType header_type) { … }
std::string SerializeReports(const ReportList& reports, base::TimeTicks now) { … }
bool CompareReportGroupKeys(const ReportingReport* lhs,
const ReportingReport* rhs) { … }
class Delivery { … };
class ReportingDeliveryAgentImpl : public ReportingDeliveryAgent,
public ReportingCacheObserver { … };
}
std::unique_ptr<ReportingDeliveryAgent> ReportingDeliveryAgent::Create(
ReportingContext* context,
const RandIntCallback& rand_callback) { … }
ReportingDeliveryAgent::~ReportingDeliveryAgent() = default;
}