| 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 f6e1b6e435b50bdf91776f1b4446b41b388834fe..6153b308da87b4165545921f91c300e39df578f3 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));
|
| }
|
|
|
| @@ -157,11 +158,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();
|
| + }
|
| }
|
| }
|
|
|
| @@ -175,6 +179,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
|
| @@ -244,6 +252,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(callback_, request_status, nullptr));
|
| }
|
| @@ -255,6 +264,7 @@ void PrerenderingLoader::CancelPrerender() {
|
| snapshot_controller_.reset(nullptr);
|
| session_contents_.reset(nullptr);
|
| state_ = State::IDLE;
|
| + is_lowbar_met_ = false;
|
| }
|
|
|
| } // namespace offline_pages
|
|
|