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

Unified Diff: chrome/browser/subresource_filter/subresource_filter_browsertest.cc

Issue 2772393002: [subresource_filter] Add domains to content settings whitelist (Closed)
Patch Set: fix join string rebase Created 3 years, 9 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/subresource_filter/subresource_filter_browsertest.cc
diff --git a/chrome/browser/subresource_filter/subresource_filter_browsertest.cc b/chrome/browser/subresource_filter/subresource_filter_browsertest.cc
index 93f7d85684981b65917f11dd072f40b843395e38..5537f57d2ce7e1aa52002f1f516c76d2e8b8ee28 100644
--- a/chrome/browser/subresource_filter/subresource_filter_browsertest.cc
+++ b/chrome/browser/subresource_filter/subresource_filter_browsertest.cc
@@ -213,7 +213,8 @@ class SubresourceFilterBrowserTestImpl : public InProcessBrowserTest {
switches::kEnableFeatures,
base::JoinString(
{kSafeBrowsingSubresourceFilter.name, "SafeBrowsingV4OnlyEnabled",
- kSubresourceFilterSafeBrowsingActivationThrottle.name},
+ kSubresourceFilterSafeBrowsingActivationThrottle.name,
+ kSafeBrowsingSubresourceFilterExperimentalUI.name},
","));
}
@@ -872,6 +873,63 @@ IN_PROC_BROWSER_TEST_F(SubresourceFilterBrowserTest,
EXPECT_TRUE(WasParsedScriptElementLoaded(web_contents()->GetMainFrame()));
}
+IN_PROC_BROWSER_TEST_F(SubresourceFilterBrowserTest,
+ ContentSettingsWhitelistViaReload_DoNotActivate) {
+ ASSERT_NO_FATAL_FAILURE(
+ SetRulesetToDisallowURLsWithPathSuffix("included_script.js"));
+ GURL url(GetTestUrl("subresource_filter/frame_with_included_script.html"));
+ ConfigureAsPhishingURL(url);
+
+ ui_test_utils::NavigateToURL(browser(), url);
+ EXPECT_FALSE(WasParsedScriptElementLoaded(web_contents()->GetMainFrame()));
+
+ // Whitelist via a reload.
+ ContentSubresourceFilterDriverFactory* driver_factory =
+ ContentSubresourceFilterDriverFactory::FromWebContents(web_contents());
+ ASSERT_TRUE(driver_factory);
+
+ content::TestNavigationObserver navigation_observer(web_contents(), 1);
+ driver_factory->OnReloadRequested();
+ navigation_observer.Wait();
+
+ EXPECT_TRUE(WasParsedScriptElementLoaded(web_contents()->GetMainFrame()));
+}
+
+IN_PROC_BROWSER_TEST_F(SubresourceFilterBrowserTest,
+ ContentSettingsWhitelistViaReload_WhitelistIsByDomain) {
+ ASSERT_NO_FATAL_FAILURE(
+ SetRulesetToDisallowURLsWithPathSuffix("included_script.js"));
+ GURL url(GetTestUrl("subresource_filter/frame_with_included_script.html"));
+ ConfigureAsPhishingURL(url);
+
+ ui_test_utils::NavigateToURL(browser(), url);
+ EXPECT_FALSE(WasParsedScriptElementLoaded(web_contents()->GetMainFrame()));
+
+ // Whitelist via a reload.
+ ContentSubresourceFilterDriverFactory* driver_factory =
+ ContentSubresourceFilterDriverFactory::FromWebContents(web_contents());
+ ASSERT_TRUE(driver_factory);
+
+ content::TestNavigationObserver navigation_observer(web_contents(), 1);
+ driver_factory->OnReloadRequested();
+ navigation_observer.Wait();
+
+ EXPECT_TRUE(WasParsedScriptElementLoaded(web_contents()->GetMainFrame()));
+
+ // Another navigation to the same domain should be whitelisted too.
+ ui_test_utils::NavigateToURL(
+ browser(),
+ GetTestUrl("subresource_filter/frame_with_included_script.html?query"));
+ EXPECT_TRUE(WasParsedScriptElementLoaded(web_contents()->GetMainFrame()));
+
+ // A cross site blacklisted navigation should stay activated, however.
+ GURL a_url(embedded_test_server()->GetURL(
+ "a.com", "/subresource_filter/frame_with_included_script.html"));
+ ConfigureAsPhishingURL(a_url);
+ ui_test_utils::NavigateToURL(browser(), a_url);
+ EXPECT_FALSE(WasParsedScriptElementLoaded(web_contents()->GetMainFrame()));
+}
+
IN_PROC_BROWSER_TEST_P(SubresourceFilterWebSocketBrowserTest, BlockWebSocket) {
GURL url(GetTestUrl(
base::StringPrintf("subresource_filter/page_with_websocket.html?%s",

Powered by Google App Engine
This is Rietveld 408576698