| OLD | NEW |
| 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 "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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 | 80 |
| 81 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 1); | 81 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 1); |
| 82 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 1); | 82 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 1); |
| 83 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 1); | 83 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 1); |
| 84 histogram_tester_.ExpectTotalCount(internal::kHistogramParseDuration, 1); | 84 histogram_tester_.ExpectTotalCount(internal::kHistogramParseDuration, 1); |
| 85 histogram_tester_.ExpectTotalCount( | 85 histogram_tester_.ExpectTotalCount( |
| 86 internal::kHistogramParseBlockedOnScriptLoad, 1); | 86 internal::kHistogramParseBlockedOnScriptLoad, 1); |
| 87 histogram_tester_.ExpectTotalCount( | 87 histogram_tester_.ExpectTotalCount( |
| 88 internal::kHistogramParseBlockedOnScriptExecution, 1); | 88 internal::kHistogramParseBlockedOnScriptExecution, 1); |
| 89 histogram_tester_.ExpectTotalCount(internal::kHistogramTotalBytes, 1); | 89 histogram_tester_.ExpectTotalCount(internal::kHistogramTotalBytes, 1); |
| 90 histogram_tester_.ExpectTotalCount(internal::kHistogramPageTimingPageEnd, 1); |
| 90 | 91 |
| 91 // Verify that NoPageLoadMetricsRecorded returns false when PageLoad metrics | 92 // Verify that NoPageLoadMetricsRecorded returns false when PageLoad metrics |
| 92 // have been recorded. | 93 // have been recorded. |
| 93 EXPECT_FALSE(NoPageLoadMetricsRecorded()); | 94 EXPECT_FALSE(NoPageLoadMetricsRecorded()); |
| 94 } | 95 } |
| 95 | 96 |
| 96 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, SamePageNavigation) { | 97 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, SamePageNavigation) { |
| 97 ASSERT_TRUE(embedded_test_server()->Start()); | 98 ASSERT_TRUE(embedded_test_server()->Start()); |
| 98 | 99 |
| 99 ui_test_utils::NavigateToURL(browser(), | 100 ui_test_utils::NavigateToURL(browser(), |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 | 433 |
| 433 EXPECT_TRUE(manager3.WaitForRequestStart()); | 434 EXPECT_TRUE(manager3.WaitForRequestStart()); |
| 434 manager2.WaitForNavigationFinished(); | 435 manager2.WaitForNavigationFinished(); |
| 435 | 436 |
| 436 manager3.WaitForNavigationFinished(); | 437 manager3.WaitForNavigationFinished(); |
| 437 | 438 |
| 438 histogram_tester_.ExpectTotalCount( | 439 histogram_tester_.ExpectTotalCount( |
| 439 internal::kHistogramAbortNewNavigationBeforeCommit, 2); | 440 internal::kHistogramAbortNewNavigationBeforeCommit, 2); |
| 440 } | 441 } |
| 441 | 442 |
| 442 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortClientRedirect) { | 443 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
| 444 NoAbortMetricsOnClientRedirect) { |
| 443 ASSERT_TRUE(embedded_test_server()->Start()); | 445 ASSERT_TRUE(embedded_test_server()->Start()); |
| 444 | 446 |
| 445 GURL first_url(embedded_test_server()->GetURL("/title1.html")); | 447 GURL first_url(embedded_test_server()->GetURL("/title1.html")); |
| 446 ui_test_utils::NavigateToURL(browser(), first_url); | 448 ui_test_utils::NavigateToURL(browser(), first_url); |
| 447 | 449 |
| 448 GURL second_url(embedded_test_server()->GetURL("/title2.html")); | 450 GURL second_url(embedded_test_server()->GetURL("/title2.html")); |
| 449 chrome::NavigateParams params(browser(), second_url, | 451 chrome::NavigateParams params(browser(), second_url, |
| 450 ui::PAGE_TRANSITION_LINK); | 452 ui::PAGE_TRANSITION_LINK); |
| 451 content::TestNavigationManager manager( | 453 content::TestNavigationManager manager( |
| 452 browser()->tab_strip_model()->GetActiveWebContents(), second_url); | 454 browser()->tab_strip_model()->GetActiveWebContents(), second_url); |
| 453 chrome::Navigate(¶ms); | 455 chrome::Navigate(¶ms); |
| 454 EXPECT_TRUE(manager.WaitForRequestStart()); | 456 EXPECT_TRUE(manager.WaitForRequestStart()); |
| 455 | 457 |
| 456 { | 458 { |
| 457 content::TestNavigationManager reload_manager( | 459 content::TestNavigationManager reload_manager( |
| 458 browser()->tab_strip_model()->GetActiveWebContents(), first_url); | 460 browser()->tab_strip_model()->GetActiveWebContents(), first_url); |
| 459 EXPECT_TRUE(content::ExecuteScript( | 461 EXPECT_TRUE(content::ExecuteScript( |
| 460 browser()->tab_strip_model()->GetActiveWebContents(), | 462 browser()->tab_strip_model()->GetActiveWebContents(), |
| 461 "window.location.reload();")); | 463 "window.location.reload();")); |
| 462 } | 464 } |
| 463 | 465 |
| 464 manager.WaitForNavigationFinished(); | 466 manager.WaitForNavigationFinished(); |
| 465 | 467 |
| 466 histogram_tester_.ExpectTotalCount( | 468 EXPECT_TRUE(histogram_tester_ |
| 467 internal::kHistogramAbortClientRedirectBeforeCommit, 1); | 469 .GetTotalCountsForPrefix("PageLoad.Experimental.AbortTiming.") |
| 470 .empty()); |
| 468 } | 471 } |
| 469 | 472 |
| 470 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, | 473 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
| 471 FirstMeaningfulPaintRecorded) { | 474 FirstMeaningfulPaintRecorded) { |
| 472 ASSERT_TRUE(embedded_test_server()->Start()); | 475 ASSERT_TRUE(embedded_test_server()->Start()); |
| 473 | 476 |
| 474 ui_test_utils::NavigateToURL(browser(), | 477 ui_test_utils::NavigateToURL(browser(), |
| 475 embedded_test_server()->GetURL("/title1.html")); | 478 embedded_test_server()->GetURL("/title1.html")); |
| 476 | 479 |
| 477 // Wait until the renderer finishes observing layouts. | 480 // Wait until the renderer finishes observing layouts. |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 584 ui_test_utils::NavigateToURL(browser(), embedded_test_server()->GetURL( | 587 ui_test_utils::NavigateToURL(browser(), embedded_test_server()->GetURL( |
| 585 "/page_load_metrics/large.html")); | 588 "/page_load_metrics/large.html")); |
| 586 NavigateToUntrackedUrl(); | 589 NavigateToUntrackedUrl(); |
| 587 | 590 |
| 588 histogram_tester_.ExpectTotalCount(internal::kHistogramTotalBytes, 1); | 591 histogram_tester_.ExpectTotalCount(internal::kHistogramTotalBytes, 1); |
| 589 | 592 |
| 590 // Verify that there is a single sample recorded in the 10kB bucket (the size | 593 // Verify that there is a single sample recorded in the 10kB bucket (the size |
| 591 // of the main HTML response). | 594 // of the main HTML response). |
| 592 histogram_tester_.ExpectBucketCount(internal::kHistogramTotalBytes, 10, 1); | 595 histogram_tester_.ExpectBucketCount(internal::kHistogramTotalBytes, 10, 1); |
| 593 } | 596 } |
| OLD | NEW |