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 d7dcbefabbf2f06121040f756c61a2c45587d524..da20a1ee15fb52f76dc45c63fd26058e4f232110 100644 |
--- a/content/browser/frame_host/navigation_handle_impl.cc |
+++ b/content/browser/frame_host/navigation_handle_impl.cc |
@@ -7,6 +7,7 @@ |
#include <utility> |
#include "base/logging.h" |
+#include "content/browser/devtools/render_frame_devtools_agent_host.h" |
#include "content/browser/frame_host/frame_tree_node.h" |
#include "content/browser/frame_host/navigator.h" |
#include "content/browser/frame_host/navigator_delegate.h" |
@@ -323,17 +324,7 @@ void NavigationHandleImpl::WillStartRequest( |
state_ = WILL_SEND_REQUEST; |
complete_callback_ = callback; |
- // Register the navigation throttles. The ScopedVector returned by |
- // GetNavigationThrottles is not assigned to throttles_ directly because it |
- // would overwrite any throttle previously added with |
- // RegisterThrottleForTesting. |
- ScopedVector<NavigationThrottle> throttles_to_register = |
- GetContentClient()->browser()->CreateThrottlesForNavigation(this); |
- if (throttles_to_register.size() > 0) { |
- throttles_.insert(throttles_.end(), throttles_to_register.begin(), |
- throttles_to_register.end()); |
- throttles_to_register.weak_clear(); |
- } |
+ RegisterNavigationThrottles(); |
// Notify each throttle of the request. |
NavigationThrottle::ThrottleCheckResult result = CheckWillStartRequest(); |
@@ -533,4 +524,22 @@ void NavigationHandleImpl::RunCompleteCallback( |
// destruction. |
} |
+void NavigationHandleImpl::RegisterNavigationThrottles() { |
+ // Register the navigation throttles. The ScopedVector returned by |
+ // GetNavigationThrottles is not assigned to throttles_ directly because it |
+ // would overwrite any throttle previously added with |
+ // RegisterThrottleForTesting. |
+ ScopedVector<NavigationThrottle> throttles_to_register = |
+ GetContentClient()->browser()->CreateThrottlesForNavigation(this); |
+ if (throttles_to_register.size() > 0) { |
+ throttles_.insert(throttles_.end(), throttles_to_register.begin(), |
+ throttles_to_register.end()); |
+ throttles_to_register.weak_clear(); |
+ } |
+ std::unique_ptr<NavigationThrottle> devtools_throttle = |
+ RenderFrameDevToolsAgentHost::CreateThrottleForNavigation(this); |
+ if (devtools_throttle) |
+ throttles_.push_back(devtools_throttle.release()); |
+} |
+ |
} // namespace content |