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 {
// CORS::EnsurePreflightResultAndCacheOnSuccess() in Blink.
if (!error) {
// TODO(toyoshim): Define header names in public/cpp/cors/cors.h.
result_ = PreflightResult::Create(
credentials_mode_,
GetHeaderString(head.headers, "Access-Control-Allow-Methods"),
GetHeaderString(head.headers, "Access-Control-Allow-Headers"),
GetHeaderString(head.headers, "Access-Control-Max-Age"), &error);
GetHeaderString(head.headers,
header_names::kAccessControlAllowMethods),
GetHeaderString(head.headers,
header_names::kAccessControlAllowHeaders),
GetHeaderString(head.headers, header_names::kAccessControlMaxAge),
&error);
}
if (!error) {
......
......@@ -33,7 +33,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, LexicographicalOrder) {
request.headers.SetHeader("Orange", "Orange");
request.headers.SetHeader("Apple", "Red");
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");
std::unique_ptr<ResourceRequest> preflight =
......@@ -53,7 +54,8 @@ TEST(PreflightControllerCreatePreflightRequestTest, ExcludeSimpleHeaders) {
ResourceRequest request;
request.request_initiator = url::Origin();
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("Save-Data", "on");
......@@ -72,7 +74,8 @@ TEST(PreflightControllerCreatePreflightRequestTest,
ExcludeSimpleContentTypeHeader) {
ResourceRequest request;
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 =
PreflightController::CreatePreflightRequestForTesting(request);
......@@ -101,7 +104,8 @@ TEST(PreflightControllerCreatePreflightRequestTest,
IncludeNonSimpleContentTypeHeader) {
ResourceRequest request;
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 =
PreflightController::CreatePreflightRequestForTesting(request);
......@@ -191,9 +195,9 @@ class PreflightControllerTest : public testing::Test {
url::Origin origin = url::Origin::Create(test_server_.base_url());
response->AddCustomHeader(cors::header_names::kAccessControlAllowOrigin,
origin.Serialize());
// TODO(toyoshim): Define header names in public/cpp/cors/cors.h
response->AddCustomHeader("Access-Control-Allow-Methods", "GET, OPTIONS");
response->AddCustomHeader("Access-Control-Max-Age", "1000");
response->AddCustomHeader(header_names::kAccessControlAllowMethods,
"GET, OPTIONS");
response->AddCustomHeader(header_names::kAccessControlMaxAge, "1000");
response->AddCustomHeader(net::HttpRequestHeaders::kCacheControl,
"no-store");
}
......
......@@ -63,7 +63,10 @@ namespace header_names {
const char kAccessControlAllowCredentials[] =
"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 kAccessControlMaxAge[] = "Access-Control-Max-Age";
const char kAccessControlRequestExternal[] = "Access-Control-Request-External";
const char kAccessControlRequestHeaders[] = "Access-Control-Request-Headers";
const char kAccessControlRequestMethod[] = "Access-Control-Request-Method";
......
......@@ -26,8 +26,14 @@ namespace header_names {
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowCredentials[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowHeaders[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowMethods[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlAllowOrigin[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlMaxAge[];
COMPONENT_EXPORT(NETWORK_CPP)
extern const char kAccessControlRequestExternal[];
COMPONENT_EXPORT(NETWORK_CPP)
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