[IOS][Code Health] Move popup_menu to ui_bundled

Fixed: 324232765
Change-Id: Iec4fb3806880e15327a49ad519a1a1e531795626
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388346
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Commit-Queue: Ameur Hosni <ameurhosni@google.com>
Cr-Commit-Position: refs/heads/main@{#1437540}
diff --git a/ios/chrome/browser/DEPS b/ios/chrome/browser/DEPS
index 09d5264..80383b6a 100644
--- a/ios/chrome/browser/DEPS
+++ b/ios/chrome/browser/DEPS
@@ -201,7 +201,7 @@
   "+ios/chrome/grit",
 
   # Temporary, remove when upstream updated
-  "+ios/chrome/browser/ui/popup_menu/popup_menu_constants.h",
+  "+ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h",
   "+ios/chrome/browser/ui/page_info/features.h",
   "+ios/chrome/browser/ui/page_info/page_info_app_interface.h",
 ]
diff --git a/ios/chrome/browser/badges/ui_bundled/DEPS b/ios/chrome/browser/badges/ui_bundled/DEPS
index 37994a8..b96e309 100644
--- a/ios/chrome/browser/badges/ui_bundled/DEPS
+++ b/ios/chrome/browser/badges/ui_bundled/DEPS
@@ -1,6 +1,6 @@
 include_rules = [
   "+ios/chrome/browser/infobars/model",
   "+ios/chrome/browser/overlays/model/public",
-  "+ios/chrome/browser/ui/popup_menu/public",
+  "+ios/chrome/browser/popup_menu/ui_bundled/public",
   "+ios/chrome/browser/fullscreen/ui_bundled/fullscreen_ui_element.h",
 ]
diff --git a/ios/chrome/browser/bookmarks/ui_bundled/BUILD.gn b/ios/chrome/browser/bookmarks/ui_bundled/BUILD.gn
index dbc3748..83b55eb8 100644
--- a/ios/chrome/browser/bookmarks/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/bookmarks/ui_bundled/BUILD.gn
@@ -146,9 +146,9 @@
     "//ios/chrome/browser/authentication/ui_bundled/signin:constants",
     "//ios/chrome/browser/bookmarks/model:bookmark_storage_type",
     "//ios/chrome/browser/policy/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/signin/model:fake_system_identity",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:launch_configuration",
@@ -179,11 +179,11 @@
     "//components/strings",
     "//ios/chrome/browser/bookmarks/model",
     "//ios/chrome/browser/bookmarks/ui_bundled/home",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/shared/model/profile",
     "//ios/chrome/browser/signin/model:fake_system_identity",
     "//ios/chrome/browser/sync/model",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/app:test_support",
     "//ios/testing:nserror_support",
     "//ios/testing/earl_grey:eg_app_support+eg2",
@@ -211,9 +211,9 @@
     "//components/strings",
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/bookmarks/model:bookmark_storage_type",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/shared/ui/table_view:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/bookmarks/ui_bundled/DEPS b/ios/chrome/browser/bookmarks/ui_bundled/DEPS
index d3a7728b..e123a27 100644
--- a/ios/chrome/browser/bookmarks/ui_bundled/DEPS
+++ b/ios/chrome/browser/bookmarks/ui_bundled/DEPS
@@ -3,7 +3,7 @@
   "+ios/chrome/browser/sync/model",
   "+ios/chrome/browser/authentication/ui_bundled",
   "+ios/chrome/browser/ui/legacy_bookmarks",
-  "+ios/chrome/browser/ui/popup_menu/popup_menu_constants.h",
+  "+ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h",
   "+ios/chrome/browser/keyboard/ui_bundled",
   "+ios/chrome/browser/incognito_reauth/ui_bundled",
   "+ios/chrome/browser/menu/ui_bundled",
diff --git a/ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey_ui.mm b/ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey_ui.mm
index 0ec938a1..01053e6 100644
--- a/ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey_ui.mm
+++ b/ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey_ui.mm
@@ -12,9 +12,9 @@
 #import "components/strings/grit/components_strings.h"
 #import "ios/chrome/browser/bookmarks/model/bookmark_storage_type.h"
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_ui_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/shared/ui/table_view/table_view_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_egtest.mm b/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_egtest.mm
index 04d3034..65f0ce7 100644
--- a/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_egtest.mm
+++ b/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_egtest.mm
@@ -12,8 +12,8 @@
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey.h"
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey_ui.h"
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_ui_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_entries_egtest.mm b/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_entries_egtest.mm
index 23b5ec3..615db88 100644
--- a/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_entries_egtest.mm
+++ b/ios/chrome/browser/bookmarks/ui_bundled/bookmarks_entries_egtest.mm
@@ -14,7 +14,7 @@
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey.h"
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey_ui.h"
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_ui_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
diff --git a/ios/chrome/browser/browser_view/ui_bundled/BUILD.gn b/ios/chrome/browser/browser_view/ui_bundled/BUILD.gn
index d679830a..96d65462 100644
--- a/ios/chrome/browser/browser_view/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/browser_view/ui_bundled/BUILD.gn
@@ -173,6 +173,8 @@
     "//ios/chrome/browser/plus_addresses/coordinator",
     "//ios/chrome/browser/plus_addresses/ui",
     "//ios/chrome/browser/policy/model:policy_util",
+    "//ios/chrome/browser/popup_menu/ui_bundled",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
     "//ios/chrome/browser/prefs/model",
     "//ios/chrome/browser/prerender/model",
     "//ios/chrome/browser/presenters/ui_bundled",
@@ -250,8 +252,6 @@
     "//ios/chrome/browser/translate/model",
     "//ios/chrome/browser/ui/content_suggestions",
     "//ios/chrome/browser/ui/content_suggestions:content_suggestions_constant",
-    "//ios/chrome/browser/ui/popup_menu",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
     "//ios/chrome/browser/unit_conversion/ui_bundled:coordinator",
     "//ios/chrome/browser/url_loading/model",
     "//ios/chrome/browser/url_loading/model:new_tab_animation_tab_helper",
@@ -358,6 +358,7 @@
     "//ios/chrome/browser/ntp/ui_bundled:coordinator",
     "//ios/chrome/browser/omnibox/model/omnibox_position",
     "//ios/chrome/browser/policy/model:policy_util",
+    "//ios/chrome/browser/popup_menu/ui_bundled",
     "//ios/chrome/browser/prerender/model",
     "//ios/chrome/browser/prerender/model:test_support",
     "//ios/chrome/browser/reading_list/model",
@@ -390,7 +391,6 @@
     "//ios/chrome/browser/tips_manager/model:factory",
     "//ios/chrome/browser/toolbar/ui_bundled:coordinator",
     "//ios/chrome/browser/toolbar/ui_bundled/test",
-    "//ios/chrome/browser/ui/popup_menu",
     "//ios/chrome/browser/url_loading/model",
     "//ios/chrome/browser/url_loading/model:new_tab_animation_tab_helper",
     "//ios/chrome/browser/view_source/model",
@@ -429,12 +429,12 @@
     "//base/test:test_support",
     "//components/strings",
     "//ios/chrome/app/strings",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/start_surface/ui_bundled:feature_flags",
     "//ios/chrome/browser/ui/content_suggestions:constants",
     "//ios/chrome/browser/ui/content_suggestions:eg_test_support+eg2",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/browser_view/ui_bundled/DEPS b/ios/chrome/browser/browser_view/ui_bundled/DEPS
index 3ecb9561..0536276 100644
--- a/ios/chrome/browser/browser_view/ui_bundled/DEPS
+++ b/ios/chrome/browser/browser_view/ui_bundled/DEPS
@@ -111,6 +111,8 @@
   "+ios/chrome/browser/webui",
   "+ios/chrome/browser/whats_new/coordinator",
   "+ios/chrome/browser/window_activities/model/window_activity_helpers.h",
+  "+ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h",
+  "+ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h",
 ]
 
 specific_include_rules = {
diff --git a/ios/chrome/browser/browser_view/ui_bundled/browser_coordinator.mm b/ios/chrome/browser/browser_view/ui_bundled/browser_coordinator.mm
index b82ff0f..802a5780 100644
--- a/ios/chrome/browser/browser_view/ui_bundled/browser_coordinator.mm
+++ b/ios/chrome/browser/browser_view/ui_bundled/browser_coordinator.mm
@@ -141,6 +141,7 @@
 #import "ios/chrome/browser/phone_number/ui_bundled/add_contacts_coordinator.h"
 #import "ios/chrome/browser/phone_number/ui_bundled/country_code_picker_coordinator.h"
 #import "ios/chrome/browser/plus_addresses/coordinator/plus_address_bottom_sheet_coordinator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h"
 #import "ios/chrome/browser/prerender/model/preload_controller_delegate.h"
 #import "ios/chrome/browser/prerender/model/prerender_service.h"
 #import "ios/chrome/browser/prerender/model/prerender_service_factory.h"
@@ -258,7 +259,6 @@
 #import "ios/chrome/browser/toolbar/ui_bundled/accessory/toolbar_accessory_presenter.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/toolbar_coordinator.h"
 #import "ios/chrome/browser/translate/model/chrome_ios_translate_client.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h"
 #import "ios/chrome/browser/unit_conversion/ui_bundled/unit_conversion_coordinator.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_browser_agent.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_notifier_browser_agent.h"
diff --git a/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller.mm b/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller.mm
index 4663e5e..dac5cca 100644
--- a/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller.mm
+++ b/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller.mm
@@ -47,6 +47,8 @@
 #import "ios/chrome/browser/ntp/model/new_tab_page_util.h"
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_coordinator.h"
 #import "ios/chrome/browser/omnibox/public/omnibox_ui_features.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h"
 #import "ios/chrome/browser/reading_list/model/reading_list_browser_agent.h"
 #import "ios/chrome/browser/shared/model/application_context/application_context.h"
 #import "ios/chrome/browser/shared/model/url/chrome_url_constants.h"
@@ -82,8 +84,6 @@
 #import "ios/chrome/browser/toolbar/ui_bundled/fullscreen/toolbars_size_broadcasting_util.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/toolbar_coordinator.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_browser_agent.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_params.h"
 #import "ios/chrome/browser/web/model/page_placeholder_browser_agent.h"
diff --git a/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller_unittest.mm b/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller_unittest.mm
index 01f4421..e31b6d1 100644
--- a/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller_unittest.mm
+++ b/ios/chrome/browser/browser_view/ui_bundled/browser_view_controller_unittest.mm
@@ -38,6 +38,7 @@
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_component_factory.h"
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_coordinator.h"
 #import "ios/chrome/browser/omnibox/model/omnibox_position/omnibox_position_browser_agent.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h"
 #import "ios/chrome/browser/search_engines/model/template_url_service_factory.h"
 #import "ios/chrome/browser/segmentation_platform/model/segmentation_platform_service_factory.h"
 #import "ios/chrome/browser/sessions/model/ios_chrome_tab_restore_service_factory.h"
@@ -72,7 +73,6 @@
 #import "ios/chrome/browser/tabs/ui_bundled/foreground_tab_animation_view.h"
 #import "ios/chrome/browser/tips_manager/model/tips_manager_ios_factory.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/toolbar_coordinator.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h"
 #import "ios/chrome/browser/url_loading/model/new_tab_animation_tab_helper.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_notifier_browser_agent.h"
 #import "ios/chrome/browser/web/model/page_placeholder_browser_agent.h"
diff --git a/ios/chrome/browser/download/coordinator/activities/BUILD.gn b/ios/chrome/browser/download/coordinator/activities/BUILD.gn
index ce04046c..f998209d 100644
--- a/ios/chrome/browser/download/coordinator/activities/BUILD.gn
+++ b/ios/chrome/browser/download/coordinator/activities/BUILD.gn
@@ -12,9 +12,9 @@
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/download/coordinator/activities/resources",
     "//ios/chrome/browser/download/model",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public:ui",
     "//ios/chrome/browser/shared/public/commands",
     "//ios/chrome/browser/shared/ui/symbols",
-    "//ios/chrome/browser/ui/popup_menu/public:popup_menu_ui",
     "//ui/base",
   ]
   frameworks = [ "UIKit.framework" ]
diff --git a/ios/chrome/browser/feature_engagement/model/BUILD.gn b/ios/chrome/browser/feature_engagement/model/BUILD.gn
index ee0818ce..ca6c916 100644
--- a/ios/chrome/browser/feature_engagement/model/BUILD.gn
+++ b/ios/chrome/browser/feature_engagement/model/BUILD.gn
@@ -35,8 +35,8 @@
     "//base",
     "//components/feature_engagement/public",
     "//ios/chrome/app/strings",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/ui/table_view:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:switches",
diff --git a/ios/chrome/browser/feature_engagement/model/feature_engagement_egtest.mm b/ios/chrome/browser/feature_engagement/model/feature_engagement_egtest.mm
index edd4065..47e9306 100644
--- a/ios/chrome/browser/feature_engagement/model/feature_engagement_egtest.mm
+++ b/ios/chrome/browser/feature_engagement/model/feature_engagement_egtest.mm
@@ -8,8 +8,8 @@
 #import "base/strings/sys_string_conversions.h"
 #import "base/test/ios/wait_util.h"
 #import "components/feature_engagement/public/feature_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/ui/table_view/table_view_navigation_controller_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_branded_strings.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
diff --git a/ios/chrome/browser/find_bar/ui_bundled/BUILD.gn b/ios/chrome/browser/find_bar/ui_bundled/BUILD.gn
index 43abed6..8e6af6c 100644
--- a/ios/chrome/browser/find_bar/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/find_bar/ui_bundled/BUILD.gn
@@ -65,8 +65,8 @@
     "//base/test:test_support",
     "//components/strings",
     "//ios/chrome/browser/find_in_page/model:util",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/toolbar/ui_bundled/accessory:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//ios/web/public/test/http_server",
diff --git a/ios/chrome/browser/find_bar/ui_bundled/java_script_find_in_page_egtest.mm b/ios/chrome/browser/find_bar/ui_bundled/java_script_find_in_page_egtest.mm
index 41004f4..5f732a93 100644
--- a/ios/chrome/browser/find_bar/ui_bundled/java_script_find_in_page_egtest.mm
+++ b/ios/chrome/browser/find_bar/ui_bundled/java_script_find_in_page_egtest.mm
@@ -11,8 +11,8 @@
 #import "ios/chrome/browser/find_bar/ui_bundled/find_bar_constants.h"
 #import "ios/chrome/browser/find_bar/ui_bundled/java_script_find_in_page_controller_app_interface.h"
 #import "ios/chrome/browser/find_in_page/model/util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/accessory/toolbar_accessory_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
diff --git a/ios/chrome/browser/find_in_page/model/BUILD.gn b/ios/chrome/browser/find_in_page/model/BUILD.gn
index 23dc9af..afb3034 100644
--- a/ios/chrome/browser/find_in_page/model/BUILD.gn
+++ b/ios/chrome/browser/find_in_page/model/BUILD.gn
@@ -76,9 +76,9 @@
     ":eg_test_support+eg2",
     "//ios/chrome/browser/find_bar/ui_bundled:constants",
     "//ios/chrome/browser/find_in_page/model:util",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/shared/public/features",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//ios/web/public/test:element_selector",
diff --git a/ios/chrome/browser/find_in_page/model/find_in_page_egtest.mm b/ios/chrome/browser/find_in_page/model/find_in_page_egtest.mm
index e30aa6f..c612033b 100644
--- a/ios/chrome/browser/find_in_page/model/find_in_page_egtest.mm
+++ b/ios/chrome/browser/find_in_page/model/find_in_page_egtest.mm
@@ -6,8 +6,8 @@
 #import "ios/chrome/browser/find_bar/ui_bundled/find_bar_constants.h"
 #import "ios/chrome/browser/find_in_page/model/find_in_page_app_interface.h"
 #import "ios/chrome/browser/find_in_page/model/find_in_page_egtest_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
diff --git a/ios/chrome/browser/flags/BUILD.gn b/ios/chrome/browser/flags/BUILD.gn
index 2f8dff6..5700d63 100644
--- a/ios/chrome/browser/flags/BUILD.gn
+++ b/ios/chrome/browser/flags/BUILD.gn
@@ -87,6 +87,7 @@
     "//ios/chrome/browser/policy/model",
     "//ios/chrome/browser/policy/model:constants",
     "//ios/chrome/browser/policy/model:policy_util",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
     "//ios/chrome/browser/price_insights/model:feature",
     "//ios/chrome/browser/promos_manager/model:features",
     "//ios/chrome/browser/screen_time/model:buildflags",
@@ -100,7 +101,6 @@
     "//ios/chrome/browser/tabs/model/inactive_tabs:features",
     "//ios/chrome/browser/text_selection/model:model_utils",
     "//ios/chrome/browser/toolbar/ui_bundled/tab_groups:features_utils",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
     "//ios/chrome/browser/web/model:feature_flags",
     "//ios/chrome/browser/whats_new/coordinator:util",
     "//ios/components/security_interstitials/https_only_mode:feature",
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index 5ba35fb..4a54ca02d 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -95,6 +95,7 @@
 #import "ios/chrome/browser/omnibox/public/omnibox_ui_features.h"
 #import "ios/chrome/browser/page_info/ui_bundled/features.h"
 #import "ios/chrome/browser/policy/model/policy_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
 #import "ios/chrome/browser/price_insights/model/price_insights_feature.h"
 #import "ios/chrome/browser/promos_manager/model/features.h"
 #import "ios/chrome/browser/screen_time/model/screen_time_buildflags.h"
@@ -107,7 +108,6 @@
 #import "ios/chrome/browser/start_surface/ui_bundled/start_surface_features.h"
 #import "ios/chrome/browser/text_selection/model/text_selection_util.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/tab_groups/tab_group_indicator_features_utils.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
 #import "ios/chrome/browser/web/model/features.h"
 #import "ios/chrome/browser/whats_new/coordinator/whats_new_util.h"
 #import "ios/chrome/grit/ios_strings.h"
diff --git a/ios/chrome/browser/history/ui_bundled/BUILD.gn b/ios/chrome/browser/history/ui_bundled/BUILD.gn
index 61d9322..31029d3 100644
--- a/ios/chrome/browser/history/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/history/ui_bundled/BUILD.gn
@@ -185,12 +185,12 @@
     "//ios/chrome/browser/authentication/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/menu/ui_bundled:menu_action_type",
     "//ios/chrome/browser/metrics/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/settings/ui_bundled/cells:clear_browsing_data_constants",
     "//ios/chrome/browser/settings/ui_bundled/clear_browsing_data:features",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/shared/ui/table_view:constants",
     "//ios/chrome/browser/signin/model:fake_system_identity",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/common:string_util",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/history/ui_bundled/history_system_egtest.mm b/ios/chrome/browser/history/ui_bundled/history_system_egtest.mm
index 3ed90b3..5337c28a 100644
--- a/ios/chrome/browser/history/ui_bundled/history_system_egtest.mm
+++ b/ios/chrome/browser/history/ui_bundled/history_system_egtest.mm
@@ -17,11 +17,11 @@
 #import "ios/chrome/browser/history/ui_bundled/history_ui_constants.h"
 #import "ios/chrome/browser/menu/ui_bundled/menu_action_type.h"
 #import "ios/chrome/browser/metrics/model/metrics_app_interface.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/clear_browsing_data/features.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/shared/ui/table_view/table_view_constants.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/common/string_util.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
diff --git a/ios/chrome/browser/history/ui_bundled/history_ui_egtest.mm b/ios/chrome/browser/history/ui_bundled/history_ui_egtest.mm
index 63c0b0ff..0a66c036 100644
--- a/ios/chrome/browser/history/ui_bundled/history_ui_egtest.mm
+++ b/ios/chrome/browser/history/ui_bundled/history_ui_egtest.mm
@@ -14,11 +14,11 @@
 #import "ios/chrome/browser/history/ui_bundled/history_ui_constants.h"
 #import "ios/chrome/browser/menu/ui_bundled/menu_action_type.h"
 #import "ios/chrome/browser/metrics/model/metrics_app_interface.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/clear_browsing_data/features.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/shared/ui/table_view/table_view_constants.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/common/string_util.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_coordinator_app_interface.h"
