Index: chrome/browser/net/net_error_tab_helper.cc |
diff --git a/chrome/browser/net/net_error_tab_helper.cc b/chrome/browser/net/net_error_tab_helper.cc |
index e590ae9f4453d83fdf74239577834e9dce9ed696..604f53e1134762cd2c3aa615266ab39739adf009 100644 |
--- a/chrome/browser/net/net_error_tab_helper.cc |
+++ b/chrome/browser/net/net_error_tab_helper.cc |
@@ -104,78 +104,47 @@ void NetErrorTabHelper::RenderFrameCreated( |
CanShowNetworkDiagnosticsDialog())); |
} |
-void NetErrorTabHelper::DidStartNavigationToPendingEntry( |
- const GURL& url, |
- content::ReloadType reload_type) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- |
- if (!is_error_page_) |
+void NetErrorTabHelper::DidStartNavigation( |
+ content::NavigationHandle* navigation_handle) { |
+ if (!navigation_handle->IsInMainFrame()) |
return; |
- // Only record reloads. |
- if (reload_type != content::ReloadType::NONE) { |
+ if (navigation_handle->IsErrorPage() && |
+ navigation_handle->GetPageTransition() == ui::PAGE_TRANSITION_RELOAD) { |
error_page::RecordEvent( |
error_page::NETWORK_ERROR_PAGE_BROWSER_INITIATED_RELOAD); |
} |
-} |
- |
-void NetErrorTabHelper::DidStartProvisionalLoadForFrame( |
- content::RenderFrameHost* render_frame_host, |
- const GURL& validated_url, |
- bool is_error_page, |
- bool is_iframe_srcdoc) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- |
- if (render_frame_host->GetParent()) |
- return; |
- |
- is_error_page_ = is_error_page; |
#if BUILDFLAG(ANDROID_JAVA_UI) |
- UpdateHasOfflinePages(render_frame_host); |
+ UpdateHasOfflinePages(navigation_handle->GetFrameTreeNodeId()); |
#endif // BUILDFLAG(ANDROID_JAVA_UI) |
} |
-void NetErrorTabHelper::DidCommitProvisionalLoadForFrame( |
- content::RenderFrameHost* render_frame_host, |
- const GURL& url, |
- PageTransition transition_type) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- |
- if (render_frame_host->GetParent()) |
+void NetErrorTabHelper::DidFinishNavigation( |
+ content::NavigationHandle* navigation_handle) { |
+ if (!navigation_handle->IsInMainFrame()) |
return; |
+ if (IsDnsError(navigation_handle->GetNetErrorCode())) { |
+ dns_error_active_ = true; |
+ OnMainFrameDnsError(); |
+ } |
+ |
// Resend status every time an error page commits; this is somewhat spammy, |
// but ensures that the status will make it to the real error page, even if |
// the link doctor loads a blank intermediate page or the tab switches |
// renderer processes. |
- if (is_error_page_ && dns_error_active_) { |
+ if (navigation_handle->IsErrorPage() && dns_error_active_) { |
dns_error_page_committed_ = true; |
DVLOG(1) << "Committed error page; resending status."; |
SendInfo(); |
- } else { |
+ } else if (navigation_handle->HasCommitted() && |
+ !navigation_handle->IsErrorPage()) { |
dns_error_active_ = false; |
dns_error_page_committed_ = false; |
} |
} |
-void NetErrorTabHelper::DidFailProvisionalLoad( |
- content::RenderFrameHost* render_frame_host, |
- const GURL& validated_url, |
- int error_code, |
- const base::string16& error_description, |
- bool was_ignored_by_handler) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- |
- if (render_frame_host->GetParent()) |
- return; |
- |
- if (IsDnsError(error_code)) { |
- dns_error_active_ = true; |
- OnMainFrameDnsError(); |
- } |
-} |
- |
bool NetErrorTabHelper::OnMessageReceived( |
const IPC::Message& message, |
content::RenderFrameHost* render_frame_host) { |
@@ -296,10 +265,9 @@ void NetErrorTabHelper::RunNetworkDiagnosticsHelper( |
} |
#if BUILDFLAG(ANDROID_JAVA_UI) |
-void NetErrorTabHelper::UpdateHasOfflinePages( |
- content::RenderFrameHost* render_frame_host) { |
+void NetErrorTabHelper::UpdateHasOfflinePages(int frame_tree_node_id) { |
// TODO(chili): remove entirely in M55 if AsyncLoading does not need this. |
- SetHasOfflinePages(render_frame_host->GetFrameTreeNodeId(), false); |
+ SetHasOfflinePages(frame_tree_node_id, false); |
} |
void NetErrorTabHelper::SetHasOfflinePages(int frame_tree_node_id, |