| Index: chrome/browser/prerender/prerender_manager.cc
|
| ===================================================================
|
| --- chrome/browser/prerender/prerender_manager.cc (revision 72694)
|
| +++ chrome/browser/prerender/prerender_manager.cc (working copy)
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/prerender/prerender_manager.h"
|
|
|
| #include "base/logging.h"
|
| +#include "base/metrics/histogram.h"
|
| #include "base/time.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "chrome/browser/browser_thread.h"
|
| @@ -32,7 +33,8 @@
|
| max_prerender_age_(base::TimeDelta::FromSeconds(
|
| kDefaultMaxPrerenderAgeSeconds)),
|
| max_elements_(kDefaultMaxPrerenderElements),
|
| - prerender_contents_factory_(PrerenderContents::CreateFactory()) {
|
| + prerender_contents_factory_(PrerenderContents::CreateFactory()),
|
| + mode_(PRERENDER_MODE_ENABLED) {
|
| }
|
|
|
| PrerenderManager::~PrerenderManager() {
|
| @@ -115,6 +117,9 @@
|
| if (!title.empty())
|
| tc->UpdateTitle(rvh, pc->page_id(), UTF16ToWideHack(title));
|
|
|
| + if (pc->has_stopped_loading())
|
| + tc->DidStopLoading();
|
| +
|
| return true;
|
| }
|
|
|
| @@ -148,6 +153,19 @@
|
| this, profile_, url, alias_urls);
|
| }
|
|
|
| +void PrerenderManager::RecordPerceivedPageLoadTime(base::TimeDelta pplt) {
|
| + switch(mode_) {
|
| + case PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP:
|
| + UMA_HISTOGRAM_TIMES("PLT.PerceivedPageLoadTime_PrerenderControl", pplt);
|
| + break;
|
| + case PRERENDER_MODE_EXPERIMENT_PRERENDER_GROUP:
|
| + UMA_HISTOGRAM_TIMES("PLT.PerceivedPageLoadTime_PrerenderTreatment", pplt);
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| +}
|
| +
|
| PrerenderContents* PrerenderManager::FindEntry(const GURL& url) {
|
| for (std::list<PrerenderContentsData>::iterator it = prerender_list_.begin();
|
| it != prerender_list_.end();
|
|
|