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 c08628d0d7236c1f13edb318241a19fee8fc8e6f..bbd86413306d7dd9d6204b5e9ed029fe104ed1bb 100644 |
--- a/chrome/browser/page_load_metrics/page_load_tracker.h |
+++ b/chrome/browser/page_load_metrics/page_load_tracker.h |
@@ -107,6 +107,9 @@ enum InternalErrorLoadEvent { |
// No page load end time was recorded for this page load. |
ERR_NO_PAGE_LOAD_END_TIME, |
+ // Received a timing update from a subframe. |
+ ERR_TIMING_IPC_FROM_SUBFRAME, |
+ |
// Add values before this final count. |
ERR_LAST_ENTRY, |
}; |
@@ -160,6 +163,11 @@ class PageLoadTracker { |
bool UpdateTiming(const PageLoadTiming& timing, |
const PageLoadMetadata& 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 OnLoadedResource(const ExtraRequestInfo& extra_request_info); |
// Signals that we should stop tracking metrics for the associated page load. |
@@ -294,7 +302,8 @@ class PageLoadTracker { |
bool started_in_foreground_; |
PageLoadTiming timing_; |
- PageLoadMetadata metadata_; |
+ PageLoadMetadata main_frame_metadata_; |
+ PageLoadMetadata child_frame_metadata_; |
ui::PageTransition page_transition_; |