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

Unified Diff: chrome/browser/download/download_path_reservation_tracker.cc

Issue 10665049: Make DownloadHistory observe manager, items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/download/download_path_reservation_tracker.cc
diff --git a/chrome/browser/download/download_path_reservation_tracker.cc b/chrome/browser/download/download_path_reservation_tracker.cc
index cec817364dc6f1bf2fd45d1b316a367df34c9d7e..2f0e3d86cfa8cffeaeca0469f69cd4e7210472e6 100644
--- a/chrome/browser/download/download_path_reservation_tracker.cc
+++ b/chrome/browser/download/download_path_reservation_tracker.cc
@@ -36,7 +36,7 @@ class DownloadItemObserver : public DownloadItem::Observer {
// DownloadItem::Observer
virtual void OnDownloadUpdated(DownloadItem* download) OVERRIDE;
- virtual void OnDownloadOpened(DownloadItem* download) OVERRIDE;
+ virtual void OnDownloadDestroyed(DownloadItem* download) OVERRIDE;
DownloadItem& download_item_;
@@ -89,10 +89,6 @@ void DownloadItemObserver::OnDownloadUpdated(DownloadItem* download) {
case DownloadItem::CANCELLED:
// We no longer need the reservation if the download is being removed.
- case DownloadItem::REMOVING:
- // Ditto, but this case shouldn't happen in practice. We should have
- // received another notification beforehand.
-
case DownloadItem::INTERRUPTED:
// The download filename will need to be re-generated when the download is
// restarted. Holding on to the reservation now would prevent the name
@@ -108,10 +104,11 @@ void DownloadItemObserver::OnDownloadUpdated(DownloadItem* download) {
}
}
-void DownloadItemObserver::OnDownloadOpened(DownloadItem* download) {
- // We shouldn't be tracking reservations for a download that has been
- // externally opened. The tracker should have detached itself when the
- // download was complete.
+void DownloadItemObserver::OnDownloadDestroyed(DownloadItem* download) {
+ // This shouldn't happen. We should catch either COMPLETE, CANCELLED, or
+ // INTERRUPTED first.
+ BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, revoke_callback_);
+ delete this;
}
} // namespace

Powered by Google App Engine
This is Rietveld 408576698