Title: [252260] trunk/Source/WebKit
Revision
252260
Author
achristen...@apple.com
Date
2019-11-08 13:34:49 -0800 (Fri, 08 Nov 2019)

Log Message

Make DownloadID an ObjectIdentifier
https://bugs.webkit.org/show_bug.cgi?id=203962

Reviewed by Youenn Fablet.

Also deprecate the unused WKDownloadGetID because this identifier is internal.

* NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::Download):
(WebKit::Download::didReceiveData):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
(WebKit::Download::messageSenderDestinationID const):
* NetworkProcess/Downloads/DownloadID.h:
(WebKit::DownloadID::DownloadID): Deleted.
(WebKit::DownloadID::operator== const): Deleted.
(WebKit::DownloadID::operator!= const): Deleted.
(WebKit::DownloadID::downloadID const): Deleted.
(IPC::ArgumentCoder<WebKit::DownloadID>::encode): Deleted.
(IPC::ArgumentCoder<WebKit::DownloadID>::decode): Deleted.
(WTF::DownloadIDHash::hash): Deleted.
(WTF::DownloadIDHash::equal): Deleted.
(WTF::HashTraits<WebKit::DownloadID>::emptyValue): Deleted.
(WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue): Deleted.
(WTF::HashTraits<WebKit::DownloadID>::isDeletedValue): Deleted.
* NetworkProcess/Downloads/DownloadMonitor.cpp:
(WebKit::DownloadMonitor::applicationWillEnterForeground):
(WebKit::DownloadMonitor::applicationDidEnterBackground):
(WebKit::DownloadMonitor::timerFired):
* NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::messageSenderDestinationID const):
* NetworkProcess/Downloads/PendingDownload.h:
* NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTask::setPendingDownloadID):
(WebKit::NetworkDataTask::isDownload const):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::pendingDownloadCanceled):
(WebKit::NetworkProcess::findPendingDownloadLocation):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::convertToDownload):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):
* Scripts/webkit/messages.py:
* Shared/Authentication/AuthenticationManager.h:
* UIProcess/API/C/WKDownload.cpp:
(WKDownloadGetID):
* UIProcess/API/C/WKDownload.h:
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::DownloadProxy):
(WebKit::generateDownloadID): Deleted.
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::invalidate):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebPage.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (252259 => 252260)


--- trunk/Source/WebKit/ChangeLog	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/ChangeLog	2019-11-08 21:34:49 UTC (rev 252260)
@@ -1,5 +1,73 @@
 2019-11-08  Alex Christensen  <achristen...@webkit.org>
 
