Commit 7be93abd authored by estark's avatar estark Committed by Commit bot

Add a WebURLLoaderImplTest for a redirect response with no security info

This is a belated regression test for https://crbug.com/519120

BUG=523806

Review-Url: https://codereview.chromium.org/2274953003
Cr-Commit-Position: refs/heads/master@{#414493}
parent 04393ae1
...@@ -44,6 +44,7 @@ namespace content { ...@@ -44,6 +44,7 @@ namespace content {
namespace { namespace {
const char kTestURL[] = "http://foo"; const char kTestURL[] = "http://foo";
const char kTestHTTPSURL[] = "https://foo";
const char kTestData[] = "blah!"; const char kTestData[] = "blah!";
const char kFtpDirMimeType[] = "text/vnd.chromium.ftp-dir"; const char kFtpDirMimeType[] = "text/vnd.chromium.ftp-dir";
...@@ -309,6 +310,18 @@ class WebURLLoaderImplTest : public testing::Test { ...@@ -309,6 +310,18 @@ class WebURLLoaderImplTest : public testing::Test {
EXPECT_TRUE(client()->did_receive_redirect()); EXPECT_TRUE(client()->did_receive_redirect());
} }
void DoReceiveHTTPSRedirect() {
EXPECT_FALSE(client()->did_receive_redirect());
net::RedirectInfo redirect_info;
redirect_info.status_code = 302;
redirect_info.new_method = "GET";
redirect_info.new_url = GURL(kTestHTTPSURL);
redirect_info.new_first_party_for_cookies = GURL(kTestHTTPSURL);
peer()->OnReceivedRedirect(redirect_info,
content::ResourceResponseInfo());
EXPECT_TRUE(client()->did_receive_redirect());
}
void DoReceiveResponse() { void DoReceiveResponse() {
EXPECT_FALSE(client()->did_receive_response()); EXPECT_FALSE(client()->did_receive_response());
peer()->OnReceivedResponse(content::ResourceResponseInfo()); peer()->OnReceivedResponse(content::ResourceResponseInfo());
...@@ -389,6 +402,18 @@ TEST_F(WebURLLoaderImplTest, Redirect) { ...@@ -389,6 +402,18 @@ TEST_F(WebURLLoaderImplTest, Redirect) {
EXPECT_EQ(kTestData, client()->received_data()); EXPECT_EQ(kTestData, client()->received_data());
} }
// Tests that a redirect to an HTTPS URL with no security info does not
// crash. Regression test for https://crbug.com/519120
TEST_F(WebURLLoaderImplTest, RedirectToHTTPSWithEmptySecurityInfo) {
DoStartAsyncRequest();
DoReceiveHTTPSRedirect();
DoReceiveResponse();
DoReceiveData();
DoCompleteRequest();
EXPECT_FALSE(dispatcher()->canceled());
EXPECT_EQ(kTestData, client()->received_data());
}
TEST_F(WebURLLoaderImplTest, RedirectCorrectPriority) { TEST_F(WebURLLoaderImplTest, RedirectCorrectPriority) {
DoStartAsyncRequestWithPriority( DoStartAsyncRequestWithPriority(
blink::WebURLRequest::Priority::PriorityVeryHigh); blink::WebURLRequest::Priority::PriorityVeryHigh);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment