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

Unified Diff: components/subresource_filter/content/browser/activation_state_computing_navigation_throttle_unittest.cc

Issue 2861053004: [subresource_filter] Add metrics for all NavigationThrottle delays (Closed)
Patch Set: shivanisha review Created 3 years, 7 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: 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

Powered by Google App Engine
This is Rietveld 408576698