| 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
|
|
|