Skip to content

Commit d7dbe70

Browse files
authored
Merge pull request #1273 from filipe-norte-red/wpe-2.38-missing-custom-uri-scheme-handler-info
Fix Security Origin handling in network process
2 parents 98943f6 + 231279c commit d7dbe70

4 files changed

Lines changed: 11 additions & 0 deletions

File tree

Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
#include "WebsiteDataStoreParameters.h"
7676
#include <WebCore/DocumentStorageAccess.h>
7777
#include <WebCore/HTTPCookieAcceptPolicy.h>
78+
#include <WebCore/LegacySchemeRegistry.h>
7879
#include <WebCore/NetworkStorageSession.h>
7980
#include <WebCore/ResourceError.h>
8081
#include <WebCore/ResourceLoadObserver.h>
@@ -1441,6 +1442,11 @@ void NetworkConnectionToWebProcess::installMockContentFilter(WebCore::MockConten
14411442
}
14421443
#endif
14431444

1445+
void NetworkConnectionToWebProcess::registerURLSchemeAsHandledBySchemeHandler(const String& scheme)
1446+
{
1447+
WebCore::LegacySchemeRegistry::registerURLSchemeAsHandledBySchemeHandler(scheme);
1448+
}
1449+
14441450
} // namespace WebKit
14451451

14461452
#undef CONNECTION_RELEASE_LOG

Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ class NetworkConnectionToWebProcess
239239

240240
void registerURLSchemesAsCORSEnabled(Vector<String>&& schemes);
241241

242+
void registerURLSchemeAsHandledBySchemeHandler(const String& scheme);
243+
242244
void cookiesForDOM(const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, WebCore::FrameIdentifier, WebCore::PageIdentifier, WebCore::IncludeSecureCookies, WebCore::ShouldAskITP, WebCore::ShouldRelaxThirdPartyCookieBlocking, CompletionHandler<void(String cookieString, bool secureCookiesAccessed)>&&);
243245
void setCookiesFromDOM(const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, WebCore::FrameIdentifier, WebCore::PageIdentifier, WebCore::ShouldAskITP, const String&, WebCore::ShouldRelaxThirdPartyCookieBlocking);
244246
void cookieRequestHeaderFieldValue(const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, std::optional<WebCore::FrameIdentifier>, std::optional<WebCore::PageIdentifier>, WebCore::IncludeSecureCookies, WebCore::ShouldAskITP, WebCore::ShouldRelaxThirdPartyCookieBlocking, CompletionHandler<void(String cookieString, bool secureCookiesAccessed)>&&);

Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,5 @@ messages -> NetworkConnectionToWebProcess LegacyReceiver {
117117
#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
118118
InstallMockContentFilter(WebCore::MockContentFilterSettings settings)
119119
#endif
120+
RegisterURLSchemeAsHandledBySchemeHandler(String scheme)
120121
}

Source/WebKit/WebProcess/WebPage/WebPage.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7285,6 +7285,8 @@ void WebPage::registerURLSchemeHandler(WebURLSchemeHandlerIdentifier handlerIden
72857285
WebCore::LegacySchemeRegistry::registerURLSchemeAsCORSEnabled(scheme);
72867286
auto schemeResult = m_schemeToURLSchemeHandlerProxyMap.add(scheme, WebURLSchemeHandlerProxy::create(*this, handlerIdentifier));
72877287
m_identifierToURLSchemeHandlerProxyMap.add(handlerIdentifier, schemeResult.iterator->value.get());
7288+
7289+
WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::RegisterURLSchemeAsHandledBySchemeHandler { scheme }, 0);
72887290
}
72897291

72907292
void WebPage::urlSchemeTaskWillPerformRedirection(WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)

0 commit comments

Comments
 (0)