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

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

Issue 722953002: downloads: add the ability to undo download removal. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment 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 unified diff | Download patch
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 // Each download is represented by a DownloadItem, and all DownloadItems 5 // Each download is represented by a DownloadItem, and all DownloadItems
6 // are owned by the DownloadManager which maintains a global list of all 6 // are owned by the DownloadManager which maintains a global list of all
7 // downloads. DownloadItems are created when a user initiates a download, 7 // downloads. DownloadItems are created when a user initiates a download,
8 // and exist for the duration of the browser life time. 8 // and exist for the duration of the browser life time.
9 // 9 //
10 // Download observers: 10 // Download observers:
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 56
57 // Download is completely finished. 57 // Download is completely finished.
58 COMPLETE, 58 COMPLETE,
59 59
60 // Download has been cancelled. 60 // Download has been cancelled.
61 CANCELLED, 61 CANCELLED,
62 62
63 // This state indicates that the download has been interrupted. 63 // This state indicates that the download has been interrupted.
64 INTERRUPTED, 64 INTERRUPTED,
65 65
66 // The user removed this download from their history.
benjhayden 2014/11/13 18:01:59 Clarify that the state is not terminal? "The user
67 REMOVED,
68
66 // Maximum value. 69 // Maximum value.
67 MAX_DOWNLOAD_STATE 70 MAX_DOWNLOAD_STATE
68 }; 71 };
69 72
70 // How the final target path should be used. 73 // How the final target path should be used.
71 enum TargetDisposition { 74 enum TargetDisposition {
72 TARGET_DISPOSITION_OVERWRITE, // Overwrite if the target already exists. 75 TARGET_DISPOSITION_OVERWRITE, // Overwrite if the target already exists.
73 TARGET_DISPOSITION_PROMPT // Prompt the user for the actual 76 TARGET_DISPOSITION_PROMPT // Prompt the user for the actual
74 // target. Implies 77 // target. Implies
75 // TARGET_DISPOSITION_OVERWRITE. 78 // TARGET_DISPOSITION_OVERWRITE.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 // exit (DownloadManager destructor) from user interface initiated cancels 134 // exit (DownloadManager destructor) from user interface initiated cancels
132 // because at exit, the history system may not exist, and any updates to it 135 // because at exit, the history system may not exist, and any updates to it
133 // require AddRef'ing the DownloadManager in the destructor which results in 136 // require AddRef'ing the DownloadManager in the destructor which results in
134 // a DCHECK failure. Set |user_cancel| to false when canceling from at 137 // a DCHECK failure. Set |user_cancel| to false when canceling from at
135 // exit to prevent this crash. This may result in a difference between the 138 // exit to prevent this crash. This may result in a difference between the
136 // downloaded file's size on disk, and what the history system's last record 139 // downloaded file's size on disk, and what the history system's last record
137 // of it is. At worst, we'll end up re-downloading a small portion of the file 140 // of it is. At worst, we'll end up re-downloading a small portion of the file
138 // when resuming a download (assuming the server supports byte ranges). 141 // when resuming a download (assuming the server supports byte ranges).
139 virtual void Cancel(bool user_cancel) = 0; 142 virtual void Cancel(bool user_cancel) = 0;
140 143
144 // Marks the download as removed but doesn't actually delete it yet. This
145 // behavior is used from chrome://downloads so removal can be undone.
146 virtual void MarkRemoved() = 0;
147
148 // Undoes the effects of MarkRemoved() and restores the download's |status_|
benjhayden 2014/11/13 18:01:59 This is an interface, so let's say something like
149 // to |prev_status_|. Used from chrome://downloads so removal can be undone.
150 virtual void UndoRemove() = 0;
151
141 // Removes the download from the views and history. If the download was 152 // Removes the download from the views and history. If the download was
142 // in-progress or interrupted, then the intermediate file will also be 153 // in-progress or interrupted, then the intermediate file will also be
143 // deleted. 154 // deleted.
144 virtual void Remove() = 0; 155 virtual void Remove() = 0;
145 156
146 // Open the file associated with this download. If the download is 157 // Open the file associated with this download. If the download is
147 // still in progress, marks the download to be opened when it is complete. 158 // still in progress, marks the download to be opened when it is complete.
148 virtual void OpenDownload() = 0; 159 virtual void OpenDownload() = 0;
149 160
150 // Show the download via the OS shell. 161 // Show the download via the OS shell.
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 // return |name|. Has no effect on the final target filename. 340 // return |name|. Has no effect on the final target filename.
330 virtual void SetDisplayName(const base::FilePath& name) = 0; 341 virtual void SetDisplayName(const base::FilePath& name) = 0;
331 342
332 // Debug/testing ------------------------------------------------------------- 343 // Debug/testing -------------------------------------------------------------
333 virtual std::string DebugString(bool verbose) const = 0; 344 virtual std::string DebugString(bool verbose) const = 0;
334 }; 345 };
335 346
336 } // namespace content 347 } // namespace content
337 348
338 #endif // CONTENT_PUBLIC_BROWSER_DOWNLOAD_ITEM_H_ 349 #endif // CONTENT_PUBLIC_BROWSER_DOWNLOAD_ITEM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698