Index: chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc |
diff --git a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc |
index c41596fa8ede593ef02951bc49d4d9e4090ad2b1..dd6a6d6c43b95f9e0ef415593fc36da54f500c92 100644 |
--- a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc |
+++ b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.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/test/base/testing_browser_process.h" |
#include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" |
@@ -30,6 +31,7 @@ class DocumentWritePageLoadMetricsObserverTest |
TEST_F(DocumentWritePageLoadMetricsObserverTest, NoMetrics) { |
AssertNoPreloadHistogramsLogged(); |
AssertNoBlockHistogramsLogged(); |
+ EXPECT_EQ(0ul, ukm_tester().entries_count()); |
} |
TEST_F(DocumentWritePageLoadMetricsObserverTest, PossiblePreload) { |
@@ -44,7 +46,7 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, PossiblePreload) { |
page_load_metrics::mojom::PageLoadMetadata metadata; |
metadata.behavior_flags |= |
blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteEvaluator; |
- NavigateAndCommit(GURL("https://www.google.com")); |
+ NavigateAndCommit(GURL("https://www.google.com/")); |
SimulateTimingAndMetadataUpdate(timing, metadata); |
histogram_tester().ExpectTotalCount( |
@@ -53,7 +55,7 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, PossiblePreload) { |
internal::kHistogramDocWriteParseStartToFirstContentfulPaint, |
contentful_paint.InMilliseconds(), 1); |
- NavigateAndCommit(GURL("https://www.example.com")); |
+ NavigateAndCommit(GURL("https://www.example.com/")); |
histogram_tester().ExpectTotalCount( |
internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 1); |
@@ -71,9 +73,9 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossiblePreload) { |
PopulateRequiredTimingFields(&timing); |
page_load_metrics::mojom::PageLoadMetadata metadata; |
- NavigateAndCommit(GURL("https://www.google.com")); |
+ NavigateAndCommit(GURL("https://www.google.com/")); |
SimulateTimingAndMetadataUpdate(timing, metadata); |
- NavigateAndCommit(GURL("https://www.example.com")); |
+ NavigateAndCommit(GURL("https://www.example.com/")); |
AssertNoPreloadHistogramsLogged(); |
} |
@@ -84,12 +86,23 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlock) { |
timing.navigation_start = base::Time::FromDoubleT(1); |
timing.paint_timing->first_contentful_paint = contentful_paint; |
timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(1); |
+ timing.parse_timing->parse_stop = base::TimeDelta::FromMilliseconds(100); |
+ timing.parse_timing->parse_blocked_on_script_load_duration = |
+ base::TimeDelta::FromMilliseconds(5); |
+ timing.parse_timing |
+ ->parse_blocked_on_script_load_from_document_write_duration = |
+ base::TimeDelta::FromMilliseconds(5); |
+ timing.parse_timing->parse_blocked_on_script_execution_duration = |
+ base::TimeDelta::FromMilliseconds(3); |
+ timing.parse_timing |
+ ->parse_blocked_on_script_execution_from_document_write_duration = |
+ base::TimeDelta::FromMilliseconds(3); |
PopulateRequiredTimingFields(&timing); |
page_load_metrics::mojom::PageLoadMetadata metadata; |
metadata.behavior_flags |= |
blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock; |
- NavigateAndCommit(GURL("https://www.google.com")); |
+ NavigateAndCommit(GURL("https://www.google.com/")); |
SimulateTimingAndMetadataUpdate(timing, metadata); |
histogram_tester().ExpectTotalCount(internal::kHistogramDocWriteBlockCount, |
@@ -100,7 +113,17 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlock) { |
internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, |
contentful_paint.InMilliseconds(), 1); |
- NavigateAndCommit(GURL("https://www.example.com")); |
+ const ukm::UkmSource* source = |
+ ukm_tester().GetSourceForUrl("https://www.google.com/"); |
+ EXPECT_TRUE(ukm_tester().HasEntry(*source, internal::kUkmDocWriteBlockName)); |
+ ukm_tester().ExpectMetric(*source, internal::kUkmDocWriteBlockName, |
+ internal::kUkmParseBlockedOnScriptLoadDocumentWrite, |
+ 5); |
+ ukm_tester().ExpectMetric( |
+ *source, internal::kUkmDocWriteBlockName, |
+ internal::kUkmParseBlockedOnScriptExecutionDocumentWrite, 3); |
+ |
+ NavigateAndCommit(GURL("https://www.example.com/")); |
histogram_tester().ExpectTotalCount( |
internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1); |
@@ -121,14 +144,14 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlockReload) { |
page_load_metrics::mojom::PageLoadMetadata metadata; |
metadata.behavior_flags |= blink::WebLoadingBehaviorFlag:: |
kWebLoadingBehaviorDocumentWriteBlockReload; |
- NavigateAndCommit(GURL("https://www.google.com")); |
+ NavigateAndCommit(GURL("https://www.google.com/")); |
SimulateTimingAndMetadataUpdate(timing, metadata); |
histogram_tester().ExpectTotalCount( |
internal::kHistogramDocWriteBlockReloadCount, 1); |
// Another reload. |
- NavigateAndCommit(GURL("https://www.example.com")); |
+ NavigateAndCommit(GURL("https://www.example.com/")); |
SimulateTimingAndMetadataUpdate(timing, metadata); |
histogram_tester().ExpectTotalCount( |
@@ -143,6 +166,8 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlockReload) { |
histogram_tester().ExpectTotalCount(internal::kHistogramDocWriteBlockCount, |
0); |
+ |
+ EXPECT_EQ(0ul, ukm_tester().entries_count()); |
} |
TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossibleBlock) { |
@@ -154,9 +179,9 @@ TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossibleBlock) { |
PopulateRequiredTimingFields(&timing); |
page_load_metrics::mojom::PageLoadMetadata metadata; |
- NavigateAndCommit(GURL("https://www.google.com")); |
+ NavigateAndCommit(GURL("https://www.google.com/")); |
SimulateTimingAndMetadataUpdate(timing, metadata); |
- NavigateAndCommit(GURL("https://www.example.com")); |
+ NavigateAndCommit(GURL("https://www.example.com/")); |
AssertNoBlockHistogramsLogged(); |
} |