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

Unified Diff: content/public/browser/download_manager.h

Issue 722953002: downloads: add the ability to undo download removal. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: dcheck Created 6 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 side-by-side diff with in-line comments
Download patch
Index: content/public/browser/download_manager.h
diff --git a/content/public/browser/download_manager.h b/content/public/browser/download_manager.h
index d51ebe9b294d37549d1bf43a7fc750dd820efd97..a03e54baeed79ae73159600729bc401ad6c0ab6c 100644
--- a/content/public/browser/download_manager.h
+++ b/content/public/browser/download_manager.h
@@ -83,6 +83,10 @@ class CONTENT_EXPORT DownloadManager : public base::SupportsUserData::Data {
virtual void OnDownloadCreated(
DownloadManager* manager, DownloadItem* item) {}
+ // Happens when a removed item is revived (the removal is undone).
+ virtual void OnDownloadRevived(
+ DownloadManager* manager, DownloadItem* item) {}
+
// A SavePackage has successfully finished.
virtual void OnSavePackageSuccessfullyFinished(
DownloadManager* manager, DownloadItem* item) {}
@@ -111,20 +115,25 @@ class CONTENT_EXPORT DownloadManager : public base::SupportsUserData::Data {
const DownloadUrlParameters::OnStartedCallback& on_started) = 0;
// Remove downloads after remove_begin (inclusive) and before remove_end
- // (exclusive). You may pass in null Time values to do an unbounded delete
+ // (exclusive). You may pass in null Time values to do an unbounded removal
// in either direction.
virtual int RemoveDownloadsBetween(base::Time remove_begin,
base::Time remove_end) = 0;
- // Remove downloads will delete all downloads that have a timestamp that is
- // the same or more recent than |remove_begin|. The number of downloads
- // deleted is returned back to the caller.
+ // Remove all downloads that have a timestamp that is the same or more recent
+ // than |remove_begin|. The number of downloads deleted is returned back to
+ // the caller.
virtual int RemoveDownloads(base::Time remove_begin) = 0;
- // Remove all downloads will delete all downloads. The number of downloads
- // deleted is returned back to the caller.
+ // Remove all downloads. Returns the number of downloads removed.
virtual int RemoveAllDownloads() = 0;
+ // Revives a removed download (undoes the removal).
+ virtual void ReviveDownload(uint32 id) = 0;
+
+ // Finalizes removal of a download. Downloads cannot be revived after this.
+ virtual void FinalizeRemoval(uint32 id) = 0;
+
// See DownloadUrlParameters for details about controlling the download.
virtual void DownloadUrl(scoped_ptr<DownloadUrlParameters> parameters) = 0;

Powered by Google App Engine
This is Rietveld 408576698