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

Side by Side Diff: content/public/browser/download_manager.h

Issue 10915180: Make DownloadHistory observe manager, items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: @r165669 Created 8 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 DownloadManager object manages the process of downloading, including 5 // The DownloadManager object manages the process of downloading, including
6 // updates to the history system and providing the information for displaying 6 // updates to the history system and providing the information for displaying
7 // the downloads view in the Destinations tab. There is one DownloadManager per 7 // the downloads view in the Destinations tab. There is one DownloadManager per
8 // active browser context in Chrome. 8 // active browser context in Chrome.
9 // 9 //
10 // Download observers: 10 // Download observers:
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 class CONTENT_EXPORT Observer { 76 class CONTENT_EXPORT Observer {
77 public: 77 public:
78 // A DownloadItem was created. Unlike ModelChanged, this item may be 78 // A DownloadItem was created. Unlike ModelChanged, this item may be
79 // visible before the filename is determined; in this case the return value 79 // visible before the filename is determined; in this case the return value
80 // of GetTargetFileName() will be null. This method may be called an 80 // of GetTargetFileName() will be null. This method may be called an
81 // arbitrary number of times, e.g. when loading history on startup. As a 81 // arbitrary number of times, e.g. when loading history on startup. As a
82 // result, consumers should avoid doing large amounts of work in 82 // result, consumers should avoid doing large amounts of work in
83 // OnDownloadCreated(). TODO(<whoever>): When we've fully specified the 83 // OnDownloadCreated(). TODO(<whoever>): When we've fully specified the
84 // possible states of the DownloadItem in download_item.h and removed 84 // possible states of the DownloadItem in download_item.h and removed
85 // ModelChanged, we should remove the caveat above. 85 // ModelChanged, we should remove the caveat above.
86 // DO NOT create another download synchronously in OnDownloadCreated().
86 virtual void OnDownloadCreated( 87 virtual void OnDownloadCreated(
87 DownloadManager* manager, DownloadItem* item) {} 88 DownloadManager* manager, DownloadItem* item) {}
88 89
89 // New or deleted download, observers should query us for the current set 90 // New or deleted download, observers should query us for the current set
90 // of downloads. 91 // of downloads.
91 virtual void ModelChanged(DownloadManager* manager) {} 92 virtual void ModelChanged(DownloadManager* manager) {}
92 93
93 // Called when the DownloadManager is being destroyed to prevent Observers 94 // Called when the DownloadManager is being destroyed to prevent Observers
94 // from calling back to a stale pointer. 95 // from calling back to a stale pointer.
95 virtual void ManagerGoingDown(DownloadManager* manager) {} 96 virtual void ManagerGoingDown(DownloadManager* manager) {}
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 virtual void DownloadUrl(scoped_ptr<DownloadUrlParameters> parameters) = 0; 139 virtual void DownloadUrl(scoped_ptr<DownloadUrlParameters> parameters) = 0;
139 140
140 // Allow objects to observe the download creation process. 141 // Allow objects to observe the download creation process.
141 virtual void AddObserver(Observer* observer) = 0; 142 virtual void AddObserver(Observer* observer) = 0;
142 143
143 // Remove a download observer from ourself. 144 // Remove a download observer from ourself.
144 virtual void RemoveObserver(Observer* observer) = 0; 145 virtual void RemoveObserver(Observer* observer) = 0;
145 146
146 // Called by the embedder, after creating the download manager, to let it know 147 // Called by the embedder, after creating the download manager, to let it know
147 // about downloads from previous runs of the browser. 148 // about downloads from previous runs of the browser.
148 virtual void OnPersistentStoreQueryComplete( 149 virtual DownloadItem* CreateDownloadItem(
149 std::vector<DownloadPersistentStoreInfo>* entries) = 0; 150 const FilePath& path,
150 151 const GURL& url,
151 // Called by the embedder, in response to 152 const GURL& referrer_url,
152 // DownloadManagerDelegate::AddItemToPersistentStore. 153 const base::Time& start_time,
153 virtual void OnItemAddedToPersistentStore(int32 download_id, 154 const base::Time& end_time,
154 int64 db_handle) = 0; 155 int64 received_bytes,
156 int64 total_bytes,
157 DownloadItem::DownloadState state,
158 bool opened) = 0;
155 159
156 // The number of in progress (including paused) downloads. 160 // The number of in progress (including paused) downloads.
157 virtual int InProgressCount() const = 0; 161 virtual int InProgressCount() const = 0;
158 162
159 virtual BrowserContext* GetBrowserContext() const = 0; 163 virtual BrowserContext* GetBrowserContext() const = 0;
160 164
161 // Checks whether downloaded files still exist. Updates state of downloads 165 // Checks whether downloaded files still exist. Updates state of downloads
162 // that refer to removed files. The check runs in the background and may 166 // that refer to removed files. The check runs in the background and may
163 // finish asynchronously after this method returns. 167 // finish asynchronously after this method returns.
164 virtual void CheckForHistoryFilesRemoval() = 0; 168 virtual void CheckForHistoryFilesRemoval() = 0;
165 169
166 // Get the download item for |id| if present, no matter what type of download 170 // Get the download item for |id| if present, no matter what type of download
167 // it is or state it's in. 171 // it is or state it's in.
168 virtual DownloadItem* GetDownload(int id) = 0; 172 virtual DownloadItem* GetDownload(int id) = 0;
169 173
170 // Called when Save Page download is done.
171 virtual void SavePageDownloadFinished(DownloadItem* download) = 0;
172
173 protected: 174 protected:
174 virtual ~DownloadManager() {} 175 virtual ~DownloadManager() {}
175 176
176 private: 177 private:
177 friend class base::RefCountedThreadSafe<DownloadManager>; 178 friend class base::RefCountedThreadSafe<DownloadManager>;
178 }; 179 };
179 180
180 } // namespace content 181 } // namespace content
181 182
182 #endif // CONTENT_PUBLIC_BROWSER_DOWNLOAD_MANAGER_H_ 183 #endif // CONTENT_PUBLIC_BROWSER_DOWNLOAD_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698