#include "chrome/browser/page_load_metrics/observers/prefetch_page_load_metrics_observer.h"
#include <algorithm>
#include "base/metrics/histogram_macros_local.h"
#include "base/strings/string_util.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "components/history/core/browser/history_service.h"
#include "components/page_load_metrics/browser/page_load_tracker.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/prefetch_metrics.h"
#include "content/public/browser/web_contents.h"
#include "services/metrics/public/cpp/metrics_utils.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "services/metrics/public/cpp/ukm_recorder.h"
#include "services/metrics/public/cpp/ukm_source.h"
#include "third_party/blink/public/common/mime_util/mime_util.h"
namespace {
const double kDaysSinceLastVisitBucketSpacing = …;
}
PrefetchPageLoadMetricsObserver::PrefetchPageLoadMetricsObserver() = default;
PrefetchPageLoadMetricsObserver::~PrefetchPageLoadMetricsObserver() = default;
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
PrefetchPageLoadMetricsObserver::OnStart(
content::NavigationHandle* navigation_handle,
const GURL& currently_committed_url,
bool started_in_foreground) { … }
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
PrefetchPageLoadMetricsObserver::OnFencedFramesStart(
content::NavigationHandle* navigation_handle,
const GURL& currently_committed_url) { … }
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
PrefetchPageLoadMetricsObserver::OnPrerenderStart(
content::NavigationHandle* navigation_handle,
const GURL& currently_committed_url) { … }
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
PrefetchPageLoadMetricsObserver::OnRedirect(
content::NavigationHandle* navigation_handle) { … }
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
PrefetchPageLoadMetricsObserver::OnCommit(
content::NavigationHandle* navigation_handle) { … }
void PrefetchPageLoadMetricsObserver::OnDidInternalNavigationAbort(
content::NavigationHandle* navigation_handle) { … }
void PrefetchPageLoadMetricsObserver::OnPrefetchLikely() { … }
void PrefetchPageLoadMetricsObserver::OnOriginLastVisitResult(
base::Time query_start_time,
history::HistoryLastVisitResult result) { … }
void PrefetchPageLoadMetricsObserver::RecordMetrics() { … }
void PrefetchPageLoadMetricsObserver::RecordPrefetchProxyEvent() { … }
void PrefetchPageLoadMetricsObserver::RecordAfterPrefetchReferralEvent() { … }
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
PrefetchPageLoadMetricsObserver::OnHidden(
const page_load_metrics::mojom::PageLoadTiming& timing) { … }
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
PrefetchPageLoadMetricsObserver::FlushMetricsOnAppEnterBackground(
const page_load_metrics::mojom::PageLoadTiming& timing) { … }
void PrefetchPageLoadMetricsObserver::OnComplete(
const page_load_metrics::mojom::PageLoadTiming& timing) { … }