| Index: components/error_page/renderer/net_error_helper_core.cc
|
| diff --git a/components/error_page/renderer/net_error_helper_core.cc b/components/error_page/renderer/net_error_helper_core.cc
|
| index db3f4dcd7d2e194e251d8e271e2ed181a2f2c710..e12030771847706372a870cfb337314abb121f9a 100644
|
| --- a/components/error_page/renderer/net_error_helper_core.cc
|
| +++ b/components/error_page/renderer/net_error_helper_core.cc
|
| @@ -380,7 +380,8 @@ struct NetErrorHelperCore::ErrorPageInfo {
|
| reload_button_in_page(false),
|
| show_saved_copy_button_in_page(false),
|
| show_cached_copy_button_in_page(false),
|
| - show_saved_pages_button_in_page(false),
|
| + show_offline_pages_button_in_page(false),
|
| + show_offline_copy_button_in_page(false),
|
| is_finished_loading(false),
|
| auto_reload_triggered(false) {}
|
|
|
| @@ -415,7 +416,8 @@ struct NetErrorHelperCore::ErrorPageInfo {
|
| bool reload_button_in_page;
|
| bool show_saved_copy_button_in_page;
|
| bool show_cached_copy_button_in_page;
|
| - bool show_saved_pages_button_in_page;
|
| + bool show_offline_pages_button_in_page;
|
| + bool show_offline_copy_button_in_page;
|
|
|
| // True if a page has completed loading, at which point it can receive
|
| // updates.
|
| @@ -470,8 +472,10 @@ NetErrorHelperCore::NetErrorHelperCore(Delegate* delegate,
|
| online_(true),
|
| visible_(is_visible),
|
| auto_reload_count_(0),
|
| - navigation_from_button_(NO_BUTTON),
|
| - has_offline_pages_(false) {
|
| +#if defined(OS_ANDROID)
|
| + offline_page_status_(OfflinePageStatus::NONE),
|
| +#endif // defined(OS_ANDROID)
|
| + navigation_from_button_(NO_BUTTON) {
|
| }
|
|
|
| NetErrorHelperCore::~NetErrorHelperCore() {
|
| @@ -596,8 +600,11 @@ void NetErrorHelperCore::OnFinishLoad(FrameType frame_type) {
|
| if (committed_error_page_info_->show_saved_copy_button_in_page) {
|
| RecordEvent(NETWORK_ERROR_PAGE_SHOW_SAVED_COPY_BUTTON_SHOWN);
|
| }
|
| - if (committed_error_page_info_->show_saved_pages_button_in_page) {
|
| - RecordEvent(NETWORK_ERROR_PAGE_SHOW_SAVED_PAGES_BUTTON_SHOWN);
|
| + if (committed_error_page_info_->show_offline_pages_button_in_page) {
|
| + RecordEvent(NETWORK_ERROR_PAGE_SHOW_OFFLINE_PAGES_BUTTON_SHOWN);
|
| + }
|
| + if (committed_error_page_info_->show_offline_copy_button_in_page) {
|
| + RecordEvent(NETWORK_ERROR_PAGE_SHOW_OFFLINE_COPY_BUTTON_SHOWN);
|
| }
|
| if (committed_error_page_info_->reload_button_in_page &&
|
| committed_error_page_info_->show_saved_copy_button_in_page) {
|
| @@ -653,15 +660,17 @@ void NetErrorHelperCore::GetErrorHTML(FrameType frame_type,
|
| bool reload_button_in_page;
|
| bool show_saved_copy_button_in_page;
|
| bool show_cached_copy_button_in_page;
|
| - bool show_saved_pages_button_in_page;
|
| + bool show_offline_pages_button_in_page;
|
| + bool show_offline_copy_button_in_page;
|
|
|
| delegate_->GenerateLocalizedErrorPage(
|
| error, is_failed_post,
|
| false /* No diagnostics dialogs allowed for subframes. */,
|
| - false /* No "show saved pages" provided in subframes */,
|
| + OfflinePageStatus::NONE /* No offline button provided in subframes */,
|
| scoped_ptr<ErrorPageParams>(), &reload_button_in_page,
|
| &show_saved_copy_button_in_page, &show_cached_copy_button_in_page,
|
| - &show_saved_pages_button_in_page, error_html);
|
| + &show_offline_pages_button_in_page,
|
| + &show_offline_copy_button_in_page, error_html);
|
| }
|
| }
|
|
|
| @@ -697,8 +706,11 @@ void NetErrorHelperCore::OnSetNavigationCorrectionInfo(
|
| navigation_correction_params_.search_url = search_url;
|
| }
|
|
|
| -void NetErrorHelperCore::OnSetHasOfflinePages(bool has_offline_pages) {
|
| - has_offline_pages_ = has_offline_pages;
|
| +void NetErrorHelperCore::OnSetOfflinePageInfo(
|
| + OfflinePageStatus offline_page_status) {
|
| +#if defined(OS_ANDROID)
|
| + offline_page_status_ = offline_page_status;
|
| +#endif // defined(OS_ANDROID)
|
| }
|
|
|
| void NetErrorHelperCore::GetErrorHtmlForMainFrame(
|
| @@ -728,12 +740,13 @@ void NetErrorHelperCore::GetErrorHtmlForMainFrame(
|
| delegate_->GenerateLocalizedErrorPage(
|
| error, pending_error_page_info->was_failed_post,
|
| can_show_network_diagnostics_dialog_,
|
| - has_offline_pages_,
|
| + GetOfflinePageStatus(),
|
| scoped_ptr<ErrorPageParams>(),
|
| &pending_error_page_info->reload_button_in_page,
|
| &pending_error_page_info->show_saved_copy_button_in_page,
|
| &pending_error_page_info->show_cached_copy_button_in_page,
|
| - &pending_error_page_info->show_saved_pages_button_in_page,
|
| + &pending_error_page_info->show_offline_pages_button_in_page,
|
| + &pending_error_page_info->show_offline_copy_button_in_page,
|
| error_html);
|
| }
|
|
|
| @@ -758,7 +771,7 @@ void NetErrorHelperCore::UpdateErrorPage() {
|
| GetUpdatedError(committed_error_page_info_->error),
|
| committed_error_page_info_->was_failed_post,
|
| can_show_network_diagnostics_dialog_,
|
| - has_offline_pages_);
|
| + GetOfflinePageStatus());
|
| }
|
|
|
| void NetErrorHelperCore::OnNavigationCorrectionsFetched(
|
| @@ -796,12 +809,13 @@ void NetErrorHelperCore::OnNavigationCorrectionsFetched(
|
| pending_error_page_info_->error,
|
| pending_error_page_info_->was_failed_post,
|
| can_show_network_diagnostics_dialog_,
|
| - has_offline_pages_,
|
| + GetOfflinePageStatus(),
|
| params.Pass(),
|
| &pending_error_page_info_->reload_button_in_page,
|
| &pending_error_page_info_->show_saved_copy_button_in_page,
|
| &pending_error_page_info_->show_cached_copy_button_in_page,
|
| - &pending_error_page_info_->show_saved_pages_button_in_page,
|
| + &pending_error_page_info_->show_offline_pages_button_in_page,
|
| + &pending_error_page_info_->show_offline_copy_button_in_page,
|
| &error_html);
|
| } else {
|
| // Since |navigation_correction_params| in |pending_error_page_info_| is
|
| @@ -966,10 +980,15 @@ void NetErrorHelperCore::ExecuteButtonPress(Button button) {
|
| delegate_->DiagnoseError(
|
| committed_error_page_info_->error.unreachableURL);
|
| return;
|
| - case SHOW_SAVED_PAGES_BUTTON:
|
| - RecordEvent(NETWORK_ERROR_PAGE_SHOW_SAVED_PAGES_BUTTON_CLICKED);
|
| + case SHOW_OFFLINE_PAGES_BUTTON:
|
| + RecordEvent(NETWORK_ERROR_PAGE_SHOW_OFFLINE_PAGES_BUTTON_CLICKED);
|
| delegate_->ShowOfflinePages();
|
| return;
|
| + case SHOW_OFFLINE_COPY_BUTTON:
|
| + RecordEvent(NETWORK_ERROR_PAGE_SHOW_OFFLINE_COPY_BUTTON_CLICKED);
|
| + delegate_->LoadOfflineCopy(
|
| + committed_error_page_info_->error.unreachableURL);
|
| + return;
|
| case NO_BUTTON:
|
| NOTREACHED();
|
| return;
|
| @@ -1012,4 +1031,12 @@ void NetErrorHelperCore::TrackClick(int tracking_id) {
|
| request_body);
|
| }
|
|
|
| +OfflinePageStatus NetErrorHelperCore::GetOfflinePageStatus() const {
|
| +#if defined(OS_ANDROID)
|
| + return offline_page_status_;
|
| +#else
|
| + return OfflinePageStatus::NONE;
|
| +#endif // defined(OS_ANDROID)
|
| +}
|
| +
|
| } // namespace error_page
|
|
|