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, |