diff --git a/ios/chrome/browser/infobars/ui_bundled/BUILD.gn b/ios/chrome/browser/infobars/ui_bundled/BUILD.gn
index 5212971..b4381a5 100644
--- a/ios/chrome/browser/infobars/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/infobars/ui_bundled/BUILD.gn
@@ -34,9 +34,9 @@
     "//ios/chrome/browser/infobars/ui_bundled:constants",
     "//ios/chrome/browser/infobars/ui_bundled/banners:public",
     "//ios/chrome/browser/infobars/ui_bundled/modals:public",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/model/url:constants",
     "//ios/chrome/browser/translate/model:eg_test_support+eg2",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/components/webui:url_constants",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/infobars/ui_bundled/translate_infobar_egtest.mm b/ios/chrome/browser/infobars/ui_bundled/translate_infobar_egtest.mm
index 9cd344d2..5a8115f 100644
--- a/ios/chrome/browser/infobars/ui_bundled/translate_infobar_egtest.mm
+++ b/ios/chrome/browser/infobars/ui_bundled/translate_infobar_egtest.mm
@@ -19,9 +19,9 @@
 #import "ios/chrome/browser/infobars/ui_bundled/infobar_constants.h"
 #import "ios/chrome/browser/infobars/ui_bundled/modals/infobar_modal_constants.h"
 #import "ios/chrome/browser/infobars/ui_bundled/modals/infobar_translate_modal_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/model/url/chrome_url_constants.h"
 #import "ios/chrome/browser/translate/model/translate_app_interface.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/keyboard/ui_bundled/BUILD.gn b/ios/chrome/browser/keyboard/ui_bundled/BUILD.gn
index f5d107c..5c3673a 100644
--- a/ios/chrome/browser/keyboard/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/keyboard/ui_bundled/BUILD.gn
@@ -36,8 +36,8 @@
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/bookmarks/ui_bundled:constants",
     "//ios/chrome/browser/bookmarks/ui_bundled:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/ui/table_view:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//net:test_support",
diff --git a/ios/chrome/browser/keyboard/ui_bundled/keyboard_commands_egtest.mm b/ios/chrome/browser/keyboard/ui_bundled/keyboard_commands_egtest.mm
index 4a0e7a8..1932370 100644
--- a/ios/chrome/browser/keyboard/ui_bundled/keyboard_commands_egtest.mm
+++ b/ios/chrome/browser/keyboard/ui_bundled/keyboard_commands_egtest.mm
@@ -6,8 +6,8 @@
 
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_earl_grey.h"
 #import "ios/chrome/browser/bookmarks/ui_bundled/bookmark_ui_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/ui/table_view/table_view_navigation_controller_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/ntp/ui_bundled/BUILD.gn b/ios/chrome/browser/ntp/ui_bundled/BUILD.gn
index ff2a2963..584af1cd 100644
--- a/ios/chrome/browser/ntp/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/ntp/ui_bundled/BUILD.gn
@@ -407,11 +407,11 @@
     "//ios/chrome/browser/ntp/ui_bundled:constants",
     "//ios/chrome/browser/ntp/ui_bundled:feature_flags",
     "//ios/chrome/browser/policy/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/settings/ui_bundled/google_services:constants",
     "//ios/chrome/browser/shared/model/url:constants",
     "//ios/chrome/browser/signin/model:fake_system_identity",
     "//ios/chrome/browser/ui/content_suggestions:content_suggestions_constant",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//net:test_support",
diff --git a/ios/chrome/browser/ntp/ui_bundled/new_tab_page_egtest.mm b/ios/chrome/browser/ntp/ui_bundled/new_tab_page_egtest.mm
index 13dc0cb..b0fde4c 100644
--- a/ios/chrome/browser/ntp/ui_bundled/new_tab_page_egtest.mm
+++ b/ios/chrome/browser/ntp/ui_bundled/new_tab_page_egtest.mm
@@ -15,11 +15,11 @@
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_constants.h"
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_feature.h"
 #import "ios/chrome/browser/policy/model/policy_earl_grey_utils.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/google_services/manage_sync_settings_constants.h"
 #import "ios/chrome/browser/shared/model/url/chrome_url_constants.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/page_info/ui_bundled/BUILD.gn b/ios/chrome/browser/page_info/ui_bundled/BUILD.gn
index 776e27ee..e047321c 100644
--- a/ios/chrome/browser/page_info/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/page_info/ui_bundled/BUILD.gn
@@ -32,6 +32,7 @@
     "//ios/chrome/browser/permissions/ui_bundled",
     "//ios/chrome/browser/permissions/ui_bundled:constants",
     "//ios/chrome/browser/permissions/ui_bundled:permission_info",
+    "//ios/chrome/browser/popup_menu/ui_bundled",
     "//ios/chrome/browser/settings/ui_bundled/cells",
     "//ios/chrome/browser/settings/ui_bundled/privacy:ui",
     "//ios/chrome/browser/shared/model/url:constants",
@@ -41,7 +42,6 @@
     "//ios/chrome/browser/shared/ui/table_view",
     "//ios/chrome/browser/shared/ui/table_view:utils",
     "//ios/chrome/browser/shared/ui/util",
-    "//ios/chrome/browser/ui/popup_menu",
     "//ios/chrome/common:string_util",
     "//ios/chrome/common/ui/colors",
     "//ios/chrome/common/ui/table_view:cells_constants",
diff --git a/ios/chrome/browser/policy/model/BUILD.gn b/ios/chrome/browser/policy/model/BUILD.gn
index 47bdaf3..2008c68 100644
--- a/ios/chrome/browser/policy/model/BUILD.gn
+++ b/ios/chrome/browser/policy/model/BUILD.gn
@@ -319,6 +319,7 @@
     "//ios/chrome/browser/ntp/ui_bundled:constants",
     "//ios/chrome/browser/ntp/ui_bundled:feature_flags",
     "//ios/chrome/browser/policy/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/settings/ui_bundled:constants",
     "//ios/chrome/browser/settings/ui_bundled:settings_root_constants",
     "//ios/chrome/browser/settings/ui_bundled/autofill:constants",
@@ -336,7 +337,6 @@
     "//ios/chrome/browser/toolbar/ui_bundled/public:constants",
     "//ios/chrome/browser/translate/model:eg_test_support+eg2",
     "//ios/chrome/browser/ui/content_suggestions:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/common/ui/confirmation_alert:constants",
     "//ios/chrome/common/ui/table_view:cells_constants",
     "//ios/chrome/test:eg_test_support+eg2",
diff --git a/ios/chrome/browser/policy/model/policy_egtest.mm b/ios/chrome/browser/policy/model/policy_egtest.mm
index 360a8d2..dd5c5eb8a 100644
--- a/ios/chrome/browser/policy/model/policy_egtest.mm
+++ b/ios/chrome/browser/policy/model/policy_egtest.mm
@@ -23,6 +23,7 @@
 #import "ios/chrome/browser/policy/model/cloud/user_policy_constants.h"
 #import "ios/chrome/browser/policy/model/policy_app_interface.h"
 #import "ios/chrome/browser/policy/model/policy_earl_grey_utils.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/autofill/autofill_settings_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/elements/elements_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/language/language_settings_ui_constants.h"
@@ -38,7 +39,6 @@
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
 #import "ios/chrome/browser/translate/model/translate_app_interface.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/common/ui/table_view/table_view_cells_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
diff --git a/ios/chrome/browser/policy/model/policy_incognito_mode_availability_egtest.mm b/ios/chrome/browser/policy/model/policy_incognito_mode_availability_egtest.mm
index 525025c8..7128549 100644
--- a/ios/chrome/browser/policy/model/policy_incognito_mode_availability_egtest.mm
+++ b/ios/chrome/browser/policy/model/policy_incognito_mode_availability_egtest.mm
@@ -9,9 +9,9 @@
 #import "ios/chrome/browser/metrics/model/metrics_app_interface.h"
 #import "ios/chrome/browser/policy/model/policy_app_interface.h"
 #import "ios/chrome/browser/policy/model/policy_earl_grey_matchers.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_metrics.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/toolbar_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/BUILD.gn
