| Index: chrome/browser/ui/webui/downloads_dom_handler.cc
|
| diff --git a/chrome/browser/ui/webui/downloads_dom_handler.cc b/chrome/browser/ui/webui/downloads_dom_handler.cc
|
| index 44d1afd8d32b884e078a61140f43e49201ae0673..d2528f1f37f945fb56dd4457daf1e2ed94179f82 100644
|
| --- a/chrome/browser/ui/webui/downloads_dom_handler.cc
|
| +++ b/chrome/browser/ui/webui/downloads_dom_handler.cc
|
| @@ -475,9 +475,9 @@ void DownloadsDOMHandler::DangerPromptAccepted(int download_id) {
|
| content::DownloadItem* item = NULL;
|
| if (main_notifier_.GetManager())
|
| item = main_notifier_.GetManager()->GetDownload(download_id);
|
| - if (original_notifier_.get() && original_notifier_->GetManager())
|
| + if (!item && original_notifier_.get() && original_notifier_->GetManager())
|
| item = original_notifier_->GetManager()->GetDownload(download_id);
|
| - if (!item)
|
| + if (!item || (item->GetState() != content::DownloadItem::IN_PROGRESS))
|
| return;
|
| CountDownloadsDOMEvents(DOWNLOADS_DOM_EVENT_SAVE_DANGEROUS);
|
| item->DangerousDownloadValidated();
|
| @@ -491,7 +491,7 @@ content::DownloadItem* DownloadsDOMHandler::GetDownloadByValue(
|
| content::DownloadItem* item = NULL;
|
| if (main_notifier_.GetManager())
|
| item = main_notifier_.GetManager()->GetDownload(download_id);
|
| - if (original_notifier_.get() && original_notifier_->GetManager())
|
| + if (!item && original_notifier_.get() && original_notifier_->GetManager())
|
| item = original_notifier_->GetManager()->GetDownload(download_id);
|
| return item;
|
| }
|
|
|