| Index: chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc
|
| index cfa4fbb00bcdf5a02616d717ff398ae35525741e..2162a6300a3e129b32b4a17940af6ed92e183c2a 100644
|
| --- a/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc
|
| @@ -24,22 +24,32 @@ void StaleWhileRevalidateMetricsObserver::OnCommit(
|
| void StaleWhileRevalidateMetricsObserver::OnComplete(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& extra_info) {
|
| + using page_load_metrics::EventOccurredInForeground;
|
| +
|
| if (!is_interesting_domain_)
|
| return;
|
|
|
| - if (!timing.load_event_start.is_zero()) {
|
| + // A page load that started in the background usually means a prerender. The
|
| + // performance metrics for a prerender aren't directly comparable to normal
|
| + // foreground page loads, so just drop them.
|
| + if (!extra_info.started_in_foreground)
|
| + return;
|
| +
|
| + const base::TimeDelta& first_background = extra_info.first_background_time;
|
| +
|
| + if (EventOccurredInForeground(timing.load_event_start, first_background)) {
|
| PAGE_LOAD_HISTOGRAM(
|
| "PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2."
|
| "NavigationToLoadEventFired",
|
| timing.load_event_start);
|
| }
|
| - if (!timing.first_layout.is_zero()) {
|
| + if (EventOccurredInForeground(timing.first_layout, first_background)) {
|
| PAGE_LOAD_HISTOGRAM(
|
| "PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2."
|
| "NavigationToFirstLayout",
|
| timing.first_layout);
|
| }
|
| - if (!timing.first_text_paint.is_zero()) {
|
| + if (EventOccurredInForeground(timing.first_text_paint, first_background)) {
|
| PAGE_LOAD_HISTOGRAM(
|
| "PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2."
|
| "NavigationToFirstTextPaint",
|
|
|