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 c75afcf77008fc1cbe486ffe2a98184705031ce0..c6a2dd46c92d9ed53048c2bb8f35aca62171db0c 100644 |
--- a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
+++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
@@ -313,8 +313,12 @@ MetricsWebContentsObserver::GetPageLoadExtraInfoForCommittedLoad() { |
void MetricsWebContentsObserver::DidFinishNavigation( |
content::NavigationHandle* navigation_handle) { |
- if (!navigation_handle->IsInMainFrame() && committed_load_) { |
- committed_load_->DidFinishSubFrameNavigation(navigation_handle); |
+ if (!navigation_handle->IsInMainFrame()) { |
+ if (committed_load_ && navigation_handle->GetParentFrame() && |
+ GetMainFrame(navigation_handle->GetParentFrame()) == |
+ web_contents()->GetMainFrame()) { |
+ committed_load_->DidFinishSubFrameNavigation(navigation_handle); |
+ } |
return; |
} |