[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.