Chromium Code Reviews| 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, |