Chromium Code Reviews| 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 d7c1ca0420e6b875a8f337b9aadd46d5fa618030..0c593ce13229fab353234f7bd0eaab7601428729 100644 | 
| --- a/content/browser/frame_host/navigator_impl.cc | 
| +++ b/content/browser/frame_host/navigator_impl.cc | 
| @@ -647,9 +647,13 @@ void NavigatorImpl::RequestOpenURL(RenderFrameHostImpl* render_frame_host, | 
| WindowOpenDisposition disposition, | 
| bool should_replace_current_entry, | 
| bool user_gesture) { | 
| - // This call only makes sense for subframes if OOPIFs are possible. | 
| + // This call only makes sense for subframes if OOPIFs are possible, or if | 
| + // FrameNavigationEntries are being used. The latter case happens when the | 
| + // history item for a subframe is not found during a history navigation, and | 
| + // the subframe needs to navigate to the fallback url. | 
| DCHECK(!render_frame_host->GetParent() || | 
| - SiteIsolationPolicy::AreCrossProcessFramesPossible()); | 
| + SiteIsolationPolicy::AreCrossProcessFramesPossible() || | 
| + SiteIsolationPolicy::UseSubframeNavigationEntries()); | 
| 
 
Charlie Reis
2016/04/15 17:36:42
nit: This should just be UseSubframeNavigationEntr
 
clamy
2016/04/25 11:05:34
Removed this block due to code change in navigator
 
 | 
| SiteInstance* current_site_instance = render_frame_host->frame_tree_node() | 
| ->current_frame_host() | 
| @@ -670,7 +674,8 @@ void NavigatorImpl::RequestOpenURL(RenderFrameHostImpl* render_frame_host, | 
| // Send the navigation to the current FrameTreeNode if it's destined for a | 
| // subframe in the current tab. We'll assume it's for the main frame | 
| // (possibly of a new or different WebContents) otherwise. | 
| - if (SiteIsolationPolicy::AreCrossProcessFramesPossible() && | 
| + if ((SiteIsolationPolicy::AreCrossProcessFramesPossible() || | 
| + SiteIsolationPolicy::UseSubframeNavigationEntries()) && | 
| 
 
Charlie Reis
2016/04/15 17:36:42
Same.
 
clamy
2016/04/25 11:05:34
Done.
 
 | 
| disposition == CURRENT_TAB && render_frame_host->GetParent()) { | 
| frame_tree_node_id = | 
| render_frame_host->frame_tree_node()->frame_tree_node_id(); |