Index: components/subresource_filter/content/browser/content_subresource_filter_driver_factory_unittest.cc |
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory_unittest.cc b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory_unittest.cc |
index 0109d4fc1f1dcc9f8fe254c426ad0cbb73989521..3520408cdeaa4b5e1f1770685b02a1e9b9d84967 100644 |
--- a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory_unittest.cc |
+++ b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory_unittest.cc |
@@ -28,15 +28,17 @@ namespace { |
const char kExampleUrlWithParams[] = "https://example.com/soceng?q=engsoc"; |
const char kExampleUrl[] = "https://example.com"; |
const char kExampleLoginUrl[] = "https://example.com/login"; |
-const char kMatchesPatternHistogramName[] = |
- "SubresourceFilter.PageLoad.RedirectChainMatchPattern"; |
-const char kNavigationChainSize[] = |
- "SubresourceFilter.PageLoad.RedirectChainLength"; |
const char kUrlA[] = "https://example_a.com"; |
const char kUrlB[] = "https://example_b.com"; |
const char kUrlC[] = "https://example_c.com"; |
const char kUrlD[] = "https://example_d.com"; |
+const char kMatchesPatternHistogramName[] = |
+ "SubresourceFilter.PageLoad.RedirectChainMatchPattern"; |
+const char kNavigationChainSize[] = |
+ "SubresourceFilter.PageLoad.RedirectChainLength"; |
+const char kSubresourceFilterSuffix[] = ".SubresourceFilter"; |
+ |
// Human readable representation of expected redirect chain match patterns. |
// The explanations for the buckets given for the following redirect chain: |
// A->B->C->D, where A is initial URL and D is a final URL. |
@@ -214,6 +216,7 @@ class ContentSubresourceFilterDriverFactoryTest |
const content::Referrer& referrer, |
ui::PageTransition transition, |
RedirectChainMatchPattern expected_pattern, |
+ const std::string histogram_suffix, |
bool expected_activation) { |
base::HistogramTester tester; |
EXPECT_CALL(*client(), ToggleNotificationVisibility(false)).Times(1); |
@@ -252,16 +255,18 @@ class ContentSubresourceFilterDriverFactoryTest |
::testing::Mock::VerifyAndClearExpectations(driver()); |
if (expected_pattern != EMPTY) { |
- EXPECT_THAT(tester.GetAllSamples(kMatchesPatternHistogramName), |
- ::testing::ElementsAre(base::Bucket(expected_pattern, 1))); |
EXPECT_THAT( |
- tester.GetAllSamples(kNavigationChainSize), |
+ tester.GetAllSamples(kMatchesPatternHistogramName + histogram_suffix), |
+ ::testing::ElementsAre(base::Bucket(expected_pattern, 1))); |
+ EXPECT_THAT( |
+ tester.GetAllSamples(kNavigationChainSize + histogram_suffix), |
::testing::ElementsAre(base::Bucket(navigation_chain.size(), 1))); |
} else { |
- EXPECT_THAT(tester.GetAllSamples(kMatchesPatternHistogramName), |
- ::testing::IsEmpty()); |
- EXPECT_THAT(tester.GetAllSamples(kNavigationChainSize), |
+ EXPECT_THAT( |
+ tester.GetAllSamples(kMatchesPatternHistogramName + histogram_suffix), |
+ ::testing::IsEmpty()); |
+ EXPECT_THAT(tester.GetAllSamples(kNavigationChainSize + histogram_suffix), |
::testing::IsEmpty()); |
} |
} |
@@ -287,11 +292,12 @@ class ContentSubresourceFilterDriverFactoryTest |
const content::Referrer& referrer, |
ui::PageTransition transition, |
RedirectChainMatchPattern expected_pattern, |
+ const std::string& histogram_suffix, |
bool expected_activation) { |
BlacklistURLWithRedirectsNavigateAndCommit( |
blacklisted_urls, navigation_chain, threat_type, threat_type_metadata, |
- referrer, transition, expected_pattern, expected_activation); |
- |
+ referrer, transition, expected_pattern, histogram_suffix, |
+ expected_activation); |
NavigateAndCommitSubframe(GURL(kExampleLoginUrl), expected_activation); |
} |
@@ -304,7 +310,7 @@ class ContentSubresourceFilterDriverFactoryTest |
safe_browsing::SB_THREAT_TYPE_URL_PHISHING, |
safe_browsing::ThreatPatternType::SOCIAL_ENGINEERING_ADS, |
content::Referrer(), ui::PAGE_TRANSITION_LINK, expected_pattern, |
- expected_activation); |
+ std::string(), expected_activation); |
} |
void EmulateDidDisallowFirstSubresourceMessage() { |
@@ -469,7 +475,6 @@ TEST_F(ContentSubresourceFilterDriverFactoryTest, RedirectPatternTest) { |
{{false, true}, {GURL(kUrlA), GURL(kUrlB)}, F0M0L1, true}, |
{{true, false}, {GURL(kUrlA), GURL(kUrlB)}, F1M0L0, false}, |
{{true, true}, {GURL(kUrlA), GURL(kUrlB)}, F1M0L1, true}, |
- |
{{false, false, false}, |
{GURL(kUrlA), GURL(kUrlB), GURL(kUrlC)}, |
EMPTY, |
@@ -516,9 +521,15 @@ TEST_F(ContentSubresourceFilterDriverFactoryTest, RedirectPatternTest) { |
safe_browsing::SB_THREAT_TYPE_URL_PHISHING, |
safe_browsing::ThreatPatternType::SOCIAL_ENGINEERING_ADS, |
content::Referrer(), ui::PAGE_TRANSITION_LINK, |
- test_data.hit_expected_pattern, test_data.expected_activation); |
+ test_data.hit_expected_pattern, std::string(), |
+ test_data.expected_activation); |
NavigateAndExpectActivation({false}, {GURL("https://dummy.com")}, EMPTY, |
false); |
+ NavigateAndExpectActivation( |
+ test_data.blacklisted_urls, test_data.navigation_chain, |
+ safe_browsing::SB_THREAT_TYPE_SUBRESOURCE_FILTER, |
+ safe_browsing::ThreatPatternType::NONE, test_data.hit_expected_pattern, |
+ kSubresourceFilterSuffix, false); |
} |
} |
@@ -629,7 +640,7 @@ TEST_P(ContentSubresourceFilterDriverFactoryThreatTypeTest, |
{GURL(kUrlA), GURL(kUrlB), GURL(kUrlC), test_url}, test_data.threat_type, |
test_data.threat_type_metadata, content::Referrer(), |
ui::PAGE_TRANSITION_LINK, test_data.expected_activation ? F0M0L1 : EMPTY, |
- test_data.expected_activation); |
+ std::string(), test_data.expected_activation); |
}; |
TEST_P(ContentSubresourceFilterDriverFactoryActivationScopeTest, |