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

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

Issue 2357013002: Fix an issue that PrerenderLoader::OnPrerenderStart() never gets called. (Closed)
Patch Set: nits Created 4 years, 3 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/prerender_adapter.cc
diff --git a/chrome/browser/android/offline_pages/prerender_adapter.cc b/chrome/browser/android/offline_pages/prerender_adapter.cc
index 7764e1642af36dec9e6ea33e55aa2f1fead90962..62642581816ac3ea9b1709c208e9a6801fb556b2 100644
--- a/chrome/browser/android/offline_pages/prerender_adapter.cc
+++ b/chrome/browser/android/offline_pages/prerender_adapter.cc
@@ -41,13 +41,17 @@ bool PrerenderAdapter::StartPrerender(
prerender::PrerenderManagerFactory::GetForBrowserContext(browser_context);
DCHECK(manager);
- // Start prerendering the url and capture the handle for the prerendering.
+ // AddPrerenderForOffline() triggers the start event, and it is before the
+ // observer is set.
active_handle_ =
manager->AddPrerenderForOffline(url, session_storage_namespace, size);
if (!active_handle_)
return false;
+ DCHECK(active_handle_->contents());
+ DCHECK(active_handle_->contents()->prerendering_has_started());
active_handle_->SetObserver(this);
+
return true;
}
@@ -80,8 +84,8 @@ void PrerenderAdapter::DestroyActive() {
}
void PrerenderAdapter::OnPrerenderStart(prerender::PrerenderHandle* handle) {
- DCHECK_EQ(active_handle_.get(), handle);
- observer_->OnPrerenderStart();
+ // Not expected as the start event will happen before the observer is set.
+ NOTREACHED();
}
void PrerenderAdapter::OnPrerenderStopLoading(

Powered by Google App Engine
This is Rietveld 408576698