OLD | NEW |
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 "base/files/scoped_temp_dir.h" | 5 #include "base/files/scoped_temp_dir.h" |
6 #include "base/macros.h" | 6 #include "base/macros.h" |
7 #include "base/test/histogram_tester.h" | 7 #include "base/test/histogram_tester.h" |
8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
9 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" | 9 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
10 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob
server.h" | 10 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob
server.h" |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 // properly calls NavigationHandle/NavigationThrottle methods. | 329 // properly calls NavigationHandle/NavigationThrottle methods. |
330 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortNewNavigation) { | 330 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortNewNavigation) { |
331 ASSERT_TRUE(embedded_test_server()->Start()); | 331 ASSERT_TRUE(embedded_test_server()->Start()); |
332 | 332 |
333 GURL url(embedded_test_server()->GetURL("/title1.html")); | 333 GURL url(embedded_test_server()->GetURL("/title1.html")); |
334 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); | 334 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); |
335 content::TestNavigationManager manager( | 335 content::TestNavigationManager manager( |
336 browser()->tab_strip_model()->GetActiveWebContents(), url); | 336 browser()->tab_strip_model()->GetActiveWebContents(), url); |
337 | 337 |
338 chrome::Navigate(¶ms); | 338 chrome::Navigate(¶ms); |
339 EXPECT_TRUE(manager.WaitForWillStartRequest()); | 339 EXPECT_TRUE(manager.WaitForRequestStart()); |
340 | 340 |
341 GURL url2(embedded_test_server()->GetURL("/title2.html")); | 341 GURL url2(embedded_test_server()->GetURL("/title2.html")); |
342 chrome::NavigateParams params2(browser(), url2, | 342 chrome::NavigateParams params2(browser(), url2, |
343 ui::PAGE_TRANSITION_FROM_ADDRESS_BAR); | 343 ui::PAGE_TRANSITION_FROM_ADDRESS_BAR); |
344 content::TestNavigationManager manager2( | 344 content::TestNavigationManager manager2( |
345 browser()->tab_strip_model()->GetActiveWebContents(), url2); | 345 browser()->tab_strip_model()->GetActiveWebContents(), url2); |
346 chrome::Navigate(¶ms2); | 346 chrome::Navigate(¶ms2); |
347 | 347 |
348 manager2.WaitForNavigationFinished(); | 348 manager2.WaitForNavigationFinished(); |
349 histogram_tester_.ExpectTotalCount( | 349 histogram_tester_.ExpectTotalCount( |
350 internal::kHistogramAbortNewNavigationBeforeCommit, 1); | 350 internal::kHistogramAbortNewNavigationBeforeCommit, 1); |
351 } | 351 } |
352 | 352 |
353 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortReload) { | 353 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortReload) { |
354 ASSERT_TRUE(embedded_test_server()->Start()); | 354 ASSERT_TRUE(embedded_test_server()->Start()); |
355 | 355 |
356 GURL url(embedded_test_server()->GetURL("/title1.html")); | 356 GURL url(embedded_test_server()->GetURL("/title1.html")); |
357 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); | 357 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); |
358 content::TestNavigationManager manager( | 358 content::TestNavigationManager manager( |
359 browser()->tab_strip_model()->GetActiveWebContents(), url); | 359 browser()->tab_strip_model()->GetActiveWebContents(), url); |
360 | 360 |
361 chrome::Navigate(¶ms); | 361 chrome::Navigate(¶ms); |
362 EXPECT_TRUE(manager.WaitForWillStartRequest()); | 362 EXPECT_TRUE(manager.WaitForRequestStart()); |
363 | 363 |
364 chrome::NavigateParams params2(browser(), url, ui::PAGE_TRANSITION_RELOAD); | 364 chrome::NavigateParams params2(browser(), url, ui::PAGE_TRANSITION_RELOAD); |
365 content::TestNavigationManager manager2( | 365 content::TestNavigationManager manager2( |
366 browser()->tab_strip_model()->GetActiveWebContents(), url); | 366 browser()->tab_strip_model()->GetActiveWebContents(), url); |
367 chrome::Navigate(¶ms2); | 367 chrome::Navigate(¶ms2); |
368 | 368 |
369 manager2.WaitForNavigationFinished(); | 369 manager2.WaitForNavigationFinished(); |
370 histogram_tester_.ExpectTotalCount( | 370 histogram_tester_.ExpectTotalCount( |
371 internal::kHistogramAbortReloadBeforeCommit, 1); | 371 internal::kHistogramAbortReloadBeforeCommit, 1); |
372 } | 372 } |
373 | 373 |
374 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortClose) { | 374 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortClose) { |
375 ASSERT_TRUE(embedded_test_server()->Start()); | 375 ASSERT_TRUE(embedded_test_server()->Start()); |
376 | 376 |
377 GURL url(embedded_test_server()->GetURL("/title1.html")); | 377 GURL url(embedded_test_server()->GetURL("/title1.html")); |
378 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); | 378 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); |
379 content::TestNavigationManager manager( | 379 content::TestNavigationManager manager( |
380 browser()->tab_strip_model()->GetActiveWebContents(), url); | 380 browser()->tab_strip_model()->GetActiveWebContents(), url); |
381 | 381 |
382 chrome::Navigate(¶ms); | 382 chrome::Navigate(¶ms); |
383 EXPECT_TRUE(manager.WaitForWillStartRequest()); | 383 EXPECT_TRUE(manager.WaitForRequestStart()); |
384 | 384 |
385 browser()->tab_strip_model()->GetActiveWebContents()->Close(); | 385 browser()->tab_strip_model()->GetActiveWebContents()->Close(); |
386 | 386 |
387 manager.WaitForNavigationFinished(); | 387 manager.WaitForNavigationFinished(); |
388 | 388 |
389 histogram_tester_.ExpectTotalCount(internal::kHistogramAbortCloseBeforeCommit, | 389 histogram_tester_.ExpectTotalCount(internal::kHistogramAbortCloseBeforeCommit, |
390 1); | 390 1); |
391 } | 391 } |
392 | 392 |
393 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortMultiple) { | 393 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortMultiple) { |
394 ASSERT_TRUE(embedded_test_server()->Start()); | 394 ASSERT_TRUE(embedded_test_server()->Start()); |
395 | 395 |
396 GURL url(embedded_test_server()->GetURL("/title1.html")); | 396 GURL url(embedded_test_server()->GetURL("/title1.html")); |
397 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); | 397 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK); |
398 content::TestNavigationManager manager( | 398 content::TestNavigationManager manager( |
399 browser()->tab_strip_model()->GetActiveWebContents(), url); | 399 browser()->tab_strip_model()->GetActiveWebContents(), url); |
400 | 400 |
401 chrome::Navigate(¶ms); | 401 chrome::Navigate(¶ms); |
402 EXPECT_TRUE(manager.WaitForWillStartRequest()); | 402 EXPECT_TRUE(manager.WaitForRequestStart()); |
403 | 403 |
404 GURL url2(embedded_test_server()->GetURL("/title2.html")); | 404 GURL url2(embedded_test_server()->GetURL("/title2.html")); |
405 chrome::NavigateParams params2(browser(), url2, ui::PAGE_TRANSITION_TYPED); | 405 chrome::NavigateParams params2(browser(), url2, ui::PAGE_TRANSITION_TYPED); |
406 content::TestNavigationManager manager2( | 406 content::TestNavigationManager manager2( |
407 browser()->tab_strip_model()->GetActiveWebContents(), url2); | 407 browser()->tab_strip_model()->GetActiveWebContents(), url2); |
408 chrome::Navigate(¶ms2); | 408 chrome::Navigate(¶ms2); |
409 | 409 |
410 EXPECT_TRUE(manager2.WaitForWillStartRequest()); | 410 EXPECT_TRUE(manager2.WaitForRequestStart()); |
411 manager.WaitForNavigationFinished(); | 411 manager.WaitForNavigationFinished(); |
412 | 412 |
413 GURL url3(embedded_test_server()->GetURL("/title3.html")); | 413 GURL url3(embedded_test_server()->GetURL("/title3.html")); |
414 chrome::NavigateParams params3(browser(), url3, ui::PAGE_TRANSITION_TYPED); | 414 chrome::NavigateParams params3(browser(), url3, ui::PAGE_TRANSITION_TYPED); |
415 content::TestNavigationManager manager3( | 415 content::TestNavigationManager manager3( |
416 browser()->tab_strip_model()->GetActiveWebContents(), url3); | 416 browser()->tab_strip_model()->GetActiveWebContents(), url3); |
417 chrome::Navigate(¶ms3); | 417 chrome::Navigate(¶ms3); |
418 | 418 |
419 EXPECT_TRUE(manager3.WaitForWillStartRequest()); | 419 EXPECT_TRUE(manager3.WaitForRequestStart()); |
420 manager2.WaitForNavigationFinished(); | 420 manager2.WaitForNavigationFinished(); |
421 | 421 |
422 manager3.WaitForNavigationFinished(); | 422 manager3.WaitForNavigationFinished(); |
423 | 423 |
424 histogram_tester_.ExpectTotalCount( | 424 histogram_tester_.ExpectTotalCount( |
425 internal::kHistogramAbortNewNavigationBeforeCommit, 2); | 425 internal::kHistogramAbortNewNavigationBeforeCommit, 2); |
426 } | 426 } |
427 | 427 |
428 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortClientRedirect) { | 428 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortClientRedirect) { |
429 ASSERT_TRUE(embedded_test_server()->Start()); | 429 ASSERT_TRUE(embedded_test_server()->Start()); |
430 | 430 |
431 GURL first_url(embedded_test_server()->GetURL("/title1.html")); | 431 GURL first_url(embedded_test_server()->GetURL("/title1.html")); |
432 ui_test_utils::NavigateToURL(browser(), first_url); | 432 ui_test_utils::NavigateToURL(browser(), first_url); |
433 | 433 |
434 GURL second_url(embedded_test_server()->GetURL("/title2.html")); | 434 GURL second_url(embedded_test_server()->GetURL("/title2.html")); |
435 chrome::NavigateParams params(browser(), second_url, | 435 chrome::NavigateParams params(browser(), second_url, |
436 ui::PAGE_TRANSITION_LINK); | 436 ui::PAGE_TRANSITION_LINK); |
437 content::TestNavigationManager manager( | 437 content::TestNavigationManager manager( |
438 browser()->tab_strip_model()->GetActiveWebContents(), second_url); | 438 browser()->tab_strip_model()->GetActiveWebContents(), second_url); |
439 chrome::Navigate(¶ms); | 439 chrome::Navigate(¶ms); |
440 EXPECT_TRUE(manager.WaitForWillStartRequest()); | 440 EXPECT_TRUE(manager.WaitForRequestStart()); |
441 | 441 |
442 { | 442 { |
443 content::TestNavigationManager reload_manager( | 443 content::TestNavigationManager reload_manager( |
444 browser()->tab_strip_model()->GetActiveWebContents(), first_url); | 444 browser()->tab_strip_model()->GetActiveWebContents(), first_url); |
445 EXPECT_TRUE(content::ExecuteScript( | 445 EXPECT_TRUE(content::ExecuteScript( |
446 browser()->tab_strip_model()->GetActiveWebContents(), | 446 browser()->tab_strip_model()->GetActiveWebContents(), |
447 "window.location.reload();")); | 447 "window.location.reload();")); |
448 } | 448 } |
449 | 449 |
450 manager.WaitForNavigationFinished(); | 450 manager.WaitForNavigationFinished(); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 | 529 |
530 histogram_tester_.ExpectTotalCount( | 530 histogram_tester_.ExpectTotalCount( |
531 prerender::PrerenderHistograms::GetFirstContentfulPaintHistogramName( | 531 prerender::PrerenderHistograms::GetFirstContentfulPaintHistogramName( |
532 prerender::ORIGIN_NONE, false, true, base::TimeDelta()), | 532 prerender::ORIGIN_NONE, false, true, base::TimeDelta()), |
533 1); | 533 1); |
534 histogram_tester_.ExpectTotalCount( | 534 histogram_tester_.ExpectTotalCount( |
535 prerender::PrerenderHistograms::GetFirstContentfulPaintHistogramName( | 535 prerender::PrerenderHistograms::GetFirstContentfulPaintHistogramName( |
536 prerender::ORIGIN_NONE, false, false, base::TimeDelta()), | 536 prerender::ORIGIN_NONE, false, false, base::TimeDelta()), |
537 0); | 537 0); |
538 } | 538 } |
OLD | NEW |