Low chrome Logic Error 🔧 Commit mapped

Overview

Low
Severity
CVSS
No
Exploited ITW
Fixed
Fix Status
ImpactIncorrect security UI in Omnibox
DescriptionIncorrect security UI in Omnibox
ComponentOmnibox
Bug ClassLogic Error
Tracker514019522
Fix commitfcef632c3e9e (chromium/src) +16/-764
CISA KEVNot listed
CreditedGoogle
Disclosed2026-06-30

Changed Functions

FunctionChangeNotes
if
chrome/browser/ui/views/location_bar/location_bar_view.cc
modified
OmniboxPopupUI
chrome/browser/ui/views/location_bar/location_bar_view.h
modified
OmniboxPopupView
chrome/browser/ui/views/location_bar/location_bar_view.h
modified
OmniboxViewViews
chrome/browser/ui/views/location_bar/location_bar_view.h
modified
OmniboxChipButton
chrome/browser/ui/views/location_bar/location_bar_view.h
modified
PageActionIconController
chrome/browser/ui/views/location_bar/location_bar_view.h
modified
PageActionIconContainerView
chrome/browser/ui/views/location_bar/location_bar_view.h
modified
PermissionChipView
chrome/browser/ui/views/location_bar/location_bar_view.h
modified

Files Changed

  • chrome/app/generated_resources.grd
  • chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_BODY.png.sha1
  • chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_TITLE.png.sha1
  • chrome/browser/ui/browser_element_identifiers.cc
  • chrome/browser/ui/browser_element_identifiers.h
  • chrome/browser/ui/views/location_bar/BUILD.gn
  • chrome/browser/ui/views/location_bar/location_bar_view.cc
  • chrome/browser/ui/views/location_bar/location_bar_view.h
From fcef632c3e9e66f954f79fe07922a382637ffc5d Mon Sep 17 00:00:00 2001
From: Nicola Tommasi <[email protected]>
Date: Fri, 29 May 2026 02:15:32 -0700
Subject: [PATCH] [CodeHealth] Remove MerchantTrust omnibox chip and IPH

This CL removes the implementation of the Merchant Trust omnibox chip
and the related IPH feature as the feature was implemented but never
really enabled due to product changes.

NO_IFTTT=Deprecating enum value

Bug: 514019522
Change-Id: I2a71317c4a1c572aa74b6eb79f86e49526c326f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7867931
Reviewed-by: Christian Dullweber <[email protected]>
Commit-Queue: Nicola Tommasi <[email protected]>
Reviewed-by: Alex Ilin <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1638347}
---

diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index cc1f5a1..50c1c735 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -19388,17 +19388,6 @@
     Help improve spam protection by sharing notification content and the site's URL with Google. Content may be reviewed by humans.
   </message>
 
-     <!-- Merchant Trust IPH strings -->
-    <message name="IDS_MERCHANT_TRUST_IPH_TITLE" desc="Title of in product help to introduce merchant trust feature.">
-      See ratings for this store
-    </message>
-    <message name="IDS_MERCHANT_TRUST_IPH_BODY" desc="Content of in product help to introduce merchant trust feature.">
-      You can get a summary of what people are saying in their reviews
-    </message>
-    <message name="IDS_MERCHANT_TRUST_IPH_BODY_SCREEN_READER" desc="Announcement to screen reader users when the merchant trust IPH is shown." is_accessibility_with_no_ui="true">
-      You can get a summary of what people are saying in their reviews
-    </message>
-
     <!-- Chrome Apps Deprecation -->
     <if expr="is_chromeos">
       <message name="IDS_USER_INSTALLED_CHROME_APP_DEPRECATION_NOTIFICATION_MESSAGE" desc="Message of the notification displayed while launching a user-installed app.">