+        Make DownloadID an ObjectIdentifier
+        https://bugs.webkit.org/show_bug.cgi?id=203962
+
+        Reviewed by Youenn Fablet.
+
+        Also deprecate the unused WKDownloadGetID because this identifier is internal.
+
+        * NetworkProcess/Downloads/Download.cpp:
+        (WebKit::Download::Download):
+        (WebKit::Download::didReceiveData):
+        (WebKit::Download::didFinish):
+        (WebKit::Download::didFail):
+        (WebKit::Download::didCancel):
+        (WebKit::Download::messageSenderDestinationID const):
+        * NetworkProcess/Downloads/DownloadID.h:
+        (WebKit::DownloadID::DownloadID): Deleted.
+        (WebKit::DownloadID::operator== const): Deleted.
+        (WebKit::DownloadID::operator!= const): Deleted.
+        (WebKit::DownloadID::downloadID const): Deleted.
+        (IPC::ArgumentCoder<WebKit::DownloadID>::encode): Deleted.
+        (IPC::ArgumentCoder<WebKit::DownloadID>::decode): Deleted.
+        (WTF::DownloadIDHash::hash): Deleted.
+        (WTF::DownloadIDHash::equal): Deleted.
+        (WTF::HashTraits<WebKit::DownloadID>::emptyValue): Deleted.
+        (WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue): Deleted.
+        (WTF::HashTraits<WebKit::DownloadID>::isDeletedValue): Deleted.
+        * NetworkProcess/Downloads/DownloadMonitor.cpp:
+        (WebKit::DownloadMonitor::applicationWillEnterForeground):
+        (WebKit::DownloadMonitor::applicationDidEnterBackground):
+        (WebKit::DownloadMonitor::timerFired):
+        * NetworkProcess/Downloads/PendingDownload.cpp:
+        (WebKit::PendingDownload::messageSenderDestinationID const):
+        * NetworkProcess/Downloads/PendingDownload.h:
+        * NetworkProcess/NetworkDataTask.h:
+        (WebKit::NetworkDataTask::setPendingDownloadID):
+        (WebKit::NetworkDataTask::isDownload const):
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::pendingDownloadCanceled):
+        (WebKit::NetworkProcess::findPendingDownloadLocation):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::convertToDownload):
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
+        (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
+        (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
+        (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):
+        * Scripts/webkit/messages.py:
+        * Shared/Authentication/AuthenticationManager.h:
+        * UIProcess/API/C/WKDownload.cpp:
+        (WKDownloadGetID):
+        * UIProcess/API/C/WKDownload.h:
+        * UIProcess/Downloads/DownloadProxy.cpp:
+        (WebKit::DownloadProxy::DownloadProxy):
+        (WebKit::generateDownloadID): Deleted.
+        * UIProcess/Downloads/DownloadProxy.h:
+        * UIProcess/Downloads/DownloadProxyMap.cpp:
+        (WebKit::DownloadProxyMap::createDownloadProxy):
+        (WebKit::DownloadProxyMap::downloadFinished):
+        (WebKit::DownloadProxyMap::invalidate):
+        * WebProcess/WebPage/WebFrame.cpp:
+        (WebKit::WebFrame::startDownload):
+        (WebKit::WebFrame::convertMainResourceLoadToDownload):
+        * WebProcess/WebPage/WebFrame.h:
+        * WebProcess/WebPage/WebPage.h:
+
+2019-11-08  Alex Christensen  <achristen...@webkit.org>
+
         Fix flaky tests in http/tests/cache/disk-cache
         https://bugs.webkit.org/show_bug.cgi?id=203822
 

Modified: trunk/Source/WebKit/NetworkProcess/Downloads/Download.cpp (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/Downloads/Download.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/Download.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -59,7 +59,7 @@
     , m_suggestedName(suggestedName)
     , m_testSpeedMultiplier(session.testSpeedMultiplier())
 {
-    ASSERT(m_downloadID.downloadID());
+    ASSERT(m_downloadID);
 
     m_downloadManager.didCreateDownload();
 }
@@ -74,7 +74,7 @@
     , m_suggestedName(suggestedName)
     , m_testSpeedMultiplier(session.testSpeedMultiplier())
 {
-    ASSERT(m_downloadID.downloadID());
+    ASSERT(m_downloadID);
 
     m_downloadManager.didCreateDownload();
 }
@@ -120,7 +120,7 @@
 void Download::didReceiveData(uint64_t length)
 {
     if (!m_hasReceivedData) {
-        RELEASE_LOG_IF_ALLOWED("didReceiveData: Started receiving data (id = %" PRIu64 ")", downloadID().downloadID());
+        RELEASE_LOG_IF_ALLOWED("didReceiveData: Started receiving data (id = %" PRIu64 ")", downloadID().toUInt64());
         m_hasReceivedData = true;
     }
     
@@ -131,7 +131,7 @@
 
 void Download::didFinish()
 {
-    RELEASE_LOG_IF_ALLOWED("didFinish: (id = %" PRIu64 ")", downloadID().downloadID());
+    RELEASE_LOG_IF_ALLOWED("didFinish: (id = %" PRIu64 ")", downloadID().toUInt64());
 
     send(Messages::DownloadProxy::DidFinish());
 
@@ -146,7 +146,7 @@
 void Download::didFail(const ResourceError& error, const IPC::DataReference& resumeData)
 {
     RELEASE_LOG_IF_ALLOWED("didFail: (id = %" PRIu64 ", isTimeout = %d, isCancellation = %d, errCode = %d)",
-        downloadID().downloadID(), error.isTimeout(), error.isCancellation(), error.errorCode());
+        downloadID().toUInt64(), error.isTimeout(), error.isCancellation(), error.errorCode());
 
     send(Messages::DownloadProxy::DidFail(error, resumeData));
 
@@ -159,7 +159,7 @@
 
 void Download::didCancel(const IPC::DataReference& resumeData)
 {
-    RELEASE_LOG_IF_ALLOWED("didCancel: (id = %" PRIu64 ")", downloadID().downloadID());
+    RELEASE_LOG_IF_ALLOWED("didCancel: (id = %" PRIu64 ")", downloadID().toUInt64());
 
     send(Messages::DownloadProxy::DidCancel(resumeData));
 
@@ -177,7 +177,7 @@
 
 uint64_t Download::messageSenderDestinationID() const
 {
-    return m_downloadID.downloadID();
+    return m_downloadID.toUInt64();
 }
 
 bool Download::isAlwaysOnLoggingAllowed() const

Modified: trunk/Source/WebKit/NetworkProcess/Downloads/DownloadID.h (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/Downloads/DownloadID.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/DownloadID.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -23,74 +23,13 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef DownloadID_h
-#define DownloadID_h
+#pragma once
 
-#include "ArgumentCoder.h"
-#include "Decoder.h"
-#include "Encoder.h"
-#include <wtf/HashTraits.h>
+#include <wtf/ObjectIdentifier.h>
 
 namespace WebKit {
 
-class DownloadID {
-public:
-    DownloadID()
-    {
-    }
+enum DownloadIdentifierType { };
+using DownloadID = ObjectIdentifier<DownloadIdentifierType>;
 
-    explicit DownloadID(uint64_t downloadID)
-        : m_downloadID(downloadID)
-    {
-    }
-
-    bool operator==(DownloadID other) const { return m_downloadID == other.m_downloadID; }
-    bool operator!=(DownloadID other) const { return m_downloadID != other.m_downloadID; }
-
-    uint64_t downloadID() const { return m_downloadID; }
-private:
-    uint64_t m_downloadID { 0 };
-};
-
 }
-
-namespace IPC {
-    
-template<> struct ArgumentCoder<WebKit::DownloadID> {
-    static void encode(Encoder& encoder, const WebKit::DownloadID& downloadID)
-    {
-        encoder << downloadID.downloadID();
-    }
-    static bool decode(Decoder& decoder, WebKit::DownloadID& downloadID)
-    {
-        uint64_t id;
-        if (!decoder.decode(id))
-            return false;
-
-        downloadID = WebKit::DownloadID(id);
-        
-        return true;
-    }
-};
-
-}
-
-namespace WTF {
-    
-struct DownloadIDHash {
-    static unsigned hash(const WebKit::DownloadID& d) { return intHash(d.downloadID()); }
-    static bool equal(const WebKit::DownloadID& a, const WebKit::DownloadID& b) { return a.downloadID() == b.downloadID(); }
-    static const bool safeToCompareToEmptyOrDeleted = true;
-};
-template<> struct HashTraits<WebKit::DownloadID> : GenericHashTraits<WebKit::DownloadID> {
-    static WebKit::DownloadID emptyValue() { return { }; }
-    
-    static void constructDeletedValue(WebKit::DownloadID& slot) { slot = WebKit::DownloadID(std::numeric_limits<uint64_t>::max()); }
-    static bool isDeletedValue(const WebKit::DownloadID& slot) { return slot.downloadID() == std::numeric_limits<uint64_t>::max(); }
-};
-template<> struct DefaultHash<WebKit::DownloadID> {
-    typedef DownloadIDHash Hash;
-};
-
-}
-#endif /* DownloadID_h */

Modified: trunk/Source/WebKit/NetworkProcess/Downloads/DownloadMonitor.cpp (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/Downloads/DownloadMonitor.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/DownloadMonitor.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -93,7 +93,7 @@
 
 void DownloadMonitor::applicationWillEnterForeground()
 {
-    RELEASE_LOG_IF_ALLOWED("applicationWillEnterForeground (id = %" PRIu64 ")", m_download.downloadID().downloadID());
+    RELEASE_LOG_IF_ALLOWED("applicationWillEnterForeground (id = %" PRIu64 ")", m_download.downloadID().toUInt64());
     m_timer.stop();
     m_interval = 0;
 }
@@ -100,7 +100,7 @@
 
 void DownloadMonitor::applicationDidEnterBackground()
 {
-    RELEASE_LOG_IF_ALLOWED("applicationDidEnterBackground (id = %" PRIu64 ")", m_download.downloadID().downloadID());
+    RELEASE_LOG_IF_ALLOWED("applicationDidEnterBackground (id = %" PRIu64 ")", m_download.downloadID().toUInt64());
     ASSERT(!m_timer.isActive());
     ASSERT(!m_interval);
     m_timer.startOneShot(throughputIntervals[0].time / testSpeedMultiplier());
@@ -117,13 +117,13 @@
 
     RELEASE_ASSERT(m_interval < WTF_ARRAY_LENGTH(throughputIntervals));
     if (measuredThroughputRate() < throughputIntervals[m_interval].bytesPerSecond) {
-        RELEASE_LOG_IF_ALLOWED("timerFired: cancelling download (id = %" PRIu64 ")", m_download.downloadID().downloadID());
+        RELEASE_LOG_IF_ALLOWED("timerFired: cancelling download (id = %" PRIu64 ")", m_download.downloadID().toUInt64());
         m_download.cancel();
     } else if (m_interval + 1 < WTF_ARRAY_LENGTH(throughputIntervals)) {
-        RELEASE_LOG_IF_ALLOWED("timerFired: sufficient throughput rate (id = %" PRIu64 ")", m_download.downloadID().downloadID());
+        RELEASE_LOG_IF_ALLOWED("timerFired: sufficient throughput rate (id = %" PRIu64 ")", m_download.downloadID().toUInt64());
         m_timer.startOneShot(timeUntilNextInterval(m_interval++) / testSpeedMultiplier());
     } else
-        RELEASE_LOG_IF_ALLOWED("timerFired: Download reached threshold to not be terminated (id = %" PRIu64 ")", m_download.downloadID().downloadID());
+        RELEASE_LOG_IF_ALLOWED("timerFired: Download reached threshold to not be terminated (id = %" PRIu64 ")", m_download.downloadID().toUInt64());
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/Downloads/PendingDownload.cpp (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/Downloads/PendingDownload.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/PendingDownload.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -110,7 +110,7 @@
 
 uint64_t PendingDownload::messageSenderDestinationID() const
 {
-    return m_networkLoad->pendingDownloadID().downloadID();
+    return m_networkLoad->pendingDownloadID().toUInt64();
 }
     
 }

Modified: trunk/Source/WebKit/NetworkProcess/Downloads/PendingDownload.h (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/Downloads/PendingDownload.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/PendingDownload.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -25,6 +25,7 @@
 
 #pragma once
 
+#include "DownloadID.h"
 #include "MessageSender.h"
 #include "NetworkLoadClient.h"
 #include "SandboxExtension.h"
@@ -41,7 +42,6 @@
 namespace WebKit {
 
 class Download;
-class DownloadID;
 class NetworkLoad;
 class NetworkLoadParameters;
 class NetworkSession;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -108,8 +108,8 @@
     PendingDownload* pendingDownload() const { return m_pendingDownload; }
     void setPendingDownloadID(DownloadID downloadID)
     {
-        ASSERT(!m_pendingDownloadID.downloadID());
-        ASSERT(downloadID.downloadID());
+        ASSERT(!m_pendingDownloadID);
+        ASSERT(downloadID);
         m_pendingDownloadID = downloadID;
     }
     void setPendingDownload(PendingDownload& pendingDownload)
@@ -120,7 +120,7 @@
 
     virtual void setPendingDownloadLocation(const String& filename, SandboxExtension::Handle&&, bool /*allowOverwrite*/) { m_pendingDownloadLocation = filename; }
     const String& pendingDownloadLocation() const { return m_pendingDownloadLocation; }
-    bool isDownload() const { return !!m_pendingDownloadID.downloadID(); }
+    bool isDownload() const { return !!m_pendingDownloadID; }
 
     const WebCore::ResourceRequest& firstRequest() const { return m_firstRequest; }
     virtual String suggestedFilename() const { return String(); }

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -1967,12 +1967,12 @@
 
 void NetworkProcess::pendingDownloadCanceled(DownloadID downloadID)
 {
-    downloadProxyConnection()->send(Messages::DownloadProxy::DidCancel({ }), downloadID.downloadID());
+    downloadProxyConnection()->send(Messages::DownloadProxy::DidCancel({ }), downloadID);
 }
 
 void NetworkProcess::findPendingDownloadLocation(NetworkDataTask& networkDataTask, ResponseCompletionHandler&& completionHandler, const ResourceResponse& response)
 {
-    uint64_t destinationID = networkDataTask.pendingDownloadID().downloadID();
+    auto destinationID = networkDataTask.pendingDownloadID();
     downloadProxyConnection()->send(Messages::DownloadProxy::DidReceiveResponse(response), destinationID);
 
     downloadManager().willDecidePendingDownloadDestination(networkDataTask, WTFMove(completionHandler));

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -27,6 +27,7 @@
 
 #include "AuxiliaryProcess.h"
 #include "CacheModel.h"
+#include "DownloadID.h"
 #include "DownloadManager.h"
 #include "LocalStorageDatabaseTracker.h"
 #include "NetworkContentRuleListManager.h"
@@ -75,7 +76,6 @@
 namespace WebCore {
 class CertificateInfo;
 class CurlProxySettings;
-class DownloadID;
 class ProtectionSpace;
 class StorageQuotaManager;
 class NetworkStorageSession;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -356,7 +356,7 @@
 
 void NetworkResourceLoader::convertToDownload(DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response)
 {
-    RELEASE_LOG(Loading, "Converting NetworkResourceLoader %p to download %" PRIu64 " (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")", this, downloadID.downloadID(), m_parameters.webPageID.toUInt64(), m_parameters.webFrameID.toUInt64(), m_parameters.identifier);
+    RELEASE_LOG(Loading, "Converting NetworkResourceLoader %p to download %" PRIu64 " (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")", this, downloadID.toUInt64(), m_parameters.webPageID.toUInt64(), m_parameters.webFrameID.toUInt64(), m_parameters.identifier);
     
     // This can happen if the resource came from the disk cache.
     if (!m_networkLoad) {

Modified: trunk/Source/WebKit/NetworkProcess/WebSocketTask.h (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/WebSocketTask.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/WebSocketTask.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -31,6 +31,10 @@
 #include "WebSocketTaskSoup.h"
 #else
 
+namespace IPC {
+class DataReference;
+}
+
 namespace WebKit {
 
 class WebSocketTask {

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (252259 => 252260)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2019-11-08 21:34:49 UTC (rev 252260)
@@ -687,7 +687,7 @@
         if (!_sessionWrapper)
             return;
         auto downloadID = _sessionWrapper->downloadMap.take(task.taskIdentifier);
-        if (!downloadID.downloadID())
+        if (!downloadID)
             return;
         if (!_session)
             return;
@@ -850,7 +850,7 @@
     if (!_sessionWrapper)
         return;
     auto downloadID = _sessionWrapper->downloadMap.take([downloadTask taskIdentifier]);
-    if (!downloadID.downloadID())
+    if (!downloadID)
         return;
     if (!_session)
         return;
@@ -867,7 +867,7 @@
     if (!_sessionWrapper)
         return;
     auto downloadID = _sessionWrapper->downloadMap.get([downloadTask taskIdentifier]);
-    if (!downloadID.downloadID())
+    if (!downloadID)
         return;
     if (!_session)
         return;
@@ -1305,7 +1305,7 @@
         }
 #endif
         auto downloadID = sessionWrapper.downloadMap.get(taskIdentifier);
-        if (downloadID.downloadID()) {
+        if (downloadID) {
             if (auto* download = networkProcess().downloadManager().download(downloadID)) {
                 WebCore::AuthenticationChallenge authenticationChallenge { challenge };
                 // Received an authentication challenge for a download being resumed.

Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (252259 => 252260)


--- trunk/Source/WebKit/Scripts/webkit/messages.py	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py	2019-11-08 21:34:49 UTC (rev 252260)
@@ -217,6 +217,7 @@
         'WebCore::ServiceWorkerRegistrationIdentifier',
         'WebCore::SWServerConnectionIdentifier',
         'WebKit::ActivityStateChangeID',
+        'WebKit::DownloadID',
         'WebKit::LayerHostingContextID',
         'WebKit::TransactionID',
         'WebKit::StorageAreaIdentifier',

Modified: trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h (252259 => 252260)


--- trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -25,6 +25,7 @@
 
 #pragma once
 
+#include "DownloadID.h"
 #include "MessageReceiver.h"
 #include "NetworkProcessSupplement.h"
 #include "WebPageProxyIdentifier.h"
@@ -53,8 +54,6 @@
 
 namespace WebKit {
 
-class Download;
-class DownloadID;
 class NetworkProcess;
 class WebFrame;
 

Modified: trunk/Source/WebKit/UIProcess/API/C/WKDownload.cpp (252259 => 252260)


--- trunk/Source/WebKit/UIProcess/API/C/WKDownload.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/UIProcess/API/C/WKDownload.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -40,9 +40,9 @@
     return toAPI(DownloadProxy::APIType);
 }
 
-uint64_t WKDownloadGetID(WKDownloadRef download)
+uint64_t WKDownloadGetID(WKDownloadRef)
 {
-    return toImpl(download)->downloadID().downloadID();
+    return 0;
 }
 
 WKURLRequestRef WKDownloadCopyRequest(WKDownloadRef download)

Modified: trunk/Source/WebKit/UIProcess/API/C/WKDownload.h (252259 => 252260)


--- trunk/Source/WebKit/UIProcess/API/C/WKDownload.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/UIProcess/API/C/WKDownload.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -27,6 +27,7 @@
 #define WKDownload_h
 
 #include <WebKit/WKBase.h>
+#include <WebKit/WKDeprecated.h>
 
 #ifndef __cplusplus
 #include <stdbool.h>
@@ -38,7 +39,7 @@
 
 WK_EXPORT WKTypeID WKDownloadGetTypeID();
 
-WK_EXPORT uint64_t WKDownloadGetID(WKDownloadRef download);
+WK_EXPORT uint64_t WKDownloadGetID(WKDownloadRef download) WK_C_API_DEPRECATED;
 WK_EXPORT WKURLRequestRef WKDownloadCopyRequest(WKDownloadRef download);
 WK_EXPORT WKDataRef WKDownloadGetResumeData(WKDownloadRef download);
 WK_EXPORT void WKDownloadCancel(WKDownloadRef download);

Modified: trunk/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp (252259 => 252260)


--- trunk/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -44,12 +44,6 @@
 
 namespace WebKit {
 using namespace WebCore;
-
-static uint64_t generateDownloadID()
-{
-    static uint64_t uniqueDownloadID = 0;
-    return ++uniqueDownloadID;
-}
     
 Ref<DownloadProxy> DownloadProxy::create(DownloadProxyMap& downloadProxyMap, WebsiteDataStore& dataStore, WebProcessPool& processPool, const ResourceRequest& resourceRequest)
 {
@@ -60,7 +54,7 @@
     : m_downloadProxyMap(downloadProxyMap)
     , m_dataStore(&dataStore)
     , m_processPool(&processPool)
-    , m_downloadID(generateDownloadID())
+    , m_downloadID(DownloadID::generate())
     , m_request(resourceRequest)
 {
 }

Modified: trunk/Source/WebKit/UIProcess/Downloads/DownloadProxy.h (252259 => 252260)


--- trunk/Source/WebKit/UIProcess/Downloads/DownloadProxy.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/UIProcess/Downloads/DownloadProxy.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -48,7 +48,6 @@
 
 namespace WebKit {
 
-class DownloadID;
 class DownloadProxyMap;
 class WebPageProxy;
 class WebProcessPool;

Modified: trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp (252259 => 252260)


--- trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -85,7 +85,7 @@
     auto downloadProxy = DownloadProxy::create(*this, dataStore, processPool, resourceRequest);
     m_downloads.set(downloadProxy->downloadID(), downloadProxy.copyRef());
 
-    RELEASE_LOG(Loading, "Adding download %" PRIu64 " to UIProcess DownloadProxyMap", downloadProxy->downloadID().downloadID());
+    RELEASE_LOG(Loading, "Adding download %" PRIu64 " to UIProcess DownloadProxyMap", downloadProxy->downloadID().toUInt64());
 
     if (m_downloads.size() == 1 && m_shouldTakeAssertion) {
         ASSERT(!m_downloadUIAssertion);
@@ -98,7 +98,7 @@
         RELEASE_LOG(ProcessSuspension, "UIProcess took 'WebKit downloads' assertions for UIProcess and NetworkProcess");
     }
 
-    m_process->addMessageReceiver(Messages::DownloadProxy::messageReceiverName(), downloadProxy->downloadID().downloadID(), downloadProxy.get());
+    m_process->addMessageReceiver(Messages::DownloadProxy::messageReceiverName(), downloadProxy->downloadID().toUInt64(), downloadProxy.get());
 
     return downloadProxy;
 }
@@ -107,7 +107,7 @@
 {
     auto downloadID = downloadProxy.downloadID();
 
-    RELEASE_LOG(Loading, "Removing download %" PRIu64 " from UIProcess DownloadProxyMap", downloadID.downloadID());
+    RELEASE_LOG(Loading, "Removing download %" PRIu64 " from UIProcess DownloadProxyMap", downloadID.toUInt64());
 
     // The DownloadProxy may be holding the last reference to the process pool.
     auto protectedProcessPool = makeRefPtr(m_process->processPool());
@@ -114,7 +114,7 @@
 
     ASSERT(m_downloads.contains(downloadID));
 
-    m_process->removeMessageReceiver(Messages::DownloadProxy::messageReceiverName(), downloadID.downloadID());
+    m_process->removeMessageReceiver(Messages::DownloadProxy::messageReceiverName(), downloadID.toUInt64());
     downloadProxy.invalidate();
     m_downloads.remove(downloadID);
 
@@ -133,7 +133,7 @@
     for (const auto& download : m_downloads.values()) {
         download->processDidClose();
         download->invalidate();
-        m_process->removeMessageReceiver(Messages::DownloadProxy::messageReceiverName(), download->downloadID().downloadID());
+        m_process->removeMessageReceiver(Messages::DownloadProxy::messageReceiverName(), download->downloadID().toUInt64());
     }
 
     m_downloads.clear();

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp (252259 => 252260)


--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2019-11-08 21:34:49 UTC (rev 252260)
@@ -279,7 +279,7 @@
 
 void WebFrame::startDownload(const WebCore::ResourceRequest& request, const String& suggestedName)
 {
-    ASSERT(m_policyDownloadID.downloadID());
+    ASSERT(m_policyDownloadID);
 
     auto policyDownloadID = m_policyDownloadID;
     m_policyDownloadID = { };
@@ -289,7 +289,7 @@
 
 void WebFrame::convertMainResourceLoadToDownload(DocumentLoader* documentLoader, const ResourceRequest& request, const ResourceResponse& response)
 {
-    ASSERT(m_policyDownloadID.downloadID());
+    ASSERT(m_policyDownloadID);
 
     auto policyDownloadID = m_policyDownloadID;
     m_policyDownloadID = { };

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.h (252259 => 252260)


--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -181,7 +181,7 @@
     WebCore::FramePolicyFunction m_policyFunction;
     ForNavigationAction m_policyFunctionForNavigationAction { ForNavigationAction::No };
     HashMap<uint64_t, CompletionHandler<void()>> m_willSubmitFormCompletionHandlers;
-    DownloadID m_policyDownloadID { 0 };
+    DownloadID m_policyDownloadID;
 
     std::unique_ptr<WebFrameLoaderClient> m_frameLoaderClient;
     LoadListener* m_loadListener { nullptr };

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (252259 => 252260)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-11-08 21:26:15 UTC (rev 252259)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-11-08 21:34:49 UTC (rev 252260)
@@ -33,6 +33,7 @@
 #include "APIInjectedBundlePageUIClient.h"
 #include "APIObject.h"
 #include "CallbackID.h"
+#include "DownloadID.h"
 #include "DrawingAreaInfo.h"
 #include "EditingRange.h"
 #include "FocusedElementInformation.h"
@@ -209,7 +210,6 @@
 
 class DataReference;
 class DrawingArea;
-class DownloadID;
 class FindController;
 class GamepadData;
 class GeolocationPermissionRequestManager;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to