Changeset 239680 in webkit


Ignore:
Timestamp:
Jan 7, 2019, 10:03:11 AM (6 years ago)
Author:
achristensen@apple.com
Message:

Reduce use of NetworkProcess::singleton
https://bugs.webkit.org/show_bug.cgi?id=193197

Reviewed by Brady Eidson.

Pass it around as a Ref<NetworkProcess> as a step towards reducing global state.
Soup's WebFrameNetworkingContext no longer makes a NetworkSession like all other ports
because networking is no longer done in the WebProcess.

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::create):
(WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
(WebKit::WebIDBConnectionToClient::disconnectedFromWebProcess):
(WebKit::WebIDBConnectionToClient::deleteDatabase):
(WebKit::WebIDBConnectionToClient::openDatabase):
(WebKit::WebIDBConnectionToClient::abortTransaction):
(WebKit::WebIDBConnectionToClient::commitTransaction):
(WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBConnectionToClient::createObjectStore):
(WebKit::WebIDBConnectionToClient::deleteObjectStore):
(WebKit::WebIDBConnectionToClient::renameObjectStore):
(WebKit::WebIDBConnectionToClient::clearObjectStore):
(WebKit::WebIDBConnectionToClient::createIndex):
(WebKit::WebIDBConnectionToClient::deleteIndex):
(WebKit::WebIDBConnectionToClient::renameIndex):
(WebKit::WebIDBConnectionToClient::putOrAdd):
(WebKit::WebIDBConnectionToClient::getRecord):
(WebKit::WebIDBConnectionToClient::getAllRecords):
(WebKit::WebIDBConnectionToClient::getCount):
(WebKit::WebIDBConnectionToClient::deleteRecord):
(WebKit::WebIDBConnectionToClient::openCursor):
(WebKit::WebIDBConnectionToClient::iterateCursor):
(WebKit::WebIDBConnectionToClient::establishTransaction):
(WebKit::WebIDBConnectionToClient::databaseConnectionPendingClose):
(WebKit::WebIDBConnectionToClient::databaseConnectionClosed):
(WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent):
(WebKit::WebIDBConnectionToClient::openDBRequestCancelled):
(WebKit::WebIDBConnectionToClient::confirmDidCloseFromServer):
(WebKit::WebIDBConnectionToClient::getAllDatabaseNames):

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::create):
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::createSocketStream):
(WebKit::NetworkConnectionToWebProcess::prefetchDNS):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
(WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession):
(WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer):
(WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::networkProcess):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::singleton):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::fetchDiskCacheEntries):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::clearDiskCacheEntries):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::getNetworkProcessStatistics):
(WebKit::NetworkProcess::idbServer):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::convertToDownload):
(WebKit::NetworkResourceLoader::isAlwaysOnLoggingAllowed const):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::create):
(WebKit::NetworkSession::NetworkSession):

  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::networkProcess):

  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::isAlwaysOnLoggingAllowed const):

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::clearDiskCache):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
(WebKit::NetworkSessionCocoa::create):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • NetworkProcess/curl/NetworkSessionCurl.cpp:

(WebKit::NetworkSessionCurl::NetworkSessionCurl):

  • NetworkProcess/curl/NetworkSessionCurl.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • NetworkProcess/soup/NetworkSessionSoup.cpp:

(WebKit::NetworkSessionSoup::NetworkSessionSoup):

  • NetworkProcess/soup/NetworkSessionSoup.h:
