Index: components/subresource_filter/content/browser/subframe_navigation_filtering_throttle_unittest.cc |
diff --git a/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle_unittest.cc b/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle_unittest.cc |
index 89c4320932106844d3c0e0e5f00eb556c979c5f1..9971215160c6a0f1348db39eef91c2b73448abc5 100644 |
--- a/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle_unittest.cc |
+++ b/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle_unittest.cc |
@@ -19,6 +19,7 @@ |
#include "components/subresource_filter/core/common/test_ruleset_creator.h" |
#include "content/public/browser/navigation_handle.h" |
#include "content/public/browser/web_contents_observer.h" |
+#include "content/public/common/browser_side_navigation_policy.h" |
#include "content/public/test/navigation_simulator.h" |
#include "content/public/test/test_renderer_host.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -46,6 +47,10 @@ class SubframeNavigationFilteringThrottleTest |
content::RenderViewHostTestHarness::TearDown(); |
} |
+ content::NavigationSimulator* navigation_simulator() { |
+ return navigation_simulator_.get(); |
+ } |
+ |
// content::WebContentsObserver: |
void DidStartNavigation( |
content::NavigationHandle* navigation_handle) override { |
@@ -120,6 +125,11 @@ class SubframeNavigationFilteringThrottleTest |
navigation_simulator_->GetLastThrottleCheckResult()); |
} |
+ void SimulateCommitErrorPage() { |
+ DCHECK(content::IsBrowserSideNavigationEnabled()); |
+ navigation_simulator_->CommitErrorPage(); |
+ } |
+ |
private: |
testing::TestRulesetCreator test_ruleset_creator_; |
testing::TestRulesetPair test_ruleset_pair_; |
@@ -138,7 +148,8 @@ TEST_F(SubframeNavigationFilteringThrottleTest, FilterOnStart) { |
InitializeDocumentSubresourceFilter(GURL("https://example.test")); |
CreateTestSubframeAndInitNavigation( |
GURL("https://example.test/disallowed.html"), main_rfh()); |
- SimulateStartAndExpectResult(content::NavigationThrottle::CANCEL); |
+ SimulateStartAndExpectResult( |
+ content::NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE); |
} |
TEST_F(SubframeNavigationFilteringThrottleTest, FilterOnRedirect) { |
@@ -147,8 +158,12 @@ TEST_F(SubframeNavigationFilteringThrottleTest, FilterOnRedirect) { |
main_rfh()); |
SimulateStartAndExpectResult(content::NavigationThrottle::PROCEED); |
+ content::NavigationThrottle::ThrottleCheckResult expected_result = |
+ content::IsBrowserSideNavigationEnabled() |
+ ? content::NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE |
+ : content::NavigationThrottle::CANCEL; |
SimulateRedirectAndExpectResult(GURL("https://example.test/disallowed.html"), |
- content::NavigationThrottle::CANCEL); |
+ expected_result); |
} |
TEST_F(SubframeNavigationFilteringThrottleTest, FilterOnSecondRedirect) { |
@@ -159,8 +174,12 @@ TEST_F(SubframeNavigationFilteringThrottleTest, FilterOnSecondRedirect) { |
SimulateStartAndExpectResult(content::NavigationThrottle::PROCEED); |
SimulateRedirectAndExpectResult(GURL("https://example.test/allowed2.html"), |
content::NavigationThrottle::PROCEED); |
+ content::NavigationThrottle::ThrottleCheckResult expected_result = |
+ content::IsBrowserSideNavigationEnabled() |
+ ? content::NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE |
+ : content::NavigationThrottle::CANCEL; |
SimulateRedirectAndExpectResult(GURL("https://example.test/disallowed.html"), |
- content::NavigationThrottle::CANCEL); |
+ expected_result); |
} |
TEST_F(SubframeNavigationFilteringThrottleTest, NeverFilterNonMatchingRule) { |
@@ -188,7 +207,8 @@ TEST_F(SubframeNavigationFilteringThrottleTest, FilterSubsubframe) { |
CreateTestSubframeAndInitNavigation( |
GURL("https://example.test/disallowed.html"), parent_subframe); |
- SimulateStartAndExpectResult(content::NavigationThrottle::CANCEL); |
+ SimulateStartAndExpectResult( |
+ content::NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE); |
} |
TEST_F(SubframeNavigationFilteringThrottleTest, DelayMetrics) { |
@@ -196,10 +216,17 @@ TEST_F(SubframeNavigationFilteringThrottleTest, DelayMetrics) { |
InitializeDocumentSubresourceFilter(GURL("https://example.test")); |
CreateTestSubframeAndInitNavigation(GURL("https://example.test/allowed.html"), |
main_rfh()); |
- |
+ if (content::IsBrowserSideNavigationEnabled()) |
+ navigation_simulator()->SetTransition(ui::PAGE_TRANSITION_MANUAL_SUBFRAME); |
SimulateStartAndExpectResult(content::NavigationThrottle::PROCEED); |
+ content::NavigationThrottle::ThrottleCheckResult expected_result = |
+ content::IsBrowserSideNavigationEnabled() |
+ ? content::NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE |
+ : content::NavigationThrottle::CANCEL; |
SimulateRedirectAndExpectResult(GURL("https://example.test/disallowed.html"), |
- content::NavigationThrottle::CANCEL); |
+ expected_result); |
+ if (content::IsBrowserSideNavigationEnabled()) |
+ SimulateCommitErrorPage(); |
const char kFilterDelayDisallowed[] = |
"SubresourceFilter.DocumentLoad.SubframeFilteringDelay.Disallowed"; |