summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download/download_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/download/download_file.h')
-rw-r--r--chrome/browser/download/download_file.h11
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);
};