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); |
}; |