Delete ReadAnythingOmniboxIcon experiment and remove all related
code.

Fixed: 329298677
Change-Id: I3ed1d3f3a23917f21d953561b696e4967da3ff34
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5598479
Reviewed-by: Rushan Suleymanov <[email protected]>
Commit-Queue: Abigail Klein <[email protected]>
Reviewed-by: Jacob Francis <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1311246}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 42535d1..fb51af9 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7328,11 +7328,6 @@
      flag_descriptions::kReadAnythingWebUIToolbarDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kReadAnythingWebUIToolbar)},
 
-    {"read-anything-omnibox-icon",
-     flag_descriptions::kReadAnythingOmniboxIconName,
-     flag_descriptions::kReadAnythingOmniboxIconDescription, kOsDesktop,
-     FEATURE_VALUE_TYPE(features::kReadAnythingOmniboxIcon)},
-
     {"read-anything-local-side-panel",
      flag_descriptions::kReadAnythingLocalSidePanelName,
      flag_descriptions::kReadAnythingLocalSidePanelDescription, kOsDesktop,
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 1b59eec..3a085e3 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -7429,11 +7429,6 @@
     "expiry_milestone": 133
   },
   {
-    "name": "read-anything-omnibox-icon",
-    "owners": [ "[email protected]", "[email protected]", "//ui/accessibility/OWNERS" ],
-    "expiry_milestone": 130
-  },
-  {
     "name": "read-anything-read-aloud",
     "owners": [ "[email protected]", "[email protected]", "//ui/accessibility/OWNERS" ],
     "expiry_milestone": 133
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index dacd532..e6a7667 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -4940,11 +4940,6 @@
     "Enables the experimental Reading Mode feature that downloads Google TTS "
     "languages directly from the Read Aloud menus.";
 
-const char kReadAnythingOmniboxIconName[] = "Reading Mode with Omnibox Icon";
-const char kReadAnythingOmniboxIconDescription[] =
-    "Show the reading mode icon in the omnibox. Click the icon to open reading "
-    "mode.";
-
 const char kReadAnythingLocalSidePanelName[] =
     "Reading Mode with Local Side Panel";
 const char kReadAnythingLocalSidePanelDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 71bbf12..db6f2bf 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2870,9 +2870,6 @@
 extern const char kReadAloudLanguagePackDownloadingName[];
 extern const char kReadAloudLanguagePackDownloadingDescription[];
 
-extern const char kReadAnythingOmniboxIconName[];
-extern const char kReadAnythingOmniboxIconDescription[];
-
 extern const char kReadAnythingLocalSidePanelName[];
 extern const char kReadAnythingLocalSidePanelDescription[];
 
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index e8487c1..f85be4f 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -1114,6 +1114,12 @@
 inline constexpr char kTrackingProtectionOnboardingNoticeLastRequested[] =
     "tracking_protection.tracking_protection_onboarding_notice_last_requested";
 
+// Deprecated 06/2024.
+#if !BUILDFLAG(IS_ANDROID)
+inline constexpr char kAccessibilityReadAnythingOmniboxIconLabelShownCount[] =
+    "settings.a11y.read_anything.omnibox_icon_label_shown_count";
+#endif
+
 // Register local state used only for migration (clearing or moving to a new
 // key).
 void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
@@ -1612,6 +1618,12 @@
                              base::Time());
   registry->RegisterTimePref(kTrackingProtectionOnboardingNoticeLastRequested,
                              base::Time());
