| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/sync_sessions/sync_sessions_metrics.h" | 5 #include "components/sync_sessions/sync_sessions_metrics.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/test/histogram_tester.h" | 10 #include "base/test/histogram_tester.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 class SyncSessionsMetricsTest : public ::testing::Test { | 58 class SyncSessionsMetricsTest : public ::testing::Test { |
| 59 protected: | 59 protected: |
| 60 SyncSessionsMetricsTest() : fake_manager_(&fake_client_, &sessions_) {} | 60 SyncSessionsMetricsTest() : fake_manager_(&fake_client_, &sessions_) {} |
| 61 | 61 |
| 62 // Sets the tab/window/session timestamps and creates anything needed. The new | 62 // Sets the tab/window/session timestamps and creates anything needed. The new |
| 63 // calls in here are safe because the session/window objects are going to | 63 // calls in here are safe because the session/window objects are going to |
| 64 // delete all their children when their destructors are invoked. | 64 // delete all their children when their destructors are invoked. |
| 65 void PushTab(size_t tabIndex, int windowIndex, Time timestamp) { | 65 void PushTab(size_t tabIndex, int windowIndex, Time timestamp) { |
| 66 // First add sessions/windows as necessary. | 66 // First add sessions/windows as necessary. |
| 67 while (tabIndex >= sessions_.size()) { | 67 while (tabIndex >= sessions_.size()) { |
| 68 sessions_.push_back(base::WrapUnique(new SyncedSession())); | 68 sessions_.push_back(base::MakeUnique<SyncedSession>()); |
| 69 } | 69 } |
| 70 if (sessions_[tabIndex]->windows.find(windowIndex) == | 70 if (sessions_[tabIndex]->windows.find(windowIndex) == |
| 71 sessions_[tabIndex]->windows.end()) { | 71 sessions_[tabIndex]->windows.end()) { |
| 72 sessions_[tabIndex]->windows[windowIndex] = new SessionWindow(); | 72 sessions_[tabIndex]->windows[windowIndex] = new SessionWindow(); |
| 73 } | 73 } |
| 74 | 74 |
| 75 sessions_[tabIndex]->modified_time = | 75 sessions_[tabIndex]->modified_time = |
| 76 std::max(sessions_[tabIndex]->modified_time, timestamp); | 76 std::max(sessions_[tabIndex]->modified_time, timestamp); |
| 77 sessions_[tabIndex]->windows[windowIndex]->timestamp = std::max( | 77 sessions_[tabIndex]->windows[windowIndex]->timestamp = std::max( |
| 78 sessions_[tabIndex]->windows[windowIndex]->timestamp, timestamp); | 78 sessions_[tabIndex]->windows[windowIndex]->timestamp, timestamp); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 | 196 |
| 197 TEST_F(SyncSessionsMetricsTest, EmitNormalCase) { | 197 TEST_F(SyncSessionsMetricsTest, EmitNormalCase) { |
| 198 base::HistogramTester histogram_tester; | 198 base::HistogramTester histogram_tester; |
| 199 PushTab(0, 0, Time::Now() - TimeDelta::FromHours(1)); | 199 PushTab(0, 0, Time::Now() - TimeDelta::FromHours(1)); |
| 200 SyncSessionsMetrics::RecordYoungestForeignTabAgeOnNTP( | 200 SyncSessionsMetrics::RecordYoungestForeignTabAgeOnNTP( |
| 201 get_sessions_sync_manager()); | 201 get_sessions_sync_manager()); |
| 202 histogram_tester.ExpectTotalCount("Sync.YoungestForeignTabAgeOnNTP", 1); | 202 histogram_tester.ExpectTotalCount("Sync.YoungestForeignTabAgeOnNTP", 1); |
| 203 } | 203 } |
| 204 | 204 |
| 205 } // namespace sync_sessions | 205 } // namespace sync_sessions |
| OLD | NEW |