index 71557ba..dd86a5668 100644
--- a/ios/chrome/browser/popup_menu/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/popup_menu/ui_bundled/BUILD.gn
@@ -1,8 +1,224 @@
-# Copyright 2024 The Chromium Authors
+# Copyright 2016 The Chromium Authors
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+source_set("ui_bundled") {
+  sources = [
+    "popup_menu_action_handler.h",
+    "popup_menu_action_handler.mm",
+    "popup_menu_action_handler_delegate.h",
+    "popup_menu_coordinator.h",
+    "popup_menu_coordinator.mm",
+    "popup_menu_help_coordinator.h",
+    "popup_menu_help_coordinator.mm",
+    "popup_menu_mediator.h",
+    "popup_menu_mediator.mm",
+  ]
+  deps = [
+    ":constants",
+    "//base",
+    "//components/bookmarks/browser",
+    "//components/bookmarks/common",
+    "//components/feature_engagement/public",
+    "//components/language/ios/browser",
+    "//components/open_from_clipboard",
+    "//components/prefs",
+    "//components/prefs/ios",
+    "//components/profile_metrics",
+    "//components/reading_list/core",
+    "//components/segmentation_platform/embedder/default_model",
+    "//components/segmentation_platform/public",
+    "//components/send_tab_to_self",
+    "//components/translate/core/browser",
+    "//ios/chrome/app:tests_hook",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/browser/bookmarks/model",
+    "//ios/chrome/browser/bookmarks/ui_bundled:core",
+    "//ios/chrome/browser/browser_container/ui_bundled",
+    "//ios/chrome/browser/browser_container/ui_bundled:ui",
+    "//ios/chrome/browser/bubble/ui_bundled",
+    "//ios/chrome/browser/commerce/model/push_notification",
+    "//ios/chrome/browser/default_browser/model:utils",
+    "//ios/chrome/browser/feature_engagement/model",
+    "//ios/chrome/browser/find_in_page/model",
+    "//ios/chrome/browser/follow/model:browser_agent",
+    "//ios/chrome/browser/follow/model:enums",
+    "//ios/chrome/browser/follow/model:tab_helper",
+    "//ios/chrome/browser/follow/model:utils",
+    "//ios/chrome/browser/iph_for_new_chrome_user/model",
+    "//ios/chrome/browser/lens/ui_bundled:lens_entrypoint",
+    "//ios/chrome/browser/lens_overlay/coordinator:lens_overlay_availability",
+    "//ios/chrome/browser/ntp/shared/metrics",
+    "//ios/chrome/browser/overlays/model",
+    "//ios/chrome/browser/overlays/model/public/web_content_area",
+    "//ios/chrome/browser/policy/model",
+    "//ios/chrome/browser/policy/model:policy_util",
+    "//ios/chrome/browser/popup_menu/ui_bundled:metrics_protocols",
+    "//ios/chrome/browser/popup_menu/ui_bundled/cells",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:overflow_menu_constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:overflow_menu_swift",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public:ui",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public/cells",
+    "//ios/chrome/browser/popup_menu/ui_bundled/resources",
+    "//ios/chrome/browser/presenters/ui_bundled",
+    "//ios/chrome/browser/promos_manager/model:factory",
+    "//ios/chrome/browser/reading_list/model",
+    "//ios/chrome/browser/reading_list/ui_bundled:coordinator",
+    "//ios/chrome/browser/search_engines/model",
+    "//ios/chrome/browser/search_engines/model:search_engines_util",
+    "//ios/chrome/browser/segmentation_platform/model",
+    "//ios/chrome/browser/settings/model/sync/utils:identity_error_util",
+    "//ios/chrome/browser/shared/coordinator/chrome_coordinator",
+    "//ios/chrome/browser/shared/coordinator/default_browser_promo",
+    "//ios/chrome/browser/shared/coordinator/layout_guide",
+    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
+    "//ios/chrome/browser/shared/model/application_context",
+    "//ios/chrome/browser/shared/model/browser",
+    "//ios/chrome/browser/shared/model/profile",
+    "//ios/chrome/browser/shared/model/url:constants",
+    "//ios/chrome/browser/shared/model/web_state_list",
+    "//ios/chrome/browser/shared/public/commands",
+    "//ios/chrome/browser/shared/public/features",
+    "//ios/chrome/browser/shared/public/features:system_flags",
+    "//ios/chrome/browser/shared/ui/list_model",
+    "//ios/chrome/browser/shared/ui/symbols",
+    "//ios/chrome/browser/shared/ui/util",
+    "//ios/chrome/browser/shared/ui/util:util_swift",
+    "//ios/chrome/browser/signin/model:authentication_service",
+    "//ios/chrome/browser/signin/model:authentication_service_factory",
+    "//ios/chrome/browser/supervised_user/model",
+    "//ios/chrome/browser/sync/model",
+    "//ios/chrome/browser/translate/model",
+    "//ios/chrome/browser/ui/content_suggestions/cells:constants",
+    "//ios/chrome/browser/url_loading/model",
+    "//ios/chrome/browser/web/model",
+    "//ios/chrome/browser/web/model:feature_flags",
+    "//ios/chrome/browser/web/model/font_size",
+    "//ios/chrome/browser/window_activities/model",
+    "//ios/chrome/common/ui/colors",
+    "//ios/components/webui:url_constants",
+    "//ios/public/provider/chrome/browser/lens:lens_api",
+    "//ios/public/provider/chrome/browser/text_zoom:text_zoom_api",
+    "//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
+    "//ios/third_party/material_components_ios",
+    "//ios/web",
+    "//ios/web/common",
+    "//ios/web/common:user_agent",
+    "//ui/base",
+  ]
+  frameworks = [ "UIKit.framework" ]
+}
+
 source_set("constants") {
-  sources = [ "popup_menu_constants.h" ]
-  public_deps = [ "//ios/chrome/browser/ui/popup_menu:constants" ]
+  sources = [
+    "popup_menu_constants.h",
+    "popup_menu_constants.mm",
+  ]
+}
+
+source_set("metrics_protocols") {
+  sources = [ "popup_menu_metrics_handler.h" ]
+}
+
+source_set("unit_tests") {
+  testonly = true
+
+  sources = [
+    "popup_menu_help_coordinator_unittest.mm",
+    "popup_menu_mediator_unittest.mm",
+  ]
+  deps = [
+    ":constants",
+    ":ui_bundled",
+    "//base",
+    "//base/test:test_support",
+    "//components/bookmarks/browser",
+    "//components/bookmarks/common",
+    "//components/bookmarks/test",
+    "//components/feature_engagement/test:test_support",
+    "//components/language/ios/browser",
+    "//components/language_detection/core",
+    "//components/password_manager/core/browser:test_support",
+    "//components/prefs",
+    "//components/prefs:test_support",
+    "//components/reading_list/core",
+    "//components/translate/core/browser",
+    "//components/translate/core/language_detection",
+    "//ios/chrome/app/application_delegate:app_state",
+    "//ios/chrome/browser/bookmarks/model",
+    "//ios/chrome/browser/bookmarks/model:test_support",
+    "//ios/chrome/browser/default_browser/model:test_support",
+    "//ios/chrome/browser/feature_engagement/model",
+    "//ios/chrome/browser/overlays/model",
+    "//ios/chrome/browser/overlays/model/public/web_content_area",
+    "//ios/chrome/browser/overlays/model/test",
+    "//ios/chrome/browser/passwords/model:store_factory",
+    "//ios/chrome/browser/policy/model",
+    "//ios/chrome/browser/policy/model:test_support",
+    "//ios/chrome/browser/popup_menu/ui_bundled/cells",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public:ui",
+    "//ios/chrome/browser/reading_list/model",
+    "//ios/chrome/browser/reading_list/model:test_support",
+    "//ios/chrome/browser/search_engines/model:template_url_service_factory",
+    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
+    "//ios/chrome/browser/shared/model/browser/test:test_support",
+    "//ios/chrome/browser/shared/model/prefs:browser_prefs",
+    "//ios/chrome/browser/shared/model/profile/test",
+    "//ios/chrome/browser/shared/model/web_state_list",
+    "//ios/chrome/browser/shared/public/commands",
+    "//ios/chrome/browser/shared/public/features",
+    "//ios/chrome/browser/shared/ui/symbols",
+    "//ios/chrome/browser/shared/ui/util",
+    "//ios/chrome/browser/toolbar/ui_bundled:coordinator",
+    "//ios/chrome/browser/toolbar/ui_bundled/test",
+    "//ios/chrome/browser/web/model",
+    "//ios/chrome/browser/web/model:feature_flags",
+    "//ios/chrome/browser/web/model:web_internal",
+    "//ios/chrome/browser/web/model/font_size",
+    "//ios/chrome/test:test_support",
+    "//ios/public/provider/chrome/browser/text_zoom:text_zoom_api",
+    "//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
+    "//ios/web",
+    "//ios/web/public/test",
+    "//ios/web/public/test/fakes",
+    "//testing/gmock",
+    "//testing/gtest",
+    "//third_party/ocmock",
+    "//ui/base:base",
+  ]
+}
+
+source_set("eg2_tests") {
+  configs += [ "//build/config/ios:xctest_config" ]
+  testonly = true
+  sources = [
+    "popup_menu_egtest.mm",
+    "request_desktop_mobile_site_egtest.mm",
+  ]
+  deps = [
+    ":constants",
+    "//base/test:test_support",
+    "//components/feature_engagement/public",
+    "//components/strings",
+    "//components/version_info",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/browser/bubble/ui_bundled:constants",
+    "//ios/chrome/browser/find_in_page/model:util",
+    "//ios/chrome/browser/settings/ui_bundled:constants",
+    "//ios/chrome/browser/shared/public/features",
+    "//ios/chrome/test:eg_test_support+eg2",
+    "//ios/chrome/test/earl_grey:eg_test_support+eg2",
+    "//ios/chrome/test/earl_grey:switches",
+    "//ios/testing/earl_grey:eg_test_support+eg2",
+    "//ios/web/common:features",
+    "//ios/web/common:user_agent",
+    "//ios/web/public/test/http_server:http_server",
+    "//net",
+    "//ui/base",
+  ]
+  frameworks = [ "UIKit.framework" ]
 }
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/DEPS b/ios/chrome/browser/popup_menu/ui_bundled/DEPS
new file mode 100644
index 0000000..3957699
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/DEPS
@@ -0,0 +1,78 @@
+include_rules = [
+  "+ios/chrome/browser/browser_container/ui_bundled",
+  "+ios/chrome/browser/bookmarks/ui_bundled",
+  "+ios/chrome/browser/bubble/ui_bundled",
+  "+ios/chrome/browser/lens/ui_bundled/lens_entrypoint.h",
+  "+ios/chrome/browser/ntp/shared/metrics/feed_metrics_recorder.h",
+  "+ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_constants.h",
+  "+ios/chrome/browser/reading_list/ui_bundled",
+  "+ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/features.h",
+  "+ios/chrome/browser/ui/whats_new/whats_new_util.h",
+  "+ios/chrome/browser/presenters/ui_bundled",
+  "+ios/chrome/browser/keyboard/ui_bundled/UIKeyCommand+Chrome.h",
+  "+ios/chrome/browser/settings/ui_bundled",
+  "+ios/chrome/browser/sharing/ui_bundled",
+  "+ios/chrome/browser/tab_switcher/ui_bundled/tab_utils.h",
+  "+ios/chrome/browser/policy/ui_bundled/user_policy_util.h",
+  "+ios/chrome/browser/settings/ui_bundled/clear_browsing_data/features.h",
+  "+ios/chrome/browser/follow/model/follow_action_state.h",
+  "+ios/chrome/browser/bookmarks/model/bookmark_model_bridge_observer.h",
+  "+ios/chrome/browser/commerce/model/push_notification/push_notification_feature.h",
+  "+ios/chrome/browser/default_browser/model/default_browser_interest_signals.h",
+  "+ios/chrome/browser/find_in_page/model/abstract_find_tab_helper.h",
+  "+ios/chrome/browser/follow/model/follow_browser_agent.h",
+  "+ios/chrome/browser/follow/model/follow_menu_updater.h",
+  "+ios/chrome/browser/follow/model/follow_tab_helper.h",
+  "+ios/chrome/browser/follow/model/follow_util.h",
+  "+ios/chrome/browser/intents/model/intents_donation_helper.h",
+  "+ios/chrome/browser/iph_for_new_chrome_user/model/tab_based_iph_browser_agent.h",
+  "+ios/chrome/browser/lens_overlay/coordinator/lens_overlay_availability.h",
+  "+ios/chrome/browser/overlays/model/public/overlay_presenter.h",
+  "+ios/chrome/browser/overlays/model/public/overlay_presenter_observer_bridge.h",
+  "+ios/chrome/browser/overlays/model/public/overlay_request.h",
+  "+ios/chrome/browser/policy/model/browser_policy_connector_ios.h",
+  "+ios/chrome/browser/policy/model/policy_util.h",
+  "+ios/chrome/browser/reading_list/model/offline_url_utils.h",
+  "+ios/chrome/browser/search_engines/model/search_engine_observer_bridge.h",
+  "+ios/chrome/browser/search_engines/model/search_engines_util.h",
+  "+ios/chrome/browser/settings/model/sync/utils/identity_error_util.h",
+  "+ios/chrome/browser/supervised_user/model/supervised_user_capabilities.h",
+  "+ios/chrome/browser/translate/model/chrome_ios_translate_client.h",
+  "+ios/chrome/browser/web/model/font_size/font_size_tab_helper.h",
+  "+ios/chrome/browser/web/model/web_navigation_browser_agent.h",
+  "+ios/chrome/browser/whats_new/coordinator/whats_new_util.h",
+  "+ios/chrome/browser/window_activities/model/window_activity_helpers.h",
+  "+ios/chrome/browser/commerce/model/push_notification/push_notification_feature.h",
+  "+ios/chrome/browser/whats_new/coordinator/whats_new_util.h",
+  "+ios/chrome/browser/bookmarks/model/bookmark_model_factory.h",
+  "+ios/chrome/browser/feature_engagement/model/tracker_factory.h",
+  "+ios/chrome/browser/promos_manager/model/promos_manager_factory.h",
+  "+ios/chrome/browser/reading_list/model/reading_list_browser_agent.h",
+  "+ios/chrome/browser/reading_list/model/reading_list_model_factory.h",
+  "+ios/chrome/browser/search_engines/model/template_url_service_factory.h",
+  "+ios/chrome/browser/signin/model/authentication_service.h",
+  "+ios/chrome/browser/signin/model/authentication_service_factory.h",
+  "+ios/chrome/browser/supervised_user/model/supervised_user_service_factory.h",
+  "+ios/chrome/browser/sync/model/sync_service_factory.h",
+  "+ios/chrome/browser/url_loading/model/url_loading_browser_agent.h",
+  "+ios/chrome/browser/default_browser/model/utils.h",
+  "+ios/chrome/browser/iph_for_new_chrome_user/model/utils.h",
+  "+ios/chrome/browser/segmentation_platform/model/segmentation_platform_service_factory.h",
+  "+ios/chrome/browser/overlays/model/public/overlay_request_queue.h",
+  "+ios/chrome/browser/overlays/model/public/web_content_area/http_auth_overlay.h",
+  "+ios/chrome/browser/url_loading/model/image_search_param_generator.h",
+  "+ios/chrome/browser/url_loading/model/url_loading_params.h"
+]
+
+specific_include_rules = {
+  # web::HttpServer is deprecated in favor of net::EmbeddedTestServer.
+  # TODO:(crbug.com/891834) Remove this exception.
+  "popup_menu_egtest\.mm": [
+    "+ios/web/public/test/http_server",
+  ],
+  # web::HttpServer is deprecated in favor of net::EmbeddedTestServer.
+  # TODO:(crbug.com/891834) Remove this exception.
+  "request_desktop_mobile_site_egtest\.mm": [
+    "+ios/web/public/test/http_server",
+  ],
+}
diff --git a/ios/chrome/browser/ui/popup_menu/OWNERS b/ios/chrome/browser/popup_menu/ui_bundled/OWNERS
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/OWNERS
rename to ios/chrome/browser/popup_menu/ui_bundled/OWNERS
diff --git a/ios/chrome/browser/ui/popup_menu/cells/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/cells/BUILD.gn
similarity index 82%
rename from ios/chrome/browser/ui/popup_menu/cells/BUILD.gn
rename to ios/chrome/browser/popup_menu/ui_bundled/cells/BUILD.gn
index bed6aa0..33b2656 100644
--- a/ios/chrome/browser/ui/popup_menu/cells/BUILD.gn
+++ b/ios/chrome/browser/popup_menu/ui_bundled/cells/BUILD.gn
@@ -11,11 +11,11 @@
   ]
   deps = [
     "//base",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public:ui_constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public/cells",
     "//ios/chrome/browser/reading_list/ui_bundled:ui",
     "//ios/chrome/browser/shared/ui/table_view:styler",
     "//ios/chrome/browser/shared/ui/table_view/cells",
-    "//ios/chrome/browser/ui/popup_menu/public:ui_constants",
-    "//ios/chrome/browser/ui/popup_menu/public/cells",
     "//ios/chrome/common:string_util",
     "//ios/chrome/common:timing",
     "//ios/chrome/common/ui/util",
diff --git a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.h b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.h
similarity index 76%
rename from ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.h
rename to ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.h
index d3c6039..1171045 100644
--- a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.h
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_CELLS_POPUP_MENU_TEXT_ITEM_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_CELLS_POPUP_MENU_TEXT_ITEM_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_CELLS_POPUP_MENU_TEXT_ITEM_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_CELLS_POPUP_MENU_TEXT_ITEM_H_
 
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h"
 #import "ios/chrome/browser/shared/ui/table_view/cells/table_view_item.h"
-#import "ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h"
 
 // A non interactable textual item. The text wraps a leading image and
 // description message.
@@ -36,4 +36,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_CELLS_POPUP_MENU_TEXT_ITEM_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_CELLS_POPUP_MENU_TEXT_ITEM_H_
diff --git a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.mm b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.mm
similarity index 97%
rename from ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.mm
index 676f5bd..a5a7f856 100644
--- a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.mm
@@ -2,16 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.h"
 
 #import <stdlib.h>
 
 #import "base/apple/foundation_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/number_badge_view.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/text_badge_view.h"
 #import "ios/chrome/browser/shared/ui/table_view/legacy_chrome_table_view_styler.h"
 #import "ios/chrome/browser/shared/ui/util/uikit_ui_util.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h"
 #import "ios/chrome/common/material_timing.h"
 #import "ios/chrome/common/string_util.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
diff --git a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.h
similarity index 87%
rename from ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h
rename to ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.h
index e76e660..ce2d1cd 100644
--- a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.h
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_CELLS_POPUP_MENU_TOOLS_ITEM_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_CELLS_POPUP_MENU_TOOLS_ITEM_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_CELLS_POPUP_MENU_TOOLS_ITEM_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_CELLS_POPUP_MENU_TOOLS_ITEM_H_
 
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h"
 #import "ios/chrome/browser/shared/ui/table_view/cells/table_view_item.h"
-#import "ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h"
 
 // Item for a tools menu item.
 @interface PopupMenuToolsItem : TableViewItem <PopupMenuItem>
@@ -60,4 +60,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_CELLS_POPUP_MENU_TOOLS_ITEM_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_CELLS_POPUP_MENU_TOOLS_ITEM_H_
diff --git a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.mm b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.mm
index a272e03..0dc50a5e 100644
--- a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.mm
@@ -2,16 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.h"
 
 #import <stdlib.h>
 
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/number_badge_view.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/text_badge_view.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/shared/ui/table_view/legacy_chrome_table_view_styler.h"
 #import "ios/chrome/browser/shared/ui/util/uikit_ui_util.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h"
 #import "ios/chrome/common/material_timing.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
 #import "ios/chrome/common/ui/util/constraints_ui_util.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/BUILD.gn
similarity index 93%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/BUILD.gn
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/BUILD.gn
index 63e1244a..910553ce 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/BUILD.gn
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/BUILD.gn
@@ -63,6 +63,10 @@
     "//ios/chrome/browser/policy/model",
     "//ios/chrome/browser/policy/model:policy_util",
     "//ios/chrome/browser/policy/ui_bundled:user_policy_scene_agent",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled:metrics_protocols",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources",
     "//ios/chrome/browser/reading_list/model",
     "//ios/chrome/browser/reading_list/ui_bundled:coordinator",
     "//ios/chrome/browser/search_engines/model",
@@ -85,10 +89,6 @@
     "//ios/chrome/browser/supervised_user/model:capabilities",
     "//ios/chrome/browser/tab_switcher/ui_bundled:utils",
     "//ios/chrome/browser/translate/model",
-    "//ios/chrome/browser/ui/popup_menu:constants",
-    "//ios/chrome/browser/ui/popup_menu:metrics_protocols",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu/resources",
     "//ios/chrome/browser/web/model",
     "//ios/chrome/browser/web/model/font_size",
     "//ios/chrome/browser/whats_new/coordinator:util",
@@ -134,9 +134,9 @@
   deps = [
     "//base",
     "//ios/chrome/app/strings",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled:metrics_protocols",
     "//ios/chrome/browser/shared/ui/util:util_swiftui",
-    "//ios/chrome/browser/ui/popup_menu:constants",
-    "//ios/chrome/browser/ui/popup_menu:metrics_protocols",
     "//ios/chrome/common:timing",
     "//ios/chrome/common/ui/colors:swift",
     "//ui/base",
@@ -210,6 +210,9 @@
     "//ios/chrome/browser/passwords/model:store_factory",
     "//ios/chrome/browser/policy/model:constants",
     "//ios/chrome/browser/policy/model:test_support",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history",
     "//ios/chrome/browser/promos_manager/model:test_support",
     "//ios/chrome/browser/reading_list/model",
     "//ios/chrome/browser/reading_list/model:test_support",
@@ -233,9 +236,6 @@
     "//ios/chrome/browser/signin/model:test_support",
     "//ios/chrome/browser/supervised_user/model",
     "//ios/chrome/browser/toolbar/ui_bundled/test",
-    "//ios/chrome/browser/ui/popup_menu:constants",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history",
     "//ios/chrome/browser/web/model/font_size",
     "//ios/chrome/browser/whats_new/coordinator:util",
     "//ios/chrome/browser/whats_new/public:constants",
@@ -264,11 +264,11 @@
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/authentication/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/metrics/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/settings/ui_bundled/google_services:constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/signin/model:fake_system_identity",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/browser/whats_new/public:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:switches",
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/Color+overflow_menu.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/Color+overflow_menu.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/Color+overflow_menu.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/Color+overflow_menu.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/OWNERS b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/OWNERS
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/OWNERS
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/OWNERS
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/action_customization_model.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/action_customization_model.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/action_customization_model.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/action_customization_model.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/action_customization_model_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/action_customization_model_unittest.mm
similarity index 96%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/action_customization_model_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/action_customization_model_unittest.mm
index 477513b..7121a62 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/action_customization_model_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/action_customization_model_unittest.mm
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
 #import "testing/gtest_mac.h"
 #import "testing/platform_test.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_customization_model.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_customization_model.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_customization_model.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_customization_model.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_customization_model_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_customization_model_unittest.mm
similarity index 97%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_customization_model_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_customization_model_unittest.mm
index cd4124a..3907d4d 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_customization_model_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_customization_model_unittest.mm
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
 #import "testing/gtest_mac.h"
 #import "testing/platform_test.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_drag_handler.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_drag_handler.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_drag_handler.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_drag_handler.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_edit_button.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_edit_button.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_edit_button.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_edit_button.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/BUILD.gn
similarity index 68%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/BUILD.gn
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/BUILD.gn
index 3d32e3f..be05a42 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/BUILD.gn
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/BUILD.gn
@@ -8,10 +8,10 @@
   deps = [
     "//base",
     "//components/prefs",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:overflow_menu_constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:overflow_menu_swift",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:overflow_menu_constants",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:overflow_menu_swift",
   ]
 }
 
@@ -24,11 +24,11 @@
     "//base/test:test_support",
     "//components/prefs",
     "//components/prefs:test_support",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:overflow_menu_constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:overflow_menu_swift",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/shared/ui/symbols",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:overflow_menu_constants",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:overflow_menu_swift",
     "//testing/gmock",
     "//testing/gtest",
   ]
@@ -41,8 +41,8 @@
   deps = [
     ":destination_usage_history",
     "//components/feature_engagement/public",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:launch_configuration",
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h
new file mode 100644
index 0000000..70785135
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h
@@ -0,0 +1,12 @@
+// 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 IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_CONSTANTS_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_CONSTANTS_H_
+
+// `kNewDestinationsInsertionIndex` represents the index new destinations are
+// inserted into the current ranking.
+constexpr int kNewDestinationsInsertionIndex = 3;
+
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_CONSTANTS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.h
similarity index 84%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.h
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.h
index 4b824c0..c91337f 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_DESTINATION_USAGE_HISTORY_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_DESTINATION_USAGE_HISTORY_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_DESTINATION_USAGE_HISTORY_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_DESTINATION_USAGE_HISTORY_H_
 
 #import <UIKit/UIKit.h>
 
 #include "base/values.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 
 class PrefService;
 
@@ -85,4 +85,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_DESTINATION_USAGE_HISTORY_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_DESTINATION_USAGE_HISTORY_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.mm
similarity index 95%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.mm
index ab7a861..d858af7 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.h"
 
 #import <limits.h>
 
@@ -17,11 +17,11 @@
 #import "base/time/time.h"
 #import "components/prefs/pref_service.h"
 #import "components/prefs/scoped_user_pref_update.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
 
 namespace {
 // `kDataExpirationWindow` is the window of time (inclusive) that usage history
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history_egtest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history_egtest.mm
similarity index 99%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history_egtest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history_egtest.mm
index bd0981e..661112e 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history_egtest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history_egtest.mm
@@ -8,8 +8,8 @@
 #import "base/ios/ios_util.h"
 #import "base/strings/stringprintf.h"
 #import "components/feature_engagement/public/feature_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history_unittest.mm
similarity index 97%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history_unittest.mm
index 0a6df88f..6a96520 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.h"
 
 #import "base/strings/string_number_conversions.h"
 #import "base/strings/sys_string_conversions.h"
@@ -11,12 +11,12 @@
 #import "components/prefs/pref_registry_simple.h"
 #import "components/prefs/scoped_user_pref_update.h"
 #import "components/prefs/testing_pref_service.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
 #import "testing/platform_test.h"
 
 namespace {
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h
new file mode 100644
index 0000000..c80e0d0
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h
@@ -0,0 +1,16 @@
+// Copyright 2021 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_FEATURE_FLAGS_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_FEATURE_FLAGS_H_
+
+#include "base/feature_list.h"
+
+// Feature to enable the new overflow menu.
+BASE_DECLARE_FEATURE(kNewOverflowMenu);
+
+// Whether the NewOverflowMenu feature is enabled.
+bool IsNewOverflowMenuEnabled();
+
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_FEATURE_FLAGS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.mm
similarity index 83%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.mm
index 8a02ecb..5310383c 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
 
 #import "components/password_manager/core/common/password_manager_features.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/menu_customization_animation_id.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/menu_customization_animation_id.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/menu_customization_animation_id.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/menu_customization_animation_id.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/menu_customization_view.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/menu_customization_view.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/menu_customization_view.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/menu_customization_view.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_group.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_group.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_group.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_group.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_list.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_list.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_list.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_list.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_provider.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_provider.h
similarity index 72%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_provider.h
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_provider.h
index ca711c12..daa3da8e 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_provider.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_provider.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_ACTION_PROVIDER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_ACTION_PROVIDER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_ACTION_PROVIDER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_ACTION_PROVIDER_H_
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
 
 @class OverflowMenuAction;
 
@@ -30,4 +30,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_ACTION_PROVIDER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_ACTION_PROVIDER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_row.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_row.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_row.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_row.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_section.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_section.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_section.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_section.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_carousel_egtest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_carousel_egtest.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_carousel_egtest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_carousel_egtest.mm
index 1e002d50..6785a70 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_carousel_egtest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_carousel_egtest.mm
@@ -7,12 +7,12 @@
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey.h"
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey_ui_test_util.h"
 #import "ios/chrome/browser/metrics/model/metrics_app_interface.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/google_services/manage_sync_settings_constants.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/browser/whats_new/public/constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.cc b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.cc
similarity index 95%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.cc
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.cc
index f0091eb..e03fb98 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.cc
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
 
 #import "base/metrics/user_metrics.h"
 #import "base/metrics/user_metrics_action.h"
@@ -119,7 +119,7 @@
     NOTREACHED();
   }
 }
-// LINT.ThenChange(/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.cc:actionTypeToString)
+// LINT.ThenChange(/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.cc:actionTypeToString)
 
 // LINT.IfChange(actionTypeToString)
 std::string StringNameForActionType(ActionType action) {
@@ -164,7 +164,7 @@
       return "SetTabReminder";
   }
 }
-// LINT.ThenChange(/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.cc:stringToActionType)
+// LINT.ThenChange(/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.cc:stringToActionType)
 
 // WARNING - PLEASE READ: Sadly, we cannot switch over strings in C++, so be
 // very careful when updating this method to ensure all enums are accounted for.
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h
similarity index 87%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h
index 2937843..17f42200 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_CONSTANTS_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_CONSTANTS_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_CONSTANTS_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_CONSTANTS_H_
 
 #import <string>
 #import <vector>
@@ -76,4 +76,4 @@
 using DestinationRanking = std::vector<overflow_menu::Destination>;
 using ActionRanking = std::vector<overflow_menu::ActionType>;
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_CONSTANTS_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_CONSTANTS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants_unittest.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants_unittest.mm
index b2ed79915..2db9a3d0 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
 
 #import "testing/gtest_mac.h"
 #import "testing/platform_test.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_container_view.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_container_view.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_container_view.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_container_view.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_destination.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_destination.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_destination.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_destination.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_destination_list.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_destination_list.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_destination_list.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_destination_list.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_destination_view.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_destination_view.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_destination_view.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_destination_view.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_footer.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_footer.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_footer.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_footer.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_footer_row.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_footer_row.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_footer_row.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_footer_row.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_hosting_controller.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_hosting_controller.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_hosting_controller.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_hosting_controller.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_item.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_item.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_item.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_item.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_list_style.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_list_style.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_list_style.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_list_style.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.h
