Skip to content

Commit 10ba492

Browse files
author
Matthew Finkel
committed
[cocoa] Exclude LegacyGlobalSettings' schemesToRegisterAsNoAccess
https://bugs.webkit.org/show_bug.cgi?id=294578 rdar://153118828 Reviewed by Charlie Wolfe. This patch excludes schemesToRegisterAsNoAccess on Cocoa platforms. This will help us investigate another issue we're seeing. * Source/WTF/wtf/PlatformEnable.h: * Source/WebKit/NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess): * Source/WebKit/NetworkProcess/NetworkProcess.h: * Source/WebKit/NetworkProcess/NetworkProcess.messages.in: * Source/WebKit/Shared/WebProcessCreationParameters.h: * Source/WebKit/Shared/WebProcessCreationParameters.serialization.in: * Source/WebKit/UIProcess/LegacyGlobalSettings.h: * Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess): * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::initializeNewWebProcess): * Source/WebKit/UIProcess/WebProcessPool.h: * Source/WebKit/WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): * Source/WebKit/WebProcess/WebProcess.h: * Source/WebKit/WebProcess/WebProcess.messages.in: Canonical link: https://commits.webkit.org/296377@main
1 parent f3c0535 commit 10ba492

13 files changed

Lines changed: 39 additions & 2 deletions

Source/WTF/wtf/PlatformEnable.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1004,3 +1004,7 @@
10041004
#if !defined(ENABLE_COOKIE_STORE_API_BY_DEFAULT)
10051005
#define ENABLE_COOKIE_STORE_API_BY_DEFAULT 0
10061006
#endif
1007+
1008+
#if !defined(ENABLE_ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES) && !PLATFORM(COCOA)
1009+
#define ENABLE_ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES 1
1010+
#endif

Source/WebKit/NetworkProcess/NetworkProcess.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,8 +343,10 @@ void NetworkProcess::initializeNetworkProcess(NetworkProcessCreationParameters&&
343343
for (auto& scheme : parameters.urlSchemesRegisteredAsLocal)
344344
registerURLSchemeAsLocal(scheme);
345345

346+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
346347
for (auto& scheme : parameters.urlSchemesRegisteredAsNoAccess)
347348
registerURLSchemeAsNoAccess(scheme);
349+
#endif
348350

349351
for (auto&& websiteDataStoreParameters : WTFMove(parameters.websiteDataStoreParameters))
350352
addWebsiteDataStore(WTFMove(websiteDataStoreParameters));
@@ -2456,10 +2458,12 @@ void NetworkProcess::registerURLSchemeAsLocal(const String& scheme) const
24562458
LegacySchemeRegistry::registerURLSchemeAsLocal(scheme);
24572459
}
24582460

2461+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
24592462
void NetworkProcess::registerURLSchemeAsNoAccess(const String& scheme) const
24602463
{
24612464
LegacySchemeRegistry::registerURLSchemeAsNoAccess(scheme);
24622465
}
2466+
#endif
24632467

24642468
void NetworkProcess::syncLocalStorage(CompletionHandler<void()>&& completionHandler)
24652469
{

Source/WebKit/NetworkProcess/NetworkProcess.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,9 @@ class NetworkProcess final : public AuxiliaryProcess, private DownloadManager::C
571571
void registerURLSchemeAsSecure(const String&) const;
572572
void registerURLSchemeAsBypassingContentSecurityPolicy(const String&) const;
573573
void registerURLSchemeAsLocal(const String&) const;
574+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
574575
void registerURLSchemeAsNoAccess(const String&) const;
576+
#endif
575577
void registerURLSchemeAsCORSEnabled(const String&) const;
576578

577579
#if USE(RUNNINGBOARD)

Source/WebKit/NetworkProcess/NetworkProcess.messages.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,9 @@ messages -> NetworkProcess : AuxiliaryProcess WantsAsyncDispatchMessage {
175175
RegisterURLSchemeAsSecure(String scheme)
176176
RegisterURLSchemeAsBypassingContentSecurityPolicy(String scheme)
177177
RegisterURLSchemeAsLocal(String scheme)
178+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
178179
RegisterURLSchemeAsNoAccess(String scheme)
180+
#endif
179181

180182
SyncLocalStorage() -> ()
181183
StoreServiceWorkerRegistrations(PAL::SessionID sessionID) -> ()

Source/WebKit/Shared/WebProcessCreationParameters.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,9 @@ struct WebProcessCreationParameters {
8888
Vector<String> urlSchemesRegisteredAsBypassingContentSecurityPolicy;
8989
Vector<String> urlSchemesForWhichDomainRelaxationIsForbidden;
9090
Vector<String> urlSchemesRegisteredAsLocal;
91+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
9192
Vector<String> urlSchemesRegisteredAsNoAccess;
93+
#endif
9294
Vector<String> urlSchemesRegisteredAsDisplayIsolated;
9395
Vector<String> urlSchemesRegisteredAsCORSEnabled;
9496
Vector<String> urlSchemesRegisteredAsAlwaysRevalidated;

Source/WebKit/Shared/WebProcessCreationParameters.serialization.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@
3737
Vector<String> urlSchemesRegisteredAsBypassingContentSecurityPolicy;
3838
Vector<String> urlSchemesForWhichDomainRelaxationIsForbidden;
3939
Vector<String> urlSchemesRegisteredAsLocal;
40+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
4041
Vector<String> urlSchemesRegisteredAsNoAccess;
42+
#endif
4143
Vector<String> urlSchemesRegisteredAsDisplayIsolated;
4244
Vector<String> urlSchemesRegisteredAsCORSEnabled;
4345
Vector<String> urlSchemesRegisteredAsAlwaysRevalidated;

Source/WebKit/UIProcess/LegacyGlobalSettings.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ class LegacyGlobalSettings {
5050
const HashSet<String>& schemesToRegisterAsLocal() { return m_schemesToRegisterAsLocal; }
5151
void registerURLSchemeAsLocal(const String& scheme) { m_schemesToRegisterAsLocal.add(scheme); }
5252

53+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
5354
const HashSet<String>& schemesToRegisterAsNoAccess() { return m_schemesToRegisterAsNoAccess; }
5455
void registerURLSchemeAsNoAccess(const String& scheme) { m_schemesToRegisterAsNoAccess.add(scheme); }
56+
#endif
5557

5658
const HashSet<String>& hostnamesToRegisterAsLocal() const { return m_hostnamesToRegisterAsLocal; }
5759
void registerHostnameAsLocal(const String& hostname) { m_hostnamesToRegisterAsLocal.add(hostname); }
@@ -64,7 +66,9 @@ class LegacyGlobalSettings {
6466
HashSet<String> m_schemesToRegisterAsSecure;
6567
HashSet<String> m_schemesToRegisterAsBypassingContentSecurityPolicy;
6668
HashSet<String> m_schemesToRegisterAsLocal;
69+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
6770
HashSet<String> m_schemesToRegisterAsNoAccess;
71+
#endif
6872
HashSet<String> m_hostnamesToRegisterAsLocal;
6973
};
7074

Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,9 @@ void NetworkProcessProxy::sendCreationParametersToNewProcess()
197197
parameters.urlSchemesRegisteredAsSecure = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsSecure());
198198
parameters.urlSchemesRegisteredAsBypassingContentSecurityPolicy = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsBypassingContentSecurityPolicy());
199199
parameters.urlSchemesRegisteredAsLocal = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsLocal());
200+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
200201
parameters.urlSchemesRegisteredAsNoAccess = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsNoAccess());
202+
#endif
201203
parameters.cacheModel = LegacyGlobalSettings::singleton().cacheModel();
202204
parameters.urlSchemesRegisteredForCustomProtocols = WebProcessPool::urlSchemesWithCustomProtocolHandlers();
203205
parameters.localhostAliasesForTesting = LegacyGlobalSettings::singleton().hostnamesToRegisterAsLocal();

