| 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";
|
|
|