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