Changeset 249277 in webkit
- Timestamp:
- Aug 29, 2019, 9:19:20 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 21 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/http/wpt/service-workers/server-trust-evaluation.https.html (modified) (2 diffs)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp (modified) (1 diff)
-
Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.h (modified) (1 diff)
-
Source/WebKit/NetworkProcess/NetworkLoad.cpp (modified) (1 diff)
-
Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp (modified) (3 diffs)
-
Source/WebKit/NetworkProcess/NetworkLoadChecker.h (modified) (2 diffs)
-
Source/WebKit/NetworkProcess/NetworkLoadParameters.h (modified) (2 diffs)
-
Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp (modified) (2 diffs)
-
Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h (modified) (1 diff)
-
Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (modified) (1 diff)
-
Source/WebKit/NetworkProcess/PingLoad.cpp (modified) (3 diffs)
-
Source/WebKit/Shared/Authentication/AuthenticationManager.cpp (modified) (2 diffs)
-
Source/WebKit/Shared/Authentication/AuthenticationManager.h (modified) (2 diffs)
-
Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (modified) (2 diffs)
-
Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (modified) (2 diffs)
-
Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in (modified) (1 diff)
-
Source/WebKit/UIProcess/WebPageProxy.cpp (modified) (1 diff)
-
Source/WebKit/UIProcess/WebPageProxy.h (modified) (1 diff)
-
Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r249272 r249277 1 2019-08-29 Youenn Fablet <youenn@apple.com> 2 3 Use WebPageProxy callbacks in case of authentication challenge received from Service Worker 4 https://bugs.webkit.org/show_bug.cgi?id=201177 5 6 Reviewed by Alex Christensen. 7 8 * http/wpt/service-workers/server-trust-evaluation.https.html: 9 1 10 2019-08-29 Rob Buis <rbuis@igalia.com> 2 11 -
trunk/LayoutTests/http/wpt/service-workers/server-trust-evaluation.https.html
r249096 r249277 12 12 promise_test(async (test) => { 13 13 if (window.testRunner) { 14 window.testRunner.terminateNetworkProcess();14 testRunner.terminateNetworkProcess(); 15 15 await fetch("").then(() => { }, () => { }); 16 16 } … … 33 33 34 34 promise_test(async (test) => { 35 if (window.testRunner) 36 window.testRunner.setAllowsAnySSLCertificate(false); 35 let count; 36 if (window.testRunner) { 37 testRunner.setAllowsAnySSLCertificate(false); 38 count = testRunner.serverTrustEvaluationCallbackCallsCount; 39 } 37 40 38 41 iframe = await with_iframe("resources/iframe1.html"); 39 42 assert_true(iframe.contentWindow.document.body.innerHTML.trim().indexOf("Load failed: ") !== -1); 40 43 iframe.remove(); 44 45 if (window.testRunner) 46 assert_equals(testRunner.serverTrustEvaluationCallbackCallsCount, count + 1); 47 41 48 }, "Service worker load should fail"); 42 49 43 50 promise_test(async (test) => { 44 if (window.testRunner) 51 let count; 52 if (window.testRunner) { 45 53 window.testRunner.setAllowsAnySSLCertificate(true); 54 count = testRunner.serverTrustEvaluationCallbackCallsCount; 55 } 46 56 47 57 iframe = await with_iframe("resources/iframe2.html"); 48 58 assert_true(iframe.contentWindow.document.body.innerHTML.trim().indexOf("PASS") !== -1); 49 59 iframe.remove(); 60 61 if (window.testRunner) 62 assert_equals(testRunner.serverTrustEvaluationCallbackCallsCount, count + 1); 50 63 }, "Service worker load should succeed"); 51 64 </script> -
trunk/Source/WebKit/ChangeLog
r249275 r249277 1 2019-08-29 Youenn Fablet <youenn@apple.com> 2 3 Use WebPageProxy callbacks in case of authentication challenge received from Service Worker 4 https://bugs.webkit.org/show_bug.cgi?id=201177 5 6 Reviewed by Alex Christensen. 7 8 Send topOrigin for every possible load to NetworkProcess. 9 Send topOrigin as part of authentication challenge to UIProcess. 10 11 If there is no corresponding page for the pageID, try getting a page 12 related to the service worker using the topOrigin and send the challenge to it. 13 14 * NetworkProcess/NetworkCORSPreflightChecker.cpp: 15 (WebKit::NetworkCORSPreflightChecker::didReceiveChallenge): 16 * NetworkProcess/NetworkCORSPreflightChecker.h: 17 * NetworkProcess/NetworkLoad.cpp: 18 (WebKit::NetworkLoad::didReceiveChallenge): 19 * NetworkProcess/NetworkLoadChecker.cpp: 20 (WebKit::NetworkLoadChecker::NetworkLoadChecker): 21 (WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight): 22 * NetworkProcess/NetworkLoadChecker.h: 23 * NetworkProcess/NetworkLoadParameters.h: 24 * NetworkProcess/NetworkResourceLoadParameters.cpp: 25 (WebKit::NetworkResourceLoadParameters::encode const): 26 (WebKit::NetworkResourceLoadParameters::decode): 27 * NetworkProcess/NetworkResourceLoadParameters.h: 28 * NetworkProcess/NetworkResourceLoader.cpp: 29 (WebKit::m_shouldCaptureExtraNetworkLoadMetrics): 30 * NetworkProcess/PingLoad.cpp: 31 (WebKit::PingLoad::PingLoad): 32 (WebKit::PingLoad::didReceiveChallenge): 33 * Shared/Authentication/AuthenticationManager.cpp: 34 (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): 35 * Shared/Authentication/AuthenticationManager.h: 36 * UIProcess/Network/NetworkProcessProxy.cpp: 37 (WebKit::NetworkProcessProxy::processAuthenticationChallenge): 38 (WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge): 39 * UIProcess/Network/NetworkProcessProxy.h: 40 * UIProcess/Network/NetworkProcessProxy.messages.in: 41 * UIProcess/WebPageProxy.cpp: 42 (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy): 43 * UIProcess/WebPageProxy.h: 44 * WebProcess/Network/WebLoaderStrategy.cpp: 45 (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess): 46 (WebKit::WebLoaderStrategy::loadResourceSynchronously): 47 (WebKit::WebLoaderStrategy::startPingLoad): 48 1 49 2019-08-29 Chris Dumez <cdumez@apple.com> 2 50 -
trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp
r249096 r249277 102 102 } 103 103 104 m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(m_parameters.sessionID, m_parameters.pageID, m_parameters. frameID, challenge, WTFMove(completionHandler));104 m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(m_parameters.sessionID, m_parameters.pageID, m_parameters.topOrigin ? &m_parameters.topOrigin->data() : nullptr, challenge, WTFMove(completionHandler)); 105 105 } 106 106 -
trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.h
r248783 r249277 49 49 WebCore::ResourceRequest originalRequest; 50 50 Ref<WebCore::SecurityOrigin> sourceOrigin; 51 RefPtr<WebCore::SecurityOrigin> topOrigin; 51 52 String referrer; 52 53 String userAgent; 53 54 PAL::SessionID sessionID; 54 55 WebCore::PageIdentifier pageID; 55 WebCore::FrameIdentifier frameID;56 56 WebCore::StoredCredentialsPolicy storedCredentialsPolicy; 57 57 }; -
trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp
r249096 r249277 202 202 m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(*pendingDownload, challenge, WTFMove(completionHandler)); 203 203 else 204 m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(m_task->sessionID(), m_parameters.webPageID, m_parameters. webFrameID, challenge, WTFMove(completionHandler));204 m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(m_task->sessionID(), m_parameters.webPageID, m_parameters.topOrigin ? &m_parameters.topOrigin->data() : nullptr, challenge, WTFMove(completionHandler)); 205 205 } 206 206 -
trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
r248846 r249277 49 49 } 50 50 51 NetworkLoadChecker::NetworkLoadChecker(NetworkProcess& networkProcess, FetchOptions&& options, PAL::SessionID sessionID, PageIdentifier pageID, FrameIdentifier frameID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, RefPtr<SecurityOrigin>&& sourceOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType)51 NetworkLoadChecker::NetworkLoadChecker(NetworkProcess& networkProcess, FetchOptions&& options, PAL::SessionID sessionID, PageIdentifier pageID, FrameIdentifier frameID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, RefPtr<SecurityOrigin>&& sourceOrigin, RefPtr<SecurityOrigin>&& topOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType) 52 52 : m_options(WTFMove(options)) 53 53 , m_sessionID(sessionID) … … 58 58 , m_url(WTFMove(url)) 59 59 , m_origin(WTFMove(sourceOrigin)) 60 , m_topOrigin(WTFMove(topOrigin)) 60 61 , m_preflightPolicy(preflightPolicy) 61 62 , m_referrer(WTFMove(referrer)) … … 407 408 WTFMove(requestForPreflight), 408 409 *m_origin, 410 m_topOrigin, 409 411 request.httpReferrer(), 410 412 request.httpUserAgent(), 411 413 m_sessionID, 412 414 m_pageID, 413 m_frameID,414 415 m_storedCredentialsPolicy 415 416 }; -
trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h
r249096 r249277 57 57 enum class LoadType : bool { MainFrame, Other }; 58 58 59 NetworkLoadChecker(NetworkProcess&, WebCore::FetchOptions&&, PAL::SessionID, WebCore::PageIdentifier, WebCore::FrameIdentifier, WebCore::HTTPHeaderMap&&, URL&&, RefPtr<WebCore::SecurityOrigin>&&, WebCore::PreflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled = false, bool shouldCaptureExtraNetworkLoadMetrics = false, LoadType requestLoadType = LoadType::Other);59 NetworkLoadChecker(NetworkProcess&, WebCore::FetchOptions&&, PAL::SessionID, WebCore::PageIdentifier, WebCore::FrameIdentifier, WebCore::HTTPHeaderMap&&, URL&&, RefPtr<WebCore::SecurityOrigin>&&, RefPtr<WebCore::SecurityOrigin>&& topOrigin, WebCore::PreflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled = false, bool shouldCaptureExtraNetworkLoadMetrics = false, LoadType requestLoadType = LoadType::Other); 60 60 ~NetworkLoadChecker(); 61 61 … … 136 136 URL m_url; 137 137 RefPtr<WebCore::SecurityOrigin> m_origin; 138 RefPtr<WebCore::SecurityOrigin> m_topOrigin; 138 139 Optional<WebCore::ContentSecurityPolicyResponseHeaders> m_cspResponseHeaders; 139 140 #if ENABLE(CONTENT_EXTENSIONS) -
trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h
r248713 r249277 32 32 #include <WebCore/ResourceLoaderOptions.h> 33 33 #include <WebCore/ResourceRequest.h> 34 #include <WebCore/SecurityOrigin.h> 34 35 #include <pal/SessionID.h> 35 36 #include <wtf/ProcessID.h> … … 49 50 WebCore::PageIdentifier webPageID; 50 51 WebCore::FrameIdentifier webFrameID; 52 RefPtr<WebCore::SecurityOrigin> topOrigin; 51 53 WTF::ProcessID parentPID { 0 }; 52 54 WebCore::ResourceRequest request; -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp
r248677 r249277 85 85 if (sourceOrigin) 86 86 encoder << *sourceOrigin; 87 encoder << static_cast<bool>(topOrigin); 88 if (sourceOrigin) 89 encoder << *topOrigin; 87 90 encoder << options; 88 91 encoder << cspResponseHeaders; … … 190 193 } 191 194 195 bool hasTopOrigin; 196 if (!decoder.decode(hasTopOrigin)) 197 return WTF::nullopt; 198 if (hasTopOrigin) { 199 result.topOrigin = SecurityOrigin::decode(decoder); 200 if (!result.topOrigin) 201 return WTF::nullopt; 202 } 203 192 204 Optional<FetchOptions> options; 193 205 decoder >> options; -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h
r248677 r249277 31 31 #include <WebCore/ContentSecurityPolicyResponseHeaders.h> 32 32 #include <WebCore/FetchOptions.h> 33 #include <WebCore/SecurityOrigin.h>34 33 #include <wtf/Seconds.h> 35 34 -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
r249101 r249277 112 112 if (synchronousReply || parameters.shouldRestrictHTTPResponseAccess || parameters.options.keepAlive) { 113 113 NetworkLoadChecker::LoadType requestLoadType = isMainFrameLoad() ? NetworkLoadChecker::LoadType::MainFrame : NetworkLoadChecker::LoadType::Other; 114 m_networkLoadChecker = makeUnique<NetworkLoadChecker>(connection.networkProcess(), FetchOptions { m_parameters.options }, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, HTTPHeaderMap { m_parameters.originalRequestHeaders }, URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters. preflightPolicy, originalRequest().httpReferrer(), m_parameters.isHTTPSUpgradeEnabled, shouldCaptureExtraNetworkLoadMetrics(), requestLoadType);114 m_networkLoadChecker = makeUnique<NetworkLoadChecker>(connection.networkProcess(), FetchOptions { m_parameters.options }, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, HTTPHeaderMap { m_parameters.originalRequestHeaders }, URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, originalRequest().httpReferrer(), m_parameters.isHTTPSUpgradeEnabled, shouldCaptureExtraNetworkLoadMetrics(), requestLoadType); 115 115 if (m_parameters.cspResponseHeaders) 116 116 m_networkLoadChecker->setCSPResponseHeaders(ContentSecurityPolicyResponseHeaders { m_parameters.cspResponseHeaders.value() }); -
trunk/Source/WebKit/NetworkProcess/PingLoad.cpp
r249096 r249277 45 45 , m_completionHandler(WTFMove(completionHandler)) 46 46 , m_timeoutTimer(*this, &PingLoad::timeoutTimerFired) 47 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(networkProcess, FetchOptions { m_parameters.options}, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters. preflightPolicy, m_parameters.request.httpReferrer()))47 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(networkProcess, FetchOptions { m_parameters.options}, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, m_parameters.request.httpReferrer())) 48 48 { 49 49 initialize(networkProcess); … … 54 54 , m_completionHandler(WTFMove(completionHandler)) 55 55 , m_timeoutTimer(*this, &PingLoad::timeoutTimerFired) 56 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(networkProcess, FetchOptions { m_parameters.options}, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters. preflightPolicy, m_parameters.request.httpReferrer()))56 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(networkProcess, FetchOptions { m_parameters.options}, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, m_parameters.request.httpReferrer())) 57 57 , m_blobFiles(connection.resolveBlobReferences(m_parameters)) 58 58 { … … 149 149 RELEASE_LOG_IF_ALLOWED("didReceiveChallenge"); 150 150 if (challenge.protectionSpace().authenticationScheme() == ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested) { 151 m_networkLoadChecker->networkProcess().authenticationManager().didReceiveAuthenticationChallenge(m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, challenge, WTFMove(completionHandler));151 m_networkLoadChecker->networkProcess().authenticationManager().didReceiveAuthenticationChallenge(m_parameters.sessionID, m_parameters.webPageID, m_parameters.topOrigin ? &m_parameters.topOrigin->data() : nullptr, challenge, WTFMove(completionHandler)); 152 152 return; 153 153 } -
trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.cpp
r249096 r249277 109 109 } 110 110 111 void AuthenticationManager::didReceiveAuthenticationChallenge(PAL::SessionID sessionID, PageIdentifier pageID, FrameIdentifier frameID, const AuthenticationChallenge& authenticationChallenge, ChallengeCompletionHandler&& completionHandler)111 void AuthenticationManager::didReceiveAuthenticationChallenge(PAL::SessionID sessionID, PageIdentifier pageID, const SecurityOriginData* topOrigin, const AuthenticationChallenge& authenticationChallenge, ChallengeCompletionHandler&& completionHandler) 112 112 { 113 113 ASSERT(pageID); 114 ASSERT(frameID);115 114 116 115 uint64_t challengeID = addChallengeToChallengeMap({ pageID, authenticationChallenge, WTFMove(completionHandler) }); … … 119 118 if (shouldCoalesceChallenge(pageID, challengeID, authenticationChallenge)) 120 119 return; 121 122 m_process.send(Messages::NetworkProcessProxy::DidReceiveAuthenticationChallenge(sessionID, pageID, frameID, authenticationChallenge, challengeID)); 120 121 Optional<SecurityOriginData> topOriginData; 122 if (topOrigin) 123 topOriginData = *topOrigin; 124 m_process.send(Messages::NetworkProcessProxy::DidReceiveAuthenticationChallenge(sessionID, pageID, topOriginData, authenticationChallenge, challengeID)); 123 125 } 124 126 -
trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h
r249096 r249277 44 44 class AuthenticationChallenge; 45 45 class Credential; 46 struct SecurityOriginData; 46 47 } 47 48 … … 64 65 static const char* supplementName(); 65 66 66 void didReceiveAuthenticationChallenge(PAL::SessionID, WebCore::PageIdentifier, WebCore::FrameIdentifier, const WebCore::AuthenticationChallenge&, ChallengeCompletionHandler&&);67 void didReceiveAuthenticationChallenge(PAL::SessionID, WebCore::PageIdentifier, const WebCore::SecurityOriginData* , const WebCore::AuthenticationChallenge&, ChallengeCompletionHandler&&); 67 68 void didReceiveAuthenticationChallenge(IPC::MessageSender& download, const WebCore::AuthenticationChallenge&, ChallengeCompletionHandler&&); 68 69 -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
r249096 r249277 316 316 } 317 317 318 void NetworkProcessProxy::didReceiveAuthenticationChallenge(PAL::SessionID sessionID, PageIdentifier pageID, FrameIdentifier frameID, WebCore::AuthenticationChallenge&& coreChallenge, uint64_t challengeID) 318 void NetworkProcessProxy::processAuthenticationChallenge(PAL::SessionID sessionID, Ref<AuthenticationChallengeProxy>&& authenticationChallenge) 319 { 320 auto* store = websiteDataStoreFromSessionID(sessionID); 321 if (!store || authenticationChallenge->core().protectionSpace().authenticationScheme() != ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested) { 322 authenticationChallenge->listener().completeChallenge(AuthenticationChallengeDisposition::PerformDefaultHandling); 323 return; 324 } 325 store->client().didReceiveAuthenticationChallenge(WTFMove(authenticationChallenge)); 326 } 327 328 void NetworkProcessProxy::didReceiveAuthenticationChallenge(PAL::SessionID sessionID, PageIdentifier pageID, const Optional<SecurityOriginData>& topOrigin, WebCore::AuthenticationChallenge&& coreChallenge, uint64_t challengeID) 319 329 { 320 330 #if HAVE(SEC_KEY_PROXY) … … 333 343 334 344 WebPageProxy* page = nullptr; 335 if (pageID && !m_processPool.isServiceWorkerPageID(pageID))345 if (pageID) 336 346 page = WebProcessProxy::webPage(pageID); 337 347 338 if (!page) { 339 auto* store = websiteDataStoreFromSessionID(sessionID); 340 if (!store || coreChallenge.protectionSpace().authenticationScheme() != ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested) { 341 authenticationChallenge->listener().completeChallenge(AuthenticationChallengeDisposition::PerformDefaultHandling); 348 if (page) { 349 page->didReceiveAuthenticationChallengeProxy(WTFMove(authenticationChallenge)); 350 return; 351 } 352 353 if (!topOrigin || !m_processPool.isServiceWorkerPageID(pageID)) { 354 processAuthenticationChallenge(sessionID, WTFMove(authenticationChallenge)); 355 return; 356 } 357 358 WebPageProxy::forMostVisibleWebPageIfAny(sessionID, *topOrigin, [this, weakThis = makeWeakPtr(this), sessionID, authenticationChallenge = WTFMove(authenticationChallenge)](auto* page) mutable { 359 if (!weakThis) 360 return; 361 362 if (page) { 363 page->didReceiveAuthenticationChallengeProxy(WTFMove(authenticationChallenge)); 342 364 return; 343 365 } 344 store->client().didReceiveAuthenticationChallenge(WTFMove(authenticationChallenge)); 345 return; 346 } 347 348 page->didReceiveAuthenticationChallengeProxy(frameID, WTFMove(authenticationChallenge)); 366 processAuthenticationChallenge(sessionID, WTFMove(authenticationChallenge)); 367 }); 349 368 } 350 369 -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
r249096 r249277 214 214 void didReceiveNetworkProcessProxyMessage(IPC::Connection&, IPC::Decoder&); 215 215 void didCreateNetworkConnectionToWebProcess(const IPC::Attachment&); 216 void didReceiveAuthenticationChallenge(PAL::SessionID, WebCore::PageIdentifier, WebCore::FrameIdentifier, WebCore::AuthenticationChallenge&&, uint64_t challengeID);216 void didReceiveAuthenticationChallenge(PAL::SessionID, WebCore::PageIdentifier, const Optional<WebCore::SecurityOriginData>&, WebCore::AuthenticationChallenge&&, uint64_t challengeID); 217 217 void didFetchWebsiteData(uint64_t callbackID, const WebsiteData&); 218 218 void didDeleteWebsiteData(uint64_t callbackID); … … 251 251 void didFinishLaunching(ProcessLauncher*, IPC::Connection::Identifier) override; 252 252 253 void processAuthenticationChallenge(PAL::SessionID, Ref<AuthenticationChallengeProxy>&&); 254 253 255 WebProcessPool& m_processPool; 254 256 -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in
r249096 r249277 24 24 DidCreateNetworkConnectionToWebProcess(IPC::Attachment connectionIdentifier) 25 25 26 DidReceiveAuthenticationChallenge(PAL::SessionID sessionID, WebCore::PageIdentifier pageID, WebCore::FrameIdentifier frameID, WebCore::AuthenticationChallenge challenge, uint64_t challengeID)26 DidReceiveAuthenticationChallenge(PAL::SessionID sessionID, WebCore::PageIdentifier pageID, Optional<WebCore::SecurityOriginData> topOrigin, WebCore::AuthenticationChallenge challenge, uint64_t challengeID) 27 27 28 28 DidFetchWebsiteData(uint64_t callbackID, struct WebKit::WebsiteData websiteData) -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r249275 r249277 7335 7335 #endif 7336 7336 7337 void WebPageProxy::didReceiveAuthenticationChallengeProxy( FrameIdentifier,Ref<AuthenticationChallengeProxy>&& authenticationChallenge)7337 void WebPageProxy::didReceiveAuthenticationChallengeProxy(Ref<AuthenticationChallengeProxy>&& authenticationChallenge) 7338 7338 { 7339 7339 m_navigationClient->didReceiveAuthenticationChallenge(*this, authenticationChallenge.get()); -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r249275 r249277 1257 1257 WebCore::IntSize viewportSizeForCSSViewportUnits() const { return m_viewportSizeForCSSViewportUnits.valueOr(WebCore::IntSize()); } 1258 1258 1259 void didReceiveAuthenticationChallengeProxy( WebCore::FrameIdentifier,Ref<AuthenticationChallengeProxy>&&);1259 void didReceiveAuthenticationChallengeProxy(Ref<AuthenticationChallengeProxy>&&); 1260 1260 1261 1261 SpellDocumentTag spellDocumentTag(); -
trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
r248713 r249277 322 322 loadParameters.sourceOrigin = SecurityOrigin::createFromString(origin); 323 323 } 324 if (document) 325 loadParameters.topOrigin = &document->topOrigin(); 324 326 325 327 if (loadParameters.options.mode != FetchOptions::Mode::Navigate) { … … 554 556 loadParameters.options = options; 555 557 loadParameters.sourceOrigin = &document->securityOrigin(); 558 loadParameters.topOrigin = &document->topOrigin(); 556 559 if (!document->shouldBypassMainWorldContentSecurityPolicy()) { 557 560 if (auto* contentSecurityPolicy = document->contentSecurityPolicy()) … … 610 613 loadParameters.request = request; 611 614 loadParameters.sourceOrigin = &document->securityOrigin(); 615 loadParameters.topOrigin = &document->topOrigin(); 612 616 loadParameters.parentPID = presentingApplicationPID(); 613 617 loadParameters.storedCredentialsPolicy = options.credentials == FetchOptions::Credentials::Omit ? StoredCredentialsPolicy::DoNotUse : StoredCredentialsPolicy::Use;
Note:
See TracChangeset
for help on using the changeset viewer.