diff options
Diffstat (limited to 'chrome/browser/download/download_file.h')
-rw-r--r-- | chrome/browser/download/download_file.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/chrome/browser/download/download_file.h b/chrome/browser/download/download_file.h index ca188c9..88c0715 100644 --- a/chrome/browser/download/download_file.h +++ b/chrome/browser/download/download_file.h @@ -7,10 +7,12 @@ #pragma once #include "base/basictypes.h" +#include "base/ref_counted.h" #include "chrome/browser/download/base_file.h" #include "chrome/browser/download/download_types.h" struct DownloadCreateInfo; +class DownloadManager; class ResourceDispatcherHost; // These objects live exclusively on the download thread and handle the writing @@ -19,7 +21,8 @@ class ResourceDispatcherHost; // cancelled, the DownloadFile is destroyed. class DownloadFile : public BaseFile { public: - explicit DownloadFile(const DownloadCreateInfo* info); + DownloadFile(const DownloadCreateInfo* info, + DownloadManager* download_manager); virtual ~DownloadFile(); // Deletes its .crdownload intermediate file. @@ -29,7 +32,10 @@ class DownloadFile : public BaseFile { // Cancels the download request associated with this file. void CancelDownloadRequest(ResourceDispatcherHost* rdh); + void OnDownloadManagerShutdown(); + int id() const { return id_; } + DownloadManager* GetDownloadManager(); private: // The unique identifier for this download, assigned at creation by @@ -42,6 +48,9 @@ class DownloadFile : public BaseFile { // Handle for informing the ResourceDispatcherHost of a UI based cancel. int request_id_; + // DownloadManager this download belongs to. + scoped_refptr<DownloadManager> download_manager_; + DISALLOW_COPY_AND_ASSIGN(DownloadFile); }; |