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 26c98282a088a141cf74d017260323133f0dd28d..588f4c55b02bde3026e187d83feab3dac0d48932 100644 |
--- a/content/browser/frame_host/navigation_handle_impl.cc |
+++ b/content/browser/frame_host/navigation_handle_impl.cc |
@@ -6,7 +6,6 @@ |
#include <iterator> |
-#include "base/debug/dump_without_crashing.h" |
#include "base/logging.h" |
#include "base/metrics/histogram_macros.h" |
#include "content/browser/appcache/appcache_navigation_handle.h" |
@@ -124,7 +123,6 @@ NavigationHandleImpl::NavigationHandleImpl( |
is_form_submission_(is_form_submission), |
expected_render_process_host_id_(ChildProcessHost::kInvalidUniqueID), |
weak_factory_(this) { |
- is_in_constructor = true; |
TRACE_EVENT_ASYNC_BEGIN2("navigation", "NavigationHandle", this, |
"frame_tree_node", |
frame_tree_node_->frame_tree_node_id(), "url", |
@@ -178,15 +176,9 @@ NavigationHandleImpl::NavigationHandleImpl( |
TRACE_EVENT_ASYNC_STEP_INTO0("navigation", "NavigationHandle", this, |
"Same document"); |
} |
- is_in_constructor = false; |
} |
NavigationHandleImpl::~NavigationHandleImpl() { |
- // TODO(arthursonzogni): Remove this when we understand the root cause behind |
- // crbug.com/704892. |
- if (is_in_constructor) |
- base::debug::DumpWithoutCrashing(); |
- |
// Inform the RenderProcessHost to no longer expect a navigation. |
if (expected_render_process_host_id_ != ChildProcessHost::kInvalidUniqueID) { |
RenderProcessHost* process = |
@@ -653,10 +645,13 @@ void NavigationHandleImpl::WillRedirectRequest( |
"WillRedirectRequest", "url", |
new_url.possibly_invalid_spec()); |
- // TODO(arthursonzogni): Remove this when we understand the root cause behind |
- // crbug.com/704892 and crbug.com/736658 |
- if (IsRendererDebugURL(new_url)) |
- base::debug::DumpWithoutCrashing(); |
+ // |new_url| is not expected to be a "renderer debug" url. It should be |
+ // blocked in NavigationRequest::OnRequestRedirected or in |
+ // ResourceLoader::OnReceivedRedirect. If it is not the case, |
+ // DidFinishNavigation will not be called. It could confuse some |
+ // WebContentsObserver because DidStartNavigation was called. |
+ // See https://crbug.com/728398. |
+ CHECK(!IsRendererDebugURL(new_url)); |
// Update the navigation parameters. |
url_ = new_url; |