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 bee549a950864481555ff56c6b7e9385a3053c21..58b59361cc78f59d253bcdea6f96538eec0fd6cb 100644 |
| --- a/chrome/browser/prerender/prerender_manager.cc |
| +++ b/chrome/browser/prerender/prerender_manager.cc |
| @@ -241,7 +241,9 @@ PrerenderManager::PrerenderManager(Profile* profile, |
| last_prerender_start_time_(GetCurrentTimeTicks() - |
| base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs)), |
| prerender_history_(new PrerenderHistory(kHistoryLength)), |
| - histograms_(new PrerenderHistograms()) { |
| + histograms_(new PrerenderHistograms()), |
| + profile_network_bytes_(0), |
| + last_recorded_profile_network_bytes_(0) { |
| // There are some assumptions that the PrerenderManager is on the UI thread. |
| // Any other checks simply make sure that the PrerenderManager is accessed on |
| // the same thread that it was created on. |
| @@ -1767,4 +1769,18 @@ void PrerenderManager::HangSessionStorageMergesForTesting() { |
| g_hang_session_storage_merges_for_testing = true; |
| } |
| +void PrerenderManager::RecordNetworkBytes(bool used, int64 prerender_bytes) { |
| + if (!ActuallyPrerendering()) |
| + return; |
| + int64 recent_profile_bytes = |
|
tburkard
2014/02/13 13:39:35
Maybe add a DCHECK that recent_profile_bytes is >=
jkarlin
2014/02/13 13:48:09
Done.
|
| + profile_network_bytes_ - last_recorded_profile_network_bytes_; |
| + last_recorded_profile_network_bytes_ = profile_network_bytes_; |
| + histograms_->RecordNetworkBytes(used, prerender_bytes, recent_profile_bytes); |
| +} |
| + |
| +void PrerenderManager::AddProfileNetworkBytesIfEnabled(int64 bytes) { |
| + if (IsEnabled() && ActuallyPrerendering()) |
| + profile_network_bytes_ += bytes; |
|
tburkard
2014/02/13 13:39:35
Add a DCHECK that bytes is >= 0.
jkarlin
2014/02/13 13:48:09
Done.
|
| +} |
| + |
| } // namespace prerender |