Title: [137636] trunk/Source/WebKit2
Revision
137636
Author
ander...@apple.com
Date
2012-12-13 12:11:46 -0800 (Thu, 13 Dec 2012)

Log Message

Download objects should keep track of their associated DownloadManager object
https://bugs.webkit.org/show_bug.cgi?id=104936

Reviewed by Andreas Kling.

This is the first step towards eliminating DownloadManager::shared.

* WebProcess/Downloads/Download.cpp:
(WebKit::Download::create):
(WebKit::Download::Download):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
* WebProcess/Downloads/Download.h:
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (137635 => 137636)


--- trunk/Source/WebKit2/ChangeLog	2012-12-13 20:10:07 UTC (rev 137635)
+++ trunk/Source/WebKit2/ChangeLog	2012-12-13 20:11:46 UTC (rev 137636)
@@ -1,5 +1,25 @@
 2012-12-13  Anders Carlsson  <ander...@apple.com>
 
+        Download objects should keep track of their associated DownloadManager object
+        https://bugs.webkit.org/show_bug.cgi?id=104936
+
+        Reviewed by Andreas Kling.
+
+        This is the first step towards eliminating DownloadManager::shared.
+
+        * WebProcess/Downloads/Download.cpp:
+        (WebKit::Download::create):
+        (WebKit::Download::Download):
+        (WebKit::Download::didFinish):
+        (WebKit::Download::didFail):
+        (WebKit::Download::didCancel):
+        * WebProcess/Downloads/Download.h:
+        * WebProcess/Downloads/DownloadManager.cpp:
+        (WebKit::DownloadManager::startDownload):
+        (WebKit::DownloadManager::convertHandleToDownload):
+
+2012-12-13  Anders Carlsson  <ander...@apple.com>
+
         Remove unused initiatingPage parameter from download objects
         https://bugs.webkit.org/show_bug.cgi?id=104933
 

Modified: trunk/Source/WebKit2/WebProcess/Downloads/Download.cpp (137635 => 137636)


--- trunk/Source/WebKit2/WebProcess/Downloads/Download.cpp	2012-12-13 20:10:07 UTC (rev 137635)
+++ trunk/Source/WebKit2/WebProcess/Downloads/Download.cpp	2012-12-13 20:11:46 UTC (rev 137636)
@@ -40,13 +40,13 @@
 
 namespace WebKit {
 
-PassOwnPtr<Download> Download::create(uint64_t downloadID, const ResourceRequest& request)
+PassOwnPtr<Download> Download::create(DownloadManager& downloadManager, uint64_t downloadID, const ResourceRequest& request)
 {
-    return adoptPtr(new Download(downloadID, request));
+    return adoptPtr(new Download(downloadManager, downloadID, request));
 }
 
-Download::Download(uint64_t downloadID, const ResourceRequest& request)
-    : m_downloadID(downloadID)
+Download::Download(DownloadManager& downloadManager, uint64_t downloadID, const ResourceRequest& request)
+    : m_downloadManager(downloadManager)
     , m_request(request)
 #if USE(CFNETWORK)
     , m_allowOverwrite(false)
@@ -137,7 +137,8 @@
 
     if (m_sandboxExtension)
         m_sandboxExtension->invalidate();
-    DownloadManager::shared().downloadFinished(this);
+
+    m_downloadManager.downloadFinished(this);
 }
 
 void Download::didFail(const ResourceError& error, const CoreIPC::DataReference& resumeData)
@@ -146,7 +147,7 @@
 
     if (m_sandboxExtension)
         m_sandboxExtension->invalidate();
-    DownloadManager::shared().downloadFinished(this);
+    m_downloadManager.downloadFinished(this);
 }
 
 void Download::didCancel(const CoreIPC::DataReference& resumeData)
@@ -155,7 +156,7 @@
 
     if (m_sandboxExtension)
         m_sandboxExtension->invalidate();
-    DownloadManager::shared().downloadFinished(this);
+    m_downloadManager.downloadFinished(this);
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/Downloads/Download.h (137635 => 137636)


--- trunk/Source/WebKit2/WebProcess/Downloads/Download.h	2012-12-13 20:10:07 UTC (rev 137635)
+++ trunk/Source/WebKit2/WebProcess/Downloads/Download.h	2012-12-13 20:11:46 UTC (rev 137636)
@@ -62,6 +62,7 @@
 namespace WebKit {
 
 class DownloadAuthenticationClient;
+class DownloadManager;
 class SandboxExtension;
 class WebPage;
 
@@ -72,7 +73,7 @@
 class Download : public CoreIPC::MessageSender<Download> {
     WTF_MAKE_NONCOPYABLE(Download);
 public:
-    static PassOwnPtr<Download> create(uint64_t downloadID, const WebCore::ResourceRequest&);
+    static PassOwnPtr<Download> create(DownloadManager&, uint64_t downloadID, const WebCore::ResourceRequest&);
     ~Download();
 
     // Used by MessageSender.
@@ -117,12 +118,13 @@
     void cancelAuthenticationChallenge(const WebCore::AuthenticationChallenge&);
 
 private:
-    Download(uint64_t downloadID, const WebCore::ResourceRequest&);
+    Download(DownloadManager&, uint64_t downloadID, const WebCore::ResourceRequest&);
 
     void platformInvalidate();
 
     String retrieveDestinationWithSuggestedFilename(const String& filename, bool& allowOverwrite);
 
+    DownloadManager& m_downloadManager;
     uint64_t m_downloadID;
     WebCore::ResourceRequest m_request;
 

Modified: trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp (137635 => 137636)


--- trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp	2012-12-13 20:10:07 UTC (rev 137635)
+++ trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp	2012-12-13 20:11:46 UTC (rev 137636)
@@ -46,7 +46,7 @@
 
 void DownloadManager::startDownload(uint64_t downloadID, const ResourceRequest& request)
 {
-    OwnPtr<Download> download = Download::create(downloadID, request);
+    OwnPtr<Download> download = Download::create(*this, downloadID, request);
     download->start();
 
     ASSERT(!m_downloads.contains(downloadID));
@@ -55,7 +55,7 @@
 
 void DownloadManager::convertHandleToDownload(uint64_t downloadID, ResourceHandle* handle, const ResourceRequest& request, const ResourceResponse& response)
 {
-    OwnPtr<Download> download = Download::create(downloadID, request);
+    OwnPtr<Download> download = Download::create(*this, downloadID, request);
 
     download->startWithHandle(handle, response);
     ASSERT(!m_downloads.contains(downloadID));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to