Index: chrome/browser/prerender/prerender_manager.cc |
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc |
index e4dfb19c7cef312817c55b56b2e27c23a1debc43..a5ac0f736fca06f5babf10fa7ea06d650d94f8f0 100644 |
--- a/chrome/browser/prerender/prerender_manager.cc |
+++ b/chrome/browser/prerender/prerender_manager.cc |
@@ -147,9 +147,6 @@ struct PrerenderManager::NavigationRecord { |
PrerenderManager::PrerenderManager(Profile* profile) |
: profile_(profile), |
prerender_contents_factory_(PrerenderContents::CreateFactory()), |
- last_prerender_start_time_( |
- GetCurrentTimeTicks() - |
- base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs)), |
prerender_history_(new PrerenderHistory(kHistoryLength)), |
histograms_(new PrerenderHistograms()), |
profile_network_bytes_(0), |
@@ -157,6 +154,10 @@ PrerenderManager::PrerenderManager(Profile* profile) |
weak_factory_(this) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ last_prerender_start_time_ = |
+ GetCurrentTimeTicks() - |
+ base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs); |
+ |
// Certain experiments override our default config_ values. |
switch (PrerenderManager::GetMode()) { |
case PrerenderManager::PRERENDER_MODE_EXPERIMENT_MULTI_PRERENDER_GROUP: |
@@ -1071,13 +1072,23 @@ void PrerenderManager::DeleteOldEntries() { |
} |
base::Time PrerenderManager::GetCurrentTime() const { |
+ if (time_override_) { |
+ return time_override_->GetCurrentTime(); |
+ } |
return base::Time::Now(); |
} |
base::TimeTicks PrerenderManager::GetCurrentTimeTicks() const { |
+ if (time_override_) { |
+ return time_override_->GetCurrentTimeTicks(); |
+ } |
return base::TimeTicks::Now(); |
} |
+void PrerenderManager::SetTimeOverride(std::unique_ptr<TimeOverride> override) { |
+ time_override_.reset(override.release()); |
pasko
2016/10/05 12:35:24
why not std::move?
mattcary
2016/10/10 11:54:43
Sure, why not? Nothing like an R-value reference t
|
+} |
+ |
std::unique_ptr<PrerenderContents> PrerenderManager::CreatePrerenderContents( |
const GURL& url, |
const content::Referrer& referrer, |