#include "net/reporting/reporting_service.h"
#include <optional>
#include <utility>
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/json/json_reader.h"
#include "base/logging.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/time/tick_clock.h"
#include "base/time/time.h"
#include "base/values.h"
#include "net/base/features.h"
#include "net/base/isolation_info.h"
#include "net/http/structured_headers.h"
#include "net/reporting/reporting_browsing_data_remover.h"
#include "net/reporting/reporting_cache.h"
#include "net/reporting/reporting_context.h"
#include "net/reporting/reporting_delegate.h"
#include "net/reporting/reporting_delivery_agent.h"
#include "net/reporting/reporting_header_parser.h"
#include "net/reporting/reporting_uploader.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace net {
namespace {
constexpr int kMaxJsonSize = …;
constexpr int kMaxJsonDepth = …;
class ReportingServiceImpl : public ReportingService { … };
}
ReportingService::~ReportingService() = default;
std::unique_ptr<ReportingService> ReportingService::Create(
const ReportingPolicy& policy,
URLRequestContext* request_context,
ReportingCache::PersistentReportingStore* store,
const base::flat_map<std::string, GURL>& enterprise_reporting_endpoints) { … }
std::unique_ptr<ReportingService> ReportingService::CreateForTesting(
std::unique_ptr<ReportingContext> reporting_context) { … }
base::Value ReportingService::StatusAsValue() const { … }
}