Changeset 239741 in webkit


Ignore:
Timestamp:
Jan 8, 2019, 1:24:01 PM (7 years ago)
Author:
achristensen@apple.com
Message:

Remove more use of NetworkProcess::singleton
https://bugs.webkit.org/show_bug.cgi?id=193244

Reviewed by Brent Fulgham.

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::NetworkCORSPreflightChecker):
(WebKit::NetworkCORSPreflightChecker::didReceiveChallenge):

  • NetworkProcess/NetworkCORSPreflightChecker.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::loadPing):

  • NetworkProcess/NetworkContentRuleListManager.cpp:

(WebKit::NetworkContentRuleListManager::NetworkContentRuleListManager):
(WebKit::NetworkContentRuleListManager::contentExtensionsBackend):

  • NetworkProcess/NetworkContentRuleListManager.h:
  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::NetworkLoadChecker):
(WebKit::NetworkLoadChecker::applyHTTPSUpgradeIfNeeded const):
(WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):
(WebKit::NetworkLoadChecker::processContentExtensionRulesForLoad):

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::networkContentRuleListManager):

  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::PingLoad):

  • NetworkProcess/PingLoad.h:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:

(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::connectionMayNoLongerBeNeeded):

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
Location:
trunk/Source/WebKit
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r239740 r239741  
     12019-01-08  Alex Christensen  <achristensen@webkit.org>
     2
     3        Remove more use of NetworkProcess::singleton
     4        https://bugs.webkit.org/show_bug.cgi?id=193244
     5
     6        Reviewed by Brent Fulgham.
     7
     8        * NetworkProcess/NetworkCORSPreflightChecker.cpp:
     9        (WebKit::NetworkCORSPreflightChecker::NetworkCORSPreflightChecker):
     10        (WebKit::NetworkCORSPreflightChecker::didReceiveChallenge):
     11        * NetworkProcess/NetworkCORSPreflightChecker.h:
     12        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     13        (WebKit::NetworkConnectionToWebProcess::loadPing):
     14        * NetworkProcess/NetworkContentRuleListManager.cpp:
     15        (WebKit::NetworkContentRuleListManager::NetworkContentRuleListManager):
     16        (WebKit::NetworkContentRuleListManager::contentExtensionsBackend):
     17        * NetworkProcess/NetworkContentRuleListManager.h:
     18        * NetworkProcess/NetworkLoadChecker.cpp:
     19        (WebKit::NetworkLoadChecker::NetworkLoadChecker):
     20        (WebKit::NetworkLoadChecker::applyHTTPSUpgradeIfNeeded const):
     21        (WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):
     22        (WebKit::NetworkLoadChecker::processContentExtensionRulesForLoad):
     23        * NetworkProcess/NetworkLoadChecker.h:
     24        * NetworkProcess/NetworkProcess.cpp:
     25        (WebKit::NetworkProcess::NetworkProcess):
     26        (WebKit::NetworkProcess::didReceiveMessage):
     27        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
     28        * NetworkProcess/NetworkProcess.h:
     29        (WebKit::NetworkProcess::networkContentRuleListManager):
     30        * NetworkProcess/NetworkResourceLoader.cpp:
     31        * NetworkProcess/PingLoad.cpp:
     32        (WebKit::PingLoad::PingLoad):
     33        * NetworkProcess/PingLoad.h:
     34        * NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
     35        (WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
     36        (WebKit::WebSWServerToContextConnection::connectionMayNoLongerBeNeeded):
     37        * NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
     38
    1392019-01-08  Alex Christensen  <achristensen@webkit.org>
    240
  • trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp

    r239007 r239741  
    4141using namespace WebCore;
    4242
    43 NetworkCORSPreflightChecker::NetworkCORSPreflightChecker(Parameters&& parameters, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&& completionCallback)
     43NetworkCORSPreflightChecker::NetworkCORSPreflightChecker(NetworkProcess& networkProcess, Parameters&& parameters, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&& completionCallback)
    4444    : m_parameters(WTFMove(parameters))
     45    , m_networkProcess(networkProcess)
    4546    , m_completionCallback(WTFMove(completionCallback))
    4647    , m_shouldCaptureExtraNetworkLoadMetrics(shouldCaptureExtraNetworkLoadMetrics)
     
    102103    }
    103104
    104     NetworkProcess::singleton().authenticationManager().didReceiveAuthenticationChallenge(m_parameters.pageID, m_parameters.frameID, challenge, WTFMove(completionHandler));
     105    m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(m_parameters.pageID, m_parameters.frameID, challenge, WTFMove(completionHandler));
    105106}
    106107
  • trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.h

    r239007 r239741  
    3939namespace WebKit {
    4040
     41class NetworkProcess;
     42
    4143class NetworkCORSPreflightChecker final : private NetworkDataTaskClient {
    4244    WTF_MAKE_FAST_ALLOCATED;
     
    5456    using CompletionCallback = CompletionHandler<void(WebCore::ResourceError&&)>;
    5557
    56     NetworkCORSPreflightChecker(Parameters&&, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&&);
     58    NetworkCORSPreflightChecker(NetworkProcess&, Parameters&&, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&&);
    5759    ~NetworkCORSPreflightChecker();
    5860    const WebCore::ResourceRequest& originalRequest() const { return m_parameters.originalRequest; }
     
    7375
    7476    Parameters m_parameters;
     77    Ref<NetworkProcess> m_networkProcess;
    7578    WebCore::ResourceResponse m_response;
    7679    CompletionCallback m_completionCallback;
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r239701 r239741  
    342342
    343343    // PingLoad manages its own lifetime, deleting itself when its purpose has been fulfilled.
    344     new PingLoad(WTFMove(loadParameters), WTFMove(completionHandler));
     344    new PingLoad(networkProcess(), WTFMove(loadParameters), WTFMove(completionHandler));
    345345}
    346346
  • trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp

    r235101 r239741  
    3636using namespace WebCore;
    3737
    38 NetworkContentRuleListManager::NetworkContentRuleListManager() = default;
     38NetworkContentRuleListManager::NetworkContentRuleListManager(NetworkProcess& networkProcess)
     39    : m_networkProcess(networkProcess)
     40{
     41}
     42
    3943NetworkContentRuleListManager::~NetworkContentRuleListManager()
    4044{
     
    6064        return Vector<BackendCallback> { };
    6165    }).iterator->value.append(WTFMove(callback));
    62     NetworkProcess::singleton().parentProcessConnection()->send(Messages::NetworkProcessProxy::ContentExtensionRules { identifier }, 0);
     66    m_networkProcess.parentProcessConnection()->send(Messages::NetworkProcessProxy::ContentExtensionRules { identifier }, 0);
    6367}
    6468
  • trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.h

    r239007 r239741  
    3939namespace WebKit {
    4040
     41class NetworkProcess;
     42
    4143class NetworkContentRuleListManager {
    4244public:
    43     NetworkContentRuleListManager();
     45    NetworkContentRuleListManager(NetworkProcess&);
    4446    ~NetworkContentRuleListManager();
    4547
     
    5759    HashMap<UserContentControllerIdentifier, std::unique_ptr<WebCore::ContentExtensions::ContentExtensionsBackend>> m_contentExtensionBackends;
    5860    HashMap<UserContentControllerIdentifier, Vector<BackendCallback>> m_pendingCallbacks;
     61    NetworkProcess& m_networkProcess;
    5962};
    6063
  • trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp

    r239699 r239741  
    4848}
    4949
    50 NetworkLoadChecker::NetworkLoadChecker(FetchOptions&& options, PAL::SessionID sessionID, uint64_t pageID, uint64_t frameID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, RefPtr<SecurityOrigin>&& sourceOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType)
     50NetworkLoadChecker::NetworkLoadChecker(NetworkProcess& networkProcess, FetchOptions&& options, PAL::SessionID sessionID, uint64_t pageID, uint64_t frameID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, RefPtr<SecurityOrigin>&& sourceOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType)
    5151    : m_options(WTFMove(options))
    5252    , m_sessionID(sessionID)
     53    , m_networkProcess(networkProcess)
    5354    , m_pageID(pageID)
    5455    , m_frameID(frameID)
     
    198199    }
    199200
    200     auto& httpsUpgradeChecker = NetworkProcess::singleton().networkHTTPSUpgradeChecker();
     201    auto& httpsUpgradeChecker = m_networkProcess->networkHTTPSUpgradeChecker();
    201202
    202203    // Do not wait for httpsUpgradeChecker to complete its setup.
     
    408409        m_storedCredentialsPolicy
    409410    };
    410     m_corsPreflightChecker = std::make_unique<NetworkCORSPreflightChecker>(WTFMove(parameters), m_shouldCaptureExtraNetworkLoadMetrics, [this, request = WTFMove(request), handler = WTFMove(handler), isRedirected = isRedirected()](auto&& error) mutable {
     411    m_corsPreflightChecker = std::make_unique<NetworkCORSPreflightChecker>(m_networkProcess.get(), WTFMove(parameters), m_shouldCaptureExtraNetworkLoadMetrics, [this, request = WTFMove(request), handler = WTFMove(handler), isRedirected = isRedirected()](auto&& error) mutable {
    411412        RELEASE_LOG_IF_ALLOWED("checkCORSRequestWithPreflight - makeCrossOriginAccessRequestWithPreflight preflight complete, success: %d forRedirect? %d", error.isNull(), isRedirected);
    412413
     
    457458    }
    458459
    459     NetworkProcess::singleton().networkContentRuleListManager().contentExtensionsBackend(*m_userContentControllerIdentifier, [this, weakThis = makeWeakPtr(this), request = WTFMove(request), callback = WTFMove(callback)](auto& backend) mutable {
     460    m_networkProcess->networkContentRuleListManager().contentExtensionsBackend(*m_userContentControllerIdentifier, [this, weakThis = makeWeakPtr(this), request = WTFMove(request), callback = WTFMove(callback)](auto& backend) mutable {
    460461        if (!weakThis) {
    461462            callback(makeUnexpected(ResourceError { ResourceError::Type::Cancellation }));
  • trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h

    r239594 r239741  
    4848
    4949class NetworkCORSPreflightChecker;
     50class NetworkProcess;
    5051
    5152class NetworkLoadChecker : public CanMakeWeakPtr<NetworkLoadChecker> {
     
    5354    enum class LoadType : bool { MainFrame, Other };
    5455
    55     NetworkLoadChecker(WebCore::FetchOptions&&, PAL::SessionID, uint64_t pageID, uint64_t frameID, WebCore::HTTPHeaderMap&&, URL&&, RefPtr<WebCore::SecurityOrigin>&&, WebCore::PreflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled = false, bool shouldCaptureExtraNetworkLoadMetrics = false, LoadType requestLoadType = LoadType::Other);
     56    NetworkLoadChecker(NetworkProcess&, WebCore::FetchOptions&&, PAL::SessionID, uint64_t pageID, uint64_t frameID, WebCore::HTTPHeaderMap&&, URL&&, RefPtr<WebCore::SecurityOrigin>&&, WebCore::PreflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled = false, bool shouldCaptureExtraNetworkLoadMetrics = false, LoadType requestLoadType = LoadType::Other);
    5657    ~NetworkLoadChecker();
    5758
     
    123124    WebCore::StoredCredentialsPolicy m_storedCredentialsPolicy;
    124125    PAL::SessionID m_sessionID;
     126    Ref<NetworkProcess> m_networkProcess;
    125127    uint64_t m_pageID;
    126128    uint64_t m_frameID;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r239710 r239741  
    129129    , m_clearCacheDispatchGroup(0)
    130130#endif
     131#if ENABLE(CONTENT_EXTENSIONS)
     132    , m_networkContentRuleListManager(*this)
     133#endif
    131134    , m_storageTaskQueue(WorkQueue::create("com.apple.WebKit.StorageTask"))
    132135#if ENABLE(INDEXED_DATABASE)
     
    203206#if ENABLE(CONTENT_EXTENSIONS)
    204207    if (decoder.messageReceiverName() == Messages::NetworkContentRuleListManager::messageReceiverName()) {
    205         m_NetworkContentRuleListManager.didReceiveMessage(connection, decoder);
     208        m_networkContentRuleListManager.didReceiveMessage(connection, decoder);
    206209        return;
    207210    }
     
    412415        ASSERT(parentProcessHasServiceWorkerEntitlement());
    413416        ASSERT(m_waitingForServerToContextProcessConnection);
    414         auto contextConnection = WebSWServerToContextConnection::create(securityOrigin, m_webProcessConnections.last()->connection());
     417        auto contextConnection = WebSWServerToContextConnection::create(*this, securityOrigin, m_webProcessConnections.last()->connection());
    415418        auto addResult = m_serverToContextConnections.add(WTFMove(securityOrigin), contextConnection.copyRef());
    416419        ASSERT_UNUSED(addResult, addResult.isNewEntry);
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r239710 r239741  
    173173
    174174#if ENABLE(CONTENT_EXTENSIONS)
    175     NetworkContentRuleListManager& networkContentRuleListManager() { return m_NetworkContentRuleListManager; }
     175    NetworkContentRuleListManager& networkContentRuleListManager() { return m_networkContentRuleListManager; }
    176176#endif
    177177
     
    392392
    393393#if ENABLE(CONTENT_EXTENSIONS)
    394     NetworkContentRuleListManager m_NetworkContentRuleListManager;
     394    NetworkContentRuleListManager m_networkContentRuleListManager;
    395395#endif
    396396
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

    r239725 r239741  
    113113    if (synchronousReply || parameters.shouldRestrictHTTPResponseAccess) {
    114114        NetworkLoadChecker::LoadType requestLoadType = isMainFrameLoad() ? NetworkLoadChecker::LoadType::MainFrame : NetworkLoadChecker::LoadType::Other;
    115         m_networkLoadChecker = std::make_unique<NetworkLoadChecker>(FetchOptions { m_parameters.options }, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, HTTPHeaderMap { m_parameters.originalRequestHeaders }, URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.preflightPolicy, originalRequest().httpReferrer(), m_parameters.isHTTPSUpgradeEnabled, shouldCaptureExtraNetworkLoadMetrics(), requestLoadType);
     115        m_networkLoadChecker = std::make_unique<NetworkLoadChecker>(connection.networkProcess(), FetchOptions { m_parameters.options }, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, HTTPHeaderMap { m_parameters.originalRequestHeaders }, URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.preflightPolicy, originalRequest().httpReferrer(), m_parameters.isHTTPSUpgradeEnabled, shouldCaptureExtraNetworkLoadMetrics(), requestLoadType);
    116116        if (m_parameters.cspResponseHeaders)
    117117            m_networkLoadChecker->setCSPResponseHeaders(ContentSecurityPolicyResponseHeaders { m_parameters.cspResponseHeaders.value() });
  • trunk/Source/WebKit/NetworkProcess/PingLoad.cpp

    r239594 r239741  
    4040using namespace WebCore;
    4141
    42 PingLoad::PingLoad(NetworkResourceLoadParameters&& parameters, CompletionHandler<void(const ResourceError&, const ResourceResponse&)>&& completionHandler)
     42PingLoad::PingLoad(NetworkProcess& networkProcess, NetworkResourceLoadParameters&& parameters, CompletionHandler<void(const ResourceError&, const ResourceResponse&)>&& completionHandler)
    4343    : m_parameters(WTFMove(parameters))
    4444    , m_completionHandler(WTFMove(completionHandler))
    4545    , m_timeoutTimer(*this, &PingLoad::timeoutTimerFired)
    46     , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(FetchOptions { m_parameters.options}, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.preflightPolicy, m_parameters.request.httpReferrer()))
     46    , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(networkProcess, FetchOptions { m_parameters.options}, m_parameters.sessionID, m_parameters.webPageID, m_parameters.webFrameID, WTFMove(m_parameters.originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef(), m_parameters.preflightPolicy, m_parameters.request.httpReferrer()))
    4747{
    4848    m_networkLoadChecker->enableContentExtensionsCheck();
  • trunk/Source/WebKit/NetworkProcess/PingLoad.h

    r239007 r239741  
    3737
    3838class NetworkLoadChecker;
     39class NetworkProcess;
    3940
    4041class PingLoad final : public CanMakeWeakPtr<PingLoad>, private NetworkDataTaskClient {
    4142public:
    42     PingLoad(NetworkResourceLoadParameters&&, CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)>&&);
     43    PingLoad(NetworkProcess&, NetworkResourceLoadParameters&&, CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)>&&);
    4344   
    4445private:
  • trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp

    r239534 r239741  
    3737using namespace WebCore;
    3838
    39 WebSWServerToContextConnection::WebSWServerToContextConnection(const SecurityOriginData& securityOrigin, Ref<IPC::Connection>&& connection)
     39WebSWServerToContextConnection::WebSWServerToContextConnection(NetworkProcess& networkProcess, const SecurityOriginData& securityOrigin, Ref<IPC::Connection>&& connection)
    4040    : SWServerToContextConnection(securityOrigin)
    4141    , m_ipcConnection(WTFMove(connection))
     42    , m_networkProcess(networkProcess)
    4243{
    4344}
     45
     46WebSWServerToContextConnection::~WebSWServerToContextConnection() = default;
    4447
    4548IPC::Connection* WebSWServerToContextConnection::messageSenderConnection()
     
    105108void WebSWServerToContextConnection::connectionMayNoLongerBeNeeded()
    106109{
    107     NetworkProcess::singleton().swContextConnectionMayNoLongerBeNeeded(*this);
     110    m_networkProcess->swContextConnectionMayNoLongerBeNeeded(*this);
    108111}
    109112
  • trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h

    r239534 r239741  
    3434namespace WebKit {
    3535
     36class NetworkProcess;
     37
    3638class WebSWServerToContextConnection : public WebCore::SWServerToContextConnection, public IPC::MessageSender, public IPC::MessageReceiver {
    3739public:
     
    5153
    5254private:
    53     WebSWServerToContextConnection(const WebCore::SecurityOriginData&, Ref<IPC::Connection>&&);
     55    WebSWServerToContextConnection(NetworkProcess&, const WebCore::SecurityOriginData&, Ref<IPC::Connection>&&);
     56    ~WebSWServerToContextConnection();
    5457
    5558    // IPC::MessageSender
     
    7174
    7275    Ref<IPC::Connection> m_ipcConnection;
     76    Ref<NetworkProcess> m_networkProcess;
    7377   
    7478}; // class WebSWServerToContextConnection
Note: See TracChangeset for help on using the changeset viewer.