Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index f9c71e76d3b413f2f4e199ace4dc48439216ea3e..2bfd5357d2d263636d4c0e548cab9277983139e4 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -4406,6 +4406,13 @@ void RenderFrameImpl::NavigateInternal( |
GetContentClient()->SetActiveURL(common_params.url); |
+ // If this frame isn't in the same process as the main frame, it may naively |
+ // assume that this is the first navigation in the iframe, but this may not |
+ // actually be the case. Inform the frame's state machine if this frame has |
+ // already committed other loads. |
+ if (request_params.has_committed_real_load && frame_->parent()) |
+ frame_->setCommittedFirstRealLoad(); |
+ |
if (is_reload && !render_view_->history_controller()->GetCurrentEntry()) { |
// We cannot reload if we do not have any history state. This happens, for |
// example, when recovering from a crash. |