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

Side by Side Diff: chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc

Issue 2699933003: Generalize abort tracking to page end state tracking (Closed)
Patch Set: fix comment Created 3 years, 10 months 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
OLDNEW
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
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
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(&params); 455 chrome::Navigate(&params);
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698