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 <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <utility> | 10 #include <utility> |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 MSG_ROUTING_NONE, frame_tree_node_->current_replication_state()); | 225 MSG_ROUTING_NONE, frame_tree_node_->current_replication_state()); |
226 } | 226 } |
227 | 227 |
228 // If the renderer isn't live, then try to create a new one to satisfy this | 228 // If the renderer isn't live, then try to create a new one to satisfy this |
229 // navigation request. | 229 // navigation request. |
230 if (!dest_render_frame_host->IsRenderFrameLive()) { | 230 if (!dest_render_frame_host->IsRenderFrameLive()) { |
231 // Instruct the destination render frame host to set up a Mojo connection | 231 // Instruct the destination render frame host to set up a Mojo connection |
232 // with the new render frame if necessary. Note that this call needs to | 232 // with the new render frame if necessary. Note that this call needs to |
233 // occur before initializing the RenderView; the flow of creating the | 233 // occur before initializing the RenderView; the flow of creating the |
234 // RenderView can cause browser-side code to execute that expects the this | 234 // RenderView can cause browser-side code to execute that expects the this |
235 // RFH's ServiceRegistry to be initialized (e.g., if the site is a WebUI | 235 // RFH's InterfaceRegistry to be initialized (e.g., if the site is a WebUI |
236 // site that is handled via Mojo, then Mojo WebUI code in //chrome will | 236 // site that is handled via Mojo, then Mojo WebUI code in //chrome will |
237 // add a service to this RFH's ServiceRegistry). | 237 // add a service to this RFH's InterfaceRegistry). |
238 dest_render_frame_host->SetUpMojoIfNeeded(); | 238 dest_render_frame_host->SetUpMojoIfNeeded(); |
239 | 239 |
240 // Recreate the opener chain. | 240 // Recreate the opener chain. |
241 CreateOpenerProxies(dest_render_frame_host->GetSiteInstance(), | 241 CreateOpenerProxies(dest_render_frame_host->GetSiteInstance(), |
242 frame_tree_node_); | 242 frame_tree_node_); |
243 if (!InitRenderView(dest_render_frame_host->render_view_host(), nullptr)) | 243 if (!InitRenderView(dest_render_frame_host->render_view_host(), nullptr)) |
244 return nullptr; | 244 return nullptr; |
245 | 245 |
246 if (GetNavigatingWebUI()) { | 246 if (GetNavigatingWebUI()) { |
247 // A new RenderView was created and there is a navigating WebUI which | 247 // A new RenderView was created and there is a navigating WebUI which |
(...skipping 2354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2602 resolved_url)) { | 2602 resolved_url)) { |
2603 DCHECK(!dest_instance || | 2603 DCHECK(!dest_instance || |
2604 dest_instance == render_frame_host_->GetSiteInstance()); | 2604 dest_instance == render_frame_host_->GetSiteInstance()); |
2605 return false; | 2605 return false; |
2606 } | 2606 } |
2607 | 2607 |
2608 return true; | 2608 return true; |
2609 } | 2609 } |
2610 | 2610 |
2611 } // namespace content | 2611 } // namespace content |
OLD | NEW |