Commit 0700c677 authored by Takashi Toyoshima's avatar Takashi Toyoshima Committed by Commit Bot

OOR-CORS: Define more CORS related header names and use them

Bug: 803766
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Idf30c00040eb3196902a4a611e2b51b00e995ca9
Reviewed-on: https://chromium-review.googlesource.com/996735
Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548742}
parent bc916f13
...@@ -174,12 +174,14 @@ class PreflightController::PreflightLoader final { ...@@ -174,12 +174,14 @@ class PreflightController::PreflightLoader final {
// CORS::EnsurePreflightResultAndCacheOnSuccess() in Blink. // CORS::EnsurePreflightResultAndCacheOnSuccess() in Blink.
if (!error) { if (!error) {
// TODO(toyoshim): Define header names in public/cpp/cors/cors.h.
result_ = PreflightResult::Create( result_ = PreflightResult::Create(
credentials_mode_, credentials_mode_,
GetHeaderString(head.headers, "Access-Control-Allow-Methods"), GetHeaderString(head.headers,
GetHeaderString(head.headers, "Access-Control-Allow-Headers"), header_names::kAccessControlAllowMethods),
GetHeaderString(head.headers, "Access-Control-Max-Age"), &error); GetHeaderString(head.headers,
header_names::kAccessControlAllowHeaders),
GetHeaderString(head.headers, header_names::kAccessControlMaxAge),
&error);
} }
if (!error) { if (!error) {
......
...@@ -33,7 +33,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, LexicographicalOrder) { ...@@ -33,7 +33,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, LexicographicalOrder) {
request.headers.SetHeader("Orange", "Orange"); request.headers.SetHeader("Orange", "Orange");
request.headers.SetHeader("Apple", "Red"); request.headers.SetHeader("Apple", "Red");
request.headers.SetHeader("Kiwifruit", "Green"); request.headers.SetHeader("Kiwifruit", "Green");
request.headers.SetHeader("Content-Type", "application/octet-stream"); request.headers.SetHeader(net::HttpRequestHeaders::kContentType,
"application/octet-stream");
request.headers.SetHeader("Strawberry", "Red"); request.headers.SetHeader("Strawberry", "Red");
std::unique_ptr<ResourceRequest> preflight = std::unique_ptr<ResourceRequest> preflight =
...@@ -53,7 +54,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, ExcludeSimpleHeaders) { ...@@ -53,7 +54,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, ExcludeSimpleHeaders) {
ResourceRequest request; ResourceRequest request;
request.request_initiator = url::Origin(); request.request_initiator = url::Origin();
request.headers.SetHeader("Accept", "everything"); request.headers.SetHeader("Accept", "everything");
request.headers.SetHeader("Accept-Language", "everything"); request.headers.SetHeader(net::HttpRequestHeaders::kAcceptLanguage,
"everything");
request.headers.SetHeader("Content-Language", "everything"); request.headers.SetHeader("Content-Language", "everything");
request.headers.SetHeader("Save-Data", "on"); request.headers.SetHeader("Save-Data", "on");
...@@ -72,7 +74,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, ...@@ -72,7 +74,8 @@ TEST(PreflightControllerCreatePreflightRequestTest,
ExcludeSimpleContentTypeHeader) { ExcludeSimpleContentTypeHeader) {
ResourceRequest request; ResourceRequest request;
request.request_initiator = url::Origin(); request.request_initiator = url::Origin();
request.headers.SetHeader("Content-Type", "text/plain"); request.headers.SetHeader(net::HttpRequestHeaders::kContentType,
"text/plain");
std::unique_ptr<ResourceRequest> preflight = std::unique_ptr<ResourceRequest> preflight =
PreflightController::CreatePreflightRequestForTesting(request); PreflightController::CreatePreflightRequestForTesting(request);
...@@ -101,7 +104,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, ...@@ -101,7 +104,8 @@ TEST(PreflightControllerCreatePreflightRequestTest,
IncludeNonSimpleContentTypeHeader) { IncludeNonSimpleContentTypeHeader) {
ResourceRequest request; ResourceRequest request;
request.request_initiator = url::Origin(); request.request_initiator = url::Origin();
request.headers.SetHeader("Content-Type", "application/octet-stream"); request.headers.SetHeader(net::HttpRequestHeaders::kContentType,
"application/octet-stream");
std::unique_ptr<ResourceRequest> preflight = std::unique_ptr<ResourceRequest> preflight =
PreflightController::CreatePreflightRequestForTesting(request); PreflightController::CreatePreflightRequestForTesting(request);
...@@ -191,9 +195,9 @@ class PreflightControllerTest : public testing::Test { ...@@ -191,9 +195,9 @@ class PreflightControllerTest : public testing::Test {
url::Origin origin = url::Origin::Create(test_server_.base_url()); url::Origin origin = url::Origin::Create(test_server_.base_url());
response->AddCustomHeader(cors::header_names::kAccessControlAllowOrigin, response->AddCustomHeader(cors::header_names::kAccessControlAllowOrigin,
origin.Serialize()); origin.Serialize());
// TODO(toyoshim): Define header names in public/cpp/cors/cors.h response->AddCustomHeader(header_names::kAccessControlAllowMethods,
response->AddCustomHeader("Access-Control-Allow-Methods", "GET, OPTIONS"); "GET, OPTIONS");
response->AddCustomHeader("Access-Control-Max-Age", "1000"); response->AddCustomHeader(header_names::kAccessControlMaxAge, "1000");
response->AddCustomHeader(net::HttpRequestHeaders::kCacheControl, response->AddCustomHeader(net::HttpRequestHeaders::kCacheControl,
"no-store"); "no-store");
} }
......
...@@ -63,7 +63,10 @@ namespace header_names { ...@@ -63,7 +63,10 @@ namespace header_names {
const char kAccessControlAllowCredentials[] = const char kAccessControlAllowCredentials[] =
"Access-Control-Allow-Credentials"; "Access-Control-Allow-Credentials";
const char kAccessControlAllowHeaders[] = "Access-Control-Allow-Headers";
const char kAccessControlAllowMethods[] = "Access-Control-Allow-Methods";
const char kAccessControlAllowOrigin[] = "Access-Control-Allow-Origin"; const char kAccessControlAllowOrigin[] = "Access-Control-Allow-Origin";
const char kAccessControlMaxAge[] = "Access-Control-Max-Age";
const char kAccessControlRequestExternal[] = "Access-Control-Request-External"; const char kAccessControlRequestExternal[] = "Access-Control-Request-External";
const char kAccessControlRequestHeaders[] = "Access-Control-Request-Headers"; const char kAccessControlRequestHeaders[] = "Access-Control-Request-Headers";
const char kAccessControlRequestMethod[] = "Access-Control-Request-Method"; const char kAccessControlRequestMethod[] = "Access-Control-Request-Method";
......
...@@ -26,8 +26,14 @@ namespace header_names { ...@@ -26,8 +26,14 @@ namespace header_names {
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowCredentials[]; extern const char kAccessControlAllowCredentials[];
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowHeaders[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowMethods[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowOrigin[]; extern const char kAccessControlAllowOrigin[];
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlMaxAge[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlRequestExternal[]; extern const char kAccessControlRequestExternal[];
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlRequestHeaders[]; extern const char kAccessControlRequestHeaders[];
......
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