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

Unified Diff: net/url_request/url_request_unittest.cc

Issue 2917133002: Perform redirect checks before OnReceivedRedirect in //net. (Closed)
Patch Set: nasko comments Created 3 years, 6 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: net/url_request/url_request_unittest.cc
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index fc429bc8531e5a0f931b5f459f52440950d68654..ea3a9d4476760493469bc55b842e01b8fcfc6e79 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -6991,6 +6991,9 @@ TEST_F(URLRequestTestHTTP, RestrictFileRedirects) {
base::RunLoop().Run();
EXPECT_EQ(ERR_UNSAFE_REDIRECT, d.request_status());
+
+ // The redirect should have been rejected before reporting it to the caller.
+ EXPECT_EQ(0, d.received_redirect_count());
}
#endif // !BUILDFLAG(DISABLE_FILE_SUPPORT)
@@ -7005,8 +7008,14 @@ TEST_F(URLRequestTestHTTP, RestrictDataRedirects) {
base::RunLoop().Run();
EXPECT_EQ(ERR_UNSAFE_REDIRECT, d.request_status());
+
+ // The redirect should have been rejected before reporting it to the
+ // caller. See https://crbug.com/723796
+ EXPECT_EQ(0, d.received_redirect_count());
}
+// Test that redirects to invalid URLs are rejected. See
+// https://crbug.com/462272.
TEST_F(URLRequestTestHTTP, RedirectToInvalidURL) {
ASSERT_TRUE(http_test_server()->Start());
@@ -7017,7 +7026,11 @@ TEST_F(URLRequestTestHTTP, RedirectToInvalidURL) {
req->Start();
base::RunLoop().Run();
- EXPECT_EQ(ERR_INVALID_URL, d.request_status());
+ EXPECT_EQ(1, d.response_started_count());
+ EXPECT_EQ(ERR_INVALID_REDIRECT, d.request_status());
+
+ // The redirect should have been rejected before reporting it to the caller.
+ EXPECT_EQ(0, d.received_redirect_count());
}
// Make sure redirects are cached, despite not reading their bodies.
@@ -7141,6 +7154,9 @@ TEST_F(URLRequestTestHTTP, UnsafeRedirectToDifferentUnsafeURL) {
base::RunLoop().Run();
EXPECT_EQ(ERR_UNSAFE_REDIRECT, d.request_status());
+
+ // The redirect should have been rejected before reporting it to the caller.
+ EXPECT_EQ(0, d.received_redirect_count());
}
}

Powered by Google App Engine
This is Rietveld 408576698