#include "components/omnibox/browser/omnibox_metrics_provider.h"
#include <string>
#include <string_view>
#include <vector>
#include "base/containers/flat_map.h"
#include "base/functional/bind.h"
#include "base/metrics/histogram_functions.h"
#include "base/no_destructor.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "build/build_config.h"
#include "components/metrics/metrics_log.h"
#include "components/omnibox/browser/autocomplete_match.h"
#include "components/omnibox/browser/autocomplete_provider.h"
#include "components/omnibox/browser/autocomplete_result.h"
#include "components/omnibox/browser/omnibox_field_trial.h"
#include "components/omnibox/browser/omnibox_log.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "services/metrics/public/cpp/ukm_recorder.h"
#include "third_party/metrics_proto/omnibox_event.pb.h"
#include "third_party/metrics_proto/omnibox_input_type.pb.h"
#include "third_party/metrics_proto/omnibox_scoring_signals.pb.h"
OmniboxEventProto;
namespace {
ScoringSignals;
OmniboxScoringSignals;
enum class ClientSummarizedResultType : int { … };
ClientSummarizedResultType GetClientSummarizedResultType(
const OmniboxEventProto::Suggestion::ResultType type) { … }
void GetScoringSignalsForLogging(const OmniboxScoringSignals& scoring_signals,
ScoringSignals& scoring_signals_for_logging) { … }
}
OmniboxMetricsProvider::OmniboxMetricsProvider() { … }
OmniboxMetricsProvider::~OmniboxMetricsProvider() { … }
void OmniboxMetricsProvider::OnRecordingEnabled() { … }
void OmniboxMetricsProvider::OnRecordingDisabled() { … }
void OmniboxMetricsProvider::ProvideCurrentSessionData(
metrics::ChromeUserMetricsExtension* uma_proto) { … }
void OmniboxMetricsProvider::OnURLOpenedFromOmnibox(OmniboxLog* log) { … }
void OmniboxMetricsProvider::RecordOmniboxOpenedURL(const OmniboxLog& log) { … }
void OmniboxMetricsProvider::RecordOmniboxOpenedURLClientSummarizedResultType(
const OmniboxLog& log) { … }