Diff
Modified: trunk/Source/WebCore/ChangeLog (287780 => 287781)
--- trunk/Source/WebCore/ChangeLog 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebCore/ChangeLog 2022-01-07 21:52:15 UTC (rev 287781)
@@ -1,3 +1,21 @@
+2022-01-07 Patrick Angle <pan...@apple.com>
+
+ [Cocoa] Web Driver: WebSocket over TLS failing over WebDriver with acceptInsecureCerts on Big Sur
+ https://bugs.webkit.org/show_bug.cgi?id=234403
+
+ Reviewed by BJ Burg.
+
+ * page/SocketProvider.cpp:
+ (WebCore::SocketProvider::createSocketStreamHandle):
+ * platform/network/cf/SocketStreamHandleImpl.h:
+ (WebCore::SocketStreamHandleImpl::create):
+ * platform/network/cf/SocketStreamHandleImplCFNet.cpp:
+ (WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
+ (WebCore::SocketStreamHandleImpl::createStreams):
+ * platform/network/curl/SocketStreamHandleImpl.h:
+ (WebCore::SocketStreamHandleImpl::create):
+ * platform/network/soup/SocketStreamHandleImpl.h:
+
2022-01-07 Alan Bujtas <za...@apple.com>
Inline blocks that contain text with min-width, box-sizing: border-box incorrectly include the border in width calculation
Modified: trunk/Source/WebCore/page/SocketProvider.cpp (287780 => 287781)
--- trunk/Source/WebCore/page/SocketProvider.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebCore/page/SocketProvider.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -33,7 +33,8 @@
Ref<SocketStreamHandle> SocketProvider::createSocketStreamHandle(const URL& url, SocketStreamHandleClient& client, WebSocketIdentifier, PAL::SessionID sessionID, const String& credentialPartition, const StorageSessionProvider* provider)
{
- return SocketStreamHandleImpl::create(url, client, sessionID, credentialPartition, { }, provider);
+ static const auto shouldAcceptInsecureCertificates = false;
+ return SocketStreamHandleImpl::create(url, client, sessionID, credentialPartition, { }, provider, shouldAcceptInsecureCertificates);
}
RefPtr<ThreadableWebSocketChannel> SocketProvider::createWebSocketChannel(Document&, WebSocketChannelClient&)
Modified: trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImpl.h (287780 => 287781)
--- trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImpl.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImpl.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -47,7 +47,7 @@
class SocketStreamHandleImpl : public SocketStreamHandle {
public:
- static Ref<SocketStreamHandleImpl> create(const URL& url, SocketStreamHandleClient& client, PAL::SessionID sessionID, const String& credentialPartition, SourceApplicationAuditToken&& auditData, const StorageSessionProvider* provider) { return adoptRef(*new SocketStreamHandleImpl(url, client, sessionID, credentialPartition, WTFMove(auditData), provider)); }
+ static Ref<SocketStreamHandleImpl> create(const URL& url, SocketStreamHandleClient& client, PAL::SessionID sessionID, const String& credentialPartition, SourceApplicationAuditToken&& auditData, const StorageSessionProvider* provider, bool shouldAcceptInsecureCertificates) { return adoptRef(*new SocketStreamHandleImpl(url, client, sessionID, credentialPartition, WTFMove(auditData), provider, shouldAcceptInsecureCertificates)); }
virtual ~SocketStreamHandleImpl();
@@ -61,7 +61,7 @@
std::optional<size_t> platformSendInternal(const uint8_t*, size_t);
bool sendPendingData();
- WEBCORE_EXPORT SocketStreamHandleImpl(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String& credentialPartition, SourceApplicationAuditToken&&, const StorageSessionProvider*);
+ WEBCORE_EXPORT SocketStreamHandleImpl(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String& credentialPartition, SourceApplicationAuditToken&&, const StorageSessionProvider*, bool shouldAcceptInsecureCertificates);
void createStreams();
void scheduleStreams();
void chooseProxy();
@@ -99,6 +99,7 @@
RetainPtr<CFHTTPMessageRef> m_proxyResponseMessage;
bool m_sentStoredCredentials;
+ bool m_shouldAcceptInsecureCertificates;
RetainPtr<CFReadStreamRef> m_readStream;
RetainPtr<CFWriteStreamRef> m_writeStream;
Modified: trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp (287780 => 287781)
--- trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -96,11 +96,12 @@
#endif
}
-SocketStreamHandleImpl::SocketStreamHandleImpl(const URL& url, SocketStreamHandleClient& client, PAL::SessionID sessionID, const String& credentialPartition, SourceApplicationAuditToken&& auditData, const StorageSessionProvider* provider)
+SocketStreamHandleImpl::SocketStreamHandleImpl(const URL& url, SocketStreamHandleClient& client, PAL::SessionID sessionID, const String& credentialPartition, SourceApplicationAuditToken&& auditData, const StorageSessionProvider* provider, bool acceptInsecureCertificates)
: SocketStreamHandle(url, client)
, m_connectingSubstate(New)
, m_connectionType(Unknown)
, m_sentStoredCredentials(false)
+ , m_shouldAcceptInsecureCertificates(acceptInsecureCertificates)
, m_credentialPartition(credentialPartition)
, m_auditData(WTFMove(auditData))
, m_storageSessionProvider(provider)
@@ -357,7 +358,8 @@
}
if (shouldUseSSL()) {
- CFBooleanRef validateCertificateChain = DeprecatedGlobalSettings::allowsAnySSLCertificate() ? kCFBooleanFalse : kCFBooleanTrue;
+ // FIXME: rdar://86641948 Remove shouldAcceptInsecureCertificatesForWebSockets once HAVE(NSURLSESSION_WEBSOCKET) is supported on all Cocoa platforms.
+ CFBooleanRef validateCertificateChain = DeprecatedGlobalSettings::allowsAnySSLCertificate() || m_shouldAcceptInsecureCertificates ? kCFBooleanFalse : kCFBooleanTrue;
const void* keys[] = {
kCFStreamSSLPeerName,
kCFStreamSSLLevel,
Modified: trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImpl.h (287780 => 287781)
--- trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImpl.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImpl.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -44,7 +44,7 @@
class SocketStreamHandleImpl : public SocketStreamHandle, public CurlStream::Client {
public:
- static Ref<SocketStreamHandleImpl> create(const URL& url, SocketStreamHandleClient& client, PAL::SessionID, const String&, SourceApplicationAuditToken&&, const StorageSessionProvider* provider) { return adoptRef(*new SocketStreamHandleImpl(url, client, provider)); }
+ static Ref<SocketStreamHandleImpl> create(const URL& url, SocketStreamHandleClient& client, PAL::SessionID, const String&, SourceApplicationAuditToken&&, const StorageSessionProvider* provider, bool) { return adoptRef(*new SocketStreamHandleImpl(url, client, provider)); }
virtual ~SocketStreamHandleImpl();
Modified: trunk/Source/WebCore/platform/network/soup/SocketStreamHandleImpl.h (287780 => 287781)
--- trunk/Source/WebCore/platform/network/soup/SocketStreamHandleImpl.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebCore/platform/network/soup/SocketStreamHandleImpl.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -47,7 +47,7 @@
class SocketStreamHandleImpl final : public SocketStreamHandle {
public:
- static Ref<SocketStreamHandleImpl> create(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String&, SourceApplicationAuditToken&&, const StorageSessionProvider*)
+ static Ref<SocketStreamHandleImpl> create(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String&, SourceApplicationAuditToken&&, const StorageSessionProvider*, bool)
{
RELEASE_ASSERT_NOT_REACHED();
}
Modified: trunk/Source/WebKit/ChangeLog (287780 => 287781)
--- trunk/Source/WebKit/ChangeLog 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/ChangeLog 2022-01-07 21:52:15 UTC (rev 287781)
@@ -1,3 +1,43 @@
+2022-01-07 Patrick Angle <pan...@apple.com>
+
+ [Cocoa] Web Driver: WebSocket over TLS failing over WebDriver with acceptInsecureCerts on Big Sur
+ https://bugs.webkit.org/show_bug.cgi?id=234403
+
+ Reviewed by BJ Burg.
+
+ macOS Big Sur and earlier do not use NSURLSession-based WebSockets, so we need a way to allow insecure
+ certificates under automation that does not rely on the `WKNavigationDelegate` to determine if an
+ authentication challenge should be accepted. In order to accomplish this we now plumb through an
+ `_shouldAcceptInsecureCertificatesForWebSockets` value from `_WKAutomationSessionConfiguration` to
+ `SocketStreamHandleImplCFNet` on platforms that do not `HAVE(NSURLSESSION_WEBSOCKET)`, which allows automation
+ clients to enable this behavior when the `acceptInsecureCerts` capability is set on a session.
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::createSocketStream):
+ * NetworkProcess/NetworkSession.cpp:
+ (WebKit::NetworkSession::NetworkSession):
+ * NetworkProcess/NetworkSession.h:
+ (WebKit::NetworkSession::shouldAcceptInsecureCertificatesForWebSockets const):
+ * NetworkProcess/NetworkSessionCreationParameters.cpp:
+ (WebKit::NetworkSessionCreationParameters::encode const):
+ (WebKit::NetworkSessionCreationParameters::decode):
+ * NetworkProcess/NetworkSessionCreationParameters.h:
+ * NetworkProcess/NetworkSocketStream.cpp:
+ (WebKit::NetworkSocketStream::create):
+ (WebKit::NetworkSocketStream::NetworkSocketStream):
+ * NetworkProcess/NetworkSocketStream.h:
+ * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
+ * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
+ (-[_WKWebsiteDataStoreConfiguration _shouldAcceptInsecureCertificatesForWebSockets]):
+ (-[_WKWebsiteDataStoreConfiguration _setShouldAcceptInsecureCertificatesForWebSockets:]):
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+ (WebKit::WebsiteDataStore::parameters):
+ * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
+ (WebKit::WebsiteDataStoreConfiguration::copy const):
+ * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
+ (WebKit::WebsiteDataStoreConfiguration::shouldAcceptInsecureCertificatesForWebSockets const):
+ (WebKit::WebsiteDataStoreConfiguration::setShouldAcceptInsecureCertificatesForWebSockets):
+
2021-10-30 Myles C. Maxfield <mmaxfi...@apple.com>
Web process shouldn't crash if ImageBuffer::ensureBackendCreated() fails
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (287780 => 287781)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -430,7 +430,12 @@
#if PLATFORM(COCOA)
token = { m_networkProcess->sourceApplicationAuditData() };
#endif
- m_networkSocketStreams.add(identifier, NetworkSocketStream::create(m_networkProcess.get(), WTFMove(url), m_sessionID, cachePartition, identifier, m_connection, WTFMove(token)));
+ auto acceptInsecureCertificates = false;
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ if (auto* session = networkSession())
+ acceptInsecureCertificates = session->shouldAcceptInsecureCertificatesForWebSockets();
+#endif
+ m_networkSocketStreams.add(identifier, NetworkSocketStream::create(m_networkProcess.get(), WTFMove(url), m_sessionID, cachePartition, identifier, m_connection, WTFMove(token), acceptInsecureCertificates));
}
void NetworkConnectionToWebProcess::createSocketChannel(const ResourceRequest& request, const String& protocol, WebSocketIdentifier identifier, WebPageProxyIdentifier webPageProxyID, const ClientOrigin& clientOrigin)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp (287780 => 287781)
--- trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -132,6 +132,9 @@
#if ENABLE(BUILT_IN_NOTIFICATIONS)
, m_notificationManager(*this, parameters.webPushMachServiceName)
#endif
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ , m_shouldAcceptInsecureCertificatesForWebSockets(parameters.shouldAcceptInsecureCertificatesForWebSockets)
+#endif
{
if (!m_sessionID.isEphemeral()) {
String networkCacheDirectory = parameters.networkCacheDirectory;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.h (287780 => 287781)
--- trunk/Source/WebKit/NetworkProcess/NetworkSession.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSession.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -244,6 +244,10 @@
#if ENABLE(BUILT_IN_NOTIFICATIONS)
NetworkNotificationManager& notificationManager() { return m_notificationManager; }
#endif
+
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ bool shouldAcceptInsecureCertificatesForWebSockets() const { return m_shouldAcceptInsecureCertificatesForWebSockets; }
+#endif
protected:
NetworkSession(NetworkProcess&, const NetworkSessionCreationParameters&);
@@ -331,6 +335,9 @@
#if ENABLE(BUILT_IN_NOTIFICATIONS)
NetworkNotificationManager m_notificationManager;
#endif
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ bool m_shouldAcceptInsecureCertificatesForWebSockets { false };
+#endif
};
} // namespace WebKit
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp (287780 => 287781)
--- trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -92,6 +92,9 @@
encoder << pcmMachServiceName;
encoder << webPushMachServiceName;
encoder << enablePrivateClickMeasurementDebugMode;
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ encoder << shouldAcceptInsecureCertificatesForWebSockets;
+#endif
encoder << resourceLoadStatisticsParameters;
}
@@ -324,6 +327,13 @@
if (!enablePrivateClickMeasurementDebugMode)
return std::nullopt;
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ std::optional<bool> shouldAcceptInsecureCertificatesForWebSockets;
+ decoder >> shouldAcceptInsecureCertificatesForWebSockets;
+ if (!shouldAcceptInsecureCertificatesForWebSockets)
+ return std::nullopt;
+#endif
+
std::optional<ResourceLoadStatisticsParameters> resourceLoadStatisticsParameters;
decoder >> resourceLoadStatisticsParameters;
if (!resourceLoadStatisticsParameters)
@@ -382,6 +392,9 @@
, WTFMove(*pcmMachServiceName)
, WTFMove(*webPushMachServiceName)
, WTFMove(*enablePrivateClickMeasurementDebugMode)
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ , WTFMove(*shouldAcceptInsecureCertificatesForWebSockets)
+#endif
, WTFMove(*resourceLoadStatisticsParameters)
}};
}
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h (287780 => 287781)
--- trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -108,6 +108,9 @@
String pcmMachServiceName;
String webPushMachServiceName;
bool enablePrivateClickMeasurementDebugMode { false };
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ bool shouldAcceptInsecureCertificatesForWebSockets { false };
+#endif
ResourceLoadStatisticsParameters resourceLoadStatisticsParameters;
};
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.cpp (287780 => 287781)
--- trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -35,15 +35,15 @@
namespace WebKit {
using namespace WebCore;
-Ref<NetworkSocketStream> NetworkSocketStream::create(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData)
+Ref<NetworkSocketStream> NetworkSocketStream::create(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData, bool shouldAcceptInsecureCertificates)
{
- return adoptRef(*new NetworkSocketStream(networkProcess, WTFMove(url), sessionID, credentialPartition, identifier, connection, WTFMove(auditData)));
+ return adoptRef(*new NetworkSocketStream(networkProcess, WTFMove(url), sessionID, credentialPartition, identifier, connection, WTFMove(auditData), shouldAcceptInsecureCertificates));
}
-NetworkSocketStream::NetworkSocketStream(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData)
+NetworkSocketStream::NetworkSocketStream(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData, bool shouldAcceptInsecureCertificates)
: m_identifier(identifier)
, m_connection(connection)
- , m_impl(SocketStreamHandleImpl::create(url, *this, sessionID, credentialPartition, WTFMove(auditData), NetworkStorageSessionProvider::create(networkProcess, sessionID).ptr()))
+ , m_impl(SocketStreamHandleImpl::create(url, *this, sessionID, credentialPartition, WTFMove(auditData), NetworkStorageSessionProvider::create(networkProcess, sessionID).ptr(), shouldAcceptInsecureCertificates))
, m_delayFailTimer(*this, &NetworkSocketStream::sendDelayedFailMessage)
{
}
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.h (287780 => 287781)
--- trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -46,7 +46,7 @@
class NetworkSocketStream : public RefCounted<NetworkSocketStream>, public IPC::MessageSender, public IPC::MessageReceiver, public WebCore::SocketStreamHandleClient {
public:
- static Ref<NetworkSocketStream> create(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&);
+ static Ref<NetworkSocketStream> create(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&, bool shouldAcceptInsecureCertificates);
~NetworkSocketStream();
void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
@@ -68,7 +68,7 @@
IPC::Connection* messageSenderConnection() const final;
uint64_t messageSenderDestinationID() const final;
- NetworkSocketStream(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&);
+ NetworkSocketStream(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&, bool shouldAcceptInsecureCertificates);
WebCore::WebSocketIdentifier m_identifier;
IPC::Connection& m_connection;
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h (287780 => 287781)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -54,6 +54,9 @@
@property (nonatomic) BOOL requiresSecureHTTPSProxyConnection WK_API_AVAILABLE(macos(11.0), ios(14.0));
@property (nonatomic) BOOL shouldRunServiceWorkersOnMainThreadForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+// FIXME: rdar://86641948 Remove acceptInsecureCertificatesForWebSockets once HAVE(NSURLSESSION_WEBSOCKET) is supported on all Cocoa platforms.
+@property (nonatomic, setter=_setShouldAcceptInsecureCertificatesForWebSockets:) BOOL _shouldAcceptInsecureCertificatesForWebSockets WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+
// These properties only make sense for persistent data stores, and will throw
// an exception if set for non-persistent stores.
@property (nonatomic, copy, setter=_setWebStorageDirectory:) NSURL *_webStorageDirectory;
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm (287780 => 287781)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm 2022-01-07 21:52:15 UTC (rev 287781)
@@ -496,6 +496,24 @@
_configuration->setShouldRunServiceWorkersOnMainThreadForTesting(shouldRunOnMainThread);
}
+- (BOOL)_shouldAcceptInsecureCertificatesForWebSockets
+{
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ return _configuration->shouldAcceptInsecureCertificatesForWebSockets();
+#else
+ return false;
+#endif
+}
+
+- (void)_setShouldAcceptInsecureCertificatesForWebSockets:(BOOL)accept
+{
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ _configuration->setShouldAcceptInsecureCertificatesForWebSockets(accept);
+#else
+ UNUSED_PARAM(accept);
+#endif
+}
+
- (void)setProxyConfiguration:(NSDictionary *)configuration
{
_configuration->setProxyConfiguration((__bridge CFDictionaryRef)[configuration copy]);
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (287780 => 287781)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -1891,6 +1891,9 @@
networkSessionParameters.allowsHSTSWithUntrustedRootCertificate = m_configuration->allowsHSTSWithUntrustedRootCertificate();
networkSessionParameters.pcmMachServiceName = m_configuration->pcmMachServiceName();
networkSessionParameters.webPushMachServiceName = m_configuration->webPushMachServiceName();
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ networkSessionParameters.shouldAcceptInsecureCertificatesForWebSockets = m_configuration->shouldAcceptInsecureCertificatesForWebSockets();
+#endif
parameters.networkSessionParameters = WTFMove(networkSessionParameters);
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp (287780 => 287781)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp 2022-01-07 21:52:15 UTC (rev 287781)
@@ -115,6 +115,9 @@
#if ENABLE(ARKIT_INLINE_PREVIEW)
copy->m_modelElementCacheDirectory = this->m_modelElementCacheDirectory;
#endif
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ copy->m_shouldAcceptInsecureCertificatesForWebSockets = this->m_shouldAcceptInsecureCertificatesForWebSockets;
+#endif
return copy;
}
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h (287780 => 287781)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h 2022-01-07 21:25:37 UTC (rev 287780)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h 2022-01-07 21:52:15 UTC (rev 287781)
@@ -197,6 +197,11 @@
void setWebPushMachServiceName(String&& name) { m_webPushMachServiceName = WTFMove(name); }
const String& webPushMachServiceName() const { return m_webPushMachServiceName; }
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ bool shouldAcceptInsecureCertificatesForWebSockets() const { return m_shouldAcceptInsecureCertificatesForWebSockets; }
+ void setShouldAcceptInsecureCertificatesForWebSockets(bool accept) { m_shouldAcceptInsecureCertificatesForWebSockets = accept; }
+#endif
+
private:
IsPersistent m_isPersistent { IsPersistent::No };
@@ -253,6 +258,9 @@
bool m_allowsHSTSWithUntrustedRootCertificate { false };
String m_pcmMachServiceName;
String m_webPushMachServiceName;
+#if !HAVE(NSURLSESSION_WEBSOCKET)
+ bool m_shouldAcceptInsecureCertificatesForWebSockets { false };
+#endif
#if PLATFORM(COCOA)
RetainPtr<CFDictionaryRef> m_proxyConfiguration;
#endif