Index: chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
diff --git a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
index 7a8b8068352ca5c8a85c0f139043e4cc4eeb812f..cc429a698daa75727315eeec008d53989b6616d6 100644 |
--- a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
+++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
@@ -70,7 +70,8 @@ MetricsWebContentsObserver::MetricsWebContentsObserver( |
: content::WebContentsObserver(web_contents), |
in_foreground_(false), |
embedder_interface_(std::move(embedder_interface)), |
- has_navigated_(false) { |
+ has_navigated_(false), |
+ page_load_metrics_binding_(web_contents, this) { |
RegisterInputEventObserver(web_contents->GetRenderViewHost()); |
} |
@@ -605,6 +606,14 @@ void MetricsWebContentsObserver::OnTimingUpdated( |
observer.OnTimingUpdated(timing, metadata); |
} |
+void MetricsWebContentsObserver::UpdateTiming( |
+ const PageLoadTiming& timing, |
+ const PageLoadMetadata& metadata) { |
+ content::RenderFrameHost* render_frame_host = |
+ page_load_metrics_binding_.GetCurrentTargetFrame(); |
+ OnTimingUpdated(render_frame_host, timing, metadata); |
+} |
+ |
bool MetricsWebContentsObserver::ShouldTrackNavigation( |
content::NavigationHandle* navigation_handle) const { |
DCHECK(navigation_handle->IsInMainFrame()); |