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 |