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