| Index: content/browser/frame_host/navigation_request.cc
|
| diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc
|
| index 39d1cdda2295ceea1f59a44cc804be47a981b169..2d7d3af5460adacce856dc22aa308eeb3b1a1c02 100644
|
| --- a/content/browser/frame_host/navigation_request.cc
|
| +++ b/content/browser/frame_host/navigation_request.cc
|
| @@ -521,14 +521,19 @@ void NavigationRequest::OnResponseStarted(
|
| }
|
| DCHECK(render_frame_host || !response_should_be_rendered_);
|
|
|
| - // For renderer-initiated navigations that are set to commit in a different
|
| - // renderer, allow the embedder to cancel the transfer.
|
| if (!browser_initiated_ && render_frame_host &&
|
| - render_frame_host != frame_tree_node_->current_frame_host() &&
|
| - !frame_tree_node_->navigator()->GetDelegate()->ShouldTransferNavigation(
|
| - frame_tree_node_->IsMainFrame())) {
|
| - frame_tree_node_->ResetNavigationRequest(false);
|
| - return;
|
| + render_frame_host != frame_tree_node_->current_frame_host()) {
|
| + // Reset the source location information if the navigation will not commit
|
| + // in the current renderer process. This information originated in another
|
| + // process (the current one), it should not be transferred to the new one.
|
| + common_params_.source_location.reset();
|
| +
|
| + // Allow the embedder to cancel the transfer if needed.
|
| + if (!frame_tree_node_->navigator()->GetDelegate()->ShouldTransferNavigation(
|
| + frame_tree_node_->IsMainFrame())) {
|
| + frame_tree_node_->ResetNavigationRequest(false);
|
| + return;
|
| + }
|
| }
|
|
|
| if (navigation_data)
|
|
|