Index: chrome/browser/download/download_path_reservation_tracker.cc |
=================================================================== |
--- chrome/browser/download/download_path_reservation_tracker.cc (revision 150095) |
+++ chrome/browser/download/download_path_reservation_tracker.cc (working copy) |
@@ -36,7 +36,7 @@ |
// DownloadItem::Observer |
virtual void OnDownloadUpdated(DownloadItem* download) OVERRIDE; |
- virtual void OnDownloadDestroyed(DownloadItem* download) OVERRIDE; |
+ virtual void OnDownloadOpened(DownloadItem* download) OVERRIDE; |
DownloadItem& download_item_; |
@@ -89,6 +89,10 @@ |
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 |
@@ -104,11 +108,10 @@ |
} |
} |
-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; |
+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. |
} |
} // namespace |