Index: content/browser/download/download_item.cc |
diff --git a/content/browser/download/download_item.cc b/content/browser/download/download_item.cc |
index 27fa466f413ff6f5f50f318b1109d4451a6c52f4..e881f0fe7b556431d9d38a1aeb5925bd11a8f4ec 100644 |
--- a/content/browser/download/download_item.cc |
+++ b/content/browser/download/download_item.cc |
@@ -367,7 +367,7 @@ void DownloadItem::Cancel(bool update_history) { |
TransitionTo(CANCELLED); |
StopProgressTimer(); |
if (update_history) |
- download_manager_->DownloadCancelled(download_id_); |
+ download_manager_->DownloadCancelledInternal(this); |
} |
void DownloadItem::MarkAsComplete() { |
@@ -703,6 +703,16 @@ FilePath DownloadItem::GetUserVerifiedFilePath() const { |
GetTargetFilePath() : full_path_; |
} |
+void DownloadItem::OffThreadCancel(DownloadFileManager* file_manager) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ request_handle_.CancelRequest(); |
+ |
+ BrowserThread::PostTask( |
+ BrowserThread::FILE, FROM_HERE, |
+ NewRunnableMethod( |
+ file_manager, &DownloadFileManager::CancelDownload, download_id_)); |
+} |
+ |
void DownloadItem::Init(bool active) { |
// TODO(rdsmith): Change to DCHECK after http://crbug.com/85408 resolved. |
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |