Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: chrome/browser/android/data_usage/tab_data_use_entry.cc

Issue 2624663002: Changed uses of deque to vector in chrome/browser/android/data_usage. (Closed)
Patch Set: fix bad math Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/data_usage/tab_data_use_entry.cc
diff --git a/chrome/browser/android/data_usage/tab_data_use_entry.cc b/chrome/browser/android/data_usage/tab_data_use_entry.cc
index ff7681f2ea3da9f577f24b76d3151f7516d21a67..e3d2f1e7d87487f17ce369b11c8a2fd8b7307c28 100644
--- a/chrome/browser/android/data_usage/tab_data_use_entry.cc
+++ b/chrome/browser/android/data_usage/tab_data_use_entry.cc
@@ -129,7 +129,7 @@ bool TabDataUseEntry::IsTrackingDataUse() const {
return back_iterator->end_time.is_null();
}
-const base::TimeTicks TabDataUseEntry::GetLatestStartOrEndTime() const {
+base::TimeTicks TabDataUseEntry::GetLatestStartOrEndTime() const {
TabSessions::const_reverse_iterator back_iterator = sessions_.rbegin();
if (back_iterator == sessions_.rend())
return base::TimeTicks(); // No tab session found.
@@ -140,7 +140,7 @@ const base::TimeTicks TabDataUseEntry::GetLatestStartOrEndTime() const {
return back_iterator->start_time;
}
-const std::string TabDataUseEntry::GetActiveTrackingSessionLabel() const {
+std::string TabDataUseEntry::GetActiveTrackingSessionLabel() const {
TabSessions::const_reverse_iterator back_iterator = sessions_.rbegin();
if (back_iterator == sessions_.rend() || !IsTrackingDataUse())
return std::string();
@@ -155,16 +155,22 @@ void TabDataUseEntry::set_custom_tab_package_match(
}
void TabDataUseEntry::CompactSessionHistory() {
- while (sessions_.size() > tab_model_->max_sessions_per_tab()) {
- const auto& front = sessions_.front();
- DCHECK(!front.end_time.is_null());
+ if (sessions_.size() <= tab_model_->max_sessions_per_tab())
+ return;
+
+ const auto end_it = sessions_.begin() +
+ (sessions_.size() - tab_model_->max_sessions_per_tab());
+
+ for (auto it = sessions_.begin(); it != end_it; ++it) {
+ DCHECK(!it->end_time.is_null());
// Track how often old sessions are lost.
UMA_HISTOGRAM_CUSTOM_TIMES(kUMAOldInactiveSessionRemovalDurationHistogram,
- tab_model_->NowTicks() - front.end_time,
+ tab_model_->NowTicks() - it->end_time,
base::TimeDelta::FromSeconds(1),
base::TimeDelta::FromHours(1), 50);
- sessions_.pop_front();
}
+
+ sessions_.erase(sessions_.begin(), end_it);
}
} // namespace android

Powered by Google App Engine
This is Rietveld 408576698