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 |