# 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.

source_set("coordinator") {
  sources = [
    "scene_coordinator.h",
    "scene_coordinator.mm",
    "scene_mediator.h",
    "scene_mediator.mm",
  ]
  deps = [
    "//base",
    "//components/autofill/core/browser",
    "//components/feature_engagement/public",
    "//components/feature_engagement/public:feature_constants",
    "//components/signin/public/identity_manager",
    "//components/supervised_user/core/browser",
    "//components/supervised_user/core/browser:fetcher",
    "//components/supervised_user/core/browser/proto",
    "//ios/chrome/app",
    "//ios/chrome/app:task_names",
    "//ios/chrome/app/application_delegate:app_state",
    "//ios/chrome/app/profile",
    "//ios/chrome/app/profile:first_run_profile_agent",
    "//ios/chrome/browser/ai_prototyping/coordinator",
    "//ios/chrome/browser/app_bar/coordinator",
    "//ios/chrome/browser/app_bar/ui",
    "//ios/chrome/browser/assistant/coordinator",
    "//ios/chrome/browser/assistant/coordinator:commands",
    "//ios/chrome/browser/authentication/account_menu/coordinator",
    "//ios/chrome/browser/authentication/account_menu/public",
    "//ios/chrome/browser/authentication/enterprise/managed_profile_creation/coordinator",
    "//ios/chrome/browser/authentication/enterprise/public:constants",
    "//ios/chrome/browser/authentication/ui_bundled",
    "//ios/chrome/browser/authentication/ui_bundled:continuation",
    "//ios/chrome/browser/authentication/ui_bundled/change_profile",
    "//ios/chrome/browser/authentication/ui_bundled/signin:signin_headers",
    "//ios/chrome/browser/authentication/ui_bundled/signout_action_sheet/undo_signout/coordinator",
    "//ios/chrome/browser/cobrowse/coordinator",
    "//ios/chrome/browser/cobrowse/model",
    "//ios/chrome/browser/default_browser/model:utils",
    "//ios/chrome/browser/feature_engagement/model",
    "//ios/chrome/browser/first_run/guided_tour/coordinator",
    "//ios/chrome/browser/fullscreen/ui_bundled",
    "//ios/chrome/browser/fullscreen/ui_bundled:ui",
    "//ios/chrome/browser/history/ui_bundled:coordinator",
    "//ios/chrome/browser/history/ui_bundled:coordinator_factory",
    "//ios/chrome/browser/incognito_interstitial/ui_bundled:coordinator",
    "//ios/chrome/browser/incognito_reauth/ui_bundled:incognito_reauth_scene_agent",
    "//ios/chrome/browser/infobars/model",
    "//ios/chrome/browser/intelligence/bwg/coordinator",
    "//ios/chrome/browser/intelligence/bwg/model:browser_agent",
    "//ios/chrome/browser/intelligence/bwg/model:gemini_service",
    "//ios/chrome/browser/intelligence/bwg/model:gemini_service_factory",
    "//ios/chrome/browser/intelligence/bwg/model:tab_helper",
    "//ios/chrome/browser/intelligence/bwg/utils:availability",
    "//ios/chrome/browser/intelligence/bwg/utils:constants",
    "//ios/chrome/browser/intelligence/features",
    "//ios/chrome/browser/mailto_handler/model",
    "//ios/chrome/browser/mailto_handler/model:mailto_handler_factory",
    "//ios/chrome/browser/main/ui",
    "//ios/chrome/browser/policy/model:browser_agent",
    "//ios/chrome/browser/policy/model:policy_util",
    "//ios/chrome/browser/safari_data_import/coordinator",
    "//ios/chrome/browser/safari_data_import/model:features",
    "//ios/chrome/browser/safari_data_import/public",
    "//ios/chrome/browser/scene/ui",
    "//ios/chrome/browser/settings/ui_bundled:settings_root",
    "//ios/chrome/browser/settings/ui_bundled/password/password_checkup",
    "//ios/chrome/browser/shared/coordinator/layout_guide",
    "//ios/chrome/browser/shared/coordinator/root_coordinator",
    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
    "//ios/chrome/browser/shared/coordinator/scene/state",
    "//ios/chrome/browser/shared/model/application_context",
    "//ios/chrome/browser/shared/model/browser",
    "//ios/chrome/browser/shared/model/profile:utils",
    "//ios/chrome/browser/shared/model/url:constants",
    "//ios/chrome/browser/shared/public/commands",
    "//ios/chrome/browser/shared/public/features",
    "//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/signin/model:system_identity_manager",
    "//ios/chrome/browser/snapshots/model",
    "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid",
    "//ios/chrome/browser/tab_switcher/ui_bundled/tab_grid:tab_grid_paging",
    "//ios/chrome/browser/url_loading/model",
    "//ios/chrome/browser/youtube_incognito/coordinator",
    "//ios/public/provider/chrome/browser/ui_utils:ui_utils_api",
    "//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "scene_coordinator_unittest.mm",
    "scene_mediator_unittest.mm",
  ]
  deps = [
    ":coordinator",
    "//base",
    "//base/test:test_support",
    "//components/feature_engagement/public",
    "//components/feature_engagement/public:feature_constants",
    "//components/feature_engagement/test:test_support",
    "//components/signin/public/base",
    "//components/signin/public/identity_manager:test_support",
    "//components/supervised_user/test_support",
    "//ios/chrome/app/application_delegate:tab_opening",
    "//ios/chrome/app/profile",
    "//ios/chrome/app/profile:test_utils",
    "//ios/chrome/browser/app_bar/ui",
    "//ios/chrome/browser/fullscreen/ui_bundled",
    "//ios/chrome/browser/fullscreen/ui_bundled:ui",
    "//ios/chrome/browser/fullscreen/ui_bundled/test",
    "//ios/chrome/browser/scene/ui",
    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
    "//ios/chrome/browser/shared/coordinator/scene/state",
    "//ios/chrome/browser/shared/coordinator/scene/test",
    "//ios/chrome/browser/shared/model/browser",
    "//ios/chrome/browser/shared/model/browser/test:test_support",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/chrome/browser/shared/public/commands",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/shared/ui/util:util_swift",
    "//ios/chrome/browser/signin/model",
    "//ios/chrome/browser/signin/model:authentication_service_factory",
    "//ios/chrome/browser/signin/model:test_support",
    "//ios/chrome/test:test_support",
    "//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
    "//ios/web/public/test",
    "//services/network:test_support",
    "//services/network/public/cpp",
    "//testing/gtest",
    "//third_party/ocmock",
  ]
}
