| Index: Source/core/loader/DocumentThreadableLoader.cpp
|
| diff --git a/Source/core/loader/DocumentThreadableLoader.cpp b/Source/core/loader/DocumentThreadableLoader.cpp
|
| index 3cdd83fde895b57f08203a6de78b8e26fdb8ef44..326fa43a50cbddecfeb5bc6e3f36fb9367ce444f 100644
|
| --- a/Source/core/loader/DocumentThreadableLoader.cpp
|
| +++ b/Source/core/loader/DocumentThreadableLoader.cpp
|
| @@ -153,6 +153,10 @@ void DocumentThreadableLoader::makeCrossOriginAccessRequest(const ResourceReques
|
| return;
|
| }
|
|
|
| + // We use isSimpleOrForbiddenRequest() here since |request| may have been
|
| + // modified in the process of loading (not from the user's input). For
|
| + // example, referrer. We need to accept them. For security, we must reject
|
| + // forbidden headers/methods at the point we accept user's input. Not here.
|
| if ((m_options.preflightPolicy == ConsiderPreflight && FetchUtils::isSimpleOrForbiddenRequest(request.httpMethod(), request.httpHeaderFields())) || m_options.preflightPolicy == PreventPreflight) {
|
| ResourceRequest crossOriginRequest(request);
|
| ResourceLoaderOptions crossOriginOptions(m_resourceLoaderOptions);
|
|
|