Index: content/browser/download/download_file_manager.cc |
diff --git a/content/browser/download/download_file_manager.cc b/content/browser/download/download_file_manager.cc |
index 7577208cf20139e4b2942b230b6cc5bc71d5b035..58356e7c574534450ed2950642d808363fab18bd 100644 |
--- a/content/browser/download/download_file_manager.cc |
+++ b/content/browser/download/download_file_manager.cc |
@@ -119,6 +119,24 @@ void DownloadFileManager::CompleteDownload( |
EraseDownload(global_id); |
} |
+void DownloadFileManager::InterruptDownload( |
+ DownloadId id, const base::Closure& callback) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
+ |
+ if (!ContainsKey(downloads_, id)) |
+ return; |
+ |
+ DownloadFile* download_file = downloads_[id]; |
+ |
+ VLOG(20) << " " << __FUNCTION__ << "()" |
+ << " id = " << id |
+ << " download_file = " << download_file->DebugString(); |
+ |
+ download_file->Detach(callback); |
+ |
+ EraseDownload(id); |
+} |
+ |
void DownloadFileManager::OnDownloadManagerShutdown(DownloadManager* manager) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
DCHECK(manager); |