| Index: chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h
|
| diff --git a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h
|
| index a7d06d5dc6a2a84c9222d20f5f1f373d65fc1ce9..2dd133ff9e8179fa707dfb94a64210de3692aa96 100644
|
| --- a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h
|
| +++ b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h
|
| @@ -20,8 +20,10 @@ extern const char kHistogramFirstTextPaint[];
|
| extern const char kHistogramDomContentLoaded[];
|
| extern const char kHistogramLoad[];
|
| extern const char kHistogramFirstContentfulPaint[];
|
| +extern const char kHistogramFirstMeaningfulPaint[];
|
| extern const char kHistogramParseDuration[];
|
| extern const char kHistogramParseBlockedOnScriptLoad[];
|
| +extern const char kHistogramParseStartToFirstMeaningfulPaint[];
|
|
|
| extern const char kBackgroundHistogramCommit[];
|
| extern const char kBackgroundHistogramFirstLayout[];
|
| @@ -42,6 +44,15 @@ extern const char kHistogramBackgroundBeforePaint[];
|
| extern const char kHistogramFailedProvisionalLoad[];
|
|
|
| extern const char kRapporMetricsNameCoarseTiming[];
|
| +extern const char kHistogramFirstMeaningfulPaintStatus[];
|
| +
|
| +enum FirstMeaningfulPaintStatus {
|
| + FMP_RECORDED,
|
| + FMP_BACKGROUNDED,
|
| + FMP_DID_NOT_REACH_NETWORK_STABLE,
|
| + FMP_USER_INTERACTION_BEFORE_FMP,
|
| + FMP_LAST_ENTRY
|
| +};
|
|
|
| } // namespace internal
|
|
|
| @@ -77,6 +88,9 @@ class CorePageLoadMetricsObserver
|
| void OnFirstContentfulPaint(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& extra_info) override;
|
| + void OnFirstMeaningfulPaint(
|
| + const page_load_metrics::PageLoadTiming& timing,
|
| + const page_load_metrics::PageLoadExtraInfo& extra_info) override;
|
| void OnParseStart(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& extra_info) override;
|
| @@ -88,6 +102,7 @@ class CorePageLoadMetricsObserver
|
| void OnFailedProvisionalLoad(
|
| const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info,
|
| const page_load_metrics::PageLoadExtraInfo& extra_info) override;
|
| + void OnUserInput(const blink::WebInputEvent& event) override;
|
|
|
| private:
|
| void RecordTimingHistograms(const page_load_metrics::PageLoadTiming& timing,
|
| @@ -98,6 +113,9 @@ class CorePageLoadMetricsObserver
|
| ui::PageTransition transition_;
|
| bool initiated_by_user_gesture_;
|
| bool was_no_store_main_resource_;
|
| + bool had_first_paint_;
|
| + base::TimeTicks navigation_start_;
|
| + base::TimeTicks first_user_interaction_after_first_paint_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(CorePageLoadMetricsObserver);
|
| };
|
|
|