| 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..3e2984e2d15b33d88a76b8306f07f1ae73d90a94 100644
|
| --- a/content/browser/frame_host/navigation_request.cc
|
| +++ b/content/browser/frame_host/navigation_request.cc
|
| @@ -389,12 +389,14 @@ void NavigationRequest::CreateNavigationHandle(int pending_nav_entry_id) {
|
| redirect_chain.push_back(common_params_.url);
|
|
|
| std::unique_ptr<NavigationHandleImpl> navigation_handle =
|
| - NavigationHandleImpl::Create(
|
| - common_params_.url, redirect_chain, frame_tree_node_,
|
| - !browser_initiated_, FrameMsg_Navigate_Type::IsSameDocument(
|
| - common_params_.navigation_type),
|
| - common_params_.navigation_start, pending_nav_entry_id,
|
| - false); // started_in_context_menu
|
| + NavigationHandleImpl::Create(common_params_.url, redirect_chain,
|
| + frame_tree_node_, !browser_initiated_,
|
| + FrameMsg_Navigate_Type::IsSameDocument(
|
| + common_params_.navigation_type),
|
| + common_params_.navigation_start,
|
| + pending_nav_entry_id,
|
| + false, // started_in_context_menu
|
| + common_params_.should_bypass_main_world_csp);
|
|
|
| if (!frame_tree_node->navigation_request()) {
|
| // A callback could have cancelled this request synchronously in which case
|
| @@ -715,6 +717,13 @@ void NavigationRequest::OnRedirectChecksComplete(
|
| return;
|
| }
|
|
|
| + if (result == NavigationThrottle::BLOCK_REQUEST) {
|
| + OnRequestFailed(false, net::ERR_BLOCKED_BY_CLIENT);
|
| + // DO NOT ADD CODE after this. The previous call to OnRequestFailed has
|
| + // destroyed the NavigationRequest.
|
| + return;
|
| + }
|
| +
|
| loader_->FollowRedirect();
|
| }
|
|
|
|
|