OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/ui/webui/ntp/ntp_user_data_logger.h" | 5 #include "chrome/browser/ui/webui/ntp/ntp_user_data_logger.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/metrics/histogram.h" | 11 #include "base/metrics/histogram.h" |
12 #include "base/metrics/statistics_recorder.h" | 12 #include "base/metrics/statistics_recorder.h" |
13 #include "base/test/histogram_tester.h" | 13 #include "base/test/histogram_tester.h" |
14 #include "chrome/common/search/ntp_logging_events.h" | 14 #include "chrome/common/search/ntp_logging_events.h" |
15 #include "testing/gmock/include/gmock/gmock.h" | 15 #include "testing/gmock/include/gmock/gmock.h" |
16 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
17 | 17 |
18 using base::Bucket; | 18 using base::Bucket; |
19 using ntp_tiles::NTPTileSource; | 19 using ntp_tiles::TileSource; |
20 using testing::ElementsAre; | 20 using testing::ElementsAre; |
21 using testing::IsEmpty; | 21 using testing::IsEmpty; |
22 using testing::SizeIs; | 22 using testing::SizeIs; |
23 | 23 |
24 namespace { | 24 namespace { |
25 | 25 |
26 using Sample = base::HistogramBase::Sample; | 26 using Sample = base::HistogramBase::Sample; |
27 using Samples = std::vector<Sample>; | 27 using Samples = std::vector<Sample>; |
28 | 28 |
29 class TestNTPUserDataLogger : public NTPUserDataLogger { | 29 class TestNTPUserDataLogger : public NTPUserDataLogger { |
30 public: | 30 public: |
31 TestNTPUserDataLogger() : NTPUserDataLogger(nullptr) {} | 31 TestNTPUserDataLogger() : NTPUserDataLogger(nullptr) {} |
32 ~TestNTPUserDataLogger() override {} | 32 ~TestNTPUserDataLogger() override {} |
33 }; | 33 }; |
34 | 34 |
35 } // namespace | 35 } // namespace |
36 | 36 |
37 TEST(NTPUserDataLoggerTest, TestNumberOfTiles) { | 37 TEST(NTPUserDataLoggerTest, TestNumberOfTiles) { |
38 base::StatisticsRecorder::Initialize(); | 38 base::StatisticsRecorder::Initialize(); |
39 | 39 |
40 base::HistogramTester histogram_tester; | 40 base::HistogramTester histogram_tester; |
41 | 41 |
42 // Ensure non-zero statistics. | 42 // Ensure non-zero statistics. |
43 TestNTPUserDataLogger logger; | 43 TestNTPUserDataLogger logger; |
44 logger.ntp_url_ = GURL("chrome://newtab/"); | 44 logger.ntp_url_ = GURL("chrome://newtab/"); |
45 | 45 |
46 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); | 46 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); |
47 | 47 |
48 for (int i = 0; i < 8; ++i) | 48 for (int i = 0; i < 8; ++i) |
49 logger.LogMostVisitedImpression(i, NTPTileSource::SUGGESTIONS_SERVICE); | 49 logger.LogMostVisitedImpression(i, TileSource::SUGGESTIONS_SERVICE); |
50 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); | 50 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); |
51 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), | 51 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), |
52 ElementsAre(Bucket(8, 1))); | 52 ElementsAre(Bucket(8, 1))); |
53 | 53 |
54 // We should not log again for the same NTP. | 54 // We should not log again for the same NTP. |
55 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); | 55 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); |
56 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), | 56 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), |
57 ElementsAre(Bucket(8, 1))); | 57 ElementsAre(Bucket(8, 1))); |
58 | 58 |
59 // Navigating away and back resets stats. | 59 // Navigating away and back resets stats. |
(...skipping 10 matching lines...) Expand all Loading... |
70 base::StatisticsRecorder::Initialize(); | 70 base::StatisticsRecorder::Initialize(); |
71 | 71 |
72 base::HistogramTester histogram_tester; | 72 base::HistogramTester histogram_tester; |
73 | 73 |
74 TestNTPUserDataLogger logger; | 74 TestNTPUserDataLogger logger; |
75 logger.ntp_url_ = GURL("chrome://newtab/"); | 75 logger.ntp_url_ = GURL("chrome://newtab/"); |
76 | 76 |
77 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); | 77 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); |
78 | 78 |
79 // Impressions increment the associated bins. | 79 // Impressions increment the associated bins. |
80 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 80 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
81 logger.LogMostVisitedImpression(1, NTPTileSource::SUGGESTIONS_SERVICE); | 81 logger.LogMostVisitedImpression(1, TileSource::SUGGESTIONS_SERVICE); |
82 logger.LogMostVisitedImpression(2, NTPTileSource::SUGGESTIONS_SERVICE); | 82 logger.LogMostVisitedImpression(2, TileSource::SUGGESTIONS_SERVICE); |
83 logger.LogMostVisitedImpression(3, NTPTileSource::SUGGESTIONS_SERVICE); | 83 logger.LogMostVisitedImpression(3, TileSource::SUGGESTIONS_SERVICE); |
84 logger.LogMostVisitedImpression(4, NTPTileSource::TOP_SITES); | 84 logger.LogMostVisitedImpression(4, TileSource::TOP_SITES); |
85 logger.LogMostVisitedImpression(5, NTPTileSource::TOP_SITES); | 85 logger.LogMostVisitedImpression(5, TileSource::TOP_SITES); |
86 logger.LogMostVisitedImpression(6, NTPTileSource::TOP_SITES); | 86 logger.LogMostVisitedImpression(6, TileSource::TOP_SITES); |
87 logger.LogMostVisitedImpression(7, NTPTileSource::TOP_SITES); | 87 logger.LogMostVisitedImpression(7, TileSource::TOP_SITES); |
88 | 88 |
89 // Repeated impressions for the same bins are ignored. | 89 // Repeated impressions for the same bins are ignored. |
90 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 90 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
91 logger.LogMostVisitedImpression(1, NTPTileSource::TOP_SITES); | 91 logger.LogMostVisitedImpression(1, TileSource::TOP_SITES); |
92 logger.LogMostVisitedImpression(2, NTPTileSource::SUGGESTIONS_SERVICE); | 92 logger.LogMostVisitedImpression(2, TileSource::SUGGESTIONS_SERVICE); |
93 logger.LogMostVisitedImpression(3, NTPTileSource::TOP_SITES); | 93 logger.LogMostVisitedImpression(3, TileSource::TOP_SITES); |
94 | 94 |
95 // Impressions are silently ignored for tiles >= 8. | 95 // Impressions are silently ignored for tiles >= 8. |
96 logger.LogMostVisitedImpression(8, NTPTileSource::SUGGESTIONS_SERVICE); | 96 logger.LogMostVisitedImpression(8, TileSource::SUGGESTIONS_SERVICE); |
97 logger.LogMostVisitedImpression(9, NTPTileSource::TOP_SITES); | 97 logger.LogMostVisitedImpression(9, TileSource::TOP_SITES); |
98 | 98 |
99 // The actual histograms are emitted only after the ALL_TILES_LOADED event, so | 99 // The actual histograms are emitted only after the ALL_TILES_LOADED event, so |
100 // at this point everything should still be empty. | 100 // at this point everything should still be empty. |
101 EXPECT_THAT( | 101 EXPECT_THAT( |
102 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), | 102 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), |
103 IsEmpty()); | 103 IsEmpty()); |
104 EXPECT_THAT( | 104 EXPECT_THAT( |
105 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), | 105 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), |
106 IsEmpty()); | 106 IsEmpty()); |
107 EXPECT_THAT( | 107 EXPECT_THAT( |
(...skipping 12 matching lines...) Expand all Loading... |
120 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); | 120 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); |
121 EXPECT_THAT( | 121 EXPECT_THAT( |
122 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), | 122 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), |
123 ElementsAre(Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); | 123 ElementsAre(Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); |
124 | 124 |
125 // After navigating away from the NTP and back, we record again. | 125 // After navigating away from the NTP and back, we record again. |
126 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), | 126 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), |
127 GURL("http://chromium.org")); | 127 GURL("http://chromium.org")); |
128 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), | 128 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), |
129 GURL("chrome://newtab/")); | 129 GURL("chrome://newtab/")); |
130 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 130 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
131 logger.LogMostVisitedImpression(1, NTPTileSource::TOP_SITES); | 131 logger.LogMostVisitedImpression(1, TileSource::TOP_SITES); |
132 logger.LogMostVisitedImpression(2, NTPTileSource::SUGGESTIONS_SERVICE); | 132 logger.LogMostVisitedImpression(2, TileSource::SUGGESTIONS_SERVICE); |
133 logger.LogMostVisitedImpression(3, NTPTileSource::TOP_SITES); | 133 logger.LogMostVisitedImpression(3, TileSource::TOP_SITES); |
134 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); | 134 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); |
135 | 135 |
136 EXPECT_THAT( | 136 EXPECT_THAT( |
137 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), | 137 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), |
138 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2), | 138 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2), |
139 Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); | 139 Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); |
140 EXPECT_THAT( | 140 EXPECT_THAT( |
141 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), | 141 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), |
142 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 2), Bucket(3, 1))); | 142 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 2), Bucket(3, 1))); |
143 EXPECT_THAT( | 143 EXPECT_THAT( |
144 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), | 144 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), |
145 ElementsAre(Bucket(1, 1), Bucket(3, 1), Bucket(4, 1), Bucket(5, 1), | 145 ElementsAre(Bucket(1, 1), Bucket(3, 1), Bucket(4, 1), Bucket(5, 1), |
146 Bucket(6, 1), Bucket(7, 1))); | 146 Bucket(6, 1), Bucket(7, 1))); |
147 } | 147 } |
148 | 148 |
149 TEST(NTPUserDataLoggerTest, TestLogMostVisitedNavigation) { | 149 TEST(NTPUserDataLoggerTest, TestLogMostVisitedNavigation) { |
150 base::StatisticsRecorder::Initialize(); | 150 base::StatisticsRecorder::Initialize(); |
151 | 151 |
152 base::HistogramTester histogram_tester; | 152 base::HistogramTester histogram_tester; |
153 | 153 |
154 TestNTPUserDataLogger logger; | 154 TestNTPUserDataLogger logger; |
155 | 155 |
156 logger.LogMostVisitedNavigation(0, NTPTileSource::SUGGESTIONS_SERVICE); | 156 logger.LogMostVisitedNavigation(0, TileSource::SUGGESTIONS_SERVICE); |
157 EXPECT_THAT( | 157 EXPECT_THAT( |
158 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 158 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
159 ElementsAre(Bucket(0, 1))); | 159 ElementsAre(Bucket(0, 1))); |
160 EXPECT_THAT( | 160 EXPECT_THAT( |
161 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 161 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
162 ElementsAre(Bucket(0, 1))); | 162 ElementsAre(Bucket(0, 1))); |
163 EXPECT_THAT( | 163 EXPECT_THAT( |
164 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 164 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
165 IsEmpty()); | 165 IsEmpty()); |
166 | 166 |
167 logger.LogMostVisitedNavigation(1, NTPTileSource::SUGGESTIONS_SERVICE); | 167 logger.LogMostVisitedNavigation(1, TileSource::SUGGESTIONS_SERVICE); |
168 EXPECT_THAT( | 168 EXPECT_THAT( |
169 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 169 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
170 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 170 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
171 EXPECT_THAT( | 171 EXPECT_THAT( |
172 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 172 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
173 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 173 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
174 EXPECT_THAT( | 174 EXPECT_THAT( |
175 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 175 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
176 IsEmpty()); | 176 IsEmpty()); |
177 | 177 |
178 logger.LogMostVisitedNavigation(2, NTPTileSource::TOP_SITES); | 178 logger.LogMostVisitedNavigation(2, TileSource::TOP_SITES); |
179 EXPECT_THAT( | 179 EXPECT_THAT( |
180 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 180 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
181 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1))); | 181 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1))); |
182 EXPECT_THAT( | 182 EXPECT_THAT( |
183 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 183 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
184 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 184 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
185 EXPECT_THAT( | 185 EXPECT_THAT( |
186 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 186 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
187 ElementsAre(Bucket(2, 1))); | 187 ElementsAre(Bucket(2, 1))); |
188 | 188 |
189 logger.LogMostVisitedNavigation(3, NTPTileSource::TOP_SITES); | 189 logger.LogMostVisitedNavigation(3, TileSource::TOP_SITES); |
190 EXPECT_THAT( | 190 EXPECT_THAT( |
191 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 191 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
192 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); | 192 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); |
193 EXPECT_THAT( | 193 EXPECT_THAT( |
194 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 194 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
195 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 195 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
196 EXPECT_THAT( | 196 EXPECT_THAT( |
197 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 197 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
198 ElementsAre(Bucket(2, 1), Bucket(3, 1))); | 198 ElementsAre(Bucket(2, 1), Bucket(3, 1))); |
199 | 199 |
200 // Navigations always increase. | 200 // Navigations always increase. |
201 logger.LogMostVisitedNavigation(0, NTPTileSource::SUGGESTIONS_SERVICE); | 201 logger.LogMostVisitedNavigation(0, TileSource::SUGGESTIONS_SERVICE); |
202 logger.LogMostVisitedNavigation(1, NTPTileSource::TOP_SITES); | 202 logger.LogMostVisitedNavigation(1, TileSource::TOP_SITES); |
203 logger.LogMostVisitedNavigation(2, NTPTileSource::SUGGESTIONS_SERVICE); | 203 logger.LogMostVisitedNavigation(2, TileSource::SUGGESTIONS_SERVICE); |
204 logger.LogMostVisitedNavigation(3, NTPTileSource::TOP_SITES); | 204 logger.LogMostVisitedNavigation(3, TileSource::TOP_SITES); |
205 EXPECT_THAT( | 205 EXPECT_THAT( |
206 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 206 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
207 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2))); | 207 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2))); |
208 EXPECT_THAT( | 208 EXPECT_THAT( |
209 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 209 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
210 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 1))); | 210 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 1))); |
211 EXPECT_THAT( | 211 EXPECT_THAT( |
212 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 212 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
213 ElementsAre(Bucket(1, 1), Bucket(2, 1), Bucket(3, 2))); | 213 ElementsAre(Bucket(1, 1), Bucket(2, 1), Bucket(3, 2))); |
214 } | 214 } |
215 | 215 |
216 TEST(NTPUserDataLoggerTest, TestLoadTime) { | 216 TEST(NTPUserDataLoggerTest, TestLoadTime) { |
217 base::StatisticsRecorder::Initialize(); | 217 base::StatisticsRecorder::Initialize(); |
218 | 218 |
219 base::HistogramTester histogram_tester; | 219 base::HistogramTester histogram_tester; |
220 | 220 |
221 TestNTPUserDataLogger logger; | 221 TestNTPUserDataLogger logger; |
222 logger.ntp_url_ = GURL("chrome://newtab/"); | 222 logger.ntp_url_ = GURL("chrome://newtab/"); |
223 | 223 |
224 base::TimeDelta delta_tiles_received = base::TimeDelta::FromMilliseconds(10); | 224 base::TimeDelta delta_tiles_received = base::TimeDelta::FromMilliseconds(10); |
225 base::TimeDelta delta_tiles_loaded = base::TimeDelta::FromMilliseconds(100); | 225 base::TimeDelta delta_tiles_loaded = base::TimeDelta::FromMilliseconds(100); |
226 | 226 |
227 // Send the ALL_TILES_RECEIVED event. | 227 // Send the ALL_TILES_RECEIVED event. |
228 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received); | 228 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received); |
229 | 229 |
230 // Log a TOP_SITES impression (for the .MostVisited vs .MostLikely split in | 230 // Log a TOP_SITES impression (for the .MostVisited vs .MostLikely split in |
231 // the time histograms). | 231 // the time histograms). |
232 logger.LogMostVisitedImpression(0, NTPTileSource::TOP_SITES); | 232 logger.LogMostVisitedImpression(0, TileSource::TOP_SITES); |
233 | 233 |
234 // Send the ALL_TILES_LOADED event, this should trigger emitting histograms. | 234 // Send the ALL_TILES_LOADED event, this should trigger emitting histograms. |
235 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded); | 235 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded); |
236 | 236 |
237 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), | 237 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), |
238 SizeIs(1)); | 238 SizeIs(1)); |
239 EXPECT_THAT(histogram_tester.GetAllSamples( | 239 EXPECT_THAT(histogram_tester.GetAllSamples( |
240 "NewTabPage.TilesReceivedTime.MostVisited"), | 240 "NewTabPage.TilesReceivedTime.MostVisited"), |
241 SizeIs(1)); | 241 SizeIs(1)); |
242 EXPECT_THAT( | 242 EXPECT_THAT( |
(...skipping 23 matching lines...) Expand all Loading... |
266 delta_tiles_loaded, 1); | 266 delta_tiles_loaded, 1); |
267 | 267 |
268 // After navigating away from the NTP and back, we record again. | 268 // After navigating away from the NTP and back, we record again. |
269 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), | 269 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), |
270 GURL("http://chromium.org")); | 270 GURL("http://chromium.org")); |
271 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), | 271 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), |
272 GURL("chrome://newtab/")); | 272 GURL("chrome://newtab/")); |
273 | 273 |
274 // This time, log a SUGGESTIONS_SERVICE impression, so the times will end up | 274 // This time, log a SUGGESTIONS_SERVICE impression, so the times will end up |
275 // in .MostLikely. | 275 // in .MostLikely. |
276 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 276 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
277 | 277 |
278 base::TimeDelta delta_tiles_received2 = base::TimeDelta::FromMilliseconds(50); | 278 base::TimeDelta delta_tiles_received2 = base::TimeDelta::FromMilliseconds(50); |
279 base::TimeDelta delta_tiles_loaded2 = base::TimeDelta::FromMilliseconds(500); | 279 base::TimeDelta delta_tiles_loaded2 = base::TimeDelta::FromMilliseconds(500); |
280 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received2); | 280 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received2); |
281 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded2); | 281 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded2); |
282 | 282 |
283 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), | 283 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), |
284 SizeIs(2)); | 284 SizeIs(2)); |
285 EXPECT_THAT(histogram_tester.GetAllSamples( | 285 EXPECT_THAT(histogram_tester.GetAllSamples( |
286 "NewTabPage.TilesReceivedTime.MostVisited"), | 286 "NewTabPage.TilesReceivedTime.MostVisited"), |
287 SizeIs(1)); | 287 SizeIs(1)); |
288 EXPECT_THAT( | 288 EXPECT_THAT( |
289 histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime.MostLikely"), | 289 histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime.MostLikely"), |
290 SizeIs(1)); | 290 SizeIs(1)); |
291 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime"), SizeIs(2)); | 291 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime"), SizeIs(2)); |
292 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostVisited"), | 292 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostVisited"), |
293 SizeIs(1)); | 293 SizeIs(1)); |
294 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostLikely"), | 294 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostLikely"), |
295 SizeIs(1)); | 295 SizeIs(1)); |
296 | 296 |
297 histogram_tester.ExpectTimeBucketCount("NewTabPage.TilesReceivedTime", | 297 histogram_tester.ExpectTimeBucketCount("NewTabPage.TilesReceivedTime", |
298 delta_tiles_received2, 1); | 298 delta_tiles_received2, 1); |
299 histogram_tester.ExpectTimeBucketCount( | 299 histogram_tester.ExpectTimeBucketCount( |
300 "NewTabPage.TilesReceivedTime.MostLikely", delta_tiles_received2, 1); | 300 "NewTabPage.TilesReceivedTime.MostLikely", delta_tiles_received2, 1); |
301 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime", | 301 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime", |
302 delta_tiles_loaded2, 1); | 302 delta_tiles_loaded2, 1); |
303 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime.MostLikely", | 303 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime.MostLikely", |
304 delta_tiles_loaded2, 1); | 304 delta_tiles_loaded2, 1); |
305 } | 305 } |
OLD | NEW |