Changeset 283382 in webkit
- Timestamp:
- Oct 1, 2021, 11:07:05 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-611.4.2.0-branch/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
r275702 r283382 99 99 100 100 m_firstRequestHeaders = request.httpHeaderFields(); 101 checkRequest(WTFMove(request), client, WTFMove(handler));101 checkRequest(WTFMove(request), client, URL(), WTFMove(handler)); 102 102 } 103 103 … … 149 149 m_url = redirectRequest.url(); 150 150 151 checkRequest(WTFMove(redirectRequest), client, [handler = WTFMove(handler), request = WTFMove(request), redirectResponse = WTFMove(redirectResponse)](auto&& result) mutable {151 checkRequest(WTFMove(redirectRequest), client, redirectResponse.url(), [handler = WTFMove(handler), request = WTFMove(request), redirectResponse = WTFMove(redirectResponse)](auto&& result) mutable { 152 152 WTF::switchOn(result, 153 153 [&handler] (ResourceError& error) mutable { … … 248 248 } 249 249 250 void NetworkLoadChecker::checkRequest(ResourceRequest&& request, ContentSecurityPolicyClient* client, ValidationHandler&& handler)250 void NetworkLoadChecker::checkRequest(ResourceRequest&& request, ContentSecurityPolicyClient* client, const URL& preRedirectURL, ValidationHandler&& handler) 251 251 { 252 252 ResourceRequest originalRequest = request; … … 261 261 contentSecurityPolicy->upgradeInsecureRequestIfNeeded(request, type); 262 262 } 263 if (!this->isAllowedByContentSecurityPolicy(request, client )) {263 if (!this->isAllowedByContentSecurityPolicy(request, client, preRedirectURL)) { 264 264 handler(this->accessControlErrorForValidationHandler("Blocked by Content Security Policy."_s)); 265 265 return; … … 300 300 } 301 301 302 bool NetworkLoadChecker::isAllowedByContentSecurityPolicy(const ResourceRequest& request, WebCore::ContentSecurityPolicyClient* client )302 bool NetworkLoadChecker::isAllowedByContentSecurityPolicy(const ResourceRequest& request, WebCore::ContentSecurityPolicyClient* client, const URL& preRedirectURL) 303 303 { 304 304 auto* contentSecurityPolicy = this->contentSecurityPolicy(); … … 315 315 case FetchOptions::Destination::Serviceworker: 316 316 case FetchOptions::Destination::Sharedworker: 317 return contentSecurityPolicy->allowChildContextFromSource(request.url(), redirectResponseReceived );317 return contentSecurityPolicy->allowChildContextFromSource(request.url(), redirectResponseReceived, preRedirectURL); 318 318 case FetchOptions::Destination::Script: 319 319 if (request.requester() == ResourceRequest::Requester::ImportScripts && !contentSecurityPolicy->allowScriptFromSource(request.url(), redirectResponseReceived))
Note:
See TracChangeset
for help on using the changeset viewer.