diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-04 20:40:16 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-04 20:40:16 +0000 |
commit | 1ded8cdc42869e312e55e7f14b6017d545b282d2 (patch) | |
tree | 5a56731622df2a27190736c899149377587cc5af /chrome/browser/download | |
parent | f24cf43009e6c9873591fcafa60f1913b5436273 (diff) | |
download | chromium_src-1ded8cdc42869e312e55e7f14b6017d545b282d2.zip chromium_src-1ded8cdc42869e312e55e7f14b6017d545b282d2.tar.gz chromium_src-1ded8cdc42869e312e55e7f14b6017d545b282d2.tar.bz2 |
Reverts r4177, reimplements a fix for bug 3417. Adding UpdateObservers to DownloadItem::Finished is wrong, as it causes a duplicate notification to fire when a download is complete.
BUG=http://crbug.com/3417
TEST=bug does not regress
Review URL: http://codereview.chromium.org/464043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33848 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/download')
-rw-r--r-- | chrome/browser/download/download_manager.cc | 1 | ||||
-rw-r--r-- | chrome/browser/download/save_package.cc | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/chrome/browser/download/download_manager.cc b/chrome/browser/download/download_manager.cc index 1d40bec..af7c9d5 100644 --- a/chrome/browser/download/download_manager.cc +++ b/chrome/browser/download/download_manager.cc @@ -242,7 +242,6 @@ void DownloadItem::Cancel(bool update_history) { void DownloadItem::Finished(int64 size) { state_ = COMPLETE; UpdateSize(size); - UpdateObservers(); StopProgressTimer(); } diff --git a/chrome/browser/download/save_package.cc b/chrome/browser/download/save_package.cc index e4df35a..f01ac86 100644 --- a/chrome/browser/download/save_package.cc +++ b/chrome/browser/download/save_package.cc @@ -651,6 +651,9 @@ void SavePackage::Finish() { save_ids)); download_->Finished(all_save_items_count_); + // Notify download observers that we are complete (the call to Finished() set + // the state to complete but did not notify). + download_->UpdateObservers(); NotificationService::current()->Notify( NotificationType::SAVE_PACKAGE_SUCCESSFULLY_FINISHED, |