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

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

Issue 2632633006: Implement NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE. (Closed)
Patch Set: Fix navigation transition type. 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/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";

Powered by Google App Engine
This is Rietveld 408576698