OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/frame_host/render_frame_host_manager.h" | 5 #include "content/browser/frame_host/render_frame_host_manager.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
179 // Note: we don't call InitRenderView here because we are navigating away | 179 // Note: we don't call InitRenderView here because we are navigating away |
180 // soon anyway, and we don't have the NavigationEntry for this host. | 180 // soon anyway, and we don't have the NavigationEntry for this host. |
181 delegate_->CreateRenderViewForRenderManager( | 181 delegate_->CreateRenderViewForRenderManager( |
182 render_frame_host_->render_view_host(), MSG_ROUTING_NONE, | 182 render_frame_host_->render_view_host(), MSG_ROUTING_NONE, |
183 MSG_ROUTING_NONE, frame_tree_node_->IsMainFrame()); | 183 MSG_ROUTING_NONE, frame_tree_node_->IsMainFrame()); |
184 } | 184 } |
185 | 185 |
186 // If the renderer crashed, then try to create a new one to satisfy this | 186 // If the renderer crashed, then try to create a new one to satisfy this |
187 // navigation request. | 187 // navigation request. |
188 if (!dest_render_frame_host->IsRenderFrameLive()) { | 188 if (!dest_render_frame_host->IsRenderFrameLive()) { |
189 // Instruct the destination render frame host to set up a Mojo connection | |
190 // with the new render frame if necessary. | |
191 dest_render_frame_host->SetUpMojoIfNeeded(); | |
nasko
2014/10/23 15:59:08
This should move below the InitRenderView call.
blundell
2014/10/24 14:42:55
It's actually important that this be before that c
nasko
2014/10/24 16:13:11
Ok. This seems to be important enough that some of
Charlie Reis
2014/10/24 16:30:45
+1.
| |
192 | |
189 // Recreate the opener chain. | 193 // Recreate the opener chain. |
190 int opener_route_id = delegate_->CreateOpenerRenderViewsForRenderManager( | 194 int opener_route_id = delegate_->CreateOpenerRenderViewsForRenderManager( |
191 dest_render_frame_host->GetSiteInstance()); | 195 dest_render_frame_host->GetSiteInstance()); |
192 if (!InitRenderView(dest_render_frame_host->render_view_host(), | 196 if (!InitRenderView(dest_render_frame_host->render_view_host(), |
193 opener_route_id, | 197 opener_route_id, |
194 MSG_ROUTING_NONE, | 198 MSG_ROUTING_NONE, |
195 frame_tree_node_->IsMainFrame())) | 199 frame_tree_node_->IsMainFrame())) |
196 return NULL; | 200 return NULL; |
197 | 201 |
198 // Now that we've created a new renderer, be sure to hide it if it isn't | 202 // Now that we've created a new renderer, be sure to hide it if it isn't |
(...skipping 1408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1607 void RenderFrameHostManager::DeleteRenderFrameProxyHost( | 1611 void RenderFrameHostManager::DeleteRenderFrameProxyHost( |
1608 SiteInstance* instance) { | 1612 SiteInstance* instance) { |
1609 RenderFrameProxyHostMap::iterator iter = proxy_hosts_.find(instance->GetId()); | 1613 RenderFrameProxyHostMap::iterator iter = proxy_hosts_.find(instance->GetId()); |
1610 if (iter != proxy_hosts_.end()) { | 1614 if (iter != proxy_hosts_.end()) { |
1611 delete iter->second; | 1615 delete iter->second; |
1612 proxy_hosts_.erase(iter); | 1616 proxy_hosts_.erase(iter); |
1613 } | 1617 } |
1614 } | 1618 } |
1615 | 1619 |
1616 } // namespace content | 1620 } // namespace content |
OLD | NEW |