Chromium Code Reviews| Index: chrome/browser/safe_browsing/download_feedback_service.cc |
| diff --git a/chrome/browser/safe_browsing/download_feedback_service.cc b/chrome/browser/safe_browsing/download_feedback_service.cc |
| index 0b78aa79c112625dc79eafcd1795674cc6c6033d..4d108542b273ff1fb7dd351419ef273a4e4702ac 100644 |
| --- a/chrome/browser/safe_browsing/download_feedback_service.cc |
| +++ b/chrome/browser/safe_browsing/download_feedback_service.cc |
| @@ -140,11 +140,10 @@ void DownloadFeedbackService::RecordEligibleDownloadShown( |
| content::DOWNLOAD_DANGER_TYPE_MAX); |
| } |
| - |
| void DownloadFeedbackService::BeginFeedbackForDownload( |
| - content::DownloadItem* download) { |
| + content::DownloadItem* download, |
| + DownloadCommands::Command download_command) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| - |
| UMA_HISTOGRAM_ENUMERATION("SBDownloadFeedback.Activations", |
| download->GetDangerType(), |
| content::DOWNLOAD_DANGER_TYPE_MAX); |
| @@ -153,11 +152,14 @@ void DownloadFeedbackService::BeginFeedbackForDownload( |
| DCHECK(pings); |
| download->StealDangerousDownload( |
| + download_command == DownloadCommands::DISCARD, |
| base::Bind(&DownloadFeedbackService::BeginFeedbackOrDeleteFile, |
| - file_task_runner_, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - pings->ping_request(), |
| - pings->ping_response())); |
| + file_task_runner_, weak_ptr_factory_.GetWeakPtr(), |
| + pings->ping_request(), pings->ping_response())); |
| + if (download_command == DownloadCommands::KEEP) { |
| + DownloadCommands command(download); |
| + command.ExecuteCommand(download_command); |
| + } |
| } |
| // static |
| @@ -167,6 +169,9 @@ void DownloadFeedbackService::BeginFeedbackOrDeleteFile( |
| const std::string& ping_request, |
| const std::string& ping_response, |
| const base::FilePath& path) { |
| + if (path.empty()) |
|
asanka
2016/11/01 21:09:23
We should probably measure this. Not a big deal if
Jialiu Lin
2016/11/03 20:16:50
Done.
|
| + return; |
| + |
| if (service) { |
| service->BeginFeedback(ping_request, ping_response, path); |
| } else { |
| @@ -183,10 +188,9 @@ void DownloadFeedbackService::StartPendingFeedback() { |
| &DownloadFeedbackService::FeedbackComplete, base::Unretained(this))); |
| } |
| -void DownloadFeedbackService::BeginFeedback( |
| - const std::string& ping_request, |
| - const std::string& ping_response, |
| - const base::FilePath& path) { |
| +void DownloadFeedbackService::BeginFeedback(const std::string& ping_request, |
| + const std::string& ping_response, |
| + const base::FilePath& path) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| std::unique_ptr<DownloadFeedback> feedback(DownloadFeedback::Create( |
| request_context_getter_.get(), file_task_runner_.get(), path, |