Location:
trunk/Source/WebKit
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r239671 r239680  
     12019-01-07  Alex Christensen  <achristensen@webkit.org>
     2
     3        Reduce use of NetworkProcess::singleton
     4        https://bugs.webkit.org/show_bug.cgi?id=193197
     5
     6        Reviewed by Brady Eidson.
     7
     8        Pass it around as a Ref<NetworkProcess> as a step towards reducing global state.
     9        Soup's WebFrameNetworkingContext no longer makes a NetworkSession like all other ports
     10        because networking is no longer done in the WebProcess.
     11
     12        * NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:
     13        (WebKit::WebIDBConnectionToClient::create):
     14        (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
     15        (WebKit::WebIDBConnectionToClient::disconnectedFromWebProcess):
     16        (WebKit::WebIDBConnectionToClient::deleteDatabase):
     17        (WebKit::WebIDBConnectionToClient::openDatabase):
     18        (WebKit::WebIDBConnectionToClient::abortTransaction):
     19        (WebKit::WebIDBConnectionToClient::commitTransaction):
     20        (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction):
     21        (WebKit::WebIDBConnectionToClient::createObjectStore):
     22        (WebKit::WebIDBConnectionToClient::deleteObjectStore):
     23        (WebKit::WebIDBConnectionToClient::renameObjectStore):
     24        (WebKit::WebIDBConnectionToClient::clearObjectStore):
     25        (WebKit::WebIDBConnectionToClient::createIndex):
     26        (WebKit::WebIDBConnectionToClient::deleteIndex):
     27        (WebKit::WebIDBConnectionToClient::renameIndex):
     28        (WebKit::WebIDBConnectionToClient::putOrAdd):
     29        (WebKit::WebIDBConnectionToClient::getRecord):
     30        (WebKit::WebIDBConnectionToClient::getAllRecords):
     31        (WebKit::WebIDBConnectionToClient::getCount):
     32        (WebKit::WebIDBConnectionToClient::deleteRecord):
     33        (WebKit::WebIDBConnectionToClient::openCursor):
     34        (WebKit::WebIDBConnectionToClient::iterateCursor):
     35        (WebKit::WebIDBConnectionToClient::establishTransaction):
     36        (WebKit::WebIDBConnectionToClient::databaseConnectionPendingClose):
     37        (WebKit::WebIDBConnectionToClient::databaseConnectionClosed):
     38        (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded):
     39        (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent):
     40        (WebKit::WebIDBConnectionToClient::openDBRequestCancelled):
     41        (WebKit::WebIDBConnectionToClient::confirmDidCloseFromServer):
     42        (WebKit::WebIDBConnectionToClient::getAllDatabaseNames):
     43        * NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
     44        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     45        (WebKit::NetworkConnectionToWebProcess::create):
     46        (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
     47        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
     48        (WebKit::NetworkConnectionToWebProcess::didClose):
     49        (WebKit::NetworkConnectionToWebProcess::createSocketStream):
     50        (WebKit::NetworkConnectionToWebProcess::prefetchDNS):
     51        (WebKit::NetworkConnectionToWebProcess::startDownload):
     52        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
     53        (WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession):
     54        (WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer):
     55        (WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):
     56        * NetworkProcess/NetworkConnectionToWebProcess.h:
     57        (WebKit::NetworkConnectionToWebProcess::networkProcess):
     58        * NetworkProcess/NetworkProcess.cpp:
     59        (WebKit::NetworkProcess::singleton):
     60        (WebKit::NetworkProcess::initializeNetworkProcess):
     61        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
     62        (WebKit::NetworkProcess::addWebsiteDataStore):
     63        (WebKit::fetchDiskCacheEntries):
     64        (WebKit::NetworkProcess::fetchWebsiteData):
     65        (WebKit::clearDiskCacheEntries):
     66        (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
     67        (WebKit::NetworkProcess::getNetworkProcessStatistics):
     68        (WebKit::NetworkProcess::idbServer):
     69        * NetworkProcess/NetworkProcess.h:
     70        * NetworkProcess/NetworkResourceLoader.cpp:
     71        (WebKit::NetworkResourceLoader::startNetworkLoad):
     72        (WebKit::NetworkResourceLoader::convertToDownload):
     73        (WebKit::NetworkResourceLoader::isAlwaysOnLoggingAllowed const):
     74        * NetworkProcess/NetworkSession.cpp:
     75        (WebKit::NetworkSession::create):
     76        (WebKit::NetworkSession::NetworkSession):
     77        * NetworkProcess/NetworkSession.h:
     78        (WebKit::NetworkSession::networkProcess):
     79        * NetworkProcess/RemoteNetworkingContext.h:
     80        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
     81        (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
     82        (WebKit::NetworkDataTaskCocoa::isAlwaysOnLoggingAllowed const):
     83        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
     84        (WebKit::NetworkProcess::clearDiskCache):
     85        * NetworkProcess/cocoa/NetworkSessionCocoa.h:
     86        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
     87        (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
     88        (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
     89        (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
     90        (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
     91        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
     92        (WebKit::NetworkSessionCocoa::create):
     93        (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
     94        * NetworkProcess/curl/NetworkSessionCurl.cpp:
     95        (WebKit::NetworkSessionCurl::NetworkSessionCurl):
     96        * NetworkProcess/curl/NetworkSessionCurl.h:
     97        * NetworkProcess/mac/RemoteNetworkingContext.mm:
     98        (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
     99        * NetworkProcess/soup/NetworkSessionSoup.cpp:
     100        (WebKit::NetworkSessionSoup::NetworkSessionSoup):
     101        * NetworkProcess/soup/NetworkSessionSoup.h:
     102
    11032019-01-07  Alex Christensen  <achristensen@webkit.org>
    2104
  • trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp

    r239143 r239680  
    4545using namespace WebCore;
    4646
    47 Ref<WebIDBConnectionToClient> WebIDBConnectionToClient::create(NetworkConnectionToWebProcess& connection, uint64_t serverConnectionIdentifier, PAL::SessionID sessionID)
    48 {
    49     return adoptRef(*new WebIDBConnectionToClient(connection, serverConnectionIdentifier, sessionID));
    50 }
    51 
    52 WebIDBConnectionToClient::WebIDBConnectionToClient(NetworkConnectionToWebProcess& connection, uint64_t serverConnectionIdentifier, PAL::SessionID sessionID)
     47Ref<WebIDBConnectionToClient> WebIDBConnectionToClient::create(NetworkProcess& networkProcess, NetworkConnectionToWebProcess& connection, uint64_t serverConnectionIdentifier, PAL::SessionID sessionID)
     48{
     49    return adoptRef(*new WebIDBConnectionToClient(networkProcess, connection, serverConnectionIdentifier, sessionID));
     50}
     51
     52WebIDBConnectionToClient::WebIDBConnectionToClient(NetworkProcess& networkProcess, NetworkConnectionToWebProcess& connection, uint64_t serverConnectionIdentifier, PAL::SessionID sessionID)
    5353    : m_connection(connection)
     54    , m_networkProcess(networkProcess)
    5455    , m_identifier(serverConnectionIdentifier)
    5556    , m_sessionID(sessionID)
     
    5758    relaxAdoptionRequirement();
    5859    m_connectionToClient = IDBServer::IDBConnectionToClient::create(*this);
    59     NetworkProcess::singleton().idbServer(m_sessionID).registerConnection(*m_connectionToClient);
     60    networkProcess.idbServer(m_sessionID).registerConnection(*m_connectionToClient);
    6061}
    6162
     
    6667void WebIDBConnectionToClient::disconnectedFromWebProcess()
    6768{
    68     NetworkProcess::singleton().idbServer(m_sessionID).unregisterConnection(*m_connectionToClient);
     69    m_networkProcess->idbServer(m_sessionID).unregisterConnection(*m_connectionToClient);
    6970}
    7071
     
    217218void WebIDBConnectionToClient::deleteDatabase(const IDBRequestData& request)
    218219{
    219     NetworkProcess::singleton().idbServer(m_sessionID).deleteDatabase(request);
     220    m_networkProcess->idbServer(m_sessionID).deleteDatabase(request);
    220221}
    221222
    222223void WebIDBConnectionToClient::openDatabase(const IDBRequestData& request)
    223224{
    224     NetworkProcess::singleton().idbServer(m_sessionID).openDatabase(request);
     225    m_networkProcess->idbServer(m_sessionID).openDatabase(request);
    225226}
    226227
    227228void WebIDBConnectionToClient::abortTransaction(const IDBResourceIdentifier& transactionIdentifier)
    228229{
    229     NetworkProcess::singleton().idbServer(m_sessionID).abortTransaction(transactionIdentifier);
     230    m_networkProcess->idbServer(m_sessionID).abortTransaction(transactionIdentifier);
    230231}
    231232
    232233void WebIDBConnectionToClient::commitTransaction(const IDBResourceIdentifier& transactionIdentifier)
    233234{
    234     NetworkProcess::singleton().idbServer(m_sessionID).commitTransaction(transactionIdentifier);
     235    m_networkProcess->idbServer(m_sessionID).commitTransaction(transactionIdentifier);
    235236}
    236237
    237238void WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
    238239{
    239     NetworkProcess::singleton().idbServer(m_sessionID).didFinishHandlingVersionChangeTransaction(databaseConnectionIdentifier, transactionIdentifier);
     240    m_networkProcess->idbServer(m_sessionID).didFinishHandlingVersionChangeTransaction(databaseConnectionIdentifier, transactionIdentifier);
    240241}
    241242
    242243void WebIDBConnectionToClient::createObjectStore(const IDBRequestData& request, const IDBObjectStoreInfo& info)
    243244{
    244     NetworkProcess::singleton().idbServer(m_sessionID).createObjectStore(request, info);
     245    m_networkProcess->idbServer(m_sessionID).createObjectStore(request, info);
    245246}
    246247
    247248void WebIDBConnectionToClient::deleteObjectStore(const IDBRequestData& request, const String& name)
    248249{
    249     NetworkProcess::singleton().idbServer(m_sessionID).deleteObjectStore(request, name);
     250    m_networkProcess->idbServer(m_sessionID).deleteObjectStore(request, name);
    250251}
    251252
    252253void WebIDBConnectionToClient::renameObjectStore(const IDBRequestData& request, uint64_t objectStoreIdentifier, const String& newName)
    253254{
    254     NetworkProcess::singleton().idbServer(m_sessionID).renameObjectStore(request, objectStoreIdentifier, newName);
     255    m_networkProcess->idbServer(m_sessionID).renameObjectStore(request, objectStoreIdentifier, newName);
    255256}
    256257
    257258void WebIDBConnectionToClient::clearObjectStore(const IDBRequestData& request, uint64_t objectStoreIdentifier)
    258259{
    259     NetworkProcess::singleton().idbServer(m_sessionID).clearObjectStore(request, objectStoreIdentifier);
     260    m_networkProcess->idbServer(m_sessionID).clearObjectStore(request, objectStoreIdentifier);
    260261}
    261262
    262263void WebIDBConnectionToClient::createIndex(const IDBRequestData& request, const IDBIndexInfo& info)
    263264{
    264     NetworkProcess::singleton().idbServer(m_sessionID).createIndex(request, info);
     265    m_networkProcess->idbServer(m_sessionID).createIndex(request, info);
    265266}
    266267
    267268void WebIDBConnectionToClient::deleteIndex(const IDBRequestData& request, uint64_t objectStoreIdentifier, const String& name)
    268269{
    269     NetworkProcess::singleton().idbServer(m_sessionID).deleteIndex(request, objectStoreIdentifier, name);
     270    m_networkProcess->idbServer(m_sessionID).deleteIndex(request, objectStoreIdentifier, name);
    270271}
    271272
    272273void WebIDBConnectionToClient::renameIndex(const IDBRequestData& request, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, const String& newName)
    273274{
    274     NetworkProcess::singleton().idbServer(m_sessionID).renameIndex(request, objectStoreIdentifier, indexIdentifier, newName);
     275    m_networkProcess->idbServer(m_sessionID).renameIndex(request, objectStoreIdentifier, indexIdentifier, newName);
    275276}
    276277
     
    287288    IndexedDB::ObjectStoreOverwriteMode mode = static_cast<IndexedDB::ObjectStoreOverwriteMode>(overwriteMode);
    288289
    289     NetworkProcess::singleton().idbServer(m_sessionID).putOrAdd(request, key, value, mode);
     290    m_networkProcess->idbServer(m_sessionID).putOrAdd(request, key, value, mode);
    290291}
    291292
    292293void WebIDBConnectionToClient::getRecord(const IDBRequestData& request, const IDBGetRecordData& getRecordData)
    293294{
    294     NetworkProcess::singleton().idbServer(m_sessionID).getRecord(request, getRecordData);
     295    m_networkProcess->idbServer(m_sessionID).getRecord(request, getRecordData);
    295296}
    296297
    297298void WebIDBConnectionToClient::getAllRecords(const IDBRequestData& request, const IDBGetAllRecordsData& getAllRecordsData)
    298299{
    299     NetworkProcess::singleton().idbServer(m_sessionID).getAllRecords(request, getAllRecordsData);
     300    m_networkProcess->idbServer(m_sessionID).getAllRecords(request, getAllRecordsData);
    300301}
    301302
    302303void WebIDBConnectionToClient::getCount(const IDBRequestData& request, const IDBKeyRangeData& range)
    303304{
    304     NetworkProcess::singleton().idbServer(m_sessionID).getCount(request, range);
     305    m_networkProcess->idbServer(m_sessionID).getCount(request, range);
    305306}
    306307
    307308void WebIDBConnectionToClient::deleteRecord(const IDBRequestData& request, const IDBKeyRangeData& range)
    308309{
    309     NetworkProcess::singleton().idbServer(m_sessionID).deleteRecord(request, range);
     310    m_networkProcess->idbServer(m_sessionID).deleteRecord(request, range);
    310311}
    311312
    312313void WebIDBConnectionToClient::openCursor(const IDBRequestData& request, const IDBCursorInfo& info)
    313314{
    314     NetworkProcess::singleton().idbServer(m_sessionID).openCursor(request, info);
     315    m_networkProcess->idbServer(m_sessionID).openCursor(request, info);
    315316}
    316317
    317318void WebIDBConnectionToClient::iterateCursor(const IDBRequestData& request, const IDBIterateCursorData& data)
    318319{
    319     NetworkProcess::singleton().idbServer(m_sessionID).iterateCursor(request, data);
     320    m_networkProcess->idbServer(m_sessionID).iterateCursor(request, data);
    320321}
    321322
    322323void WebIDBConnectionToClient::establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo& info)
    323324{
    324     NetworkProcess::singleton().idbServer(m_sessionID).establishTransaction(databaseConnectionIdentifier, info);
     325    m_networkProcess->idbServer(m_sessionID).establishTransaction(databaseConnectionIdentifier, info);
    325326}
    326327
    327328void WebIDBConnectionToClient::databaseConnectionPendingClose(uint64_t databaseConnectionIdentifier)
    328329{
    329     NetworkProcess::singleton().idbServer(m_sessionID).databaseConnectionPendingClose(databaseConnectionIdentifier);
     330    m_networkProcess->idbServer(m_sessionID).databaseConnectionPendingClose(databaseConnectionIdentifier);
    330331}
    331332
    332333void WebIDBConnectionToClient::databaseConnectionClosed(uint64_t databaseConnectionIdentifier)
    333334{
    334     NetworkProcess::singleton().idbServer(m_sessionID).databaseConnectionClosed(databaseConnectionIdentifier);
     335    m_networkProcess->idbServer(m_sessionID).databaseConnectionClosed(databaseConnectionIdentifier);
    335336}
    336337
    337338void WebIDBConnectionToClient::abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
    338339{
    339     NetworkProcess::singleton().idbServer(m_sessionID).abortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier);
     340    m_networkProcess->idbServer(m_sessionID).abortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier);
    340341}
    341342
    342343void WebIDBConnectionToClient::didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
    343344{
    344     NetworkProcess::singleton().idbServer(m_sessionID).didFireVersionChangeEvent(databaseConnectionIdentifier, transactionIdentifier);
     345    m_networkProcess->idbServer(m_sessionID).didFireVersionChangeEvent(databaseConnectionIdentifier, transactionIdentifier);
    345346}
    346347
    347348void WebIDBConnectionToClient::openDBRequestCancelled(const IDBRequestData& requestData)
    348349{
    349     NetworkProcess::singleton().idbServer(m_sessionID).openDBRequestCancelled(requestData);
     350    m_networkProcess->idbServer(m_sessionID).openDBRequestCancelled(requestData);
    350351}
    351352
    352353void WebIDBConnectionToClient::confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier)
    353354{
    354     NetworkProcess::singleton().idbServer(m_sessionID).confirmDidCloseFromServer(databaseConnectionIdentifier);
     355    m_networkProcess->idbServer(m_sessionID).confirmDidCloseFromServer(databaseConnectionIdentifier);
    355356}
    356357
    357358void WebIDBConnectionToClient::getAllDatabaseNames(uint64_t serverConnectionIdentifier, const WebCore::SecurityOriginData& topOrigin, const WebCore::SecurityOriginData& openingOrigin, uint64_t callbackID)
    358359{
    359     NetworkProcess::singleton().idbServer(m_sessionID).getAllDatabaseNames(serverConnectionIdentifier, topOrigin, openingOrigin, callbackID);
     360    m_networkProcess->idbServer(m_sessionID).getAllDatabaseNames(serverConnectionIdentifier, topOrigin, openingOrigin, callbackID);
    360361}
    361362
  • trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.h

    r236035 r239680  
    5151namespace WebKit {
    5252
     53class NetworkProcess;
     54
    5355class WebIDBConnectionToClient final : public WebCore::IDBServer::IDBConnectionToClientDelegate, public IPC::MessageSender, public RefCounted<WebIDBConnectionToClient> {
    5456public:
    55     static Ref<WebIDBConnectionToClient> create(NetworkConnectionToWebProcess&, uint64_t serverConnectionIdentifier, PAL::SessionID);
     57    static Ref<WebIDBConnectionToClient> create(NetworkProcess&, NetworkConnectionToWebProcess&, uint64_t serverConnectionIdentifier, PAL::SessionID);
    5658
    5759    virtual ~WebIDBConnectionToClient();
     
    127129
    128130private:
    129     WebIDBConnectionToClient(NetworkConnectionToWebProcess&, uint64_t serverConnectionIdentifier, PAL::SessionID);
     131    WebIDBConnectionToClient(NetworkProcess&, NetworkConnectionToWebProcess&, uint64_t serverConnectionIdentifier, PAL::SessionID);
    130132
    131133    IPC::Connection* messageSenderConnection() final;
     
    134136
    135137    Ref<NetworkConnectionToWebProcess> m_connection;
     138    Ref<NetworkProcess> m_networkProcess;
    136139
    137140    uint64_t m_identifier;
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r239427 r239680  
    6464using namespace WebCore;
    6565
    66 Ref<NetworkConnectionToWebProcess> NetworkConnectionToWebProcess::create(IPC::Connection::Identifier connectionIdentifier)
    67 {
    68     return adoptRef(*new NetworkConnectionToWebProcess(connectionIdentifier));
    69 }
    70 
    71 NetworkConnectionToWebProcess::NetworkConnectionToWebProcess(IPC::Connection::Identifier connectionIdentifier)
     66Ref<NetworkConnectionToWebProcess> NetworkConnectionToWebProcess::create(NetworkProcess& networkProcess, IPC::Connection::Identifier connectionIdentifier)
     67{
     68    return adoptRef(*new NetworkConnectionToWebProcess(networkProcess, connectionIdentifier));
     69}
     70
     71NetworkConnectionToWebProcess::NetworkConnectionToWebProcess(NetworkProcess& networkProcess, IPC::Connection::Identifier connectionIdentifier)
    7272    : m_connection(IPC::Connection::createServerConnection(connectionIdentifier, *this))
     73    , m_networkProcess(networkProcess)
    7374#if ENABLE(WEB_RTC)
    7475    , m_mdnsRegister(*this)
     
    133134
    134135    if (decoder.messageReceiverName() == Messages::NetworkProcess::messageReceiverName()) {
    135         NetworkProcess::singleton().didReceiveNetworkProcessMessage(connection, decoder);
     136        m_networkProcess->didReceiveNetworkProcessMessage(connection, decoder);
    136137        return;
    137138    }
     
    181182   
    182183    if (decoder.messageReceiverName() == Messages::WebSWServerToContextConnection::messageReceiverName()) {
    183         if (auto* contextConnection = NetworkProcess::singleton().connectionToContextProcessFromIPCConnection(connection)) {
     184        if (auto* contextConnection = m_networkProcess->connectionToContextProcessFromIPCConnection(connection)) {
    184185            contextConnection->didReceiveMessage(connection, decoder);
    185186            return;
     
    228229{
    229230#if ENABLE(SERVICE_WORKER)
    230     if (RefPtr<WebSWServerToContextConnection> serverToContextConnection = NetworkProcess::singleton().connectionToContextProcessFromIPCConnection(connection)) {
     231    if (RefPtr<WebSWServerToContextConnection> serverToContextConnection = m_networkProcess->connectionToContextProcessFromIPCConnection(connection)) {
    231232        // Service Worker process exited.
    232         NetworkProcess::singleton().connectionToContextProcessWasClosed(serverToContextConnection.releaseNonNull());
     233        m_networkProcess->connectionToContextProcessWasClosed(serverToContextConnection.releaseNonNull());
    233234        return;
    234235    }
     
    249250
    250251    NetworkBlobRegistry::singleton().connectionToWebProcessDidClose(this);
    251     NetworkProcess::singleton().removeNetworkConnectionToWebProcess(this);
     252    m_networkProcess->removeNetworkConnectionToWebProcess(this);
    252253
    253254#if USE(LIBWEBRTC)
     
    280281    WebCore::SourceApplicationAuditToken token = { };
    281282#if PLATFORM(COCOA)
    282     token = { NetworkProcess::singleton().sourceApplicationAuditData() };
     283    token = { m_networkProcess->sourceApplicationAuditData() };
    283284#endif
    284285    m_networkSocketStreams.set(identifier, NetworkSocketStream::create(WTFMove(url), sessionID, cachePartition, identifier, m_connection, WTFMove(token)));
     
    385386void NetworkConnectionToWebProcess::prefetchDNS(const String& hostname)
    386387{
    387     NetworkProcess::singleton().prefetchDNS(hostname);
     388    m_networkProcess->prefetchDNS(hostname);
    388389}
    389390
     
    424425void NetworkConnectionToWebProcess::startDownload(PAL::SessionID sessionID, DownloadID downloadID, const ResourceRequest& request, const String& suggestedName)
    425426{
    426     NetworkProcess::singleton().downloadManager().startDownload(this, sessionID, downloadID, request, suggestedName);
     427    m_networkProcess->downloadManager().startDownload(this, sessionID, downloadID, request, suggestedName);
    427428}
    428429
     
    431432    RELEASE_ASSERT(RunLoop::isMain());
    432433
    433     auto& networkProcess = NetworkProcess::singleton();
    434434    // In case a response is served from service worker, we do not have yet the ability to convert the load.
    435435    if (!mainResourceLoadIdentifier || response.source() == ResourceResponse::Source::ServiceWorker) {
    436         networkProcess.downloadManager().startDownload(this, sessionID, downloadID, request);
     436        m_networkProcess->downloadManager().startDownload(this, sessionID, downloadID, request);
    437437        return;
    438438    }
     
    553553void NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession()
    554554{
    555     NetworkProcess::singleton().addWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters());
     555    m_networkProcess->addWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters());
    556556}
    557557
     
    703703    ASSERT(!m_webIDBConnections.contains(serverConnectionIdentifier));
    704704   
    705     m_webIDBConnections.set(serverConnectionIdentifier, WebIDBConnectionToClient::create(*this, serverConnectionIdentifier, sessionID));
     705    m_webIDBConnections.set(serverConnectionIdentifier, WebIDBConnectionToClient::create(m_networkProcess, *this, serverConnectionIdentifier, sessionID));
    706706}
    707707
     
    727727void NetworkConnectionToWebProcess::establishSWServerConnection(PAL::SessionID sessionID, SWServerConnectionIdentifier& serverConnectionIdentifier)
    728728{
    729     auto& server = NetworkProcess::singleton().swServerForSession(sessionID);
     729    auto& server = m_networkProcess->swServerForSession(sessionID);
    730730    auto connection = std::make_unique<WebSWServerConnection>(server, m_connection.get(), sessionID);
    731731   
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h

    r239427 r239680  
    5151namespace WebKit {
    5252
     53class NetworkProcess;
    5354class NetworkResourceLoader;
    5455class NetworkSocketStream;
     
    6364class NetworkConnectionToWebProcess : public RefCounted<NetworkConnectionToWebProcess>, IPC::Connection::Client {
    6465public:
    65     static Ref<NetworkConnectionToWebProcess> create(IPC::Connection::Identifier);
     66    static Ref<NetworkConnectionToWebProcess> create(NetworkProcess&, IPC::Connection::Identifier);
    6667    virtual ~NetworkConnectionToWebProcess();
    6768
    6869    IPC::Connection& connection() { return m_connection.get(); }
     70    NetworkProcess& networkProcess() { return m_networkProcess.get(); }
    6971
    7072    void didCleanupResourceLoader(NetworkResourceLoader&);
     
    121123
    122124private:
    123     NetworkConnectionToWebProcess(IPC::Connection::Identifier);
     125    NetworkConnectionToWebProcess(NetworkProcess&, IPC::Connection::Identifier);
    124126
    125127    void didFinishPreconnection(uint64_t preconnectionIdentifier, const WebCore::ResourceError&);
     
    228230
    229231    Ref<IPC::Connection> m_connection;
     232    Ref<NetworkProcess> m_networkProcess;
    230233
    231234    HashMap<uint64_t, RefPtr<NetworkSocketStream>> m_networkSocketStreams;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r239671 r239680  
    116116NetworkProcess& NetworkProcess::singleton()
    117117{
    118     static NeverDestroyed<NetworkProcess> networkProcess;
    119     return networkProcess;
     118    static NeverDestroyed<Ref<NetworkProcess>> networkProcess(adoptRef(*new NetworkProcess));
     119    return networkProcess.get();
    120120}
    121121
     
    300300
    301301    auto sessionID = parameters.defaultDataStoreParameters.networkSessionParameters.sessionID;
    302     SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.defaultDataStoreParameters.networkSessionParameters)));
     302    SessionTracker::setSession(sessionID, NetworkSession::create(*this, WTFMove(parameters.defaultDataStoreParameters.networkSessionParameters)));
    303303
    304304#if ENABLE(INDEXED_DATABASE)
     
    365365    IPC::Connection::SocketPair socketPair = IPC::Connection::createPlatformConnection();
    366366
    367     auto connection = NetworkConnectionToWebProcess::create(socketPair.server);
     367    auto connection = NetworkConnectionToWebProcess::create(*this, socketPair.server);
    368368    m_webProcessConnections.append(WTFMove(connection));
    369369
     
    384384
    385385    // Create a listening connection.
    386     auto connection = NetworkConnectionToWebProcess::create(IPC::Connection::Identifier(listeningPort));
     386    auto connection = NetworkConnectionToWebProcess::create(*this, IPC::Connection::Identifier(listeningPort));
    387387    m_webProcessConnections.append(WTFMove(connection));
    388388
     
    396396    }
    397397
    398     auto connection = NetworkConnectionToWebProcess::create(serverIdentifier);
     398    auto connection = NetworkConnectionToWebProcess::create(*this, serverIdentifier);
    399399    m_webProcessConnections.append(WTFMove(connection));
    400400
     
    447447#endif
    448448
    449     RemoteNetworkingContext::ensureWebsiteDataStoreSession(WTFMove(parameters));
     449    RemoteNetworkingContext::ensureWebsiteDataStoreSession(*this, WTFMove(parameters));
    450450}
    451451
     
    568568}
    569569
    570 static void fetchDiskCacheEntries(PAL::SessionID sessionID, OptionSet<WebsiteDataFetchOption> fetchOptions, CompletionHandler<void(Vector<WebsiteData::Entry>)>&& completionHandler)
    571 {
    572     auto* cache = NetworkProcess::singleton().cache();
     570static void fetchDiskCacheEntries(NetworkCache::Cache* cache, PAL::SessionID sessionID, OptionSet<WebsiteDataFetchOption> fetchOptions, CompletionHandler<void(Vector<WebsiteData::Entry>)>&& completionHandler)
     571{
    573572    if (!cache) {
    574573        RunLoop::main().dispatch([completionHandler = WTFMove(completionHandler)] () mutable {
     
    673672
    674673    if (websiteDataTypes.contains(WebsiteDataType::DiskCache)) {
    675         fetchDiskCacheEntries(sessionID, fetchOptions, [callbackAggregator = WTFMove(callbackAggregator)](auto entries) mutable {
     674        fetchDiskCacheEntries(cache(), sessionID, fetchOptions, [callbackAggregator = WTFMove(callbackAggregator)](auto entries) mutable {
    676675            callbackAggregator->m_websiteData.entries.appendVector(entries);
    677676        });
     
    719718}
    720719
    721 static void clearDiskCacheEntries(const Vector<SecurityOriginData>& origins, CompletionHandler<void()>&& completionHandler)
    722 {
    723     auto* cache = NetworkProcess::singleton().cache();
     720static void clearDiskCacheEntries(NetworkCache::Cache* cache, const Vector<SecurityOriginData>& origins, CompletionHandler<void()>&& completionHandler)
     721{
    724722    if (!cache) {
    725723        RunLoop::main().dispatch(WTFMove(completionHandler));
     
    781779
    782780    if (websiteDataTypes.contains(WebsiteDataType::DiskCache) && !sessionID.isEphemeral())
    783         clearDiskCacheEntries(originDatas, [clearTasksHandler = WTFMove(clearTasksHandler)] { });
     781        clearDiskCacheEntries(cache(), originDatas, [clearTasksHandler = WTFMove(clearTasksHandler)] { });
    784782}
    785783
     
    870868    StatisticsData data;
    871869
    872     auto& networkProcess = NetworkProcess::singleton();
    873     data.statisticsNumbers.set("DownloadsActiveCount", networkProcess.downloadManager().activeDownloadCount());
    874     data.statisticsNumbers.set("OutstandingAuthenticationChallengesCount", networkProcess.authenticationManager().outstandingAuthenticationChallengeCount());
     870    data.statisticsNumbers.set("DownloadsActiveCount", downloadManager().activeDownloadCount());
     871    data.statisticsNumbers.set("OutstandingAuthenticationChallengesCount", authenticationManager().outstandingAuthenticationChallengeCount());
    875872
    876873    parentProcessConnection()->send(Messages::WebProcessPool::DidGetStatistics(data, callbackID), 0);
     
    10801077    ASSERT(!path.isEmpty());
    10811078   
    1082     addResult.iterator->value = IDBServer::IDBServer::create(path, NetworkProcess::singleton());
     1079    addResult.iterator->value = IDBServer::IDBServer::create(path, *this);
    10831080    addResult.iterator->value->setPerOriginQuota(m_idbPerOriginQuota);
    10841081    return *addResult.iterator->value;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r239671 r239680  
    8989}
    9090
    91 class NetworkProcess : public ChildProcess, private DownloadManager::Client
     91class NetworkProcess : public ChildProcess, private DownloadManager::Client, public ThreadSafeRefCounted<NetworkProcess>
    9292#if ENABLE(INDEXED_DATABASE)
    9393    , public WebCore::IDBServer::IDBBackingStoreTemporaryFileHandler
     
    9595{
    9696    WTF_MAKE_NONCOPYABLE(NetworkProcess);
    97     friend NeverDestroyed<NetworkProcess>;
    9897    friend NeverDestroyed<DownloadManager>;
    9998public:
     99    ~NetworkProcess();
    100100    static NetworkProcess& singleton();
    101101    static constexpr ProcessType processType = ProcessType::Network;
     
    212212private:
    213213    NetworkProcess();
    214     ~NetworkProcess();
    215214
    216215    void platformInitializeNetworkProcess(const NetworkProcessCreationParameters&);
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

    r239622 r239680  
    9797    , m_isAllowedToAskUserForCredentials { m_parameters.clientCredentialPolicy == ClientCredentialPolicy::MayAskClientForCredentials }
    9898    , m_bufferingTimer { *this, &NetworkResourceLoader::bufferingTimerFired }
    99     , m_cache { sessionID().isEphemeral() ? nullptr : NetworkProcess::singleton().cache() }
     99    , m_cache { sessionID().isEphemeral() ? nullptr : connection.networkProcess().cache() }
    100100{
    101101    ASSERT(RunLoop::isMain());
     
    287287    auto* networkSession = SessionTracker::networkSession(parameters.sessionID);
    288288    if (!networkSession && parameters.sessionID.isEphemeral()) {
    289         NetworkProcess::singleton().addWebsiteDataStore(WebsiteDataStoreParameters::privateSessionParameters(parameters.sessionID));
     289        m_connection->networkProcess().addWebsiteDataStore(WebsiteDataStoreParameters::privateSessionParameters(parameters.sessionID));
    290290        networkSession = SessionTracker::networkSession(parameters.sessionID);
    291291    }
     
    293293        WTFLogAlways("Attempted to create a NetworkLoad with a session (id=%" PRIu64 ") that does not exist.", parameters.sessionID.sessionID());
    294294        RELEASE_LOG_ERROR_IF_ALLOWED("startNetworkLoad: Attempted to create a NetworkLoad with a session that does not exist (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ", sessionID=%" PRIu64 ")", m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier, parameters.sessionID.sessionID());
    295         NetworkProcess::singleton().logDiagnosticMessage(m_parameters.webPageID, WebCore::DiagnosticLoggingKeys::internalErrorKey(), WebCore::DiagnosticLoggingKeys::invalidSessionIDKey(), WebCore::ShouldSample::No);
     295        m_connection->networkProcess().logDiagnosticMessage(m_parameters.webPageID, WebCore::DiagnosticLoggingKeys::internalErrorKey(), WebCore::DiagnosticLoggingKeys::invalidSessionIDKey(), WebCore::ShouldSample::No);
    296296        didFailLoading(internalError(request.url()));
    297297        return;
     
    354354    // This can happen if the resource came from the disk cache.
    355355    if (!m_networkLoad) {
    356         NetworkProcess::singleton().downloadManager().startDownload(m_connection.ptr(), m_parameters.sessionID, downloadID, request);
     356        m_connection->networkProcess().downloadManager().startDownload(m_connection.ptr(), m_parameters.sessionID, downloadID, request);
    357357        abort();
    358358        return;
     
    360360
    361361    ASSERT(m_responseCompletionHandler);
    362     NetworkProcess::singleton().downloadManager().convertNetworkLoadToDownload(downloadID, std::exchange(m_networkLoad, nullptr), WTFMove(m_responseCompletionHandler), WTFMove(m_fileReferences), request, response);
     362    m_connection->networkProcess().downloadManager().convertNetworkLoadToDownload(downloadID, std::exchange(m_networkLoad, nullptr), WTFMove(m_responseCompletionHandler), WTFMove(m_fileReferences), request, response);
    363363}
    364364
     
    938938bool NetworkResourceLoader::isAlwaysOnLoggingAllowed() const
    939939{
    940     if (NetworkProcess::singleton().sessionIsControlledByAutomation(sessionID()))
     940    if (m_connection->networkProcess().sessionIsControlledByAutomation(sessionID()))
    941941        return true;
    942942
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp

    r239007 r239680  
    4242using namespace WebCore;
    4343
    44 Ref<NetworkSession> NetworkSession::create(NetworkSessionCreationParameters&& parameters)
     44Ref<NetworkSession> NetworkSession::create(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
    4545{
    4646#if PLATFORM(COCOA)
    47     return NetworkSessionCocoa::create(WTFMove(parameters));
     47    return NetworkSessionCocoa::create(networkProcess, WTFMove(parameters));
    4848#endif
    4949#if USE(SOUP)
    50     return NetworkSessionSoup::create(WTFMove(parameters));
     50    return NetworkSessionSoup::create(networkProcess, WTFMove(parameters));
    5151#endif
    5252#if USE(CURL)
    53     return NetworkSessionCurl::create(WTFMove(parameters));
     53    return NetworkSessionCurl::create(networkProcess, WTFMove(parameters));
    5454#endif
    5555}
     
    6262}
    6363
    64 NetworkSession::NetworkSession(PAL::SessionID sessionID)
     64NetworkSession::NetworkSession(NetworkProcess& networkProcess, PAL::SessionID sessionID)
    6565    : m_sessionID(sessionID)
     66    , m_networkProcess(networkProcess)
    6667{
    6768}
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.h

    r239007 r239680  
    3939
    4040class NetworkDataTask;
     41class NetworkProcess;
    4142struct NetworkSessionCreationParameters;
    4243
    4344class NetworkSession : public RefCounted<NetworkSession> {
    4445public:
    45     static Ref<NetworkSession> create(NetworkSessionCreationParameters&&);
     46    static Ref<NetworkSession> create(NetworkProcess&, NetworkSessionCreationParameters&&);
    4647    virtual ~NetworkSession();
    4748
     
    5253
    5354    PAL::SessionID sessionID() const { return m_sessionID; }
     55    NetworkProcess& networkProcess() { return m_networkProcess; }
    5456    WebCore::NetworkStorageSession& networkStorageSession() const;
    5557
     
    5860
    5961protected:
    60     NetworkSession(PAL::SessionID);
     62    NetworkSession(NetworkProcess&, PAL::SessionID);
    6163
    6264    PAL::SessionID m_sessionID;
    63 
     65    Ref<NetworkProcess> m_networkProcess;
    6466    HashSet<NetworkDataTask*> m_dataTaskSet;
    6567};
  • trunk/Source/WebKit/NetworkProcess/RemoteNetworkingContext.h

    r229100 r239680  
    3131namespace WebKit {
    3232
     33class NetworkProcess;
    3334struct WebsiteDataStoreParameters;
    3435
     
    3637public:
    3738    // FIXME: Remove platform-specific code and use SessionTracker.
    38     static void ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&&);
     39    static void ensureWebsiteDataStoreSession(NetworkProcess&, WebsiteDataStoreParameters&&);
    3940};
    4041
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm

    r239427 r239680  
    204204    applySniffingPoliciesAndBindRequestToInferfaceIfNeeded(nsRequest, shouldContentSniff == WebCore::ContentSniffingPolicy::SniffContent && !url.isLocalFile(), shouldContentEncodingSniff == WebCore::ContentEncodingSniffingPolicy::Sniff);
    205205#if ENABLE(PROXIMITY_NETWORKING)
    206     NetworkProcess::singleton().proximityManager().applyProperties(request, *this, nsRequest);
     206    m_session->networkProcess().proximityManager().applyProperties(request, *this, nsRequest);
    207207#endif
    208208
     
    498498bool NetworkDataTaskCocoa::isAlwaysOnLoggingAllowed() const
    499499{
    500     if (NetworkProcess::singleton().sessionIsControlledByAutomation(m_session->sessionID()))
     500    if (m_session->networkProcess().sessionIsControlledByAutomation(m_session->sessionID()))
    501501        return true;
    502502
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm

    r239671 r239680  
    180180        m_clearCacheDispatchGroup = dispatch_group_create();
    181181
    182     auto* cache = NetworkProcess::singleton().cache();
     182    auto* cache = this->cache();
    183183    if (!cache) {
    184184        completionHandler();
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h

    r238886 r239680  
    4545    friend class NetworkDataTaskCocoa;
    4646public:
    47     static Ref<NetworkSession> create(NetworkSessionCreationParameters&&);
     47    static Ref<NetworkSession> create(NetworkProcess&, NetworkSessionCreationParameters&&);
    4848    ~NetworkSessionCocoa();
    4949
     
    6464
    6565private:
    66     NetworkSessionCocoa(NetworkSessionCreationParameters&&);
     66    NetworkSessionCocoa(NetworkProcess&, NetworkSessionCreationParameters&&);
    6767
    6868    void invalidateAndCancel() override;
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm

    r239322 r239680  
    327327
    328328        // Handle server trust evaluation at platform-level if requested, for performance reasons and to use ATS defaults.
    329         if (!NetworkProcess::singleton().canHandleHTTPSServerTrustEvaluation())
     329        if (!_session->networkProcess().canHandleHTTPSServerTrustEvaluation())
    330330            return completionHandler(NSURLSessionAuthChallengeRejectProtectionSpace, nil);
    331331    }
     
    367367        auto downloadID = _session->downloadID(taskIdentifier);
    368368        if (downloadID.downloadID()) {
    369             if (auto* download = WebKit::NetworkProcess::singleton().downloadManager().download(downloadID)) {
     369            if (auto* download = _session->networkProcess().downloadManager().download(downloadID)) {
    370370                // Received an authentication challenge for a download being resumed.
    371371                WebCore::AuthenticationChallenge authenticationChallenge { challenge };
     
    395395        auto downloadID = _session->takeDownloadID(task.taskIdentifier);
    396396        if (downloadID.downloadID()) {
    397             if (auto* download = WebKit::NetworkProcess::singleton().downloadManager().download(downloadID)) {
     397            if (auto* download = _session->networkProcess().downloadManager().download(downloadID)) {
    398398                NSData *resumeData = nil;
    399399                if (id userInfo = error.userInfo) {
     
    526526
    527527    auto downloadID = _session->takeDownloadID([downloadTask taskIdentifier]);
    528     if (auto* download = WebKit::NetworkProcess::singleton().downloadManager().download(downloadID))
     528    if (auto* download = _session->networkProcess().downloadManager().download(downloadID))
    529529        download->didFinish();
    530530}
     
    538538
    539539    auto downloadID = _session->downloadID([downloadTask taskIdentifier]);
    540     if (auto* download = WebKit::NetworkProcess::singleton().downloadManager().download(downloadID))
     540    if (auto* download = _session->networkProcess().downloadManager().download(downloadID))
    541541        download->didReceiveData(bytesWritten);
    542542}
     
    555555        Ref<NetworkDataTaskCocoa> protectedNetworkDataTask(*networkDataTask);
    556556        auto downloadID = networkDataTask->pendingDownloadID();
    557         auto& downloadManager = WebKit::NetworkProcess::singleton().downloadManager();
     557        auto& downloadManager = _session->networkProcess().downloadManager();
    558558        auto download = std::make_unique<WebKit::Download>(downloadManager, downloadID, downloadTask, _session->sessionID(), networkDataTask->suggestedFilename());
    559559        networkDataTask->transferSandboxExtensionToDownload(*download);
     
    600600#endif
    601601
    602 Ref<NetworkSession> NetworkSessionCocoa::create(NetworkSessionCreationParameters&& parameters)
    603 {
    604     return adoptRef(*new NetworkSessionCocoa(WTFMove(parameters)));
     602Ref<NetworkSession> NetworkSessionCocoa::create(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
     603{
     604    return adoptRef(*new NetworkSessionCocoa(networkProcess, WTFMove(parameters)));
    605605}
    606606
     
    628628}
    629629
    630 NetworkSessionCocoa::NetworkSessionCocoa(NetworkSessionCreationParameters&& parameters)
    631     : NetworkSession(parameters.sessionID)
     630NetworkSessionCocoa::NetworkSessionCocoa(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
     631    : NetworkSession(networkProcess, parameters.sessionID)
    632632    , m_boundInterfaceIdentifier(parameters.boundInterfaceIdentifier)
    633633    , m_proxyConfiguration(parameters.proxyConfiguration)
     
    656656    configuration.URLCache = nil;
    657657
    658     if (auto data = NetworkProcess::singleton().sourceApplicationAuditData())
     658    if (auto data = networkProcess.sourceApplicationAuditData())
    659659        configuration._sourceApplicationAuditTokenData = (__bridge NSData *)data.get();
    660660
     
    676676
    677677#if ENABLE(LEGACY_CUSTOM_PROTOCOL_MANAGER)
    678     NetworkProcess::singleton().supplement<LegacyCustomProtocolManager>()->registerProtocolClass(configuration);
     678    networkProcess.supplement<LegacyCustomProtocolManager>()->registerProtocolClass(configuration);
    679679#endif
    680680
     
    687687#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000)
    688688    // FIXME: Replace @"kCFStreamPropertyAutoErrorOnSystemChange" with a constant from the SDK once rdar://problem/40650244 is in a build.
    689     if (NetworkProcess::singleton().suppressesConnectionTerminationOnSystemChange())
     689    if (networkProcess.suppressesConnectionTerminationOnSystemChange())
    690690        configuration._socketStreamProperties = @{ @"kCFStreamPropertyAutoErrorOnSystemChange" : @(NO) };
    691691#endif
  • trunk/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp

    r239624 r239680  
    3838using namespace WebCore;
    3939
    40 NetworkSessionCurl::NetworkSessionCurl(NetworkSessionCreationParameters&& parameters)
    41     : NetworkSession(parameters.sessionID)
     40NetworkSessionCurl::NetworkSessionCurl(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
     41    : NetworkSession(networkProcess, parameters.sessionID)
    4242{
    4343    if (!parameters.cookiePersistentStorageFile.isEmpty())
  • trunk/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.h

    r228567 r239680  
    3434class NetworkSessionCurl final : public NetworkSession {
    3535public:
    36     static Ref<NetworkSession> create(NetworkSessionCreationParameters&& parameters)
     36    static Ref<NetworkSession> create(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
    3737    {
    38         return adoptRef(*new NetworkSessionCurl(WTFMove(parameters)));
     38        return adoptRef(*new NetworkSessionCurl(networkProcess, WTFMove(parameters)));
    3939    }
    4040    ~NetworkSessionCurl();
    4141
    4242private:
    43     NetworkSessionCurl(NetworkSessionCreationParameters&&);
     43    NetworkSessionCurl(NetworkProcess&, NetworkSessionCreationParameters&&);
    4444};
    4545
  • trunk/Source/WebKit/NetworkProcess/curl/RemoteNetworkingContextCurl.cpp

    r239550 r239680  
    3636using namespace WebCore;
    3737
    38 void RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters)
     38void RemoteNetworkingContext::ensureWebsiteDataStoreSession(NetworkProcess& networkProcess, WebsiteDataStoreParameters&& parameters)
    3939{
    4040    auto sessionID = parameters.networkSessionParameters.sessionID;
     
    4343
    4444    NetworkStorageSession::ensureSession(sessionID, String::number(sessionID.sessionID()));
    45     SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
     45    SessionTracker::setSession(sessionID, NetworkSession::create(networkProcess, WTFMove(parameters.networkSessionParameters)));
    4646}
    4747
  • trunk/Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm

    r239143 r239680  
    4343using namespace WebCore;
    4444
    45 void RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters)
     45void RemoteNetworkingContext::ensureWebsiteDataStoreSession(NetworkProcess& networkProcess, WebsiteDataStoreParameters&& parameters)
    4646{
    4747    auto sessionID = parameters.networkSessionParameters.sessionID;
     
    6868        session->setCookie(cookie);
    6969
    70     SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
     70    SessionTracker::setSession(sessionID, NetworkSession::create(networkProcess, WTFMove(parameters.networkSessionParameters)));
    7171}
    7272
  • trunk/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp

    r228373 r239680  
    3737using namespace WebCore;
    3838
    39 NetworkSessionSoup::NetworkSessionSoup(NetworkSessionCreationParameters&& parameters)
    40     : NetworkSession(parameters.sessionID)
     39NetworkSessionSoup::NetworkSessionSoup(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
     40    : NetworkSession(networkProcess, parameters.sessionID)
    4141{
    4242    networkStorageSession().setCookieObserverHandler([this] {
  • trunk/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.h

    r223791 r239680  
    3636class NetworkSessionSoup final : public NetworkSession {
    3737public:
    38     static Ref<NetworkSession> create(NetworkSessionCreationParameters&& parameters)
     38    static Ref<NetworkSession> create(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
    3939    {
    40         return adoptRef(*new NetworkSessionSoup(WTFMove(parameters)));
     40        return adoptRef(*new NetworkSessionSoup(networkProcess, WTFMove(parameters)));
    4141    }
    4242    ~NetworkSessionSoup();
     
    4545
    4646private:
    47     NetworkSessionSoup(NetworkSessionCreationParameters&&);
     47    NetworkSessionSoup(NetworkProcess&, NetworkSessionCreationParameters&&);
    4848
    4949    void clearCredentials() override;
  • trunk/Source/WebKit/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp

    r228373 r239680  
    3737using namespace WebCore;
    3838
    39 void RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters)
     39void RemoteNetworkingContext::ensureWebsiteDataStoreSession(NetworkProcess& networkProcess, WebsiteDataStoreParameters&& parameters)
    4040{
    4141    auto sessionID = parameters.networkSessionParameters.sessionID;
     
    4444
    4545    NetworkStorageSession::ensureSession(sessionID, String::number(sessionID.sessionID()));
    46     SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
     46    SessionTracker::setSession(sessionID, NetworkSession::create(networkProcess, WTFMove(parameters.networkSessionParameters)));
    4747}
    4848
  • trunk/Source/WebKit/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp

    r235205 r239680  
    5252
    5353    NetworkStorageSession::ensureSession(sessionID, String::number(sessionID.sessionID()));
    54     SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
    5554}
    5655
Note: See TracChangeset for help on using the changeset viewer.