Title: [202054] trunk/Source/WebKit2
Revision
202054
Author
[email protected]
Date
2016-06-14 11:37:17 -0700 (Tue, 14 Jun 2016)

Log Message

Reduce copying of NetworkLoadParameters
https://bugs.webkit.org/show_bug.cgi?id=158744

Reviewed by Alex Christensen.

Reduce copying of NetworkLoadParameters by moving it around instead.

* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
* NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::PendingDownload):
* NetworkProcess/Downloads/PendingDownload.h:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (202053 => 202054)


--- trunk/Source/WebKit2/ChangeLog	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/ChangeLog	2016-06-14 18:37:17 UTC (rev 202054)
@@ -1,3 +1,25 @@
+2016-06-14  Chris Dumez  <[email protected]>
+
+        Reduce copying of NetworkLoadParameters
+        https://bugs.webkit.org/show_bug.cgi?id=158744
+
+        Reviewed by Alex Christensen.
+
+        Reduce copying of NetworkLoadParameters by moving it around instead.
+
+        * NetworkProcess/Downloads/DownloadManager.cpp:
+        (WebKit::DownloadManager::startDownload):
+        * NetworkProcess/Downloads/PendingDownload.cpp:
+        (WebKit::PendingDownload::PendingDownload):
+        * NetworkProcess/Downloads/PendingDownload.h:
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::NetworkLoad):
+        * NetworkProcess/NetworkLoad.h:
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::startNetworkLoad):
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
+        (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
+
 2016-06-14  Carlos Garcia Campos  <[email protected]>
 
         [ThreadedCompositor] Opening the inspector in a window causes a crash.

Modified: trunk/Source/WebKit2/NetworkProcess/Downloads/DownloadManager.cpp (202053 => 202054)


--- trunk/Source/WebKit2/NetworkProcess/Downloads/DownloadManager.cpp	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/NetworkProcess/Downloads/DownloadManager.cpp	2016-06-14 18:37:17 UTC (rev 202054)
@@ -54,7 +54,7 @@
     parameters.sessionID = sessionID;
     parameters.request = request;
     parameters.clientCredentialPolicy = AskClientForAllCredentials;
-    m_pendingDownloads.add(downloadID, std::make_unique<PendingDownload>(parameters, downloadID));
+    m_pendingDownloads.add(downloadID, std::make_unique<PendingDownload>(WTFMove(parameters), downloadID));
 #else
     auto download = std::make_unique<Download>(*this, downloadID, request, suggestedName);
     download->start();

Modified: trunk/Source/WebKit2/NetworkProcess/Downloads/PendingDownload.cpp (202053 => 202054)


--- trunk/Source/WebKit2/NetworkProcess/Downloads/PendingDownload.cpp	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/NetworkProcess/Downloads/PendingDownload.cpp	2016-06-14 18:37:17 UTC (rev 202054)
@@ -38,8 +38,8 @@
 
 namespace WebKit {
 
-PendingDownload::PendingDownload(const NetworkLoadParameters& parameters, DownloadID downloadID)
-    : m_networkLoad(std::make_unique<NetworkLoad>(*this, parameters))
+PendingDownload::PendingDownload(NetworkLoadParameters&& parameters, DownloadID downloadID)
+    : m_networkLoad(std::make_unique<NetworkLoad>(*this, WTFMove(parameters)))
 {
     m_networkLoad->setPendingDownloadID(downloadID);
     m_networkLoad->setPendingDownload(*this);

Modified: trunk/Source/WebKit2/NetworkProcess/Downloads/PendingDownload.h (202053 => 202054)


--- trunk/Source/WebKit2/NetworkProcess/Downloads/PendingDownload.h	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/NetworkProcess/Downloads/PendingDownload.h	2016-06-14 18:37:17 UTC (rev 202054)
@@ -44,7 +44,7 @@
 class PendingDownload : public NetworkLoadClient, public IPC::MessageSender {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    PendingDownload(const NetworkLoadParameters&, DownloadID);
+    PendingDownload(NetworkLoadParameters&&, DownloadID);
 
     void continueWillSendRequest(WebCore::ResourceRequest&&);
     void continueCanAuthenticateAgainstProtectionSpace(bool canAuthenticate);

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp (202053 => 202054)


--- trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp	2016-06-14 18:37:17 UTC (rev 202054)
@@ -41,31 +41,31 @@
 
 using namespace WebCore;
 
-NetworkLoad::NetworkLoad(NetworkLoadClient& client, const NetworkLoadParameters& parameters)
+NetworkLoad::NetworkLoad(NetworkLoadClient& client, NetworkLoadParameters&& parameters)
     : m_client(client)
-    , m_parameters(parameters)
+    , m_parameters(WTFMove(parameters))
 #if !USE(NETWORK_SESSION)
-    , m_networkingContext(RemoteNetworkingContext::create(parameters.sessionID, parameters.shouldClearReferrerOnHTTPSToHTTPRedirect))
+    , m_networkingContext(RemoteNetworkingContext::create(m_parameters.sessionID, m_parameters.shouldClearReferrerOnHTTPSToHTTPRedirect))
 #endif
-    , m_currentRequest(parameters.request)
+    , m_currentRequest(m_parameters.request)
 {
 #if USE(NETWORK_SESSION)
-    if (parameters.request.url().protocolIsBlob()) {
-        m_handle = ResourceHandle::create(nullptr, parameters.request, this, parameters.defersLoading, parameters.contentSniffingPolicy == SniffContent);
+    if (m_parameters.request.url().protocolIsBlob()) {
+        m_handle = ResourceHandle::create(nullptr, m_parameters.request, this, m_parameters.defersLoading, m_parameters.contentSniffingPolicy == SniffContent);
         return;
     }
-    if (auto* networkSession = SessionTracker::networkSession(parameters.sessionID)) {
-        m_task = NetworkDataTask::create(*networkSession, *this, parameters.request, parameters.allowStoredCredentials, parameters.contentSniffingPolicy, parameters.shouldClearReferrerOnHTTPSToHTTPRedirect);
-        if (!parameters.defersLoading)
+    if (auto* networkSession = SessionTracker::networkSession(m_parameters.sessionID)) {
+        m_task = NetworkDataTask::create(*networkSession, *this, m_parameters.request, m_parameters.allowStoredCredentials, m_parameters.contentSniffingPolicy, m_parameters.shouldClearReferrerOnHTTPSToHTTPRedirect);
+        if (!m_parameters.defersLoading)
             m_task->resume();
     } else {
-        WTFLogAlways("Attempted to create a NetworkLoad with a session (id=%" PRIu64 ") that does not exist.", parameters.sessionID.sessionID());
-        RunLoop::current().dispatch([this, url = "" {
+        WTFLogAlways("Attempted to create a NetworkLoad with a session (id=%" PRIu64 ") that does not exist.", m_parameters.sessionID.sessionID());
+        RunLoop::current().dispatch([this, url = "" {
             didCompleteWithError(internalError(url));
         });
     }
 #else
-    m_handle = ResourceHandle::create(m_networkingContext.get(), parameters.request, this, parameters.defersLoading, parameters.contentSniffingPolicy == SniffContent);
+    m_handle = ResourceHandle::create(m_networkingContext.get(), m_parameters.request, this, m_parameters.defersLoading, m_parameters.contentSniffingPolicy == SniffContent);
 #endif
 }
 

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkLoad.h (202053 => 202054)


--- trunk/Source/WebKit2/NetworkProcess/NetworkLoad.h	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkLoad.h	2016-06-14 18:37:17 UTC (rev 202054)
@@ -46,7 +46,7 @@
 {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    NetworkLoad(NetworkLoadClient&, const NetworkLoadParameters&);
+    NetworkLoad(NetworkLoadClient&, NetworkLoadParameters&&);
     ~NetworkLoad();
 
     void setDefersLoading(bool);

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (202053 => 202054)


--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2016-06-14 18:37:17 UTC (rev 202054)
@@ -208,7 +208,7 @@
     NetworkLoadParameters parameters = m_parameters;
     parameters.defersLoading = m_defersLoading;
     parameters.request = request;
-    m_networkLoad = std::make_unique<NetworkLoad>(*this, parameters);
+    m_networkLoad = std::make_unique<NetworkLoad>(*this, WTFMove(parameters));
 }
 
 void NetworkResourceLoader::setDefersLoading(bool defers)

Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp (202053 => 202054)


--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp	2016-06-14 18:09:09 UTC (rev 202053)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp	2016-06-14 18:37:17 UTC (rev 202054)
@@ -55,7 +55,7 @@
     parameters.allowStoredCredentials = AllowStoredCredentials;
     parameters.contentSniffingPolicy = DoNotSniffContent;
     parameters.request = m_originalRequest;
-    m_networkLoad = std::make_unique<NetworkLoad>(*this, parameters);
+    m_networkLoad = std::make_unique<NetworkLoad>(*this, WTFMove(parameters));
 }
 
 SpeculativeLoad::~SpeculativeLoad()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to