diff --git a/chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_BODY.png.sha1 b/chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_BODY.png.sha1
deleted file mode 100644
index d698215..0000000
--- a/chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_BODY.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d0692f47366796818cbc2a634aae8a93dedbc9e3
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_TITLE.png.sha1 b/chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_TITLE.png.sha1
deleted file mode 100644
index d698215..0000000
--- a/chrome/app/generated_resources_grd/IDS_MERCHANT_TRUST_IPH_TITLE.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d0692f47366796818cbc2a634aae8a93dedbc9e3
\ No newline at end of file
diff --git a/chrome/browser/ui/browser_element_identifiers.cc b/chrome/browser/ui/browser_element_identifiers.cc
index 6d16de23..f92b1daa 100644
--- a/chrome/browser/ui/browser_element_identifiers.cc
+++ b/chrome/browser/ui/browser_element_identifiers.cc
@@ -69,7 +69,6 @@
 DEFINE_ELEMENT_IDENTIFIER_VALUE(kFileSystemPageActionElementId);
 DEFINE_ELEMENT_IDENTIFIER_VALUE(kFooterWebViewSeparatorElementId);
 DEFINE_ELEMENT_IDENTIFIER_VALUE(kMemorySaverChipElementId);
-DEFINE_ELEMENT_IDENTIFIER_VALUE(kMerchantTrustChipElementId);
 DEFINE_ELEMENT_IDENTIFIER_VALUE(kMultiContentsViewElementId);
 DEFINE_ELEMENT_IDENTIFIER_VALUE(kGlicButtonElementId);
 DEFINE_ELEMENT_IDENTIFIER_VALUE(kGlicOsWidgetKeyboardShortcutElementId);
diff --git a/chrome/browser/ui/browser_element_identifiers.h b/chrome/browser/ui/browser_element_identifiers.h
index 65d9ae0..ba910d3 100644
--- a/chrome/browser/ui/browser_element_identifiers.h
+++ b/chrome/browser/ui/browser_element_identifiers.h
@@ -107,7 +107,6 @@
 DECLARE_ELEMENT_IDENTIFIER_VALUE(kFileSystemPageActionElementId);
 DECLARE_ELEMENT_IDENTIFIER_VALUE(kFooterWebViewSeparatorElementId);
 DECLARE_ELEMENT_IDENTIFIER_VALUE(kMemorySaverChipElementId);
-DECLARE_ELEMENT_IDENTIFIER_VALUE(kMerchantTrustChipElementId);
 DECLARE_ELEMENT_IDENTIFIER_VALUE(kMultiContentsViewElementId);
 DECLARE_ELEMENT_IDENTIFIER_VALUE(kNotificationContentSettingImageView);
 DECLARE_ELEMENT_IDENTIFIER_VALUE(kHatsNextWebDialogId);
diff --git a/chrome/browser/ui/views/location_bar/BUILD.gn b/chrome/browser/ui/views/location_bar/BUILD.gn
index 2a47ec1..05615e72 100644
--- a/chrome/browser/ui/views/location_bar/BUILD.gn
+++ b/chrome/browser/ui/views/location_bar/BUILD.gn
@@ -24,7 +24,6 @@
       "location_bar_view.h",
       "location_icon_state_helper.h",
       "location_icon_view.h",
-      "merchant_trust_chip_button_controller.h",
       "omnibox_chip_button.h",
       "omnibox_chip_theme.h",
       "omnibox_popup_file_selector.h",
@@ -92,7 +91,6 @@
       "location_bar_view.cc",
       "location_icon_state_helper.cc",
       "location_icon_view.cc",
-      "merchant_trust_chip_button_controller.cc",
       "omnibox_chip_button.cc",
       "omnibox_popup_file_selector.cc",
       "record_replay_page_action_controller.cc",
@@ -322,7 +320,6 @@
     "lens_overlay_homework_page_action_icon_view_interactive_uitest.cc",
     "lens_overlay_page_action_icon_view_interactive_uitest.cc",
     "location_icon_view_interactive_uitest.cc",
-    "merchant_trust_chip_button_interactive_uitest.cc",
     "record_replay_page_action_controller_interactive_uitest.cc",
     "selected_keyword_view_interactive_uitest.cc",
     "star_view_interactive_uitest.cc",
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 f4329db2..639eccd 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
@@ -76,8 +76,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/merchant_trust_chip_button_controller.h"
-#include "chrome/browser/ui/views/location_bar/omnibox_chip_button.h"
 #include "chrome/browser/ui/views/location_bar/omnibox_popup_file_selector.h"
 #include "chrome/browser/ui/views/location_bar/selected_keyword_view.h"
 #include "chrome/browser/ui/views/location_bar/star_view.h"
@@ -334,15 +332,6 @@
   location_icon_view->set_drag_controller(this);
   location_icon_view_ = AddChildView(std::move(location_icon_view));
 
