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 "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse
rver.h" | 5 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse
rver.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" | 8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" |
9 #include "chrome/test/base/testing_browser_process.h" | 9 #include "chrome/test/base/testing_browser_process.h" |
10 #include "components/page_load_metrics/browser/page_load_metrics_util.h" | 10 #include "components/page_load_metrics/browser/page_load_metrics_util.h" |
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
478 internal::kRapporMetricsNameCoarseTiming); | 478 internal::kRapporMetricsNameCoarseTiming); |
479 const auto& string_it = sample_obj->string_fields.find("Domain"); | 479 const auto& string_it = sample_obj->string_fields.find("Domain"); |
480 EXPECT_NE(string_it, sample_obj->string_fields.end()); | 480 EXPECT_NE(string_it, sample_obj->string_fields.end()); |
481 EXPECT_EQ(rappor::GetDomainAndRegistrySampleFromGURL(GURL(kDefaultTestUrl)), | 481 EXPECT_EQ(rappor::GetDomainAndRegistrySampleFromGURL(GURL(kDefaultTestUrl)), |
482 string_it->second); | 482 string_it->second); |
483 | 483 |
484 const auto& flag_it = sample_obj->flag_fields.find("IsSlow"); | 484 const auto& flag_it = sample_obj->flag_fields.find("IsSlow"); |
485 EXPECT_NE(flag_it, sample_obj->flag_fields.end()); | 485 EXPECT_NE(flag_it, sample_obj->flag_fields.end()); |
486 EXPECT_EQ(0u, flag_it->second); | 486 EXPECT_EQ(0u, flag_it->second); |
487 } | 487 } |
| 488 |
| 489 TEST_F(CorePageLoadMetricsObserverTest, Reload) { |
| 490 page_load_metrics::PageLoadTiming timing; |
| 491 timing.navigation_start = base::Time::FromDoubleT(1); |
| 492 timing.first_contentful_paint = base::TimeDelta::FromMilliseconds(10); |
| 493 PopulateRequiredTimingFields(&timing); |
| 494 |
| 495 GURL url(kDefaultTestUrl); |
| 496 NavigateWithPageTransitionAndCommit(url, ui::PAGE_TRANSITION_RELOAD); |
| 497 SimulateTimingUpdate(timing); |
| 498 NavigateAndCommit(url); |
| 499 |
| 500 histogram_tester().ExpectTotalCount( |
| 501 internal::kHistogramLoadTypeFirstContentfulPaintReload, 1); |
| 502 histogram_tester().ExpectTotalCount( |
| 503 internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 0); |
| 504 histogram_tester().ExpectTotalCount( |
| 505 internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 0); |
| 506 } |
| 507 |
| 508 TEST_F(CorePageLoadMetricsObserverTest, ForwardBack) { |
| 509 page_load_metrics::PageLoadTiming timing; |
| 510 timing.navigation_start = base::Time::FromDoubleT(1); |
| 511 timing.first_contentful_paint = base::TimeDelta::FromMilliseconds(10); |
| 512 PopulateRequiredTimingFields(&timing); |
| 513 |
| 514 GURL url(kDefaultTestUrl); |
| 515 NavigateWithPageTransitionAndCommit( |
| 516 url, ui::PageTransitionFromInt(ui::PAGE_TRANSITION_TYPED | |
| 517 ui::PAGE_TRANSITION_FORWARD_BACK)); |
| 518 SimulateTimingUpdate(timing); |
| 519 NavigateAndCommit(url); |
| 520 |
| 521 histogram_tester().ExpectTotalCount( |
| 522 internal::kHistogramLoadTypeFirstContentfulPaintReload, 0); |
| 523 histogram_tester().ExpectTotalCount( |
| 524 internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 1); |
| 525 histogram_tester().ExpectTotalCount( |
| 526 internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 0); |
| 527 } |
| 528 |
| 529 TEST_F(CorePageLoadMetricsObserverTest, NewNavigation) { |
| 530 page_load_metrics::PageLoadTiming timing; |
| 531 timing.navigation_start = base::Time::FromDoubleT(1); |
| 532 timing.first_contentful_paint = base::TimeDelta::FromMilliseconds(10); |
| 533 PopulateRequiredTimingFields(&timing); |
| 534 |
| 535 GURL url(kDefaultTestUrl); |
| 536 NavigateWithPageTransitionAndCommit(url, ui::PAGE_TRANSITION_LINK); |
| 537 SimulateTimingUpdate(timing); |
| 538 NavigateAndCommit(url); |
| 539 |
| 540 histogram_tester().ExpectTotalCount( |
| 541 internal::kHistogramLoadTypeFirstContentfulPaintReload, 0); |
| 542 histogram_tester().ExpectTotalCount( |
| 543 internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 0); |
| 544 histogram_tester().ExpectTotalCount( |
| 545 internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 1); |
| 546 } |
OLD | NEW |