Index: content/browser/frame_host/navigation_controller_impl.cc |
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc |
index a25aeba2e7496d540593fba2622b239992547ad9..f676b61f7292ef09a497392c3d4f22c2248e9cbf 100644 |
--- a/content/browser/frame_host/navigation_controller_impl.cc |
+++ b/content/browser/frame_host/navigation_controller_impl.cc |
@@ -878,6 +878,13 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( |
RenderFrameHost* rfh, |
const FrameHostMsg_DidCommitProvisionalLoad_Params& params) const { |
if (params.page_id == -1) { |
+ // FIXME (nasko, creis): An out-of-process child frame has no way of |
Charlie Reis
2014/07/24 22:36:29
We use TODO(...) rather than FIXME in the Chrome r
kenrb
2014/07/25 23:42:05
Fixed.
|
+ // knowing the page_id of its parent, so it is passing back -1. The |
+ // semantics here should be re-evaluated during session history refactor. |
Charlie Reis
2014/07/24 22:36:29
Can you add a mention of http://crbug.com/236848 t
kenrb
2014/07/25 23:42:05
Done.
|
+ // For now, we assume this means the child frame loaded and proceed. |
Charlie Reis
2014/07/24 22:36:29
"Note that this may do the wrong thing for cross-p
kenrb
2014/07/25 23:42:05
Done.
|
+ if (rfh->IsCrossProcessSubframe()) |
+ return NAVIGATION_TYPE_NEW_SUBFRAME; |
+ |
// The renderer generates the page IDs, and so if it gives us the invalid |
// page ID (-1) we know it didn't actually navigate. This happens in a few |
// cases: |