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

Unified Diff: chrome/browser/net/net_error_tab_helper.cc

Issue 1410343007: Add "SHOW ALL SAVED PAGES" button to offline error page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address one more feedback Created 5 years, 1 month 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: 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 8e325f9be01b1103ffc5f6c8a10b0606006b6049..8e422ddfdecb7affeecbd7d843498ab8b6297613 100644
--- a/chrome/browser/net/net_error_tab_helper.cc
+++ b/chrome/browser/net/net_error_tab_helper.cc
@@ -22,6 +22,10 @@
#include "net/base/net_errors.h"
#include "url/gurl.h"
+#if defined(OS_ANDROID)
+#include "chrome/browser/android/tab_android.h"
+#endif
+
using content::BrowserContext;
using content::BrowserThread;
using content::WebContents;
@@ -118,6 +122,8 @@ void NetErrorTabHelper::DidStartProvisionalLoadForFrame(
return;
is_error_page_ = is_error_page;
+
+ SetHasOfflinePages(render_frame_host);
}
void NetErrorTabHelper::DidCommitProvisionalLoadForFrame(
@@ -167,6 +173,7 @@ bool NetErrorTabHelper::OnMessageReceived(
IPC_BEGIN_MESSAGE_MAP(NetErrorTabHelper, message)
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_RunNetworkDiagnostics,
RunNetworkDiagnostics)
+ IPC_MESSAGE_HANDLER(ChromeViewHostMsg_ShowOfflinePages, ShowOfflinePages)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@@ -274,4 +281,26 @@ void NetErrorTabHelper::RunNetworkDiagnosticsHelper(
ShowNetworkDiagnosticsDialog(web_contents(), sanitized_url);
}
+void NetErrorTabHelper::SetHasOfflinePages(
+ content::RenderFrameHost* render_frame_host) {
+#if defined(OS_ANDROID)
+ TabAndroid* tab =
+ web_contents() ? TabAndroid::FromWebContents(web_contents()) : nullptr;
Lei Zhang 2015/11/11 00:55:57 The rest of the files doesn't seem to care if web_
jianli 2015/11/11 01:16:47 Done.
+ bool has_offline_pages = (tab && tab->HasOfflinePages());
+ render_frame_host->Send(
+ new ChromeViewMsg_SetHasOfflinePages(
+ render_frame_host->GetRoutingID(),
+ has_offline_pages));
+#endif
+}
+
+void NetErrorTabHelper::ShowOfflinePages() {
+#if defined(OS_ANDROID)
+ TabAndroid* tab =
+ web_contents() ? TabAndroid::FromWebContents(web_contents()) : nullptr;
+ if (tab)
+ tab->ShowOfflinePages();
+#endif
+}
+
} // namespace chrome_browser_net

Powered by Google App Engine
This is Rietveld 408576698