Index: chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc |
diff --git a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc |
index 148ee64622f2ba6eed00bd1b56a6fa76f5cb1ffd..af2778d12a61b973106536d6dd966caeb0c10d1f 100644 |
--- a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc |
+++ b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc |
@@ -63,6 +63,8 @@ const char kHistogramParseBlockedOnScriptLoad[] = |
"PageLoad.Timing2.ParseBlockedOnScriptLoad"; |
const char kHistogramParseBlockedOnScriptLoadParseComplete[] = |
"PageLoad.Timing2.ParseBlockedOnScriptLoad.ParseComplete"; |
+const char kHistogramParseStartToFirstContentfulPaint[] = |
+ "PageLoad.Timing2.ParseStartToFirstContentfulPaint"; |
const char kHistogramParseBlockedOnScriptLoadDocumentWrite[] = |
"PageLoad.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite"; |
const char kHistogramParseBlockedOnScriptLoadDocumentWriteParseComplete[] = |
@@ -290,6 +292,11 @@ void CorePageLoadMetricsObserver::RecordTimingHistograms( |
} |
} |
if (!timing.parse_start.is_zero()) { |
+ if (WasStartedInForegroundEventInForeground(timing.first_contentful_paint, |
+ info)) { |
+ PAGE_LOAD_HISTOGRAM(internal::kHistogramParseStartToFirstContentfulPaint, |
+ timing.first_contentful_paint - timing.parse_start); |
+ } |
const bool incomplete_parse_in_foreground = |
timing.parse_stop.is_zero() && info.started_in_foreground && |
info.first_background_time.is_zero(); |