Changeset 251138 in webkit
- Timestamp:
- Oct 15, 2019 9:09:55 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r251137 r251138 1 2019-10-15 Alex Christensen <achristensen@webkit.org> 2 3 Pass CORS-enabled schemes through WebProcess instead of having them NetworkProcess-global 4 https://bugs.webkit.org/show_bug.cgi?id=202891 5 6 Reviewed by Youenn Fablet. 7 8 * platform/LegacySchemeRegistry.cpp: 9 (WebCore::LegacySchemeRegistry::registerURLSchemeAsCORSEnabled): 10 (WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsCORSEnabled): 11 (WebCore::LegacySchemeRegistry::allURLSchemesRegisteredAsCORSEnabled): 12 * platform/LegacySchemeRegistry.h: 13 1 14 2019-10-15 Zalan Bujtas <zalan@apple.com> 2 15 -
trunk/Source/WebCore/platform/LegacySchemeRegistry.cpp
r250738 r251138 27 27 #include "LegacySchemeRegistry.h" 28 28 29 #include "RuntimeApplicationChecks.h" 29 30 #include <wtf/Lock.h> 30 31 #include <wtf/Locker.h> … … 422 423 void LegacySchemeRegistry::registerURLSchemeAsCORSEnabled(const String& scheme) 423 424 { 425 ASSERT(!isInNetworkProcess()); 424 426 if (scheme.isNull()) 425 427 return; … … 429 431 bool LegacySchemeRegistry::shouldTreatURLSchemeAsCORSEnabled(const String& scheme) 430 432 { 433 ASSERT(!isInNetworkProcess()); 431 434 return !scheme.isNull() && CORSEnabledSchemes().contains(scheme); 435 } 436 437 Vector<String> LegacySchemeRegistry::allURLSchemesRegisteredAsCORSEnabled() 438 { 439 ASSERT(!isInNetworkProcess()); 440 return copyToVector(CORSEnabledSchemes()); 432 441 } 433 442 -
trunk/Source/WebCore/platform/LegacySchemeRegistry.h
r250738 r251138 82 82 WEBCORE_EXPORT static void registerURLSchemeAsCORSEnabled(const String& scheme); 83 83 WEBCORE_EXPORT static bool shouldTreatURLSchemeAsCORSEnabled(const String& scheme); 84 WEBCORE_EXPORT static Vector<String> allURLSchemesRegisteredAsCORSEnabled(); 84 85 85 86 // Allow resources from some schemes to load on a page, regardless of its -
trunk/Source/WebKit/ChangeLog
r251132 r251138 1 2019-10-15 Alex Christensen <achristensen@webkit.org> 2 3 Pass CORS-enabled schemes through WebProcess instead of having them NetworkProcess-global 4 https://bugs.webkit.org/show_bug.cgi?id=202891 5 6 Reviewed by Youenn Fablet. 7 8 No change in behavior. Now the LegacySchemeRegistry is not used as much in the NetworkProcess, a step towards no use at all. 9 This functionality is currently only available through the glib API webkit_security_manager_register_uri_scheme_as_cors_enabled 10 but it has been requested in bug 201180 and bug 199064. 11 12 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 13 (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess): 14 (WebKit::NetworkConnectionToWebProcess::loadPing): 15 (WebKit::NetworkConnectionToWebProcess::registerURLSchemesAsCORSEnabled): 16 * NetworkProcess/NetworkConnectionToWebProcess.h: 17 (WebKit::NetworkConnectionToWebProcess::schemeRegistry): 18 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 19 * NetworkProcess/NetworkLoadChecker.cpp: 20 (WebKit::NetworkLoadChecker::NetworkLoadChecker): 21 (WebKit::NetworkLoadChecker::doesNotNeedCORSCheck const): 22 * NetworkProcess/NetworkLoadChecker.h: 23 * NetworkProcess/NetworkProcess.cpp: 24 (WebKit::NetworkProcess::initializeNetworkProcess): 25 (WebKit::NetworkProcess::registerURLSchemeAsCORSEnabled const): Deleted. 26 * NetworkProcess/NetworkProcess.messages.in: 27 * NetworkProcess/NetworkProcessCreationParameters.cpp: 28 (WebKit::NetworkProcessCreationParameters::encode const): 29 (WebKit::NetworkProcessCreationParameters::decode): 30 * NetworkProcess/NetworkProcessCreationParameters.h: 31 * NetworkProcess/NetworkResourceLoader.cpp: 32 (WebKit::m_shouldCaptureExtraNetworkLoadMetrics): 33 * NetworkProcess/NetworkSchemeRegistry.cpp: Added. 34 (WebKit::NetworkSchemeRegistry::registerURLSchemeAsCORSEnabled): 35 (WebKit::NetworkSchemeRegistry::shouldTreatURLSchemeAsCORSEnabled): 36 * NetworkProcess/NetworkSchemeRegistry.h: Added. 37 (WebKit::NetworkSchemeRegistry::create): 38 * NetworkProcess/PingLoad.cpp: 39 (WebKit::PingLoad::PingLoad): 40 Use nullptr, indicating that the PingLoad constructor that is used in ad click attribution should not check the custom scheme registry. 41 This is Ok because ad click attribution is only used for HTTP family schemes. 42 (WebKit::m_blobFiles): 43 * NetworkProcess/PingLoad.h: 44 * Sources.txt: 45 * UIProcess/WebProcessPool.cpp: 46 (WebKit::WebProcessPool::ensureNetworkProcess): 47 (WebKit::WebProcessPool::registerURLSchemeAsCORSEnabled): 48 * WebKit.xcodeproj/project.pbxproj: 49 * WebProcess/WebProcess.cpp: 50 (WebKit::WebProcess::initializeWebProcess): 51 (WebKit::WebProcess::registerURLSchemeAsCORSEnabled): 52 (WebKit::WebProcess::ensureNetworkProcessConnection): 53 (WebKit::WebProcess::registerURLSchemeAsCORSEnabled const): Deleted. 54 * WebProcess/WebProcess.h: 55 1 56 2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com> 2 57 -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
r251124 r251138 43 43 #include "NetworkResourceLoader.h" 44 44 #include "NetworkResourceLoaderMessages.h" 45 #include "NetworkSchemeRegistry.h" 45 46 #include "NetworkSession.h" 46 47 #include "NetworkSocketChannel.h" … … 94 95 #endif 95 96 , m_webProcessIdentifier(webProcessIdentifier) 97 , m_schemeRegistry(NetworkSchemeRegistry::create()) 96 98 { 97 99 RELEASE_ASSERT(RunLoop::isMain()); … … 442 444 443 445 // PingLoad manages its own lifetime, deleting itself when its purpose has been fulfilled. 444 new PingLoad(*this, networkProcess(),WTFMove(loadParameters), WTFMove(completionHandler));446 new PingLoad(*this, WTFMove(loadParameters), WTFMove(completionHandler)); 445 447 } 446 448 … … 531 533 } 532 534 535 void NetworkConnectionToWebProcess::registerURLSchemesAsCORSEnabled(Vector<String>&& schemes) 536 { 537 for (auto&& scheme : schemes) 538 m_schemeRegistry->registerURLSchemeAsCORSEnabled(WTFMove(scheme)); 539 } 540 533 541 void NetworkConnectionToWebProcess::cookiesForDOM(const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, Optional<FrameIdentifier> frameID, Optional<PageIdentifier> pageID, IncludeSecureCookies includeSecureCookies, CompletionHandler<void(String cookieString, bool secureCookiesAccessed)>&& completionHandler) 534 542 { -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
r251067 r251138 63 63 namespace WebKit { 64 64 65 class NetworkSchemeRegistry; 65 66 class NetworkProcess; 66 67 class NetworkResourceLoader; … … 160 161 #endif 161 162 163 NetworkSchemeRegistry& schemeRegistry() { return m_schemeRegistry.get(); } 164 162 165 private: 163 166 NetworkConnectionToWebProcess(NetworkProcess&, WebCore::ProcessIdentifier, PAL::SessionID, IPC::Connection::Identifier); … … 188 191 void startDownload(DownloadID, const WebCore::ResourceRequest&, const String& suggestedName = { }); 189 192 void convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&); 193 194 void registerURLSchemesAsCORSEnabled(Vector<String>&& schemes); 190 195 191 196 void cookiesForDOM(const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<WebCore::FrameIdentifier>, Optional<WebCore::PageIdentifier>, WebCore::IncludeSecureCookies, CompletionHandler<void(String cookieString, bool secureCookiesAccessed)>&&); … … 342 347 HashSet<WebCore::MessagePortIdentifier> m_processEntangledPorts; 343 348 HashMap<uint64_t, Function<void()>> m_messageBatchDeliveryCompletionHandlers; 349 Ref<NetworkSchemeRegistry> m_schemeRegistry; 344 350 }; 345 351 -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
r251067 r251138 93 93 CheckRemotePortForActivity(struct WebCore::MessagePortIdentifier port) -> (bool hasActivity) Async 94 94 DidDeliverMessagePortMessages(uint64_t messageBatchIdentifier) 95 RegisterURLSchemesAsCORSEnabled(Vector<String> schemes); 95 96 } -
trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
r250738 r251138 31 31 #include "NetworkCORSPreflightChecker.h" 32 32 #include "NetworkProcess.h" 33 #include "NetworkSchemeRegistry.h" 33 34 #include <WebCore/ContentRuleListResults.h> 34 35 #include <WebCore/ContentSecurityPolicy.h> … … 49 50 } 50 51 51 NetworkLoadChecker::NetworkLoadChecker( NetworkProcess& networkProcess, FetchOptions&& options, PAL::SessionID sessionID, WebPageProxyIdentifier webPageProxyID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, RefPtr<SecurityOrigin>&& sourceOrigin, RefPtr<SecurityOrigin>&& topOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType)52 NetworkLoadChecker::NetworkLoadChecker(Ref<NetworkProcess>&& networkProcess, RefPtr<NetworkSchemeRegistry>&& schemeRegistry, FetchOptions&& options, PAL::SessionID sessionID, WebPageProxyIdentifier webPageProxyID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, RefPtr<SecurityOrigin>&& sourceOrigin, RefPtr<SecurityOrigin>&& topOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType) 52 53 : m_options(WTFMove(options)) 53 54 , m_sessionID(sessionID) 54 , m_networkProcess( networkProcess)55 , m_networkProcess(WTFMove(networkProcess)) 55 56 , m_webPageProxyID(webPageProxyID) 56 57 , m_originalRequestHeaders(WTFMove(originalRequestHeaders)) … … 63 64 , m_isHTTPSUpgradeEnabled(isHTTPSUpgradeEnabled) 64 65 , m_requestLoadType(requestLoadType) 66 , m_schemeRegistry(WTFMove(schemeRegistry)) 65 67 { 66 68 m_isSameOriginRequest = isSameOrigin(m_url, m_origin.get()); … … 437 439 return true; 438 440 439 if ( !LegacySchemeRegistry::shouldTreatURLSchemeAsCORSEnabled(url.protocol().toStringWithoutCopying()))441 if (m_schemeRegistry && !m_schemeRegistry->shouldTreatURLSchemeAsCORSEnabled(url.protocol())) 440 442 return true; 441 443 -
trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h
r250463 r251138 51 51 class NetworkCORSPreflightChecker; 52 52 class NetworkProcess; 53 class NetworkSchemeRegistry; 53 54 54 55 class NetworkLoadChecker : public CanMakeWeakPtr<NetworkLoadChecker> { … … 57 58 enum class LoadType : bool { MainFrame, Other }; 58 59 59 NetworkLoadChecker( NetworkProcess&, WebCore::FetchOptions&&, PAL::SessionID, WebPageProxyIdentifier, 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 NetworkLoadChecker(Ref<NetworkProcess>&&, RefPtr<NetworkSchemeRegistry>&&, WebCore::FetchOptions&&, PAL::SessionID, WebPageProxyIdentifier, 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 61 ~NetworkLoadChecker(); 61 62 … … 156 157 157 158 LoadType m_requestLoadType; 159 RefPtr<NetworkSchemeRegistry> m_schemeRegistry; 158 160 }; 159 161 -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
r251002 r251138 351 351 registerURLSchemeAsNoAccess(scheme); 352 352 353 for (auto& scheme : parameters.urlSchemesRegisteredAsCORSEnabled)354 registerURLSchemeAsCORSEnabled(scheme);355 356 353 for (auto& scheme : parameters.urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest) 357 354 registerURLSchemeAsCanDisplayOnlyIfCanRequest(scheme); … … 2222 2219 } 2223 2220 2224 void NetworkProcess::registerURLSchemeAsCORSEnabled(const String& scheme) const2225 {2226 LegacySchemeRegistry::registerURLSchemeAsCORSEnabled(scheme);2227 }2228 2229 2221 void NetworkProcess::registerURLSchemeAsCanDisplayOnlyIfCanRequest(const String& scheme) const 2230 2222 { -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in
r251002 r251138 146 146 RegisterURLSchemeAsLocal(String scheme) 147 147 RegisterURLSchemeAsNoAccess(String scheme) 148 RegisterURLSchemeAsCORSEnabled(String scheme)149 148 RegisterURLSchemeAsCanDisplayOnlyIfCanRequest(String scheme) 150 149 -
trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp
r250739 r251138 73 73 encoder << urlSchemesRegisteredAsLocal; 74 74 encoder << urlSchemesRegisteredAsNoAccess; 75 encoder << urlSchemesRegisteredAsCORSEnabled;76 75 encoder << urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest; 77 76 … … 160 159 if (!decoder.decode(result.urlSchemesRegisteredAsNoAccess)) 161 160 return false; 162 if (!decoder.decode(result.urlSchemesRegisteredAsCORSEnabled))163 return false;164 161 if (!decoder.decode(result.urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest)) 165 162 return false; -
trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h
r250739 r251138 91 91 Vector<String> urlSchemesRegisteredAsNoAccess; 92 92 Vector<String> urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest; 93 Vector<String> urlSchemesRegisteredAsCORSEnabled;94 93 95 94 #if ENABLE(SERVICE_WORKER) -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
r251126 r251138 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 }, sessionID(), m_parameters.webPageProxyID, 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);114 m_networkLoadChecker = makeUnique<NetworkLoadChecker>(connection.networkProcess(), &connection.schemeRegistry(), FetchOptions { m_parameters.options }, sessionID(), m_parameters.webPageProxyID, 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
r250053 r251138 46 46 , m_completionHandler(WTFMove(completionHandler)) 47 47 , m_timeoutTimer(*this, &PingLoad::timeoutTimerFired) 48 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(networkProcess, FetchOptions { m_parameters.options}, m_sessionID, m_parameters.webPageProxyID, 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 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(networkProcess, nullptr, FetchOptions { m_parameters.options}, m_sessionID, m_parameters.webPageProxyID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, m_parameters.request.httpReferrer())) 49 49 { 50 50 initialize(networkProcess); 51 51 } 52 52 53 PingLoad::PingLoad(NetworkConnectionToWebProcess& connection, Network Process& networkProcess, NetworkResourceLoadParameters&& parameters, CompletionHandler<void(const ResourceError&, const ResourceResponse&)>&& completionHandler)53 PingLoad::PingLoad(NetworkConnectionToWebProcess& connection, NetworkResourceLoadParameters&& parameters, CompletionHandler<void(const ResourceError&, const ResourceResponse&)>&& completionHandler) 54 54 : m_sessionID(connection.sessionID()) 55 55 , m_parameters(WTFMove(parameters)) 56 56 , m_completionHandler(WTFMove(completionHandler)) 57 57 , m_timeoutTimer(*this, &PingLoad::timeoutTimerFired) 58 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>( networkProcess, FetchOptions { m_parameters.options}, m_sessionID, m_parameters.webPageProxyID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, m_parameters.request.httpReferrer()))58 , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(connection.networkProcess(), &connection.schemeRegistry(), FetchOptions { m_parameters.options}, m_sessionID, m_parameters.webPageProxyID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, m_parameters.request.httpReferrer())) 59 59 , m_blobFiles(connection.resolveBlobReferences(m_parameters)) 60 60 { … … 64 64 } 65 65 66 initialize( networkProcess);66 initialize(connection.networkProcess()); 67 67 } 68 68 -
trunk/Source/WebKit/NetworkProcess/PingLoad.h
r250053 r251138 39 39 class NetworkLoadChecker; 40 40 class NetworkProcess; 41 class NetworkSchemeRegistry; 41 42 42 43 class PingLoad final : public CanMakeWeakPtr<PingLoad>, private NetworkDataTaskClient { 43 44 public: 44 45 PingLoad(NetworkProcess&, PAL::SessionID, NetworkResourceLoadParameters&&, CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)>&&); 45 PingLoad(NetworkConnectionToWebProcess&, Network Process&, NetworkResourceLoadParameters&&, CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)>&&);46 PingLoad(NetworkConnectionToWebProcess&, NetworkResourceLoadParameters&&, CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)>&&); 46 47 47 48 private: -
trunk/Source/WebKit/Sources.txt
r251124 r251138 38 38 NetworkProcess/NetworkResourceLoadMap.cpp 39 39 NetworkProcess/NetworkResourceLoader.cpp 40 NetworkProcess/NetworkSchemeRegistry.cpp 40 41 NetworkProcess/NetworkSession.cpp 41 42 NetworkProcess/NetworkSessionCreationParameters.cpp -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r251121 r251138 523 523 parameters.urlSchemesRegisteredAsLocal = copyToVector(m_schemesToRegisterAsLocal); 524 524 parameters.urlSchemesRegisteredAsNoAccess = copyToVector(m_schemesToRegisterAsNoAccess); 525 parameters.urlSchemesRegisteredAsCORSEnabled = copyToVector(m_schemesToRegisterAsCORSEnabled);526 525 parameters.urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest = copyToVector(m_schemesToRegisterAsCanDisplayOnlyIfCanRequest); 527 526 … … 1531 1530 m_schemesToRegisterAsCORSEnabled.add(urlScheme); 1532 1531 sendToAllProcesses(Messages::WebProcess::RegisterURLSchemeAsCORSEnabled(urlScheme)); 1533 sendToNetworkingProcess(Messages::NetworkProcess::RegisterURLSchemeAsCORSEnabled(urlScheme));1534 1532 } 1535 1533 -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r251124 r251138 3595 3595 58E977DC21C499FE005D92A6 /* NetworkHTTPSUpgradeChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkHTTPSUpgradeChecker.cpp; sourceTree = "<group>"; }; 3596 3596 58E977DD21C49A00005D92A6 /* NetworkHTTPSUpgradeChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkHTTPSUpgradeChecker.h; sourceTree = "<group>"; }; 3597 5C0A10C1235241A30053E2CA /* NetworkSchemeRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkSchemeRegistry.cpp; sourceTree = "<group>"; }; 3597 3598 5C0B17741E7C879C00E9123C /* NetworkSocketStreamMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkSocketStreamMessageReceiver.cpp; path = DerivedSources/WebKit2/NetworkSocketStreamMessageReceiver.cpp; sourceTree = BUILT_PRODUCTS_DIR; }; 3598 3599 5C0B17751E7C879C00E9123C /* NetworkSocketStreamMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkSocketStreamMessages.h; path = DerivedSources/WebKit2/NetworkSocketStreamMessages.h; sourceTree = BUILT_PRODUCTS_DIR; }; … … 3672 3673 5CA26D7F217ABBB600F97A35 /* WKSafeBrowsingWarning.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKSafeBrowsingWarning.mm; sourceTree = "<group>"; }; 3673 3674 5CA26D80217ABBB600F97A35 /* WKSafeBrowsingWarning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSafeBrowsingWarning.h; sourceTree = "<group>"; }; 3675 5CA2F7472350E15400BE5194 /* NetworkSchemeRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkSchemeRegistry.h; sourceTree = "<group>"; }; 3674 3676 5CA46E7A21F1A23900CE86B4 /* APIHTTPCookieStoreCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = APIHTTPCookieStoreCocoa.mm; path = UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm; sourceTree = SOURCE_ROOT; }; 3675 3677 5CA98549210BEB5A0057EB6B /* SafeBrowsingWarning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SafeBrowsingWarning.h; sourceTree = "<group>"; }; … … 6797 6799 5C1426E51C23F80500D41183 /* NetworkResourceLoadParameters.cpp */, 6798 6800 5C1426E61C23F80500D41183 /* NetworkResourceLoadParameters.h */, 6801 5C0A10C1235241A30053E2CA /* NetworkSchemeRegistry.cpp */, 6802 5CA2F7472350E15400BE5194 /* NetworkSchemeRegistry.h */, 6799 6803 532159521DBAE6FC0054AA3C /* NetworkSession.cpp */, 6800 6804 5C20CB9E1BB0DD1800895BB1 /* NetworkSession.h */, -
trunk/Source/WebKit/WebProcess/WebProcess.cpp
r251121 r251138 371 371 372 372 for (auto& scheme : parameters.urlSchemesRegisteredAsCORSEnabled) 373 registerURLSchemeAsCORSEnabled(scheme);373 LegacySchemeRegistry::registerURLSchemeAsCORSEnabled(scheme); 374 374 375 375 for (auto& scheme : parameters.urlSchemesRegisteredAsAlwaysRevalidated) … … 568 568 } 569 569 570 void WebProcess::registerURLSchemeAsCORSEnabled(const String& urlScheme) const570 void WebProcess::registerURLSchemeAsCORSEnabled(const String& urlScheme) 571 571 { 572 572 LegacySchemeRegistry::registerURLSchemeAsCORSEnabled(urlScheme); 573 ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::RegisterURLSchemesAsCORSEnabled({ urlScheme }), 0); 573 574 } 574 575 … … 1181 1182 m_networkProcessConnection->setNetworkProcessAuditToken(WTFMove(connectionInfo.auditToken)); 1182 1183 #endif 1184 m_networkProcessConnection->connection().send(Messages::NetworkConnectionToWebProcess::RegisterURLSchemesAsCORSEnabled(WebCore::LegacySchemeRegistry::allURLSchemesRegisteredAsCORSEnabled()), 0); 1183 1185 } 1184 1186 -
trunk/Source/WebKit/WebProcess/WebProcess.h
r251121 r251138 328 328 void registerURLSchemeAsNoAccess(const String&) const; 329 329 void registerURLSchemeAsDisplayIsolated(const String&) const; 330 void registerURLSchemeAsCORSEnabled(const String&) const;330 void registerURLSchemeAsCORSEnabled(const String&); 331 331 void registerURLSchemeAsAlwaysRevalidated(const String&) const; 332 332 void registerURLSchemeAsCachePartitioned(const String&) const; -
trunk/Tools/ChangeLog
r251132 r251138 1 2019-10-15 Alex Christensen <achristensen@webkit.org> 2 3 Pass CORS-enabled schemes through WebProcess instead of having them NetworkProcess-global 4 https://bugs.webkit.org/show_bug.cgi?id=202891 5 6 Reviewed by Youenn Fablet. 7 8 * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 9 (-[SWMessageHandlerWithExpectedMessage userContentController:didReceiveScriptMessage:]): 10 Use EXPECT_WK_STREQ so I can see what is going on on EWS. 11 1 12 2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com> 2 13 -
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm
r251067 r251138 95 95 - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message 96 96 { 97 EXPECT_ TRUE([[message body] isEqualToString:expectedMessage]);97 EXPECT_WK_STREQ(message.body, expectedMessage); 98 98 done = true; 99 99 }
Note: See TracChangeset
for help on using the changeset viewer.