# 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. assert(is_win || is_mac || is_linux || is_chromeos || is_android) import("//chrome/common/features.gni") # This is the public interface for tabs in a desktop browser. Most features in # //chrome/browser depend on this interface, and thus to prevent circular # dependencies this interface should not depend on anything else in //chrome. source_set("tabs_public") { public = [ "contents_observing_tab_feature.h", "public/tab_dialog_manager.h", "public/tab_features.h", ] sources = [ "contents_observing_tab_feature.cc" ] public_deps = [ "//base", "//chrome/common:buildflags", "//components/tab_groups", "//components/tabs:public", ] deps = [ "//content/public/browser", "//ui/base/unowned_user_data", ] } # These enums should not need to depend on chrome/browser/ui. They have been # broken out of the chrome/browser/ui build file into a separate target to # prevent a circular dependency between mojo targets that chrome/browser/ui # depends on which have these enums in their dependency chain. source_set("tab_enums") { sources = [ "tab_enums.h" ] } # Shared tab utilities for both desktop and android. source_set("utils") { sources = [ "tab_muted_utils.cc", "tab_muted_utils.h", ] public_deps = [ ":tab_enums" ] deps = [ "//content/public/browser" ] } source_set("page_context_eligibility_helper") { sources = [ "page_context_eligibility_helper.cc", "page_context_eligibility_helper.h", ] public_deps = [ ":tabs_public", "//ui/base/unowned_user_data", ] deps = [ "//base", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//components/optimization_guide/content/browser:page_context_eligibility", "//components/signin/public/identity_manager", ] } source_set("page_context_eligibility_helper_unit_tests") { testonly = true sources = [ "page_context_eligibility_helper_unittest.cc" ] deps = [ ":page_context_eligibility_helper", ":tabs_public", "//base", "//base/test:test_support", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//chrome/test:test_support", "//components/optimization_guide/content/browser:page_context_eligibility", "//components/signin/public/identity_manager:test_support", "//components/tabs:test_support", "//content/test:test_support", "//testing/gmock", "//testing/gtest", "//ui/base/unowned_user_data", ] } if (!is_android) { source_set("features") { sources = [ "features.cc", "features.h", ] public_deps = [ "//base" ] deps = [ "//chrome/browser/ui:ui_features" ] } source_set("tab_menu") { sources = [ "glic_tab_sub_menu_model.h", "tab_menu_model.h", "tab_menu_model_delegate.h", ] public_deps = [ "//base", "//chrome/browser/glic", "//ui/base/interaction", "//ui/menus", ] } # Shared tab favicon theming helpers, used by both the Views tab strip # (TabIcon) and the WebUI browser tab strip converter. source_set("favicon_theming") { sources = [ "tab_favicon_theming.cc", "tab_favicon_theming.h", ] deps = [ "//chrome/browser/favicon", "//chrome/browser/ui/color:color_headers", "//ui/color", "//ui/gfx", ] } source_set("tab_list_bridge") { sources = [ "tab_list_bridge.cc", "tab_list_bridge.h", ] deps = [ "//chrome/browser/tab_group_sync:factories" ] public_deps = [ ":tab_strip", "//base", "//chrome/browser/resource_coordinator", "//chrome/browser/tab_list", "//chrome/browser/ui/browser_window", "//ui/base/unowned_user_data", ] } source_set("tab_menu_impl") { public_deps = [ "//chrome/browser:browser_public_dependencies" ] sources = [ "glic_tab_sub_menu_model.cc", "tab_menu_model.cc", ] deps = [ ":tab_menu", ":tab_model", ":tab_strip", ":tabs", "//chrome/app/vector_icons", "//chrome/browser/commerce", "//chrome/browser/extensions", "//chrome/browser/glic", "//chrome/browser/glic/browser_ui", "//chrome/browser/profiles:profile", "//chrome/browser/send_tab_to_self", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/immersive:immersive_mode_controller", "//chrome/browser/ui/send_tab_to_self", "//chrome/browser/ui/web_applications", "//chrome/browser/user_education", "//components/commerce/core:commerce_constants", "//components/commerce/core:feature_list", "//components/feed:feature_list", ] # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and # enable the diagnostic by removing this line. configs += [ "//build/config/compiler:no_exit_time_destructors" ] } source_set("tab_group") { sources = [ "shared_tab_group_version_upgrade_modal.h", "tab_group_attention_indicator.h", "tab_group_data.h", "tab_group_deletion_dialog_controller.h", "tab_group_desktop.h", "tab_group_features.h", "tab_group_model.h", "tab_group_theme.h", ] deps = [ "//ui/views" ] public_deps = [ ":tab_strip_model_observer", "//base", "//components/tab_groups", "//ui/base/unowned_user_data", "//ui/color:color_headers", "//ui/gfx/range", ] } source_set("tab_group_impl") { public_deps = [ "//chrome/browser:browser_public_dependencies" ] sources = [ "shared_tab_group_version_upgrade_modal.cc", "tab_group_attention_indicator.cc", "tab_group_data.cc", "tab_group_deletion_dialog_controller.cc", "tab_group_desktop.cc", "tab_group_features.cc", "tab_group_model.cc", "tab_group_theme.cc", ] deps = [ ":tab_group", ":tab_model", ":tab_strip_model_observer", ":tabs", "//chrome/browser/favicon", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//chrome/browser/tab_group_sync:factories", "//chrome/browser/themes", "//chrome/browser/ui:browser_element_identifiers", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/color:color_headers", "//chrome/browser/ui/dialogs", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/tabs/saved_tab_groups", "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//components/saved_tab_groups/internal:tab_group_sync_bridge", "//components/tab_groups", ] } source_set("tab_model") { sources = [ "existing_base_sub_menu_model.h", "existing_tab_group_sub_menu_model.h", "existing_window_sub_menu_model.h", "recent_tabs_builder.h", "recent_tabs_sub_menu_model.h", "split_tab_menu_model.h", "split_tab_swap_menu_model.h", "split_view_layout_menu_model.h", "tab_model.h", ] deps = [ "//ui/base/unowned_user_data" ] public_deps = [ ":tab_strip_model_observer", ":tabs", ":tabs_public", "//base", "//components/back_forward_cache", "//components/constrained_window", "//components/favicon/core", "//components/sessions", "//components/sync_sessions", "//components/tab_groups", "//components/web_modal", "//content/public/browser", "//ui/base", "//ui/menus", ] if (is_chromeos) { sources += [ "existing_window_sub_menu_model_chromeos.h" ] } } source_set("tab_model_impl") { public_deps = [ "//chrome/browser:browser_public_dependencies" ] sources = [ "existing_base_sub_menu_model.cc", "existing_tab_group_sub_menu_model.cc", "existing_window_sub_menu_model.cc", "split_tab_menu_model.cc", "split_tab_swap_menu_model.cc", "split_view_layout_menu_model.cc", "tab_model.cc", ] deps = [ ":tab_group", ":tab_menu", ":tab_model", ":tab_strip", ":tabs", "//chrome/app/vector_icons", "//chrome/browser/commerce", "//chrome/browser/feedback", "//chrome/browser/profiles:profile", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/commerce", "//chrome/browser/ui/tabs/saved_tab_groups", "//chrome/browser/ui/toasts", "//chrome/browser/ui/views/tabs/groups", "//chrome/browser/ui/window_metadata", "//components/saved_tab_groups/public", "//components/tab_groups", "//components/tabs:impl", ] if (is_chromeos) { sources += [ "existing_window_sub_menu_model_chromeos.cc" ] deps += [ "//chromeos/ui/wm" ] } } source_set("tab_strip") { sources = [ "tab_close_types_data.h", "tab_strip_model.h", "tab_strip_model_delegate.h", "tab_strip_model_selection_state.h", "tab_strip_model_stats_recorder.h", "tab_strip_prefs.h", "tab_strip_scrubbing_metrics.h", "tab_strip_user_gesture_details.h", ] public_deps = [ ":tab_group", ":tab_model", ":tab_strip_model_observer", ":tabs", "//base", "//chrome/browser/tab_list", "//components/sessions:session_id", "//components/tab_groups", "//ui/base", ] } source_set("tab_strip_impl") { public_deps = [ "//chrome/browser:browser_public_dependencies" ] sources = [ "tab_close_types_data.cc", "tab_strip_model.cc", "tab_strip_model_delegate.cc", "tab_strip_model_selection_state.cc", "tab_strip_model_stats_recorder.cc", "tab_strip_prefs.cc", "tab_strip_scrubbing_metrics.cc", ] deps = [ ":tab_group", ":tab_model", ":tab_strip", ":tab_strip_model_observer", ":tabs", "//chrome/app:command_ids", "//chrome/browser/commerce", "//chrome/browser/content_settings:content_settings_factory", "//chrome/browser/extensions", "//chrome/browser/glic", "//chrome/browser/lifetime", "//chrome/browser/profiles:profile", "//chrome/browser/reading_list", "//chrome/browser/resource_coordinator", "//chrome/browser/ui:browser_tab_strip", "//chrome/browser/ui:browser_tab_strip_tracker", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/commerce", "//chrome/browser/ui/send_tab_to_self", "//chrome/browser/ui/thumbnails", "//chrome/browser/ui/user_education", "//chrome/browser/ui/views/tabs/common", "//chrome/browser/ui/views/tabs/vertical", "//chrome/browser/ui/web_applications", "//chrome/browser/ui/web_applications:launch_utils", "//chrome/browser/web_applications", "//components/commerce/core:utils", "//components/content_settings/core/browser", "//components/feature_engagement/public", "//components/pref_registry", "//components/reading_list/core", "//components/tab_groups", "//components/web_modal", "//components/webapps/common", ] # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and # enable the diagnostic by removing this line. configs += [ "//build/config/compiler:no_exit_time_destructors" ] } source_set("tabs") { sources = [ "features.h", "horizontal_tab_strip_metrics.h", "hover_tab_selector.h", "new_tab_grouping_user_data.h", "pinned_tab_codec.h", "pinned_tab_service.h", "pinned_tab_service_factory.h", "split_tab_highlight_controller.h", "split_tab_metrics.h", "split_tab_util.h", "split_view_iph_controller.h", "tab_attachment_tracker.h", "tab_creation_metrics_controller.h", "tab_data.h", "tab_metrics_provider.h", "tab_style.h", "tab_types.h", "tab_utils.h", "vertical_tab_iph_controller.h", "vertical_tab_strip_metrics.h", "vertical_tab_strip_state.h", "vertical_tab_strip_state_controller.h", ] if (is_win || is_mac || is_linux || is_chromeos) { sources += [ "inactive_window_mouse_event_controller.h" ] } public_deps = [ ":features", ":page_context_eligibility_helper", ":tab_enums", ":tab_group", ":tab_strip_model_observer", ":tabs_public", "//base", "//chrome/browser/profiles:profile", "//chrome/browser/sessions", "//chrome/browser/ui:layout_constants", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/color:color_headers", "//chrome/browser/ui/omnibox", "//chrome/browser/ui/startup:startup_tab", "//chrome/browser/ui/views/permissions/chip", "//components/collaboration/public", "//components/keyed_service/core", "//components/optimization_guide/content/browser:page_context_eligibility", "//components/tabs:public", "//content/public/browser", "//skia", "//ui/base", "//ui/base/unowned_user_data", "//ui/color:color_headers", "//ui/events", "//ui/gfx", "//ui/gfx:color_utils", "//ui/gfx/geometry", "//ui/menus", "//ui/views", "//url", ] allow_circular_includes_from = [ ":tab_group" ] } source_set("impl") { public_deps = [ ":page_context_eligibility_helper", "//chrome/browser:browser_public_dependencies", "//chrome/browser/loader", ] sources = [ "horizontal_tab_strip_metrics.cc", "hover_tab_selector.cc", "pinned_tab_codec.cc", "pinned_tab_service.cc", "pinned_tab_service_factory.cc", "recent_tabs_builder.cc", "recent_tabs_sub_menu_model.cc", "split_tab_highlight_controller.cc", "split_tab_metrics.cc", "split_tab_util.cc", "split_view_iph_controller.cc", "tab_attachment_tracker.cc", "tab_creation_metrics_controller.cc", "tab_data.cc", "tab_dialog_manager.cc", "tab_features.cc", "tab_metrics_provider.cc", "tab_style.cc", "tab_utils.cc", "vertical_tab_iph_controller.cc", "vertical_tab_strip_metrics.cc", "vertical_tab_strip_state_controller.cc", ] if (is_win || is_mac || is_linux || is_chromeos) { sources += [ "inactive_window_mouse_event_controller.cc" ] } deps = [ ":tab_group", ":tab_model", ":tab_strip", ":tabs", ":utils", "//chrome/app:command_ids", "//chrome/app/vector_icons", "//chrome/browser/actor", "//chrome/browser/actor/ui", "//chrome/browser/banners", "//chrome/browser/bookmarks", "//chrome/browser/collaboration/messaging", "//chrome/browser/commerce", "//chrome/browser/commerce/in_stock_notification", "//chrome/browser/content_settings:content_settings_factory", "//chrome/browser/contextual_tasks", "//chrome/browser/favicon", "//chrome/browser/glic", "//chrome/browser/glic/browser_ui", "//chrome/browser/glic/suggestions", "//chrome/browser/image_fetcher", "//chrome/browser/indigo", "//chrome/browser/lifetime", "//chrome/browser/media/webrtc", "//chrome/browser/metrics", "//chrome/browser/net", "//chrome/browser/preloading/bookmarkbar_preload", "//chrome/browser/preloading/new_tab_page_preload", "//chrome/browser/preloading/prefetch:zero_suggest_prefetch", "//chrome/browser/profiles", "//chrome/browser/profiles:profile", "//chrome/browser/profiles:profile_manager", "//chrome/browser/search", "//chrome/browser/sessions", "//chrome/browser/signin", "//chrome/browser/skills:public", "//chrome/browser/skills:ui", "//chrome/browser/ssl", "//chrome/browser/sync", "//chrome/browser/sync:factories", "//chrome/browser/tab_contents", "//chrome/browser/tab_group_sync:factories", "//chrome/browser/task_manager", "//chrome/browser/themes", "//chrome/browser/ui:browser_actions", "//chrome/browser/ui:focus_tab_after_navigation_helper", "//chrome/browser/ui:layout_constants", "//chrome/browser/ui:sad_tab", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/actions:actions_util", "//chrome/browser/ui/autofill", "//chrome/browser/ui/blocked_content", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/commerce", "//chrome/browser/ui/context_highlight", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/interaction", "//chrome/browser/ui/lens", "//chrome/browser/ui/performance_controls", "//chrome/browser/ui/read_anything", "//chrome/browser/ui/search_engine_choice", "//chrome/browser/ui/side_panel", "//chrome/browser/ui/side_panel:side_panel_views_dependent", "//chrome/browser/ui/sync", "//chrome/browser/ui/tabs/alert:tab_alert", "//chrome/browser/ui/tabs/back_to_opener", "//chrome/browser/ui/tabs/back_to_opener:impl", "//chrome/browser/ui/tabs/organizer:impl", "//chrome/browser/ui/tabs/saved_tab_groups", "//chrome/browser/ui/thumbnails", "//chrome/browser/ui/toolbar", "//chrome/browser/ui/toolbar/pinned_toolbar", "//chrome/browser/ui/user_education", "//chrome/browser/ui/views:device_chooser_content_view", "//chrome/browser/ui/views/bookmarks", "//chrome/browser/ui/views/commerce", "//chrome/browser/ui/views/contextual_tasks", "//chrome/browser/ui/views/file_system_access", "//chrome/browser/ui/views/intent_picker:intent_picker_page_action", "//chrome/browser/ui/views/interaction", "//chrome/browser/ui/views/location_bar", "//chrome/browser/ui/views/location_bar/cookie_controls", "//chrome/browser/ui/views/page_action", "//chrome/browser/ui/views/page_info", "//chrome/browser/ui/views/passwords", "//chrome/browser/ui/views/side_panel", "//chrome/browser/ui/views/side_panel/customize_chrome", "//chrome/browser/ui/views/toolbar", "//chrome/browser/ui/views/translate", "//chrome/browser/ui/web_applications", "//chrome/browser/ui/webui:webui_util", "//chrome/browser/ui/webui_browser:headers", "//chrome/browser/vr", "//chrome/browser/web_applications", "//components/content_settings/core/browser", "//components/contextual_tasks/public", "//components/enterprise", "//components/favicon/content", "//components/favicon/core", "//components/history/core/common", "//components/image_fetcher/core", "//components/lens", "//components/metrics:content", "//components/multistep_filter/core:features", "//components/optimization_guide/content/browser:page_context_eligibility", "//components/passage_embeddings/core", "//components/performance_manager", "//components/permissions", "//components/pref_registry", "//components/privacy_sandbox:features", "//components/security_interstitials/content:security_interstitial_page", "//components/sessions", "//components/skills:features", "//components/sync_sessions", "//components/tab_groups", "//components/tabs:impl", "//components/wallet/core/common:features", "//net", "//ui/base/unowned_user_data", "//ui/webui", ] if (use_ozone) { deps += [ "//ui/ozone" ] } if (!is_android) { deps += [ "//chrome/browser/glic/selection", "//chrome/browser/record_replay:impl", "//chrome/browser/ui/views/js_optimization:impl", "//chrome/browser/ui/views/zoom", ] } if (is_win || is_mac || is_linux || is_chromeos) { deps += [ "//chrome/browser/multistep_filter", "//chrome/browser/multistep_filter/ui", "//chrome/browser/wallet", ] } if (is_win) { deps += [ "//chrome/browser/ui/search_promotion" ] } if (is_chromeos) { deps += [ "//chrome/browser/apps/app_service", "//chrome/browser/ui/views/web_apps:protocol_handler_picker_coordinator", ] } } # This is a separate component to avoid possible circular deps. source_set("tab_strip_model_observer") { sources = [ "tab_change_type.h", "tab_strip_model_observer.h", ] public_deps = [ "//base", "//chrome/browser/tab_list", "//chrome/browser/ui/tabs:tabs_public", "//components/sessions:session_id", "//components/tab_groups", "//ui/base", ] } source_set("tab_strip_model_observer_impl") { sources = [ "tab_strip_model_observer.cc" ] public_deps = [ "//chrome/browser:browser_public_dependencies" ] deps = [ ":tab_strip", ":tab_strip_model_observer", "//base", "//content/public/browser", ] } source_set("test_support") { testonly = true sources = [ "pinned_tab_test_utils.cc", "pinned_tab_test_utils.h", "tab_activity_simulator.cc", "tab_activity_simulator.h", "tab_strip_model_test_utils.cc", "tab_strip_model_test_utils.h", "tab_ukm_test_helper.cc", "tab_ukm_test_helper.h", "test_tab_strip_model_delegate.cc", "test_tab_strip_model_delegate.h", "test_vertical_tab_strip_state_controller_delegate.cc", "test_vertical_tab_strip_state_controller_delegate.h", ] public_deps = [ "//chrome/browser/ui/startup:startup_tab", "//components/ukm:test_support", "//ui/base", ] deps = [ ":tab_strip", ":tabs_public", "//base", "//chrome/browser/extensions", "//chrome/browser/glic", "//chrome/browser/profiles:profile", "//chrome/browser/ui/tab_contents", "//content/public/browser", "//content/test:test_support", "//services/metrics/public/cpp:metrics_cpp", "//services/metrics/public/mojom", "//testing/gtest", ] } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "existing_base_sub_menu_model_browsertest.cc", "existing_window_sub_menu_model_browsertest.cc", "glic_tab_sub_menu_model_browsertest.cc", "pinned_tab_codec_browsertest.cc", "pinned_tab_service_browsertest.cc", "recent_tabs_builder_test_helper.cc", "recent_tabs_builder_test_helper.h", "recent_tabs_sub_menu_model_browsertest.cc", "tab_attachment_tracker_browsertest.cc", "tab_creation_metrics_controller_browsertest.cc", "tab_data_browsertest.cc", "tab_dialog_manager_browsertest.cc", "tab_group_data_browsertest.cc", "tab_list_bridge_browsertest.cc", "tab_menu_model_browsertest.cc", "tab_model_browsertest.cc", "tab_strip_model_browsertest.cc", ] deps = [ ":tab_enums", ":tab_list_bridge", ":tab_menu", ":tab_strip", ":tab_strip_model_observer", ":tabs", ":test_support", "//base", "//base/test:test_support", "//chrome/browser", "//chrome/browser/favicon", "//chrome/browser/glic", "//chrome/browser/glic:impl", "//chrome/browser/glic/test_support", "//chrome/browser/policy:test_support", "//chrome/browser/profiles:profile", "//chrome/browser/profiles/keep_alive", "//chrome/browser/sync", "//chrome/browser/ui", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/performance_controls", "//chrome/browser/ui/tabs/saved_tab_groups", "//chrome/browser/ui/tabs/saved_tab_groups:test_support", "//chrome/browser/ui/thumbnails", "//chrome/browser/web_applications", "//chrome/browser/web_applications:prevent_close_test_support", "//chrome/browser/web_applications:web_applications_test_support", "//chrome/common:chrome_features", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//components/commerce/core:account_checker_test_support", "//components/commerce/core:feature_list", "//components/commerce/core:shopping_service", "//components/commerce/core:shopping_service_test_support", "//components/policy:generated", "//components/policy:policy_code_generate", "//components/policy/core/browser", "//components/policy/core/common", "//components/policy/core/common:test_support", "//components/saved_tab_groups/public:features", "//components/saved_tab_groups/test_support", "//components/send_tab_to_self", "//components/send_tab_to_self:test_support", "//components/tab_groups", "//components/webapps/common", "//content/public/browser", "//content/test:test_support", "//ui/base:features", "//ui/base:types", "//url", ] } source_set("interactive_ui_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "vertical_tab_strip_state_controller_interactive_uitest.cc" ] sources += [ "tab_dialog_manager_interactive_uitest.cc" ] deps = [ ":tabs", ":test_support", "//base", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//chrome/test/user_education:impl", "//content/public/browser", "//content/test:test_support", "//testing/gtest", "//ui/base:types", "//ui/views", ] } source_set("unit_tests") { testonly = true sources = [ "inactive_window_mouse_event_controller_unittest.cc", "split_view_iph_controller_unittest.cc", "tab_collection_storage_unittest.cc", "tab_collection_unittest.cc", "tab_group_deletion_dialog_controller_unittest.cc", "tab_iterator_unittest.cc", "tab_menu_model_unittest.cc", "tab_metrics_provider_unittest.cc", "tab_model_unittest.cc", "tab_strip_model_context_menu_unittest.cc", "tab_strip_model_selection_state_unittest.cc", "tab_strip_model_stats_recorder_unittest.cc", "tab_strip_model_unittest.cc", "vertical_tab_strip_state_controller_unittest.cc", ] public_deps = [ ":tab_strip", "//base", "//components/sessions:session_id", "//components/tab_groups", ] deps = [ ":page_context_eligibility_helper_unit_tests", ":tab_enums", ":tab_group", ":tab_menu", ":tab_model", ":tabs", ":test_support", "tab_drag_api:unit_tests", "tab_strip_api:unit_tests", "//base/test:test_support", "//chrome/app:command_ids", "//chrome/browser", "//chrome/browser/actor", "//chrome/browser/actor:test_support", "//chrome/browser/commerce", "//chrome/browser/content_settings:content_settings_factory", "//chrome/browser/extensions", "//chrome/browser/glic", "//chrome/browser/glic/browser_ui", "//chrome/browser/glic/test_support", "//chrome/browser/optimization_guide", "//chrome/browser/prefs", "//chrome/browser/sync", "//chrome/browser/ui", "//chrome/browser/ui:browser_actions", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/performance_controls", "//chrome/browser/ui/startup:startup_tab", "//chrome/browser/ui/tab_contents", "//chrome/browser/ui/tabs/alert:tab_alert", "//chrome/browser/ui/thumbnails", "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//chrome/browser/user_education", "//chrome/common:non_code_constants", "//chrome/test:test_support", "//chrome/test/user_education:impl", "//components/commerce/core:account_checker_test_support", "//components/commerce/core:feature_list", "//components/commerce/core:shopping_service", "//components/commerce/core:shopping_service_test_support", "//components/content_settings/core/browser", "//components/optimization_guide/core", "//components/optimization_guide/core:features", "//components/sessions", "//components/sessions:test_support", "//components/sync:test_support", "//components/sync/base", "//components/sync/engine", "//components/sync/model", "//components/sync/protocol", "//components/sync/service", "//components/sync_sessions", "//components/tabs:test_support", "//components/web_modal", "//content/public/browser", "//content/test:test_support", "//skia", "//testing/gmock", "//testing/gtest", "//ui/base", "//ui/gfx", "//ui/views", "//url", ] } }