Title: [137640] trunk/Source/WebKit2
Revision
137640
Author
[email protected]
Date
2012-12-13 12:53:03 -0800 (Thu, 13 Dec 2012)

Log Message

Get rid of DownloadManager::shared
https://bugs.webkit.org/show_bug.cgi?id=104939

Reviewed by Andreas Kling.

Move the DownloadManager singleton to WebProcess and stub out a DownloadManager::Client class.

* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
* WebProcess/Downloads/DownloadManager.h:
(Client):
(WebKit::DownloadManager::Client::~Client):
(DownloadManager):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertHandleToDownload):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadManager):
(WebKit):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::downloadRequest):
(WebKit::WebProcess::cancelDownload):
(WebKit::WebProcess::startTransfer):
* WebProcess/WebProcess.h:
(WebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (137639 => 137640)


--- trunk/Source/WebKit2/ChangeLog	2012-12-13 20:50:32 UTC (rev 137639)
+++ trunk/Source/WebKit2/ChangeLog	2012-12-13 20:53:03 UTC (rev 137640)
@@ -1,3 +1,31 @@
+2012-12-13  Anders Carlsson  <[email protected]>
+
+        Get rid of DownloadManager::shared
+        https://bugs.webkit.org/show_bug.cgi?id=104939
+
+        Reviewed by Andreas Kling.
+
+        Move the DownloadManager singleton to WebProcess and stub out a DownloadManager::Client class.
+
+        * WebProcess/Downloads/DownloadManager.cpp:
+        (WebKit::DownloadManager::DownloadManager):
+        * WebProcess/Downloads/DownloadManager.h:
+        (Client):
+        (WebKit::DownloadManager::Client::~Client):
+        (DownloadManager):
+        * WebProcess/WebPage/WebFrame.cpp:
+        (WebKit::WebFrame::startDownload):
+        (WebKit::WebFrame::convertHandleToDownload):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::downloadManager):
+        (WebKit):
+        (WebKit::WebProcess::shouldTerminate):
+        (WebKit::WebProcess::downloadRequest):
+        (WebKit::WebProcess::cancelDownload):
+        (WebKit::WebProcess::startTransfer):
+        * WebProcess/WebProcess.h:
+        (WebProcess):
+
 2012-12-12  Andy Estes  <[email protected]>
 
         [WebKit2] Only register NSNotificationCenter observers once per WebContext

Modified: trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp (137639 => 137640)


--- trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp	2012-12-13 20:50:32 UTC (rev 137639)
+++ trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp	2012-12-13 20:53:03 UTC (rev 137640)
@@ -34,16 +34,13 @@
 
 namespace WebKit {
 
-DownloadManager& DownloadManager::shared()
+DownloadManager::DownloadManager(Client* client)
+    : m_client(client)
 {
-    DEFINE_STATIC_LOCAL(DownloadManager, downloadManager, ());
-    return downloadManager;
+    // FIXME: Actually use the client for something.
+    (void)m_client;
 }
 
-DownloadManager::DownloadManager()
-{
-}
-
 void DownloadManager::startDownload(uint64_t downloadID, const ResourceRequest& request)
 {
     OwnPtr<Download> download = Download::create(*this, downloadID, request);

Modified: trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.h (137639 => 137640)


--- trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.h	2012-12-13 20:50:32 UTC (rev 137639)
+++ trunk/Source/WebKit2/WebProcess/Downloads/DownloadManager.h	2012-12-13 20:53:03 UTC (rev 137640)
@@ -48,8 +48,13 @@
     WTF_MAKE_NONCOPYABLE(DownloadManager);
 
 public:
-    static DownloadManager& shared();
+    class Client {
+    public:
+        virtual ~Client() { }
+    };
 
+    explicit DownloadManager(Client*);
+
     void startDownload(uint64_t downloadID, const WebCore::ResourceRequest&);
     void convertHandleToDownload(uint64_t downloadID, WebCore::ResourceHandle*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
 
@@ -63,8 +68,7 @@
 #endif
 
 private:
-    DownloadManager();
-
+    Client* m_client;
     HashMap<uint64_t, Download*> m_downloads;
 };
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp (137639 => 137640)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp	2012-12-13 20:50:32 UTC (rev 137639)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp	2012-12-13 20:53:03 UTC (rev 137640)
@@ -236,7 +236,7 @@
 {
     ASSERT(m_policyDownloadID);
 
-    DownloadManager::shared().startDownload(m_policyDownloadID, request);
+    WebProcess::shared().downloadManager().startDownload(m_policyDownloadID, request);
 
     m_policyDownloadID = 0;
 }
@@ -245,7 +245,7 @@
 {
     ASSERT(m_policyDownloadID);
 
-    DownloadManager::shared().convertHandleToDownload(m_policyDownloadID, handle, request, response);
+    WebProcess::shared().downloadManager().convertHandleToDownload(m_policyDownloadID, handle, request, response);
     m_policyDownloadID = 0;
 }
 

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (137639 => 137640)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2012-12-13 20:50:32 UTC (rev 137639)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2012-12-13 20:53:03 UTC (rev 137640)
@@ -417,6 +417,16 @@
 #endif
 }
 
+DownloadManager& WebProcess::downloadManager()
+{
+#if ENABLE(NETWORK_PROCESS)
+    ASSERT(!m_usesNetworkProcess);
+#endif
+
+    DEFINE_STATIC_LOCAL(DownloadManager, downloadManager, (this));
+    return downloadManager;
+}
+
 void WebProcess::setVisitedLinkTable(const SharedMemory::Handle& handle)
 {
     RefPtr<SharedMemory> sharedMemory = SharedMemory::create(handle, SharedMemory::ReadOnly);
@@ -671,7 +681,7 @@
         return false;
 
     ASSERT(m_pageMap.isEmpty());
-    ASSERT(!DownloadManager::shared().isDownloading());
+    ASSERT(!downloadManager().isDownloading());
 
     // FIXME: the ShouldTerminate message should also send termination parameters, such as any session cookies that need to be preserved.
     bool shouldTerminate = false;
@@ -1143,18 +1153,18 @@
     if (initiatingPage)
         initiatingPage->mainFrame()->loader()->setOriginalURLForDownloadRequest(requestWithOriginalURL);
 
-    DownloadManager::shared().startDownload(downloadID, requestWithOriginalURL);
+    downloadManager().startDownload(downloadID, requestWithOriginalURL);
 }
 
 void WebProcess::cancelDownload(uint64_t downloadID)
 {
-    DownloadManager::shared().cancelDownload(downloadID);
+    downloadManager().cancelDownload(downloadID);
 }
 
 #if PLATFORM(QT)
 void WebProcess::startTransfer(uint64_t downloadID, const String& destination)
 {
-    DownloadManager::shared().startTransfer(downloadID, destination);
+    downloadManager().startTransfer(downloadID, destination);
 }
 #endif
 

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (137639 => 137640)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2012-12-13 20:50:32 UTC (rev 137639)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2012-12-13 20:53:03 UTC (rev 137640)
@@ -28,6 +28,7 @@
 
 #include "CacheModel.h"
 #include "ChildProcess.h"
+#include "DownloadManager.h"
 #include "DrawingArea.h"
 #include "EventDispatcher.h"
 #include "MessageReceiverMap.h"
@@ -108,7 +109,7 @@
 class SecItemResponseData;
 #endif
 
-class WebProcess : public ChildProcess, private CoreIPC::Connection::QueueClient {
+class WebProcess : public ChildProcess, private CoreIPC::Connection::QueueClient, private DownloadManager::Client {
 public:
     static WebProcess& shared();
 
@@ -215,6 +216,8 @@
     void ensurePrivateBrowsingSession();
     void destroyPrivateBrowsingSession();
 
+    DownloadManager& downloadManager();
+
 private:
     WebProcess();
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to