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

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

Issue 286433002: Add to the prerender history when no PrerenderContents is created. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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/prerender/prerender_manager.cc
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index e8344718b33bc12f2d560eca0a62746be5592b17..bc7ca20b35de20f1ee72b660008b60a70456142d 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -1272,7 +1272,8 @@ PrerenderHandle* PrerenderManager::AddPrerender(
if (PrerenderData* preexisting_prerender_data =
FindPrerenderData(url, session_storage_namespace)) {
- RecordFinalStatus(origin, experiment, FINAL_STATUS_DUPLICATE);
+ RecordFinalStatusWithoutCreatingPrerenderContents(
+ url, origin, experiment, FINAL_STATUS_DUPLICATE);
return new PrerenderHandle(preexisting_prerender_data);
}
@@ -1290,7 +1291,8 @@ PrerenderHandle* PrerenderManager::AddPrerender(
if (content::RenderProcessHost::ShouldTryToUseExistingProcessHost(
profile_, url) &&
!content::RenderProcessHost::run_renderer_in_process()) {
- RecordFinalStatus(origin, experiment, FINAL_STATUS_TOO_MANY_PROCESSES);
+ RecordFinalStatusWithoutCreatingPrerenderContents(
+ url, origin, experiment, FINAL_STATUS_TOO_MANY_PROCESSES);
return NULL;
}
@@ -1299,7 +1301,8 @@ PrerenderHandle* PrerenderManager::AddPrerender(
// Cancel the prerender. We could add it to the pending prerender list but
// this doesn't make sense as the next prerender request will be triggered
// by a navigation and is unlikely to be the same site.
- RecordFinalStatus(origin, experiment, FINAL_STATUS_RATE_LIMIT_EXCEEDED);
+ RecordFinalStatusWithoutCreatingPrerenderContents(
+ url, origin, experiment, FINAL_STATUS_RATE_LIMIT_EXCEEDED);
return NULL;
}
@@ -1598,9 +1601,11 @@ void PrerenderManager::DestroyAndMarkMatchCompleteAsUsed(
prerender_contents->Destroy(final_status);
}
-void PrerenderManager::RecordFinalStatus(Origin origin,
- uint8 experiment_id,
- FinalStatus final_status) const {
+void PrerenderManager::RecordFinalStatusWithoutCreatingPrerenderContents(
+ const GURL& url, Origin origin, uint8 experiment_id,
+ FinalStatus final_status) const {
+ PrerenderHistory::Entry entry(url, final_status, origin, base::Time::Now());
+ prerender_history_->AddEntry(entry);
RecordFinalStatusWithMatchCompleteStatus(
origin, experiment_id,
PrerenderContents::MATCH_COMPLETE_DEFAULT,
« chrome/browser/prerender/prerender_manager.h ('K') | « chrome/browser/prerender/prerender_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698