Chromium Code Reviews| Index: content/browser/web_contents/render_view_host_manager.cc |
| diff --git a/content/browser/web_contents/render_view_host_manager.cc b/content/browser/web_contents/render_view_host_manager.cc |
| index 4201eb8f83dd7f9b9dceb68c00eea7b31f4e4d69..17d102e59842f4b3494d2bdbfe4c6c22e7bfa9b5 100644 |
| --- a/content/browser/web_contents/render_view_host_manager.cc |
| +++ b/content/browser/web_contents/render_view_host_manager.cc |
| @@ -149,7 +149,13 @@ RenderViewHostImpl* RenderViewHostManager::Navigate( |
| // If the renderer crashed, then try to create a new one to satisfy this |
| // navigation request. |
| if (!dest_render_view_host->IsRenderViewLive()) { |
| - if (!InitRenderView(dest_render_view_host, MSG_ROUTING_NONE)) |
| + // Ensure that we have created RVHs for the new RVH's opener chain if |
|
Charlie Reis
2013/07/30 01:26:30
I think this makes sense, but I would be very surp
jochen (gone - plz use gerrit)
2013/07/30 14:50:39
done.
|
| + // we are staying in the same BrowsingInstance. This allows the pending RVH |
| + // to send cross-process script calls to its opener(s). |
| + int opener_route_id = delegate_->CreateOpenerRenderViewsForRenderManager( |
| + dest_render_view_host->GetSiteInstance()); |
| + |
| + if (!InitRenderView(dest_render_view_host, opener_route_id)) |
| return NULL; |
| // Now that we've created a new renderer, be sure to hide it if it isn't |