| 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 |