Diff
Modified: trunk/Source/WebKit/ChangeLog (239699 => 239700)
--- trunk/Source/WebKit/ChangeLog 2019-01-07 22:29:22 UTC (rev 239699)
+++ trunk/Source/WebKit/ChangeLog 2019-01-07 22:30:05 UTC (rev 239700)
@@ -1,5 +1,26 @@
2019-01-07 Alex Christensen <achristen...@webkit.org>
+ Remove use of NetworkProcess::singleton in NetworkLoad/NetworkDataTask code
+ https://bugs.webkit.org/show_bug.cgi?id=193212
+
+ Reviewed by Andy Estes.
+
+ * NetworkProcess/NetworkDataTaskBlob.cpp:
+ (WebKit::NetworkDataTaskBlob::NetworkDataTaskBlob):
+ (WebKit::NetworkDataTaskBlob::download):
+ (WebKit::NetworkDataTaskBlob::writeDownload):
+ (WebKit::NetworkDataTaskBlob::didFailDownload):
+ (WebKit::NetworkDataTaskBlob::didFinishDownload):
+ * NetworkProcess/NetworkDataTaskBlob.h:
+ * NetworkProcess/NetworkLoad.cpp:
+ (WebKit::NetworkLoad::NetworkLoad):
+ (WebKit::NetworkLoad::convertTaskToDownload):
+ (WebKit::NetworkLoad::didReceiveChallenge):
+ (WebKit::NetworkLoad::didReceiveResponse):
+ * NetworkProcess/NetworkLoad.h:
+
+2019-01-07 Alex Christensen <achristen...@webkit.org>
+
Remove use of NetworkProcess::singleton for downloads
https://bugs.webkit.org/show_bug.cgi?id=193207
Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp (239699 => 239700)
--- trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp 2019-01-07 22:29:22 UTC (rev 239699)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp 2019-01-07 22:30:05 UTC (rev 239700)
@@ -69,6 +69,7 @@
: NetworkDataTask(session, client, request, StoredCredentialsPolicy::DoNotUse, false, false)
, m_stream(std::make_unique<AsyncFileStream>(*this))
, m_fileReferences(fileReferences)
+ , m_networkProcess(session.networkProcess())
{
for (auto& fileReference : m_fileReferences)
fileReference->prepareForFileAccess();
@@ -465,7 +466,7 @@
return;
}
- auto& downloadManager = NetworkProcess::singleton().downloadManager();
+ auto& downloadManager = m_networkProcess->downloadManager();
auto download = std::make_unique<Download>(downloadManager, m_pendingDownloadID, *this, m_session->sessionID(), suggestedFilename());
auto* downloadPtr = download.get();
downloadManager.dataTaskBecameDownloadTask(m_pendingDownloadID, WTFMove(download));
@@ -487,7 +488,7 @@
}
ASSERT(bytesWritten == bytesRead);
- auto* download = NetworkProcess::singleton().downloadManager().download(m_pendingDownloadID);
+ auto* download = m_networkProcess->downloadManager().download(m_pendingDownloadID);
ASSERT(download);
download->didReceiveData(bytesWritten);
return true;
@@ -517,7 +518,7 @@
if (m_client)
m_client->didCompleteWithError(error);
else {
- auto* download = NetworkProcess::singleton().downloadManager().download(m_pendingDownloadID);
+ auto* download = m_networkProcess->downloadManager().download(m_pendingDownloadID);
ASSERT(download);
download->didFail(error, IPC::DataReference());
}
@@ -537,7 +538,7 @@
}
clearStream();
- auto* download = NetworkProcess::singleton().downloadManager().download(m_pendingDownloadID);
+ auto* download = m_networkProcess->downloadManager().download(m_pendingDownloadID);
ASSERT(download);
download->didFinish();
}
Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h (239699 => 239700)
--- trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h 2019-01-07 22:29:22 UTC (rev 239699)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h 2019-01-07 22:30:05 UTC (rev 239700)
@@ -44,6 +44,8 @@
namespace WebKit {
+class NetworkProcess;
+
class NetworkDataTaskBlob final : public NetworkDataTask, public WebCore::FileStreamClient {
public:
static Ref<NetworkDataTask> create(NetworkSession& session, NetworkDataTaskClient& client, const WebCore::ResourceRequest& request, WebCore::ContentSniffingPolicy shouldContentSniff, const Vector<RefPtr<WebCore::BlobDataFileReference>>& fileReferences)
@@ -115,6 +117,7 @@
Vector<RefPtr<WebCore::BlobDataFileReference>> m_fileReferences;
RefPtr<SandboxExtension> m_sandboxExtension;
+ Ref<NetworkProcess> m_networkProcess;
};
} // namespace WebKit
Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (239699 => 239700)
--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp 2019-01-07 22:29:22 UTC (rev 239699)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp 2019-01-07 22:30:05 UTC (rev 239700)
@@ -52,6 +52,7 @@
NetworkLoad::NetworkLoad(NetworkLoadClient& client, NetworkLoadParameters&& parameters, NetworkSession& networkSession)
: m_client(client)
+ , m_networkProcess(networkSession.networkProcess())
, m_parameters(WTFMove(parameters))
, m_loadThrottleLatency(networkSession.loadThrottleLatency())
, m_currentRequest(m_parameters.request)
@@ -133,7 +134,7 @@
m_currentRequest = updatedRequest;
m_task->setPendingDownload(pendingDownload);
- NetworkProcess::singleton().findPendingDownloadLocation(*m_task.get(), WTFMove(completionHandler), response);
+ m_networkProcess->findPendingDownloadLocation(*m_task.get(), WTFMove(completionHandler), response);
}
void NetworkLoad::setPendingDownloadID(DownloadID downloadID)
@@ -188,9 +189,9 @@
}
if (auto* pendingDownload = m_task->pendingDownload())
- NetworkProcess::singleton().authenticationManager().didReceiveAuthenticationChallenge(*pendingDownload, challenge, WTFMove(completionHandler));
+ m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(*pendingDownload, challenge, WTFMove(completionHandler));
else
- NetworkProcess::singleton().authenticationManager().didReceiveAuthenticationChallenge(m_parameters.webPageID, m_parameters.webFrameID, challenge, WTFMove(completionHandler));
+ m_networkProcess->authenticationManager().didReceiveAuthenticationChallenge(m_parameters.webPageID, m_parameters.webFrameID, challenge, WTFMove(completionHandler));
}
void NetworkLoad::didReceiveResponse(ResourceResponse&& response, ResponseCompletionHandler&& completionHandler)
@@ -199,7 +200,7 @@
ASSERT(!m_throttle);
if (m_task && m_task->isDownload()) {
- NetworkProcess::singleton().findPendingDownloadLocation(*m_task.get(), WTFMove(completionHandler), response);
+ m_networkProcess->findPendingDownloadLocation(*m_task.get(), WTFMove(completionHandler), response);
return;
}
Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.h (239699 => 239700)
--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.h 2019-01-07 22:29:22 UTC (rev 239699)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.h 2019-01-07 22:30:05 UTC (rev 239700)
@@ -35,6 +35,8 @@
namespace WebKit {
+class NetworkProcess;
+
class NetworkLoad final : private NetworkDataTaskClient {
WTF_MAKE_FAST_ALLOCATED;
public:
@@ -79,6 +81,7 @@
void throttleDelayCompleted();
std::reference_wrapper<NetworkLoadClient> m_client;
+ Ref<NetworkProcess> m_networkProcess;
const NetworkLoadParameters m_parameters;
CompletionHandler<void(WebCore::ResourceRequest&&)> m_redirectCompletionHandler;
RefPtr<NetworkDataTask> m_task;