- 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));