| Index: chrome/browser/download/download_item.cc
|
| diff --git a/chrome/browser/download/download_item.cc b/chrome/browser/download/download_item.cc
|
| index f6bee14b83bd482addfac21ec8bc31f49451465d..32f44db0b7d708d048df8422c0b214a223e3f251 100644
|
| --- a/chrome/browser/download/download_item.cc
|
| +++ b/chrome/browser/download/download_item.cc
|
| @@ -330,8 +330,10 @@ void DownloadItem::Finished() {
|
| // finalized and the file data is downloaded. The ordering of these two
|
| // actions is indeterministic. Thus, if the filename is not finalized yet,
|
| // delay the notification.
|
| - if (name_finalized())
|
| + if (name_finalized()) {
|
| NotifyObserversDownloadFileCompleted();
|
| + download_manager_->RemoveFromActiveList(id());
|
| + }
|
| }
|
|
|
| void DownloadItem::Remove(bool delete_on_disk) {
|
| @@ -396,8 +398,10 @@ void DownloadItem::OnNameFinalized() {
|
| // finalized and the file data is downloaded. The ordering of these two
|
| // actions is indeterministic. Thus, if we are still in downloading the
|
| // file, delay the notification.
|
| - if (state() == DownloadItem::COMPLETE)
|
| + if (state() == DownloadItem::COMPLETE) {
|
| NotifyObserversDownloadFileCompleted();
|
| + download_manager_->RemoveFromActiveList(id());
|
| + }
|
| }
|
|
|
| void DownloadItem::OnSafeDownloadFinished(DownloadFileManager* file_manager) {
|
|
|