Changeset 250458 in webkit


Ignore:
Timestamp:
Sep 27, 2019, 1:57:23 PM (6 years ago)
Author:
achristensen@apple.com
Message:

Move shouldUseTestingNetworkSession from NetworkProcessCreationParameters to NetworkSessionCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=202327

Reviewed by Tim Horton.

Source/WebKit:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensureSession):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::NetworkSession):

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/curl/RemoteNetworkingContextCurl.cpp:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.cpp:

(WKWebsiteDataStoreConfigurationSetPerOriginStorageQuota):
(WKWebsiteDataStoreConfigurationSetNetworkCacheSpeculativeValidationEnabled):
(WKWebsiteDataStoreConfigurationGetTestingSessionEnabled):
(WKWebsiteDataStoreConfigurationSetTestingSessionEnabled):

  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::testingSessionEnabled const):
(WebKit::WebsiteDataStoreConfiguration::setTestingSessionEnabled):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::websiteDataStore):

Location:
trunk
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r250457 r250458  
     12019-09-27  Alex Christensen  <achristensen@webkit.org>
     2
     3        Move shouldUseTestingNetworkSession from NetworkProcessCreationParameters to NetworkSessionCreationParameters
     4        https://bugs.webkit.org/show_bug.cgi?id=202327
     5
     6        Reviewed by Tim Horton.
     7
     8        * NetworkProcess/NetworkProcess.cpp:
     9        (WebKit::NetworkProcess::initializeNetworkProcess):
     10        (WebKit::NetworkProcess::ensureSession):
     11        * NetworkProcess/NetworkProcess.h:
     12        * NetworkProcess/NetworkProcessCreationParameters.cpp:
     13        (WebKit::NetworkProcessCreationParameters::encode const):
     14        (WebKit::NetworkProcessCreationParameters::decode):
     15        * NetworkProcess/NetworkProcessCreationParameters.h:
     16        * NetworkProcess/NetworkSession.cpp:
     17        (WebKit::NetworkSession::NetworkSession):
     18        * NetworkProcess/NetworkSessionCreationParameters.cpp:
     19        (WebKit::NetworkSessionCreationParameters::encode const):
     20        (WebKit::NetworkSessionCreationParameters::decode):
     21        * NetworkProcess/NetworkSessionCreationParameters.h:
     22        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
     23        (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
     24        * NetworkProcess/curl/RemoteNetworkingContextCurl.cpp:
     25        (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
     26        * NetworkProcess/mac/RemoteNetworkingContext.mm:
     27        (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
     28        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
     29        (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
     30        * UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.cpp:
     31        (WKWebsiteDataStoreConfigurationSetPerOriginStorageQuota):
     32        (WKWebsiteDataStoreConfigurationSetNetworkCacheSpeculativeValidationEnabled):
     33        (WKWebsiteDataStoreConfigurationGetTestingSessionEnabled):
     34        (WKWebsiteDataStoreConfigurationSetTestingSessionEnabled):
     35        * UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h:
     36        * UIProcess/WebProcessPool.cpp:
     37        (WebKit::WebProcessPool::ensureNetworkProcess):
     38        * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
     39        (WebKit::WebsiteDataStore::parameters):
     40        * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
     41        (WebKit::WebsiteDataStoreConfiguration::copy):
     42        * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
     43        (WebKit::WebsiteDataStoreConfiguration::testingSessionEnabled const):
     44        (WebKit::WebsiteDataStoreConfiguration::setTestingSessionEnabled):
     45
    1462019-09-27  Alex Christensen  <achristensen@webkit.org>
    247
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r250456 r250458  
    304304    }
    305305
    306     m_diskCacheIsDisabledForTesting = parameters.shouldUseTestingNetworkSession;
    307 
    308306    setCacheModel(parameters.cacheModel, parameters.defaultDataStoreParameters.networkSessionParameters.networkCacheDirectory);
    309 
    310     if (parameters.shouldUseTestingNetworkSession) {
    311         m_shouldUseTestingNetworkStorageSession = true;
    312         m_defaultNetworkStorageSession = newTestingSession(PAL::SessionID::defaultSessionID());
    313     }
    314307
    315308#if ENABLE(RESOURCE_LOAD_STATISTICS)
     
    508501
    509502#if PLATFORM(COCOA)
    510 void NetworkProcess::ensureSession(const PAL::SessionID& sessionID, const String& identifierBase, RetainPtr<CFHTTPCookieStorageRef>&& cookieStorage)
     503void NetworkProcess::ensureSession(const PAL::SessionID& sessionID, bool shouldUseTestingNetworkSession, const String& identifierBase, RetainPtr<CFHTTPCookieStorageRef>&& cookieStorage)
    511504#else
    512 void NetworkProcess::ensureSession(const PAL::SessionID& sessionID, const String& identifierBase)
     505void NetworkProcess::ensureSession(const PAL::SessionID& sessionID, bool shouldUseTestingNetworkSession, const String& identifierBase)
    513506#endif
    514507{
     
    519512        return;
    520513
    521     if (m_shouldUseTestingNetworkStorageSession) {
     514    if (shouldUseTestingNetworkSession) {
    522515        addResult.iterator->value = newTestingSession(sessionID);
    523516        return;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r250426 r250458  
    174174    std::unique_ptr<WebCore::NetworkStorageSession> newTestingSession(const PAL::SessionID&);
    175175#if PLATFORM(COCOA)
    176     void ensureSession(const PAL::SessionID&, const String& identifier, RetainPtr<CFHTTPCookieStorageRef>&&);
     176    void ensureSession(const PAL::SessionID&, bool shouldUseTestingNetworkSession, const String& identifier, RetainPtr<CFHTTPCookieStorageRef>&&);
    177177#else
    178     void ensureSession(const PAL::SessionID&, const String& identifier);
     178    void ensureSession(const PAL::SessionID&, bool shouldUseTestingNetworkSession, const String& identifier);
    179179#endif
    180180
     
    477477    CacheModel m_cacheModel { CacheModel::DocumentViewer };
    478478    bool m_suppressMemoryPressureHandler { false };
    479     bool m_diskCacheIsDisabledForTesting { false };
    480479    String m_uiProcessBundleIdentifier;
    481480    DownloadManager m_downloadManager;
     
    492491    HashMap<PAL::SessionID, std::unique_ptr<WebCore::NetworkStorageSession>> m_networkStorageSessions;
    493492    mutable std::unique_ptr<WebCore::NetworkStorageSession> m_defaultNetworkStorageSession;
    494     bool m_shouldUseTestingNetworkStorageSession { false };
    495493
    496494    RefPtr<StorageManagerSet> m_storageManagerSet;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp

    r250456 r250458  
    5050#endif
    5151    encoder << shouldSuppressMemoryPressureHandler;
    52     encoder << shouldUseTestingNetworkSession;
    5352    encoder << urlSchemesRegisteredForCustomProtocols;
    5453#if PLATFORM(COCOA)
     
    119118    if (!decoder.decode(result.shouldSuppressMemoryPressureHandler))
    120119        return false;
    121     if (!decoder.decode(result.shouldUseTestingNetworkSession))
    122         return false;
    123120    if (!decoder.decode(result.urlSchemesRegisteredForCustomProtocols))
    124121        return false;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h

    r250456 r250458  
    6363#endif
    6464    bool shouldSuppressMemoryPressureHandler { false };
    65     bool shouldUseTestingNetworkSession { false };
    6665
    6766    Vector<String> urlSchemesRegisteredForCustomProtocols;
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp

    r250413 r250458  
    9696            cacheOptions.add(NetworkCache::CacheOption::SpeculativeRevalidation);
    9797#endif
     98        if (parameters.shouldUseTestingNetworkSession)
     99            cacheOptions.add(NetworkCache::CacheOption::TestingMode);
    98100
    99101        m_cache = NetworkCache::Cache::open(networkProcess, networkCacheDirectory, cacheOptions, m_sessionID);
  • trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp

    r250377 r250458  
    7878    encoder << fastServerTrustEvaluationEnabled;
    7979    encoder << networkCacheSpeculativeValidationEnabled;
     80    encoder << shouldUseTestingNetworkSession;
    8081}
    8182
     
    235236    decoder >> networkCacheSpeculativeValidationEnabled;
    236237    if (!networkCacheSpeculativeValidationEnabled)
     238        return WTF::nullopt;
     239   
     240    Optional<bool> shouldUseTestingNetworkSession;
     241    decoder >> shouldUseTestingNetworkSession;
     242    if (!shouldUseTestingNetworkSession)
    237243        return WTF::nullopt;
    238244   
     
    274280        , WTFMove(*fastServerTrustEvaluationEnabled)
    275281        , WTFMove(*networkCacheSpeculativeValidationEnabled)
     282        , WTFMove(*shouldUseTestingNetworkSession)
    276283    }};
    277284}
  • trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h

    r250377 r250458  
    9696    bool fastServerTrustEvaluationEnabled { false };
    9797    bool networkCacheSpeculativeValidationEnabled { false };
     98    bool shouldUseTestingNetworkSession { false };
    9899};
    99100
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm

    r250421 r250458  
    114114    // One non-obvious constraint is that we need to use -setSharedURLCache: even in testing mode, to prevent creating a default one on disk later, when some other code touches the cache.
    115115
    116     ASSERT(!m_diskCacheIsDisabledForTesting);
    117 
    118116    m_cacheOptions = { NetworkCache::CacheOption::RegisterNotify };
    119     if (parameters.shouldUseTestingNetworkSession)
    120         m_cacheOptions.add(NetworkCache::CacheOption::TestingMode);
    121117
    122118    // Disable NSURLCache.
  • trunk/Source/WebKit/NetworkProcess/curl/RemoteNetworkingContextCurl.cpp

    r248854 r250458  
    4242        return;
    4343
    44     networkProcess.ensureSession(sessionID, String::number(sessionID.toUInt64()));
     44    networkProcess.ensureSession(sessionID, parameters.networkSessionParameters.shouldUseTestingNetworkSession, String::number(sessionID.toUInt64()));
    4545    networkProcess.setSession(sessionID, NetworkSession::create(networkProcess, WTFMove(parameters.networkSessionParameters)));
    4646}
  • trunk/Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm

    r248854 r250458  
    5959        uiProcessCookieStorage = cookieStorageFromIdentifyingData(parameters.uiProcessCookieStorageIdentifier);
    6060
    61     networkProcess.ensureSession(sessionID, makeString(base, '.', sessionID.toUInt64()), WTFMove(uiProcessCookieStorage));
     61    networkProcess.ensureSession(sessionID, parameters.networkSessionParameters.shouldUseTestingNetworkSession, makeString(base, '.', sessionID.toUInt64()), WTFMove(uiProcessCookieStorage));
    6262
    6363    auto* session = networkProcess.storageSession(sessionID);
  • trunk/Source/WebKit/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp

    r248854 r250458  
    4343        return;
    4444
    45     networkProcess.ensureSession(sessionID, String::number(sessionID.toUInt64()));
     45    networkProcess.ensureSession(sessionID, parameters.networkSessionParameters.shouldUseTestingNetworkSession, String::number(sessionID.toUInt64()));
    4646    networkProcess.setSession(sessionID, NetworkSession::create(networkProcess, WTFMove(parameters.networkSessionParameters)));
    4747}
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.cpp

    r250421 r250458  
    118118void WKWebsiteDataStoreConfigurationSetPerOriginStorageQuota(WKWebsiteDataStoreConfigurationRef configuration, uint64_t quota)
    119119{
    120     return WebKit::toImpl(configuration)->setPerOriginStorageQuota(quota);
     120    WebKit::toImpl(configuration)->setPerOriginStorageQuota(quota);
    121121}
    122122
     
    128128void WKWebsiteDataStoreConfigurationSetNetworkCacheSpeculativeValidationEnabled(WKWebsiteDataStoreConfigurationRef configuration, bool enabled)
    129129{
    130     return WebKit::toImpl(configuration)->setNetworkCacheSpeculativeValidationEnabled(enabled);
     130    WebKit::toImpl(configuration)->setNetworkCacheSpeculativeValidationEnabled(enabled);
    131131}
     132
     133bool WKWebsiteDataStoreConfigurationGetTestingSessionEnabled(WKWebsiteDataStoreConfigurationRef configuration)
     134{
     135    return WebKit::toImpl(configuration)->testingSessionEnabled();
     136}
     137
     138void WKWebsiteDataStoreConfigurationSetTestingSessionEnabled(WKWebsiteDataStoreConfigurationRef configuration, bool enabled)
     139{
     140    WebKit::toImpl(configuration)->setTestingSessionEnabled(enabled);
     141}
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h

    r250421 r250458  
    6464WK_EXPORT void WKWebsiteDataStoreConfigurationSetNetworkCacheSpeculativeValidationEnabled(WKWebsiteDataStoreConfigurationRef configuration, bool enabled);
    6565
     66WK_EXPORT bool WKWebsiteDataStoreConfigurationGetTestingSessionEnabled(WKWebsiteDataStoreConfigurationRef configuration);
     67WK_EXPORT void WKWebsiteDataStoreConfigurationSetTestingSessionEnabled(WKWebsiteDataStoreConfigurationRef configuration, bool enabled);
     68
    6669#ifdef __cplusplus
    6770}
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r250457 r250458  
    514514        SandboxExtension::createHandleForReadWriteDirectory(parameters.hstsStorageDirectory, parameters.hstsStorageDirectoryExtensionHandle);
    515515
    516     parameters.shouldUseTestingNetworkSession = m_shouldUseTestingNetworkSession;
    517 
    518516    parameters.urlSchemesRegisteredAsSecure = copyToVector(m_schemesToRegisterAsSecure);
    519517    parameters.urlSchemesRegisteredAsBypassingContentSecurityPolicy = copyToVector(m_schemesToRegisterAsBypassingContentSecurityPolicy);
  • trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm

    r250426 r250458  
    146146        m_configuration->fastServerTrustEvaluationEnabled(),
    147147        m_configuration->networkCacheSpeculativeValidationEnabled(),
     148        m_configuration->testingSessionEnabled()
    148149    };
    149150    networkingHasBegun();
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp

    r250426 r250458  
    8484    copy->m_allowsCellularAccess = this->m_allowsCellularAccess;
    8585    copy->m_dataConnectionServiceType = this->m_dataConnectionServiceType;
     86    copy->m_testingSessionEnabled = this->m_testingSessionEnabled;
    8687#if PLATFORM(COCOA)
    8788    if (m_proxyConfiguration)
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h

    r250426 r250458  
    8383    void setNetworkCacheSpeculativeValidationEnabled(bool enabled) { m_networkCacheSpeculativeValidationEnabled = enabled; }
    8484
     85    bool testingSessionEnabled() const { return m_testingSessionEnabled; }
     86    void setTestingSessionEnabled(bool enabled) { m_testingSessionEnabled = enabled; }
     87   
    8588#if PLATFORM(COCOA)
    8689    CFDictionaryRef proxyConfiguration() const { return m_proxyConfiguration.get(); }
     
    168171    bool m_fastServerTrustEvaluationEnabled { false };
    169172    bool m_serviceWorkerProcessTerminationDelayEnabled { true };
     173    bool m_testingSessionEnabled { false };
    170174#if PLATFORM(COCOA)
    171175    RetainPtr<CFDictionaryRef> m_proxyConfiguration;
  • trunk/Tools/ChangeLog

    r250426 r250458  
     12019-09-27  Alex Christensen  <achristensen@webkit.org>
     2
     3        Move shouldUseTestingNetworkSession from NetworkProcessCreationParameters to NetworkSessionCreationParameters
     4        https://bugs.webkit.org/show_bug.cgi?id=202327
     5
     6        Reviewed by Tim Horton.
     7
     8        * WebKitTestRunner/TestController.cpp:
     9        (WTR::TestController::websiteDataStore):
     10
    1112019-09-27  Alex Christensen  <achristensen@webkit.org>
    212
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r250422 r250458  
    526526            WKWebsiteDataStoreConfigurationSetPerOriginStorageQuota(configuration.get(), 400 * 1024);
    527527            WKWebsiteDataStoreConfigurationSetNetworkCacheSpeculativeValidationEnabled(configuration.get(), true);
     528            WKWebsiteDataStoreConfigurationSetTestingSessionEnabled(configuration.get(), true);
    528529        }
    529530        dataStore = WKWebsiteDataStoreCreateWithConfiguration(configuration.get());
Note: See TracChangeset for help on using the changeset viewer.