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