| Index: components/subresource_filter/content/browser/activation_state_computing_navigation_throttle_unittest.cc
|
| diff --git a/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle_unittest.cc b/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle_unittest.cc
|
| index 4be0506e0e0445da1410d2316d73cc1cfb0c33d3..24f394ccfb53a5b9d728f89230c086c8409e8c7d 100644
|
| --- a/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle_unittest.cc
|
| +++ b/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle_unittest.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/memory/ptr_util.h"
|
| #include "base/optional.h"
|
| #include "base/run_loop.h"
|
| +#include "base/test/histogram_tester.h"
|
| #include "base/test/test_simple_task_runner.h"
|
| #include "components/subresource_filter/content/browser/async_document_subresource_filter.h"
|
| #include "components/subresource_filter/content/browser/async_document_subresource_filter_test_utils.h"
|
| @@ -413,4 +414,39 @@ TEST_F(ActivationStateComputingThrottleSubFrameTest, DisabledStatePropagated2) {
|
| EXPECT_TRUE(state.generic_blocking_rules_disabled);
|
| }
|
|
|
| +TEST_F(ActivationStateComputingThrottleSubFrameTest, DelayMetrics) {
|
| + base::HistogramTester histogram_tester;
|
| + NavigateAndCommitMainFrameWithPageActivationState(
|
| + GURL("http://example.test/"), ActivationState(ActivationLevel::ENABLED));
|
| + ActivationState state = last_activation_state();
|
| + EXPECT_EQ(ActivationLevel::ENABLED, state.activation_level);
|
| + EXPECT_FALSE(state.filtering_disabled_for_document);
|
| +
|
| + const char kActivationDelay[] =
|
| + "SubresourceFilter.DocumentLoad.ActivationComputingDelay";
|
| + const char kActivationDelayMainFrame[] =
|
| + "SubresourceFilter.DocumentLoad.ActivationComputingDelay.MainFrame";
|
| + histogram_tester.ExpectTotalCount(kActivationDelay, 1);
|
| + histogram_tester.ExpectTotalCount(kActivationDelayMainFrame, 1);
|
| +
|
| + // Subframe activation should not log main frame metrics.
|
| + CreateSubframeAndInitTestNavigation(GURL("http://example.test/"),
|
| + last_committed_frame_host(),
|
| + last_activation_state());
|
| + SimulateStartAndExpectToProceed();
|
| + SimulateCommitAndExpectToProceed();
|
| + histogram_tester.ExpectTotalCount(kActivationDelay, 2);
|
| + histogram_tester.ExpectTotalCount(kActivationDelayMainFrame, 1);
|
| +
|
| + // No page activation should imply no delay.
|
| + CreateTestNavigationForMainFrame(GURL("http://example.test2/"));
|
| + SimulateStartAndExpectToProceed();
|
| + SimulateCommitAndExpectToProceed();
|
| +
|
| + state = last_activation_state();
|
| + EXPECT_EQ(ActivationLevel::DISABLED, state.activation_level);
|
| + histogram_tester.ExpectTotalCount(kActivationDelay, 2);
|
| + histogram_tester.ExpectTotalCount(kActivationDelayMainFrame, 1);
|
| +}
|
| +
|
| } // namespace subresource_filter
|
|
|