similarity index 92%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.h
index 6533034..8855da5 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.h
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_MEDIATOR_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_MEDIATOR_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_MEDIATOR_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_MEDIATOR_H_
 
 #import <UIKit/UIKit.h>
 
 #import "ios/chrome/browser/browser_container/ui_bundled/browser_container_consumer.h"
 #import "ios/chrome/browser/follow/model/follow_action_state.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_provider.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_provider.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 
 namespace bookmarks {
 class BookmarkModel;
@@ -155,4 +155,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_MEDIATOR_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_MEDIATOR_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.mm
index ed76294..9e444cc 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.h"
 
 #import "base/ios/ios_util.h"
 #import "base/metrics/histogram_functions.h"
@@ -50,6 +50,14 @@
 #import "ios/chrome/browser/policy/model/browser_policy_connector_ios.h"
 #import "ios/chrome/browser/policy/model/policy_util.h"
 #import "ios/chrome/browser/policy/ui_bundled/user_policy_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/reading_list/model/offline_url_utils.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_utils.h"
 #import "ios/chrome/browser/search_engines/model/search_engine_observer_bridge.h"
@@ -86,14 +94,6 @@
 #import "ios/chrome/browser/supervised_user/model/supervised_user_capabilities.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_utils.h"
 #import "ios/chrome/browser/translate/model/chrome_ios_translate_client.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/browser/web/model/font_size/font_size_tab_helper.h"
 #import "ios/chrome/browser/web/model/web_navigation_browser_agent.h"
 #import "ios/chrome/browser/whats_new/coordinator/whats_new_util.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator_unittest.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator_unittest.mm
index d5cf584e..afd0403 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.h"
 
 #import "base/files/scoped_temp_dir.h"
 #import "base/ios/ios_util.h"
@@ -52,6 +52,11 @@
 #import "ios/chrome/browser/passwords/model/ios_chrome_profile_password_store_factory.h"
 #import "ios/chrome/browser/policy/model/cloud/user_policy_constants.h"
 #import "ios/chrome/browser/policy/model/enterprise_policy_test_helper.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled//overflow_menu/overflow_menu_orderer.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/promos_manager/model/mock_promos_manager.h"
 #import "ios/chrome/browser/reading_list/model/reading_list_model_factory.h"
 #import "ios/chrome/browser/reading_list/model/reading_list_test_utils.h"
@@ -78,11 +83,6 @@
 #import "ios/chrome/browser/signin/model/system_identity_manager.h"
 #import "ios/chrome/browser/supervised_user/model/supervised_user_service_factory.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/test/toolbar_test_navigation_manager.h"
-#import "ios/chrome/browser/ui/popup_menu//overflow_menu/overflow_menu_orderer.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/browser/web/model/font_size/font_size_java_script_feature.h"
 #import "ios/chrome/browser/web/model/font_size/font_size_tab_helper.h"
 #import "ios/chrome/browser/whats_new/coordinator/whats_new_util.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h
similarity index 95%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h
index ca38bbcb..4d0d0ef 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_METRICS_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_METRICS_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_METRICS_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_METRICS_H_
 
 #import <Foundation/Foundation.h>
 
@@ -192,4 +192,4 @@
                              NSArray<NSNumber*>* items,
                              int visibleItemCount);
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_METRICS_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_METRICS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.mm
similarity index 95%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.mm
index 4ee85e3..a094aa1 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.mm
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h"
 
 #import "base/metrics/histogram_functions.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 
 IOSOverflowMenuDestination HistogramDestinationFromDestination(
     overflow_menu::Destination destination) {
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics_unittest.mm
similarity index 93%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics_unittest.mm
index d539de0..750afb4 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics_unittest.mm
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h"
 
 #import <Foundation/Foundation.h>
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 #import "testing/gtest_mac.h"
 #import "testing/platform_test.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_model.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_model.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_model.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_model.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.h
similarity index 92%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.h
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.h
index 8e11c2c..1a732a2 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_ORDERER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_ORDERER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_ORDERER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_ORDERER_H_
 
 #import <UIKit/UIKit.h>
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
 
 namespace overflow_menu {
 enum class Destination;
@@ -131,4 +131,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_ORDERER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_ORDERER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.mm
index cd472a3a..4409eb61 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.h"
 
 #import <unordered_set>
 
@@ -12,15 +12,15 @@
 #import "components/prefs/pref_service.h"
 #import "components/prefs/scoped_user_pref_update.h"
 #import "ios/chrome/browser/commerce/model/push_notification/push_notification_feature.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/destination_usage_history.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_provider.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_backed_boolean.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
 #import "ios/chrome/browser/shared/public/features/system_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/destination_usage_history.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_provider.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
 #import "ios/chrome/browser/whats_new/coordinator/whats_new_util.h"
 
 namespace {
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer_unittest.mm
similarity index 99%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer_unittest.mm
index ce847f70..f99b1ec 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.h"
 
 #import "base/strings/string_number_conversions.h"
 #import "base/test/metrics/histogram_tester.h"
@@ -10,13 +10,13 @@
 #import "base/values.h"
 #import "components/prefs/pref_registry_simple.h"
 #import "components/prefs/testing_pref_service.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history/constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_provider.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_provider.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
 #import "ios/web/public/test/web_task_environment.h"
 #import "testing/gtest_mac.h"
 #import "testing/platform_test.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_row_icon.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_row_icon.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_row_icon.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_row_icon.swift
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift_bridge.h b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift_bridge.h
new file mode 100644
index 0000000..fcd3630d
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift_bridge.h
@@ -0,0 +1,22 @@
+// Copyright 2022 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_SWIFT_BRIDGE_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_SWIFT_BRIDGE_H_
+
+// Bridging header between Swift and Obj-C. These types/imports need to be pure
+// Obj-C and have no C++ in them.
+
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_metrics_handler.h"
+#import "ios/chrome/common/material_timing.h"
+#import "ios/chrome/grit/ios_strings.h"
+
+// Explicitly import the bridging header of the Swift dependencies, as the
+// implicit import of these bridging header is deprecated and will be removed in
+// a later version of Swift.
+#import "ios/chrome/common/ui/colors/swift_bridge.h"
+#import "ui/base/l10n/l10n_util_mac_bridge.h"
+
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_OVERFLOW_MENU_OVERFLOW_MENU_SWIFT_BRIDGE_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_ui_configuration.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_ui_configuration.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_ui_configuration.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_ui_configuration.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_view.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_view.swift
similarity index 97%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_view.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_view.swift
index 09d5a18..b2c74ae 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_view.swift
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_view.swift
@@ -45,7 +45,7 @@
       }
       .background(Color(.systemGroupedBackground).edgesIgnoringSafeArea(.all))
       .onPreferenceChange(OverflowMenuDestinationList.HighlightedDestinationBounds.self) { pref in
-          highlightedDestinationBounds = pref
+        highlightedDestinationBounds = pref
       }
       .onGeometryChange(for: CGRect?.self) { proxy in
         if let highlightedDestinationBounds = highlightedDestinationBounds {
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_view_provider.swift b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_view_provider.swift
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_view_provider.swift
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_view_provider.swift
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/Contents.json
similarity index 77%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/Contents.json
index ec3ed356..3e4e7ce 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/Contents.json
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/Contents.json
@@ -2,12 +2,37 @@
   "images" : [
     {
       "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
       "filename" : "overflow_menu_footer_family_link@2x.png",
+      "idiom" : "universal",
       "scale" : "2x"
     },
     {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "overflow_menu_footer_family_link_dark@2x.png",
       "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
       "filename" : "overflow_menu_footer_family_link@3x.png",
+      "idiom" : "universal",
       "scale" : "3x"
     },
     {
@@ -17,19 +42,8 @@
           "value" : "dark"
         }
       ],
-      "idiom" : "universal",
-      "filename" : "overflow_menu_footer_family_link_dark@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "idiom" : "universal",
       "filename" : "overflow_menu_footer_family_link_dark@3x.png",
+      "idiom" : "universal",
       "scale" : "3x"
     }
   ],
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link_dark@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/Contents.json
similarity index 76%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/Contents.json
index 4f2a425..934ecd0 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/Contents.json
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/Contents.json
@@ -2,12 +2,37 @@
   "images" : [
     {
       "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
       "filename" : "overflow_menu_footer_managed@2x.png",
+      "idiom" : "universal",
       "scale" : "2x"
     },
     {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "overflow_menu_footer_managed_dark@2x.png",
       "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
       "filename" : "overflow_menu_footer_managed@3x.png",
+      "idiom" : "universal",
       "scale" : "3x"
     },
     {
@@ -17,19 +42,8 @@
           "value" : "dark"
         }
       ],
-      "idiom" : "universal",
-      "filename" : "overflow_menu_footer_managed_dark@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "idiom" : "universal",
       "filename" : "overflow_menu_footer_managed_dark@3x.png",
+      "idiom" : "universal",
       "scale" : "3x"
     }
   ],
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/Assets.xcassets/overflow_menu_footer_managed.imageset/overflow_menu_footer_managed_dark@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/BUILD.gn
similarity index 94%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/BUILD.gn
rename to ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/BUILD.gn
index cf428616..d4c3bca 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/BUILD.gn
+++ b/ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/resources/BUILD.gn
@@ -8,7 +8,6 @@
   catalog = "Assets.xcassets"
   sources = [
     "Assets.xcassets/Contents.json",
-    "Assets.xcassets/destination_highlight_color.colorset/Contents.json",
     "Assets.xcassets/overflow_menu_footer_family_link.imageset/Contents.json",
     "Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@2x.png",
     "Assets.xcassets/overflow_menu_footer_family_link.imageset/overflow_menu_footer_family_link@3x.png",
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.h b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.h
similarity index 84%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.h
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.h
index 58fe547..fe7afbe 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_ACTION_HANDLER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_ACTION_HANDLER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_ACTION_HANDLER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_ACTION_HANDLER_H_
 
 #import <UIKit/UIKit.h>
 
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller_delegate.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller_delegate.h"
 
 @protocol ApplicationCommands;
 @protocol BookmarksCommands;
@@ -54,4 +54,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_ACTION_HANDLER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_ACTION_HANDLER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.mm
similarity index 95%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.mm
index 4731ee4b..a1c4056 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.h"
 
 #import "base/check.h"
 #import "base/feature_list.h"
@@ -12,6 +12,9 @@
 #import "base/notreached.h"
 #import "base/strings/sys_string_conversions.h"
 #import "components/open_from_clipboard/clipboard_recent_content.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler_delegate.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.h"
 #import "ios/chrome/browser/shared/model/url/chrome_url_constants.h"
 #import "ios/chrome/browser/shared/public/commands/application_commands.h"
 #import "ios/chrome/browser/shared/public/commands/bookmarks_commands.h"
@@ -26,9 +29,6 @@
 #import "ios/chrome/browser/shared/public/commands/qr_scanner_commands.h"
 #import "ios/chrome/browser/shared/public/commands/text_zoom_commands.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_action_handler_delegate.h"
-#import "ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.h"
 #import "ios/chrome/browser/web/model/web_navigation_browser_agent.h"
 #import "ios/chrome/browser/window_activities/model/window_activity_helpers.h"
 #import "ios/web/public/web_state.h"
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler_delegate.h b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler_delegate.h
similarity index 76%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_action_handler_delegate.h
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler_delegate.h
index e8c3387..0fd435ea 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler_delegate.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler_delegate.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_ACTION_HANDLER_DELEGATE_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_ACTION_HANDLER_DELEGATE_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_ACTION_HANDLER_DELEGATE_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_ACTION_HANDLER_DELEGATE_H_
 
 #import <UIKit/UIKit.h>
 
@@ -29,4 +29,4 @@
 - (web::WebState*)currentWebState;
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_ACTION_HANDLER_DELEGATE_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_ACTION_HANDLER_DELEGATE_H_
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h
index 39f1b01..27fea1d 100644
--- a/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h
@@ -1,10 +1,92 @@
-// Copyright 2024 The Chromium Authors
+// Copyright 2018 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
 #ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_CONSTANTS_H_
 #define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_CONSTANTS_H_
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
+#import <Foundation/Foundation.h>
+
+// Accessibility IDs for the table view in various kinds of popup menus.
+extern NSString* const kPopupMenuToolsMenuTableViewId;
+extern NSString* const kPopupMenuToolsMenuActionListId;
+
+// Accessibility IDs for the Tools Menu items.
+// Downloads item accessibility Identifier.
+extern NSString* const kToolsMenuDownloadsId;
+// Reload item accessibility Identifier.
+extern NSString* const kToolsMenuReload;
+// Stop item accessibility Identifier.
+extern NSString* const kToolsMenuStop;
+// New Tab item accessibility Identifier.
+extern NSString* const kToolsMenuNewTabId;
+// New Tab item accessibility Identifier.
+extern NSString* const kToolsMenuNewWindowId;
+// New incognito Tab item accessibility Identifier.
+extern NSString* const kToolsMenuNewIncognitoTabId;
+// Follow item accessibility Identifier.
+extern NSString* const kToolsMenuFollowId;
+// Bookmarks item accessibility Identifier.
+extern NSString* const kToolsMenuBookmarksId;
+// Reading List item accessibility Identifier.
+extern NSString* const kToolsMenuReadingListId;
+// Other Devices item accessibility Identifier.
+extern NSString* const kToolsMenuOtherDevicesId;
+// History item accessibility Identifier.
+extern NSString* const kToolsMenuHistoryId;
+// Passwords item accessibility Identifier.
+extern NSString* const kToolsMenuPasswordsId;
+// Report an issue item accessibility Identifier.
+extern NSString* const kToolsMenuReportAnIssueId;
+// Translate item accessibility Identifier.
+extern NSString* const kToolsMenuTranslateId;
+// Find in Page item accessibility Identifier.
+extern NSString* const kToolsMenuFindInPageId;
+// Request desktop item accessibility Identifier.
+extern NSString* const kToolsMenuRequestDesktopId;
+// Settings item accessibility Identifier.
+extern NSString* const kToolsMenuSettingsId;
+// Settings action item accessibility Identifier.
+extern NSString* const kToolsMenuSettingsActionId;
+// Help item accessibility Identifier.
+extern NSString* const kToolsMenuHelpId;
+// Request mobile item accessibility Identifier.
+extern NSString* const kToolsMenuRequestMobileId;
+// ReadLater item accessibility Identifier.
+extern NSString* const kToolsMenuReadLater;
+// AddBookmark item accessibility Identifier.
+extern NSString* const kToolsMenuAddToBookmarks;
+// Open lens overlay item accessibility Identifier.
+extern NSString* const kToolsMenuOpenLensOverlay;
+// Open ai prototype item accessibility Identifier.
+extern NSString* const kToolsMenuOpenAIPrototype;
+// EditBookmark item accessibility Identifier.
+extern NSString* const kToolsMenuEditBookmark;
+// SiteInformation item accessibility Identifier.
+extern NSString* const kToolsMenuSiteInformation;
+// Incognito Search item accessibility Identifier.
+extern NSString* const kToolsMenuIncognitoSearch;
+// Text Zoom item accessibility identifier.
+extern NSString* const kToolsMenuTextZoom;
+// Text Enterprise info item accessibility identifier.
+extern NSString* const kTextMenuEnterpriseInfo;
+// Text Family Link info item accessibility identifier.
+extern NSString* const kTextMenuFamilyLinkInfo;
+// Follow item accessibility Identifier.
+extern NSString* const kToolsMenuFollow;
+// Unfollow item accessibility Identifier.
+extern NSString* const kToolsMenuUnfollow;
+// Clear Browsing Data item accessibility identifier.
+extern NSString* const kToolsMenuClearBrowsingData;
+// Set Tab Reminder item accessibility Identifier.
+extern NSString* const kToolsMenuSetTabReminder;
+// Share Chrome accessibility Identifier.
+extern NSString* const kToolsMenuShareChromeId;
+// WhatsNew item accessibility Identifier.
+extern NSString* const kToolsMenuWhatsNewId;
+// Open Price Notifications accessibility Identifier.
+extern NSString* const kToolsMenuPriceNotifications;
+// Edit Actions item accessibility Identifier.
+extern NSString* const kToolsMenuEditActionsId;
 
 #endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_CONSTANTS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_constants.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.mm
similarity index 97%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_constants.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.mm
index 16658fde..a09de07 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_constants.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 
 NSString* const kPopupMenuToolsMenuTableViewId =
     @"kPopupMenuToolsMenuTableViewId";
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h
similarity index 82%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h
index dccac33..88c8daa 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_COORDINATOR_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_COORDINATOR_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_COORDINATOR_H_
 
 #import <UIKit/UIKit.h>
 
@@ -35,4 +35,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_COORDINATOR_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.mm
similarity index 96%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.mm
index f6bcade3..7100647f 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h"
 
 #import <MaterialComponents/MaterialSnackbar.h>
 
@@ -23,6 +23,19 @@
 #import "ios/chrome/browser/iph_for_new_chrome_user/model/tab_based_iph_browser_agent.h"
 #import "ios/chrome/browser/lens_overlay/coordinator/lens_overlay_availability.h"
 #import "ios/chrome/browser/overlays/model/public/overlay_presenter.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_mediator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_metrics.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_orderer.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_metrics_handler.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter_delegate.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.h"
 #import "ios/chrome/browser/presenters/ui_bundled/contained_presenter_delegate.h"
 #import "ios/chrome/browser/promos_manager/model/promos_manager_factory.h"
 #import "ios/chrome/browser/reading_list/model/reading_list_browser_agent.h"
@@ -66,19 +79,6 @@
 #import "ios/chrome/browser/signin/model/authentication_service_factory.h"
 #import "ios/chrome/browser/supervised_user/model/supervised_user_service_factory.h"
 #import "ios/chrome/browser/sync/model/sync_service_factory.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_metrics.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_orderer.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_mediator.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_metrics_handler.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter_delegate.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_browser_agent.h"
 #import "ios/chrome/browser/web/model/web_navigation_browser_agent.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_egtest.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_egtest.mm
similarity index 99%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_egtest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_egtest.mm
index 0448b83..d28b6e1 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_egtest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_egtest.mm
@@ -8,7 +8,7 @@
 #import "components/feature_engagement/public/feature_constants.h"
 #import "ios/chrome/browser/bubble/ui_bundled/bubble_constants.h"
 #import "ios/chrome/browser/find_in_page/model/util.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.h b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.h
similarity index 86%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.h
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.h
index 7ac175d..d425a1d 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_HELP_COORDINATOR_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_HELP_COORDINATOR_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_HELP_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_HELP_COORDINATOR_H_
 
 #import "ios/chrome/browser/shared/coordinator/chrome_coordinator/chrome_coordinator.h"
 
@@ -46,4 +46,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_HELP_COORDINATOR_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_HELP_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.mm
similarity index 97%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.mm
index 631c5c2..011bc58 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.h"
 
 #import "base/memory/raw_ptr.h"
 #import "base/strings/sys_string_conversions.h"
@@ -20,6 +20,11 @@
 #import "ios/chrome/browser/default_browser/model/utils.h"
 #import "ios/chrome/browser/feature_engagement/model/tracker_factory.h"
 #import "ios/chrome/browser/iph_for_new_chrome_user/model/utils.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_action_provider.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/overflow_menu_swift.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_updating.h"
 #import "ios/chrome/browser/segmentation_platform/model/segmentation_platform_service_factory.h"
 #import "ios/chrome/browser/settings/model/sync/utils/identity_error_util.h"
 #import "ios/chrome/browser/shared/coordinator/layout_guide/layout_guide_util.h"
@@ -31,11 +36,6 @@
 #import "ios/chrome/browser/shared/ui/util/uikit_ui_util.h"
 #import "ios/chrome/browser/shared/ui/util/util_swift.h"
 #import "ios/chrome/browser/sync/model/sync_service_factory.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_action_provider.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_updating.h"
 #import "ios/chrome/grit/ios_branded_strings.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator_unittest.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator_unittest.mm
index 3fcfbee3..39d0ac9 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_help_coordinator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_help_coordinator.h"
 
 #import "base/test/scoped_feature_list.h"
 #import "components/feature_engagement/test/mock_tracker.h"
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.h b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.h
similarity index 88%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_mediator.h
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.h
index adb99aa8..22cdd0a 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_MEDIATOR_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_MEDIATOR_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_MEDIATOR_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_MEDIATOR_H_
 
 #import <UIKit/UIKit.h>
 
 #import "ios/chrome/browser/browser_container/ui_bundled/browser_container_consumer.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_action_handler_delegate.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_updating.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_action_handler_delegate.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_updating.h"
 
 namespace bookmarks {
 class BookmarkModel;
@@ -80,4 +80,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_MEDIATOR_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_MEDIATOR_H_
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.mm
similarity index 98%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_mediator.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.mm
index 782bc276..3af31d4 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_mediator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.h"
 
 #import "base/apple/foundation_util.h"
 #import "base/check_op.h"
@@ -42,6 +42,11 @@
 #import "ios/chrome/browser/overlays/model/public/web_content_area/http_auth_overlay.h"
 #import "ios/chrome/browser/policy/model/browser_policy_connector_ios.h"
 #import "ios/chrome/browser/policy/model/policy_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_consumer.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_menu_notification_delegate.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_menu_notifier.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_utils.h"
@@ -60,11 +65,6 @@
 #import "ios/chrome/browser/shared/ui/util/uikit_ui_util.h"
 #import "ios/chrome/browser/translate/model/chrome_ios_translate_client.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.h"
-#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_consumer.h"
 #import "ios/chrome/browser/url_loading/model/image_search_param_generator.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_browser_agent.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_params.h"
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator_unittest.mm b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator_unittest.mm
similarity index 97%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_mediator_unittest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator_unittest.mm
index 4dd3663..1911d49 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator_unittest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_mediator.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_mediator.h"
 
 #import "base/files/scoped_temp_dir.h"
 #import "base/ios/ios_util.h"
@@ -35,6 +35,10 @@
 #import "ios/chrome/browser/overlays/model/test/fake_overlay_presentation_context.h"
 #import "ios/chrome/browser/passwords/model/ios_chrome_profile_password_store_factory.h"
 #import "ios/chrome/browser/policy/model/enterprise_policy_test_helper.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_text_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/cells/popup_menu_tools_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.h"
 #import "ios/chrome/browser/reading_list/model/reading_list_model_factory.h"
 #import "ios/chrome/browser/reading_list/model/reading_list_test_utils.h"
 #import "ios/chrome/browser/search_engines/model/template_url_service_factory.h"
@@ -46,10 +50,6 @@
 #import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/test/toolbar_test_navigation_manager.h"
-#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_text_item.h"
-#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.h"
 #import "ios/chrome/browser/web/model/font_size/font_size_java_script_feature.h"
 #import "ios/chrome/browser/web/model/font_size/font_size_tab_helper.h"
 #import "ios/public/provider/chrome/browser/text_zoom/text_zoom_api.h"
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_metrics_handler.h b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_metrics_handler.h
similarity index 81%
rename from ios/chrome/browser/ui/popup_menu/popup_menu_metrics_handler.h
rename to ios/chrome/browser/popup_menu/ui_bundled/popup_menu_metrics_handler.h
index 406683a..e76bf05 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_metrics_handler.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/popup_menu_metrics_handler.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_METRICS_HANDLER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_METRICS_HANDLER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_METRICS_HANDLER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_METRICS_HANDLER_H_
 
 // Protocol for informing the coordinator of metrics-trackable events that
 // happen in the view, so it can fire the correct metrics.
@@ -31,4 +31,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_METRICS_HANDLER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_POPUP_MENU_METRICS_HANDLER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/public/BUILD.gn
similarity index 80%
rename from ios/chrome/browser/ui/popup_menu/public/BUILD.gn
rename to ios/chrome/browser/popup_menu/ui_bundled/public/BUILD.gn
index ae631dd..14c2003b 100644
--- a/ios/chrome/browser/ui/popup_menu/public/BUILD.gn
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/BUILD.gn
@@ -8,7 +8,7 @@
   frameworks = [ "UIKit.framework" ]
 }
 
-source_set("popup_menu_ui") {
+source_set("ui") {
   sources = [
     "popup_menu_consumer.h",
     "popup_menu_presenter.h",
@@ -25,6 +25,11 @@
     ":ui_constants",
     "//base",
     "//ios/chrome/browser/keyboard/ui_bundled",
+    "//ios/chrome/browser/popup_menu/ui_bundled:metrics_protocols",
+    "//ios/chrome/browser/popup_menu/ui_bundled/cells",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public/",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public/cells",
     "//ios/chrome/browser/presenters/ui_bundled",
     "//ios/chrome/browser/reading_list/ui_bundled:reading_list_constants",
     "//ios/chrome/browser/shared/ui/resources",
@@ -32,11 +37,6 @@
     "//ios/chrome/browser/shared/ui/table_view:styler",
     "//ios/chrome/browser/shared/ui/util",
     "//ios/chrome/browser/shared/ui/util/image",
-    "//ios/chrome/browser/ui/popup_menu:metrics_protocols",
-    "//ios/chrome/browser/ui/popup_menu/cells",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
-    "//ios/chrome/browser/ui/popup_menu/public/",
-    "//ios/chrome/browser/ui/popup_menu/public/cells",
     "//ios/chrome/common",
     "//ios/chrome/common/ui/util",
     "//ui/base",
diff --git a/ios/chrome/browser/ui/popup_menu/public/cells/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/public/cells/BUILD.gn
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/public/cells/BUILD.gn
rename to ios/chrome/browser/popup_menu/ui_bundled/public/cells/BUILD.gn
diff --git a/ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.h b/ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.h
similarity index 62%
rename from ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.h
index b3112b6..c3deebc 100644
--- a/ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_CELLS_POPUP_MENU_FOOTER_ITEM_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_CELLS_POPUP_MENU_FOOTER_ITEM_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_CELLS_POPUP_MENU_FOOTER_ITEM_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_CELLS_POPUP_MENU_FOOTER_ITEM_H_
 
 #import "ios/chrome/browser/shared/ui/table_view/cells/table_view_header_footer_item.h"
 
@@ -17,4 +17,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_CELLS_POPUP_MENU_FOOTER_ITEM_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_CELLS_POPUP_MENU_FOOTER_ITEM_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.mm b/ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.mm
similarity index 95%
rename from ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.mm
index c54b271..af5d309 100644
--- a/ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.h"
 
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h b/ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h
similarity index 84%
rename from ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h
index f6688a81..c81d5fd 100644
--- a/ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_CELLS_POPUP_MENU_ITEM_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_CELLS_POPUP_MENU_ITEM_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_CELLS_POPUP_MENU_ITEM_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_CELLS_POPUP_MENU_ITEM_H_
 
 #import <UIKit/UIKit.h>
 
@@ -50,4 +50,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_CELLS_POPUP_MENU_ITEM_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_CELLS_POPUP_MENU_ITEM_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_consumer.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_consumer.h
similarity index 76%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_consumer.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_consumer.h
index c7ccca6..555ffcd2c 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_consumer.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_consumer.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_CONSUMER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_CONSUMER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_CONSUMER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_CONSUMER_H_
 
 #import <Foundation/Foundation.h>
 
@@ -26,4 +26,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_CONSUMER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_CONSUMER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.h
similarity index 66%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.h
index a968f023..5013762 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.h
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_PRESENTER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_PRESENTER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_PRESENTER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_PRESENTER_H_
 
 #import <UIKit/UIKit.h>
 
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter_delegate.h"
 #import "ios/chrome/browser/presenters/ui_bundled/contained_presenter.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter_delegate.h"
 
 // Presenter for the popup menu. It handles showing/dismissing a popup menu.
 @interface PopupMenuPresenter : NSObject <ContainedPresenter>
@@ -22,4 +22,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_PRESENTER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_PRESENTER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.mm b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.mm
similarity index 96%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.mm
index bdaa94dd..5c858dc 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.mm
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter.h"
 
 #import "base/check.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter_delegate.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller_delegate.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter_delegate.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller_delegate.h"
 #import "ios/chrome/common/material_timing.h"
 #import "ios/chrome/common/ui/util/constraints_ui_util.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter_delegate.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter_delegate.h
similarity index 72%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter_delegate.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter_delegate.h
index 6d27eda..aaec76795 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_presenter_delegate.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_presenter_delegate.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_PRESENTER_DELEGATE_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_PRESENTER_DELEGATE_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_PRESENTER_DELEGATE_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_PRESENTER_DELEGATE_H_
 
 #import "ios/chrome/browser/presenters/ui_bundled/contained_presenter_delegate.h"
 
@@ -20,4 +20,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_PRESENTER_DELEGATE_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_PRESENTER_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.h
similarity index 76%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.h
index e95413e..14f93c9 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.h
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_H_
 
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_consumer.h"
 #import "ios/chrome/browser/shared/ui/table_view/legacy_chrome_table_view_controller.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_consumer.h"
 
 @protocol PopupMenuItem;
 @protocol PopupMenuMetricsHandler;
@@ -36,4 +36,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.mm b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.mm
similarity index 94%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.mm
index 2e9a1b9..9315a037 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.mm
@@ -2,18 +2,18 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller.h"
 
 #import "base/ios/ios_util.h"
 #import "base/metrics/user_metrics.h"
 #import "base/metrics/user_metrics_action.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_metrics_handler.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_footer_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/cells/popup_menu_item.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller_delegate.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h"
 #import "ios/chrome/browser/shared/ui/table_view/legacy_chrome_table_view_styler.h"
 #import "ios/chrome/browser/shared/ui/util/uikit_ui_util.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_metrics_handler.h"
-#import "ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_footer_item.h"
-#import "ios/chrome/browser/ui/popup_menu/public/cells/popup_menu_item.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller_delegate.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
 #import "ios/chrome/common/ui/util/pointer_interaction_util.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller_delegate.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller_delegate.h
similarity index 68%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller_delegate.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller_delegate.h
index 887e0ba..237c3624 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_table_view_controller_delegate.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_table_view_controller_delegate.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_DELEGATE_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_DELEGATE_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_DELEGATE_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_DELEGATE_H_
 
 #import <Foundation/Foundation.h>
 
@@ -22,4 +22,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_DELEGATE_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_TABLE_VIEW_CONTROLLER_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h
similarity index 65%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h
index 90d11d27..08ebffa 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_UI_CONSTANTS_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_UI_CONSTANTS_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_UI_CONSTANTS_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_UI_CONSTANTS_H_
 
 #import <UIKit/UIKit.h>
 
@@ -15,4 +15,4 @@
 // Radius for the rounded corner of the popup menu.
 extern const CGFloat kPopupMenuCornerRadius;
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_UI_CONSTANTS_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_UI_CONSTANTS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.mm b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.mm
similarity index 77%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.mm
index af2ec02..900d562 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h"
 
 const CGFloat kSelectedItemBackgroundAlpha = 0.05;
 const CGFloat kHighlightAnimationDuration = 0.5;
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_updating.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_updating.h
similarity index 71%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_updating.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_updating.h
index 1e72e10..dbedaf01 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_updating.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_updating.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_UI_UPDATING_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_UI_UPDATING_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_UI_UPDATING_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_UI_UPDATING_H_
 
 #import <UIKit/UIKit.h>
 
@@ -19,4 +19,4 @@
 - (void)setOverflowMenuBlueDot:(BOOL)hasBlueDot;
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_UI_UPDATING_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_UI_UPDATING_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.h
similarity index 78%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.h
index be989c21..b65c2f8 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_H_
 
 #import <UIKit/UIKit.h>
 
@@ -28,4 +28,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.mm b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.mm
similarity index 93%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.mm
index 4155bdb..4247dcf 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.mm
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller.h"
 
 #import "base/metrics/user_metrics.h"
 #import "base/metrics/user_metrics_action.h"
 #import "ios/chrome/browser/keyboard/ui_bundled/UIKeyCommand+Chrome.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller_delegate.h"
 #import "ios/chrome/browser/shared/ui/util/accessibility_close_menu_button.h"
 #import "ios/chrome/browser/shared/ui/util/image/image_util.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller_delegate.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
 #import "ios/chrome/common/ui/util/constraints_ui_util.h"
 
diff --git a/ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller_delegate.h b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller_delegate.h
similarity index 69%
rename from ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller_delegate.h
rename to ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller_delegate.h
index 0b281af..6b499ae7 100644
--- a/ios/chrome/browser/ui/popup_menu/public/popup_menu_view_controller_delegate.h
+++ b/ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_view_controller_delegate.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_DELEGATE_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_DELEGATE_H_
+#ifndef IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_DELEGATE_H_
+#define IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_DELEGATE_H_
 
 @class PopupMenuViewController;
 
@@ -21,4 +21,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_DELEGATE_H_
+#endif  // IOS_CHROME_BROWSER_POPUP_MENU_UI_BUNDLED_PUBLIC_POPUP_MENU_VIEW_CONTROLLER_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/popup_menu/request_desktop_mobile_site_egtest.mm b/ios/chrome/browser/popup_menu/ui_bundled/request_desktop_mobile_site_egtest.mm
similarity index 99%
rename from ios/chrome/browser/ui/popup_menu/request_desktop_mobile_site_egtest.mm
rename to ios/chrome/browser/popup_menu/ui_bundled/request_desktop_mobile_site_egtest.mm
index 9e13ab9..6fec039 100644
--- a/ios/chrome/browser/ui/popup_menu/request_desktop_mobile_site_egtest.mm
+++ b/ios/chrome/browser/popup_menu/ui_bundled/request_desktop_mobile_site_egtest.mm
@@ -8,9 +8,9 @@
 #import "base/time/time.h"
 #import "components/strings/grit/components_strings.h"
 #import "components/version_info/version_info.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/settings_table_view_controller_constants.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_add_bookmark.imageset/popup_menu_add_bookmark@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_bookmarks.imageset/popup_menu_bookmarks@3x.png
Binary files differ
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_downloads.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_downloads.imageset/Contents.json
new file mode 100644
index 0000000..ee6924c
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_downloads.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "popup_menu_downloads@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "popup_menu_downloads@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_downloads.imageset/popup_menu_downloads@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_edit_bookmark.imageset/popup_menu_edit_bookmark@3x.png
Binary files differ
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/Contents.json
new file mode 100644
index 0000000..bfdedaa28
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "popup_menu_enterprise_icon@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "popup_menu_enterprise_icon@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/popup_menu_enterprise_icon@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_find_in_page.imageset/popup_menu_find_in_page@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_follow.imageset/popup_menu_follow@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_help.imageset/popup_menu_help@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_history.imageset/popup_menu_history@3x.png
Binary files differ
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/Contents.json
new file mode 100644
index 0000000..80c2979
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "popup_menu_new_incognito_tab@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "popup_menu_new_incognito_tab@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/popup_menu_new_incognito_tab@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_tab.imageset/popup_menu_new_tab@3x.png
Binary files differ
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_window.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_window.imageset/Contents.json
new file mode 100644
index 0000000..34b3f99
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_window.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "popup_menu_new_window@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "popup_menu_new_window@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_new_window.imageset/popup_menu_new_window@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_price_notifications.imageset/popup_menu_price_notifications@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_read_later.imageset/popup_menu_read_later@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reading_list.imageset/popup_menu_reading_list@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_recent_tabs.imageset/popup_menu_recent_tabs@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_reload.imageset/popup_menu_reload@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_report_an_issue.imageset/popup_menu_report_an_issue@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_desktop_site.imageset/popup_menu_request_desktop_site@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_request_mobile_site.imageset/popup_menu_request_mobile_site@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_settings.imageset/popup_menu_settings@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_site_information.imageset/popup_menu_site_information@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_stop.imageset/popup_menu_stop@3x.png
Binary files differ
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_text_zoom.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_text_zoom.imageset/Contents.json
new file mode 100644
index 0000000..767e0d5
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_text_zoom.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "popup_menu_text_zoom@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "popup_menu_text_zoom@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_text_zoom.imageset/popup_menu_text_zoom@3x.png
Binary files differ
diff --git a/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_translate.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_translate.imageset/Contents.json
new file mode 100644
index 0000000..6f1fa43
--- /dev/null
+++ b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_translate.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "popup_menu_translate@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "popup_menu_translate@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_translate.imageset/popup_menu_translate@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/Contents.json b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/Contents.json
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/Contents.json
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@2x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@2x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@2x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@2x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@3x.png b/ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@3x.png
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@3x.png
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/Assets.xcassets/popup_menu_unfollow.imageset/popup_menu_unfollow@3x.png
Binary files differ
diff --git a/ios/chrome/browser/ui/popup_menu/resources/BUILD.gn b/ios/chrome/browser/popup_menu/ui_bundled/resources/BUILD.gn
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/resources/BUILD.gn
rename to ios/chrome/browser/popup_menu/ui_bundled/resources/BUILD.gn
diff --git a/ios/chrome/browser/prerender/model/BUILD.gn b/ios/chrome/browser/prerender/model/BUILD.gn
index 62db4516..3bf60fcb 100644
--- a/ios/chrome/browser/prerender/model/BUILD.gn
+++ b/ios/chrome/browser/prerender/model/BUILD.gn
@@ -101,9 +101,9 @@
   deps = [
     "//build:branding_buildflags",
     "//components/version_info",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/ui/content_suggestions:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//ios/web/common:user_agent",
diff --git a/ios/chrome/browser/prerender/model/prerender_egtest.mm b/ios/chrome/browser/prerender/model/prerender_egtest.mm
index 92562e9..308ab90 100644
--- a/ios/chrome/browser/prerender/model/prerender_egtest.mm
+++ b/ios/chrome/browser/prerender/model/prerender_egtest.mm
@@ -11,9 +11,9 @@
 #import "base/test/ios/wait_util.h"
 #import "build/branding_buildflags.h"
 #import "components/version_info/version_info.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
diff --git a/ios/chrome/browser/reading_list/ui_bundled/BUILD.gn b/ios/chrome/browser/reading_list/ui_bundled/BUILD.gn
index 895d819..fbffbaeb 100644
--- a/ios/chrome/browser/reading_list/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/reading_list/ui_bundled/BUILD.gn
@@ -233,6 +233,7 @@
     "//ios/chrome/browser/authentication/ui_bundled:authentication_constants",
     "//ios/chrome/browser/authentication/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/authentication/ui_bundled/signin:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/reading_list/model:constants",
     "//ios/chrome/browser/settings/ui_bundled:constants",
     "//ios/chrome/browser/settings/ui_bundled/google_services:constants",
@@ -241,7 +242,6 @@
     "//ios/chrome/browser/shared/ui/symbols",
     "//ios/chrome/browser/shared/ui/table_view:constants",
     "//ios/chrome/browser/signin/model:fake_system_identity",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/common/ui/table_view:cells_constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/reading_list/ui_bundled/reading_list_egtest.mm b/ios/chrome/browser/reading_list/ui_bundled/reading_list_egtest.mm
index 65f2226..2c87a6f 100644
--- a/ios/chrome/browser/reading_list/ui_bundled/reading_list_egtest.mm
+++ b/ios/chrome/browser/reading_list/ui_bundled/reading_list_egtest.mm
@@ -21,6 +21,7 @@
 #import "ios/chrome/browser/authentication/ui_bundled/authentication_constants.h"
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey.h"
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey_ui_test_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_app_interface.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_constants.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_egtest_utils.h"
@@ -29,7 +30,6 @@
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
 #import "ios/chrome/browser/shared/ui/table_view/table_view_constants.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/common/ui/table_view/table_view_cells_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
diff --git a/ios/chrome/browser/sad_tab/ui_bundled/BUILD.gn b/ios/chrome/browser/sad_tab/ui_bundled/BUILD.gn
index 9c75189..145ea1d1 100644
--- a/ios/chrome/browser/sad_tab/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/sad_tab/ui_bundled/BUILD.gn
@@ -86,7 +86,7 @@
 
   deps = [
     "//components/strings",
-    "//ios/chrome/browser/ui/popup_menu:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing:embedded_test_server_support",
diff --git a/ios/chrome/browser/sad_tab/ui_bundled/sad_tab_view_egtest.mm b/ios/chrome/browser/sad_tab/ui_bundled/sad_tab_view_egtest.mm
index d2dbdeb..4acb06a 100644
--- a/ios/chrome/browser/sad_tab/ui_bundled/sad_tab_view_egtest.mm
+++ b/ios/chrome/browser/sad_tab/ui_bundled/sad_tab_view_egtest.mm
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #import "components/strings/grit/components_strings.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/BUILD.gn b/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/BUILD.gn
index 8b6b852f..6893978 100644
--- a/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/BUILD.gn
+++ b/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/BUILD.gn
@@ -207,6 +207,7 @@
     "//ios/chrome/browser/authentication/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/autofill/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/metrics/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/recent_tabs/ui_bundled:ui_constants",
     "//ios/chrome/browser/settings/ui_bundled/cells:clear_browsing_data_constants",
     "//ios/chrome/browser/settings/ui_bundled/password:eg_test_support+eg2",
@@ -219,7 +220,6 @@
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_groups:tab_groups_constant",
     "//ios/chrome/browser/tab_switcher/ui_bundled/test:utils",
     "//ios/chrome/browser/tabs/model/inactive_tabs:features",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/common/ui/confirmation_alert:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/clear_browsing_data_egtest.mm b/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/clear_browsing_data_egtest.mm
index 70b27fc4..cb3ec4f 100644
--- a/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/clear_browsing_data_egtest.mm
+++ b/ios/chrome/browser/settings/ui_bundled/clear_browsing_data/clear_browsing_data_egtest.mm
@@ -11,13 +11,13 @@
 #import "components/signin/internal/identity_manager/account_capabilities_constants.h"
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey.h"
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey_ui_test_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/cells/clear_browsing_data_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/clear_browsing_data/clear_browsing_data_ui_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/clear_browsing_data/features.h"
 #import "ios/chrome/browser/shared/ui/elements/activity_overlay_egtest_util.h"
 #import "ios/chrome/browser/shared/ui/elements/elements_constants.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
diff --git a/ios/chrome/browser/settings/ui_bundled/privacy/BUILD.gn b/ios/chrome/browser/settings/ui_bundled/privacy/BUILD.gn
index 0f33698..86e9c9c 100644
--- a/ios/chrome/browser/settings/ui_bundled/privacy/BUILD.gn
+++ b/ios/chrome/browser/settings/ui_bundled/privacy/BUILD.gn
@@ -193,10 +193,10 @@
     "//components/strings",
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/authentication/ui_bundled:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
     "//ios/chrome/browser/settings/ui_bundled/privacy:privacy_constants",
     "//ios/chrome/browser/settings/ui_bundled/privacy/safe_browsing:safe_browsing_constants",
     "//ios/chrome/browser/signin/model:fake_system_identity",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
     "//ios/chrome/common/ui/table_view:cells_constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/BUILD.gn b/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/BUILD.gn
index e727f77..80d652b3 100644
--- a/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/BUILD.gn
+++ b/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/BUILD.gn
@@ -70,10 +70,10 @@
     "//components/strings",
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/authentication/ui_bundled:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
     "//ios/chrome/browser/settings/ui_bundled/privacy:privacy_constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/signin/model:fake_system_identity",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
     "//ios/chrome/browser/web/model:feature_flags",
     "//ios/chrome/common/ui/table_view:cells_constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/lockdown_mode_egtest.mm b/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/lockdown_mode_egtest.mm
index 6829c909..bbad18d 100644
--- a/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/lockdown_mode_egtest.mm
+++ b/ios/chrome/browser/settings/ui_bundled/privacy/lockdown_mode/lockdown_mode_egtest.mm
@@ -3,9 +3,9 @@
 // found in the LICENSE file.
 
 #import "base/test/ios/wait_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
 #import "ios/chrome/browser/settings/ui_bundled/privacy/privacy_constants.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
 #import "ios/chrome/browser/web/model/features.h"
 #import "ios/chrome/grit/ios_branded_strings.h"
 #import "ios/chrome/grit/ios_strings.h"
diff --git a/ios/chrome/browser/settings/ui_bundled/privacy/privacy_safe_browsing_egtest.mm b/ios/chrome/browser/settings/ui_bundled/privacy/privacy_safe_browsing_egtest.mm
index ec959902..4d005dc 100644
--- a/ios/chrome/browser/settings/ui_bundled/privacy/privacy_safe_browsing_egtest.mm
+++ b/ios/chrome/browser/settings/ui_bundled/privacy/privacy_safe_browsing_egtest.mm
@@ -10,10 +10,10 @@
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey.h"
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey_ui_test_util.h"
 #import "ios/chrome/browser/authentication/ui_bundled/signin_matchers.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
 #import "ios/chrome/browser/settings/ui_bundled/privacy/privacy_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/privacy/safe_browsing/safe_browsing_constants.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
 #import "ios/chrome/common/ui/table_view/table_view_cells_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
diff --git a/ios/chrome/browser/sharing/ui_bundled/activity_services/BUILD.gn b/ios/chrome/browser/sharing/ui_bundled/activity_services/BUILD.gn
index 2e2bd8d..9b5fdae 100644
--- a/ios/chrome/browser/sharing/ui_bundled/activity_services/BUILD.gn
+++ b/ios/chrome/browser/sharing/ui_bundled/activity_services/BUILD.gn
@@ -105,8 +105,8 @@
     "//base/test:test_support",
     "//components/strings",
     "//ios/chrome/app/strings",
-    "//ios/chrome/browser/ui/popup_menu:constants",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:launch_configuration",
diff --git a/ios/chrome/browser/sharing/ui_bundled/activity_services/activity_service_controller_egtest.mm b/ios/chrome/browser/sharing/ui_bundled/activity_services/activity_service_controller_egtest.mm
index 763bbc6..8c0e339 100644
--- a/ios/chrome/browser/sharing/ui_bundled/activity_services/activity_service_controller_egtest.mm
+++ b/ios/chrome/browser/sharing/ui_bundled/activity_services/activity_service_controller_egtest.mm
@@ -9,8 +9,8 @@
 #import "base/ios/ios_util.h"
 #import "base/test/ios/wait_util.h"
 #import "components/strings/grit/components_strings.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/supervised_user/model/BUILD.gn b/ios/chrome/browser/supervised_user/model/BUILD.gn
index 423b686..45689a6 100644
--- a/ios/chrome/browser/supervised_user/model/BUILD.gn
+++ b/ios/chrome/browser/supervised_user/model/BUILD.gn
@@ -155,6 +155,7 @@
     "//ios/chrome/browser/policy/model:eg_test_support+eg2",
     "//ios/chrome/browser/policy/model:policy_earl_grey_matchers",
     "//ios/chrome/browser/policy/model:policy_util",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/settings/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/settings/ui_bundled/clear_browsing_data:features",
     "//ios/chrome/browser/settings/ui_bundled/google_services:constants",
@@ -167,7 +168,6 @@
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid:tab_grid_ui_constants",
     "//ios/chrome/browser/toolbar/ui_bundled/public:constants",
     "//ios/chrome/browser/ui/content_suggestions:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:switches",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/supervised_user/model/supervised_user_incognito_mode_egtest.mm b/ios/chrome/browser/supervised_user/model/supervised_user_incognito_mode_egtest.mm
index ccff96b..3c7af1de 100644
--- a/ios/chrome/browser/supervised_user/model/supervised_user_incognito_mode_egtest.mm
+++ b/ios/chrome/browser/supervised_user/model/supervised_user_incognito_mode_egtest.mm
@@ -9,11 +9,11 @@
 #import "ios/chrome/browser/authentication/ui_bundled/signin_earl_grey_ui_test_util.h"
 #import "ios/chrome/browser/metrics/model/metrics_app_interface.h"
 #import "ios/chrome/browser/policy/model/policy_earl_grey_matchers.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_metrics.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/toolbar_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/supervised_user/model/supervised_user_with_parental_controls_egtest.mm b/ios/chrome/browser/supervised_user/model/supervised_user_with_parental_controls_egtest.mm
index d0e3717f..ccdc9ca 100644
--- a/ios/chrome/browser/supervised_user/model/supervised_user_with_parental_controls_egtest.mm
+++ b/ios/chrome/browser/supervised_user/model/supervised_user_with_parental_controls_egtest.mm
@@ -15,6 +15,7 @@
 #import "ios/chrome/browser/policy/model/policy_app_interface.h"
 #import "ios/chrome/browser/policy/model/policy_earl_grey_utils.h"
 #import "ios/chrome/browser/policy/model/policy_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/clear_browsing_data/features.h"
 #import "ios/chrome/browser/settings/ui_bundled/google_services/manage_sync_settings_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/supervised_user_settings_app_interface.h"
@@ -23,7 +24,6 @@
 #import "ios/chrome/browser/signin/model/fake_system_identity.h"
 #import "ios/chrome/browser/supervised_user/ui/constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/BUILD.gn b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/BUILD.gn
index 78c424f1..bcd8c243 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/BUILD.gn
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/BUILD.gn
@@ -235,6 +235,7 @@
     "//ios/chrome/browser/bookmarks/model:test_support",
     "//ios/chrome/browser/incognito_reauth/ui_bundled:incognito_reauth_scene_agent",
     "//ios/chrome/browser/main/ui_bundled",
+    "//ios/chrome/browser/popup_menu/ui_bundled",
     "//ios/chrome/browser/saved_tab_groups/model",
     "//ios/chrome/browser/sessions/model",
     "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
@@ -251,7 +252,6 @@
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/grid/incognito",
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs:pinned_tabs_ui",
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/toolbars:toolbars_ui",
-    "//ios/chrome/browser/ui/popup_menu",
     "//ios/chrome/common/ui/reauthentication",
     "//ios/chrome/test:block_cleanup_test",
     "//ios/chrome/test:test_support",
@@ -290,6 +290,7 @@
     "//ios/chrome/browser/history/ui_bundled:constants",
     "//ios/chrome/browser/metrics/model:eg_test_support+eg2",
     "//ios/chrome/browser/optimization_guide/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/reading_list/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/recent_tabs/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/recent_tabs/ui_bundled:ui_constants",
@@ -302,7 +303,6 @@
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/inactive_tabs:inactive_tabs_constants",
     "//ios/chrome/browser/tab_switcher/ui_bundled/test:utils",
     "//ios/chrome/browser/tabs/model/inactive_tabs:features",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/common/ui/table_view:cells_constants",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/BUILD.gn b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/BUILD.gn
index 71bda452..d525c3d 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/BUILD.gn
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/BUILD.gn
@@ -9,12 +9,12 @@
 
   deps = [
     "//ios/chrome/app/strings",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/ui/symbols",
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid:tab_grid_ui_constants",
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/grid:grid_ui_constants",
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs:constants",
     "//ios/chrome/browser/tab_switcher/ui_bundled/test:utils",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/common/ui/table_view:cells_constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_context_egtest.mm b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_context_egtest.mm
index e4fb40e..1df2a24 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_context_egtest.mm
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_context_egtest.mm
@@ -7,10 +7,10 @@
 #import "base/ios/ios_util.h"
 #import "base/strings/sys_string_conversions.h"
 #import "base/test/ios/wait_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/test/query_title_server_util.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/test/tabs_egtest_util.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_generic_egtest.mm b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_generic_egtest.mm
index 15c81914..742136f 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_generic_egtest.mm
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/tests/pinned_tabs_generic_egtest.mm
@@ -7,10 +7,10 @@
 #import "base/ios/ios_util.h"
 #import "base/strings/sys_string_conversions.h"
 #import "base/test/ios/wait_util.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/pinned_tabs_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/test/tabs_egtest_util.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_coordinator_unittest.mm b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_coordinator_unittest.mm
index df04c47..ee98fc6 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_coordinator_unittest.mm
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_coordinator_unittest.mm
@@ -17,6 +17,7 @@
 #import "ios/chrome/browser/bookmarks/model/bookmark_model_factory.h"
 #import "ios/chrome/browser/incognito_reauth/ui_bundled/incognito_reauth_scene_agent.h"
 #import "ios/chrome/browser/main/ui_bundled/bvc_container_view_controller.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h"
 #import "ios/chrome/browser/saved_tab_groups/model/tab_group_sync_service_factory.h"
 #import "ios/chrome/browser/sessions/model/ios_chrome_tab_restore_service_factory.h"
 #import "ios/chrome/browser/shared/coordinator/scene/scene_state.h"
@@ -31,7 +32,6 @@
 #import "ios/chrome/browser/signin/model/fake_authentication_service_delegate.h"
 #import "ios/chrome/browser/snapshots/model/snapshot_browser_agent.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_coordinator_delegate.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h"
 #import "ios/chrome/common/ui/reauthentication/reauthentication_module.h"
 #import "ios/chrome/test/block_cleanup_test.h"
 #import "ios/chrome/test/ios_chrome_scoped_testing_local_state.h"
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_egtest.mm b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_egtest.mm
index b40ca6f..bbbb9cd 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_egtest.mm
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_egtest.mm
@@ -22,6 +22,7 @@
 #import "ios/chrome/browser/history/ui_bundled/history_ui_constants.h"
 #import "ios/chrome/browser/metrics/model/metrics_app_interface.h"
 #import "ios/chrome/browser/optimization_guide/model/optimization_guide_test_app_interface.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/reading_list/ui_bundled/reading_list_app_interface.h"
 #import "ios/chrome/browser/recent_tabs/ui_bundled/recent_tabs_app_interface.h"
 #import "ios/chrome/browser/recent_tabs/ui_bundled/recent_tabs_constants.h"
@@ -33,7 +34,6 @@
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/grid/grid_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_grid_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/test/tabs_egtest_util.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/common/ui/table_view/table_view_cells_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/test/BUILD.gn b/ios/chrome/browser/tab_switcher/ui_bundled/test/BUILD.gn
index 316eddf..d3aa9aa 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/test/BUILD.gn
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/test/BUILD.gn
@@ -11,7 +11,7 @@
     "tabs_egtest_util.mm",
   ]
   deps = [
-    "//ios/chrome/browser/ui/popup_menu:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//net:test_support",
diff --git a/ios/chrome/browser/tab_switcher/ui_bundled/test/tabs_egtest_util.mm b/ios/chrome/browser/tab_switcher/ui_bundled/test/tabs_egtest_util.mm
index 1c404b3..1442fa1 100644
--- a/ios/chrome/browser/tab_switcher/ui_bundled/test/tabs_egtest_util.mm
+++ b/ios/chrome/browser/tab_switcher/ui_bundled/test/tabs_egtest_util.mm
@@ -7,8 +7,8 @@
 #import "base/ios/block_types.h"
 #import "base/test/ios/wait_util.h"
 #import "base/time/time.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/tab_switcher/ui_bundled/test/query_title_server_util.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
diff --git a/ios/chrome/browser/tabs/ui_bundled/BUILD.gn b/ios/chrome/browser/tabs/ui_bundled/BUILD.gn
index 537ae33c..f1a9278 100644
--- a/ios/chrome/browser/tabs/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/tabs/ui_bundled/BUILD.gn
@@ -26,6 +26,7 @@
     "//ios/chrome/browser/fullscreen/ui_bundled",
     "//ios/chrome/browser/menu/ui_bundled",
     "//ios/chrome/browser/ntp/model:util",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public",
     "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
     "//ios/chrome/browser/shared/model/browser",
     "//ios/chrome/browser/shared/model/profile",
@@ -42,7 +43,6 @@
     "//ios/chrome/browser/tab_switcher/ui_bundled:utils",
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/tab_context_menu:tab_item",
     "//ios/chrome/browser/tabs/ui_bundled/resources",
-    "//ios/chrome/browser/ui/popup_menu/public",
     "//ios/chrome/browser/url_loading/model",
     "//ios/chrome/browser/web_state_list/model",
     "//ios/chrome/common",
diff --git a/ios/chrome/browser/toolbar/ui_bundled/BUILD.gn b/ios/chrome/browser/toolbar/ui_bundled/BUILD.gn
index f105034..8daa747 100644
--- a/ios/chrome/browser/toolbar/ui_bundled/BUILD.gn
+++ b/ios/chrome/browser/toolbar/ui_bundled/BUILD.gn
@@ -71,6 +71,7 @@
     "//ios/chrome/browser/orchestrator/ui_bundled",
     "//ios/chrome/browser/overlays/model",
     "//ios/chrome/browser/policy/model:policy_util",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public",
     "//ios/chrome/browser/prerender/model",
     "//ios/chrome/browser/reading_list/model",
     "//ios/chrome/browser/search_engines/model",
@@ -97,7 +98,6 @@
     "//ios/chrome/browser/toolbar/ui_bundled/public:constants",
     "//ios/chrome/browser/toolbar/ui_bundled/tab_groups:features_utils",
     "//ios/chrome/browser/toolbar/ui_bundled/tab_groups/coordinator",
-    "//ios/chrome/browser/ui/popup_menu/public",
     "//ios/chrome/browser/url_loading/model",
     "//ios/chrome/browser/url_loading/model:url_loading_params_header",
     "//ios/chrome/browser/voice/ui_bundled",
@@ -154,6 +154,7 @@
     "//ios/chrome/browser/ntp/ui_bundled:ui_bundled",
     "//ios/chrome/browser/omnibox/public:features",
     "//ios/chrome/browser/orchestrator/ui_bundled",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public",
     "//ios/chrome/browser/shared/public/commands",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/shared/ui/symbols",
@@ -168,7 +169,6 @@
     "//ios/chrome/browser/toolbar/ui_bundled/tab_groups/ui",
     "//ios/chrome/browser/toolbar/ui_bundled/tab_groups/ui:constants",
     "//ios/chrome/browser/ui/content_suggestions:content_suggestions_ui_util",
-    "//ios/chrome/browser/ui/popup_menu/public",
     "//ios/chrome/common:timing",
     "//ios/chrome/common/ui/colors",
     "//ios/chrome/common/ui/util",
@@ -207,6 +207,7 @@
     "//ios/chrome/browser/menu/ui_bundled",
     "//ios/chrome/browser/omnibox/model/omnibox_position",
     "//ios/chrome/browser/policy/model:policy_util",
+    "//ios/chrome/browser/popup_menu/ui_bundled/public",
     "//ios/chrome/browser/search_engines/model",
     "//ios/chrome/browser/shared/model/application_context",
     "//ios/chrome/browser/shared/model/browser/test:test_support",
@@ -221,7 +222,6 @@
     "//ios/chrome/browser/shared/ui/util",
     "//ios/chrome/browser/toolbar/ui_bundled/buttons",
     "//ios/chrome/browser/toolbar/ui_bundled/test",
-    "//ios/chrome/browser/ui/popup_menu/public",
     "//ios/chrome/browser/web/model",
     "//ios/chrome/test:test_support",
     "//ios/chrome/test/providers/voice_search",
@@ -273,13 +273,13 @@
     ":eg_test_support+eg2",
     "//components/strings",
     "//ios/chrome/app/strings",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/shared/ui/util",
     "//ios/chrome/browser/start_surface/ui_bundled:feature_flags",
     "//ios/chrome/browser/toolbar/ui_bundled/public:constants",
     "//ios/chrome/browser/ui/content_suggestions:content_suggestions_constant",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/common/ui/elements:form_input_accessory",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/toolbar/ui_bundled/DEPS b/ios/chrome/browser/toolbar/ui_bundled/DEPS
index 3a618c0..b23d27b 100644
--- a/ios/chrome/browser/toolbar/ui_bundled/DEPS
+++ b/ios/chrome/browser/toolbar/ui_bundled/DEPS
@@ -30,7 +30,7 @@
   "+ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_utils.h",
   "+ios/chrome/browser/fullscreen/ui_bundled",
   "+ios/chrome/browser/lens/ui_bundled",
-  "+ios/chrome/browser/ui/popup_menu/public",
+  "+ios/chrome/browser/popup_menu/ui_bundled/public",
   "+ios/chrome/browser/url_loading/model",
   "+ios/chrome/browser/web/model/web_navigation_browser_agent.h",
 ];
diff --git a/ios/chrome/browser/toolbar/ui_bundled/adaptive_toolbar_view_controller.h b/ios/chrome/browser/toolbar/ui_bundled/adaptive_toolbar_view_controller.h
index ec389767..af037fe 100644
--- a/ios/chrome/browser/toolbar/ui_bundled/adaptive_toolbar_view_controller.h
+++ b/ios/chrome/browser/toolbar/ui_bundled/adaptive_toolbar_view_controller.h
@@ -8,9 +8,9 @@
 #import <UIKit/UIKit.h>
 
 #import "ios/chrome/browser/fullscreen/ui_bundled/fullscreen_ui_element.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_updating.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/toolbar_type.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/toolbar_consumer.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_updating.h"
 
 @protocol AdaptiveToolbarMenusProvider;
 @class AdaptiveToolbarViewController;
diff --git a/ios/chrome/browser/toolbar/ui_bundled/toolbar_coordinator.h b/ios/chrome/browser/toolbar/ui_bundled/toolbar_coordinator.h
index 7c0c8884..2fc50b9 100644
--- a/ios/chrome/browser/toolbar/ui_bundled/toolbar_coordinator.h
+++ b/ios/chrome/browser/toolbar/ui_bundled/toolbar_coordinator.h
@@ -6,12 +6,12 @@
 #define IOS_CHROME_BROWSER_TOOLBAR_UI_BUNDLED_TOOLBAR_COORDINATOR_H_
 
 #import "base/ios/block_types.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/public/popup_menu_ui_updating.h"
 #import "ios/chrome/browser/shared/coordinator/chrome_coordinator/chrome_coordinator.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/fakebox_focuser.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/side_swipe_toolbar_snapshot_providing.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/toolbar_coordinating.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/toolbar_height_delegate.h"
-#import "ios/chrome/browser/ui/popup_menu/public/popup_menu_ui_updating.h"
 
 @protocol OmniboxPopupPresenterDelegate;
 @protocol OmniboxFocusDelegate;
diff --git a/ios/chrome/browser/toolbar/ui_bundled/toolbar_egtest.mm b/ios/chrome/browser/toolbar/ui_bundled/toolbar_egtest.mm
index dc4c096d..8875c9a4 100644
--- a/ios/chrome/browser/toolbar/ui_bundled/toolbar_egtest.mm
+++ b/ios/chrome/browser/toolbar/ui_bundled/toolbar_egtest.mm
@@ -5,10 +5,10 @@
 #import "base/ios/ios_util.h"
 #import "base/test/ios/wait_util.h"
 #import "components/strings/grit/components_strings.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/start_surface/ui_bundled/start_surface_features.h"
 #import "ios/chrome/browser/toolbar/ui_bundled/public/toolbar_constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/ui/content_suggestions/BUILD.gn b/ios/chrome/browser/ui/content_suggestions/BUILD.gn
index a4dce5c..afbbecf 100644
--- a/ios/chrome/browser/ui/content_suggestions/BUILD.gn
+++ b/ios/chrome/browser/ui/content_suggestions/BUILD.gn
@@ -447,6 +447,7 @@
     "//ios/chrome/browser/ntp/model:features",
     "//ios/chrome/browser/ntp/ui_bundled:constants",
     "//ios/chrome/browser/ntp/ui_bundled:feature_flags",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/search_engine_choice/ui_bundled:earl_grey_ui_test_util",
     "//ios/chrome/browser/search_engines/model:eg_test_support+eg2",
     "//ios/chrome/browser/settings/ui_bundled:constants",
@@ -463,7 +464,6 @@
     "//ios/chrome/browser/ui/content_suggestions/cells:constants",
     "//ios/chrome/browser/ui/content_suggestions/magic_stack:constants",
     "//ios/chrome/browser/ui/content_suggestions/set_up_list:constants",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/browser/whats_new/public:constants",
     "//ios/chrome/common/ui/confirmation_alert:constants",
     "//ios/chrome/common/ui/promo_style:constants",
diff --git a/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm b/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm
index d5f8121..d0c7b33 100644
--- a/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm
+++ b/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm
@@ -24,6 +24,7 @@
 #import "ios/chrome/browser/home_customization/utils/home_customization_helper.h"
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_constants.h"
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_feature.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/search_engine_choice/ui_bundled/search_engine_choice_earl_grey_ui_test_util.h"
 #import "ios/chrome/browser/search_engines/model/search_engines_app_interface.h"
 #import "ios/chrome/browser/settings/ui_bundled/settings_app_interface.h"
@@ -38,7 +39,6 @@
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/new_tab_page_app_interface.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/browser/whats_new/public/constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
diff --git a/ios/chrome/browser/ui/popup_menu/BUILD.gn b/ios/chrome/browser/ui/popup_menu/BUILD.gn
deleted file mode 100644
index 5fe5986..0000000
--- a/ios/chrome/browser/ui/popup_menu/BUILD.gn
+++ /dev/null
@@ -1,224 +0,0 @@
-# Copyright 2016 The Chromium Authors
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-source_set("popup_menu") {
-  sources = [
-    "popup_menu_action_handler.h",
-    "popup_menu_action_handler.mm",
-    "popup_menu_action_handler_delegate.h",
-    "popup_menu_coordinator.h",
-    "popup_menu_coordinator.mm",
-    "popup_menu_help_coordinator.h",
-    "popup_menu_help_coordinator.mm",
-    "popup_menu_mediator.h",
-    "popup_menu_mediator.mm",
-  ]
-  deps = [
-    ":constants",
-    "//base",
-    "//components/bookmarks/browser",
-    "//components/bookmarks/common",
-    "//components/feature_engagement/public",
-    "//components/language/ios/browser",
-    "//components/open_from_clipboard",
-    "//components/prefs",
-    "//components/prefs/ios",
-    "//components/profile_metrics",
-    "//components/reading_list/core",
-    "//components/segmentation_platform/embedder/default_model",
-    "//components/segmentation_platform/public",
-    "//components/send_tab_to_self",
-    "//components/translate/core/browser",
-    "//ios/chrome/app:tests_hook",
-    "//ios/chrome/app/strings",
-    "//ios/chrome/browser/bookmarks/model",
-    "//ios/chrome/browser/bookmarks/ui_bundled:core",
-    "//ios/chrome/browser/browser_container/ui_bundled",
-    "//ios/chrome/browser/browser_container/ui_bundled:ui",
-    "//ios/chrome/browser/bubble/ui_bundled",
-    "//ios/chrome/browser/commerce/model/push_notification",
-    "//ios/chrome/browser/default_browser/model:utils",
-    "//ios/chrome/browser/feature_engagement/model",
-    "//ios/chrome/browser/find_in_page/model",
-    "//ios/chrome/browser/follow/model:browser_agent",
-    "//ios/chrome/browser/follow/model:enums",
-    "//ios/chrome/browser/follow/model:tab_helper",
-    "//ios/chrome/browser/follow/model:utils",
-    "//ios/chrome/browser/iph_for_new_chrome_user/model",
-    "//ios/chrome/browser/lens/ui_bundled:lens_entrypoint",
-    "//ios/chrome/browser/lens_overlay/coordinator:lens_overlay_availability",
-    "//ios/chrome/browser/ntp/shared/metrics",
-    "//ios/chrome/browser/overlays/model",
-    "//ios/chrome/browser/overlays/model/public/web_content_area",
-    "//ios/chrome/browser/policy/model",
-    "//ios/chrome/browser/policy/model:policy_util",
-    "//ios/chrome/browser/presenters/ui_bundled",
-    "//ios/chrome/browser/promos_manager/model:factory",
-    "//ios/chrome/browser/reading_list/model",
-    "//ios/chrome/browser/reading_list/ui_bundled:coordinator",
-    "//ios/chrome/browser/search_engines/model",
-    "//ios/chrome/browser/search_engines/model:search_engines_util",
-    "//ios/chrome/browser/segmentation_platform/model",
-    "//ios/chrome/browser/settings/model/sync/utils:identity_error_util",
-    "//ios/chrome/browser/shared/coordinator/chrome_coordinator",
-    "//ios/chrome/browser/shared/coordinator/default_browser_promo",
-    "//ios/chrome/browser/shared/coordinator/layout_guide",
-    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
-    "//ios/chrome/browser/shared/model/application_context",
-    "//ios/chrome/browser/shared/model/browser",
-    "//ios/chrome/browser/shared/model/profile",
-    "//ios/chrome/browser/shared/model/url:constants",
-    "//ios/chrome/browser/shared/model/web_state_list",
-    "//ios/chrome/browser/shared/public/commands",
-    "//ios/chrome/browser/shared/public/features",
-    "//ios/chrome/browser/shared/public/features:system_flags",
-    "//ios/chrome/browser/shared/ui/list_model",
-    "//ios/chrome/browser/shared/ui/symbols",
-    "//ios/chrome/browser/shared/ui/util",
-    "//ios/chrome/browser/shared/ui/util:util_swift",
-    "//ios/chrome/browser/signin/model:authentication_service",
-    "//ios/chrome/browser/signin/model:authentication_service_factory",
-    "//ios/chrome/browser/supervised_user/model",
-    "//ios/chrome/browser/sync/model",
-    "//ios/chrome/browser/translate/model",
-    "//ios/chrome/browser/ui/content_suggestions/cells:constants",
-    "//ios/chrome/browser/ui/popup_menu:metrics_protocols",
-    "//ios/chrome/browser/ui/popup_menu/cells",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:overflow_menu_constants",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:overflow_menu_swift",
-    "//ios/chrome/browser/ui/popup_menu/public",
-    "//ios/chrome/browser/ui/popup_menu/public:popup_menu_ui",
-    "//ios/chrome/browser/ui/popup_menu/public/cells",
-    "//ios/chrome/browser/ui/popup_menu/resources",
-    "//ios/chrome/browser/url_loading/model",
-    "//ios/chrome/browser/web/model",
-    "//ios/chrome/browser/web/model:feature_flags",
-    "//ios/chrome/browser/web/model/font_size",
-    "//ios/chrome/browser/window_activities/model",
-    "//ios/chrome/common/ui/colors",
-    "//ios/components/webui:url_constants",
-    "//ios/public/provider/chrome/browser/lens:lens_api",
-    "//ios/public/provider/chrome/browser/text_zoom:text_zoom_api",
-    "//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
-    "//ios/third_party/material_components_ios",
-    "//ios/web",
-    "//ios/web/common",
-    "//ios/web/common:user_agent",
-    "//ui/base",
-  ]
-  frameworks = [ "UIKit.framework" ]
-}
-
-source_set("constants") {
-  sources = [
-    "popup_menu_constants.h",
-    "popup_menu_constants.mm",
-  ]
-}
-
-source_set("metrics_protocols") {
-  sources = [ "popup_menu_metrics_handler.h" ]
-}
-
-source_set("unit_tests") {
-  testonly = true
-
-  sources = [
-    "popup_menu_help_coordinator_unittest.mm",
-    "popup_menu_mediator_unittest.mm",
-  ]
-  deps = [
-    ":constants",
-    ":popup_menu",
-    "//base",
-    "//base/test:test_support",
-    "//components/bookmarks/browser",
-    "//components/bookmarks/common",
-    "//components/bookmarks/test",
-    "//components/feature_engagement/test:test_support",
-    "//components/language/ios/browser",
-    "//components/language_detection/core",
-    "//components/password_manager/core/browser:test_support",
-    "//components/prefs",
-    "//components/prefs:test_support",
-    "//components/reading_list/core",
-    "//components/translate/core/browser",
-    "//components/translate/core/language_detection",
-    "//ios/chrome/app/application_delegate:app_state",
-    "//ios/chrome/browser/bookmarks/model",
-    "//ios/chrome/browser/bookmarks/model:test_support",
-    "//ios/chrome/browser/default_browser/model:test_support",
-    "//ios/chrome/browser/feature_engagement/model",
-    "//ios/chrome/browser/overlays/model",
-    "//ios/chrome/browser/overlays/model/public/web_content_area",
-    "//ios/chrome/browser/overlays/model/test",
-    "//ios/chrome/browser/passwords/model:store_factory",
-    "//ios/chrome/browser/policy/model",
-    "//ios/chrome/browser/policy/model:test_support",
-    "//ios/chrome/browser/reading_list/model",
-    "//ios/chrome/browser/reading_list/model:test_support",
-    "//ios/chrome/browser/search_engines/model:template_url_service_factory",
-    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
-    "//ios/chrome/browser/shared/model/browser/test:test_support",
-    "//ios/chrome/browser/shared/model/prefs:browser_prefs",
-    "//ios/chrome/browser/shared/model/profile/test",
-    "//ios/chrome/browser/shared/model/web_state_list",
-    "//ios/chrome/browser/shared/public/commands",
-    "//ios/chrome/browser/shared/public/features",
-    "//ios/chrome/browser/shared/ui/symbols",
-    "//ios/chrome/browser/shared/ui/util",
-    "//ios/chrome/browser/toolbar/ui_bundled:coordinator",
-    "//ios/chrome/browser/toolbar/ui_bundled/test",
-    "//ios/chrome/browser/ui/popup_menu/cells",
-    "//ios/chrome/browser/ui/popup_menu/public",
-    "//ios/chrome/browser/ui/popup_menu/public:popup_menu_ui",
-    "//ios/chrome/browser/web/model",
-    "//ios/chrome/browser/web/model:feature_flags",
-    "//ios/chrome/browser/web/model:web_internal",
-    "//ios/chrome/browser/web/model/font_size",
-    "//ios/chrome/test:test_support",
-    "//ios/public/provider/chrome/browser/text_zoom:text_zoom_api",
-    "//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
-    "//ios/web",
-    "//ios/web/public/test",
-    "//ios/web/public/test/fakes",
-    "//testing/gmock",
-    "//testing/gtest",
-    "//third_party/ocmock",
-    "//ui/base:base",
-  ]
-}
-
-source_set("eg2_tests") {
-  configs += [ "//build/config/ios:xctest_config" ]
-  testonly = true
-  sources = [
-    "popup_menu_egtest.mm",
-    "request_desktop_mobile_site_egtest.mm",
-  ]
-  deps = [
-    ":constants",
-    "//base/test:test_support",
-    "//components/feature_engagement/public",
-    "//components/strings",
-    "//components/version_info",
-    "//ios/chrome/app/strings",
-    "//ios/chrome/browser/bubble/ui_bundled:constants",
-    "//ios/chrome/browser/find_in_page/model:util",
-    "//ios/chrome/browser/settings/ui_bundled:constants",
-    "//ios/chrome/browser/shared/public/features",
-    "//ios/chrome/test:eg_test_support+eg2",
-    "//ios/chrome/test/earl_grey:eg_test_support+eg2",
-    "//ios/chrome/test/earl_grey:switches",
-    "//ios/testing/earl_grey:eg_test_support+eg2",
-    "//ios/web/common:features",
-    "//ios/web/common:user_agent",
-    "//ios/web/public/test/http_server:http_server",
-    "//net",
-    "//ui/base",
-  ]
-  frameworks = [ "UIKit.framework" ]
-}
diff --git a/ios/chrome/browser/ui/popup_menu/DEPS b/ios/chrome/browser/ui/popup_menu/DEPS
deleted file mode 100644
index 500772e..0000000
--- a/ios/chrome/browser/ui/popup_menu/DEPS
+++ /dev/null
@@ -1,31 +0,0 @@
-include_rules = [
-  "+ios/chrome/browser/browser_container/ui_bundled",
-  "+ios/chrome/browser/bookmarks/ui_bundled",
-  "+ios/chrome/browser/bubble/ui_bundled",
-  "+ios/chrome/browser/lens/ui_bundled/lens_entrypoint.h",
-  "+ios/chrome/browser/ntp/shared/metrics/feed_metrics_recorder.h",
-  "+ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_constants.h",
-  "+ios/chrome/browser/reading_list/ui_bundled",
-  "+ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/pinned_tabs/features.h",
-  "+ios/chrome/browser/ui/whats_new/whats_new_util.h",
-  "+ios/chrome/browser/presenters/ui_bundled",
-  "+ios/chrome/browser/keyboard/ui_bundled/UIKeyCommand+Chrome.h",
-  "+ios/chrome/browser/settings/ui_bundled",
-  "+ios/chrome/browser/sharing/ui_bundled",
-  "+ios/chrome/browser/tab_switcher/ui_bundled/tab_utils.h",
-  "+ios/chrome/browser/policy/ui_bundled/user_policy_util.h",
-  "+ios/chrome/browser/settings/ui_bundled/clear_browsing_data/features.h",
-]
-
-specific_include_rules = {
-  # web::HttpServer is deprecated in favor of net::EmbeddedTestServer.
-  # TODO:(crbug.com/891834) Remove this exception.
-  "popup_menu_egtest\.mm": [
-    "+ios/web/public/test/http_server",
-  ],
-  # web::HttpServer is deprecated in favor of net::EmbeddedTestServer.
-  # TODO:(crbug.com/891834) Remove this exception.
-  "request_desktop_mobile_site_egtest\.mm": [
-    "+ios/web/public/test/http_server",
-  ],
-}
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h b/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h
deleted file mode 100644
index ab3fdd5..0000000
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history/constants.h
+++ /dev/null
@@ -1,12 +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 IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_CONSTANTS_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_CONSTANTS_H_
-
-// `kNewDestinationsInsertionIndex` represents the index new destinations are
-// inserted into the current ranking.
-constexpr int kNewDestinationsInsertionIndex = 3;
-
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_DESTINATION_USAGE_HISTORY_CONSTANTS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h b/ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h
deleted file mode 100644
index b36e672..0000000
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2021 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_FEATURE_FLAGS_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_FEATURE_FLAGS_H_
-
-#include "base/feature_list.h"
-
-// Feature to enable the new overflow menu.
-BASE_DECLARE_FEATURE(kNewOverflowMenu);
-
-// Whether the NewOverflowMenu feature is enabled.
-bool IsNewOverflowMenuEnabled();
-
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_FEATURE_FLAGS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift_bridge.h b/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift_bridge.h
deleted file mode 100644
index 84d7826a..0000000
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift_bridge.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2022 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_SWIFT_BRIDGE_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_SWIFT_BRIDGE_H_
-
-// Bridging header between Swift and Obj-C. These types/imports need to be pure
-// Obj-C and have no C++ in them.
-
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_metrics_handler.h"
-#import "ios/chrome/common/material_timing.h"
-#import "ios/chrome/grit/ios_strings.h"
-
-// Explicitly import the bridging header of the Swift dependencies, as the
-// implicit import of these bridging header is deprecated and will be removed in
-// a later version of Swift.
-#import "ios/chrome/common/ui/colors/swift_bridge.h"
-#import "ui/base/l10n/l10n_util_mac_bridge.h"
-
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_OVERFLOW_MENU_OVERFLOW_MENU_SWIFT_BRIDGE_H_
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_constants.h b/ios/chrome/browser/ui/popup_menu/popup_menu_constants.h
deleted file mode 100644
index cad99d72..0000000
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_constants.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2018 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONSTANTS_H_
-#define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONSTANTS_H_
-
-#import <Foundation/Foundation.h>
-
-// Accessibility IDs for the table view in various kinds of popup menus.
-extern NSString* const kPopupMenuToolsMenuTableViewId;
-extern NSString* const kPopupMenuToolsMenuActionListId;
-
-// Accessibility IDs for the Tools Menu items.
-// Downloads item accessibility Identifier.
-extern NSString* const kToolsMenuDownloadsId;
-// Reload item accessibility Identifier.
-extern NSString* const kToolsMenuReload;
-// Stop item accessibility Identifier.
-extern NSString* const kToolsMenuStop;
-// New Tab item accessibility Identifier.
-extern NSString* const kToolsMenuNewTabId;
-// New Tab item accessibility Identifier.
-extern NSString* const kToolsMenuNewWindowId;
-// New incognito Tab item accessibility Identifier.
-extern NSString* const kToolsMenuNewIncognitoTabId;
-// Follow item accessibility Identifier.
-extern NSString* const kToolsMenuFollowId;
-// Bookmarks item accessibility Identifier.
-extern NSString* const kToolsMenuBookmarksId;
-// Reading List item accessibility Identifier.
-extern NSString* const kToolsMenuReadingListId;
-// Other Devices item accessibility Identifier.
-extern NSString* const kToolsMenuOtherDevicesId;
-// History item accessibility Identifier.
-extern NSString* const kToolsMenuHistoryId;
-// Passwords item accessibility Identifier.
-extern NSString* const kToolsMenuPasswordsId;
-// Report an issue item accessibility Identifier.
-extern NSString* const kToolsMenuReportAnIssueId;
-// Translate item accessibility Identifier.
-extern NSString* const kToolsMenuTranslateId;
-// Find in Page item accessibility Identifier.
-extern NSString* const kToolsMenuFindInPageId;
-// Request desktop item accessibility Identifier.
-extern NSString* const kToolsMenuRequestDesktopId;
-// Settings item accessibility Identifier.
-extern NSString* const kToolsMenuSettingsId;
-// Settings action item accessibility Identifier.
-extern NSString* const kToolsMenuSettingsActionId;
-// Help item accessibility Identifier.
-extern NSString* const kToolsMenuHelpId;
-// Request mobile item accessibility Identifier.
-extern NSString* const kToolsMenuRequestMobileId;
-// ReadLater item accessibility Identifier.
-extern NSString* const kToolsMenuReadLater;
-// AddBookmark item accessibility Identifier.
-extern NSString* const kToolsMenuAddToBookmarks;
-// Open lens overlay item accessibility Identifier.
-extern NSString* const kToolsMenuOpenLensOverlay;
-// Open ai prototype item accessibility Identifier.
-extern NSString* const kToolsMenuOpenAIPrototype;
-// EditBookmark item accessibility Identifier.
-extern NSString* const kToolsMenuEditBookmark;
-// SiteInformation item accessibility Identifier.
-extern NSString* const kToolsMenuSiteInformation;
-// Incognito Search item accessibility Identifier.
-extern NSString* const kToolsMenuIncognitoSearch;
-// Text Zoom item accessibility identifier.
-extern NSString* const kToolsMenuTextZoom;
-// Text Enterprise info item accessibility identifier.
-extern NSString* const kTextMenuEnterpriseInfo;
-// Text Family Link info item accessibility identifier.
-extern NSString* const kTextMenuFamilyLinkInfo;
-// Follow item accessibility Identifier.
-extern NSString* const kToolsMenuFollow;
-// Unfollow item accessibility Identifier.
-extern NSString* const kToolsMenuUnfollow;
-// Clear Browsing Data item accessibility identifier.
-extern NSString* const kToolsMenuClearBrowsingData;
-// Set Tab Reminder item accessibility Identifier.
-extern NSString* const kToolsMenuSetTabReminder;
-// Share Chrome accessibility Identifier.
-extern NSString* const kToolsMenuShareChromeId;
-// WhatsNew item accessibility Identifier.
-extern NSString* const kToolsMenuWhatsNewId;
-// Open Price Notifications accessibility Identifier.
-extern NSString* const kToolsMenuPriceNotifications;
-// Edit Actions item accessibility Identifier.
-extern NSString* const kToolsMenuEditActionsId;
-
-#endif  // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONSTANTS_H_
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_downloads.imageset/Contents.json b/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_downloads.imageset/Contents.json
deleted file mode 100644
index 7670a9fa..0000000
--- a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_downloads.imageset/Contents.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "images": [
-        {
-            "idiom": "universal",
-            "scale": "2x",
-            "filename": "popup_menu_downloads@2x.png"
-        },
-        {
-            "idiom": "universal",
-            "scale": "3x",
-            "filename": "popup_menu_downloads@3x.png"
-        }
-    ],
-    "info": {
-        "version": 1,
-        "author": "xcode"
-    }
-}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/Contents.json b/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/Contents.json
deleted file mode 100644
index a8d905b..0000000
--- a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_enterprise_icon.imageset/Contents.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "images": [
-        {
-            "idiom": "universal",
-            "scale": "2x",
-            "filename": "popup_menu_enterprise_icon@2x.png"
-        },
-        {
-            "idiom": "universal",
-            "scale": "3x",
-            "filename": "popup_menu_enterprise_icon@3x.png"
-        }
-    ],
-    "info": {
-        "version": 1,
-        "author": "xcode"
-    }
-}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/Contents.json b/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/Contents.json
deleted file mode 100644
index 13022fb..0000000
--- a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_incognito_tab.imageset/Contents.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "images": [
-        {
-            "idiom": "universal",
-            "scale": "2x",
-            "filename": "popup_menu_new_incognito_tab@2x.png"
-        },
-        {
-            "idiom": "universal",
-            "scale": "3x",
-            "filename": "popup_menu_new_incognito_tab@3x.png"
-        }
-    ],
-    "info": {
-        "version": 1,
-        "author": "xcode"
-    }
-}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_window.imageset/Contents.json b/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_window.imageset/Contents.json
deleted file mode 100644
index 7caf556..0000000
--- a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_new_window.imageset/Contents.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "images": [
-        {
-            "idiom": "universal",
-            "scale": "2x",
-            "filename": "popup_menu_new_window@2x.png"
-        },
-        {
-            "idiom": "universal",
-            "scale": "3x",
-            "filename": "popup_menu_new_window@3x.png"
-        }
-    ],
-    "info": {
-        "version": 1,
-        "author": "xcode"
-    }
-}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_text_zoom.imageset/Contents.json b/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_text_zoom.imageset/Contents.json
deleted file mode 100644
index ba95e5fc..0000000
--- a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_text_zoom.imageset/Contents.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "images": [
-        {
-            "idiom": "universal",
-            "scale": "2x",
-            "filename": "popup_menu_text_zoom@2x.png"
-        },
-        {
-            "idiom": "universal",
-            "scale": "3x",
-            "filename": "popup_menu_text_zoom@3x.png"
-        }
-    ],
-    "info": {
-        "version": 1,
-        "author": "xcode"
-    }
-}
diff --git a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_translate.imageset/Contents.json b/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_translate.imageset/Contents.json
deleted file mode 100644
index 60fe844..0000000
--- a/ios/chrome/browser/ui/popup_menu/resources/Assets.xcassets/popup_menu_translate.imageset/Contents.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "images": [
-        {
-            "idiom": "universal",
-            "scale": "2x",
-            "filename": "popup_menu_translate@2x.png"
-        },
-        {
-            "idiom": "universal",
-            "scale": "3x",
-            "filename": "popup_menu_translate@3x.png"
-        }
-    ],
-    "info": {
-        "version": 1,
-        "author": "xcode"
-    }
-}
\ No newline at end of file
diff --git a/ios/chrome/browser/ui/toolbar/DEPS b/ios/chrome/browser/ui/toolbar/DEPS
index 6abb317..8c8019be2f 100644
--- a/ios/chrome/browser/ui/toolbar/DEPS
+++ b/ios/chrome/browser/ui/toolbar/DEPS
@@ -1,7 +1,7 @@
 include_rules = [
   "+ios/chrome/browser/infobars/ui_bundled/test_infobar_delegate.h",
   "+ios/chrome/browser/menu/ui_bundled",
-  "+ios/chrome/browser/ui/popup_menu/public",
+  "+ios/chrome/browser/popup_menu/ui_bundled/public",
   "+ios/chrome/browser/fullscreen/ui_bundled",
   "+ios/chrome/browser/location_bar/ui_bundled",
   "+ios/chrome/browser/omnibox/ui_bundled",
diff --git a/ios/chrome/browser/web/model/BUILD.gn b/ios/chrome/browser/web/model/BUILD.gn
index 75e508fc..a18c65f 100644
--- a/ios/chrome/browser/web/model/BUILD.gn
+++ b/ios/chrome/browser/web/model/BUILD.gn
@@ -494,11 +494,11 @@
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/infobars/ui_bundled/banners:public",
     "//ios/chrome/browser/metrics/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/shared/model/url:constants",
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/start_surface/ui_bundled:feature_flags",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
     "//ios/net:test_support",
diff --git a/ios/chrome/browser/web/model/forms_egtest.mm b/ios/chrome/browser/web/model/forms_egtest.mm
index cc6300d..81b4f5c5 100644
--- a/ios/chrome/browser/web/model/forms_egtest.mm
+++ b/ios/chrome/browser/web/model/forms_egtest.mm
@@ -12,7 +12,7 @@
 #import "base/test/ios/wait_util.h"
 #import "components/strings/grit/components_strings.h"
 #import "components/url_formatter/url_formatter.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/destination_highlight_color.colorset/Contents.json b/ios/chrome/common/ui/colors/resources/Assets.xcassets/destination_highlight_color.colorset/Contents.json
similarity index 100%
rename from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/destination_highlight_color.colorset/Contents.json
rename to ios/chrome/common/ui/colors/resources/Assets.xcassets/destination_highlight_color.colorset/Contents.json
diff --git a/ios/chrome/common/ui/colors/resources/BUILD.gn b/ios/chrome/common/ui/colors/resources/BUILD.gn
index c9c3d1ec..b3f26018 100644
--- a/ios/chrome/common/ui/colors/resources/BUILD.gn
+++ b/ios/chrome/common/ui/colors/resources/BUILD.gn
@@ -22,6 +22,7 @@
     "Assets.xcassets/cyan_600_color.colorset/Contents.json",
     "Assets.xcassets/cyan_700_color.colorset/Contents.json",
     "Assets.xcassets/darker_scrim_background_color.colorset/Contents.json",
+    "Assets.xcassets/destination_highlight_color.colorset/Contents.json",
     "Assets.xcassets/disabled_tint_color.colorset/Contents.json",
     "Assets.xcassets/favicon_background_color.colorset/Contents.json",
     "Assets.xcassets/green_100_color.colorset/Contents.json",
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/destination_highlight_color.colorset/Contents.json b/ios/chrome/common/ui/colors/resources/destination_highlight_color.colorset/Contents.json
similarity index 100%
copy from ios/chrome/browser/ui/popup_menu/overflow_menu/resources/Assets.xcassets/destination_highlight_color.colorset/Contents.json
copy to ios/chrome/common/ui/colors/resources/destination_highlight_color.colorset/Contents.json
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn
index d54935d..33f4513 100644
--- a/ios/chrome/test/BUILD.gn
+++ b/ios/chrome/test/BUILD.gn
@@ -366,6 +366,9 @@
     "//ios/chrome/browser/plus_addresses/ui:unit_tests",
     "//ios/chrome/browser/policy/model:unit_tests",
     "//ios/chrome/browser/policy/ui_bundled/idle:unit_tests",
+    "//ios/chrome/browser/popup_menu/ui_bundled:unit_tests",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:unit_tests",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history:unit_tests",
     "//ios/chrome/browser/post_restore_signin/ui_bundled:unit_tests",
     "//ios/chrome/browser/prefs/model:unit_tests",
     "//ios/chrome/browser/prerender/model:unit_tests",
@@ -501,9 +504,6 @@
     "//ios/chrome/browser/ui/content_suggestions/tab_resumption:unit_tests",
     "//ios/chrome/browser/ui/content_suggestions/tips:unit_tests",
     "//ios/chrome/browser/ui/content_suggestions/tips/ui:unit_tests",
-    "//ios/chrome/browser/ui/popup_menu:unit_tests",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:unit_tests",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history:unit_tests",
     "//ios/chrome/browser/unit_conversion/model:unit_tests",
     "//ios/chrome/browser/unit_conversion/ui_bundled:unit_tests",
     "//ios/chrome/browser/update_client/model:unit_tests",
diff --git a/ios/chrome/test/earl_grey/BUILD.gn b/ios/chrome/test/earl_grey/BUILD.gn
index 9aefa6b3..aff3b81 100644
--- a/ios/chrome/test/earl_grey/BUILD.gn
+++ b/ios/chrome/test/earl_grey/BUILD.gn
@@ -166,6 +166,9 @@
     "//ios/chrome/browser/phone_number/ui_bundled:eg_app_support+eg2",
     "//ios/chrome/browser/plus_addresses/ui:eg_app_support+eg2",
     "//ios/chrome/browser/policy/model:eg_app_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags",
     "//ios/chrome/browser/qr_scanner/ui_bundled:eg_app_support+eg2",
     "//ios/chrome/browser/reading_list/ui_bundled:eg_app_support+eg2",
     "//ios/chrome/browser/recent_tabs/ui_bundled:eg_app_support+eg2",
@@ -241,9 +244,6 @@
     "//ios/chrome/browser/ui/content_suggestions:content_suggestions_constant",
     "//ios/chrome/browser/ui/content_suggestions:content_suggestions_ui",
     "//ios/chrome/browser/ui/content_suggestions:eg_app_support+eg2",
-    "//ios/chrome/browser/ui/popup_menu",
-    "//ios/chrome/browser/ui/popup_menu:constants",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
     "//ios/chrome/browser/unified_consent/model",
     "//ios/chrome/browser/unit_conversion/ui_bundled:eg_app_support+eg2",
     "//ios/chrome/browser/url_loading/model",
@@ -347,6 +347,7 @@
     "//ios/chrome/browser/ntp/ui_bundled:feature_flags",
     "//ios/chrome/browser/partial_translate/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/policy/model:eg_test_support+eg2",
+    "//ios/chrome/browser/popup_menu/ui_bundled:constants",
     "//ios/chrome/browser/recent_tabs/ui_bundled:ui_constants",
     "//ios/chrome/browser/safe_mode/ui_bundled:eg_test_support+eg2",
     "//ios/chrome/browser/settings/ui_bundled:settings_root_constants",
@@ -357,7 +358,6 @@
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid:tab_grid_ui_constants",
     "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid/grid:grid_ui_constants",
     "//ios/chrome/browser/toolbar/ui_bundled:eg_test_support+eg2",
-    "//ios/chrome/browser/ui/popup_menu:constants",
     "//ios/chrome/browser/web/model:feature_flags",
     "//ios/chrome/test:eg_test_support+eg2",
     "//ios/testing:http_server_bundle_data",
diff --git a/ios/chrome/test/earl_grey/chrome_coordinator_app_interface.mm b/ios/chrome/test/earl_grey/chrome_coordinator_app_interface.mm
index b1a66bea..e1ab109 100644
--- a/ios/chrome/test/earl_grey/chrome_coordinator_app_interface.mm
+++ b/ios/chrome/test/earl_grey/chrome_coordinator_app_interface.mm
@@ -11,6 +11,7 @@
 #import "components/prefs/pref_service.h"
 #import "ios/chrome/browser/history/ui_bundled/history_coordinator.h"
 #import "ios/chrome/browser/main/model/browser_impl.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_coordinator.h"
 #import "ios/chrome/browser/sessions/model/ios_chrome_session_tab_helper.h"
 #import "ios/chrome/browser/shared/coordinator/chrome_coordinator/chrome_coordinator.h"
 #import "ios/chrome/browser/shared/model/browser/test/test_browser.h"
@@ -21,7 +22,6 @@
 #import "ios/chrome/browser/shared/public/commands/command_dispatcher.h"
 #import "ios/chrome/browser/tips_notifications/coordinator/enhanced_safe_browsing_promo_coordinator.h"
 #import "ios/chrome/browser/tips_notifications/coordinator/lens_promo_coordinator.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h"
 #import "ios/chrome/browser/url_loading/model/fake_url_loading_browser_agent.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_browser_agent.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_notifier_browser_agent.h"
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm b/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm
index 86ce65f..d9281b4 100644
--- a/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm
+++ b/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm
@@ -49,6 +49,7 @@
 #import "ios/chrome/browser/first_run/ui_bundled/first_run_screen_provider.h"
 #import "ios/chrome/browser/first_run/ui_bundled/first_run_util.h"
 #import "ios/chrome/browser/ntp/ui_bundled/new_tab_page_feature.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/feature_flags.h"
 #import "ios/chrome/browser/search_engines/model/search_engines_util.h"
 #import "ios/chrome/browser/search_engines/model/template_url_service_factory.h"
 #import "ios/chrome/browser/sessions/model/session_restoration_service.h"
@@ -68,7 +69,6 @@
 #import "ios/chrome/browser/shared/ui/util/rtl_geometry.h"
 #import "ios/chrome/browser/sync/model/sync_service_factory.h"
 #import "ios/chrome/browser/tips_notifications/model/utils.h"
-#import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
 #import "ios/chrome/browser/unified_consent/model/unified_consent_service_factory.h"
 #import "ios/chrome/browser/web/model/web_navigation_browser_agent.h"
 #import "ios/chrome/test/app/browsing_data_test_util.h"
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
index d5c0d46..a0091a7 100644
--- a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
+++ b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
@@ -8,9 +8,9 @@
 #import "base/strings/sys_string_conversions.h"
 #import "base/test/ios/wait_util.h"
 #import "components/strings/grit/components_strings.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/cells/clear_browsing_data_constants.h"
 #import "ios/chrome/browser/shared/ui/table_view/table_view_constants.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
diff --git a/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm b/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm
index 0a02f98..04355fb 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm
+++ b/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm
@@ -23,6 +23,7 @@
 #import "ios/chrome/browser/omnibox/ui_bundled/omnibox_constants.h"
 #import "ios/chrome/browser/omnibox/ui_bundled/omnibox_text_field_ios.h"
 #import "ios/chrome/browser/omnibox/ui_bundled/popup/omnibox_popup_accessibility_identifier_constants.h"
+#import "ios/chrome/browser/popup_menu/ui_bundled/popup_menu_constants.h"
 #import "ios/chrome/browser/recent_tabs/ui_bundled/recent_tabs_constants.h"
 #import "ios/chrome/browser/settings/ui_bundled/autofill/autofill_add_credit_card_view_controller.h"
 #import "ios/chrome/browser/settings/ui_bundled/autofill/autofill_credit_card_table_view_controller.h"
@@ -60,7 +61,6 @@
 #import "ios/chrome/browser/toolbar/ui_bundled/public/toolbar_constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
-#import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
 #import "ios/chrome/common/ui/confirmation_alert/constants.h"
 #import "ios/chrome/common/ui/promo_style/constants.h"
 #import "ios/chrome/grit/ios_branded_strings.h"
diff --git a/ios/chrome/test/earl_grey2/BUILD.gn b/ios/chrome/test/earl_grey2/BUILD.gn
index cbbd738..be2942f 100644
--- a/ios/chrome/test/earl_grey2/BUILD.gn
+++ b/ios/chrome/test/earl_grey2/BUILD.gn
@@ -219,6 +219,9 @@
     "//ios/chrome/browser/phone_number/ui_bundled:eg2_tests",
     "//ios/chrome/browser/plus_addresses/ui:eg2_tests",
     "//ios/chrome/browser/policy/ui_bundled/idle:eg2_tests",
+    "//ios/chrome/browser/popup_menu/ui_bundled:eg2_tests",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:eg2_tests",
+    "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu/destination_usage_history:eg2_tests",
     "//ios/chrome/browser/price_notifications/ui_bundled:eg2_tests",
     "//ios/chrome/browser/qr_scanner/ui_bundled:eg2_tests",
     "//ios/chrome/browser/reading_list/ui_bundled:eg2_tests",
@@ -246,9 +249,6 @@
     "//ios/chrome/browser/ui/content_suggestions/price_tracking_promo:eg2_tests",
     "//ios/chrome/browser/ui/content_suggestions/safety_check:eg2_tests",
     "//ios/chrome/browser/ui/content_suggestions/set_up_list:eg2_tests",
-    "//ios/chrome/browser/ui/popup_menu:eg2_tests",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu:eg2_tests",
-    "//ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history:eg2_tests",
     "//ios/chrome/browser/unit_conversion/ui_bundled:eg2_tests",
     "//ios/chrome/browser/webui/ui_bundled:eg2_tests",
     "//ios/chrome/browser/webui/ui_bundled/interstitials:eg2_tests",