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 4a0c7cec73ffc4825e29fd96547d6e33faaef1c2..ddc53b496e3fd81275254095b5f0c927359740af 100644 |
--- a/content/browser/frame_host/navigation_request.cc |
+++ b/content/browser/frame_host/navigation_request.cc |
@@ -404,7 +404,8 @@ void NavigationRequest::CreateNavigationHandle(int pending_nav_entry_id) { |
!browser_initiated_, FrameMsg_Navigate_Type::IsSameDocument( |
common_params_.navigation_type), |
common_params_.navigation_start, pending_nav_entry_id, |
- false); // started_in_context_menu |
+ 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 |
@@ -693,6 +694,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(); |
} |