Index: chrome/renderer/net/net_error_helper.cc |
diff --git a/chrome/renderer/net/net_error_helper.cc b/chrome/renderer/net/net_error_helper.cc |
index af983a6da5317672edf76d2e738a8d4903a1dbd6..b0d8dde9830288a62a9e2de788dd3ccb84eb5205 100644 |
--- a/chrome/renderer/net/net_error_helper.cc |
+++ b/chrome/renderer/net/net_error_helper.cc |
@@ -145,6 +145,7 @@ bool NetErrorHelper::OnMessageReceived(const IPC::Message& message) { |
OnSetCanShowNetworkDiagnosticsDialog); |
IPC_MESSAGE_HANDLER(ChromeViewMsg_SetNavigationCorrectionInfo, |
OnSetNavigationCorrectionInfo); |
+ IPC_MESSAGE_HANDLER(ChromeViewMsg_SetHasOfflinePages, OnSetHasOfflinePages) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
@@ -171,10 +172,12 @@ void NetErrorHelper::GenerateLocalizedErrorPage( |
const blink::WebURLError& error, |
bool is_failed_post, |
bool can_show_network_diagnostics_dialog, |
+ bool has_offline_pages, |
scoped_ptr<ErrorPageParams> params, |
bool* reload_button_shown, |
bool* show_saved_copy_button_shown, |
bool* show_cached_copy_button_shown, |
+ bool* show_saved_pages_button_shown, |
std::string* error_html) const { |
error_html->clear(); |
@@ -189,6 +192,7 @@ void NetErrorHelper::GenerateLocalizedErrorPage( |
error.unreachableURL, is_failed_post, |
error.staleCopyInCache, |
can_show_network_diagnostics_dialog, |
+ has_offline_pages, |
RenderThread::Get()->GetLocale(), |
render_frame()->GetRenderView()-> |
GetAcceptLanguages(), |
@@ -198,6 +202,8 @@ void NetErrorHelper::GenerateLocalizedErrorPage( |
error_strings.Get("showSavedCopyButton", nullptr); |
*show_cached_copy_button_shown = |
error_strings.Get("cacheButton", nullptr); |
+ *show_saved_pages_button_shown = |
+ error_strings.Get("showSavedPagesButton", nullptr); |
// "t" is the id of the template's root node. |
*error_html = webui::GetTemplatesHtml(template_html, &error_strings, "t"); |
} |
@@ -216,7 +222,8 @@ void NetErrorHelper::EnablePageHelperFunctions() { |
void NetErrorHelper::UpdateErrorPage(const blink::WebURLError& error, |
bool is_failed_post, |
- bool can_show_network_diagnostics_dialog) { |
+ bool can_show_network_diagnostics_dialog, |
+ bool has_offline_pages) { |
base::DictionaryValue error_strings; |
LocalizedError::GetStrings(error.reason, |
error.domain.utf8(), |
@@ -224,6 +231,7 @@ void NetErrorHelper::UpdateErrorPage(const blink::WebURLError& error, |
is_failed_post, |
error.staleCopyInCache, |
can_show_network_diagnostics_dialog, |
+ has_offline_pages, |
RenderThread::Get()->GetLocale(), |
render_frame()->GetRenderView()-> |
GetAcceptLanguages(), |
@@ -310,6 +318,11 @@ void NetErrorHelper::DiagnoseError(const GURL& page_url) { |
render_frame()->GetRoutingID(), page_url)); |
} |
+void NetErrorHelper::ShowOfflinePages() { |
+ render_frame()->Send(new ChromeViewHostMsg_ShowOfflinePages( |
+ render_frame()->GetRoutingID())); |
+} |
+ |
void NetErrorHelper::OnNetErrorInfo(int status_num) { |
DCHECK(status_num >= 0 && status_num < error_page::DNS_PROBE_MAX); |
@@ -353,3 +366,7 @@ void NetErrorHelper::OnTrackingRequestComplete( |
const std::string& data) { |
tracking_fetcher_.reset(); |
} |
+ |
+void NetErrorHelper::OnSetHasOfflinePages(bool has_offline_pages) { |
+ core_->OnSetHasOfflinePages(has_offline_pages); |
+} |