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

Side by Side Diff: content/browser/media/session/media_session_browsertest.cc

Issue 1918433003: Use TimeTicks for MediaSessionUmaHelper. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « no previous file | content/browser/media/session/media_session_uma_helper.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "content/browser/media/session/media_session.h" 5 #include "content/browser/media/session/media_session.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <list> 9 #include <list>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/metrics/histogram_samples.h" 13 #include "base/metrics/histogram_samples.h"
14 #include "base/test/histogram_tester.h" 14 #include "base/test/histogram_tester.h"
15 #include "base/test/simple_test_clock.h" 15 #include "base/test/simple_test_tick_clock.h"
16 #include "content/browser/media/session/media_session_delegate.h" 16 #include "content/browser/media/session/media_session_delegate.h"
17 #include "content/browser/media/session/mock_media_session_observer.h" 17 #include "content/browser/media/session/mock_media_session_observer.h"
18 #include "content/public/browser/web_contents.h" 18 #include "content/public/browser/web_contents.h"
19 #include "content/public/browser/web_contents_observer.h" 19 #include "content/public/browser/web_contents_observer.h"
20 #include "content/public/test/content_browser_test.h" 20 #include "content/public/test/content_browser_test.h"
21 #include "content/shell/browser/shell.h" 21 #include "content/shell/browser/shell.h"
22 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
23 23
24 using content::WebContents; 24 using content::WebContents;
25 using content::WebContentsObserver; 25 using content::WebContentsObserver;
(...skipping 1006 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 EXPECT_EQ(0, samples->TotalCount()); 1032 EXPECT_EQ(0, samples->TotalCount());
1033 } 1033 }
1034 1034
1035 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 1035 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
1036 UMA_ActiveTime_SimpleActivation) { 1036 UMA_ActiveTime_SimpleActivation) {
1037 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 1037 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
1038 new MockMediaSessionObserver); 1038 new MockMediaSessionObserver);
1039 base::HistogramTester tester; 1039 base::HistogramTester tester;
1040 1040
1041 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); 1041 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper();
1042 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1042 base::SimpleTestTickClock* clock = new base::SimpleTestTickClock();
1043 clock->SetNow(base::Time::Now()); 1043 clock->SetNowTicks(base::TimeTicks::Now());
1044 media_session_uma_helper->SetClockForTest( 1044 media_session_uma_helper->SetClockForTest(
1045 std::unique_ptr<base::SimpleTestClock>(clock)); 1045 std::unique_ptr<base::SimpleTestTickClock>(clock));
1046 1046
1047 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1047 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1048 1048
1049 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 1049 clock->Advance(base::TimeDelta::FromMilliseconds(1000));
1050 media_session_->Stop(MediaSession::SuspendType::UI); 1050 media_session_->Stop(MediaSession::SuspendType::UI);
1051 1051
1052 std::unique_ptr<base::HistogramSamples> samples( 1052 std::unique_ptr<base::HistogramSamples> samples(
1053 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1053 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1054 EXPECT_EQ(1, samples->TotalCount()); 1054 EXPECT_EQ(1, samples->TotalCount());
1055 EXPECT_EQ(1, samples->GetCount(1000)); 1055 EXPECT_EQ(1, samples->GetCount(1000));
1056 } 1056 }
1057 1057
1058 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 1058 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
1059 UMA_ActiveTime_ActivationWithUISuspension) { 1059 UMA_ActiveTime_ActivationWithUISuspension) {
1060 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 1060 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
1061 new MockMediaSessionObserver); 1061 new MockMediaSessionObserver);
1062 base::HistogramTester tester; 1062 base::HistogramTester tester;
1063 1063
1064 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); 1064 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper();
1065 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1065 base::SimpleTestTickClock* clock = new base::SimpleTestTickClock();
1066 clock->SetNow(base::Time::Now()); 1066 clock->SetNowTicks(base::TimeTicks::Now());
1067 media_session_uma_helper->SetClockForTest( 1067 media_session_uma_helper->SetClockForTest(
1068 std::unique_ptr<base::SimpleTestClock>(clock)); 1068 std::unique_ptr<base::SimpleTestTickClock>(clock));
1069 1069
1070 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1070 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1071 1071
1072 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 1072 clock->Advance(base::TimeDelta::FromMilliseconds(1000));
1073 UISuspend(); 1073 UISuspend();
1074 1074
1075 clock->Advance(base::TimeDelta::FromMilliseconds(2000)); 1075 clock->Advance(base::TimeDelta::FromMilliseconds(2000));
1076 UIResume(); 1076 UIResume();
1077 1077
1078 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 1078 clock->Advance(base::TimeDelta::FromMilliseconds(1000));
1079 media_session_->Stop(MediaSession::SuspendType::UI); 1079 media_session_->Stop(MediaSession::SuspendType::UI);
1080 1080
1081 std::unique_ptr<base::HistogramSamples> samples( 1081 std::unique_ptr<base::HistogramSamples> samples(
1082 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1082 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1083 EXPECT_EQ(1, samples->TotalCount()); 1083 EXPECT_EQ(1, samples->TotalCount());
1084 EXPECT_EQ(1, samples->GetCount(2000)); 1084 EXPECT_EQ(1, samples->GetCount(2000));
1085 } 1085 }
1086 1086
1087 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 1087 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
1088 UMA_ActiveTime_ActivationWithSystemSuspension) { 1088 UMA_ActiveTime_ActivationWithSystemSuspension) {
1089 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 1089 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
1090 new MockMediaSessionObserver); 1090 new MockMediaSessionObserver);
1091 base::HistogramTester tester; 1091 base::HistogramTester tester;
1092 1092
1093 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); 1093 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper();
1094 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1094 base::SimpleTestTickClock* clock = new base::SimpleTestTickClock();
1095 clock->SetNow(base::Time::Now()); 1095 clock->SetNowTicks(base::TimeTicks::Now());
1096 media_session_uma_helper->SetClockForTest( 1096 media_session_uma_helper->SetClockForTest(
1097 std::unique_ptr<base::SimpleTestClock>(clock)); 1097 std::unique_ptr<base::SimpleTestTickClock>(clock));
1098 1098
1099 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1099 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1100 1100
1101 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 1101 clock->Advance(base::TimeDelta::FromMilliseconds(1000));
1102 SystemSuspend(true); 1102 SystemSuspend(true);
1103 1103
1104 clock->Advance(base::TimeDelta::FromMilliseconds(2000)); 1104 clock->Advance(base::TimeDelta::FromMilliseconds(2000));
1105 SystemResume(); 1105 SystemResume();
1106 1106
1107 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 1107 clock->Advance(base::TimeDelta::FromMilliseconds(1000));
1108 media_session_->Stop(MediaSession::SuspendType::UI); 1108 media_session_->Stop(MediaSession::SuspendType::UI);
1109 1109
1110 std::unique_ptr<base::HistogramSamples> samples( 1110 std::unique_ptr<base::HistogramSamples> samples(
1111 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1111 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1112 EXPECT_EQ(1, samples->TotalCount()); 1112 EXPECT_EQ(1, samples->TotalCount());
1113 EXPECT_EQ(1, samples->GetCount(2000)); 1113 EXPECT_EQ(1, samples->GetCount(2000));
1114 } 1114 }
1115 1115
1116 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 1116 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
1117 UMA_ActiveTime_ActivateSuspendedButNotStopped) { 1117 UMA_ActiveTime_ActivateSuspendedButNotStopped) {
1118 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 1118 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
1119 new MockMediaSessionObserver); 1119 new MockMediaSessionObserver);
1120 base::HistogramTester tester; 1120 base::HistogramTester tester;
1121 1121
1122 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); 1122 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper();
1123 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1123 base::SimpleTestTickClock* clock = new base::SimpleTestTickClock();
1124 clock->SetNow(base::Time::Now()); 1124 clock->SetNowTicks(base::TimeTicks::Now());
1125 media_session_uma_helper->SetClockForTest( 1125 media_session_uma_helper->SetClockForTest(
1126 std::unique_ptr<base::SimpleTestClock>(clock)); 1126 std::unique_ptr<base::SimpleTestTickClock>(clock));
1127 1127
1128 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1128 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1129 clock->Advance(base::TimeDelta::FromMilliseconds(500)); 1129 clock->Advance(base::TimeDelta::FromMilliseconds(500));
1130 SystemSuspend(true); 1130 SystemSuspend(true);
1131 1131
1132 { 1132 {
1133 std::unique_ptr<base::HistogramSamples> samples( 1133 std::unique_ptr<base::HistogramSamples> samples(
1134 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1134 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1135 EXPECT_EQ(0, samples->TotalCount()); 1135 EXPECT_EQ(0, samples->TotalCount());
1136 } 1136 }
1137 1137
1138 SystemResume(); 1138 SystemResume();
1139 clock->Advance(base::TimeDelta::FromMilliseconds(5000)); 1139 clock->Advance(base::TimeDelta::FromMilliseconds(5000));
1140 UISuspend(); 1140 UISuspend();
1141 1141
1142 { 1142 {
1143 std::unique_ptr<base::HistogramSamples> samples( 1143 std::unique_ptr<base::HistogramSamples> samples(
1144 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1144 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1145 EXPECT_EQ(0, samples->TotalCount()); 1145 EXPECT_EQ(0, samples->TotalCount());
1146 } 1146 }
1147 } 1147 }
1148 1148
1149 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 1149 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
1150 UMA_ActiveTime_ActivateSuspendStopTwice) { 1150 UMA_ActiveTime_ActivateSuspendStopTwice) {
1151 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 1151 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
1152 new MockMediaSessionObserver); 1152 new MockMediaSessionObserver);
1153 base::HistogramTester tester; 1153 base::HistogramTester tester;
1154 1154
1155 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); 1155 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper();
1156 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1156 base::SimpleTestTickClock* clock = new base::SimpleTestTickClock();
1157 clock->SetNow(base::Time::Now()); 1157 clock->SetNowTicks(base::TimeTicks::Now());
1158 media_session_uma_helper->SetClockForTest( 1158 media_session_uma_helper->SetClockForTest(
1159 std::unique_ptr<base::SimpleTestClock>(clock)); 1159 std::unique_ptr<base::SimpleTestTickClock>(clock));
1160 1160
1161 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1161 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1162 clock->Advance(base::TimeDelta::FromMilliseconds(500)); 1162 clock->Advance(base::TimeDelta::FromMilliseconds(500));
1163 SystemSuspend(true); 1163 SystemSuspend(true);
1164 media_session_->Stop(MediaSession::SuspendType::UI); 1164 media_session_->Stop(MediaSession::SuspendType::UI);
1165 1165
1166 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1166 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1167 clock->Advance(base::TimeDelta::FromMilliseconds(5000)); 1167 clock->Advance(base::TimeDelta::FromMilliseconds(5000));
1168 SystemResume(); 1168 SystemResume();
1169 media_session_->Stop(MediaSession::SuspendType::UI); 1169 media_session_->Stop(MediaSession::SuspendType::UI);
1170 1170
1171 std::unique_ptr<base::HistogramSamples> samples( 1171 std::unique_ptr<base::HistogramSamples> samples(
1172 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1172 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1173 EXPECT_EQ(2, samples->TotalCount()); 1173 EXPECT_EQ(2, samples->TotalCount());
1174 EXPECT_EQ(1, samples->GetCount(500)); 1174 EXPECT_EQ(1, samples->GetCount(500));
1175 EXPECT_EQ(1, samples->GetCount(5000)); 1175 EXPECT_EQ(1, samples->GetCount(5000));
1176 } 1176 }
1177 1177
1178 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 1178 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
1179 UMA_ActiveTime_MultipleActivations) { 1179 UMA_ActiveTime_MultipleActivations) {
1180 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 1180 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
1181 new MockMediaSessionObserver); 1181 new MockMediaSessionObserver);
1182 base::HistogramTester tester; 1182 base::HistogramTester tester;
1183 1183
1184 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); 1184 MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper();
1185 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1185 base::SimpleTestTickClock* clock = new base::SimpleTestTickClock();
1186 clock->SetNow(base::Time::Now()); 1186 clock->SetNowTicks(base::TimeTicks::Now());
1187 media_session_uma_helper->SetClockForTest( 1187 media_session_uma_helper->SetClockForTest(
1188 std::unique_ptr<base::SimpleTestClock>(clock)); 1188 std::unique_ptr<base::SimpleTestTickClock>(clock));
1189 1189
1190 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1190 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1191 clock->Advance(base::TimeDelta::FromMilliseconds(10000)); 1191 clock->Advance(base::TimeDelta::FromMilliseconds(10000));
1192 RemovePlayer(media_session_observer.get(), 0); 1192 RemovePlayer(media_session_observer.get(), 0);
1193 1193
1194 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1194 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1195 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 1195 clock->Advance(base::TimeDelta::FromMilliseconds(1000));
1196 media_session_->Stop(MediaSession::SuspendType::UI); 1196 media_session_->Stop(MediaSession::SuspendType::UI);
1197 1197
1198 std::unique_ptr<base::HistogramSamples> samples( 1198 std::unique_ptr<base::HistogramSamples> samples(
1199 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1199 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1200 EXPECT_EQ(2, samples->TotalCount()); 1200 EXPECT_EQ(2, samples->TotalCount());
1201 EXPECT_EQ(1, samples->GetCount(1000)); 1201 EXPECT_EQ(1, samples->GetCount(1000));
1202 EXPECT_EQ(1, samples->GetCount(10000)); 1202 EXPECT_EQ(1, samples->GetCount(10000));
1203 } 1203 }
OLDNEW
« no previous file with comments | « no previous file | content/browser/media/session/media_session_uma_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698