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

Unified Diff: chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc

Issue 2363913003: Add FMP to DataReductionProxy UMA and to Pingback Metrics (Closed)
Patch Set: rebase Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc
diff --git a/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc
index a493154bc861225c79ec650ff9af20d4b3847ebf..de36521e5479a6dbbee8e5fad2e760099b138620 100644
--- a/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc
@@ -128,20 +128,22 @@ class DataReductionProxyMetricsObserverTest
: pingback_client_(new TestPingbackClient()),
data_reduction_proxy_used_(false),
is_using_lofi_(false) {}
void ResetTest() {
// Reset to the default testing state. Does not reset histogram state.
timing_.navigation_start = base::Time::FromDoubleT(1);
timing_.response_start = base::TimeDelta::FromSeconds(2);
timing_.parse_start = base::TimeDelta::FromSeconds(3);
timing_.first_contentful_paint = base::TimeDelta::FromSeconds(4);
+ timing_.first_paint = base::TimeDelta::FromSeconds(4);
+ timing_.first_meaningful_paint = base::TimeDelta::FromSeconds(8);
timing_.first_image_paint = base::TimeDelta::FromSeconds(5);
timing_.first_text_paint = base::TimeDelta::FromSeconds(6);
timing_.load_event_start = base::TimeDelta::FromSeconds(7);
timing_.parse_stop = base::TimeDelta::FromSeconds(4);
timing_.parse_blocked_on_script_load_duration =
base::TimeDelta::FromSeconds(1);
PopulateRequiredTimingFields(&timing_);
}
void RunTest(bool data_reduction_proxy_used, bool is_using_lofi) {
@@ -167,38 +169,43 @@ class DataReductionProxyMetricsObserverTest
EXPECT_TRUE(!actual);
}
}
void ValidateTimes() {
EXPECT_TRUE(pingback_client_->send_pingback_called());
EXPECT_EQ(timing_.navigation_start,
pingback_client_->timing()->navigation_start);
ExpectEqualOrUnset(timing_.first_contentful_paint,
pingback_client_->timing()->first_contentful_paint);
+ ExpectEqualOrUnset(
+ timing_.first_meaningful_paint,
+ pingback_client_->timing()->experimental_first_meaningful_paint);
ExpectEqualOrUnset(timing_.response_start,
pingback_client_->timing()->response_start);
ExpectEqualOrUnset(timing_.load_event_start,
pingback_client_->timing()->load_event_start);
ExpectEqualOrUnset(timing_.first_image_paint,
pingback_client_->timing()->first_image_paint);
}
void ValidateHistograms() {
ValidateHistogramsForSuffix(
internal::kHistogramDOMContentLoadedEventFiredSuffix,
timing_.dom_content_loaded_event_start);
ValidateHistogramsForSuffix(internal::kHistogramFirstLayoutSuffix,
timing_.first_layout);
ValidateHistogramsForSuffix(internal::kHistogramLoadEventFiredSuffix,
timing_.load_event_start);
ValidateHistogramsForSuffix(internal::kHistogramFirstContentfulPaintSuffix,
timing_.first_contentful_paint);
+ ValidateHistogramsForSuffix(internal::kHistogramFirstMeaningfulPaintSuffix,
+ timing_.first_meaningful_paint);
ValidateHistogramsForSuffix(internal::kHistogramFirstImagePaintSuffix,
timing_.first_image_paint);
ValidateHistogramsForSuffix(internal::kHistogramFirstPaintSuffix,
timing_.first_paint);
ValidateHistogramsForSuffix(internal::kHistogramFirstTextPaintSuffix,
timing_.first_text_paint);
ValidateHistogramsForSuffix(internal::kHistogramParseStartSuffix,
timing_.parse_start);
ValidateHistogramsForSuffix(
internal::kHistogramParseBlockedOnScriptLoadSuffix,
@@ -291,20 +298,27 @@ TEST_F(DataReductionProxyMetricsObserverTest, OnCompletePingback) {
ValidateTimes();
ResetTest();
// Verify that when data reduction proxy was used but first contentful paint
// is unset, SendPingback is not called.
timing_.first_contentful_paint = base::nullopt;
RunTest(true, false);
ValidateTimes();
ResetTest();
+ // Verify that when data reduction proxy was used but first meaningful paint
+ // is unset, SendPingback is not called.
+ timing_.first_meaningful_paint = base::nullopt;
+ RunTest(true, false);
+ ValidateTimes();
+
+ ResetTest();
// Verify that when data reduction proxy was used but load event start is
// unset, SendPingback is not called.
timing_.load_event_start = base::nullopt;
RunTest(true, false);
ValidateTimes();
ResetTest();
// Verify that when data reduction proxy was not used, SendPingback is not
// called.
RunTest(false, false);

Powered by Google App Engine
This is Rietveld 408576698