| Index: chrome/browser/safe_browsing/download_feedback_service_unittest.cc
|
| diff --git a/chrome/browser/safe_browsing/download_feedback_service_unittest.cc b/chrome/browser/safe_browsing/download_feedback_service_unittest.cc
|
| index c4cdd8247865841e5211ef6bab8b47b39b0f6b6b..9779a0d5c59b643db58cc09d89ac9372b33642c0 100644
|
| --- a/chrome/browser/safe_browsing/download_feedback_service_unittest.cc
|
| +++ b/chrome/browser/safe_browsing/download_feedback_service_unittest.cc
|
| @@ -113,12 +113,14 @@ class FakeDownloadFeedbackFactory : public DownloadFeedbackFactory {
|
| };
|
|
|
| bool WillStorePings(DownloadProtectionService::DownloadCheckResult result,
|
| + bool upload_requested,
|
| int64_t size) {
|
| content::MockDownloadItem item;
|
| EXPECT_CALL(item, GetReceivedBytes()).WillRepeatedly(Return(size));
|
|
|
| EXPECT_FALSE(DownloadFeedbackService::IsEnabledForDownload(item));
|
| - DownloadFeedbackService::MaybeStorePingsForDownload(result, &item, "a", "b");
|
| + DownloadFeedbackService::MaybeStorePingsForDownload(result, upload_requested,
|
| + &item, "a", "b");
|
| return DownloadFeedbackService::IsEnabledForDownload(item);
|
| }
|
|
|
| @@ -172,21 +174,42 @@ TEST_F(DownloadFeedbackServiceTest, MaybeStorePingsForDownload) {
|
| const int64_t ok_size = DownloadFeedback::kMaxUploadSize;
|
| const int64_t bad_size = DownloadFeedback::kMaxUploadSize + 1;
|
|
|
| - EXPECT_FALSE(WillStorePings(DownloadProtectionService::SAFE, ok_size));
|
| - EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS, ok_size));
|
| - EXPECT_TRUE(WillStorePings(DownloadProtectionService::UNCOMMON, ok_size));
|
| - EXPECT_TRUE(
|
| - WillStorePings(DownloadProtectionService::DANGEROUS_HOST, ok_size));
|
| - EXPECT_TRUE(
|
| - WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED, ok_size));
|
| -
|
| - EXPECT_FALSE(WillStorePings(DownloadProtectionService::SAFE, bad_size));
|
| - EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS, bad_size));
|
| - EXPECT_FALSE(WillStorePings(DownloadProtectionService::UNCOMMON, bad_size));
|
| - EXPECT_FALSE(
|
| - WillStorePings(DownloadProtectionService::DANGEROUS_HOST, bad_size));
|
| - EXPECT_FALSE(WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED,
|
| - bad_size));
|
| + std::vector<bool> upload_requests = {false, true};
|
| + for (bool upload_requested : upload_requests) {
|
| + // SAFE will never upload
|
| + EXPECT_FALSE(WillStorePings(DownloadProtectionService::SAFE,
|
| + upload_requested, ok_size));
|
| + // Others will upload if requested.
|
| + EXPECT_EQ(upload_requested,
|
| + WillStorePings(DownloadProtectionService::UNKNOWN,
|
| + upload_requested, ok_size));
|
| + EXPECT_EQ(upload_requested,
|
| + WillStorePings(DownloadProtectionService::DANGEROUS,
|
| + upload_requested, ok_size));
|
| + EXPECT_EQ(upload_requested,
|
| + WillStorePings(DownloadProtectionService::UNCOMMON,
|
| + upload_requested, ok_size));
|
| + EXPECT_EQ(upload_requested,
|
| + WillStorePings(DownloadProtectionService::DANGEROUS_HOST,
|
| + upload_requested, ok_size));
|
| + EXPECT_EQ(upload_requested,
|
| + WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED,
|
| + upload_requested, ok_size));
|
| +
|
| + // Bad sizes never upload
|
| + EXPECT_FALSE(WillStorePings(DownloadProtectionService::SAFE,
|
| + upload_requested, bad_size));
|
| + EXPECT_FALSE(WillStorePings(DownloadProtectionService::UNKNOWN,
|
| + upload_requested, bad_size));
|
| + EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS,
|
| + upload_requested, bad_size));
|
| + EXPECT_FALSE(WillStorePings(DownloadProtectionService::UNCOMMON,
|
| + upload_requested, bad_size));
|
| + EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS_HOST,
|
| + upload_requested, bad_size));
|
| + EXPECT_FALSE(WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED,
|
| + upload_requested, bad_size));
|
| + }
|
| }
|
|
|
| TEST_F(DownloadFeedbackServiceTest, SingleFeedbackCompleteAndDiscardDownload) {
|
| @@ -206,8 +229,9 @@ TEST_F(DownloadFeedbackServiceTest, SingleFeedbackCompleteAndDiscardDownload) {
|
|
|
| DownloadFeedbackService service(request_context_getter_.get(),
|
| file_task_runner_.get());
|
| - service.MaybeStorePingsForDownload(
|
| - DownloadProtectionService::UNCOMMON, &item, ping_request, ping_response);
|
| + service.MaybeStorePingsForDownload(DownloadProtectionService::UNCOMMON,
|
| + true /* upload_requested */, &item,
|
| + ping_request, ping_response);
|
| ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item));
|
| service.BeginFeedbackForDownload(&item, DownloadCommands::DISCARD);
|
| ASSERT_FALSE(download_discarded_callback.is_null());
|
| @@ -247,7 +271,8 @@ TEST_F(DownloadFeedbackServiceTest, SingleFeedbackCompleteAndKeepDownload) {
|
|
|
| DownloadFeedbackService service(request_context_getter_.get(),
|
| file_task_runner_.get());
|
| - service.MaybeStorePingsForDownload(DownloadProtectionService::UNCOMMON, &item,
|
| + service.MaybeStorePingsForDownload(DownloadProtectionService::UNCOMMON,
|
| + true /* upload_requested */, &item,
|
| ping_request, ping_response);
|
| ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item));
|
| service.BeginFeedbackForDownload(&item, DownloadCommands::KEEP);
|
| @@ -286,8 +311,8 @@ TEST_F(DownloadFeedbackServiceTest, MultiplePendingFeedbackComplete) {
|
| EXPECT_CALL(item[i], StealDangerousDownload(true, _))
|
| .WillOnce(SaveArg<1>(&download_discarded_callback[i]));
|
| DownloadFeedbackService::MaybeStorePingsForDownload(
|
| - DownloadProtectionService::UNCOMMON, &item[i], ping_request,
|
| - ping_response);
|
| + DownloadProtectionService::UNCOMMON, true /* upload_requested */,
|
| + &item[i], ping_request, ping_response);
|
| ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item[i]));
|
| }
|
|
|
| @@ -355,8 +380,8 @@ TEST_F(DownloadFeedbackServiceTest, MultiFeedbackWithIncomplete) {
|
| EXPECT_CALL(item[i], StealDangerousDownload(true, _))
|
| .WillOnce(SaveArg<1>(&download_discarded_callback[i]));
|
| DownloadFeedbackService::MaybeStorePingsForDownload(
|
| - DownloadProtectionService::UNCOMMON, &item[i], ping_request,
|
| - ping_response);
|
| + DownloadProtectionService::UNCOMMON, true /* upload_requested */,
|
| + &item[i], ping_request, ping_response);
|
| ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item[i]));
|
| }
|
|
|
|
|