#include "navigation_predictor_metrics_document_data.h"
#include <algorithm>
#include "chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h"
#include "services/metrics/public/cpp/metrics_utils.h"
#include "services/metrics/public/cpp/ukm_builders.h"
namespace {
std::optional<ukm::SourceId> GetUkmSourceId(
content::RenderFrameHost* render_frame_host) { … }
}
NavigationPredictorMetricsDocumentData::UserInteractionsData::
UserInteractionsData() = default;
NavigationPredictorMetricsDocumentData::UserInteractionsData::
UserInteractionsData(const UserInteractionsData&) = default;
NavigationPredictorMetricsDocumentData::UserInteractionsData&
NavigationPredictorMetricsDocumentData::UserInteractionsData::operator=(
const UserInteractionsData&) = default;
NavigationPredictorMetricsDocumentData::NavigationPredictorMetricsDocumentData(
content::RenderFrameHost* render_frame_host)
: … { … }
NavigationPredictorMetricsDocumentData::
~NavigationPredictorMetricsDocumentData() { … }
DOCUMENT_USER_DATA_KEY_IMPL(NavigationPredictorMetricsDocumentData);
NavigationPredictorMetricsDocumentData::AnchorsData::AnchorsData() = default;
NavigationPredictorMetricsDocumentData::AnchorsData::~AnchorsData() = default;
int NavigationPredictorMetricsDocumentData::AnchorsData::MedianLinkLocation() { … }
void NavigationPredictorMetricsDocumentData::RecordAnchorData(
ukm::SourceId ukm_source_id) { … }
void NavigationPredictorMetricsDocumentData::AddPageLinkClickData(
PageLinkClickData data) { … }
void NavigationPredictorMetricsDocumentData::ClearPageLinkClickData() { … }
void NavigationPredictorMetricsDocumentData::RecordPageLinkClickData(
ukm::SourceId ukm_source_id) { … }
NavigationPredictorMetricsDocumentData::AnchorElementMetricsData::
AnchorElementMetricsData() = default;
NavigationPredictorMetricsDocumentData::AnchorElementMetricsData::
AnchorElementMetricsData(AnchorElementMetricsData&&) = default;
NavigationPredictorMetricsDocumentData::AnchorElementMetricsData&
NavigationPredictorMetricsDocumentData::AnchorElementMetricsData::operator=(
AnchorElementMetricsData&&) = default;
void NavigationPredictorMetricsDocumentData::AddAnchorElementMetricsData(
int anchor_index,
AnchorElementMetricsData data) { … }
void NavigationPredictorMetricsDocumentData::RecordAnchorElementMetricsData(
int anchor_index,
const AnchorElementMetricsData& metrics) { … }
void NavigationPredictorMetricsDocumentData::RecordAnchorElementMetricsData(
ukm::SourceId ukm_source_id) { … }
void NavigationPredictorMetricsDocumentData::AddUserInteractionsData(
int anchor_index,
UserInteractionsData data) { … }
void NavigationPredictorMetricsDocumentData::ClearUserInteractionsData() { … }
void NavigationPredictorMetricsDocumentData::RecordUserInteractionsData(
ukm::SourceId ukm_source_id) { … }
void NavigationPredictorMetricsDocumentData::AddPreloadOnHoverData(
PreloadOnHoverData data) { … }
void NavigationPredictorMetricsDocumentData::RecordPreloadOnHoverData(
ukm::SourceId ukm_source_id) { … }
void NavigationPredictorMetricsDocumentData::RecordDataToUkm(
ukm::SourceId ukm_source_id) { … }