Source/WebKit/UIProcess/WebProcessPool.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,12 +1002,15 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa
10021002
parameters.overrideLanguages = overrideLanguages();
10031003
LOG_WITH_STREAM(Language, stream << "WebProcessPool is initializing a new web process with overrideLanguages: " << parameters.overrideLanguages);
10041004

1005-
parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument);
10061005
parameters.urlSchemesRegisteredAsSecure = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsSecure());
10071006
parameters.urlSchemesRegisteredAsBypassingContentSecurityPolicy = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsBypassingContentSecurityPolicy());
1008-
parameters.urlSchemesForWhichDomainRelaxationIsForbidden = copyToVector(m_schemesToSetDomainRelaxationForbiddenFor);
10091007
parameters.urlSchemesRegisteredAsLocal = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsLocal());
1008+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
10101009
parameters.urlSchemesRegisteredAsNoAccess = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsNoAccess());
1010+
#endif
1011+
1012+
parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument);
1013+
parameters.urlSchemesForWhichDomainRelaxationIsForbidden = copyToVector(m_schemesToSetDomainRelaxationForbiddenFor);
10111014
parameters.urlSchemesRegisteredAsDisplayIsolated = copyToVector(m_schemesToRegisterAsDisplayIsolated);
10121015
parameters.urlSchemesRegisteredAsCORSEnabled = copyToVector(m_schemesToRegisterAsCORSEnabled);
10131016
parameters.urlSchemesRegisteredAsAlwaysRevalidated = copyToVector(m_schemesToRegisterAsAlwaysRevalidated);
@@ -1542,13 +1545,15 @@ void WebProcessPool::registerURLSchemeAsLocal(const String& urlScheme)
15421545
networkProcess->send(Messages::NetworkProcess::RegisterURLSchemeAsLocal(urlScheme), 0);
15431546
}
15441547

1548+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
15451549
void WebProcessPool::registerURLSchemeAsNoAccess(const String& urlScheme)
15461550
{
15471551
LegacyGlobalSettings::singleton().registerURLSchemeAsNoAccess(urlScheme);
15481552
sendToAllProcesses(Messages::WebProcess::RegisterURLSchemeAsNoAccess(urlScheme));
15491553
for (Ref networkProcess : NetworkProcessProxy::allNetworkProcesses())
15501554
networkProcess->send(Messages::NetworkProcess::RegisterURLSchemeAsNoAccess(urlScheme), 0);
15511555
}
1556+
#endif
15521557

15531558
void WebProcessPool::registerURLSchemeAsDisplayIsolated(const String& urlScheme)
15541559
{

Source/WebKit/UIProcess/WebProcessPool.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,9 @@ class WebProcessPool final
295295
void registerURLSchemeAsBypassingContentSecurityPolicy(const String&);
296296
void setDomainRelaxationForbiddenForURLScheme(const String&);
297297
void registerURLSchemeAsLocal(const String&);
298+
#if ENABLE(ALL_LEGACY_REGISTERED_SPECIAL_URL_SCHEMES)
298299
void registerURLSchemeAsNoAccess(const String&);
300+
#endif
299301
void registerURLSchemeAsDisplayIsolated(const String&);
300302
void registerURLSchemeAsCORSEnabled(const String&);
301303
void registerURLSchemeAsCachePartitioned(const String&);

0 commit comments

Comments
 (0)