Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 01cb2bcc0b8b7a0153100818c456cd04afde8a79..a4d43bb16d0915a2ec2bd4c7acbfc599aca58d7b 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -3559,9 +3559,10 @@ void RenderViewImpl::didStartProvisionalLoad(WebFrame* frame) { |
if (is_top_most) { |
navigation_gesture_ = WebUserGestureIndicator::isProcessingUserGesture() ? |
NavigationGestureUser : NavigationGestureAuto; |
- } else if (frame->parent()->isLoading()) { |
- // Take note of AUTO_SUBFRAME loads here, so that we can know how to |
- // load an error page. See didFailProvisionalLoad. |
+ } else if (ds->replacesCurrentHistoryItem()) { |
+ // Subframe navigations that don't add session history items must be |
+ // marked with AUTO_SUBFRAME. See also didFailProvisionalLoad for how we |
+ // handle loading of error pages. |
document_state->navigation_state()->set_transition_type( |
PAGE_TRANSITION_AUTO_SUBFRAME); |
} |