+
+// Deprecated 06/2024.
+#if !BUILDFLAG(IS_ANDROID)
+  registry->RegisterIntegerPref(
+      kAccessibilityReadAnythingOmniboxIconLabelShownCount, 0);
+#endif
 }
 
 void ClearSyncRequestedPrefAndMaybeMigrate(PrefService* profile_prefs) {
@@ -2995,6 +3007,12 @@
   profile_prefs->ClearPref(kTrackingProtectionOnboardingNoticeFirstRequested);
   profile_prefs->ClearPref(kTrackingProtectionOnboardingNoticeLastRequested);
 
+  // Added 06/2024.
+#if !BUILDFLAG(IS_ANDROID)
+  profile_prefs->ClearPref(
+      kAccessibilityReadAnythingOmniboxIconLabelShownCount);
+#endif
+
   // Please don't delete the following line. It is used by PRESUBMIT.py.
   // END_MIGRATE_OBSOLETE_PROFILE_PREFS
 
diff --git a/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc b/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc
index 5f2fb77..cffdaba 100644
--- a/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc
+++ b/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc
@@ -301,7 +301,7 @@
   kReadAloudSpeed = 100243,
   kReadAloudHighlightingEnabled = 100244,
   kHttpsFirstModeIncognito = 100245,
-  kAccessibilityReadAnythingOmniboxIconLabelShownCount = 100246,
+  // kAccessibilityReadAnythingOmniboxIconLabelShownCount = 100246, (deprecated)
   kApplicationLocale = 100247,
   kListenToThisPageEnabled = 100248,
   kIpProtectionEnabled = 100249,
@@ -436,10 +436,6 @@
      {syncable_prefs_ids::kAccessibilityReadAnythingHighlightColor,
       syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone,
       sync_preferences::MergeBehavior::kNone}},
