[ImprovedDownloadWarnings] Clean up kImprovedDownloadBubbleWarnings
This removes the base::Feature since it has been enabled by default now.
Bug: 1465966
Change-Id: I2ee3a5e6443a45990292753bb37409b182601835
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5122835
Commit-Queue: Lily Chen <chlily@chromium.org>
Reviewed-by: Xinghui Lu <xinghuilu@chromium.org>
Reviewed-by: Caitlin Fischer <caitlinfischer@google.com>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1239272}
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 1440992..b4da2225 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -2858,18 +2858,6 @@
desc="Tooltip label for the button to open full download history">
Show full download history in a new tab
</message>
- <message name="IDS_DOWNLOAD_BUBBLE_HEADER_TEXT"
- desc="Header text in the Download Bubble">
- Recent Downloads
- </message>
- <message name="IDS_DOWNLOAD_BUBBLE_FOOTER_LINK"
- desc="Footer link in the Download Bubble">
- Show all downloads
- </message>
- <message name="IDS_DOWNLOAD_BUBBLE_FOOTER_TOOLTIP"
- desc="Tooltip label for the button to open all downloads">
- Show all downloads in a new tab
- </message>
<message name="IDS_DOWNLOAD_BUBBLE_ESB_PROMO"
desc="Text for the in-product-help bubble shown for the esb promo download bubble.">
Chrome just blocked a dangerous file from downloading. Get even stronger security with enhanced protection.
diff --git a/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_FOOTER_LINK.png.sha1 b/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_FOOTER_LINK.png.sha1
deleted file mode 100644
index 764314d..0000000
--- a/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_FOOTER_LINK.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-e087ca9409ee1b4d3dbf666240c8aae63bd6f0bd
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_FOOTER_TOOLTIP.png.sha1 b/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_FOOTER_TOOLTIP.png.sha1
deleted file mode 100644
index d1257afe..0000000
--- a/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_FOOTER_TOOLTIP.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c3cd5682d772637c4a87391ba07f9b4e0651ff78
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_HEADER_TEXT.png.sha1 b/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_HEADER_TEXT.png.sha1
deleted file mode 100644
index 764314d..0000000
--- a/chrome/app/generated_resources_grd/IDS_DOWNLOAD_BUBBLE_HEADER_TEXT.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-e087ca9409ee1b4d3dbf666240c8aae63bd6f0bd
\ No newline at end of file
diff --git a/chrome/browser/download/download_item_model_unittest.cc b/chrome/browser/download/download_item_model_unittest.cc
index 6d7ab4d5..e5a5132 100644
--- a/chrome/browser/download/download_item_model_unittest.cc
+++ b/chrome/browser/download/download_item_model_unittest.cc
@@ -547,73 +547,6 @@
#endif
}
-TEST_F(DownloadItemModelTest, CompletedBubbleWarningStatusText_Old) {
- // TODO(crbug.com/1465966): Clean up after the base::Feature is removed.
- base::test::ScopedFeatureList features;
- features.InitAndDisableFeature(
- safe_browsing::kImprovedDownloadBubbleWarnings);
-
- SetupCompletedDownloadItem(base::Hours(1));
- SetStatusTextBuilder(/*for_bubble=*/true);
-
- const struct InsecureDownloadStatusTestCase {
- download::DownloadItem::InsecureDownloadStatus mixed_content_status;
- std::string expected_bubble_status_msg;
- } kInsecureDownloadStatusTestCases[] = {
- {download::DownloadItem::InsecureDownloadStatus::BLOCK,
- "Insecure download blocked"},
- {download::DownloadItem::InsecureDownloadStatus::WARN,
- "Insecure download blocked"},
- };
- for (const auto& test_case : kInsecureDownloadStatusTestCases) {
- SetupDownloadItemDefaults();
- ON_CALL(item(), GetInsecureDownloadStatus())
- .WillByDefault(Return(test_case.mixed_content_status));
- EXPECT_EQ(base::UTF16ToUTF8(model().GetStatusText()),
- test_case.expected_bubble_status_msg);
-#if !BUILDFLAG(IS_ANDROID)
- // Android doesn't have BubbleUI info.
- EXPECT_EQ(model().GetBubbleUIInfo().primary_button_command.value(),
- DownloadCommands::Command::KEEP);
-#endif // !BUILDFLAG(IS_ANDROID)
- }
-
- const struct DangerTypeTestCase {
- download::DownloadDangerType danger_type;
- std::string expected_bubble_status_msg;
- } kDangerTypeTestCases[] = {
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
- "Blocked \xE2\x80\xA2 Dangerous"},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT,
- "Blocked \xE2\x80\xA2 Dangerous"},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST,
- "Blocked \xE2\x80\xA2 Dangerous"},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE,
- "Blocked \xE2\x80\xA2 Dangerous"},
- {download::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED,
- "Blocked \xE2\x80\xA2 Dangerous"},
- {download::DOWNLOAD_DANGER_TYPE_BLOCKED_PASSWORD_PROTECTED,
- "Blocked \xE2\x80\xA2 Encrypted"},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
- "Blocked \xE2\x80\xA2 Malware"},
- {download::DOWNLOAD_DANGER_TYPE_BLOCKED_TOO_LARGE,
- "Blocked \xE2\x80\xA2 Too big"},
- {download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_WARNING,
- "Sensitive content"},
- {download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_BLOCK,
- "Blocked by your organization"},
- {download::DOWNLOAD_DANGER_TYPE_PROMPT_FOR_SCANNING,
- "Scan for malware \xE2\x80\xA2 Suspicious"},
- };
- for (const auto& test_case : kDangerTypeTestCases) {
- SetupDownloadItemDefaults();
- ON_CALL(item(), GetDangerType())
- .WillByDefault(Return(test_case.danger_type));
- EXPECT_EQ(base::UTF16ToUTF8(model().GetStatusText()),
- test_case.expected_bubble_status_msg);
- }
-}
-
TEST_F(DownloadItemModelTest, CompletedBubbleWarningStatusText) {
SetupCompletedDownloadItem(base::Hours(1));
SetStatusTextBuilder(/*for_bubble=*/true);
@@ -756,66 +689,6 @@
EXPECT_FALSE(bubble_ui_info.primary_button_command.has_value());
}
-TEST_F(DownloadItemModelTest, DangerousWarningBubbleUIInfo_Old) {
- // TODO(crbug.com/1465966): Clean up after the base::Feature is removed.
- base::test::ScopedFeatureList features;
- features.InitAndDisableFeature(
- safe_browsing::kImprovedDownloadBubbleWarnings);
- SetupCompletedDownloadItem(base::Hours(1));
- const struct DangerTypeTestCase {
- download::DownloadDangerType danger_type;
- absl::optional<DownloadCommands::Command> primary_button_command;
- std::vector<DownloadCommands::Command> subpage_button_commands;
- } kDangerTypeTestCases[] = {
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
- DownloadCommands::Command::KEEP,
- {DownloadCommands::Command::DISCARD, DownloadCommands::Command::KEEP}},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT,
- DownloadCommands::Command::DISCARD,
- {DownloadCommands::Command::DISCARD}},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST,
- DownloadCommands::Command::DISCARD,
- {DownloadCommands::Command::DISCARD}},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE,
- DownloadCommands::Command::DISCARD,
- {DownloadCommands::Command::DISCARD}},
- {download::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED,
- DownloadCommands::Command::DISCARD,
- {DownloadCommands::Command::DISCARD}},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
- DownloadCommands::Command::DISCARD,
- {DownloadCommands::Command::DISCARD}},
- {download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_WARNING,
- DownloadCommands::Command::DISCARD,
- {DownloadCommands::Command::DISCARD, DownloadCommands::Command::KEEP}},
- {download::DOWNLOAD_DANGER_TYPE_PROMPT_FOR_SCANNING,
- absl::nullopt,
- {DownloadCommands::Command::DEEP_SCAN,
- DownloadCommands::Command::BYPASS_DEEP_SCANNING}},
- {download::DOWNLOAD_DANGER_TYPE_ASYNC_SCANNING,
- absl::nullopt,
- {DownloadCommands::Command::DISCARD,
- DownloadCommands::Command::CANCEL_DEEP_SCAN}},
- };
- for (const auto& test_case : kDangerTypeTestCases) {
- SCOPED_TRACE(testing::Message()
- << "Failed for danger type "
- << download::GetDownloadDangerTypeString(test_case.danger_type)
- << std::endl);
- SetupDownloadItemDefaults();
- ON_CALL(item(), GetDangerType())
- .WillByDefault(Return(test_case.danger_type));
- DownloadUIModel::BubbleUIInfo bubble_ui_info = model().GetBubbleUIInfo();
- EXPECT_EQ(bubble_ui_info.primary_button_command,
- test_case.primary_button_command);
- std::vector<DownloadCommands::Command> subpage_commands;
- for (auto button : bubble_ui_info.subpage_buttons) {
- subpage_commands.push_back(button.command);
- }
- EXPECT_EQ(subpage_commands, test_case.subpage_button_commands);
- }
-}
-
TEST_F(DownloadItemModelTest, DangerousWarningBubbleUIInfo) {
SetupCompletedDownloadItem(base::Hours(1));
const struct DangerTypeTestCase {
@@ -1047,31 +920,11 @@
}
#if BUILDFLAG(FULL_SAFE_BROWSING)
-// TODO(chlily): Add more tests for kImprovedDownloadBubbleWarnings. At the
-// moment, these only include tests for the file type warnings.
-class DownloadItemModelImprovedDownloadBubbleWarningsTest
- : public DownloadItemModelTest {
- public:
- DownloadItemModelImprovedDownloadBubbleWarningsTest() {
- scoped_feature_list_.InitAndEnableFeature(
- safe_browsing::kImprovedDownloadBubbleWarnings);
- }
-
- void SetUp() override {
- DownloadItemModelTest::SetUp();
- SetupDownloadItemDefaults();
- SetupCompletedDownloadItem(base::Minutes(30));
- SetStatusTextBuilder(/*for_bubble=*/true);
- }
- ~DownloadItemModelImprovedDownloadBubbleWarningsTest() override = default;
-
- private:
- base::test::ScopedFeatureList scoped_feature_list_;
-};
-
// Test file type warning where verdict was obtained.
-TEST_F(DownloadItemModelImprovedDownloadBubbleWarningsTest,
- FileTypeWarning_HasSafeBrowsingVerdict) {
+TEST_F(DownloadItemModelTest, FileTypeWarning_HasSafeBrowsingVerdict) {
+ SetupDownloadItemDefaults();
+ SetupCompletedDownloadItem(base::Minutes(30));
+ SetStatusTextBuilder(/*for_bubble=*/true);
for (auto sb_state : {safe_browsing::SafeBrowsingState::STANDARD_PROTECTION,
safe_browsing::SafeBrowsingState::ENHANCED_PROTECTION,
// This can happen if the user subsequently turned off
@@ -1111,8 +964,10 @@
}
// Test file type warning where SB is on but no SB verdict was obtained.
-TEST_F(DownloadItemModelImprovedDownloadBubbleWarningsTest,
- FileTypeWarning_SafeBrowsingOn_NoVerdict) {
+TEST_F(DownloadItemModelTest, FileTypeWarning_SafeBrowsingOn_NoVerdict) {
+ SetupDownloadItemDefaults();
+ SetupCompletedDownloadItem(base::Minutes(30));
+ SetStatusTextBuilder(/*for_bubble=*/true);
for (auto sb_state :
{safe_browsing::SafeBrowsingState::STANDARD_PROTECTION,
safe_browsing::SafeBrowsingState::ENHANCED_PROTECTION}) {
@@ -1147,8 +1002,10 @@
}
// Test file type warning where SB is disabled by pref and can be turned on.
-TEST_F(DownloadItemModelImprovedDownloadBubbleWarningsTest,
- FileTypeWarning_NoSafeBrowsing_DisabledByPref) {
+TEST_F(DownloadItemModelTest, FileTypeWarning_NoSafeBrowsing_DisabledByPref) {
+ SetupDownloadItemDefaults();
+ SetupCompletedDownloadItem(base::Minutes(30));
+ SetStatusTextBuilder(/*for_bubble=*/true);
SetSafeBrowsingState(profile()->GetPrefs(),
safe_browsing::SafeBrowsingState::NO_SAFE_BROWSING);
EXPECT_CALL(item(), GetDangerType())
@@ -1180,8 +1037,10 @@
// Test file type warning where SB is disabled by enterprise controls and cannot
// be turned on.
-TEST_F(DownloadItemModelImprovedDownloadBubbleWarningsTest,
- FileTypeWarning_NoSafeBrowsing_DisabledManaged) {
+TEST_F(DownloadItemModelTest, FileTypeWarning_NoSafeBrowsing_DisabledManaged) {
+ SetupDownloadItemDefaults();
+ SetupCompletedDownloadItem(base::Minutes(30));
+ SetStatusTextBuilder(/*for_bubble=*/true);
SetSafeBrowsingState(profile()->GetPrefs(),
safe_browsing::SafeBrowsingState::NO_SAFE_BROWSING);
testing_profile()->GetTestingPrefService()->SetManagedPref(
diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/download/download_ui_model.cc
index f600c95..2d3164fd 100644
--- a/chrome/browser/download/download_ui_model.cc
+++ b/chrome/browser/download/download_ui_model.cc
@@ -31,7 +31,6 @@
#include "components/enterprise/common/proto/connectors.pb.h"
#include "components/google/core/common/google_util.h"
#include "components/safe_browsing/buildflags.h"
-#include "components/safe_browsing/core/common/features.h"
#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
#include "components/safe_browsing/core/common/safebrowsing_referral_methods.h"
#include "components/vector_icons/vector_icons.h"
@@ -1141,135 +1140,42 @@
switch (GetDangerType()) {
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE:
if (IsExtensionDownload()) {
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
- l10n_util::GetStringFUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_UNKNOWN_SOURCE,
- l10n_util::GetStringUTF16(IDS_EXTENSION_WEB_STORE_TITLE)),
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
- }
- return DownloadUIModel::BubbleUIInfo()
- .AddSubpageSummary(l10n_util::GetStringFUTF16(
+ return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
+ l10n_util::GetStringFUTF16(
IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_UNKNOWN_SOURCE,
- l10n_util::GetStringUTF16(IDS_EXTENSION_WEB_STORE_TITLE)))
- .AddIconAndColor(features::IsChromeRefresh2023()
- ? kDownloadWarningIcon
- : vector_icons::kNotSecureWarningIcon,
- kColorDownloadItemIconWarning)
- .AddSecondaryTextColor(kColorDownloadItemTextWarning)
- .AddPrimarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE),
- DownloadCommands::Command::DISCARD)
- .AddSecondarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_CONTINUE),
- DownloadCommands::Command::KEEP, kColorDownloadItemTextWarning);
- } else {
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- if (WasSafeBrowsingVerdictObtained(GetDownloadItem())) {
- return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DANGEROUS_FILE_TYPE),
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
- }
- if (ShouldShowWarningForNoSafeBrowsing(profile())) {
- return GetBubbleUIInfoForFileTypeWarningNoSafeBrowsing();
- }
- return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DANGEROUS_FILE_TYPE),
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_CONTINUE_UNVERIFIED_FILE));
- }
- return DownloadUIModel::BubbleUIInfo()
- .AddSubpageSummary(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DANGEROUS_FILE))
- .AddIconAndColor(features::IsChromeRefresh2023()
- ? kDownloadWarningIcon
- : vector_icons::kNotSecureWarningIcon,
- ui::kColorSecondaryForeground)
- .AddPrimaryButton(DownloadCommands::Command::KEEP)
- .AddPrimarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE),
- DownloadCommands::Command::DISCARD)
- .AddSecondarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_CONTINUE),
- DownloadCommands::Command::KEEP, ui::kColorSecondaryForeground);
+ l10n_util::GetStringUTF16(IDS_EXTENSION_WEB_STORE_TITLE)),
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
}
+ if (WasSafeBrowsingVerdictObtained(GetDownloadItem())) {
+ return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DANGEROUS_FILE_TYPE),
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
+ }
+ if (ShouldShowWarningForNoSafeBrowsing(profile())) {
+ return GetBubbleUIInfoForFileTypeWarningNoSafeBrowsing();
+ }
+ return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DANGEROUS_FILE_TYPE),
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_CONTINUE_UNVERIFIED_FILE));
+
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT:
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST:
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DANGEROUS));
- } else {
- ui_info
- .AddSubpageSummary(l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_MALICIOUS_URL_BLOCKED))
- .AddIconAndColor(features::IsChromeRefresh2023()
- ? vector_icons::kDangerousChromeRefreshIcon
- : vector_icons::kDangerousIcon,
- kColorDownloadItemIconDangerous)
- .AddPrimaryButton(DownloadCommands::Command::DISCARD)
- .AddPrimarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE),
- DownloadCommands::Command::DISCARD);
- return ui_info;
- }
+ case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL:
+ return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DANGEROUS));
case download::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DECEPTIVE));
- } else {
- ui_info =
- DownloadUIModel::BubbleUIInfo()
- .AddSubpageSummary(l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_MALICIOUS_URL_BLOCKED))
- .AddIconAndColor(features::IsChromeRefresh2023()
- ? kDownloadWarningIcon
- : vector_icons::kNotSecureWarningIcon,
- kColorDownloadItemIconWarning)
- .AddSecondaryTextColor(kColorDownloadItemTextWarning)
- .AddPrimaryButton(DownloadCommands::Command::DISCARD)
- .AddPrimarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE),
- DownloadCommands::Command::DISCARD);
- return ui_info;
- }
+ return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DECEPTIVE));
- case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- // This is the same as the message for
- // DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT, etc.
- // TODO(chlily): Combine these cases after other conditionals are
- // removed.
- return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_DANGEROUS));
- } else {
- ui_info =
- DownloadUIModel::BubbleUIInfo()
- .AddSubpageSummary(l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_MALWARE))
- .AddIconAndColor(features::IsChromeRefresh2023()
- ? kDownloadWarningIcon
- : vector_icons::kNotSecureWarningIcon,
- kColorDownloadItemIconDangerous)
- .AddPrimaryButton(DownloadCommands::Command::DISCARD)
- .AddPrimarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE),
- DownloadCommands::Command::DISCARD);
- return ui_info;
- }
case download::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT: {
bool request_ap_verdicts = false;
#if BUILDFLAG(FULL_SAFE_BROWSING)
@@ -1293,31 +1199,12 @@
.AddSecondarySubpageButton(
l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_CONTINUE),
DownloadCommands::Command::KEEP, kColorDownloadItemTextWarning);
- } else {
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_UNCOMMON_FILE),
- l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
- }
- return DownloadUIModel::BubbleUIInfo()
- .AddSubpageSummary(l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_UNCOMMON_FILE))
- .AddIconAndColor(features::IsChromeRefresh2023()
- ? kDownloadWarningIcon
- : vector_icons::kNotSecureWarningIcon,
- kColorDownloadItemIconWarning)
- .AddSecondaryTextColor(kColorDownloadItemTextWarning)
- .AddPrimaryButton(DownloadCommands::Command::DISCARD)
- .AddPrimarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE),
- DownloadCommands::Command::DISCARD)
- .AddSecondarySubpageButton(
- l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_CONTINUE),
- DownloadCommands::Command::KEEP, kColorDownloadItemTextWarning);
}
+ return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_UNCOMMON_FILE),
+ l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
}
case download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_WARNING:
return DownloadUIModel::BubbleUIInfo()
@@ -1713,43 +1600,25 @@
// "Blocked • Unknown source"
return get_blocked_warning(IDS_DOWNLOAD_BUBBLE_STATUS_UNKNOWN_SOURCE);
}
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- if (WasSafeBrowsingVerdictObtained(model_->GetDownloadItem())) {
- // "Suspicious download blocked"
- return l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_SUSPICIOUS);
- }
- // "Unverified download blocked"
+ if (WasSafeBrowsingVerdictObtained(model_->GetDownloadItem())) {
+ // "Suspicious download blocked"
return l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_UNVERIFIED);
+ IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_SUSPICIOUS);
}
- [[fallthrough]];
+ // "Unverified download blocked"
+ return l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_UNVERIFIED);
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT:
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST:
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE:
case download::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- // "Dangerous download blocked"
- return l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_DANGEROUS);
- }
- // "Blocked • Dangerous"
- return get_blocked_warning(IDS_DOWNLOAD_BUBBLE_STATUS_DANGEROUS);
-
+ case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL:
+ // "Dangerous download blocked"
+ return l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_DANGEROUS);
case download::DOWNLOAD_DANGER_TYPE_BLOCKED_PASSWORD_PROTECTED:
// "Blocked • Encrypted"
return get_blocked_warning(IDS_DOWNLOAD_BUBBLE_STATUS_ENCRYPTED);
- case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- // "Dangerous download blocked"
- return l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_DANGEROUS);
- }
- // "Blocked • Malware"
- return get_blocked_warning(IDS_DOWNLOAD_BUBBLE_STATUS_MALWARE);
case download::DOWNLOAD_DANGER_TYPE_BLOCKED_TOO_LARGE:
// "Blocked • Too big"
return get_blocked_warning(IDS_DOWNLOAD_BUBBLE_STATUS_TOO_BIG);
@@ -1761,17 +1630,12 @@
model_->profile())
->IsUnderAdvancedProtection();
#endif
- // "Blocked by Advanced Protection" or ("Suspicious download blocked" or
- // "Blocked • Uncommon file" depending on feature state).
+ // "Blocked by Advanced Protection" or "Suspicious download blocked"
return request_ap_verdicts
? l10n_util::GetStringUTF16(
IDS_DOWNLOAD_BUBBLE_STATUS_ADVANCED_PROTECTION)
- : (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_SUSPICIOUS)
- : get_blocked_warning(
- IDS_DOWNLOAD_BUBBLE_STATUS_UNCOMMON_FILE));
+ : l10n_util::GetStringUTF16(
+ IDS_DOWNLOAD_BUBBLE_STATUS_WARNING_SUSPICIOUS);
}
case download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_WARNING:
diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/browser/metrics/chrome_feature_list_creator.cc
index 7e1b542..ca7f431 100644
--- a/chrome/browser/metrics/chrome_feature_list_creator.cc
+++ b/chrome/browser/metrics/chrome_feature_list_creator.cc
@@ -94,9 +94,6 @@
std::cref(safe_browsing::kDownloadTailoredWarnings),
base::FeatureList::OVERRIDE_ENABLE_FEATURE},
{switches::kEnableDownloadWarningImprovements,
- std::cref(safe_browsing::kImprovedDownloadBubbleWarnings),
- base::FeatureList::OVERRIDE_ENABLE_FEATURE},
- {switches::kEnableDownloadWarningImprovements,
std::cref(safe_browsing::kImprovedDownloadPageWarnings),
base::FeatureList::OVERRIDE_ENABLE_FEATURE},
{switches::kEnableDownloadWarningImprovements,
diff --git a/chrome/browser/safe_browsing/download_protection/PRESUBMIT.py b/chrome/browser/safe_browsing/download_protection/PRESUBMIT.py
index 6fe225a..1922034b 100644
--- a/chrome/browser/safe_browsing/download_protection/PRESUBMIT.py
+++ b/chrome/browser/safe_browsing/download_protection/PRESUBMIT.py
@@ -8,7 +8,6 @@
tailored_version_file_name = 'download_request_maker.cc'
version_variable_name = 'kTailoredWarningVersion'
- version_variable_name_with_feature = 'kTailoredWarningVersionWithImprovedDownloadBubbleWarnings'
proto_path = 'components/safe_browsing/core/common/proto/csd.proto'
has_changed_proto = proto_path in input_api.change.LocalPaths()
@@ -24,8 +23,7 @@
has_changed_version = False
for _, line in tailored_version_files[0].ChangedContents():
- if version_variable_name in line.strip(
- ) or version_variable_name_with_feature in line.strip():
+ if version_variable_name in line.strip():
has_changed_version = True
break
diff --git a/chrome/browser/safe_browsing/download_protection/download_request_maker.cc b/chrome/browser/safe_browsing/download_protection/download_request_maker.cc
index 22f3ba1..3b4ffd1 100644
--- a/chrome/browser/safe_browsing/download_protection/download_request_maker.cc
+++ b/chrome/browser/safe_browsing/download_protection/download_request_maker.cc
@@ -37,8 +37,7 @@
// changing this value.
// Note: The name of this variable is checked by PRESUBMIT. Please update the
// PRESUBMIT script before renaming this variable.
-constexpr int kTailoredWarningVersion = 1;
-constexpr int kTailoredWarningVersionWithImprovedDownloadBubbleWarnings = 3;
+constexpr int kTailoredWarningVersion = 3;
DownloadRequestMaker::TabUrls TabUrlsFromWebContents(
content::WebContents* web_contents) {
@@ -300,11 +299,7 @@
void DownloadRequestMaker::PopulateTailoredInfo() {
ClientDownloadRequest::TailoredInfo tailored_info;
- int version = base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? kTailoredWarningVersionWithImprovedDownloadBubbleWarnings
- : kTailoredWarningVersion;
- tailored_info.set_version(version);
+ tailored_info.set_version(kTailoredWarningVersion);
*request_->mutable_tailored_info() = tailored_info;
}
diff --git a/chrome/browser/safe_browsing/download_protection/download_request_maker_unittest.cc b/chrome/browser/safe_browsing/download_protection/download_request_maker_unittest.cc
index a28c4be..a5285be 100644
--- a/chrome/browser/safe_browsing/download_protection/download_request_maker_unittest.cc
+++ b/chrome/browser/safe_browsing/download_protection/download_request_maker_unittest.cc
@@ -368,49 +368,6 @@
}
TEST_F(DownloadRequestMakerTest, PopulateTailoredInfo) {
- base::test::ScopedFeatureList features;
- features.InitAndDisableFeature(
- safe_browsing::kImprovedDownloadBubbleWarnings);
-
- base::RunLoop run_loop;
- base::FilePath tmp_path(FILE_PATH_LITERAL("temp_path"));
-
- DownloadRequestMaker request_maker(
- mock_feature_extractor_, &profile_, DownloadRequestMaker::TabUrls(),
- /*target_file_path=*/base::FilePath(), tmp_path,
- /*source_url=*/GURL(),
- /*sha256_hash=*/"",
- /*length=*/0,
- /*resources=*/std::vector<ClientDownloadRequest::Resource>(),
- /*is_user_initiated=*/true,
- /*referrer_chain_data=*/nullptr, /*password=*/absl::nullopt,
- /*previous_token=*/"", base::DoNothing());
-
- EXPECT_CALL(*mock_feature_extractor_, CheckSignature(tmp_path, _))
- .WillOnce(Return());
- EXPECT_CALL(*mock_feature_extractor_, ExtractImageFeatures(tmp_path, _, _, _))
- .WillRepeatedly(Return(true));
-
- std::unique_ptr<ClientDownloadRequest> request;
- request_maker.Start(base::BindOnce(
- [](base::RunLoop* run_loop,
- std::unique_ptr<ClientDownloadRequest>* request_target,
- std::unique_ptr<ClientDownloadRequest> request) {
- run_loop->Quit();
- *request_target = std::move(request);
- },
- &run_loop, &request));
-
- run_loop.Run();
-
- ASSERT_NE(request, nullptr);
- EXPECT_EQ(request->tailored_info().version(), 1);
-}
-
-TEST_F(DownloadRequestMakerTest, PopulateTailoredInfo_WithImprovedWarnings) {
- base::test::ScopedFeatureList features;
- features.InitAndEnableFeature(safe_browsing::kImprovedDownloadBubbleWarnings);
-
base::RunLoop run_loop;
base::FilePath tmp_path(FILE_PATH_LITERAL("temp_path"));
diff --git a/chrome/browser/ui/color/BUILD.gn b/chrome/browser/ui/color/BUILD.gn
index 2e6e358..20cb2ca 100644
--- a/chrome/browser/ui/color/BUILD.gn
+++ b/chrome/browser/ui/color/BUILD.gn
@@ -54,7 +54,6 @@
"//chrome/common/themes:autogenerated_theme_util",
"//components/compose:buildflags",
"//components/omnibox/common:common",
- "//components/safe_browsing/core/common:common",
"//components/search:search",
"//ui/base:buildflags",
"//ui/color:color",
diff --git a/chrome/browser/ui/color/chrome_color_mixer.cc b/chrome/browser/ui/color/chrome_color_mixer.cc
index 39cf739..16b2e742 100644
--- a/chrome/browser/ui/color/chrome_color_mixer.cc
+++ b/chrome/browser/ui/color/chrome_color_mixer.cc
@@ -14,7 +14,6 @@
#include "chrome/browser/ui/color/chrome_color_provider_utils.h"
#include "chrome_color_id.h"
#include "components/omnibox/common/omnibox_features.h"
-#include "components/safe_browsing/core/common/features.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/base/ui_base_features.h"
#include "ui/color/color_id.h"
@@ -171,20 +170,12 @@
ui::kColorAlertLowSeverity, kColorDownloadShelfBackground,
color_utils::kMinimumReadableContrastRatio);
mixer[kColorDownloadItemIconDangerous] = {ui::kColorAlertHighSeverity};
- mixer[kColorDownloadItemIconWarning] = {
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? ui::kColorSecondaryForeground
- : ui::kColorAlertMediumSeverityIcon};
+ mixer[kColorDownloadItemIconWarning] = {ui::kColorSecondaryForeground};
mixer[kColorDownloadItemProgressRingBackground] = ui::SetAlpha(
kColorDownloadItemProgressRingForeground, gfx::kGoogleGreyAlpha400);
mixer[kColorDownloadItemProgressRingForeground] = {ui::kColorThrobber};
mixer[kColorDownloadItemTextDangerous] = {ui::kColorAlertHighSeverity};
- mixer[kColorDownloadItemTextWarning] = {
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? ui::kColorSecondaryForeground
- : ui::kColorAlertMediumSeverityText};
+ mixer[kColorDownloadItemTextWarning] = {ui::kColorSecondaryForeground};
mixer[kColorDownloadShelfBackground] = {kColorToolbar};
mixer[kColorDownloadShelfButtonBackground] = {kColorDownloadShelfBackground};
mixer[kColorDownloadShelfButtonIcon] = {kColorToolbarButtonIcon};
diff --git a/chrome/browser/ui/color/material_chrome_color_mixer.cc b/chrome/browser/ui/color/material_chrome_color_mixer.cc
index 3bf7112..bcbbca55 100644
--- a/chrome/browser/ui/color/material_chrome_color_mixer.cc
+++ b/chrome/browser/ui/color/material_chrome_color_mixer.cc
@@ -8,7 +8,6 @@
#include "chrome/browser/ui/color/chrome_color_provider_utils.h"
#include "chrome/grit/theme_resources.h"
#include "components/compose/buildflags.h"
-#include "components/safe_browsing/core/common/features.h"
#include "ui/color/color_id.h"
#include "ui/color/color_mixer.h"
#include "ui/color/color_provider.h"
@@ -196,22 +195,10 @@
kColorDownloadShelfBackground),
kColorDownloadShelfBackground);
mixer[kColorDownloadItemIconDangerous] = {ui::kColorSysError};
- // TODO(crbug.com/1399939): use a yellow-ish CR2023 color instead for the
- // non-ImprovedDownloadBubbleWarnings case.
- mixer[kColorDownloadItemIconWarning] = {
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? ui::kColorSysOnSurfaceSubtle
- : ui::kColorAlertMediumSeverityIcon};
+ mixer[kColorDownloadItemIconWarning] = {ui::kColorSysOnSurfaceSubtle};
mixer[kColorDownloadItemProgressRingForeground] = {ui::kColorSysPrimary};
mixer[kColorDownloadItemTextDangerous] = {ui::kColorSysError};
- // TODO(crbug.com/1399939): use a yellow-ish CR2023 color instead for the
- // non-ImprovedDownloadBubbleWarnings case.
- mixer[kColorDownloadItemTextWarning] = {
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? ui::kColorSysOnSurfaceSubtle
- : ui::kColorAlertMediumSeverityText};
+ mixer[kColorDownloadItemTextWarning] = {ui::kColorSysOnSurfaceSubtle};
mixer[kColorDownloadShelfBackground] = {ui::kColorSysBase};
mixer[kColorDownloadShelfButtonIcon] = {kColorDownloadShelfForeground};
mixer[kColorDownloadShelfButtonIconDisabled] = {ui::kColorSysStateDisabled};
diff --git a/chrome/browser/ui/download/download_bubble_row_view_info.cc b/chrome/browser/ui/download/download_bubble_row_view_info.cc
index 74eca17..2c027cc 100644
--- a/chrome/browser/ui/download/download_bubble_row_view_info.cc
+++ b/chrome/browser/ui/download/download_bubble_row_view_info.cc
@@ -15,7 +15,6 @@
#include "chrome/browser/ui/download/download_item_mode.h"
#include "chrome/grit/generated_resources.h"
#include "components/download/public/common/download_danger_type.h"
-#include "components/safe_browsing/core/common/features.h"
#include "components/safe_browsing/core/common/proto/csd.pb.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h"
@@ -151,85 +150,27 @@
switch (model_->GetDangerType()) {
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE:
if (model_->IsExtensionDownload()) {
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- PopulateSuspiciousUiPattern();
- return;
- }
- has_subpage_ = true;
- icon_override_ = features::IsChromeRefresh2023()
- ? &kDownloadWarningIcon
- : &vector_icons::kNotSecureWarningIcon;
- secondary_color_ = kColorDownloadItemIconWarning;
- secondary_text_color_ = kColorDownloadItemTextWarning;
+ PopulateSuspiciousUiPattern();
return;
} else {
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- if (WasSafeBrowsingVerdictObtained(model_->GetDownloadItem())) {
- PopulateSuspiciousUiPattern();
- return;
- }
- if (ShouldShowWarningForNoSafeBrowsing(model_->profile())) {
- PopulateForFileTypeWarningNoSafeBrowsing();
- return;
- }
+ if (WasSafeBrowsingVerdictObtained(model_->GetDownloadItem())) {
PopulateSuspiciousUiPattern();
return;
}
-
- has_subpage_ = true;
- icon_override_ = features::IsChromeRefresh2023()
- ? &kDownloadWarningIcon
- : &vector_icons::kNotSecureWarningIcon;
- secondary_color_ = ui::kColorSecondaryForeground;
- primary_button_command_ = DownloadCommands::Command::KEEP;
+ if (ShouldShowWarningForNoSafeBrowsing(model_->profile())) {
+ PopulateForFileTypeWarningNoSafeBrowsing();
+ return;
+ }
+ PopulateSuspiciousUiPattern();
return;
}
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT:
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST:
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- PopulateDangerousUiPattern();
- return;
- } else {
- has_subpage_ = true;
- icon_override_ = features::IsChromeRefresh2023()
- ? &vector_icons::kDangerousChromeRefreshIcon
- : &vector_icons::kDangerousIcon;
- secondary_color_ = kColorDownloadItemIconDangerous;
- primary_button_command_ = DownloadCommands::Command::DISCARD;
- return;
- }
case download::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- PopulateDangerousUiPattern();
- return;
- } else {
- has_subpage_ = true;
- icon_override_ = features::IsChromeRefresh2023()
- ? &kDownloadWarningIcon
- : &vector_icons::kNotSecureWarningIcon;
- secondary_color_ = kColorDownloadItemIconWarning;
- secondary_text_color_ = kColorDownloadItemTextWarning;
- primary_button_command_ = DownloadCommands::Command::DISCARD;
- return;
- }
case download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL:
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- return PopulateDangerousUiPattern();
- } else {
- has_subpage_ = true;
- icon_override_ = features::IsChromeRefresh2023()
- ? &kDownloadWarningIcon
- : &vector_icons::kNotSecureWarningIcon;
- secondary_color_ = kColorDownloadItemIconDangerous;
- primary_button_command_ = DownloadCommands::Command::DISCARD;
- return;
- }
+ PopulateDangerousUiPattern();
+ return;
case download::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT: {
bool request_ap_verdicts = false;
#if BUILDFLAG(FULL_SAFE_BROWSING)
@@ -247,18 +188,7 @@
secondary_text_color_ = kColorDownloadItemTextWarning;
return;
} else {
- if (base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)) {
- PopulateSuspiciousUiPattern();
- return;
- }
- has_subpage_ = true;
- icon_override_ = features::IsChromeRefresh2023()
- ? &kDownloadWarningIcon
- : &vector_icons::kNotSecureWarningIcon;
- secondary_color_ = kColorDownloadItemIconWarning;
- secondary_text_color_ = kColorDownloadItemTextWarning;
- primary_button_command_ = DownloadCommands::Command::DISCARD;
+ PopulateSuspiciousUiPattern();
return;
}
}
diff --git a/chrome/browser/ui/download/download_bubble_row_view_info_unittest.cc b/chrome/browser/ui/download/download_bubble_row_view_info_unittest.cc
index 679927a2..39c27313 100644
--- a/chrome/browser/ui/download/download_bubble_row_view_info_unittest.cc
+++ b/chrome/browser/ui/download/download_bubble_row_view_info_unittest.cc
@@ -231,49 +231,6 @@
EXPECT_FALSE(info().primary_button_command().has_value());
}
-TEST_F(DownloadBubbleRowViewInfoTest, DangerousWarningBubbleUIInfo_Old) {
- // TODO(crbug.com/1465966): Clean up after the base::Feature is removed.
- base::test::ScopedFeatureList features;
- features.InitAndDisableFeature(
- safe_browsing::kImprovedDownloadBubbleWarnings);
- ON_CALL(item(), GetState())
- .WillByDefault(Return(download::DownloadItem::COMPLETE));
- const struct DangerTypeTestCase {
- download::DownloadDangerType danger_type;
- std::optional<DownloadCommands::Command> primary_button_command;
- bool has_subpage;
- } kDangerTypeTestCases[] = {
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
- DownloadCommands::Command::KEEP, true},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT,
- DownloadCommands::Command::DISCARD, true},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST,
- DownloadCommands::Command::DISCARD, true},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE,
- DownloadCommands::Command::DISCARD, true},
- {download::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED,
- DownloadCommands::Command::DISCARD, true},
- {download::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
- DownloadCommands::Command::DISCARD, true},
- {download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_WARNING,
- DownloadCommands::Command::DISCARD, true},
- {download::DOWNLOAD_DANGER_TYPE_PROMPT_FOR_SCANNING, std::nullopt, true},
- {download::DOWNLOAD_DANGER_TYPE_ASYNC_SCANNING, std::nullopt, true},
- };
- for (const auto& test_case : kDangerTypeTestCases) {
- SCOPED_TRACE(testing::Message()
- << "Failed for danger type "
- << download::GetDownloadDangerTypeString(test_case.danger_type)
- << std::endl);
- ON_CALL(item(), GetDangerType())
- .WillByDefault(Return(test_case.danger_type));
- item().NotifyObserversDownloadUpdated();
- EXPECT_EQ(info().primary_button_command(),
- test_case.primary_button_command);
- EXPECT_EQ(info().has_subpage(), test_case.has_subpage);
- }
-}
-
TEST_F(DownloadBubbleRowViewInfoTest, DangerousWarningBubbleUIInfo) {
ON_CALL(item(), GetState())
.WillByDefault(Return(download::DownloadItem::COMPLETE));
diff --git a/chrome/browser/ui/views/download/bubble/download_dialog_view.cc b/chrome/browser/ui/views/download/bubble/download_dialog_view.cc
index 5e732d29..66642da 100644
--- a/chrome/browser/ui/views/download/bubble/download_dialog_view.cc
+++ b/chrome/browser/ui/views/download/bubble/download_dialog_view.cc
@@ -61,16 +61,9 @@
: RichHoverButton(
std::move(show_all_downloads_callback),
/*main_image_icon=*/ui::ImageModel(),
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_FOOTER_LABEL)
- : l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_FOOTER_LINK),
+ l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_FOOTER_LABEL),
/*secondary_text=*/std::u16string(),
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? l10n_util::GetStringUTF16(
- IDS_DOWNLOAD_BUBBLE_FOOTER_TOOLTIP_LABEL)
- : l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_FOOTER_TOOLTIP),
+ l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_FOOTER_TOOLTIP_LABEL),
/*subtitle_text=*/std::u16string(),
ui::ImageModel::FromVectorIcon(
features::IsChromeRefresh2023()
@@ -152,10 +145,7 @@
header->SetBorder(views::CreateEmptyBorder(GetLayoutInsets(DOWNLOAD_ROW)));
auto* title = header->AddChildView(std::make_unique<views::Label>(
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_HEADER_LABEL)
- : l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_HEADER_TEXT),
+ l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_HEADER_LABEL),
views::style::CONTEXT_DIALOG_TITLE, views::style::STYLE_PRIMARY));
title->SetProperty(
views::kFlexBehaviorKey,
diff --git a/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc b/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
index dfbc53e..4b29818 100644
--- a/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
+++ b/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
@@ -611,10 +611,7 @@
auto bubble_delegate = std::make_unique<views::BubbleDialogDelegate>(
this, views::BubbleBorder::TOP_RIGHT);
bubble_delegate->SetTitle(
- base::FeatureList::IsEnabled(
- safe_browsing::kImprovedDownloadBubbleWarnings)
- ? l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_HEADER_LABEL)
- : l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_HEADER_TEXT));
+ l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_HEADER_LABEL));
bubble_delegate->SetShowTitle(false);
bubble_delegate->set_internal_name(kBubbleName);
bubble_delegate->SetShowCloseButton(false);
diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
index 22d0bb3..c459ce6f 100644
--- a/components/safe_browsing/core/common/features.cc
+++ b/components/safe_browsing/core/common/features.cc
@@ -147,10 +147,6 @@
&kHashRealTimeOverOhttp, "SafeBrowsingHashRealTimeOverOhttpRelayUrl",
/*default_value=*/""};
-BASE_FEATURE(kImprovedDownloadBubbleWarnings,
- "ImprovedDownloadBubbleWarnings",
- base::FEATURE_ENABLED_BY_DEFAULT);
-
BASE_FEATURE(kImprovedDownloadPageWarnings,
"ImprovedDownloadPageWarnings",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -344,7 +340,6 @@
{&kExtensionTelemetryTabsExecuteScriptSignal, true},
{&kHashPrefixRealTimeLookups, true},
{&kHashRealTimeOverOhttp, true},
- {&kImprovedDownloadBubbleWarnings, true},
{&kImprovedDownloadPageWarnings, true},
{&kLogAccountEnhancedProtectionStateInProtegoPings, true},
{&kMmapSafeBrowsingDatabase, true},
diff --git a/components/safe_browsing/core/common/features.h b/components/safe_browsing/core/common/features.h
index af27244..b149a6be 100644
--- a/components/safe_browsing/core/common/features.h
+++ b/components/safe_browsing/core/common/features.h
@@ -140,9 +140,7 @@
// kHashRealTimeOverOhttp feature.
extern const base::FeatureParam<std::string> kHashRealTimeOverOhttpRelayUrl;
-// UX improvements to download warnings in the download bubble and
-// chrome://downloads page, respectively.
-BASE_DECLARE_FEATURE(kImprovedDownloadBubbleWarnings);
+// UX improvements to download warnings on chrome://downloads page.
BASE_DECLARE_FEATURE(kImprovedDownloadPageWarnings);
// Enable logging of the account enhanced protection setting in Protego pings.