Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4543)

Unified Diff: chrome/browser/page_load_metrics/page_load_metrics_observer.h

Issue 2859393002: Report page load timing information for child frames. (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..3e12c65c34b10841368efbd8e0601ef831b2c182 100644
--- a/chrome/browser/page_load_metrics/page_load_metrics_observer.h
+++ b/chrome/browser/page_load_metrics/page_load_metrics_observer.h
@@ -123,7 +123,7 @@ struct PageLoadExtraInfo {
UserInitiatedInfo page_end_user_initiated_info,
const base::Optional<base::TimeDelta>& page_end_time,
const PageLoadMetadata& main_frame_metadata,
- const PageLoadMetadata& child_frame_metadata);
+ const PageLoadMetadata& subframe_metadata);
// Simplified version of the constructor, intended for use in tests.
static PageLoadExtraInfo CreateForTesting(const GURL& url,
@@ -194,8 +194,8 @@ struct PageLoadExtraInfo {
// renderer for the main frame.
const PageLoadMetadata main_frame_metadata;
- // PageLoadMetadata for child frames of the current page load.
- const PageLoadMetadata child_frame_metadata;
+ // PageLoadMetadata for subframes of the current page load.
+ const PageLoadMetadata subframe_metadata;
};
// Container for various information about a completed request within a page
@@ -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,7 @@ class PageLoadMetricsObserver {
// loading-dev@chromium.org if you intend to override this method.
virtual void OnTimingUpdate(const PageLoadTiming& timing,
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,23 +351,31 @@ 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.
+ // subframe_metadata's loading behavior_flags.
virtual void OnLoadingBehaviorObserved(
const page_load_metrics::PageLoadExtraInfo& extra_info) {}

Powered by Google App Engine
This is Rietveld 408576698