Index: content/browser/frame_host/navigator_impl.cc |
diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc |
index 6cc9dad14885e502b697660e469fc0f8a1a482f5..645988a7e20437dba90299559cb812cc4b6febf5 100644 |
--- a/content/browser/frame_host/navigator_impl.cc |
+++ b/content/browser/frame_host/navigator_impl.cc |
@@ -38,15 +38,20 @@ void NavigatorImpl::DidStartProvisionalLoad( |
RenderProcessHost* render_process_host = render_frame_host->GetProcess(); |
RenderViewHost::FilterURL(render_process_host, false, &validated_url); |
+ // TODO(creis): This is a hack for now, until we mirror the frame tree and do |
+ // cross-process subframe navigations in actual subframes. As a result, we |
+ // can currently only support a single cross-process subframe per RVH. |
+ NavigationEntryImpl* pending_entry = |
+ NavigationEntryImpl::FromNavigationEntry(controller_->GetPendingEntry()); |
+ if (pending_entry && pending_entry->frame_tree_node_id() != -1) |
+ is_main_frame = false; |
+ |
if (is_main_frame) { |
// If there is no browser-initiated pending entry for this navigation and it |
// is not for the error URL, create a pending entry using the current |
// SiteInstance, and ensure the address bar updates accordingly. We don't |
// know the referrer or extra headers at this point, but the referrer will |
// be set properly upon commit. |
- NavigationEntryImpl* pending_entry = |
- NavigationEntryImpl::FromNavigationEntry( |
- controller_->GetPendingEntry()); |
bool has_browser_initiated_pending_entry = pending_entry && |
!pending_entry->is_renderer_initiated(); |
if (!has_browser_initiated_pending_entry && !is_error_page) { |