| 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 7e2fad9b1f1ad11978c2232864b33f889ff70e02..1afe15adbda68131817aa9afbb9b483dacc58de3 100644
|
| --- a/content/browser/frame_host/navigation_request.cc
|
| +++ b/content/browser/frame_host/navigation_request.cc
|
| @@ -311,6 +311,17 @@ void NavigationRequest::OnResponseStarted(
|
| NavigatorImpl::CheckWebUIRendererDoesNotDisplayNormalURL(render_frame_host,
|
| common_params_.url);
|
|
|
| + // 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 != frame_tree_node_->current_frame_host() &&
|
| + !frame_tree_node_->navigator()
|
| + ->GetDelegate()
|
| + ->ShouldTransferNavigation()) {
|
| + frame_tree_node_->ResetNavigationRequest(false);
|
| + return;
|
| + }
|
| +
|
| // Store the response and the StreamHandle until checks have been processed.
|
| response_ = response;
|
| body_ = std::move(body);
|
|
|