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 |