| 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 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 // TODO(creis): The blank swapped out page is visible during this time, but | 320 // TODO(creis): The blank swapped out page is visible during this time, but |
| 321 // we can shorten this by delivering the response directly, rather than | 321 // we can shorten this by delivering the response directly, rather than |
| 322 // forcing an identical request to be made. | 322 // forcing an identical request to be made. |
| 323 if (pending_nav_params_->cross_site_transferring_request) { | 323 if (pending_nav_params_->cross_site_transferring_request) { |
| 324 // Treat the last URL in the chain as the destination and the remainder as | 324 // Treat the last URL in the chain as the destination and the remainder as |
| 325 // the redirect chain. | 325 // the redirect chain. |
| 326 CHECK(pending_nav_params_->transfer_url_chain.size()); | 326 CHECK(pending_nav_params_->transfer_url_chain.size()); |
| 327 GURL transfer_url = pending_nav_params_->transfer_url_chain.back(); | 327 GURL transfer_url = pending_nav_params_->transfer_url_chain.back(); |
| 328 pending_nav_params_->transfer_url_chain.pop_back(); | 328 pending_nav_params_->transfer_url_chain.pop_back(); |
| 329 | 329 |
| 330 // We use GetMainFrame here because this version of SwappedOut is only |
| 331 // called for the main frame. We will remove it in favor of the frame |
| 332 // specific version. |
| 330 RenderFrameHostImpl* render_frame_host = | 333 RenderFrameHostImpl* render_frame_host = |
| 331 static_cast<RenderFrameHostImpl*>(render_view_host->GetMainFrame()); | 334 static_cast<RenderFrameHostImpl*>(render_view_host->GetMainFrame()); |
| 332 | 335 |
| 333 // We don't know whether the original request had |user_action| set to true. | 336 // We don't know whether the original request had |user_action| set to true. |
| 334 // However, since we force the navigation to be in the current tab, it | 337 // However, since we force the navigation to be in the current tab, it |
| 335 // doesn't matter. | 338 // doesn't matter. |
| 336 render_frame_host->frame_tree_node()->navigator()->RequestTransferURL( | 339 render_frame_host->frame_tree_node()->navigator()->RequestTransferURL( |
| 337 render_frame_host, | 340 render_frame_host, |
| 338 transfer_url, | 341 transfer_url, |
| 339 pending_nav_params_->transfer_url_chain, | 342 pending_nav_params_->transfer_url_chain, |
| 340 pending_nav_params_->referrer, | 343 pending_nav_params_->referrer, |
| 341 pending_nav_params_->page_transition, | 344 pending_nav_params_->page_transition, |
| 342 CURRENT_TAB, | 345 CURRENT_TAB, |
| 343 pending_nav_params_->render_frame_id, | |
| 344 pending_nav_params_->global_request_id, | 346 pending_nav_params_->global_request_id, |
| 345 pending_nav_params_->should_replace_current_entry, | 347 pending_nav_params_->should_replace_current_entry, |
| 346 true); | 348 true); |
| 347 } else if (pending_render_frame_host_) { | 349 } else if (pending_render_frame_host_) { |
| 348 RenderProcessHostImpl* pending_process = | 350 RenderProcessHostImpl* pending_process = |
| 349 static_cast<RenderProcessHostImpl*>( | 351 static_cast<RenderProcessHostImpl*>( |
| 350 pending_render_frame_host_->GetProcess()); | 352 pending_render_frame_host_->GetProcess()); |
| 351 pending_process->ResumeDeferredNavigation( | 353 pending_process->ResumeDeferredNavigation( |
| 352 pending_nav_params_->global_request_id); | 354 pending_nav_params_->global_request_id); |
| 353 } | 355 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 // We don't know whether the original request had |user_action| set to true. | 388 // We don't know whether the original request had |user_action| set to true. |
| 387 // However, since we force the navigation to be in the current tab, it | 389 // However, since we force the navigation to be in the current tab, it |
| 388 // doesn't matter. | 390 // doesn't matter. |
| 389 render_frame_host_->frame_tree_node()->navigator()->RequestTransferURL( | 391 render_frame_host_->frame_tree_node()->navigator()->RequestTransferURL( |
| 390 render_frame_host, | 392 render_frame_host, |
| 391 transfer_url, | 393 transfer_url, |
| 392 pending_nav_params_->transfer_url_chain, | 394 pending_nav_params_->transfer_url_chain, |
| 393 pending_nav_params_->referrer, | 395 pending_nav_params_->referrer, |
| 394 pending_nav_params_->page_transition, | 396 pending_nav_params_->page_transition, |
| 395 CURRENT_TAB, | 397 CURRENT_TAB, |
| 396 pending_nav_params_->render_frame_id, | |
| 397 pending_nav_params_->global_request_id, | 398 pending_nav_params_->global_request_id, |
| 398 false, | 399 false, |
| 399 true); | 400 true); |
| 400 } else if (pending_render_frame_host_) { | 401 } else if (pending_render_frame_host_) { |
| 401 RenderProcessHostImpl* pending_process = | 402 RenderProcessHostImpl* pending_process = |
| 402 static_cast<RenderProcessHostImpl*>( | 403 static_cast<RenderProcessHostImpl*>( |
| 403 pending_render_frame_host_->GetProcess()); | 404 pending_render_frame_host_->GetProcess()); |
| 404 pending_process->ResumeDeferredNavigation( | 405 pending_process->ResumeDeferredNavigation( |
| 405 pending_nav_params_->global_request_id); | 406 pending_nav_params_->global_request_id); |
| 406 } | 407 } |
| (...skipping 1062 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1469 SiteInstance* instance) const { | 1470 SiteInstance* instance) const { |
| 1470 RenderFrameHostMap::const_iterator iter = | 1471 RenderFrameHostMap::const_iterator iter = |
| 1471 swapped_out_hosts_.find(instance->GetId()); | 1472 swapped_out_hosts_.find(instance->GetId()); |
| 1472 if (iter != swapped_out_hosts_.end()) | 1473 if (iter != swapped_out_hosts_.end()) |
| 1473 return iter->second; | 1474 return iter->second; |
| 1474 | 1475 |
| 1475 return NULL; | 1476 return NULL; |
| 1476 } | 1477 } |
| 1477 | 1478 |
| 1478 } // namespace content | 1479 } // namespace content |
| OLD | NEW |