Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(516)

Side by Side Diff: chrome/browser/download/download_file_manager.h

Issue 3127008: Preliminary work on resuming downloads whose connections have expired.
Patch Set: Waiting to send download automation error message until after other downloads are canceled. Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // The DownloadFileManager owns a set of DownloadFile objects, each of which 5 // The DownloadFileManager owns a set of DownloadFile objects, each of which
6 // represent one in progress download and performs the disk IO for that 6 // represent one in progress download and performs the disk IO for that
7 // download. The DownloadFileManager itself is a singleton object owned by the 7 // download. The DownloadFileManager itself is a singleton object owned by the
8 // ResourceDispatcherHost. 8 // ResourceDispatcherHost.
9 // 9 //
10 // The DownloadFileManager uses the file_thread for performing file write 10 // The DownloadFileManager uses the file_thread for performing file write
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 67
68 public: 68 public:
69 explicit DownloadFileManager(ResourceDispatcherHost* rdh); 69 explicit DownloadFileManager(ResourceDispatcherHost* rdh);
70 70
71 // Called on shutdown on the UI thread. 71 // Called on shutdown on the UI thread.
72 void Shutdown(); 72 void Shutdown();
73 73
74 // Called on the IO thread 74 // Called on the IO thread
75 int GetNextId(); 75 int GetNextId();
76 76
77 // Return the ID that matches |url| and |path|, or -1 if not found.
78 int GetDownloadId(const GURL& url, const FilePath& path) const;
79
77 // Called on UI thread to make DownloadFileManager start the download. 80 // Called on UI thread to make DownloadFileManager start the download.
78 void StartDownload(DownloadCreateInfo* info); 81 void StartDownload(DownloadCreateInfo* info);
79 82
80 // Handlers for notifications sent from the IO thread and run on the 83 // Handlers for notifications sent from the IO thread and run on the
81 // download thread. 84 // download thread.
82 void UpdateDownload(int id, DownloadBuffer* buffer); 85 void UpdateDownload(int id, DownloadBuffer* buffer);
83 void CancelDownload(int id); 86 void CancelDownload(int id);
84 void OnResponseCompleted(int id, DownloadBuffer* buffer); 87 void OnResponseCompleted(int id,
88 DownloadBuffer* buffer,
89 int os_error,
90 const std::string& security_info);
85 91
86 // Called on FILE thread by DownloadManager at the beginning of its shutdown. 92 // Called on FILE thread by DownloadManager at the beginning of its shutdown.
87 void OnDownloadManagerShutdown(DownloadManager* manager); 93 void OnDownloadManagerShutdown(DownloadManager* manager);
88 94
89 // The DownloadManager in the UI thread has provided an intermediate 95 // The DownloadManager in the UI thread has provided an intermediate
90 // .crdownload name for the download specified by 'id'. 96 // .crdownload name for the download specified by 'id'.
91 void OnIntermediateDownloadName(int id, const FilePath& full_path, 97 void OnIntermediateDownloadName(int id, const FilePath& full_path,
92 DownloadManager* download_manager); 98 DownloadManager* download_manager);
93 99
94 // The download manager has provided a final name for a download. Sent from 100 // The download manager has provided a final name for a download. Sent from
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 // Schedule periodic updates of the download progress. This timer 144 // Schedule periodic updates of the download progress. This timer
139 // is controlled from the FILE thread, and posts updates to the UI thread. 145 // is controlled from the FILE thread, and posts updates to the UI thread.
140 base::RepeatingTimer<DownloadFileManager> update_timer_; 146 base::RepeatingTimer<DownloadFileManager> update_timer_;
141 147
142 ResourceDispatcherHost* resource_dispatcher_host_; 148 ResourceDispatcherHost* resource_dispatcher_host_;
143 149
144 DISALLOW_COPY_AND_ASSIGN(DownloadFileManager); 150 DISALLOW_COPY_AND_ASSIGN(DownloadFileManager);
145 }; 151 };
146 152
147 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_FILE_MANAGER_H_ 153 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_FILE_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698