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

Side by Side Diff: components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc

Issue 1417733011: page_load_metrics symbolic constants refactor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@navigation_start_final
Patch Set: Created 5 years, 1 month 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 | « components/page_load_metrics/browser/metrics_web_contents_observer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "components/page_load_metrics/browser/metrics_web_contents_observer.h" 5 #include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/process/kill.h" 8 #include "base/process/kill.h"
9 #include "base/test/histogram_tester.h" 9 #include "base/test/histogram_tester.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 } 62 }
63 63
64 void AttachObserver() { 64 void AttachObserver() {
65 embedder_interface_ = new TestPageLoadMetricsEmbedderInterface(); 65 embedder_interface_ = new TestPageLoadMetricsEmbedderInterface();
66 observer_.reset(new MetricsWebContentsObserver( 66 observer_.reset(new MetricsWebContentsObserver(
67 web_contents(), make_scoped_ptr(embedder_interface_))); 67 web_contents(), make_scoped_ptr(embedder_interface_)));
68 observer_->WasShown(); 68 observer_->WasShown();
69 } 69 }
70 70
71 void AssertNoHistogramsLogged() { 71 void AssertNoHistogramsLogged() {
72 histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 0); 72 histogram_tester_.ExpectTotalCount(kHistogramDomContentLoaded, 0);
73 histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 0); 73 histogram_tester_.ExpectTotalCount(kHistogramLoad, 0);
74 histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 0); 74 histogram_tester_.ExpectTotalCount(kHistogramFirstLayout, 0);
75 histogram_tester_.ExpectTotalCount(kHistogramNameFirstTextPaint, 0); 75 histogram_tester_.ExpectTotalCount(kHistogramFirstTextPaint, 0);
76 } 76 }
77 77
78 void CheckProvisionalEvent(ProvisionalLoadEvent event, 78 void CheckProvisionalEvent(ProvisionalLoadEvent event,
79 int count, 79 int count,
80 bool background) { 80 bool background) {
81 if (background) { 81 if (background) {
82 histogram_tester_.ExpectBucketCount(kBGProvisionalEvents, event, count); 82 histogram_tester_.ExpectBucketCount(kBackgroundProvisionalEvents, event,
83 count);
83 num_provisional_events_bg_ += count; 84 num_provisional_events_bg_ += count;
84 } else { 85 } else {
85 histogram_tester_.ExpectBucketCount(kProvisionalEvents, event, count); 86 histogram_tester_.ExpectBucketCount(kProvisionalEvents, event, count);
86 num_provisional_events_ += count; 87 num_provisional_events_ += count;
87 } 88 }
88 } 89 }
89 90
90 void CheckCommittedEvent(CommittedLoadEvent event, 91 void CheckCommittedEvent(CommittedLoadEvent event,
91 int count, 92 int count,
92 bool background) { 93 bool background) {
93 if (background) { 94 if (background) {
94 histogram_tester_.ExpectBucketCount(kBGCommittedEvents, event, count); 95 histogram_tester_.ExpectBucketCount(kBackgroundCommittedEvents, event,
96 count);
95 num_committed_events_bg_ += count; 97 num_committed_events_bg_ += count;
96 } else { 98 } else {
97 histogram_tester_.ExpectBucketCount(kCommittedEvents, event, count); 99 histogram_tester_.ExpectBucketCount(kCommittedEvents, event, count);
98 num_committed_events_ += count; 100 num_committed_events_ += count;
99 } 101 }
100 } 102 }
101 103
102 void CheckErrorEvent(InternalErrorLoadEvent error, int count) { 104 void CheckErrorEvent(InternalErrorLoadEvent error, int count) {
103 histogram_tester_.ExpectBucketCount(kErrorEvents, error, count); 105 histogram_tester_.ExpectBucketCount(kErrorEvents, error, count);
104 num_errors_ += count; 106 num_errors_ += count;
105 } 107 }
106 108
107 void CheckTotalEvents() { 109 void CheckTotalEvents() {
108 histogram_tester_.ExpectTotalCount(kProvisionalEvents, 110 histogram_tester_.ExpectTotalCount(kProvisionalEvents,
109 num_provisional_events_); 111 num_provisional_events_);
110 histogram_tester_.ExpectTotalCount(kCommittedEvents, num_committed_events_); 112 histogram_tester_.ExpectTotalCount(kCommittedEvents, num_committed_events_);
111 histogram_tester_.ExpectTotalCount(kBGProvisionalEvents, 113 histogram_tester_.ExpectTotalCount(kBackgroundProvisionalEvents,
112 num_provisional_events_bg_); 114 num_provisional_events_bg_);
113 histogram_tester_.ExpectTotalCount(kBGCommittedEvents, 115 histogram_tester_.ExpectTotalCount(kBackgroundCommittedEvents,
114 num_committed_events_bg_); 116 num_committed_events_bg_);
115 histogram_tester_.ExpectTotalCount(kErrorEvents, num_errors_); 117 histogram_tester_.ExpectTotalCount(kErrorEvents, num_errors_);
116 } 118 }
117 119
118 protected: 120 protected:
119 base::HistogramTester histogram_tester_; 121 base::HistogramTester histogram_tester_;
120 TestPageLoadMetricsEmbedderInterface* embedder_interface_; 122 TestPageLoadMetricsEmbedderInterface* embedder_interface_;
121 scoped_ptr<MetricsWebContentsObserver> observer_; 123 scoped_ptr<MetricsWebContentsObserver> observer_;
122 124
123 private: 125 private:
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 observer_->OnMessageReceived( 199 observer_->OnMessageReceived(
198 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing), 200 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing),
199 web_contents()->GetMainFrame()); 201 web_contents()->GetMainFrame());
200 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrlAnchor)); 202 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrlAnchor));
201 // A same page navigation shouldn't trigger logging UMA for the original. 203 // A same page navigation shouldn't trigger logging UMA for the original.
202 AssertNoHistogramsLogged(); 204 AssertNoHistogramsLogged();
203 205
204 // But we should keep the timing info and log it when we get another 206 // But we should keep the timing info and log it when we get another
205 // navigation. 207 // navigation.
206 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2)); 208 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2));
207 histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 0); 209 histogram_tester_.ExpectTotalCount(kHistogramDomContentLoaded, 0);
208 histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 0); 210 histogram_tester_.ExpectTotalCount(kHistogramLoad, 0);
209 histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 1); 211 histogram_tester_.ExpectTotalCount(kHistogramFirstLayout, 1);
210 histogram_tester_.ExpectBucketCount(kHistogramNameFirstLayout, 212 histogram_tester_.ExpectBucketCount(kHistogramFirstLayout,
211 first_layout.InMilliseconds(), 1); 213 first_layout.InMilliseconds(), 1);
212 histogram_tester_.ExpectTotalCount(kHistogramNameFirstTextPaint, 0); 214 histogram_tester_.ExpectTotalCount(kHistogramFirstTextPaint, 0);
213 } 215 }
214 216
215 TEST_F(MetricsWebContentsObserverTest, SingleMetricAfterCommit) { 217 TEST_F(MetricsWebContentsObserverTest, SingleMetricAfterCommit) {
216 base::TimeDelta first_layout = base::TimeDelta::FromMilliseconds(1); 218 base::TimeDelta first_layout = base::TimeDelta::FromMilliseconds(1);
217 219
218 PageLoadTiming timing; 220 PageLoadTiming timing;
219 timing.navigation_start = base::Time::FromDoubleT(1); 221 timing.navigation_start = base::Time::FromDoubleT(1);
220 timing.first_layout = first_layout; 222 timing.first_layout = first_layout;
221 223
222 content::WebContentsTester* web_contents_tester = 224 content::WebContentsTester* web_contents_tester =
223 content::WebContentsTester::For(web_contents()); 225 content::WebContentsTester::For(web_contents());
224 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl)); 226 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl));
225 227
226 observer_->OnMessageReceived( 228 observer_->OnMessageReceived(
227 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing), 229 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing),
228 web_contents()->GetMainFrame()); 230 web_contents()->GetMainFrame());
229 231
230 AssertNoHistogramsLogged(); 232 AssertNoHistogramsLogged();
231 233
232 // Navigate again to force histogram recording. 234 // Navigate again to force histogram recording.
233 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2)); 235 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2));
234 236
235 histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 0); 237 histogram_tester_.ExpectTotalCount(kHistogramDomContentLoaded, 0);
236 histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 0); 238 histogram_tester_.ExpectTotalCount(kHistogramLoad, 0);
237 histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 1); 239 histogram_tester_.ExpectTotalCount(kHistogramFirstLayout, 1);
238 histogram_tester_.ExpectBucketCount(kHistogramNameFirstLayout, 240 histogram_tester_.ExpectBucketCount(kHistogramFirstLayout,
239 first_layout.InMilliseconds(), 1); 241 first_layout.InMilliseconds(), 1);
240 histogram_tester_.ExpectTotalCount(kHistogramNameFirstTextPaint, 0); 242 histogram_tester_.ExpectTotalCount(kHistogramFirstTextPaint, 0);
241 } 243 }
242 244
243 TEST_F(MetricsWebContentsObserverTest, MultipleMetricsAfterCommits) { 245 TEST_F(MetricsWebContentsObserverTest, MultipleMetricsAfterCommits) {
244 base::TimeDelta first_layout_1 = base::TimeDelta::FromMilliseconds(1); 246 base::TimeDelta first_layout_1 = base::TimeDelta::FromMilliseconds(1);
245 base::TimeDelta first_layout_2 = base::TimeDelta::FromMilliseconds(20); 247 base::TimeDelta first_layout_2 = base::TimeDelta::FromMilliseconds(20);
246 base::TimeDelta response = base::TimeDelta::FromMilliseconds(10); 248 base::TimeDelta response = base::TimeDelta::FromMilliseconds(10);
247 base::TimeDelta first_text_paint = base::TimeDelta::FromMilliseconds(30); 249 base::TimeDelta first_text_paint = base::TimeDelta::FromMilliseconds(30);
248 base::TimeDelta dom_content = base::TimeDelta::FromMilliseconds(40); 250 base::TimeDelta dom_content = base::TimeDelta::FromMilliseconds(40);
249 base::TimeDelta load = base::TimeDelta::FromMilliseconds(100); 251 base::TimeDelta load = base::TimeDelta::FromMilliseconds(100);
250 252
(...skipping 18 matching lines...) Expand all
269 PageLoadTiming timing2; 271 PageLoadTiming timing2;
270 timing2.navigation_start = base::Time::FromDoubleT(200); 272 timing2.navigation_start = base::Time::FromDoubleT(200);
271 timing2.first_layout = first_layout_2; 273 timing2.first_layout = first_layout_2;
272 274
273 observer_->OnMessageReceived( 275 observer_->OnMessageReceived(
274 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing2), 276 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing2),
275 web_contents()->GetMainFrame()); 277 web_contents()->GetMainFrame());
276 278
277 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl)); 279 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl));
278 280
279 histogram_tester_.ExpectBucketCount(kHistogramNameFirstLayout, 281 histogram_tester_.ExpectBucketCount(kHistogramFirstLayout,
280 first_layout_1.InMilliseconds(), 1); 282 first_layout_1.InMilliseconds(), 1);
281 histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 2); 283 histogram_tester_.ExpectTotalCount(kHistogramFirstLayout, 2);
282 histogram_tester_.ExpectBucketCount(kHistogramNameFirstLayout, 284 histogram_tester_.ExpectBucketCount(kHistogramFirstLayout,
283 first_layout_1.InMilliseconds(), 1); 285 first_layout_1.InMilliseconds(), 1);
284 histogram_tester_.ExpectBucketCount(kHistogramNameFirstLayout, 286 histogram_tester_.ExpectBucketCount(kHistogramFirstLayout,
285 first_layout_2.InMilliseconds(), 1); 287 first_layout_2.InMilliseconds(), 1);
286 288
287 histogram_tester_.ExpectTotalCount(kHistogramNameFirstTextPaint, 1); 289 histogram_tester_.ExpectTotalCount(kHistogramFirstTextPaint, 1);
288 histogram_tester_.ExpectBucketCount(kHistogramNameFirstTextPaint, 290 histogram_tester_.ExpectBucketCount(kHistogramFirstTextPaint,
289 first_text_paint.InMilliseconds(), 1); 291 first_text_paint.InMilliseconds(), 1);
290 292
291 histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 1); 293 histogram_tester_.ExpectTotalCount(kHistogramDomContentLoaded, 1);
292 histogram_tester_.ExpectBucketCount(kHistogramNameDomContent, 294 histogram_tester_.ExpectBucketCount(kHistogramDomContentLoaded,
293 dom_content.InMilliseconds(), 1); 295 dom_content.InMilliseconds(), 1);
294 296
295 histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 1); 297 histogram_tester_.ExpectTotalCount(kHistogramLoad, 1);
296 histogram_tester_.ExpectBucketCount(kHistogramNameLoad, load.InMilliseconds(), 298 histogram_tester_.ExpectBucketCount(kHistogramLoad, load.InMilliseconds(), 1);
297 1);
298 } 299 }
299 300
300 TEST_F(MetricsWebContentsObserverTest, BackgroundDifferentHistogram) { 301 TEST_F(MetricsWebContentsObserverTest, BackgroundDifferentHistogram) {
301 base::TimeDelta first_layout = base::TimeDelta::FromSeconds(2); 302 base::TimeDelta first_layout = base::TimeDelta::FromSeconds(2);
302 303
303 PageLoadTiming timing; 304 PageLoadTiming timing;
304 timing.navigation_start = base::Time::FromDoubleT( 305 timing.navigation_start = base::Time::FromDoubleT(
305 (base::TimeTicks::Now() - base::TimeTicks::UnixEpoch()).InSecondsF()); 306 (base::TimeTicks::Now() - base::TimeTicks::UnixEpoch()).InSecondsF());
306 timing.first_layout = first_layout; 307 timing.first_layout = first_layout;
307 308
308 content::WebContentsTester* web_contents_tester = 309 content::WebContentsTester* web_contents_tester =
309 content::WebContentsTester::For(web_contents()); 310 content::WebContentsTester::For(web_contents());
310 311
311 // Simulate "Open link in new tab." 312 // Simulate "Open link in new tab."
312 observer_->WasHidden(); 313 observer_->WasHidden();
313 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl)); 314 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl));
314 315
315 observer_->OnMessageReceived( 316 observer_->OnMessageReceived(
316 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing), 317 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing),
317 web_contents()->GetMainFrame()); 318 web_contents()->GetMainFrame());
318 319
319 // Simulate switching to the tab and making another navigation. 320 // Simulate switching to the tab and making another navigation.
320 observer_->WasShown(); 321 observer_->WasShown();
321 AssertNoHistogramsLogged(); 322 AssertNoHistogramsLogged();
322 323
323 // Navigate again to force histogram recording. 324 // Navigate again to force histogram recording.
324 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2)); 325 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2));
325 326
326 histogram_tester_.ExpectTotalCount(kBGHistogramNameDomContent, 0); 327 histogram_tester_.ExpectTotalCount(kBackgroundHistogramDomContentLoaded, 0);
327 histogram_tester_.ExpectTotalCount(kBGHistogramNameLoad, 0); 328 histogram_tester_.ExpectTotalCount(kBackgroundHistogramLoad, 0);
328 histogram_tester_.ExpectTotalCount(kBGHistogramNameFirstLayout, 1); 329 histogram_tester_.ExpectTotalCount(kBackgroundHistogramFirstLayout, 1);
329 histogram_tester_.ExpectBucketCount(kBGHistogramNameFirstLayout, 330 histogram_tester_.ExpectBucketCount(kBackgroundHistogramFirstLayout,
330 first_layout.InMilliseconds(), 1); 331 first_layout.InMilliseconds(), 1);
331 histogram_tester_.ExpectTotalCount(kBGHistogramNameFirstTextPaint, 0); 332 histogram_tester_.ExpectTotalCount(kBackgroundHistogramFirstTextPaint, 0);
332 333
333 histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 0); 334 histogram_tester_.ExpectTotalCount(kHistogramDomContentLoaded, 0);
334 histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 0); 335 histogram_tester_.ExpectTotalCount(kHistogramLoad, 0);
335 histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 0); 336 histogram_tester_.ExpectTotalCount(kHistogramFirstLayout, 0);
336 histogram_tester_.ExpectTotalCount(kHistogramNameFirstTextPaint, 0); 337 histogram_tester_.ExpectTotalCount(kHistogramFirstTextPaint, 0);
337 } 338 }
338 339
339 TEST_F(MetricsWebContentsObserverTest, DontLogPrerender) { 340 TEST_F(MetricsWebContentsObserverTest, DontLogPrerender) {
340 PageLoadTiming timing; 341 PageLoadTiming timing;
341 timing.navigation_start = base::Time::FromDoubleT(1); 342 timing.navigation_start = base::Time::FromDoubleT(1);
342 timing.first_layout = base::TimeDelta::FromMilliseconds(10); 343 timing.first_layout = base::TimeDelta::FromMilliseconds(10);
343 content::WebContentsTester* web_contents_tester = 344 content::WebContentsTester* web_contents_tester =
344 content::WebContentsTester::For(web_contents()); 345 content::WebContentsTester::For(web_contents());
345 embedder_interface_->set_is_prerendering(true); 346 embedder_interface_->set_is_prerendering(true);
346 347
(...skipping 27 matching lines...) Expand all
374 observer_->WasShown(); 375 observer_->WasShown();
375 timing.first_layout = base::TimeDelta::FromSeconds(3); 376 timing.first_layout = base::TimeDelta::FromSeconds(3);
376 timing.first_text_paint = base::TimeDelta::FromSeconds(4); 377 timing.first_text_paint = base::TimeDelta::FromSeconds(4);
377 observer_->OnMessageReceived( 378 observer_->OnMessageReceived(
378 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing), 379 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing),
379 web_contents()->GetMainFrame()); 380 web_contents()->GetMainFrame());
380 381
381 // Navigate again to force histogram recording. 382 // Navigate again to force histogram recording.
382 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2)); 383 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2));
383 384
384 histogram_tester_.ExpectTotalCount(kBGHistogramNameDomContent, 0); 385 histogram_tester_.ExpectTotalCount(kBackgroundHistogramDomContentLoaded, 0);
385 histogram_tester_.ExpectTotalCount(kBGHistogramNameLoad, 0); 386 histogram_tester_.ExpectTotalCount(kBackgroundHistogramLoad, 0);
386 histogram_tester_.ExpectTotalCount(kBGHistogramNameFirstLayout, 1); 387 histogram_tester_.ExpectTotalCount(kBackgroundHistogramFirstLayout, 1);
387 histogram_tester_.ExpectBucketCount(kBGHistogramNameFirstLayout, 388 histogram_tester_.ExpectBucketCount(kBackgroundHistogramFirstLayout,
388 timing.first_layout.InMilliseconds(), 1); 389 timing.first_layout.InMilliseconds(), 1);
389 histogram_tester_.ExpectTotalCount(kBGHistogramNameFirstTextPaint, 1); 390 histogram_tester_.ExpectTotalCount(kBackgroundHistogramFirstTextPaint, 1);
390 histogram_tester_.ExpectBucketCount(kBGHistogramNameFirstTextPaint, 391 histogram_tester_.ExpectBucketCount(kBackgroundHistogramFirstTextPaint,
391 timing.first_text_paint.InMilliseconds(), 392 timing.first_text_paint.InMilliseconds(),
392 1); 393 1);
393 394
394 histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 1); 395 histogram_tester_.ExpectTotalCount(kHistogramDomContentLoaded, 1);
395 histogram_tester_.ExpectBucketCount( 396 histogram_tester_.ExpectBucketCount(
396 kHistogramNameDomContent, 397 kHistogramDomContentLoaded,
397 timing.dom_content_loaded_event_start.InMilliseconds(), 1); 398 timing.dom_content_loaded_event_start.InMilliseconds(), 1);
398 histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 0); 399 histogram_tester_.ExpectTotalCount(kHistogramLoad, 0);
399 histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 0); 400 histogram_tester_.ExpectTotalCount(kHistogramFirstLayout, 0);
400 histogram_tester_.ExpectTotalCount(kHistogramNameFirstTextPaint, 0); 401 histogram_tester_.ExpectTotalCount(kHistogramFirstTextPaint, 0);
401 } 402 }
402 403
403 TEST_F(MetricsWebContentsObserverTest, DontBackgroundQuickerLoad) { 404 TEST_F(MetricsWebContentsObserverTest, DontBackgroundQuickerLoad) {
404 base::TimeDelta first_layout = base::TimeDelta::FromMilliseconds(1); 405 base::TimeDelta first_layout = base::TimeDelta::FromMilliseconds(1);
405 406
406 PageLoadTiming timing; 407 PageLoadTiming timing;
407 timing.navigation_start = base::Time::FromDoubleT(1); 408 timing.navigation_start = base::Time::FromDoubleT(1);
408 timing.first_layout = first_layout; 409 timing.first_layout = first_layout;
409 410
410 observer_->WasHidden(); 411 observer_->WasHidden();
(...skipping 14 matching lines...) Expand all
425 web_contents_tester->StartNavigation(GURL(kDefaultTestUrl2)); 426 web_contents_tester->StartNavigation(GURL(kDefaultTestUrl2));
426 rfh_tester->SimulateNavigationCommit(GURL(kDefaultTestUrl2)); 427 rfh_tester->SimulateNavigationCommit(GURL(kDefaultTestUrl2));
427 observer_->OnMessageReceived( 428 observer_->OnMessageReceived(
428 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing), 429 PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing),
429 main_rfh()); 430 main_rfh());
430 rfh_tester->SimulateNavigationStop(); 431 rfh_tester->SimulateNavigationStop();
431 432
432 // Navigate again to see if the timing updated for a subframe message. 433 // Navigate again to see if the timing updated for a subframe message.
433 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl)); 434 web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl));
434 435
435 histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 0); 436 histogram_tester_.ExpectTotalCount(kHistogramDomContentLoaded, 0);
436 histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 0); 437 histogram_tester_.ExpectTotalCount(kHistogramLoad, 0);
437 histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 1); 438 histogram_tester_.ExpectTotalCount(kHistogramFirstLayout, 1);
438 histogram_tester_.ExpectBucketCount(kHistogramNameFirstLayout, 439 histogram_tester_.ExpectBucketCount(kHistogramFirstLayout,
439 first_layout.InMilliseconds(), 1); 440 first_layout.InMilliseconds(), 1);
440 histogram_tester_.ExpectTotalCount(kHistogramNameFirstTextPaint, 0); 441 histogram_tester_.ExpectTotalCount(kHistogramFirstTextPaint, 0);
441 } 442 }
442 443
443 TEST_F(MetricsWebContentsObserverTest, FailProvisionalLoad) { 444 TEST_F(MetricsWebContentsObserverTest, FailProvisionalLoad) {
444 content::WebContentsTester* web_contents_tester = 445 content::WebContentsTester* web_contents_tester =
445 content::WebContentsTester::For(web_contents()); 446 content::WebContentsTester::For(web_contents());
446 447
447 web_contents_tester->StartNavigation(GURL(kDefaultTestUrl)); 448 web_contents_tester->StartNavigation(GURL(kDefaultTestUrl));
448 content::RenderFrameHostTester* rfh_tester = 449 content::RenderFrameHostTester* rfh_tester =
449 content::RenderFrameHostTester::For(main_rfh()); 450 content::RenderFrameHostTester::For(main_rfh());
450 rfh_tester->SimulateNavigationError(GURL(kDefaultTestUrl), 451 rfh_tester->SimulateNavigationError(GURL(kDefaultTestUrl),
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 EXPECT_NE(string_it, sample_obj->string_fields.end()); 711 EXPECT_NE(string_it, sample_obj->string_fields.end());
711 EXPECT_EQ(rappor::GetDomainAndRegistrySampleFromGURL(GURL(kDefaultTestUrl)), 712 EXPECT_EQ(rappor::GetDomainAndRegistrySampleFromGURL(GURL(kDefaultTestUrl)),
712 string_it->second); 713 string_it->second);
713 714
714 const auto& flag_it = sample_obj->flag_fields.find("IsSlow"); 715 const auto& flag_it = sample_obj->flag_fields.find("IsSlow");
715 EXPECT_NE(flag_it, sample_obj->flag_fields.end()); 716 EXPECT_NE(flag_it, sample_obj->flag_fields.end());
716 EXPECT_EQ(0u, flag_it->second); 717 EXPECT_EQ(0u, flag_it->second);
717 } 718 }
718 719
719 } // namespace page_load_metrics 720 } // namespace page_load_metrics
OLDNEW
« no previous file with comments | « components/page_load_metrics/browser/metrics_web_contents_observer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698