-  if (page_info::IsMerchantTrustFeatureEnabled() &&
-      page_info::kMerchantTrustEnableOmniboxChip.Get()) {
-    merchant_trust_chip_ = AddChildView(std::make_unique<OmniboxChipButton>());
-    merchant_trust_chip_controller_ =
-        std::make_unique<MerchantTrustChipButtonController>(
-            merchant_trust_chip_, location_icon_view_,
-            MerchantTrustServiceFactory::GetForProfile(profile_));
-  }
-
   // Initialize the Omnibox view. browser_ can be nullptr on ChromeOS in the
   // case of simple_web_view_dialog. Or it can be nulltpr on ChromeOS and on
   // other desktop platforms in the case of presentation_receiver_window_view.
@@ -992,29 +981,6 @@
     location_icon_view_->SetVisible(false);
   }
 
-  if (merchant_trust_chip_controller_) {
-    // The merchant chip is shown when:
-    // 1. there is data to be shown
-    // 2. no permission chips are shown
-    // 3. the omnibox is not in editing mode
-    // 4. location bar icon doesn't have extra text
-    const bool should_show_merchant_chip =
-        merchant_trust_chip_controller_->ShouldBeVisible() &&
-        !show_overriding_permission_chip && !IsEditingOrEmpty() &&
-        !location_icon_view_->GetShowText();
-
-    if (should_show_merchant_chip) {
-      // TODO(crbug.com/378854462): Use constant.
-      const int padding_before_chip = 2;
-      merchant_trust_chip_controller_->Show();
-      leading_decorations.AddDecoration(vertical_padding, location_height,
-                                        false, 0, padding_before_chip,
-                                        icon_left, merchant_trust_chip_);
-    } else {
-      merchant_trust_chip_controller_->Hide();
-    }
-  }
-
   auto add_trailing_decoration = [&](View* view, int intra_item_padding,
                                      int edge_padding) {
     if (view->GetVisible()) {
@@ -1220,10 +1186,6 @@
   RefreshPageActionContainerViewAndIconsVisibility(
       /*should_hide_page_actions=*/ShouldHidePageActionIcons());
 
-  if (merchant_trust_chip_controller_) {
-    merchant_trust_chip_controller_->UpdateWebContents(contents);
-  }
-
   OnChanged();  // NOTE: Triggers layout.
 
   // A permission prompt may be suspended due to an invalid state (empty or
diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.h b/chrome/browser/ui/views/location_bar/location_bar_view.h
index 5bee6cd..015b1e1 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.h
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.h
@@ -23,7 +23,6 @@
 #include "chrome/browser/ui/page_action/page_action_icon_type.h"
 #include "chrome/browser/ui/views/location_bar/content_setting_image_view.h"
 #include "chrome/browser/ui/views/location_bar/location_icon_view.h"
-#include "chrome/browser/ui/views/location_bar/merchant_trust_chip_button_controller.h"
 #include "chrome/browser/ui/views/omnibox/omnibox_popup_presenter_delegate.h"
 #include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
 #include "chrome/browser/ui/views/permissions/chip/chip_controller.h"
@@ -65,7 +64,6 @@
 class OmniboxPopupUI;
 class OmniboxPopupView;
 class OmniboxViewViews;
-class OmniboxChipButton;
 class PageActionIconController;
 class PageActionIconContainerView;
 class PermissionChipView;
Loading diff…

Regression Test / PoC

shipped with the fix
diff --git a/chrome/browser/ui/views/location_bar/merchant_trust_chip_button_interactive_uitest.cc b/chrome/browser/ui/views/location_bar/merchant_trust_chip_button_interactive_uitest.cc
deleted file mode 100644
index 9b8661aa4..0000000
--- a/chrome/browser/ui/views/location_bar/merchant_trust_chip_button_interactive_uitest.cc
+++ /dev/null
@@ -1,315 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/test/metrics/histogram_tester.h"
-#include "base/test/scoped_feature_list.h"
-#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
-#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
-#include "chrome/browser/optimization_guide/optimization_guide_keyed_service_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_element_identifiers.h"
-#include "chrome/browser/ui/views/location_bar/merchant_trust_chip_button_controller.h"
-#include "chrome/browser/ui/views/location_bar/omnibox_chip_button.h"
-#include "chrome/browser/ui/views/page_info/page_info_main_view.h"
-#include "chrome/browser/ui/views/page_info/page_info_merchant_trust_content_view.h"
-#include "chrome/browser/ui/views/permissions/chip/permission_chip_view.h"
-#include "chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.h"
-#include "chrome/test/base/interactive_test_utils.h"
-#include "chrome/test/interaction/interactive_browser_test.h"
-#include "components/commerce/core/proto/merchant_trust.pb.h"
-#include "components/optimization_guide/core/hints/optimization_metadata.h"
-#include "components/optimization_guide/core/optimization_guide_proto_util.h"
-#include "components/optimization_guide/proto/hints.pb.h"
-#include "components/page_info/core/features.h"
-#include "components/strings/grit/components_strings.h"
-#include "content/public/test/browser_test.h"
-#include "net/dns/mock_host_resolver.h"
-#include "ui/events/keycodes/keyboard_codes.h"
-
-namespace {
-DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kWebContentsElementId);
-DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kSecondWebContentsElementId);
-
-optimization_guide::OptimizationMetadata GetMerchantTrustMetadata() {
-  optimization_guide::OptimizationMetadata optimization_metadata;
-  commerce::MerchantTrustSignalsV2 metadata;
-  metadata.set_merchant_star_rating(3.5);
-  metadata.set_merchant_count_rating(23);
-  metadata.set_merchant_details_page_url("https://reviews.test");
-  metadata.set_shopper_voice_summary("Test summary");
-
-  optimization_metadata.set_any_metadata(
-      optimization_guide::AnyWrapProto(metadata));
-  return optimization_metadata;
-}
-
-}  // namespace
-
-class MerchantTrustChipButtonInteractiveUITest
-    : public InteractiveBrowserTest,
-      public testing::WithParamInterface<bool> {
- public:
-  MerchantTrustChipButtonInteractiveUITest() {
-    https_server_ = std::make_unique<net::EmbeddedTestServer>(
-        net::EmbeddedTestServer::TYPE_HTTPS);
-    https_server()->SetSSLConfig(net::EmbeddedTestServer::CERT_TEST_NAMES);
-    https_server()->ServeFilesFromSourceDirectory(GetChromeTestDataDir());
-
-    CHECK(https_server()->Start());
-
-    std::vector<base::test::FeatureRefAndParams> enabled_features = {
-        {page_info::kMerchantTrust,
-         {{page_info::kMerchantTrustForceShowUIForTestingName, "true"},
-          {page_info::kMerchantTrustEnableOmniboxChipName,
-           GetParam() ? "true" : "false"}}}};
-    feature_list_.InitWithFeaturesAndParameters(enabled_features, {});
-  }
-
-  ~MerchantTrustChipButtonInteractiveUITest() override = default;
-  MerchantTrustChipButtonInteractiveUITest(
-      const MerchantTrustChipButtonInteractiveUITest&) = delete;
-  void operator=(const MerchantTrustChipButtonInteractiveUITest&) = delete;
-
-  void SetUpOnMainThread() override {
-    InteractiveBrowserTest::SetUpOnMainThread();
-    host_resolver()->AddRule("*", "127.0.0.1");
-
-    auto* optimization_guide_decider =
-        OptimizationGuideKeyedServiceFactory::GetForProfile(
-            browser()->profile());
-    optimization_guide_decider->AddHintForTesting(
-        GetURL(), optimization_guide::proto::MERCHANT_TRUST_SIGNALS_V2,
-        GetMerchantTrustMetadata());
-  }
-
-  void TearDownOnMainThread() override {
-    EXPECT_TRUE(https_server()->ShutdownAndWaitUntilComplete());
-    InteractiveBrowserTest::TearDownOnMainThread();
-  }
-
-  void SetUpCommandLine(base::CommandLine* cmd) override {
-    cmd->AppendSwitch(optimization_guide::switches::
-                          kDisableCheckingUserPermissionsForTesting);
-  }
-
-  void SetPermission(ContentSettingsType type, ContentSetting setting) {
-    HostContentSettingsMap* map =
-        HostContentSettingsMapFactory::GetForProfile(browser()->profile());
-
-    map->SetContentSettingDefaultScope(GetURL(), GetURL(), type, setting);
-  }
-
-  auto SendKeyPress(ui::KeyboardCode key, bool control, bool shift) {
-    return Check([this, key, control, shift]() {
-      return ui_test_utils::SendKeyPressSync(browser(), key, control, shift,
-                                             false, false);
-    });
-  }
-
-  auto WasChipAnimatedForWebContents(ElementSpecifier id, bool value) {
-    return CheckElement(
-        id, base::BindOnce([](ui::TrackedElement* el) {
-          return AsInstrumentedWebContents(el)->web_contents()->GetUserData(
-                     MerchantTrustChipButtonController::kChipAnimated) !=
-                 nullptr;
-        }),
-        value);
-  }
-
-  auto IsChipFullyCollapsed(bool value) {
-    return CheckView(kMerchantTrustChipElementId,
-                     base::BindOnce([](OmniboxChipButton* view) {
-                       return view->is_fully_collapsed();
-                     }),
-                     value);
-  }
-
-  auto CheckHistogramCounts(const std::string& name,
-                            auto sample,
-                            int expected_count) {
-    return Do([=, this]() {
-      histogram_tester_.ExpectUniqueSample(name, sample, expected_count);
-    });
-  }
-
-  MultiStep OpenMerchantTrustSubpage() {
-    if (GetParam()) {
-      Steps(
-          // Open the subpage directly.
-          WaitForShow(kMerchantTrustChipElementId),
-          PressButton(kMerchantTrustChipElementId),
-          WaitForShow(PageInfoMerchantTrustContentView::kElementIdForTesting));
-    }
-
-    return Steps(
-        PressButton(kLocationIconElementId),
-        // Open the page info.
-        WaitForShow(PageInfoMainView::kMerchantTrustElementId),
-        // Click on the row.
-        PressButton(PageInfoMainView::kMerchantTrustElementId),
-        // Wait for the subpage to be open.
-        WaitForShow(PageInfoMerchantTrustContentView::kElementIdForTesting));
-  }
-
-  net::EmbeddedTestServer* https_server() { return https_server_.get(); }
-
-  GURL GetURL() {
-    return https_server()->GetURL("a.test", "/permissions/requests.html");
-  }
-
-  GURL GetAnotherURL() {
-    return https_server()->GetURL("a.test", "/title1.html");
-  }
-
- private:
-  std::unique_ptr<net::EmbeddedTestServer> https_server_;
-  base::test::ScopedFeatureList feature_list_;
-  base::HistogramTester histogram_tester_;
-};
-
-IN_PROC_BROWSER_TEST_P(MerchantTrustChipButtonInteractiveUITest,
-                       MerchantTrustChipClick) {
-  if (!GetParam()) {
-    return;
-  }
-
-  RunTestSequence(
-      InstrumentTab(kWebContentsElementId),
-      NavigateWebContents(kWebContentsElementId, GetURL()),
-      WaitForShow(kMerchantTrustChipElementId),
-      PressButton(kMerchantTrustChipElementId),
-      WaitForShow(PageInfoMerchantTrustContentView::kElementIdForTesting));
-}
-
-IN_PROC_BROWSER_TEST_P(MerchantTrustChipButtonInteractiveUITest,
-                       MerchantTrustChipOmniboxEdit) {
-  if (!GetParam()) {
-    return;
-  }
-  RunTestSequence(InstrumentTab(kWebContentsElementId),
-                  NavigateWebContents(kWebContentsElementId, GetURL()),
-                  // The merchant chip is shown.
-                  WaitForShow(kMerchantTrustChipElementId),
-                  // Start typing.
-                  EnterText(kOmniboxElementId, u"query"),
-                  // The chip is hidden while typing.
-                  WaitForHide(kMerchantTrustChipElementId),
-                  // Note: SendAccelerator doesn't work here.
-                  // Clear the input.
-                  SendKeyPress(ui::VKEY_ESCAPE, false, false),
-                  // Exit the editing mode.
-                  SendKeyPress(ui::VKEY_ESCAPE, false, false),
-                  // The merchant chip is shown again.
-                  WaitForShow(kMerchantTrustChipElementId));
-}
-
-IN_PROC_BROWSER_TEST_P(MerchantTrustChipButtonInteractiveUITest,
-                       LocationBarIconClick) {
-  if (!GetParam()) {
-    return;
-  }
-  RunTestSequence(InstrumentTab(kWebContentsElementId),
-                  NavigateWebContents(kWebContentsElementId, GetURL()),
-                  WaitForShow(kMerchantTrustChipElementId),
-                  PressButton(kLocationIconElementId),
-                  WaitForShow(PageInfoMainView::kMerchantTrustElementId),
-                  EnsurePresent(kMerchantTrustChipElementId));
-}
-
-IN_PROC_BROWSER_TEST_P(MerchantTrustChipButtonInteractiveUITest,
-                       PermissionRequestOverridesChip) {
-  if (!GetParam()) {
-    return;
-  }
-  RunTestSequence(
-      InstrumentTab(kWebContentsElementId),
-      NavigateWebContents(kWebContentsElementId, GetURL()),
-      // The merchant chip is shown.
-      WaitForShow(kMerchantTrustChipElementId),
-      // ...and the permission indicator is not.
-      EnsureNotPresent(PermissionChipView::kPermissionRequestChipElementId),
-      // Request notifications.
-      ExecuteJs(kWebContentsElementId, "requestNotification"),
-      // Make sure the request chip is visible.
-      WaitForShow(PermissionChipView::kPermissionRequestChipElementId),
-      // ...and the merchant chip is not.
-      WaitForHide(kMerchantTrustChipElementId),
-      // Make sure the permission popup bubble is visible.
-      WaitForShow(PermissionPromptBubbleBaseView::kMainViewId),
-      PressButton(PermissionChipView::kPermissionRequestChipElementId),
-      WaitForHide(PermissionPromptBubbleBaseView::kMainViewId),
-      // The permission chip is hidden since the permission request
-      // was dismissed...
-      WaitForHide(PermissionChipView::kPermissionRequestChipElementId),
-      // ...and the merchant chip is visible again.
-      WaitForShow(kMerchantTrustChipElementId));
-}
-
-IN_PROC_BROWSER_TEST_P(MerchantTrustChipButtonInteractiveUITest,
-                       PermissionInUseOverridesChip) {
-  if (!GetParam()) {
-    return;
-  }
-  SetPermission(ContentSettingsType::MEDIASTREAM_CAMERA, CONTENT_SETTING_ALLOW);
-
-  RunTestSequence(InstrumentTab(kWebContentsElementId),
-                  NavigateWebContents(kWebContentsElementId, GetURL()),
-                  // The merchant chip is shown...
-                  WaitForShow(kMerchantTrustChipElementId),
-                  // ...and the permission indicator is not.
-                  EnsureNotPresent(PermissionChipView::kIndicatorChipElementId),
-                  // Requesting to use the camera (camera is in-use now).
-                  ExecuteJs(kWebContentsElementId, "requestCamera"),
-                  // Make sure the in-use indicator is visible...
-                  WaitForShow(PermissionChipView::kIndicatorChipElementId),
-                  // ...and the merchant chip is not.
-                  WaitForHide(kMerchantTrustChipElementId));
-}
-
-IN_PROC_BROWSER_TEST_P(MerchantTrustChipButtonInteractiveUITest,
-                       AnimateOnlyOncePerTab) {
-  if (!GetParam()) {
-    return;
-  }
-  RunTestSequence(
-      InstrumentTab(kWebContentsElementId),
-      NavigateWebContents(kWebContentsElementId, GetURL()),
-      // The merchant chip is shown and expanded.
-      WaitForShow(kMerchantTrustChipElementId),
-      WaitForEvent(kMerchantTrustChipElementId, kOmniboxChipButtonExpanded),
-      // Animation was recorded.
-      WasChipAnimatedForWebContents(kWebContentsElementId, true),
-      // Switch to the second tab.
-      AddInstrumentedTab(kSecondWebContentsElementId, GetAnotherURL()),
-      // The merchant chip is hidden - no merchant trust data for the tab and no
-      // animation.
-      WaitForHide(kMerchantTrustChipElementId),
-      WasChipAnimatedForWebContents(kSecondWebContentsElementId, false),
-      // Switch to the first one, the chip was already animated.
-      SelectTab(kTabStripElementId, 0),
-      WasChipAnimatedForWebContents(kWebContentsElementId, true),
-      // The merchant chip is shown again for the first tab but not expanded.
-      WaitForShow(kMerchantTrustChipElementId), IsChipFullyCollapsed(true));
... (truncated)
Loading diff…

Original Bug Report

The reporter's bug is still restricted on the tracker. Chrome de-restricts security bugs ~30–90 days after the fix ships; a later run will backfill it here.