| Index: content/browser/renderer_host/render_view_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
| index 7577b59faa4e3ac31484e737f3c78d517c6b0634..f73d8c30bb1fc3f8adc211454c594ffeaf2dfdac 100644
|
| --- a/content/browser/renderer_host/render_view_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_view_host_impl.cc
|
| @@ -702,13 +702,19 @@ void RenderViewHostImpl::OnCrossSiteResponse(
|
| PageTransition page_transition,
|
| int64 frame_id,
|
| bool should_replace_current_entry) {
|
| - RenderViewHostDelegate::RendererManagement* manager =
|
| - delegate_->GetRendererManagementDelegate();
|
| - if (manager) {
|
| - manager->OnCrossSiteResponse(this, global_request_id, is_transfer,
|
| - transfer_url_chain, referrer, page_transition,
|
| - frame_id, should_replace_current_entry);
|
| + FrameTreeNode* node = NULL;
|
| + if (frame_id != -1 &&
|
| + CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess)) {
|
| + node = delegate_->GetFrameTree()->FindByFrameID(frame_id);
|
| }
|
| +
|
| + // TODO(creis): We should always be able to get the RFHM for a frame_id,
|
| + // but today the frame_id is -1 for the main frame.
|
| + RenderViewHostDelegate::RendererManagement* manager = node ?
|
| + node->render_manager() : delegate_->GetRendererManagementDelegate();
|
| + manager->OnCrossSiteResponse(this, global_request_id, is_transfer,
|
| + transfer_url_chain, referrer, page_transition,
|
| + frame_id, should_replace_current_entry);
|
| }
|
|
|
| void RenderViewHostImpl::SuppressDialogsUntilSwapOut() {
|
|
|