| Index: chrome/browser/android/offline_pages/offline_page_tab_helper.cc
|
| diff --git a/chrome/browser/android/offline_pages/offline_page_tab_helper.cc b/chrome/browser/android/offline_pages/offline_page_tab_helper.cc
|
| index 9858838ba12151d848a41b65c9d6419076dd28ea..521585e3c0ac8cf134fe00bb582e89d3ffae4119 100644
|
| --- a/chrome/browser/android/offline_pages/offline_page_tab_helper.cc
|
| +++ b/chrome/browser/android/offline_pages/offline_page_tab_helper.cc
|
| @@ -15,28 +15,29 @@
|
| #include "content/public/browser/navigation_entry.h"
|
| #include "content/public/browser/navigation_handle.h"
|
| #include "content/public/browser/render_frame_host.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "ui/base/page_transition_types.h"
|
|
|
| DEFINE_WEB_CONTENTS_USER_DATA_KEY(offline_pages::OfflinePageTabHelper);
|
|
|
| namespace offline_pages {
|
|
|
| -OfflinePageTabHelper::LoadedOfflinePageInfo::LoadedOfflinePageInfo() {}
|
| +OfflinePageTabHelper::LoadedOfflinePageInfo::LoadedOfflinePageInfo()
|
| + : is_showing_offline_preview(false) {}
|
|
|
| OfflinePageTabHelper::LoadedOfflinePageInfo::~LoadedOfflinePageInfo() {}
|
|
|
| void OfflinePageTabHelper::LoadedOfflinePageInfo::Clear() {
|
| offline_page.reset();
|
| offline_header.Clear();
|
| - is_offline_preview = false;
|
| + is_showing_offline_preview = false;
|
| }
|
|
|
| OfflinePageTabHelper::OfflinePageTabHelper(content::WebContents* web_contents)
|
| : content::WebContentsObserver(web_contents),
|
| weak_ptr_factory_(this) {
|
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| }
|
|
|
| OfflinePageTabHelper::~OfflinePageTabHelper() {}
|
|
|
| @@ -80,22 +81,22 @@ void OfflinePageTabHelper::DidFinishNavigation(
|
| } else {
|
| // The provisional offline info can now be committed if the navigation is
|
| // done without error.
|
| DCHECK(!provisional_offline_info_.offline_page ||
|
| OfflinePageUtils::EqualsIgnoringFragment(
|
| navigated_url,
|
| provisional_offline_info_.offline_page->url));
|
| offline_info_.offline_page =
|
| std::move(provisional_offline_info_.offline_page);
|
| offline_info_.offline_header = provisional_offline_info_.offline_header;
|
| - offline_info_.is_offline_preview =
|
| - provisional_offline_info_.is_offline_preview;
|
| + offline_info_.is_showing_offline_preview =
|
| + provisional_offline_info_.is_showing_offline_preview;
|
| }
|
| provisional_offline_info_.Clear();
|
|
|
| // If the offline page has been loaded successfully, nothing more to do.
|
| net::Error error_code = navigation_handle->GetNetErrorCode();
|
| if (error_code == net::OK)
|
| return;
|
|
|
| // We might be reloading the URL in order to fetch the offline page.
|
| // * If successful, nothing to do.
|
| @@ -163,18 +164,25 @@ void OfflinePageTabHelper::SelectPageForOnlineURLDone(
|
|
|
| // This is a callback from network request interceptor. It happens between
|
| // DidStartNavigation and DidFinishNavigation calls on this tab helper.
|
| void OfflinePageTabHelper::SetOfflinePage(
|
| const OfflinePageItem& offline_page,
|
| const OfflinePageHeader& offline_header,
|
| bool is_offline_preview) {
|
| provisional_offline_info_.offline_page =
|
| base::MakeUnique<OfflinePageItem>(offline_page);
|
| provisional_offline_info_.offline_header = offline_header;
|
| - provisional_offline_info_.is_offline_preview = is_offline_preview;
|
| + provisional_offline_info_.is_showing_offline_preview = is_offline_preview;
|
| }
|
|
|
| const OfflinePageItem* OfflinePageTabHelper::GetOfflinePageForTest() const {
|
| return provisional_offline_info_.offline_page.get();
|
| }
|
|
|
| +bool OfflinePageTabHelper::IsShowingOfflinePreview() const {
|
| + // TODO(ryansturm): Change this once offline pages infrastructure uses
|
| + // NavigationHandle instead of a back channel. crbug.com/658899
|
| + return provisional_offline_info_.is_showing_offline_preview ||
|
| + offline_info_.is_showing_offline_preview;
|
| +}
|
| +
|
| } // namespace offline_pages
|
|
|