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 39956621dfd5f5cfadb5b0ad0fe123726f7e58ce..bb24117b6f01a9e4ed514d3b2215721a6cf385d5 100644 |
--- a/content/browser/frame_host/navigator_impl.cc |
+++ b/content/browser/frame_host/navigator_impl.cc |
@@ -520,6 +520,14 @@ void NavigatorImpl::DidNavigate( |
frame_tree->root()->render_manager()->DidNavigateFrame(render_frame_host); |
} |
+ // Save the origin of the new page. Do this before calling |
+ // DidNavigateFrame(), because the origin needs to be included in the SwapOut |
+ // message, which is sent inside DidNavigateFrame(). SwapOut needs the |
+ // origin because it creates a RenderFrameProxy that needs this initialize |
nasko
2014/11/20 17:22:54
s/initialize/to initialize/
alexmos
2014/11/20 21:09:10
Done.
|
+ // its security context. This origin will also be sent to RenderFrameProxies |
+ // created via ViewMsg_New and FrameMsg_NewFrameProxy. |
+ render_frame_host->frame_tree_node()->set_current_origin(params.origin); |
+ |
// When using --site-per-process, we notify the RFHM for all navigations, |
// not just main frame navigations. |
if (use_site_per_process) { |