| Index: chrome/browser/prerender/prerender_manager.cc
|
| ===================================================================
|
| --- chrome/browser/prerender/prerender_manager.cc (revision 109729)
|
| +++ chrome/browser/prerender/prerender_manager.cc (working copy)
|
| @@ -77,22 +77,6 @@
|
| // Length of prerender history, for display in chrome://net-internals
|
| const int kHistoryLength = 100;
|
|
|
| -// Indicates whether a Prerender has been cancelled such that we need
|
| -// a dummy replacement for the purpose of recording the correct PPLT for
|
| -// the Match Complete case.
|
| -
|
| -bool NeedMatchCompleteDummyForFinalStatus(FinalStatus final_status) {
|
| - return final_status != FINAL_STATUS_USED &&
|
| - final_status != FINAL_STATUS_TIMED_OUT &&
|
| - final_status != FINAL_STATUS_EVICTED &&
|
| - final_status != FINAL_STATUS_MANAGER_SHUTDOWN &&
|
| - final_status != FINAL_STATUS_WINDOW_OPENER &&
|
| - final_status != FINAL_STATUS_FRAGMENT_MISMATCH &&
|
| - final_status != FINAL_STATUS_CACHE_OR_HISTORY_CLEARED &&
|
| - final_status != FINAL_STATUS_CANCELLED &&
|
| - final_status != FINAL_STATUS_MATCH_COMPLETE_DUMMY;
|
| -}
|
| -
|
| } // namespace
|
|
|
| class PrerenderManager::OnCloseTabContentsDeleter : public TabContentsDelegate {
|
| @@ -146,11 +130,6 @@
|
| }
|
|
|
| // static
|
| -bool PrerenderManager::ActuallyPrerendering() {
|
| - return IsPrerenderingPossible() && !IsControlGroup();
|
| -}
|
| -
|
| -// static
|
| bool PrerenderManager::IsControlGroup() {
|
| return GetMode() == PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP;
|
| }
|
| @@ -671,46 +650,14 @@
|
| return true;
|
| }
|
|
|
| -void PrerenderManager::MoveEntryToPendingDelete(PrerenderContents* entry,
|
| - FinalStatus final_status) {
|
| +void PrerenderManager::MoveEntryToPendingDelete(PrerenderContents* entry) {
|
| DCHECK(CalledOnValidThread());
|
| - DCHECK(entry);
|
| DCHECK(!IsPendingDelete(entry));
|
| -
|
| for (std::list<PrerenderContentsData>::iterator it = prerender_list_.begin();
|
| it != prerender_list_.end();
|
| ++it) {
|
| if (it->contents_ == entry) {
|
| - bool swapped_in_dummy_replacement = false;
|
| -
|
| - // If this PrerenderContents is being deleted due to a cancellation,
|
| - // we need to create a dummy replacement for PPLT accounting purposes
|
| - // for the Match Complete group.
|
| - // This is the case if the cancellation is for any reason that would not
|
| - // occur in the control group case.
|
| - if (NeedMatchCompleteDummyForFinalStatus(final_status)) {
|
| - // TODO(tburkard): I'd like to DCHECK that we are actually prerendering.
|
| - // However, what if new conditions are added and
|
| - // NeedMatchCompleteDummyForFinalStatus, is not being updated. Not sure
|
| - // what's the best thing to do here. For now, I will just check whether
|
| - // we are actually prerendering.
|
| - if (ActuallyPrerendering()) {
|
| - PrerenderContents* dummy_replacement_prerender_contents =
|
| - CreatePrerenderContents(
|
| - entry->prerender_url(),
|
| - entry->referrer(),
|
| - entry->origin(),
|
| - entry->experiment_id());
|
| - if (dummy_replacement_prerender_contents &&
|
| - dummy_replacement_prerender_contents->Init()) {
|
| - it->contents_ = dummy_replacement_prerender_contents;
|
| - it->contents_->set_final_status(FINAL_STATUS_MATCH_COMPLETE_DUMMY);
|
| - swapped_in_dummy_replacement = true;
|
| - }
|
| - }
|
| - }
|
| - if (!swapped_in_dummy_replacement)
|
| - prerender_list_.erase(it);
|
| + prerender_list_.erase(it);
|
| break;
|
| }
|
| }
|
| @@ -782,11 +729,12 @@
|
| if (!prerender_manager->is_enabled())
|
| return;
|
| bool was_prerender =
|
| - prerender_manager->IsTabContentsPrerendered(tab_contents);
|
| - bool was_complete_prerender = was_prerender ||
|
| - prerender_manager->WouldTabContentsBePrerendered(tab_contents);
|
| + ((mode_ == PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP &&
|
| + prerender_manager->WouldTabContentsBePrerendered(tab_contents)) ||
|
| + (mode_ == PRERENDER_MODE_EXPERIMENT_PRERENDER_GROUP &&
|
| + prerender_manager->IsTabContentsPrerendered(tab_contents)));
|
| prerender_manager->histograms_->RecordPerceivedPageLoadTime(
|
| - perceived_page_load_time, was_prerender, was_complete_prerender, url);
|
| + perceived_page_load_time, was_prerender, url);
|
| }
|
|
|
| bool PrerenderManager::is_enabled() const {
|
|
|