Index: content/browser/frame_host/navigation_handle_impl.cc |
diff --git a/content/browser/frame_host/navigation_handle_impl.cc b/content/browser/frame_host/navigation_handle_impl.cc |
index eba07da522c327c1ceb5d2da68d6918584214342..c1f7501fae65b5f61f28a376e395656674f1db81 100644 |
--- a/content/browser/frame_host/navigation_handle_impl.cc |
+++ b/content/browser/frame_host/navigation_handle_impl.cc |
@@ -14,6 +14,7 @@ |
#include "content/browser/frame_host/ancestor_throttle.h" |
#include "content/browser/frame_host/debug_urls.h" |
#include "content/browser/frame_host/frame_tree_node.h" |
+#include "content/browser/frame_host/mixed_content_navigation_throttle.h" |
#include "content/browser/frame_host/navigator.h" |
#include "content/browser/frame_host/navigator_delegate.h" |
#include "content/browser/loader/resource_dispatcher_host_impl.h" |
@@ -92,6 +93,8 @@ NavigationHandleImpl::NavigationHandleImpl( |
navigation_start_(navigation_start), |
pending_nav_entry_id_(pending_nav_entry_id), |
request_context_type_(REQUEST_CONTEXT_TYPE_UNSPECIFIED), |
+ mixed_content_context_type_( |
+ blink::WebMixedContent::ContextType::Blockable), |
should_replace_current_entry_(false), |
is_download_(false), |
is_stream_(false), |
@@ -315,6 +318,7 @@ NavigationHandleImpl::CallWillStartRequestForTesting( |
WillStartRequest(method, resource_request_body, sanitized_referrer, |
has_user_gesture, transition, is_external_protocol, |
REQUEST_CONTEXT_TYPE_LOCATION, |
+ blink::WebMixedContent::ContextType::Blockable, |
base::Bind(&UpdateThrottleCheckResult, &result)); |
// Reset the callback to ensure it will not be called later. |
@@ -422,6 +426,7 @@ void NavigationHandleImpl::WillStartRequest( |
ui::PageTransition transition, |
bool is_external_protocol, |
RequestContextType request_context_type, |
+ blink::WebMixedContent::ContextType mixed_content_context_type, |
const ThrottleChecksFinishedCallback& callback) { |
if (method != "POST") |
DCHECK(!resource_request_body); |
@@ -435,6 +440,7 @@ void NavigationHandleImpl::WillStartRequest( |
transition_ = transition; |
is_external_protocol_ = is_external_protocol; |
request_context_type_ = request_context_type; |
+ mixed_content_context_type_ = mixed_content_context_type; |
state_ = WILL_SEND_REQUEST; |
complete_callback_ = callback; |
@@ -783,6 +789,10 @@ void NavigationHandleImpl::RegisterNavigationThrottles() { |
// GetNavigationThrottles is not assigned to throttles_ directly because it |
// would overwrite any throttle previously added with |
// RegisterThrottleForTesting. |
+ if (IsBrowserSideNavigationEnabled()) { |
+ throttles_.insert(throttles_.end(), |
+ new MixedContentNavigationThrottle(this)); |
+ } |
ScopedVector<NavigationThrottle> throttles_to_register = |
GetDelegate()->CreateThrottlesForNavigation(this); |
std::unique_ptr<NavigationThrottle> devtools_throttle = |