| Index: chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
|
| index bf5245749e01470c78f6e7a71b51e023566993f3..f6d5b2d97232c1151b09ad01cff8af6bfc8a0529 100644
|
| --- a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
|
| @@ -4,8 +4,11 @@
|
|
|
| #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h"
|
|
|
| +#include <vector>
|
| +
|
| #include "base/macros.h"
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/metrics/metrics_hashes.h"
|
| #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h"
|
| #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
|
| #include "third_party/WebKit/public/platform/WebMouseEvent.h"
|
| @@ -56,6 +59,7 @@ class FromGWSPageLoadMetricsLoggerTest : public testing::Test {};
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, NoMetrics) {
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 0);
|
| + EXPECT_EQ(0ul, ukm_tester().entries_count());
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, NoPreviousCommittedUrl) {
|
| @@ -69,9 +73,10 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, NoPreviousCommittedUrl) {
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 0);
|
| + EXPECT_EQ(0ul, ukm_tester().entries_count());
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, NonSearchPreviousCommittedUrl) {
|
| @@ -86,9 +91,10 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, NonSearchPreviousCommittedUrl) {
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 0);
|
| + EXPECT_EQ(0ul, ukm_tester().entries_count());
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| @@ -104,9 +110,10 @@ TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 0);
|
| + EXPECT_EQ(0ul, ukm_tester().entries_count());
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| @@ -124,9 +131,10 @@ TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 0);
|
| + EXPECT_EQ(0ul, ukm_tester().entries_count());
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl1) {
|
| @@ -152,7 +160,7 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl1) {
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
|
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSParseStart, 1);
|
| histogram_tester().ExpectBucketCount(
|
| @@ -212,6 +220,11 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl1) {
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSLoad,
|
| timing.document_timing->load_event_start.value().InMilliseconds(), 1);
|
| +
|
| + EXPECT_EQ(1ul, ukm_tester().entries_count());
|
| + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kExampleUrl);
|
| + EXPECT_TRUE(
|
| + ukm_tester().HasEntry(*source, internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl2) {
|
| @@ -226,12 +239,17 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl2) {
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + EXPECT_EQ(1ul, ukm_tester().entries_count());
|
| + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kExampleUrl);
|
| + EXPECT_TRUE(
|
| + ukm_tester().HasEntry(*source, internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl3) {
|
| @@ -246,12 +264,17 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl3) {
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + EXPECT_EQ(1ul, ukm_tester().entries_count());
|
| + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kExampleUrl);
|
| + EXPECT_TRUE(
|
| + ukm_tester().HasEntry(*source, internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl4) {
|
| @@ -266,12 +289,17 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl4) {
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + EXPECT_EQ(1ul, ukm_tester().entries_count());
|
| + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kExampleUrl);
|
| + EXPECT_TRUE(
|
| + ukm_tester().HasEntry(*source, internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, SearchToNonSearchToOtherPage) {
|
| @@ -294,12 +322,17 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, SearchToNonSearchToOtherPage) {
|
|
|
| // Navigate again to force logging. We expect to log timing for the page
|
| // navigated from search, but not for the page navigated from that page.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + EXPECT_EQ(1ul, ukm_tester().entries_count());
|
| + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kExampleUrl);
|
| + EXPECT_TRUE(
|
| + ukm_tester().HasEntry(*source, internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest, SearchToNonSearchToSearch) {
|
| @@ -322,12 +355,17 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, SearchToNonSearchToSearch) {
|
|
|
| // Navigate again to force logging. We expect to log timing for the page
|
| // navigated from search, but not for the search page we navigated to.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + EXPECT_EQ(1ul, ukm_tester().entries_count());
|
| + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kExampleUrl);
|
| + EXPECT_TRUE(
|
| + ukm_tester().HasEntry(*source, internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| @@ -359,7 +397,7 @@ TEST_F(FromGWSPageLoadMetricsObserverTest,
|
|
|
| // Navigate again to force logging. We expect to log timing for both pages
|
| // navigated from search, but not for the search pages we navigated to.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 2);
|
| histogram_tester().ExpectBucketCount(
|
| @@ -368,6 +406,14 @@ TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing3.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + std::vector<const ukm::UkmSource*> sources =
|
| + ukm_tester().GetSourcesForUrl(kExampleUrl);
|
| + EXPECT_EQ(2ul, sources.size());
|
| + EXPECT_TRUE(ukm_tester().HasEntry(*sources.at(0),
|
| + internal::kUkmFromGoogleSearchName));
|
| + EXPECT_TRUE(ukm_tester().HasEntry(*sources.at(1),
|
| + internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| @@ -400,12 +446,20 @@ TEST_F(FromGWSPageLoadMetricsObserverTest,
|
|
|
| // Navigate again to force logging. We expect to log timing for the first page
|
| // navigated from search, but not the second since it was backgrounded.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + std::vector<const ukm::UkmSource*> sources =
|
| + ukm_tester().GetSourcesForUrl(kExampleUrl);
|
| + EXPECT_EQ(2ul, sources.size());
|
| + EXPECT_TRUE(ukm_tester().HasEntry(*sources.at(0),
|
| + internal::kUkmFromGoogleSearchName));
|
| + EXPECT_TRUE(ukm_tester().HasEntry(*sources.at(1),
|
| + internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| @@ -422,12 +476,17 @@ TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramFromGWSFirstTextPaint,
|
| timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
| +
|
| + EXPECT_EQ(1ul, ukm_tester().entries_count());
|
| + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kExampleUrl);
|
| + EXPECT_TRUE(
|
| + ukm_tester().HasEntry(*source, internal::kUkmFromGoogleSearchName));
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| @@ -444,9 +503,11 @@ TEST_F(FromGWSPageLoadMetricsObserverTest,
|
| SimulateTimingUpdate(timing);
|
|
|
| // Navigate again to force logging.
|
| - NavigateAndCommit(GURL("http://www.final.com"));
|
| + NavigateToUntrackedUrl();
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFromGWSFirstTextPaint,
|
| 0);
|
| +
|
| + EXPECT_EQ(0ul, ukm_tester().entries_count());
|
| }
|
|
|
| TEST_F(FromGWSPageLoadMetricsObserverTest,
|
|
|