Commit 95730194 authored by Matt Menke's avatar Matt Menke Committed by Commit Bot

Make prerender code use two argument ResponseHeader manipulation calls

We want to get rid of the single argument AddHeader() method as the two
argument AddHeader() and SetHeader() methods are safer and more flexible.

Bug: 1068194
Change-Id: I378a1d1252d29b53cc5f49cc8d54eb29e126fed1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2149630
Commit-Queue: Robert Ogden <robertogden@chromium.org>
Auto-Submit: Matt Menke <mmenke@chromium.org>
Reviewed-by: default avatarRobert Ogden <robertogden@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759013}
parent 85c64608
...@@ -208,10 +208,11 @@ class IsolatedPrerenderTabHelperTest : public ChromeRenderViewHostTestHarness { ...@@ -208,10 +208,11 @@ class IsolatedPrerenderTabHelperTest : public ChromeRenderViewHostTestHarness {
return std::string(); return std::string();
} }
void MakeResponseAndWait(net::HttpStatusCode http_status, void MakeResponseAndWait(
net::HttpStatusCode http_status,
net::Error net_error, net::Error net_error,
const std::string& mime_type, const std::string& mime_type,
std::vector<std::string> headers, std::vector<std::pair<std::string, std::string>> headers,
const std::string& body) { const std::string& body) {
network::TestURLLoaderFactory::PendingRequest* request = network::TestURLLoaderFactory::PendingRequest* request =
test_url_loader_factory_.GetPendingRequest(0); test_url_loader_factory_.GetPendingRequest(0);
...@@ -230,8 +231,8 @@ class IsolatedPrerenderTabHelperTest : public ChromeRenderViewHostTestHarness { ...@@ -230,8 +231,8 @@ class IsolatedPrerenderTabHelperTest : public ChromeRenderViewHostTestHarness {
base::TimeDelta::FromMilliseconds(kConnectTimeDuration); base::TimeDelta::FromMilliseconds(kConnectTimeDuration);
head->mime_type = mime_type; head->mime_type = mime_type;
for (const std::string& header : headers) { for (const auto& header : headers) {
head->headers->AddHeader(header); head->headers->AddHeader(header.first, header.second);
} }
network::URLLoaderCompletionStatus status(net_error); network::URLLoaderCompletionStatus status(net_error);
test_url_loader_factory_.AddResponse(request->request.url, std::move(head), test_url_loader_factory_.AddResponse(request->request.url, std::move(head),
...@@ -733,7 +734,7 @@ TEST_F(IsolatedPrerenderTabHelperTest, SuccessCase) { ...@@ -733,7 +734,7 @@ TEST_F(IsolatedPrerenderTabHelperTest, SuccessCase) {
network::ResourceRequest request = VerifyCommonRequestState(prediction_url); network::ResourceRequest request = VerifyCommonRequestState(prediction_url);
MakeResponseAndWait(net::HTTP_OK, net::OK, kHTMLMimeType, MakeResponseAndWait(net::HTTP_OK, net::OK, kHTMLMimeType,
{"X-Testing: Hello World"}, kHTMLBody); {{"X-Testing", "Hello World"}}, kHTMLBody);
std::unique_ptr<PrefetchedMainframeResponseContainer> resp = std::unique_ptr<PrefetchedMainframeResponseContainer> resp =
tab_helper()->TakePrefetchResponse(prediction_url); tab_helper()->TakePrefetchResponse(prediction_url);
...@@ -1165,9 +1166,10 @@ class IsolatedPrerenderTabHelperRedirectTest ...@@ -1165,9 +1166,10 @@ class IsolatedPrerenderTabHelperRedirectTest
ClearResponses(); ClearResponses();
} }
void MakeFinalResponse(const GURL& final_url, void MakeFinalResponse(
const GURL& final_url,
net::HttpStatusCode final_status, net::HttpStatusCode final_status,
std::vector<std::string> final_headers, std::vector<std::pair<std::string, std::string>> final_headers,
const std::string& final_body) { const std::string& final_body) {
auto final_head = network::CreateURLResponseHead(final_status); auto final_head = network::CreateURLResponseHead(final_status);
...@@ -1184,8 +1186,8 @@ class IsolatedPrerenderTabHelperRedirectTest ...@@ -1184,8 +1186,8 @@ class IsolatedPrerenderTabHelperRedirectTest
final_head->mime_type = kHTMLMimeType; final_head->mime_type = kHTMLMimeType;
for (const std::string& header : final_headers) { for (const auto& header : final_headers) {
final_head->headers->AddHeader(header); final_head->headers->AddHeader(header.first, header.second);
} }
network::TestURLLoaderFactory::PendingRequest* request = network::TestURLLoaderFactory::PendingRequest* request =
test_url_loader_factory_.GetPendingRequest(0); test_url_loader_factory_.GetPendingRequest(0);
...@@ -1279,7 +1281,7 @@ TEST_F(IsolatedPrerenderTabHelperRedirectTest, SuccessfulRedirect) { ...@@ -1279,7 +1281,7 @@ TEST_F(IsolatedPrerenderTabHelperRedirectTest, SuccessfulRedirect) {
VerifyCommonRequestState(prediction_url); VerifyCommonRequestState(prediction_url);
WalkRedirectChainUntilFinalRequest({prediction_url, redirect_url}); WalkRedirectChainUntilFinalRequest({prediction_url, redirect_url});
MakeFinalResponse(redirect_url, net::HTTP_OK, {"X-Testing: Hello World"}, MakeFinalResponse(redirect_url, net::HTTP_OK, {{"X-Testing", "Hello World"}},
kHTMLBody); kHTMLBody);
std::unique_ptr<PrefetchedMainframeResponseContainer> resp = std::unique_ptr<PrefetchedMainframeResponseContainer> resp =
......
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