When a frame needs to navigate, don't prune its subframes from being considered in navigation.
BUG=542299
TEST=as in bug
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel,mac_blink_rel,win_blink_rel;tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1617443002
Cr-Commit-Position: refs/heads/master@{#371031}
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index 1f6bee1..408314a 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -1869,8 +1869,10 @@
same_document_loads->push_back(std::make_pair(frame, new_item));
} else {
different_document_loads->push_back(std::make_pair(frame, new_item));
+ // For a different document, the subframes will be destroyed, so there's
+ // no need to consider them.
+ return;
}
- return;
}
for (size_t i = 0; i < frame->child_count(); i++) {