Changeset 239741 in webkit
- Timestamp:
- Jan 8, 2019, 1:24:01 PM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r239740 r239741 1 2019-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 1 39 2019-01-08 Alex Christensen <achristensen@webkit.org> 2 40 -
trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp
r239007 r239741 41 41 using namespace WebCore; 42 42 43 NetworkCORSPreflightChecker::NetworkCORSPreflightChecker( Parameters&& parameters, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&& completionCallback)43 NetworkCORSPreflightChecker::NetworkCORSPreflightChecker(NetworkProcess& networkProcess, Parameters&& parameters, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&& completionCallback) 44 44 : m_parameters(WTFMove(parameters)) 45 , m_networkProcess(networkProcess) 45 46 , m_completionCallback(WTFMove(completionCallback)) 46 47 , m_shouldCaptureExtraNetworkLoadMetrics(shouldCaptureExtraNetworkLoadMetrics) … … 102 103 } 103 104 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)); 105 106 } 106 107 -
trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.h
r239007 r239741 39 39 namespace WebKit { 40 40 41 class NetworkProcess; 42 41 43 class NetworkCORSPreflightChecker final : private NetworkDataTaskClient { 42 44 WTF_MAKE_FAST_ALLOCATED; … … 54 56 using CompletionCallback = CompletionHandler<void(WebCore::ResourceError&&)>; 55 57 56 NetworkCORSPreflightChecker( Parameters&&, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&&);58 NetworkCORSPreflightChecker(NetworkProcess&, Parameters&&, bool shouldCaptureExtraNetworkLoadMetrics, CompletionCallback&&); 57 59 ~NetworkCORSPreflightChecker(); 58 60 const WebCore::ResourceRequest& originalRequest() const { return m_parameters.originalRequest; } … … 73 75 74 76 Parameters m_parameters; 77 Ref<NetworkProcess> m_networkProcess; 75 78 WebCore::ResourceResponse m_response; 76 79 CompletionCallback m_completionCallback; -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
r239701 r239741 342 342 343 343 // 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)); 345 345 } 346 346 -
trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp
r235101 r239741 36 36 using namespace WebCore; 37 37 38 NetworkContentRuleListManager::NetworkContentRuleListManager() = default; 38 NetworkContentRuleListManager::NetworkContentRuleListManager(NetworkProcess& networkProcess) 39 : m_networkProcess(networkProcess) 40 { 41 } 42 39 43 NetworkContentRuleListManager::~NetworkContentRuleListManager() 40 44 { … … 60 64 return Vector<BackendCallback> { }; 61 65 }).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); 63 67 } 64 68 -
trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.h
r239007 r239741 39 39 namespace WebKit { 40 40 41 class NetworkProcess; 42 41 43 class NetworkContentRuleListManager { 42 44 public: 43 NetworkContentRuleListManager( );45 NetworkContentRuleListManager(NetworkProcess&); 44 46 ~NetworkContentRuleListManager(); 45 47 … … 57 59 HashMap<UserContentControllerIdentifier, std::unique_ptr<WebCore::ContentExtensions::ContentExtensionsBackend>> m_contentExtensionBackends; 58 60 HashMap<UserContentControllerIdentifier, Vector<BackendCallback>> m_pendingCallbacks; 61 NetworkProcess& m_networkProcess; 59 62 }; 60 63 -
trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
r239699 r239741 48 48 } 49 49 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)50 NetworkLoadChecker::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) 51 51 : m_options(WTFMove(options)) 52 52 , m_sessionID(sessionID) 53 , m_networkProcess(networkProcess) 53 54 , m_pageID(pageID) 54 55 , m_frameID(frameID) … … 198 199 } 199 200 200 auto& httpsUpgradeChecker = NetworkProcess::singleton().networkHTTPSUpgradeChecker();201 auto& httpsUpgradeChecker = m_networkProcess->networkHTTPSUpgradeChecker(); 201 202 202 203 // Do not wait for httpsUpgradeChecker to complete its setup. … … 408 409 m_storedCredentialsPolicy 409 410 }; 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 { 411 412 RELEASE_LOG_IF_ALLOWED("checkCORSRequestWithPreflight - makeCrossOriginAccessRequestWithPreflight preflight complete, success: %d forRedirect? %d", error.isNull(), isRedirected); 412 413 … … 457 458 } 458 459 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 { 460 461 if (!weakThis) { 461 462 callback(makeUnexpected(ResourceError { ResourceError::Type::Cancellation })); -
trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h
r239594 r239741 48 48 49 49 class NetworkCORSPreflightChecker; 50 class NetworkProcess; 50 51 51 52 class NetworkLoadChecker : public CanMakeWeakPtr<NetworkLoadChecker> { … … 53 54 enum class LoadType : bool { MainFrame, Other }; 54 55 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); 56 57 ~NetworkLoadChecker(); 57 58 … … 123 124 WebCore::StoredCredentialsPolicy m_storedCredentialsPolicy; 124 125 PAL::SessionID m_sessionID; 126 Ref<NetworkProcess> m_networkProcess; 125 127 uint64_t m_pageID; 126 128 uint64_t m_frameID; -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
r239710 r239741 129 129 , m_clearCacheDispatchGroup(0) 130 130 #endif 131 #if ENABLE(CONTENT_EXTENSIONS) 132 , m_networkContentRuleListManager(*this) 133 #endif 131 134 , m_storageTaskQueue(WorkQueue::create("com.apple.WebKit.StorageTask")) 132 135 #if ENABLE(INDEXED_DATABASE) … … 203 206 #if ENABLE(CONTENT_EXTENSIONS) 204 207 if (decoder.messageReceiverName() == Messages::NetworkContentRuleListManager::messageReceiverName()) { 205 m_ NetworkContentRuleListManager.didReceiveMessage(connection, decoder);208 m_networkContentRuleListManager.didReceiveMessage(connection, decoder); 206 209 return; 207 210 } … … 412 415 ASSERT(parentProcessHasServiceWorkerEntitlement()); 413 416 ASSERT(m_waitingForServerToContextProcessConnection); 414 auto contextConnection = WebSWServerToContextConnection::create( securityOrigin, m_webProcessConnections.last()->connection());417 auto contextConnection = WebSWServerToContextConnection::create(*this, securityOrigin, m_webProcessConnections.last()->connection()); 415 418 auto addResult = m_serverToContextConnections.add(WTFMove(securityOrigin), contextConnection.copyRef()); 416 419 ASSERT_UNUSED(addResult, addResult.isNewEntry); -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.h
r239710 r239741 173 173 174 174 #if ENABLE(CONTENT_EXTENSIONS) 175 NetworkContentRuleListManager& networkContentRuleListManager() { return m_ NetworkContentRuleListManager; }175 NetworkContentRuleListManager& networkContentRuleListManager() { return m_networkContentRuleListManager; } 176 176 #endif 177 177 … … 392 392 393 393 #if ENABLE(CONTENT_EXTENSIONS) 394 NetworkContentRuleListManager m_ NetworkContentRuleListManager;394 NetworkContentRuleListManager m_networkContentRuleListManager; 395 395 #endif 396 396 -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
r239725 r239741 113 113 if (synchronousReply || parameters.shouldRestrictHTTPResponseAccess) { 114 114 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); 116 116 if (m_parameters.cspResponseHeaders) 117 117 m_networkLoadChecker->setCSPResponseHeaders(ContentSecurityPolicyResponseHeaders { m_parameters.cspResponseHeaders.value() }); -
trunk/Source/WebKit/NetworkProcess/PingLoad.cpp
r239594 r239741 40 40 using namespace WebCore; 41 41 42 PingLoad::PingLoad(Network ResourceLoadParameters&& parameters, CompletionHandler<void(const ResourceError&, const ResourceResponse&)>&& completionHandler)42 PingLoad::PingLoad(NetworkProcess& networkProcess, NetworkResourceLoadParameters&& parameters, CompletionHandler<void(const ResourceError&, const ResourceResponse&)>&& completionHandler) 43 43 : m_parameters(WTFMove(parameters)) 44 44 , m_completionHandler(WTFMove(completionHandler)) 45 45 , 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())) 47 47 { 48 48 m_networkLoadChecker->enableContentExtensionsCheck(); -
trunk/Source/WebKit/NetworkProcess/PingLoad.h
r239007 r239741 37 37 38 38 class NetworkLoadChecker; 39 class NetworkProcess; 39 40 40 41 class PingLoad final : public CanMakeWeakPtr<PingLoad>, private NetworkDataTaskClient { 41 42 public: 42 PingLoad(Network ResourceLoadParameters&&, CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)>&&);43 PingLoad(NetworkProcess&, NetworkResourceLoadParameters&&, CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)>&&); 43 44 44 45 private: -
trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp
r239534 r239741 37 37 using namespace WebCore; 38 38 39 WebSWServerToContextConnection::WebSWServerToContextConnection( const SecurityOriginData& securityOrigin, Ref<IPC::Connection>&& connection)39 WebSWServerToContextConnection::WebSWServerToContextConnection(NetworkProcess& networkProcess, const SecurityOriginData& securityOrigin, Ref<IPC::Connection>&& connection) 40 40 : SWServerToContextConnection(securityOrigin) 41 41 , m_ipcConnection(WTFMove(connection)) 42 , m_networkProcess(networkProcess) 42 43 { 43 44 } 45 46 WebSWServerToContextConnection::~WebSWServerToContextConnection() = default; 44 47 45 48 IPC::Connection* WebSWServerToContextConnection::messageSenderConnection() … … 105 108 void WebSWServerToContextConnection::connectionMayNoLongerBeNeeded() 106 109 { 107 NetworkProcess::singleton().swContextConnectionMayNoLongerBeNeeded(*this);110 m_networkProcess->swContextConnectionMayNoLongerBeNeeded(*this); 108 111 } 109 112 -
trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h
r239534 r239741 34 34 namespace WebKit { 35 35 36 class NetworkProcess; 37 36 38 class WebSWServerToContextConnection : public WebCore::SWServerToContextConnection, public IPC::MessageSender, public IPC::MessageReceiver { 37 39 public: … … 51 53 52 54 private: 53 WebSWServerToContextConnection(const WebCore::SecurityOriginData&, Ref<IPC::Connection>&&); 55 WebSWServerToContextConnection(NetworkProcess&, const WebCore::SecurityOriginData&, Ref<IPC::Connection>&&); 56 ~WebSWServerToContextConnection(); 54 57 55 58 // IPC::MessageSender … … 71 74 72 75 Ref<IPC::Connection> m_ipcConnection; 76 Ref<NetworkProcess> m_networkProcess; 73 77 74 78 }; // class WebSWServerToContextConnection
Note:
See TracChangeset
for help on using the changeset viewer.