#include "services/metrics/public/cpp/mojo_ukm_recorder.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
#include "base/notreached.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/metrics/public/mojom/ukm_interface.mojom-forward.h"
#include "services/metrics/public/mojom/ukm_interface.mojom.h"
#include "third_party/abseil-cpp/absl/memory/memory.h"
namespace ukm {
std::unique_ptr<ukm::MojoUkmRecorder> MojoUkmRecorder::Create(
mojom::UkmRecorderFactory& factory) { … }
MojoUkmRecorder::MojoUkmRecorder(mojom::UkmRecorderFactory& factory) { … }
MojoUkmRecorder::~MojoUkmRecorder() = default;
base::WeakPtr<MojoUkmRecorder> MojoUkmRecorder::GetWeakPtr() { … }
void MojoUkmRecorder::UpdateSourceURL(SourceId source_id, const GURL& url) { … }
void MojoUkmRecorder::UpdateAppURL(SourceId source_id,
const GURL& url,
const AppType app_type) { … }
void MojoUkmRecorder::RecordNavigation(
SourceId source_id,
const UkmSource::NavigationData& navigation_data) { … }
void MojoUkmRecorder::AddEntry(mojom::UkmEntryPtr entry) { … }
void MojoUkmRecorder::RecordWebDXFeatures(SourceId source_id,
const std::set<int32_t>& features,
const size_t max_feature_value) { … }
void MojoUkmRecorder::MarkSourceForDeletion(ukm::SourceId source_id) { … }
void MojoUkmRecorder::SetParameters(
ukm::mojom::UkmRecorderParametersPtr params) { … }
void MojoUkmRecorder::ClientDisconnected() { … }
bool MojoUkmRecorder::ShouldDropEntry(const mojom::UkmEntry& entry) { … }
}