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 492c9d31b541ffb4adc1c853f4b01b92aaf74ca7..d739cdcbc44664e7e8da4885f899c7aa579661f5 100644 |
--- a/chrome/renderer/net/net_error_helper.cc |
+++ b/chrome/renderer/net/net_error_helper.cc |
@@ -50,6 +50,7 @@ using error_page::DnsProbeStatus; |
using error_page::DnsProbeStatusToString; |
using error_page::ErrorPageParams; |
using error_page::NetErrorHelperCore; |
+using error_page::OfflinePageStatus; |
namespace { |
@@ -146,7 +147,7 @@ bool NetErrorHelper::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(ChromeViewMsg_SetNavigationCorrectionInfo, |
OnSetNavigationCorrectionInfo); |
#if defined(OS_ANDROID) |
- IPC_MESSAGE_HANDLER(ChromeViewMsg_SetHasOfflinePages, OnSetHasOfflinePages) |
+ IPC_MESSAGE_HANDLER(ChromeViewMsg_SetOfflinePageInfo, OnSetOfflinePageInfo) |
#endif |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
@@ -174,12 +175,13 @@ void NetErrorHelper::GenerateLocalizedErrorPage( |
const blink::WebURLError& error, |
bool is_failed_post, |
bool can_show_network_diagnostics_dialog, |
- bool has_offline_pages, |
+ OfflinePageStatus offline_page_status, |
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, |
+ bool* show_offline_pages_button_shown, |
+ bool* show_offline_copy_button_shown, |
std::string* error_html) const { |
error_html->clear(); |
@@ -190,22 +192,27 @@ void NetErrorHelper::GenerateLocalizedErrorPage( |
NOTREACHED() << "unable to load template."; |
} else { |
base::DictionaryValue error_strings; |
- LocalizedError::GetStrings(error.reason, error.domain.utf8(), |
- error.unreachableURL, is_failed_post, |
- error.staleCopyInCache, |
- can_show_network_diagnostics_dialog, |
- has_offline_pages, |
- RenderThread::Get()->GetLocale(), |
- render_frame()->GetRenderView()-> |
- GetAcceptLanguages(), |
- params.Pass(), &error_strings); |
+ LocalizedError::GetStrings( |
+ error.reason, |
+ error.domain.utf8(), |
+ error.unreachableURL, |
+ is_failed_post, |
+ error.staleCopyInCache, |
+ can_show_network_diagnostics_dialog, |
+ offline_page_status, |
+ RenderThread::Get()->GetLocale(), |
+ render_frame()->GetRenderView()->GetAcceptLanguages(), |
+ params.Pass(), |
+ &error_strings); |
*reload_button_shown = error_strings.Get("reloadButton", nullptr); |
*show_saved_copy_button_shown = |
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); |
+ *show_offline_pages_button_shown = |
+ error_strings.Get("showOfflinePagesButton", nullptr); |
+ *show_offline_copy_button_shown = |
+ error_strings.Get("showOfflineCopyButton", nullptr); |
// "t" is the id of the template's root node. |
*error_html = webui::GetTemplatesHtml(template_html, &error_strings, "t"); |
} |
@@ -225,20 +232,20 @@ void NetErrorHelper::EnablePageHelperFunctions() { |
void NetErrorHelper::UpdateErrorPage(const blink::WebURLError& error, |
bool is_failed_post, |
bool can_show_network_diagnostics_dialog, |
- bool has_offline_pages) { |
+ OfflinePageStatus offline_page_status) { |
base::DictionaryValue error_strings; |
- LocalizedError::GetStrings(error.reason, |
- error.domain.utf8(), |
- error.unreachableURL, |
- is_failed_post, |
- error.staleCopyInCache, |
- can_show_network_diagnostics_dialog, |
- has_offline_pages, |
- RenderThread::Get()->GetLocale(), |
- render_frame()->GetRenderView()-> |
- GetAcceptLanguages(), |
- scoped_ptr<ErrorPageParams>(), |
- &error_strings); |
+ LocalizedError::GetStrings( |
+ error.reason, |
+ error.domain.utf8(), |
+ error.unreachableURL, |
+ is_failed_post, |
+ error.staleCopyInCache, |
+ can_show_network_diagnostics_dialog, |
+ offline_page_status, |
+ RenderThread::Get()->GetLocale(), |
+ render_frame()->GetRenderView()->GetAcceptLanguages(), |
+ scoped_ptr<ErrorPageParams>(), |
+ &error_strings); |
std::string json; |
JSONWriter::Write(error_strings, &json); |
@@ -324,7 +331,14 @@ void NetErrorHelper::ShowOfflinePages() { |
#if defined(OS_ANDROID) |
render_frame()->Send(new ChromeViewHostMsg_ShowOfflinePages( |
render_frame()->GetRoutingID())); |
-#endif |
+#endif // defined(OS_ANDROID) |
+} |
+ |
+void NetErrorHelper::LoadOfflineCopy(const GURL& page_url) { |
+#if defined(OS_ANDROID) |
+ render_frame()->Send(new ChromeViewHostMsg_LoadOfflineCopy( |
+ render_frame()->GetRoutingID(), page_url)); |
+#endif // defined(OS_ANDROID) |
} |
void NetErrorHelper::OnNetErrorInfo(int status_num) { |
@@ -372,7 +386,8 @@ void NetErrorHelper::OnTrackingRequestComplete( |
} |
#if defined(OS_ANDROID) |
-void NetErrorHelper::OnSetHasOfflinePages(bool has_offline_pages) { |
- core_->OnSetHasOfflinePages(has_offline_pages); |
+void NetErrorHelper::OnSetOfflinePageInfo( |
+ OfflinePageStatus offline_page_status) { |
+ core_->OnSetOfflinePageInfo(offline_page_status); |
} |
-#endif |
+#endif // defined(OS_ANDROID) |