⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 287781 in webkit


Ignore:
Timestamp:
Jan 7, 2022, 1:52:15 PM (5 years ago)
Author:
Patrick Angle
Message:

[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.
Source/WebCore:

  • 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:

Source/WebKit:

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):

Location:
trunk/Source
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r287779 r287781  
     12022-01-07  Patrick Angle  <pangle@apple.com>
     2
     3        [Cocoa] Web Driver: WebSocket over TLS failing over WebDriver with acceptInsecureCerts on Big Sur
     4        https://bugs.webkit.org/show_bug.cgi?id=234403
     5
     6        Reviewed by BJ Burg.
     7
     8        * page/SocketProvider.cpp:
     9        (WebCore::SocketProvider::createSocketStreamHandle):
     10        * platform/network/cf/SocketStreamHandleImpl.h:
     11        (WebCore::SocketStreamHandleImpl::create):
     12        * platform/network/cf/SocketStreamHandleImplCFNet.cpp:
     13        (WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
     14        (WebCore::SocketStreamHandleImpl::createStreams):
     15        * platform/network/curl/SocketStreamHandleImpl.h:
     16        (WebCore::SocketStreamHandleImpl::create):
     17        * platform/network/soup/SocketStreamHandleImpl.h:
     18
    1192022-01-07  Alan Bujtas  <zalan@apple.com>
    220
  • trunk/Source/WebCore/page/SocketProvider.cpp

    r266467 r287781  
    3434Ref<SocketStreamHandle> SocketProvider::createSocketStreamHandle(const URL& url, SocketStreamHandleClient& client, WebSocketIdentifier, PAL::SessionID sessionID, const String& credentialPartition, const StorageSessionProvider* provider)
    3535{
    36     return SocketStreamHandleImpl::create(url, client, sessionID, credentialPartition, { }, provider);
     36    static const auto shouldAcceptInsecureCertificates = false;
     37    return SocketStreamHandleImpl::create(url, client, sessionID, credentialPartition, { }, provider, shouldAcceptInsecureCertificates);
    3738}
    3839
  • trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImpl.h

    r278253 r287781  
    4848class SocketStreamHandleImpl : public SocketStreamHandle {
    4949public:
    50     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)); }
     50    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)); }
    5151
    5252    virtual ~SocketStreamHandleImpl();
     
    6262    bool sendPendingData();
    6363
    64     WEBCORE_EXPORT SocketStreamHandleImpl(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String& credentialPartition, SourceApplicationAuditToken&&, const StorageSessionProvider*);
     64    WEBCORE_EXPORT SocketStreamHandleImpl(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String& credentialPartition, SourceApplicationAuditToken&&, const StorageSessionProvider*, bool shouldAcceptInsecureCertificates);
    6565    void createStreams();
    6666    void scheduleStreams();
     
    100100    RetainPtr<CFHTTPMessageRef> m_proxyResponseMessage;
    101101    bool m_sentStoredCredentials;
     102    bool m_shouldAcceptInsecureCertificates;
    102103    RetainPtr<CFReadStreamRef> m_readStream;
    103104    RetainPtr<CFWriteStreamRef> m_writeStream;
  • trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp

    r287224 r287781  
    9797}
    9898
    99 SocketStreamHandleImpl::SocketStreamHandleImpl(const URL& url, SocketStreamHandleClient& client, PAL::SessionID sessionID, const String& credentialPartition, SourceApplicationAuditToken&& auditData, const StorageSessionProvider* provider)
     99SocketStreamHandleImpl::SocketStreamHandleImpl(const URL& url, SocketStreamHandleClient& client, PAL::SessionID sessionID, const String& credentialPartition, SourceApplicationAuditToken&& auditData, const StorageSessionProvider* provider, bool acceptInsecureCertificates)
    100100    : SocketStreamHandle(url, client)
    101101    , m_connectingSubstate(New)
    102102    , m_connectionType(Unknown)
    103103    , m_sentStoredCredentials(false)
     104    , m_shouldAcceptInsecureCertificates(acceptInsecureCertificates)
    104105    , m_credentialPartition(credentialPartition)
    105106    , m_auditData(WTFMove(auditData))
     
    358359
    359360    if (shouldUseSSL()) {
    360         CFBooleanRef validateCertificateChain = DeprecatedGlobalSettings::allowsAnySSLCertificate() ? kCFBooleanFalse : kCFBooleanTrue;
     361        // FIXME: rdar://86641948 Remove shouldAcceptInsecureCertificatesForWebSockets once HAVE(NSURLSESSION_WEBSOCKET) is supported on all Cocoa platforms.
     362        CFBooleanRef validateCertificateChain = DeprecatedGlobalSettings::allowsAnySSLCertificate() || m_shouldAcceptInsecureCertificates ? kCFBooleanFalse : kCFBooleanTrue;
    361363        const void* keys[] = {
    362364            kCFStreamSSLPeerName,
  • trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImpl.h

    r287684 r287781  
    4545class SocketStreamHandleImpl : public SocketStreamHandle, public CurlStream::Client {
    4646public:
    47     static Ref<SocketStreamHandleImpl> create(const URL& url, SocketStreamHandleClient& client, PAL::SessionID, const String&, SourceApplicationAuditToken&&, const StorageSessionProvider* provider) { return adoptRef(*new SocketStreamHandleImpl(url, client, provider)); }
     47    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)); }
    4848
    4949    virtual ~SocketStreamHandleImpl();
  • trunk/Source/WebCore/platform/network/soup/SocketStreamHandleImpl.h

    r278253 r287781  
    4848class SocketStreamHandleImpl final : public SocketStreamHandle {
    4949public:
    50     static Ref<SocketStreamHandleImpl> create(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String&, SourceApplicationAuditToken&&, const StorageSessionProvider*)
     50    static Ref<SocketStreamHandleImpl> create(const URL&, SocketStreamHandleClient&, PAL::SessionID, const String&, SourceApplicationAuditToken&&, const StorageSessionProvider*, bool)
    5151    {
    5252        RELEASE_ASSERT_NOT_REACHED();
  • trunk/Source/WebKit/ChangeLog

    r287775 r287781  
     12022-01-07  Patrick Angle  <pangle@apple.com>
     2
     3        [Cocoa] Web Driver: WebSocket over TLS failing over WebDriver with acceptInsecureCerts on Big Sur
     4        https://bugs.webkit.org/show_bug.cgi?id=234403
     5
     6        Reviewed by BJ Burg.
     7       
     8        macOS Big Sur and earlier do not use NSURLSession-based WebSockets, so we need a way to allow insecure
     9        certificates under automation that does not rely on the `WKNavigationDelegate` to determine if an
     10        authentication challenge should be accepted. In order to accomplish this we now plumb through an
     11        `_shouldAcceptInsecureCertificatesForWebSockets` value from `_WKAutomationSessionConfiguration` to
     12        `SocketStreamHandleImplCFNet` on platforms that do not `HAVE(NSURLSESSION_WEBSOCKET)`, which allows automation
     13        clients to enable this behavior when the `acceptInsecureCerts` capability is set on a session.
     14
     15        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     16        (WebKit::NetworkConnectionToWebProcess::createSocketStream):
     17        * NetworkProcess/NetworkSession.cpp:
     18        (WebKit::NetworkSession::NetworkSession):
     19        * NetworkProcess/NetworkSession.h:
     20        (WebKit::NetworkSession::shouldAcceptInsecureCertificatesForWebSockets const):
     21        * NetworkProcess/NetworkSessionCreationParameters.cpp:
     22        (WebKit::NetworkSessionCreationParameters::encode const):
     23        (WebKit::NetworkSessionCreationParameters::decode):
     24        * NetworkProcess/NetworkSessionCreationParameters.h:
     25        * NetworkProcess/NetworkSocketStream.cpp:
     26        (WebKit::NetworkSocketStream::create):
     27        (WebKit::NetworkSocketStream::NetworkSocketStream):
     28        * NetworkProcess/NetworkSocketStream.h:
     29        * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
     30        * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
     31        (-[_WKWebsiteDataStoreConfiguration _shouldAcceptInsecureCertificatesForWebSockets]):
     32        (-[_WKWebsiteDataStoreConfiguration _setShouldAcceptInsecureCertificatesForWebSockets:]):
     33        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
     34        (WebKit::WebsiteDataStore::parameters):
     35        * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
     36        (WebKit::WebsiteDataStoreConfiguration::copy const):
     37        * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
     38        (WebKit::WebsiteDataStoreConfiguration::shouldAcceptInsecureCertificatesForWebSockets const):
     39        (WebKit::WebsiteDataStoreConfiguration::setShouldAcceptInsecureCertificatesForWebSockets):
     40
    1412021-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
    242
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r287763 r287781  
    431431    token = { m_networkProcess->sourceApplicationAuditData() };
    432432#endif
    433     m_networkSocketStreams.add(identifier, NetworkSocketStream::create(m_networkProcess.get(), WTFMove(url), m_sessionID, cachePartition, identifier, m_connection, WTFMove(token)));
     433    auto acceptInsecureCertificates = false;
     434#if !HAVE(NSURLSESSION_WEBSOCKET)
     435    if (auto* session = networkSession())
     436        acceptInsecureCertificates = session->shouldAcceptInsecureCertificatesForWebSockets();
     437#endif
     438    m_networkSocketStreams.add(identifier, NetworkSocketStream::create(m_networkProcess.get(), WTFMove(url), m_sessionID, cachePartition, identifier, m_connection, WTFMove(token), acceptInsecureCertificates));
    434439}
    435440
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp

    r287731 r287781  
    133133    , m_notificationManager(*this, parameters.webPushMachServiceName)
    134134#endif
     135#if !HAVE(NSURLSESSION_WEBSOCKET)
     136    , m_shouldAcceptInsecureCertificatesForWebSockets(parameters.shouldAcceptInsecureCertificatesForWebSockets)
     137#endif
    135138{
    136139    if (!m_sessionID.isEphemeral()) {
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.h

    r287611 r287781  
    245245    NetworkNotificationManager& notificationManager() { return m_notificationManager; }
    246246#endif
     247   
     248#if !HAVE(NSURLSESSION_WEBSOCKET)
     249    bool shouldAcceptInsecureCertificatesForWebSockets() const { return m_shouldAcceptInsecureCertificatesForWebSockets; }
     250#endif
    247251
    248252protected:
     
    332336    NetworkNotificationManager m_notificationManager;
    333337#endif
     338#if !HAVE(NSURLSESSION_WEBSOCKET)
     339    bool m_shouldAcceptInsecureCertificatesForWebSockets { false };
     340#endif
    334341};
    335342
  • trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp

    r286355 r287781  
    9393    encoder << webPushMachServiceName;
    9494    encoder << enablePrivateClickMeasurementDebugMode;
     95#if !HAVE(NSURLSESSION_WEBSOCKET)
     96    encoder << shouldAcceptInsecureCertificatesForWebSockets;
     97#endif
    9598    encoder << resourceLoadStatisticsParameters;
    9699}
     
    324327    if (!enablePrivateClickMeasurementDebugMode)
    325328        return std::nullopt;
     329
     330#if !HAVE(NSURLSESSION_WEBSOCKET)
     331    std::optional<bool> shouldAcceptInsecureCertificatesForWebSockets;
     332    decoder >> shouldAcceptInsecureCertificatesForWebSockets;
     333    if (!shouldAcceptInsecureCertificatesForWebSockets)
     334        return std::nullopt;
     335#endif
    326336
    327337    std::optional<ResourceLoadStatisticsParameters> resourceLoadStatisticsParameters;
     
    383393        , WTFMove(*webPushMachServiceName)
    384394        , WTFMove(*enablePrivateClickMeasurementDebugMode)
     395#if !HAVE(NSURLSESSION_WEBSOCKET)
     396        , WTFMove(*shouldAcceptInsecureCertificatesForWebSockets)
     397#endif
    385398        , WTFMove(*resourceLoadStatisticsParameters)
    386399    }};
  • trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h

    r286355 r287781  
    109109    String webPushMachServiceName;
    110110    bool enablePrivateClickMeasurementDebugMode { false };
     111#if !HAVE(NSURLSESSION_WEBSOCKET)
     112    bool shouldAcceptInsecureCertificatesForWebSockets { false };
     113#endif
    111114
    112115    ResourceLoadStatisticsParameters resourceLoadStatisticsParameters;
  • trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.cpp

    r282755 r287781  
    3636using namespace WebCore;
    3737
    38 Ref<NetworkSocketStream> NetworkSocketStream::create(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData)
     38Ref<NetworkSocketStream> NetworkSocketStream::create(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData, bool shouldAcceptInsecureCertificates)
    3939{
    40     return adoptRef(*new NetworkSocketStream(networkProcess, WTFMove(url), sessionID, credentialPartition, identifier, connection, WTFMove(auditData)));
     40    return adoptRef(*new NetworkSocketStream(networkProcess, WTFMove(url), sessionID, credentialPartition, identifier, connection, WTFMove(auditData), shouldAcceptInsecureCertificates));
    4141}
    4242
    43 NetworkSocketStream::NetworkSocketStream(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData)
     43NetworkSocketStream::NetworkSocketStream(NetworkProcess& networkProcess, URL&& url, PAL::SessionID sessionID, const String& credentialPartition, WebSocketIdentifier identifier, IPC::Connection& connection, SourceApplicationAuditToken&& auditData, bool shouldAcceptInsecureCertificates)
    4444    : m_identifier(identifier)
    4545    , m_connection(connection)
    46     , m_impl(SocketStreamHandleImpl::create(url, *this, sessionID, credentialPartition, WTFMove(auditData), NetworkStorageSessionProvider::create(networkProcess, sessionID).ptr()))
     46    , m_impl(SocketStreamHandleImpl::create(url, *this, sessionID, credentialPartition, WTFMove(auditData), NetworkStorageSessionProvider::create(networkProcess, sessionID).ptr(), shouldAcceptInsecureCertificates))
    4747    , m_delayFailTimer(*this, &NetworkSocketStream::sendDelayedFailMessage)
    4848{
  • trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.h

    r278532 r287781  
    4747class NetworkSocketStream : public RefCounted<NetworkSocketStream>, public IPC::MessageSender, public IPC::MessageReceiver, public WebCore::SocketStreamHandleClient {
    4848public:
    49     static Ref<NetworkSocketStream> create(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&);
     49    static Ref<NetworkSocketStream> create(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&, bool shouldAcceptInsecureCertificates);
    5050    ~NetworkSocketStream();
    5151
     
    6969    uint64_t messageSenderDestinationID() const final;
    7070
    71     NetworkSocketStream(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&);
     71    NetworkSocketStream(NetworkProcess&, URL&&, PAL::SessionID, const String& credentialPartition, WebCore::WebSocketIdentifier, IPC::Connection&, WebCore::SourceApplicationAuditToken&&, bool shouldAcceptInsecureCertificates);
    7272
    7373    WebCore::WebSocketIdentifier m_identifier;
  • trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h

    r286355 r287781  
    5555@property (nonatomic) BOOL shouldRunServiceWorkersOnMainThreadForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    5656
     57// FIXME: rdar://86641948 Remove acceptInsecureCertificatesForWebSockets once HAVE(NSURLSESSION_WEBSOCKET) is supported on all Cocoa platforms.
     58@property (nonatomic, setter=_setShouldAcceptInsecureCertificatesForWebSockets:) BOOL _shouldAcceptInsecureCertificatesForWebSockets WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
     59
    5760// These properties only make sense for persistent data stores, and will throw
    5861// an exception if set for non-persistent stores.
  • trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm

    r286816 r287781  
    497497}
    498498
     499- (BOOL)_shouldAcceptInsecureCertificatesForWebSockets
     500{
     501#if !HAVE(NSURLSESSION_WEBSOCKET)
     502    return _configuration->shouldAcceptInsecureCertificatesForWebSockets();
     503#else
     504    return false;
     505#endif
     506}
     507
     508- (void)_setShouldAcceptInsecureCertificatesForWebSockets:(BOOL)accept
     509{
     510#if !HAVE(NSURLSESSION_WEBSOCKET)
     511    _configuration->setShouldAcceptInsecureCertificatesForWebSockets(accept);
     512#else
     513    UNUSED_PARAM(accept);
     514#endif
     515}
     516
    499517- (void)setProxyConfiguration:(NSDictionary *)configuration
    500518{
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp

    r287731 r287781  
    18921892    networkSessionParameters.pcmMachServiceName = m_configuration->pcmMachServiceName();
    18931893    networkSessionParameters.webPushMachServiceName = m_configuration->webPushMachServiceName();
     1894#if !HAVE(NSURLSESSION_WEBSOCKET)
     1895    networkSessionParameters.shouldAcceptInsecureCertificatesForWebSockets = m_configuration->shouldAcceptInsecureCertificatesForWebSockets();
     1896#endif
    18941897
    18951898    parameters.networkSessionParameters = WTFMove(networkSessionParameters);
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp

    r286355 r287781  
    116116    copy->m_modelElementCacheDirectory = this->m_modelElementCacheDirectory;
    117117#endif
     118#if !HAVE(NSURLSESSION_WEBSOCKET)
     119    copy->m_shouldAcceptInsecureCertificatesForWebSockets = this->m_shouldAcceptInsecureCertificatesForWebSockets;
     120#endif
    118121
    119122    return copy;
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h

    r286816 r287781  
    197197    void setWebPushMachServiceName(String&& name) { m_webPushMachServiceName = WTFMove(name); }
    198198    const String& webPushMachServiceName() const { return m_webPushMachServiceName; }
     199
     200#if !HAVE(NSURLSESSION_WEBSOCKET)
     201    bool shouldAcceptInsecureCertificatesForWebSockets() const { return m_shouldAcceptInsecureCertificatesForWebSockets; }
     202    void setShouldAcceptInsecureCertificatesForWebSockets(bool accept) { m_shouldAcceptInsecureCertificatesForWebSockets = accept; }
     203#endif
    199204
    200205private:
     
    254259    String m_pcmMachServiceName;
    255260    String m_webPushMachServiceName;
     261#if !HAVE(NSURLSESSION_WEBSOCKET)
     262    bool m_shouldAcceptInsecureCertificatesForWebSockets { false };
     263#endif
    256264#if PLATFORM(COCOA)
    257265    RetainPtr<CFDictionaryRef> m_proxyConfiguration;
Note: See TracChangeset for help on using the changeset viewer.