Index: chrome/browser/prerender/prerender_manager.cc |
=================================================================== |
--- chrome/browser/prerender/prerender_manager.cc (revision 72357) |
+++ 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/prerender/prerender_contents.h" |
@@ -30,7 +31,8 @@ |
: profile_(profile), |
max_prerender_age_(base::TimeDelta::FromSeconds( |
kDefaultMaxPrerenderAgeSeconds)), |
- max_elements_(kDefaultMaxPrerenderElements) { |
+ max_elements_(kDefaultMaxPrerenderElements), |
+ mode_(PRERENDER_MODE_ENABLED) { |
} |
PrerenderManager::~PrerenderManager() { |
@@ -108,6 +110,9 @@ |
if (!title.empty()) |
tc->UpdateTitle(rvh, pc->page_id(), UTF16ToWideHack(title)); |
+ if (pc->has_stopped_loading()) |
+ tc->DidStopLoading(); |
+ |
return true; |
} |
@@ -139,3 +144,16 @@ |
const std::vector<GURL>& alias_urls) { |
return new PrerenderContents(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; |
+ } |
+} |