| 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
|
|
|