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

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

Issue 2859393002: Report page load timing information for child frames. (Closed)
Patch Set: add browsertests 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_tracker.h
diff --git a/chrome/browser/page_load_metrics/page_load_tracker.h b/chrome/browser/page_load_metrics/page_load_tracker.h
index f6529d1a059d00a620572763477253d17ed8fec0..364c620d41e1b9bc23eec6007bdcac5638fe162e 100644
--- a/chrome/browser/page_load_metrics/page_load_tracker.h
+++ b/chrome/browser/page_load_metrics/page_load_tracker.h
@@ -222,10 +222,14 @@ class PageLoadTracker {
void UpdateTiming(const PageLoadTiming& timing,
const PageLoadMetadata& metadata);
+ void UpdateSubFrameTiming(content::RenderFrameHost* render_frame_host,
+ const PageLoadTiming& new_timing,
+ const PageLoadMetadata& new_metadata);
+
// Update metadata for child frames. Updates for child frames arrive
// separately from updates for the main frame, so aren't included in
// UpdateTiming.
- void UpdateChildFrameMetadata(const PageLoadMetadata& child_metadata);
+ void UpdateSubFrameMetadata(const PageLoadMetadata& child_metadata);
void OnStartedResource(
const ExtraRequestStartInfo& extra_request_started_info);
@@ -306,6 +310,8 @@ class PageLoadTracker {
base::TimeDelta actual_delay);
private:
+ typedef int FrameTreeNodeId;
+
// This function converts a TimeTicks value taken in the browser process
// to navigation_start_ if:
// - base::TimeTicks is not comparable across processes because the clock
@@ -403,6 +409,10 @@ class PageLoadTracker {
std::vector<std::unique_ptr<PageLoadMetricsObserver>> observers_;
+ // Navigation start offsets for the most recently committed document in each
+ // frame.
+ std::map<FrameTreeNodeId, base::TimeDelta> child_frame_navigation_start_;
+
DISALLOW_COPY_AND_ASSIGN(PageLoadTracker);
};

Powered by Google App Engine
This is Rietveld 408576698