| 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 a33257a2be0021c7f87e2d57a107efce9a67a78a..9aa4406c4f83800cacb89b7d32f63b5120ec4963 100644
|
| --- a/content/browser/frame_host/navigation_request.cc
|
| +++ b/content/browser/frame_host/navigation_request.cc
|
| @@ -526,14 +526,20 @@ 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 cross-process commit if needed.
|
| + // TODO(clamy): Rename ShouldTransferNavigation once PlzNavigate ships.
|
| + if (!frame_tree_node_->navigator()->GetDelegate()->ShouldTransferNavigation(
|
| + frame_tree_node_->IsMainFrame())) {
|
| + frame_tree_node_->ResetNavigationRequest(false);
|
| + return;
|
| + }
|
| }
|
|
|
| if (navigation_data)
|
|
|