| 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..a0e73cf6cb1e2c50084dc6ce1a1817860884b2fe 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,10 @@ void NetErrorTabHelper::DidStartProvisionalLoadForFrame(
|
| return;
|
|
|
| is_error_page_ = is_error_page;
|
| +
|
| +#if defined(OS_ANDROID)
|
| + SetHasOfflinePages(render_frame_host);
|
| +#endif
|
| }
|
|
|
| void NetErrorTabHelper::DidCommitProvisionalLoadForFrame(
|
| @@ -167,6 +175,9 @@ bool NetErrorTabHelper::OnMessageReceived(
|
| IPC_BEGIN_MESSAGE_MAP(NetErrorTabHelper, message)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_RunNetworkDiagnostics,
|
| RunNetworkDiagnostics)
|
| +#if defined(OS_ANDROID)
|
| + IPC_MESSAGE_HANDLER(ChromeViewHostMsg_ShowOfflinePages, ShowOfflinePages)
|
| +#endif
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
|
|
| @@ -274,4 +285,24 @@ void NetErrorTabHelper::RunNetworkDiagnosticsHelper(
|
| ShowNetworkDiagnosticsDialog(web_contents(), sanitized_url);
|
| }
|
|
|
| +#if defined(OS_ANDROID)
|
| +void NetErrorTabHelper::SetHasOfflinePages(
|
| + content::RenderFrameHost* render_frame_host) {
|
| + DCHECK(web_contents());
|
| + TabAndroid* tab = TabAndroid::FromWebContents(web_contents());
|
| + bool has_offline_pages = tab && tab->HasOfflinePages();
|
| + render_frame_host->Send(
|
| + new ChromeViewMsg_SetHasOfflinePages(
|
| + render_frame_host->GetRoutingID(),
|
| + has_offline_pages));
|
| +}
|
| +
|
| +void NetErrorTabHelper::ShowOfflinePages() {
|
| + DCHECK(web_contents());
|
| + TabAndroid* tab = TabAndroid::FromWebContents(web_contents());
|
| + if (tab)
|
| + tab->ShowOfflinePages();
|
| +}
|
| +#endif
|
| +
|
| } // namespace chrome_browser_net
|
|
|