| 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 656c80402ce1ae8e200fe6a355bc33149169ce77..6e753a7762b37bea9b18d9da58ded909770bcbe9 100644
|
| --- a/chrome/browser/safe_browsing/download_feedback_service.cc
|
| +++ b/chrome/browser/safe_browsing/download_feedback_service.cc
|
| @@ -91,19 +91,32 @@ DownloadFeedbackService::~DownloadFeedbackService() {
|
| // static
|
| void DownloadFeedbackService::MaybeStorePingsForDownload(
|
| DownloadProtectionService::DownloadCheckResult result,
|
| + bool upload_requested,
|
| content::DownloadItem* download,
|
| const std::string& ping,
|
| const std::string& response) {
|
| + // Is this result worthy of triggering an upload?
|
| + bool upload_due_to_result = false;
|
| switch (result) {
|
| case DownloadProtectionService::UNKNOWN:
|
| case DownloadProtectionService::SAFE:
|
| case DownloadProtectionService::DANGEROUS:
|
| - return;
|
| + upload_due_to_result = false;
|
| + break;
|
| case DownloadProtectionService::UNCOMMON:
|
| case DownloadProtectionService::DANGEROUS_HOST:
|
| case DownloadProtectionService::POTENTIALLY_UNWANTED:
|
| + upload_due_to_result = true;
|
| break; // Fall through.
|
| }
|
| +
|
| + if (!upload_requested && !upload_due_to_result)
|
| + return;
|
| +
|
| + // Log if the result said no upload, but the server requested it anyway.
|
| + UMA_HISTOGRAM_BOOLEAN("SBDownloadFeedback.UploadRequestedByServer",
|
| + !upload_due_to_result && upload_requested);
|
| +
|
| UMA_HISTOGRAM_COUNTS("SBDownloadFeedback.SizeEligibleKB",
|
| download->GetReceivedBytes() / 1024);
|
| if (download->GetReceivedBytes() > DownloadFeedback::kMaxUploadSize)
|
|
|