Skip to content

Commit bcb2b48

Browse files
youennfwebkit-commit-queue
authored andcommitted
[Fetch API] Pass directly FetchRequest fetch options to ThreadableLoader
https://bugs.webkit.org/show_bug.cgi?id=160407 Patch by Youenn Fablet <youenn@apple.com> on 2016-08-01 Reviewed by Sam Weinig. No change of behavior. Added a ResourceLoaderOptions constructor that takes a FetchOptions as input. Removed setters and getters of ResourceLoaderOptions as it is a struct. Updated member fields accordingly. Updated code accordingly. Removed explicit option setting if it is the same as the default value. * Modules/fetch/FetchLoader.cpp: (WebCore::FetchLoader::start): * css/CSSFontFaceSrcValue.cpp: (WebCore::CSSFontFaceSrcValue::cachedFont): * css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet): * css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage): * dom/ScriptElement.cpp: (WebCore::ScriptElement::requestScript): * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::start): * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): * inspector/InspectorNetworkAgent.cpp: (WebCore::InspectorNetworkAgent::loadResource): * loader/CrossOriginPreflightChecker.cpp: (WebCore::CrossOriginPreflightChecker::validatePreflightResponse): (WebCore::CrossOriginPreflightChecker::startPreflight): * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest): (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): (WebCore::DocumentThreadableLoader::redirectReceived): (WebCore::DocumentThreadableLoader::didReceiveResponse): (WebCore::DocumentThreadableLoader::preflightSuccess): (WebCore::DocumentThreadableLoader::loadRequest): * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader): (WebCore::ResourceLoader::init): (WebCore::ResourceLoader::start): (WebCore::ResourceLoader::setDefersLoading): (WebCore::ResourceLoader::setDataBufferingPolicy): (WebCore::ResourceLoader::addDataOrBuffer): (WebCore::ResourceLoader::willSendRequestInternal): (WebCore::ResourceLoader::didReceiveResponse): (WebCore::ResourceLoader::didReceiveDataOrBuffer): (WebCore::ResourceLoader::didFinishLoadingOnePart): (WebCore::ResourceLoader::cleanupForError): (WebCore::ResourceLoader::shouldUseCredentialStorage): (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): * loader/ResourceLoader.h: (WebCore::ResourceLoader::shouldSendResourceLoadCallbacks): (WebCore::ResourceLoader::setSendCallbackPolicy): (WebCore::ResourceLoader::shouldSniffContent): (WebCore::ResourceLoader::shouldIncludeCertificateInfo): * loader/ResourceLoaderOptions.h: (WebCore::ResourceLoaderOptions::ResourceLoaderOptions): (WebCore::ResourceLoaderOptions::sendLoadCallbacks): Deleted. (WebCore::ResourceLoaderOptions::setSendLoadCallbacks): Deleted. (WebCore::ResourceLoaderOptions::sniffContent): Deleted. (WebCore::ResourceLoaderOptions::setSniffContent): Deleted. (WebCore::ResourceLoaderOptions::dataBufferingPolicy): Deleted. (WebCore::ResourceLoaderOptions::setDataBufferingPolicy): Deleted. (WebCore::ResourceLoaderOptions::allowCredentials): Deleted. (WebCore::ResourceLoaderOptions::setAllowCredentials): Deleted. (WebCore::ResourceLoaderOptions::securityCheck): Deleted. (WebCore::ResourceLoaderOptions::setSecurityCheck): Deleted. (WebCore::ResourceLoaderOptions::certificateInfoPolicy): Deleted. (WebCore::ResourceLoaderOptions::setCertificateInfoPolicy): Deleted. (WebCore::ResourceLoaderOptions::contentSecurityPolicyImposition): Deleted. (WebCore::ResourceLoaderOptions::setContentSecurityPolicyImposition): Deleted. (WebCore::ResourceLoaderOptions::defersLoadingPolicy): Deleted. (WebCore::ResourceLoaderOptions::setDefersLoadingPolicy): Deleted. (WebCore::ResourceLoaderOptions::cachingPolicy): Deleted. (WebCore::ResourceLoaderOptions::setCachingPolicy): Deleted. * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl): * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load): * loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::setDataBufferingPolicy): * loader/cache/CachedResource.cpp: (WebCore::CachedResource::load): * loader/cache/CachedResource.h: (WebCore::CachedResource::shouldSendResourceLoadCallbacks): (WebCore::CachedResource::dataBufferingPolicy): (WebCore::CachedResource::allowsCaching): * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::canRequest): * loader/cache/CachedResourceRequest.cpp: (WebCore::CachedResourceRequest::setAsPotentiallyCrossOrigin): * loader/cache/CachedResourceRequest.h: (WebCore::CachedResourceRequest::allowsCaching): * loader/cache/CachedResourceRequestInitiators.cpp: (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators): * loader/cache/CachedResourceRequestInitiators.h: * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::willCacheResponse): (WebCore::ResourceLoader::didReceiveDataArray): * page/EventSource.cpp: (WebCore::EventSource::connect): * style/StylePendingResources.cpp: (WebCore::Style::loadPendingImage): (WebCore::Style::loadPendingSVGFilters): * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::requestImageResource): * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::loadFont): * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::updateExternalDocument): * workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::loadSynchronously): (WebCore::WorkerScriptLoader::loadAsynchronously): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): Canonical link: https://commits.webkit.org/178581@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 6abad41 commit bcb2b48

