Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Unified Diff: content/browser/devtools/render_frame_devtools_agent_host.cc

Issue 2720543002: Fix headless_browsertests failures with PlzNavigate. (Closed)
Patch Set: without PlzNavigate Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/devtools/render_frame_devtools_agent_host.cc
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc
index 90b18f127d7c4edc2f45c225aa6195fb7de4ece6..96121e423363e2190e843c81ff129aa87dae0f31 100644
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
@@ -11,6 +11,8 @@
#include "base/json/json_reader.h"
#include "base/lazy_instance.h"
#include "base/memory/ptr_util.h"
+#include "base/process/process_handle.h"
+#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "content/browser/bad_message.h"
@@ -47,6 +49,7 @@
#include "content/public/browser/render_widget_host_iterator.h"
#include "content/public/browser/web_contents_delegate.h"
#include "content/public/common/browser_side_navigation_policy.h"
+#include "net/base/net_errors.h"
#if defined(OS_ANDROID)
#include "content/public/browser/render_widget_host_view.h"
@@ -382,6 +385,14 @@ void RenderFrameDevToolsAgentHost::OnBeforeNavigation(
}
// static
+void RenderFrameDevToolsAgentHost::OnFailedNavigation(RenderFrameHost* host,
+ net::Error error_code) {
+ RenderFrameDevToolsAgentHost* agent_host = FindAgentHost(host);
+ if (agent_host)
+ agent_host->OnFailedNavigation(error_code);
+}
+
+// static
std::unique_ptr<NavigationThrottle>
RenderFrameDevToolsAgentHost::CreateThrottleForNavigation(
NavigationHandle* navigation_handle) {
@@ -720,6 +731,24 @@ void RenderFrameDevToolsAgentHost::AboutToNavigate(
DCHECK(CheckConsistency());
}
+void RenderFrameDevToolsAgentHost::OnFailedNavigation(net::Error error_code) {
+ DCHECK(IsBrowserSideNavigationEnabled());
+ if (!session())
+ return;
+
+ protocol::NetworkHandler* handler =
+ protocol::NetworkHandler::FromSession(session());
+ if (!handler)
+ return;
+
+ static int next_id = 0;
+ std::string request_id = base::IntToString(base::GetCurrentProcId()) + "." +
dgozman 2017/02/27 17:31:31 I'd move protocol-specific code (like request id g
jam 2017/02/27 20:47:35 Done.
+ base::IntToString(++next_id);
+ std::string error_string = net::ErrorToString(error_code);
+ bool cancelled = error_code == net::Error::ERR_ABORTED;
+ handler->NavigationFailed(request_id, error_string, cancelled);
+}
+
void RenderFrameDevToolsAgentHost::RenderFrameHostChanged(
RenderFrameHost* old_host,
RenderFrameHost* new_host) {

Powered by Google App Engine
This is Rietveld 408576698