| Index: content/browser/download/drag_download_file.cc
|
| ===================================================================
|
| --- content/browser/download/drag_download_file.cc (revision 150095)
|
| +++ content/browser/download/drag_download_file.cc (working copy)
|
| @@ -196,7 +196,8 @@
|
|
|
| void DragDownloadFile::OnDownloadUpdated(content::DownloadItem* download) {
|
| AssertCurrentlyOnUIThread();
|
| - if (download->IsCancelled()) {
|
| + if (download->IsCancelled() ||
|
| + (download->GetState() == DownloadItem::REMOVING)) {
|
| RemoveObservers();
|
| DownloadCompleted(false);
|
| } else if (download->IsComplete()) {
|
| @@ -206,17 +207,6 @@
|
| // Ignore other states.
|
| }
|
|
|
| -// If the download completes or is cancelled, then OnDownloadUpdated() will
|
| -// handle it and RemoveObserver() so that OnDownloadDestroyed is never called.
|
| -// OnDownloadDestroyed is only called if OnDownloadUpdated() does not detect
|
| -// completion or cancellation (in which cases it removes this observer).
|
| -// TODO(benjhayden): Try to change this to NOTREACHED()?
|
| -void DragDownloadFile::OnDownloadDestroyed(content::DownloadItem* download) {
|
| - AssertCurrentlyOnUIThread();
|
| - RemoveObservers();
|
| - DownloadCompleted(false);
|
| -}
|
| -
|
| void DragDownloadFile::AssertCurrentlyOnDragThread() {
|
| // Only do the check on Windows where two threads are involved.
|
| #if defined(OS_WIN)
|
|
|