Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Unified Diff: chrome/browser/android/offline_pages/offline_page_tab_helper.cc

Issue 2462653002: Showing previews UI for Offline Previews (Closed)
Patch Set: fgorski comment Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698