Chromium Code Reviews| Index: chrome/browser/page_load_metrics/page_load_metrics_observer.h |
| diff --git a/chrome/browser/page_load_metrics/page_load_metrics_observer.h b/chrome/browser/page_load_metrics/page_load_metrics_observer.h |
| index c84787a443019d30ad4dcad76c606d1878f092f1..b6b7ee4718cedd2fc3c9ae72cb1315a7e5e13ad9 100644 |
| --- a/chrome/browser/page_load_metrics/page_load_metrics_observer.h |
| +++ b/chrome/browser/page_load_metrics/page_load_metrics_observer.h |
| @@ -270,6 +270,8 @@ class PageLoadMetricsObserver { |
| STOP_OBSERVING, |
| }; |
| + using FrameTreeNodeId = int; |
| + |
| virtual ~PageLoadMetricsObserver() {} |
| // The page load started, with the given navigation handle. |
| @@ -335,6 +337,21 @@ class PageLoadMetricsObserver { |
| // loading-dev@chromium.org if you intend to override this method. |
| virtual void OnTimingUpdate(const PageLoadTiming& timing, |
| const PageLoadExtraInfo& extra_info) {} |
| + |
| + // OnSubFrameTimingUpdate is triggered when an updated PageLoadTiming or |
| + // PageLoadMetadata is available for a child frame of the current page |
| + // load. The FrameTreeNodeId identifies the frame that |
| + // |navigation_start_offset|, |child_timing|, and |child_metadata| are |
| + // associated with. |extra_info| contains the extra info associated with the |
| + // page. |navigation_start_offset| reports the offset of the subframe's |
| + // navigation start from the main frame's navigation_start. The timings |
| + // reported in |child_timing| are relative to the subframe's navigation start. |
| + virtual void OnSubFrameTimingUpdate(FrameTreeNodeId child_frame_id, |
|
jkarlin
2017/05/10 16:55:28
I'd rather we not create this until a client that
Bryan McQuade
2017/05/10 18:06:15
sure - i think i can switch over to using the Test
|
| + base::TimeDelta navigation_start_offset, |
| + const PageLoadTiming& child_timing, |
| + const PageLoadMetadata& child_metadata, |
| + const PageLoadExtraInfo& extra_info) {} |
| + |
| // OnUserInput is triggered when a new user input is passed in to |
| // web_contents. Contains a TimeDelta from navigation start. |
| virtual void OnUserInput(const blink::WebInputEvent& event) {} |
| @@ -348,21 +365,29 @@ class PageLoadMetricsObserver { |
| const PageLoadExtraInfo& extra_info) {} |
| virtual void OnFirstLayout(const PageLoadTiming& timing, |
| const PageLoadExtraInfo& extra_info) {} |
| - virtual void OnFirstPaint(const PageLoadTiming& timing, |
| - const PageLoadExtraInfo& extra_info) {} |
| - virtual void OnFirstTextPaint(const PageLoadTiming& timing, |
| - const PageLoadExtraInfo& extra_info) {} |
| - virtual void OnFirstImagePaint(const PageLoadTiming& timing, |
| - const PageLoadExtraInfo& extra_info) {} |
| - virtual void OnFirstContentfulPaint(const PageLoadTiming& timing, |
| - const PageLoadExtraInfo& extra_info) {} |
| - virtual void OnFirstMeaningfulPaint(const PageLoadTiming& timing, |
| - const PageLoadExtraInfo& extra_info) {} |
| virtual void OnParseStart(const PageLoadTiming& timing, |
| const PageLoadExtraInfo& extra_info) {} |
| virtual void OnParseStop(const PageLoadTiming& timing, |
| const PageLoadExtraInfo& extra_info) {} |
| + // On*PaintInPage(...) are invoked when the first relevant paint in the page, |
| + // across all frames, is observed. |
| + virtual void OnFirstPaintInPage(const PageLoadTiming& timing, |
| + const PageLoadExtraInfo& extra_info) {} |
| + virtual void OnFirstTextPaintInPage(const PageLoadTiming& timing, |
| + const PageLoadExtraInfo& extra_info) {} |
| + virtual void OnFirstImagePaintInPage(const PageLoadTiming& timing, |
| + const PageLoadExtraInfo& extra_info) {} |
| + virtual void OnFirstContentfulPaintInPage( |
| + const PageLoadTiming& timing, |
| + const PageLoadExtraInfo& extra_info) {} |
| + |
| + // Unlike other paint callbacks, OnFirstMeaningfulPaintInMainFrameDocument is |
| + // tracked per document, and is reported for the main frame document only. |
| + virtual void OnFirstMeaningfulPaintInMainFrameDocument( |
| + const PageLoadTiming& timing, |
| + const PageLoadExtraInfo& extra_info) {} |
| + |
| // Invoked when there is a change in either the main_frame_metadata or the |
| // child_frame_metadata's loading behavior_flags. |
| virtual void OnLoadingBehaviorObserved( |