| Index: components/error_page/renderer/net_error_helper_core.h
|
| diff --git a/components/error_page/renderer/net_error_helper_core.h b/components/error_page/renderer/net_error_helper_core.h
|
| index d5c8930d943d5c4f88809546b1510449b0df8f6f..2c341542e52716d75241fb3e0a960a8063eabd26 100644
|
| --- a/components/error_page/renderer/net_error_helper_core.h
|
| +++ b/components/error_page/renderer/net_error_helper_core.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/timer/timer.h"
|
| #include "components/error_page/common/net_error_info.h"
|
| +#include "components/error_page/common/offline_page_types.h"
|
| #include "url/gurl.h"
|
|
|
| namespace base {
|
| @@ -50,7 +51,8 @@ class NetErrorHelperCore {
|
| EASTER_EGG,
|
| SHOW_CACHED_COPY_BUTTON, // "Google cached copy" button label experiment.
|
| DIAGNOSE_ERROR,
|
| - SHOW_SAVED_PAGES_BUTTON,
|
| + SHOW_OFFLINE_PAGES_BUTTON, // "Offline pages" experiment.
|
| + SHOW_OFFLINE_COPY_BUTTON, // "Offline pages" experiment.
|
| };
|
|
|
| // The Delegate handles all interaction with the RenderView, WebFrame, and
|
| @@ -62,12 +64,13 @@ class NetErrorHelperCore {
|
| 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* html) const = 0;
|
|
|
| // Loads the given HTML in the frame for use as an error page.
|
| @@ -84,7 +87,7 @@ class NetErrorHelperCore {
|
| virtual void UpdateErrorPage(const blink::WebURLError& error,
|
| bool is_failed_post,
|
| bool can_show_network_diagnostics_dialog,
|
| - bool has_offline_pages) = 0;
|
| + OfflinePageStatus offline_page_status) = 0;
|
|
|
| // Fetches an error page and calls into OnErrorPageFetched when done. Any
|
| // previous fetch must either be canceled or finished before calling. Can't
|
| @@ -112,9 +115,14 @@ class NetErrorHelperCore {
|
| // Run the platform diagnostics too for the specified URL.
|
| virtual void DiagnoseError(const GURL& page_url) = 0;
|
|
|
| - // Shows the UI for offline pages.
|
| + // Shows all the offline pages that were saved in storage.
|
| virtual void ShowOfflinePages() = 0;
|
|
|
| + // Loads the offline copy of the page that was saved in storage.
|
| + // Note that this is different from the saved copy in the cache as in
|
| + // LoadPageFromCache.
|
| + virtual void LoadOfflineCopy(const GURL& page_url) = 0;
|
| +
|
| protected:
|
| virtual ~Delegate() {}
|
| };
|
| @@ -178,8 +186,9 @@ class NetErrorHelperCore {
|
| const std::string& api_key,
|
| const GURL& search_url);
|
|
|
| - // Notifies by the browser whether an offline page exists.
|
| - void OnSetHasOfflinePages(bool has_offline_pages);
|
| + // Notifies |this| that information about the presence of an offline version
|
| + // of the page has been received.
|
| + void OnSetOfflinePageInfo(OfflinePageStatus offline_page_status);
|
|
|
| // Notifies |this| that the network's online status changed.
|
| // Handler for NetworkStateChanged notification from the browser process. If
|
| @@ -235,6 +244,8 @@ class NetErrorHelperCore {
|
| void AutoReloadTimerFired();
|
| void PauseAutoReloadTimer();
|
|
|
| + OfflinePageStatus GetOfflinePageStatus() const;
|
| +
|
| static bool IsReloadableError(const ErrorPageInfo& info);
|
|
|
| Delegate* delegate_;
|
| @@ -287,14 +298,16 @@ class NetErrorHelperCore {
|
|
|
| int auto_reload_count_;
|
|
|
| +#if defined(OS_ANDROID)
|
| + // Status of offline pages. This is used to decide if offline related button
|
| + // will be shown in certain error page.
|
| + OfflinePageStatus offline_page_status_;
|
| +#endif // defined(OS_ANDROID)
|
| +
|
| // This value is set only when a navigation has been initiated from
|
| // the error page. It is used to detect when such navigations result
|
| // in errors.
|
| Button navigation_from_button_;
|
| -
|
| - // Whether an offline page exists. This is used to decide if "Show saved
|
| - // pages" will be provided in certain error page.
|
| - bool has_offline_pages_;
|
| };
|
|
|
| } // namespace error_page
|
|
|