-    {prefs::kAccessibilityReadAnythingOmniboxIconLabelShownCount,
-     {syncable_prefs_ids::kAccessibilityReadAnythingOmniboxIconLabelShownCount,
-      syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone,
-      sync_preferences::MergeBehavior::kNone}},
     {prefs::kAccessibilityReadAnythingLinksEnabled,
      {syncable_prefs_ids::kAccessibilityReadAnythingLinksEnabled,
       syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone,
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 137e8c1..e91e7133 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -5651,8 +5651,6 @@
       "views/location_bar/omnibox_chip_button.cc",
       "views/location_bar/omnibox_chip_button.h",
       "views/location_bar/omnibox_chip_theme.h",
-      "views/location_bar/read_anything_icon_view.cc",
-      "views/location_bar/read_anything_icon_view.h",
       "views/location_bar/selected_keyword_view.cc",
       "views/location_bar/selected_keyword_view.h",
       "views/location_bar/star_view.cc",
diff --git a/chrome/browser/ui/page_action/page_action_icon_type.h b/chrome/browser/ui/page_action/page_action_icon_type.h
index 35f3b5c..5fd4d37f 100644
--- a/chrome/browser/ui/page_action/page_action_icon_type.h
+++ b/chrome/browser/ui/page_action/page_action_icon_type.h
@@ -38,7 +38,7 @@
   kSaveIban = 24,
   kMandatoryReauth = 25,
   kPriceInsights = 26,
-  kReadAnything = 27,
+  // DEPRECATED: kReadAnything = 27,
   kProductSpecifications = 28,
   kLensOverlay = 29,
   kMaxValue = kLensOverlay,
@@ -70,7 +70,6 @@
 static_assert(static_cast<int>(PageActionIconType::kSaveIban) == 24);
 static_assert(static_cast<int>(PageActionIconType::kMandatoryReauth) == 25);
 static_assert(static_cast<int>(PageActionIconType::kPriceInsights) == 26);
-static_assert(static_cast<int>(PageActionIconType::kReadAnything) == 27);
 static_assert(static_cast<int>(PageActionIconType::kProductSpecifications) ==
               28);
 static_assert(static_cast<int>(PageActionIconType::kLensOverlay) == 29);
diff --git a/chrome/browser/ui/side_panel/side_panel_enums.h b/chrome/browser/ui/side_panel/side_panel_enums.h
index 68a5c7a..872e403 100644
--- a/chrome/browser/ui/side_panel/side_panel_enums.h
+++ b/chrome/browser/ui/side_panel/side_panel_enums.h
@@ -26,7 +26,7 @@
   kPinnedEntryToolbarButton = 12,
   kAppMenu = 13,
   kOpenedInNewTabFromSidePanel = 14,
-  kReadAnythingOmniboxIcon = 15,
+  // kReadAnythingOmniboxIcon = 15, (deprecated)
   kReadAnythingNavigationThrottle = 16,
   kOverflowMenu = 17,
   kExtension = 18,
diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc
index c56a73f1..de89b44 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
@@ -60,7 +60,6 @@
 #include "chrome/browser/ui/views/location_bar/intent_chip_button.h"
 #include "chrome/browser/ui/views/location_bar/location_bar_layout.h"
 #include "chrome/browser/ui/views/location_bar/location_icon_view.h"
-#include "chrome/browser/ui/views/location_bar/read_anything_icon_view.h"
 #include "chrome/browser/ui/views/location_bar/selected_keyword_view.h"
 #include "chrome/browser/ui/views/location_bar/star_view.h"
 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h"
@@ -371,9 +370,6 @@
     params.types_enabled.push_back(PageActionIconType::kZoom);
     params.types_enabled.push_back(PageActionIconType::kFileSystemAccess);
 
-    if (features::IsReadAnythingOmniboxIconEnabled()) {
-      params.types_enabled.push_back(PageActionIconType::kReadAnything);
-    }
     params.types_enabled.push_back(PageActionIconType::kCookieControls);
     params.types_enabled.push_back(
         PageActionIconType::kPaymentsOfferNotification);
diff --git a/chrome/browser/ui/views/location_bar/read_anything_icon_view.cc b/chrome/browser/ui/views/location_bar/read_anything_icon_view.cc
deleted file mode 100644
index 830f676..0000000
--- a/chrome/browser/ui/views/location_bar/read_anything_icon_view.cc
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/views/location_bar/read_anything_icon_view.h"
-
-#include "base/metrics/histogram_functions.h"
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome/app/vector_icons/vector_icons.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/side_panel/read_anything/read_anything_side_panel_controller_utils.h"
-#include "chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h"
-#include "chrome/common/accessibility/read_anything_constants.h"
-#include "chrome/grit/generated_resources.h"
-#include "components/pref_registry/pref_registry_syncable.h"
-#include "components/prefs/pref_service.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/metadata/metadata_impl_macros.h"
-
-namespace {
-
-// The time, in seconds, which the label is shown, before animating out again.
-// This number was chosen to be long enough for target users, who are slower
-// readers, to read the label.
-constexpr auto kLabelShownDuration = base::Seconds(3);
-
-}  // namespace
-
-ReadAnythingIconView::ReadAnythingIconView(
-    CommandUpdater* command_updater,
-    Browser* browser,
-    IconLabelBubbleView::Delegate* icon_label_bubble_delegate,
-    PageActionIconView::Delegate* page_action_icon_delegate)
-    : PageActionIconView(command_updater,
-                         IDC_SHOW_READING_MODE_SIDE_PANEL,
-                         icon_label_bubble_delegate,
-                         page_action_icon_delegate,
-                         "ReadAnythingIcon",
-                         true),
-      label_shown_count_(browser->profile()->GetPrefs()->GetInteger(
-          prefs::kAccessibilityReadAnythingOmniboxIconLabelShownCount)),
-      browser_(browser) {
-  DCHECK(browser_);
-
-  SetActive(false);
-  SetUpForInOutAnimation(kLabelShownDuration);
-
-  coordinator_ = ReadAnythingCoordinator::FromBrowser(browser_);
-  if (coordinator_) {
-    coordinator_observer_.Observe(coordinator_);
-  }
-}
-
-ReadAnythingIconView::~ReadAnythingIconView() = default;
-
-void ReadAnythingIconView::ExecuteCommand(ExecuteSource source) {
-  OnExecuting(source);
-  ShowReadAnythingSidePanel(browser_,
-                            SidePanelOpenTrigger::kReadAnythingOmniboxIcon);
-}
-
-views::BubbleDialogDelegate* ReadAnythingIconView::GetBubble() const {
-  return nullptr;
-}
-
-const gfx::VectorIcon& ReadAnythingIconView::GetVectorIcon() const {
-  return kMenuBookChromeRefreshIcon;
-}
-
-void ReadAnythingIconView::UpdateImpl() {
-  if (GetVisible() != should_be_visible_) {
-    SetVisible(should_be_visible_);
-    base::UmaHistogramBoolean("Accessibility.ReadAnything.OmniboxIconShown",
-                              should_be_visible_);
-  }
-  if (!should_be_visible_ || is_animating_label() ||
-      (label_shown_count_ >= kReadAnythingOmniboxIconLabelShownCountMax)) {
-    return;
-  }
-  ResetSlideAnimation(false);
-  AnimateIn(IDS_READING_MODE_TITLE);
-  ++label_shown_count_;
-  browser_->profile()->GetPrefs()->SetInteger(
-      prefs::kAccessibilityReadAnythingOmniboxIconLabelShownCount,
-      label_shown_count_);
-}
-
-std::u16string ReadAnythingIconView::GetTextForTooltipAndAccessibleName()
-    const {
-  return l10n_util::GetStringUTF16(IDS_READING_MODE_TITLE);
-}
-
-void ReadAnythingIconView::Activate(bool active) {
-  if (active) {
-    should_be_visible_ = false;
-    Update();
-    base::UmaHistogramBoolean("Accessibility.ReadAnything.OmniboxIconShown",
-                              false);
-  }
-}
-
-void ReadAnythingIconView::OnCoordinatorDestroyed() {
-  coordinator_ = nullptr;
-}
-
-void ReadAnythingIconView::OnActivePageDistillable(bool distillable) {
-  if (IsReadAnythingEntryShowing(browser_)) {
-    return;
-  }
-  should_be_visible_ = distillable;
-  Update();
-}
-
-BEGIN_METADATA(ReadAnythingIconView)
-END_METADATA
diff --git a/chrome/browser/ui/views/location_bar/read_anything_icon_view.h b/chrome/browser/ui/views/location_bar/read_anything_icon_view.h
deleted file mode 100644
index 7145fd4..0000000
--- a/chrome/browser/ui/views/location_bar/read_anything_icon_view.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_READ_ANYTHING_ICON_VIEW_H_
-#define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_READ_ANYTHING_ICON_VIEW_H_
-
-#include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
-#include "chrome/browser/ui/views/side_panel/read_anything/read_anything_coordinator.h"
-
-class Browser;
-class CommandUpdater;
-
-// The location bar icon to open read anything.
-class ReadAnythingIconView : public PageActionIconView,
-                             public ReadAnythingCoordinator::Observer {
-  METADATA_HEADER(ReadAnythingIconView, PageActionIconView)
-
- public:
-  ReadAnythingIconView(
-      CommandUpdater* command_updater,
-      Browser* browser,
-      IconLabelBubbleView::Delegate* icon_label_bubble_delegate,
-      PageActionIconView::Delegate* page_action_icon_delegate);
-  ReadAnythingIconView(const ReadAnythingIconView&) = delete;
-  ReadAnythingIconView& operator=(const ReadAnythingIconView&) = delete;
-  ~ReadAnythingIconView() override;
-
- protected:
-  // PageActionIconView:
-  void UpdateImpl() override;
-  void OnExecuting(PageActionIconView::ExecuteSource execute_source) override {}
-  void ExecuteCommand(ExecuteSource source) override;
-  views::BubbleDialogDelegate* GetBubble() const override;
-  const gfx::VectorIcon& GetVectorIcon() const override;
-  std::u16string GetTextForTooltipAndAccessibleName() const override;
-
-  // ReadAnythingCoordinator::Observer:
-  void Activate(bool active) override;
-  void OnActivePageDistillable(bool distillable) override;
-  void OnCoordinatorDestroyed() override;
-
- private:
-  // Whether this view should be visible, so that the next time UpdateImpl() is
-  // called, the view visibility is set to this value.
-  bool should_be_visible_ = false;
-
-  // The number of times the label was shown. On construction, caches the value
-  // `prefs::kAccessibilityReadAnythingOmniboxIconLabelShownCount`. When the
-  // value changes, updates the pref.
-  int label_shown_count_;
-
-  const raw_ptr<Browser> browser_;
-  raw_ptr<ReadAnythingCoordinator> coordinator_;
-  base::ScopedObservation<ReadAnythingCoordinator,
-                          ReadAnythingCoordinator::Observer>
-      coordinator_observer_{this};
-};
-
-#endif  // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_READ_ANYTHING_ICON_VIEW_H_
diff --git a/chrome/browser/ui/views/location_bar/read_anything_icon_view_interactive_uitest.cc b/chrome/browser/ui/views/location_bar/read_anything_icon_view_interactive_uitest.cc
deleted file mode 100644
index cb4a85e..0000000
--- a/chrome/browser/ui/views/location_bar/read_anything_icon_view_interactive_uitest.cc
+++ /dev/null
@@ -1,138 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/side_panel/read_anything/read_anything_side_panel_controller_utils.h"
-#include "chrome/browser/ui/views/location_bar/read_anything_icon_view.h"
-#include "chrome/browser/ui/views/side_panel/side_panel_coordinator.h"
-#include "chrome/browser/ui/views/side_panel/side_panel_util.h"
-#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
-#include "chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "components/pref_registry/pref_registry_syncable.h"
-#include "components/prefs/pref_service.h"
-#include "content/public/test/browser_test.h"
-#include "ui/accessibility/accessibility_features.h"
-#include "ui/events/event_utils.h"
-
-namespace {
-
-class ReadAnythingIconViewTest : public InProcessBrowserTest {
- public:
-  ReadAnythingIconViewTest() {
-    scoped_feature_list_.InitWithFeatures(
-        {features::kReadAnything, features::kReadAnythingOmniboxIcon}, {});
-  }
-
-  ReadAnythingIconViewTest(const ReadAnythingIconViewTest&) = delete;
-  ReadAnythingIconViewTest& operator=(const ReadAnythingIconViewTest&) = delete;
-  ~ReadAnythingIconViewTest() override = default;
-
-  PageActionIconView* GetReadAnythingOmniboxIcon() {
-    return BrowserView::GetBrowserViewForBrowser(browser())
-        ->toolbar_button_provider()
-        ->GetPageActionIconView(PageActionIconType::kReadAnything);
-  }
-
-  void SetNoDelaysForTesting() {
-    SidePanelUtil::GetSidePanelCoordinatorForBrowser(browser())
-        ->SetNoDelaysForTesting(true);
-  }
-
-  void ClickReadAnythingOmniboxIcon() {
-    GetReadAnythingOmniboxIcon()->button_controller()->NotifyClick();
-  }
-
-  void SetActivePageDistillable() {
-    GetReadAnythingCoordinator()->ActivePageDistillableForTesting();
-  }
-
-  void SetActivePageNotDistillable() {
-    GetReadAnythingCoordinator()->ActivePageNotDistillableForTesting();
-  }
-
-  int GetLabelShownCountFromPref() const {
-    return browser()->profile()->GetPrefs()->GetInteger(
-        prefs::kAccessibilityReadAnythingOmniboxIconLabelShownCount);
-  }
-
- private:
-  ReadAnythingCoordinator* GetReadAnythingCoordinator() {
-    return ReadAnythingCoordinator::GetOrCreateForBrowser(browser());
-  }
-
-  base::test::ScopedFeatureList scoped_feature_list_;
-};
-
-// Clicking the icon opens reading mode in the side panel.
-// TODO(crbug.com/333809887): Re-enable this test
-IN_PROC_BROWSER_TEST_F(ReadAnythingIconViewTest,
-                       DISABLED_OpensReadingModeOnClick) {
-  SetNoDelaysForTesting();
-  SetActivePageDistillable();
-  EXPECT_FALSE(IsReadAnythingEntryShowing(browser()));
-  ClickReadAnythingOmniboxIcon();
-  EXPECT_TRUE(IsReadAnythingEntryShowing(browser()));
-}
-
-// When reading mode is opened, hides the icon.
-// TODO(crbug.com/333809887): Re-enable this test
-IN_PROC_BROWSER_TEST_F(ReadAnythingIconViewTest,
-                       DISABLED_OpenReadingModeHidesIcon) {
-  SetNoDelaysForTesting();
-  SetActivePageDistillable();
-  PageActionIconView* icon = GetReadAnythingOmniboxIcon();
-  EXPECT_TRUE(icon->GetVisible());
-  ClickReadAnythingOmniboxIcon();
-  EXPECT_FALSE(icon->GetVisible());
-}
-
-// When reading mode is already opened, the icon does not show.
-IN_PROC_BROWSER_TEST_F(ReadAnythingIconViewTest,
-                       // TODO(crbug.com/333809887): Re-enable this test
-                       DISABLED_IconNotVisibleIfReadingModeOpen) {
-  SetNoDelaysForTesting();
-  ShowReadAnythingSidePanel(browser(),
-                            SidePanelOpenTrigger::kReadAnythingOmniboxIcon);
-  SetActivePageDistillable();
-  PageActionIconView* icon = GetReadAnythingOmniboxIcon();
-  EXPECT_FALSE(icon->GetVisible());
-}
-
-// Show the icon when the page is distillable.
-IN_PROC_BROWSER_TEST_F(ReadAnythingIconViewTest, IconShownIfDistillable) {
-  PageActionIconView* icon = GetReadAnythingOmniboxIcon();
-  EXPECT_FALSE(icon->GetVisible());
-  SetActivePageDistillable();
-  EXPECT_TRUE(icon->GetVisible());
-  SetActivePageNotDistillable();
-  EXPECT_FALSE(icon->GetVisible());
-}
-
-// The label only shows the first kReadAnythingOmniboxIconLabelShownCountMax
-// times that the icon is shown.
-IN_PROC_BROWSER_TEST_F(ReadAnythingIconViewTest, ShowLabel3Times) {
-  PageActionIconView* icon = GetReadAnythingOmniboxIcon();
-  for (int i = 0; i < kReadAnythingOmniboxIconLabelShownCountMax; i++) {
-    EXPECT_EQ(i, GetLabelShownCountFromPref());
-    SetActivePageDistillable();
-    EXPECT_TRUE(icon->ShouldShowLabel());
-    EXPECT_TRUE(icon->is_animating_label());
-    icon->ResetSlideAnimationForTesting();
-  }
-  EXPECT_EQ(3, GetLabelShownCountFromPref());
-  SetActivePageDistillable();
-  EXPECT_FALSE(icon->ShouldShowLabel());
-  EXPECT_FALSE(icon->is_animating_label());
-  EXPECT_EQ(3, GetLabelShownCountFromPref());
-}
-
-IN_PROC_BROWSER_TEST_F(ReadAnythingIconViewTest, GetAccessibleName) {
-  PageActionIconView* icon = GetReadAnythingOmniboxIcon();
-  SetActivePageDistillable();
-  EXPECT_EQ(l10n_util::GetStringUTF16(IDS_READING_MODE_TITLE),
-            icon->GetViewAccessibility().GetCachedName());
-}
-
-}  // namespace
diff --git a/chrome/browser/ui/views/page_action/page_action_icon_controller.cc b/chrome/browser/ui/views/page_action/page_action_icon_controller.cc
index ab1fe82..04639b0 100644
--- a/chrome/browser/ui/views/page_action/page_action_icon_controller.cc
+++ b/chrome/browser/ui/views/page_action/page_action_icon_controller.cc
@@ -33,7 +33,6 @@
 #include "chrome/browser/ui/views/location_bar/find_bar_icon.h"
 #include "chrome/browser/ui/views/location_bar/intent_picker_view.h"
 #include "chrome/browser/ui/views/location_bar/lens_overlay_page_action_icon_view.h"
-#include "chrome/browser/ui/views/location_bar/read_anything_icon_view.h"
 #include "chrome/browser/ui/views/location_bar/star_view.h"
 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h"
 #include "chrome/browser/ui/views/page_action/page_action_icon_container.h"
@@ -196,12 +195,6 @@
                       params.command_updater, params.icon_label_bubble_delegate,
                       params.page_action_icon_delegate, params.browser));
         break;
