Chromium Code Reviews| 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..02902579f59ad6e63d546bfb89328c8ba4dba6da 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: Change this once offline pages infrastructure uses NavigationHandle |
|
fgorski
2016/10/28 16:16:29
put your ldap next to the TODO(ryan...), please.
|
| + // 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 |