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

Unified Diff: chrome/browser/prerender/prerender_contents.cc

Issue 146983002: Move pending prerender logic into PrerenderLinkManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 11 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
« no previous file with comments | « chrome/browser/prerender/prerender_contents.h ('k') | chrome/browser/prerender/prerender_link_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/prerender_contents.cc
diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc
index 82477b288025f24077a4ba48c8be9344b88bfc0f..05dfdc6774050249957d25eb65143e3cdc4fa7fc 100644
--- a/chrome/browser/prerender/prerender_contents.cc
+++ b/chrome/browser/prerender/prerender_contents.cc
@@ -195,52 +195,6 @@ PrerenderContents::Observer::Observer() {
PrerenderContents::Observer::~Observer() {
}
-PrerenderContents::PendingPrerenderInfo::PendingPrerenderInfo(
- base::WeakPtr<PrerenderHandle> weak_prerender_handle,
- Origin origin,
- const GURL& url,
- const content::Referrer& referrer,
- const gfx::Size& size)
- : weak_prerender_handle(weak_prerender_handle),
- origin(origin),
- url(url),
- referrer(referrer),
- size(size) {
-}
-
-PrerenderContents::PendingPrerenderInfo::~PendingPrerenderInfo() {
-}
-
-void PrerenderContents::AddPendingPrerender(
- scoped_ptr<PendingPrerenderInfo> pending_prerender_info) {
- pending_prerenders_.push_back(pending_prerender_info.release());
-}
-
-void PrerenderContents::PrepareForUse() {
- if (prerender_contents_.get()) {
- prerender_contents_->SendToAllFrames(
- new PrerenderMsg_SetIsPrerendering(MSG_ROUTING_NONE, false));
- }
-
- NotifyPrerenderStop();
-
- SessionStorageNamespace* session_storage_namespace = NULL;
- if (prerender_contents_) {
- // TODO(ajwong): This does not correctly handle storage for isolated apps.
- session_storage_namespace = prerender_contents_->
- GetController().GetDefaultSessionStorageNamespace();
- }
- prerender_manager_->StartPendingPrerenders(
- child_id_, &pending_prerenders_, session_storage_namespace);
- pending_prerenders_.clear();
-
- content::BrowserThread::PostTask(
- content::BrowserThread::IO,
- FROM_HERE,
- base::Bind(&ResumeThrottles, resource_throttles_));
- resource_throttles_.clear();
-}
-
PrerenderContents::PrerenderContents(
PrerenderManager* prerender_manager,
Profile* profile,
@@ -420,8 +374,10 @@ bool PrerenderContents::GetRouteId(int* route_id) const {
}
void PrerenderContents::SetFinalStatus(FinalStatus final_status) {
- DCHECK(final_status >= FINAL_STATUS_USED && final_status < FINAL_STATUS_MAX);
- DCHECK(final_status_ == FINAL_STATUS_MAX);
+ DCHECK_GE(final_status, FINAL_STATUS_USED);
+ DCHECK_LT(final_status, FINAL_STATUS_MAX);
+
+ DCHECK_EQ(FINAL_STATUS_MAX, final_status_);
final_status_ = final_status;
}
@@ -510,10 +466,6 @@ void PrerenderContents::OnRenderViewHostCreated(
RenderViewHost* new_render_view_host) {
}
-size_t PrerenderContents::pending_prerender_count() const {
- return pending_prerenders_.size();
-}
-
WebContents* PrerenderContents::CreateWebContents(
SessionStorageNamespace* session_storage_namespace) {
// TODO(ajwong): Remove the temporary map once prerendering is aware of
@@ -808,6 +760,23 @@ bool PrerenderContents::IsCrossSiteNavigationPending() const {
prerender_contents_->GetPendingSiteInstance());
}
+void PrerenderContents::PrepareForUse() {
+ SetFinalStatus(FINAL_STATUS_USED);
+
+ if (prerender_contents_.get()) {
+ prerender_contents_->SendToAllFrames(
+ new PrerenderMsg_SetIsPrerendering(MSG_ROUTING_NONE, false));
+ }
+
+ NotifyPrerenderStop();
+
+ content::BrowserThread::PostTask(
+ content::BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&ResumeThrottles, resource_throttles_));
+ resource_throttles_.clear();
+}
+
SessionStorageNamespace* PrerenderContents::GetSessionStorageNamespace() const {
if (!prerender_contents())
return NULL;
« no previous file with comments | « chrome/browser/prerender/prerender_contents.h ('k') | chrome/browser/prerender/prerender_link_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698