-      case PageActionIconType::kReadAnything:
-        add_page_action_icon(type, std::make_unique<ReadAnythingIconView>(
-                                       params.command_updater, params.browser,
-                                       params.icon_label_bubble_delegate,
-                                       params.page_action_icon_delegate));
-        break;
       case PageActionIconType::kAutofillAddress:
         add_page_action_icon(
             type, std::make_unique<autofill::AddressBubblesIconView>(
diff --git a/chrome/browser/ui/views/side_panel/read_anything/read_anything_coordinator.cc b/chrome/browser/ui/views/side_panel/read_anything/read_anything_coordinator.cc
index 8a3e605..470eb4b 100644
--- a/chrome/browser/ui/views/side_panel/read_anything/read_anything_coordinator.cc
+++ b/chrome/browser/ui/views/side_panel/read_anything/read_anything_coordinator.cc
@@ -50,21 +50,17 @@
 // When ReadAnythingCoordinator observes a tab change, page load complete, or
 // primary page change, it compares the active url against this list of urls
 // to see whether the active page is considered "distillable". This information
-// is then passed on to observers which are gated behind the experiments listed
-// below: omnibox icon and IPH. The list of URLs will be associated as a param
-// of the experiment to ensure that the variation groups that have the
-// experiment enabled also have the list of urls as a param.
+// is then passed on to observers which are gated behind the IPH experiment.
+// The list of URLs will be associated as a param of the experiment to ensure
+// that the variation groups that have the experiment enabled also have the list
+// of urls as a param.
 std::vector<std::string> GetDistillableURLs() {
-  const base::Feature* feature = nullptr;
-  if (features::IsReadAnythingOmniboxIconEnabled()) {
-    feature = &features::kReadAnythingOmniboxIcon;
-  } else if (base::FeatureList::IsEnabled(
-                 feature_engagement::kIPHReadingModeSidePanelFeature)) {
-    feature = &feature_engagement::kIPHReadingModeSidePanelFeature;
-  }
-  if (feature) {
+  if (base::FeatureList::IsEnabled(
+          feature_engagement::kIPHReadingModeSidePanelFeature)) {
     return base::SplitString(
-        base::GetFieldTrialParamValueByFeature(*feature, "distillable_urls"),
+        base::GetFieldTrialParamValueByFeature(
+            feature_engagement::kIPHReadingModeSidePanelFeature,
+            "distillable_urls"),
         ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
   }
   return std::vector<std::string>();
diff --git a/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.cc b/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.cc
index 3bd8d0a..af2238fc 100644
--- a/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.cc
+++ b/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.cc
@@ -65,11 +65,6 @@
         prefs::kAccessibilityReadAnythingLanguagesEnabled, base::Value::List(),
         user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
   }
-  if (features::IsReadAnythingOmniboxIconEnabled()) {
-    registry->RegisterIntegerPref(
-        prefs::kAccessibilityReadAnythingOmniboxIconLabelShownCount, 0,
-        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
-  }
   registry->RegisterBooleanPref(
       prefs::kAccessibilityReadAnythingLinksEnabled, true,
       user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
diff --git a/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h b/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h
index 1499876..b49a8a9 100644
--- a/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h
+++ b/chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h
@@ -58,9 +58,6 @@
 inline constexpr char kAccessibilityReadAnythingHighlightColor[] =
     "settings.a11y.read_anything.highlight_color";
 
-inline constexpr char kAccessibilityReadAnythingOmniboxIconLabelShownCount[] =
-    "settings.a11y.read_anything.omnibox_icon_label_shown_count";
-
 inline constexpr char kAccessibilityReadAnythingLinksEnabled[] =
     "settings.a11y.read_anything.links_enabled";