# Copyright 2025 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//ios/build/chrome_build.gni") source_set("coordinator") { sources = [ "content_suggestions_coordinator.h", "content_suggestions_coordinator.mm", "content_suggestions_mediator.h", "content_suggestions_mediator.mm", ] public_deps = [ "//ios/chrome/browser/content_suggestions/magic_stack/coordinator:ranking_model", "//ios/chrome/browser/content_suggestions/ui", ] deps = [ ":public", "//base", "//components/commerce/core:feature_list", "//components/commerce/core:shopping_service", "//components/feature_engagement/public", "//components/feed/core/v2/public/ios:feed_ios_public", "//components/image_fetcher/core", "//components/keyed_service/core", "//components/ntp_tiles", "//components/ntp_tiles:pref_names", "//components/password_manager/core/browser/ui", "//components/password_manager/core/browser/ui:credential_ui_entry", "//components/pref_registry", "//components/prefs", "//components/search_engines", "//components/segmentation_platform/embedder/home_modules", "//components/segmentation_platform/embedder/home_modules:constants", "//components/segmentation_platform/embedder/home_modules/tips_manager:constants", "//components/segmentation_platform/public", "//components/send_tab_to_self", "//components/strings", "//components/url_formatter", "//ios/chrome/app:tests_hook", "//ios/chrome/app/application_delegate:app_state", "//ios/chrome/app/profile", "//ios/chrome/app/strings", "//ios/chrome/browser/app_store_bundle/model:app_store_bundle_service_factory", "//ios/chrome/browser/authentication/ui_bundled/signin:constants", "//ios/chrome/browser/authentication/ui_bundled/signin:signin_headers", "//ios/chrome/browser/bookmarks/model", "//ios/chrome/browser/commerce/model:shopping_service", "//ios/chrome/browser/commerce/model/push_notification", "//ios/chrome/browser/content_suggestions/app_bundle_promo/coordinator", "//ios/chrome/browser/content_suggestions/default_browser/coordinator", "//ios/chrome/browser/content_suggestions/impression_limits/model", "//ios/chrome/browser/content_suggestions/magic_stack/public:utils", "//ios/chrome/browser/content_suggestions/magic_stack/ui", "//ios/chrome/browser/content_suggestions/magic_stack/ui:public", "//ios/chrome/browser/content_suggestions/model:metrics_constants", "//ios/chrome/browser/content_suggestions/model:metrics_recorder", "//ios/chrome/browser/content_suggestions/most_visited_tiles/coordinator", "//ios/chrome/browser/content_suggestions/most_visited_tiles/public", "//ios/chrome/browser/content_suggestions/most_visited_tiles/ui", "//ios/chrome/browser/content_suggestions/price_tracking_promo/coordinator", "//ios/chrome/browser/content_suggestions/public:constants", "//ios/chrome/browser/content_suggestions/public:ntp_home_constants", "//ios/chrome/browser/content_suggestions/safety_check/coordinator", "//ios/chrome/browser/content_suggestions/safety_check/model:utils", "//ios/chrome/browser/content_suggestions/safety_check/ui:item_types", "//ios/chrome/browser/content_suggestions/send_tab_to_self/coordinator", "//ios/chrome/browser/content_suggestions/set_up_list/coordinator", "//ios/chrome/browser/content_suggestions/set_up_list/coordinator:default_browser_promo", "//ios/chrome/browser/content_suggestions/set_up_list/public:utils", "//ios/chrome/browser/content_suggestions/set_up_list/ui", "//ios/chrome/browser/content_suggestions/shop_card/coordinator", "//ios/chrome/browser/content_suggestions/shortcuts/coordinator", "//ios/chrome/browser/content_suggestions/tab_resumption/coordinator", "//ios/chrome/browser/content_suggestions/tips/coordinator", "//ios/chrome/browser/content_suggestions/tips/model", "//ios/chrome/browser/content_suggestions/tips/ui", "//ios/chrome/browser/content_suggestions/ui:commands", "//ios/chrome/browser/content_suggestions/ui:public", "//ios/chrome/browser/content_suggestions/ui:ui_util", "//ios/chrome/browser/default_browser/model", "//ios/chrome/browser/default_browser/model:utils", "//ios/chrome/browser/default_browser/promo/public:features", "//ios/chrome/browser/discover_feed/model", "//ios/chrome/browser/discover_feed/model:discover_feed_factory", "//ios/chrome/browser/favicon/model", "//ios/chrome/browser/feature_engagement/model", "//ios/chrome/browser/history/model", "//ios/chrome/browser/home_customization/coordinator", "//ios/chrome/browser/home_customization/utils", "//ios/chrome/browser/lens/ui_bundled:lens_entrypoint", "//ios/chrome/browser/level_up/model", "//ios/chrome/browser/menu/ui_bundled", "//ios/chrome/browser/menu/ui_bundled:menu_action_type", "//ios/chrome/browser/net/model:crurl", "//ios/chrome/browser/ntp/model", "//ios/chrome/browser/ntp/model:set_up_list_item_type", "//ios/chrome/browser/ntp/model:set_up_list_prefs", "//ios/chrome/browser/ntp/shared/metrics:home_metrics", "//ios/chrome/browser/ntp/ui_bundled", "//ios/chrome/browser/ntp/ui_bundled:constants", "//ios/chrome/browser/ntp/ui_bundled:feature_flags", "//ios/chrome/browser/ntp_tiles/model", "//ios/chrome/browser/optimization_guide/model", "//ios/chrome/browser/passwords/model:password_checkup_utils", "//ios/chrome/browser/policy/model:policy_util", "//ios/chrome/browser/promos_manager/model:factory", "//ios/chrome/browser/push_notification/coordinator:opt_in_alert_coordinator", "//ios/chrome/browser/push_notification/model:constants", "//ios/chrome/browser/push_notification/model:profile_service", "//ios/chrome/browser/push_notification/model:profile_service_factory", "//ios/chrome/browser/push_notification/model:push_notification_client_id", "//ios/chrome/browser/push_notification/model:push_notification_service_header", "//ios/chrome/browser/push_notification/model:push_notification_settings_util_header", "//ios/chrome/browser/push_notification/model:push_notification_util", "//ios/chrome/browser/reading_list/model", "//ios/chrome/browser/safety_check/model", "//ios/chrome/browser/safety_check/model:factory", "//ios/chrome/browser/safety_check_notifications/utils", "//ios/chrome/browser/safety_check_notifications/utils:constants", "//ios/chrome/browser/search_engines/model:template_url_service_factory", "//ios/chrome/browser/segmentation_platform/model", "//ios/chrome/browser/shared/coordinator/alert", "//ios/chrome/browser/shared/coordinator/chrome_coordinator", "//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/prefs", "//ios/chrome/browser/shared/model/prefs:pref_names", "//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/util", "//ios/chrome/browser/signin/model", "//ios/chrome/browser/signin/model:authentication_service", "//ios/chrome/browser/signin/model:authentication_service_factory", "//ios/chrome/browser/tips_manager/model:factory", "//ios/chrome/browser/url_loading/model", "//ios/chrome/browser/url_loading/model:url_loading_params_header", "//ios/web/public", "//ios/web/public/navigation", "//services/network/public/cpp", "//ui/base", "//url", ] if (ios_enable_widget_kit_extension) { deps += [ "//ios/chrome/browser/widget_kit/model:model_swift" ] } frameworks = [ "AuthenticationServices.framework", "UIKit.framework", ] } source_set("public") { sources = [ "content_suggestions_delegate.h" ] } source_set("unit_tests") { testonly = true sources = [ "content_suggestions_coordinator_unittest.mm", "content_suggestions_mediator_unittest.mm", ] deps = [ ":coordinator", "//base", "//base/test:test_support", "//components/commerce/core:shopping_service_test_support", "//components/feature_engagement/test:test_support", "//components/pref_registry", "//components/signin/public/base:signin_switches", "//components/sync_preferences:test_support", "//ios/chrome/browser/commerce/model:shopping_service", "//ios/chrome/browser/content_suggestions/magic_stack/ui", "//ios/chrome/browser/content_suggestions/magic_stack/ui:public", "//ios/chrome/browser/content_suggestions/public:constants", "//ios/chrome/browser/default_browser/model:test_support", "//ios/chrome/browser/favicon/model", "//ios/chrome/browser/feature_engagement/model", "//ios/chrome/browser/ntp/model:set_up_list_prefs", "//ios/chrome/browser/ntp/ui_bundled", "//ios/chrome/browser/reading_list/model", "//ios/chrome/browser/reading_list/model:test_support", "//ios/chrome/browser/safety_check/model:factory", "//ios/chrome/browser/search_engines/model:template_url_service_factory", "//ios/chrome/browser/segmentation_platform/model", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/browser/test:test_support", "//ios/chrome/browser/shared/model/prefs:pref_names", "//ios/chrome/browser/shared/model/profile/test", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/shared/public/features", "//ios/chrome/browser/signin/model", "//ios/chrome/browser/signin/model:authentication_service", "//ios/chrome/browser/signin/model:authentication_service_factory", "//ios/chrome/browser/signin/model:test_support", "//ios/chrome/browser/start_surface/ui_bundled", "//ios/chrome/browser/sync/model", "//ios/chrome/browser/sync/model:test_support", "//ios/chrome/test:test_support", "//ios/web/public/test", "//ios/web/public/test/fakes", "//testing/gtest", "//third_party/ocmock", ] }