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

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

Issue 2637563002: [Offline Pages] Snapshotting on timeout of last retry. (Closed)
Patch Set: merging with master again Created 3 years, 10 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/prerendering_loader.cc
diff --git a/chrome/browser/android/offline_pages/prerendering_loader.cc b/chrome/browser/android/offline_pages/prerendering_loader.cc
index 7b1ab65eec40cec598011da8f2c0e0abe3b8c6fc..0b2f878764963cadf74a4cf1ec95240527f95c2f 100644
--- a/chrome/browser/android/offline_pages/prerendering_loader.cc
+++ b/chrome/browser/android/offline_pages/prerendering_loader.cc
@@ -79,7 +79,8 @@ Offliner::RequestStatus ClassifyFinalStatus(
PrerenderingLoader::PrerenderingLoader(content::BrowserContext* browser_context)
: state_(State::IDLE),
snapshot_controller_(nullptr),
- browser_context_(browser_context) {
+ browser_context_(browser_context),
+ is_lowbar_met_(false) {
adapter_.reset(new PrerenderAdapter(this));
}
@@ -159,11 +160,14 @@ void PrerenderingLoader::OnPrerenderDomContentLoaded() {
if (!adapter_->GetWebContents()) {
// Without a WebContents object at this point, we are done.
HandleLoadingStopped();
- } else if (kConsiderDclForSnapshot) {
- // Inform SnapshotController of DomContentLoaded event so it can
- // determine when to consider it really LOADED (e.g., some multiple
- // second delay from this event).
- snapshot_controller_->DocumentAvailableInMainFrame();
+ } else {
+ is_lowbar_met_ = true;
+ if (kConsiderDclForSnapshot) {
+ // Inform SnapshotController of DomContentLoaded event so it can
+ // determine when to consider it really LOADED (e.g., some multiple
+ // second delay from this event).
+ snapshot_controller_->DocumentAvailableInMainFrame();
+ }
}
}
@@ -182,6 +186,10 @@ void PrerenderingLoader::StartSnapshot() {
HandleLoadEvent();
}
+bool PrerenderingLoader::IsLowbarMet() {
+ return is_lowbar_met_;
+}
+
void PrerenderingLoader::HandleLoadEvent() {
// If still loading, check if the load succeeded or not, then update
// the internal state (LOADED for success or IDLE for failure) and post
@@ -251,6 +259,7 @@ void PrerenderingLoader::HandleLoadingStopped() {
snapshot_controller_.reset(nullptr);
session_contents_.reset(nullptr);
state_ = State::IDLE;
+ is_lowbar_met_ = false;
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(load_done_callback_, request_status, nullptr));
}
@@ -262,6 +271,7 @@ void PrerenderingLoader::CancelPrerender() {
snapshot_controller_.reset(nullptr);
session_contents_.reset(nullptr);
state_ = State::IDLE;
+ is_lowbar_met_ = false;
}
} // namespace offline_pages

Powered by Google App Engine
This is Rietveld 408576698