34 files changed

Lines changed: 228 additions & 145 deletions

Source/WebCore/ChangeLog

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,128 @@
1+
2016-08-01 Youenn Fablet <youenn@apple.com>
2+
3+
[Fetch API] Pass directly FetchRequest fetch options to ThreadableLoader
4+
https://bugs.webkit.org/show_bug.cgi?id=160407
5+
6+
Reviewed by Sam Weinig.
7+
8+
No change of behavior.
9+
10+
Added a ResourceLoaderOptions constructor that takes a FetchOptions as input.
11+
Removed setters and getters of ResourceLoaderOptions as it is a struct.
12+
Updated member fields accordingly.
13+
14+
Updated code accordingly.
15+
Removed explicit option setting if it is the same as the default value.
16+
17+
* Modules/fetch/FetchLoader.cpp:
18+
(WebCore::FetchLoader::start):
19+
* css/CSSFontFaceSrcValue.cpp:
20+
(WebCore::CSSFontFaceSrcValue::cachedFont):
21+
* css/CSSImageSetValue.cpp:
22+
(WebCore::CSSImageSetValue::cachedImageSet):
23+
* css/CSSImageValue.cpp:
24+
(WebCore::CSSImageValue::cachedImage):
25+
* dom/ScriptElement.cpp:
26+
(WebCore::ScriptElement::requestScript):
27+
* fileapi/FileReaderLoader.cpp:
28+
(WebCore::FileReaderLoader::start):
29+
* html/HTMLLinkElement.cpp:
30+
(WebCore::HTMLLinkElement::process):
31+
* inspector/InspectorNetworkAgent.cpp:
32+
(WebCore::InspectorNetworkAgent::loadResource):
33+
* loader/CrossOriginPreflightChecker.cpp:
34+
(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
35+
(WebCore::CrossOriginPreflightChecker::startPreflight):
36+
* loader/DocumentThreadableLoader.cpp:
37+
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
38+
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
39+
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
40+
(WebCore::DocumentThreadableLoader::redirectReceived):
41+
(WebCore::DocumentThreadableLoader::didReceiveResponse):
42+
(WebCore::DocumentThreadableLoader::preflightSuccess):
43+
(WebCore::DocumentThreadableLoader::loadRequest):
44+
* loader/ImageLoader.cpp:
45+
(WebCore::ImageLoader::updateFromElement):
46+
* loader/ResourceLoader.cpp:
47+
(WebCore::ResourceLoader::ResourceLoader):
48+
(WebCore::ResourceLoader::init):
49+
(WebCore::ResourceLoader::start):
50+
(WebCore::ResourceLoader::setDefersLoading):
51+
(WebCore::ResourceLoader::setDataBufferingPolicy):
52+
(WebCore::ResourceLoader::addDataOrBuffer):
53+
(WebCore::ResourceLoader::willSendRequestInternal):
54+
(WebCore::ResourceLoader::didReceiveResponse):
55+
(WebCore::ResourceLoader::didReceiveDataOrBuffer):
56+
(WebCore::ResourceLoader::didFinishLoadingOnePart):
57+
(WebCore::ResourceLoader::cleanupForError):
58+
(WebCore::ResourceLoader::shouldUseCredentialStorage):
59+
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
60+
* loader/ResourceLoader.h:
61+
(WebCore::ResourceLoader::shouldSendResourceLoadCallbacks):
62+
(WebCore::ResourceLoader::setSendCallbackPolicy):
63+
(WebCore::ResourceLoader::shouldSniffContent):
64+
(WebCore::ResourceLoader::shouldIncludeCertificateInfo):
65+
* loader/ResourceLoaderOptions.h:
66+
(WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
67+
(WebCore::ResourceLoaderOptions::sendLoadCallbacks): Deleted.
68+
(WebCore::ResourceLoaderOptions::setSendLoadCallbacks): Deleted.
69+
(WebCore::ResourceLoaderOptions::sniffContent): Deleted.
70+
(WebCore::ResourceLoaderOptions::setSniffContent): Deleted.
71+
(WebCore::ResourceLoaderOptions::dataBufferingPolicy): Deleted.
72+
(WebCore::ResourceLoaderOptions::setDataBufferingPolicy): Deleted.
73+
(WebCore::ResourceLoaderOptions::allowCredentials): Deleted.
74+
(WebCore::ResourceLoaderOptions::setAllowCredentials): Deleted.
75+
(WebCore::ResourceLoaderOptions::securityCheck): Deleted.
76+
(WebCore::ResourceLoaderOptions::setSecurityCheck): Deleted.
77+
(WebCore::ResourceLoaderOptions::certificateInfoPolicy): Deleted.
78+
(WebCore::ResourceLoaderOptions::setCertificateInfoPolicy): Deleted.
79+
(WebCore::ResourceLoaderOptions::contentSecurityPolicyImposition): Deleted.
80+
(WebCore::ResourceLoaderOptions::setContentSecurityPolicyImposition): Deleted.
81+
(WebCore::ResourceLoaderOptions::defersLoadingPolicy): Deleted.
82+
(WebCore::ResourceLoaderOptions::setDefersLoadingPolicy): Deleted.
83+
(WebCore::ResourceLoaderOptions::cachingPolicy): Deleted.
84+
(WebCore::ResourceLoaderOptions::setCachingPolicy): Deleted.
85+
* loader/SubresourceLoader.cpp:
86+
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
87+
* loader/TextTrackLoader.cpp:
88+
(WebCore::TextTrackLoader::load):
89+
* loader/cache/CachedRawResource.cpp:
90+
(WebCore::CachedRawResource::setDataBufferingPolicy):
91+
* loader/cache/CachedResource.cpp:
92+
(WebCore::CachedResource::load):
93+
* loader/cache/CachedResource.h:
94+
(WebCore::CachedResource::shouldSendResourceLoadCallbacks):
95+
(WebCore::CachedResource::dataBufferingPolicy):
96+
(WebCore::CachedResource::allowsCaching):
97+
* loader/cache/CachedResourceLoader.cpp:
98+
(WebCore::CachedResourceLoader::canRequest):
99+
* loader/cache/CachedResourceRequest.cpp:
100+
(WebCore::CachedResourceRequest::setAsPotentiallyCrossOrigin):
101+
* loader/cache/CachedResourceRequest.h:
102+
(WebCore::CachedResourceRequest::allowsCaching):
103+
* loader/cache/CachedResourceRequestInitiators.cpp:
104+
(WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
105+
* loader/cache/CachedResourceRequestInitiators.h:
106+
* loader/mac/ResourceLoaderMac.mm:
107+
(WebCore::ResourceLoader::willCacheResponse):
108+
(WebCore::ResourceLoader::didReceiveDataArray):
109+
* page/EventSource.cpp:
110+
(WebCore::EventSource::connect):
111+
* style/StylePendingResources.cpp:
112+
(WebCore::Style::loadPendingImage):
113+
(WebCore::Style::loadPendingSVGFilters):
114+
* svg/SVGFEImageElement.cpp:
115+
(WebCore::SVGFEImageElement::requestImageResource):
116+
* svg/SVGFontFaceUriElement.cpp:
117+
(WebCore::SVGFontFaceUriElement::loadFont):
118+
* svg/SVGUseElement.cpp:
119+
(WebCore::SVGUseElement::updateExternalDocument):
120+
* workers/WorkerScriptLoader.cpp:
121+
(WebCore::WorkerScriptLoader::loadSynchronously):
122+
(WebCore::WorkerScriptLoader::loadAsynchronously):
123+
* xml/XMLHttpRequest.cpp:
124+
(WebCore::XMLHttpRequest::createRequest):
125+
1126
2016-08-01 Carlos Garcia Campos <cgarcia@igalia.com>
2127

3128
[GTK] Move the redirected XComposite window to the web process

Source/WebCore/Modules/fetch/FetchLoader.cpp

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#if ENABLE(FETCH_API)
3333

3434
#include "BlobURL.h"
35+
#include "CachedResourceRequestInitiators.h"
3536
#include "FetchBody.h"
3637
#include "FetchLoaderClient.h"
3738
#include "FetchRequest.h"
@@ -59,11 +60,10 @@ void FetchLoader::start(ScriptExecutionContext& context, Blob& blob)
5960
request.setHTTPMethod("GET");
6061

6162
ThreadableLoaderOptions options;
62-
options.setSendLoadCallbacks(SendCallbacks);
63-
options.setSniffContent(DoNotSniffContent);
64-
options.setDataBufferingPolicy(DoNotBufferData);
63+
options.sendLoadCallbacks = SendCallbacks;
64+
options.dataBufferingPolicy = DoNotBufferData;
6565
options.preflightPolicy = ConsiderPreflight;
66-
options.setAllowCredentials(AllowStoredCredentials);
66+
options.credentials = FetchOptions::Credentials::Include;
6767
options.mode = FetchOptions::Mode::SameOrigin;
6868
options.contentSecurityPolicyEnforcement = ContentSecurityPolicyEnforcement::DoNotEnforce;
6969

@@ -73,17 +73,9 @@ void FetchLoader::start(ScriptExecutionContext& context, Blob& blob)
7373

7474
void FetchLoader::start(ScriptExecutionContext& context, const FetchRequest& request)
7575
{
76-
ThreadableLoaderOptions options;
77-
options.setSendLoadCallbacks(SendCallbacks);
78-
options.setSniffContent(DoNotSniffContent);
79-
options.setDataBufferingPolicy(DoNotBufferData);
80-
options.preflightPolicy = ConsiderPreflight;
81-
options.contentSecurityPolicyEnforcement = ContentSecurityPolicyEnforcement::DoNotEnforce;
82-
83-
// FIXME: Pass directly all fetch options to loader options.
84-
options.redirect = request.fetchOptions().redirect;
85-
options.mode = request.fetchOptions().mode;
86-
options.credentials = request.fetchOptions().credentials;
76+
ThreadableLoaderOptions options(request.fetchOptions(), ConsiderPreflight, ContentSecurityPolicyEnforcement::DoNotEnforce, String(cachedResourceRequestInitiators().fetch));
77+
options.sendLoadCallbacks = SendCallbacks;
78+
options.dataBufferingPolicy = DoNotBufferData;
8779

8880
m_loader = ThreadableLoader::create(&context, this, request.internalRequest(), options);
8981
m_isStarted = m_loader;

Source/WebCore/css/CSSFontFaceSrcValue.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ CachedFont* CSSFontFaceSrcValue::cachedFont(Document* document, bool isSVG, bool
104104
return m_cachedFont.get();
105105

106106
ResourceLoaderOptions options = CachedResourceLoader::defaultCachedResourceOptions();
107-
options.setContentSecurityPolicyImposition(isInitiatingElementInUserAgentShadowTree ? ContentSecurityPolicyImposition::SkipPolicyCheck : ContentSecurityPolicyImposition::DoPolicyCheck);
107+
options.contentSecurityPolicyImposition = isInitiatingElementInUserAgentShadowTree ? ContentSecurityPolicyImposition::SkipPolicyCheck : ContentSecurityPolicyImposition::DoPolicyCheck;
108108

109109
CachedResourceRequest request(ResourceRequest(document->completeURL(m_resource)), options);
110110
request.setInitiator(cachedResourceRequestInitiators().css);

Source/WebCore/css/CSSImageSetValue.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ StyleCachedImageSet* CSSImageSetValue::cachedImageSet(CachedResourceLoader& load
120120
request.setInitiator(cachedResourceRequestInitiators().css);
121121
if (options.mode == FetchOptions::Mode::Cors) {
122122
ASSERT(document->securityOrigin());
123-
updateRequestForAccessControl(request.mutableResourceRequest(), *document->securityOrigin(), options.allowCredentials());
123+
updateRequestForAccessControl(request.mutableResourceRequest(), *document->securityOrigin(), options.allowCredentials);
124124
}
125125
if (CachedResourceHandle<CachedImage> cachedImage = loader.requestImage(request)) {
126126
detachPendingImage();

Source/WebCore/css/CSSImageValue.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ StyleCachedImage* CSSImageValue::cachedImage(CachedResourceLoader& loader, const
8484

8585
if (options.mode == FetchOptions::Mode::Cors) {
8686
ASSERT(loader.document()->securityOrigin());
87-
updateRequestForAccessControl(request.mutableResourceRequest(), *loader.document()->securityOrigin(), options.allowCredentials());
87+
updateRequestForAccessControl(request.mutableResourceRequest(), *loader.document()->securityOrigin(), options.allowCredentials);
8888
}
8989
if (CachedResourceHandle<CachedImage> cachedImage = loader.requestImage(request)) {
9090
detachPendingImage();

Source/WebCore/dom/ScriptElement.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ bool ScriptElement::requestScript(const String& sourceUrl)
261261
if (!stripLeadingAndTrailingHTMLSpaces(sourceUrl).isEmpty()) {
262262
bool hasKnownNonce = m_element.document().contentSecurityPolicy()->allowScriptWithNonce(m_element.attributeWithoutSynchronization(HTMLNames::nonceAttr), m_element.isInUserAgentShadowTree());
263263
ResourceLoaderOptions options = CachedResourceLoader::defaultCachedResourceOptions();
264-
options.setContentSecurityPolicyImposition(hasKnownNonce ? ContentSecurityPolicyImposition::SkipPolicyCheck : ContentSecurityPolicyImposition::DoPolicyCheck);
264+
options.contentSecurityPolicyImposition = hasKnownNonce ? ContentSecurityPolicyImposition::SkipPolicyCheck : ContentSecurityPolicyImposition::DoPolicyCheck;
265265

266266
CachedResourceRequest request(ResourceRequest(m_element.document().completeURL(sourceUrl)), options);
267267

Source/WebCore/fileapi/FileReaderLoader.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,8 @@ void FileReaderLoader::start(ScriptExecutionContext* scriptExecutionContext, Blo
8686
request.setHTTPMethod("GET");
8787

8888
ThreadableLoaderOptions options;
89-
options.setSendLoadCallbacks(SendCallbacks);
90-
options.setSniffContent(DoNotSniffContent);
91-
options.setDataBufferingPolicy(DoNotBufferData);
92-
options.preflightPolicy = ConsiderPreflight;
89+
options.sendLoadCallbacks = SendCallbacks;
90+
options.dataBufferingPolicy = DoNotBufferData;
9391
options.credentials = FetchOptions::Credentials::Include;
9492
options.mode = FetchOptions::Mode::SameOrigin;
9593
options.contentSecurityPolicyEnforcement = ContentSecurityPolicyEnforcement::DoNotEnforce;

Source/WebCore/html/HTMLLinkElement.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ void HTMLLinkElement::process()
259259

260260
if (document().contentSecurityPolicy()->allowStyleWithNonce(attributeWithoutSynchronization(HTMLNames::nonceAttr))) {
261261
ResourceLoaderOptions options = CachedResourceLoader::defaultCachedResourceOptions();
262-
options.setContentSecurityPolicyImposition(ContentSecurityPolicyImposition::SkipPolicyCheck);
262+
options.contentSecurityPolicyImposition = ContentSecurityPolicyImposition::SkipPolicyCheck;
263263
request.setOptions(options);
264264
}
265265
request.setAsPotentiallyCrossOrigin(crossOrigin(), document());

Source/WebCore/inspector/InspectorNetworkAgent.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -670,8 +670,8 @@ void InspectorNetworkAgent::loadResource(ErrorString& errorString, const String&
670670
request.setHiddenFromInspector(true);
671671

672672
ThreadableLoaderOptions options;
673-
options.setSendLoadCallbacks(SendCallbacks); // So we remove this from m_hiddenRequestIdentifiers on completion.
674-
options.setDefersLoadingPolicy(DefersLoadingPolicy::DisallowDefersLoading); // So the request is never deferred.
673+
options.sendLoadCallbacks = SendCallbacks; // So we remove this from m_hiddenRequestIdentifiers on completion.
674+
options.defersLoadingPolicy = DefersLoadingPolicy::DisallowDefersLoading; // So the request is never deferred.
675675
options.mode = FetchOptions::Mode::NoCors;
676676
options.credentials = FetchOptions::Credentials::SameOrigin;
677677
options.contentSecurityPolicyEnforcement = ContentSecurityPolicyEnforcement::DoNotEnforce;

Source/WebCore/loader/CrossOriginPreflightChecker.cpp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ void CrossOriginPreflightChecker::validatePreflightResponse(DocumentThreadableLo
6969
}
7070

7171
String description;
72-
if (!passesAccessControlCheck(response, loader.options().allowCredentials(), loader.securityOrigin(), description)) {
72+
if (!passesAccessControlCheck(response, loader.options().allowCredentials, loader.securityOrigin(), description)) {
7373
loader.preflightFailure(identifier, ResourceError(errorDomainWebKitInternal, 0, request.url(), description, ResourceError::Type::AccessControl));
7474
return;
7575
}
7676

77-
auto result = std::make_unique<CrossOriginPreflightResultCacheItem>(loader.options().allowCredentials());
77+
auto result = std::make_unique<CrossOriginPreflightResultCacheItem>(loader.options().allowCredentials);
7878
if (!result->parse(response, description)
7979
|| !result->allowsCrossOriginMethod(request.httpMethod(), description)
8080
|| !result->allowsCrossOriginHeaders(request.httpHeaderFields(), description)) {
@@ -100,15 +100,8 @@ void CrossOriginPreflightChecker::notifyFinished(CachedResource* resource)
100100

101101
void CrossOriginPreflightChecker::startPreflight()
102102
{
103-
auto options = m_loader.options();
103+
ResourceLoaderOptions options = static_cast<FetchOptions>(m_loader.options());
104104
options.credentials = FetchOptions::Credentials::Omit;
105-
options.setSecurityCheck(DoSecurityCheck);
106-
// Don't sniff content or send load callbacks for the preflight request.
107-
options.setSendLoadCallbacks(DoNotSendCallbacks);
108-
options.setSniffContent(DoNotSniffContent);
109-
// Keep buffering the data for the preflight request.
110-
options.setDataBufferingPolicy(BufferData);
111-
112105
options.redirect = FetchOptions::Redirect::Manual;
113106

114107
CachedResourceRequest preflightRequest(createAccessControlPreflightRequest(m_request, m_loader.securityOrigin()), options);

0 commit comments

Comments
 (0)