Index: chrome/browser/prerender/prerender_contents.cc |
=================================================================== |
--- chrome/browser/prerender/prerender_contents.cc (revision 109949) |
+++ chrome/browser/prerender/prerender_contents.cc (working copy) |
@@ -349,11 +349,14 @@ |
void PrerenderContents::set_final_status(FinalStatus final_status) { |
DCHECK(final_status >= FINAL_STATUS_USED && final_status < FINAL_STATUS_MAX); |
DCHECK(final_status_ == FINAL_STATUS_MAX || |
- final_status_ == FINAL_STATUS_CONTROL_GROUP); |
+ final_status_ == FINAL_STATUS_CONTROL_GROUP || |
+ final_status_ == FINAL_STATUS_MATCH_COMPLETE_DUMMY); |
- // Don't override final_status_ if it's FINAL_STATUS_CONTROL_GROUP, |
- // otherwise data will be collected in the Prerender.FinalStatus histogram. |
- if (final_status_ == FINAL_STATUS_CONTROL_GROUP) |
+ // Don't override final_status_ if it's FINAL_STATUS_CONTROL_GROUP or |
+ // FINAL_STATUS_MATCH_COMPLETE_DUMMY, otherwise data will be collected |
+ // in the Prerender.FinalStatus histogram. |
+ if (final_status_ == FINAL_STATUS_CONTROL_GROUP || |
+ final_status_ == FINAL_STATUS_MATCH_COMPLETE_DUMMY) |
return; |
final_status_ = final_status; |
@@ -363,11 +366,13 @@ |
DCHECK(final_status_ != FINAL_STATUS_MAX); |
DCHECK(prerendering_has_been_cancelled_ || |
final_status_ == FINAL_STATUS_USED || |
- final_status_ == FINAL_STATUS_CONTROL_GROUP); |
+ final_status_ == FINAL_STATUS_CONTROL_GROUP || |
+ final_status_ == FINAL_STATUS_MATCH_COMPLETE_DUMMY); |
DCHECK(origin_ != ORIGIN_MAX); |
// If we haven't even started prerendering, we were just in the control |
- // group, which means we do not want to record the status. |
+ // group (or a match complete dummy), which means we do not want to record |
+ // the status. |
if (prerendering_has_started()) |
prerender_manager_->RecordFinalStatus(origin_, experiment_id_, |
final_status_); |
@@ -579,7 +584,7 @@ |
prerendering_has_been_cancelled_ = true; |
// This has to be done after setting the final status, as it adds the |
// prerender to the history. |
- prerender_manager_->MoveEntryToPendingDelete(this); |
+ prerender_manager_->MoveEntryToPendingDelete(this, final_status); |
// We may destroy the PrerenderContents before we have initialized the |
// RenderViewHost. Otherwise set the Observer's PrerenderContents to NULL to |