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 aff7a85840f6fb0c2fbda29449ddbc8ee91e8abc..fbd7c4a2b43609aa8a1f0ba6c99ddd98bcbad832 100644 |
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc |
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc |
@@ -43,6 +43,7 @@ |
#include "content/common/view_messages.h" |
#include "content/public/browser/browser_context.h" |
#include "content/public/browser/content_browser_client.h" |
+#include "content/public/browser/navigation_handle.h" |
#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" |
@@ -636,8 +637,23 @@ void RenderFrameDevToolsAgentHost::DidFinishNavigation( |
// CommitPending may destruct |this|. |
scoped_refptr<RenderFrameDevToolsAgentHost> protect(this); |
- if (!IsBrowserSideNavigationEnabled()) |
+ if (!IsBrowserSideNavigationEnabled()) { |
+ if (navigation_handle->IsErrorPage()) { |
+ if (pending_ && |
+ pending_->host() == navigation_handle->GetRenderFrameHost()) { |
+ DiscardPending(); |
+ } |
+ } else if (navigation_handle->HasCommitted()) { |
+ if (pending_ && |
+ pending_->host() == navigation_handle->GetRenderFrameHost()) { |
+ CommitPending(); |
+ } |
+ if (session()) |
+ protocol::TargetHandler::FromSession(session())->UpdateServiceWorkers(); |
+ } |
+ DCHECK(CheckConsistency()); |
return; |
+ } |
// If the navigation is not tracked, return; |
if (navigating_handles_.count(navigation_handle) == 0) |
@@ -872,35 +888,6 @@ void RenderFrameDevToolsAgentHost::DidDetachInterstitialPage() { |
page_handler->DidDetachInterstitialPage(); |
} |
-void RenderFrameDevToolsAgentHost::DidCommitProvisionalLoadForFrame( |
- RenderFrameHost* render_frame_host, |
- const GURL& url, |
- ui::PageTransition transition_type) { |
- // CommitPending may destruct |this|. |
- scoped_refptr<RenderFrameDevToolsAgentHost> protect(this); |
- |
- if (IsBrowserSideNavigationEnabled()) |
- return; |
- if (pending_ && pending_->host() == render_frame_host) |
- CommitPending(); |
- DCHECK(CheckConsistency()); |
- if (session()) |
- protocol::TargetHandler::FromSession(session())->UpdateServiceWorkers(); |
-} |
- |
-void RenderFrameDevToolsAgentHost::DidFailProvisionalLoad( |
- RenderFrameHost* render_frame_host, |
- const GURL& validated_url, |
- int error_code, |
- const base::string16& error_description, |
- bool was_ignored_by_handler) { |
- if (IsBrowserSideNavigationEnabled()) |
- return; |
- if (pending_ && pending_->host() == render_frame_host) |
- DiscardPending(); |
- DCHECK(CheckConsistency()); |
-} |
- |
void RenderFrameDevToolsAgentHost::WasShown() { |
CreatePowerSaveBlocker(); |
} |