blob: ce3fb746a3574ef04f2bd01876eda659083cb38e [file] [log] [blame]
# 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.
source_set("scene_state_observer") {
sources = [ "scene_state_observer.h" ]
frameworks = [ "UIKit.framework" ]
}
source_set("observing_scene_agent") {
sources = [
"observing_scene_state_agent.h",
"observing_scene_state_agent.mm",
]
frameworks = [ "UIKit.framework" ]
public_deps = [
"//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
"//ios/chrome/browser/shared/coordinator/scene:scene_state_observer",
]
}
source_set("scene_state_header") {
sources = [
"connection_information.h",
"scene_controller.h",
"scene_state.h",
"scene_ui_provider.h",
]
public_deps = [
":scene_state_browser_agent",
":scene_state_observer",
"//ios/chrome/app/application_delegate:tab_opening",
"//ios/chrome/browser/shared/model/browser",
"//ios/chrome/browser/shared/model/web_state_list",
"//ios/chrome/browser/shared/public/commands",
"//ios/chrome/browser/ui/scoped_ui_blocker",
"//ios/chrome/browser/window_activities",
]
}
source_set("scene_testing") {
sources = [ "scene_controller_testing.h" ]
frameworks = [ "UIKit.framework" ]
}
source_set("scene") {
sources = [
"scene_controller.mm",
"scene_delegate.h",
"scene_delegate.mm",
"scene_state.mm",
]
deps = [
":scene_state_browser_agent",
":scene_util",
"//base",
"//components/autofill/core/browser",
"//components/breadcrumbs/core",
"//components/breadcrumbs/core:status",
"//components/feature_engagement/public",
"//components/infobars/core",
"//components/password_manager/core/common:features",
"//components/prefs",
"//components/prefs/ios",
"//components/previous_session_info",
"//components/signin/public/base",
"//components/signin/public/identity_manager",
"//components/signin/public/identity_manager/objc",
"//components/url_formatter",
"//components/version_info",
"//components/web_resource",
"//ios/chrome/app",
"//ios/chrome/app:blocking_scene_commands",
"//ios/chrome/app:mode",
"//ios/chrome/app:tests_hook",
"//ios/chrome/app/application_delegate:app_state_header",
"//ios/chrome/app/application_delegate:tab_opening",
"//ios/chrome/app/application_delegate:url_opener_params",
"//ios/chrome/app/strings",
"//ios/chrome/browser/browsing_data",
"//ios/chrome/browser/crash_report",
"//ios/chrome/browser/crash_report:crash_report_internal",
"//ios/chrome/browser/crash_report/breadcrumbs",
"//ios/chrome/browser/default_browser",
"//ios/chrome/browser/default_browser:utils",
"//ios/chrome/browser/feature_engagement",
"//ios/chrome/browser/first_run",
"//ios/chrome/browser/geolocation",
"//ios/chrome/browser/infobars",
"//ios/chrome/browser/mailto_handler",
"//ios/chrome/browser/mailto_handler:mailto_handler_factory",
"//ios/chrome/browser/main",
"//ios/chrome/browser/ntp",
"//ios/chrome/browser/ntp:features",
"//ios/chrome/browser/policy",
"//ios/chrome/browser/policy:policy_util",
"//ios/chrome/browser/promos_manager:factory",
"//ios/chrome/browser/promos_manager:features",
"//ios/chrome/browser/screenshot",
"//ios/chrome/browser/sessions:session_saving",
"//ios/chrome/browser/sessions:session_service",
"//ios/chrome/browser/shared/coordinator/default_browser_promo",
"//ios/chrome/browser/shared/coordinator/layout_guide:layout_guide_scene_agent",
"//ios/chrome/browser/shared/model/application_context",
"//ios/chrome/browser/shared/model/browser_state",
"//ios/chrome/browser/shared/model/paths",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//ios/chrome/browser/shared/model/url",
"//ios/chrome/browser/shared/model/url:constants",
"//ios/chrome/browser/shared/model/web_state_list",
"//ios/chrome/browser/shared/public/commands:commands",
"//ios/chrome/browser/shared/public/features",
"//ios/chrome/browser/shared/ui/util",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/signin:capabilities_types",
"//ios/chrome/browser/signin:system_identity_manager",
"//ios/chrome/browser/snapshots",
"//ios/chrome/browser/ui/app_store_rating",
"//ios/chrome/browser/ui/app_store_rating:features",
"//ios/chrome/browser/ui/appearance",
"//ios/chrome/browser/ui/authentication",
"//ios/chrome/browser/ui/authentication/enterprise:enterprise_utils",
"//ios/chrome/browser/ui/authentication/signed_in_accounts",
"//ios/chrome/browser/ui/authentication/signin",
"//ios/chrome/browser/ui/blocking_overlay",
"//ios/chrome/browser/ui/browser_view",
"//ios/chrome/browser/ui/credential_provider_promo",
"//ios/chrome/browser/ui/default_promo",
"//ios/chrome/browser/ui/first_run",
"//ios/chrome/browser/ui/history",
"//ios/chrome/browser/ui/incognito_interstitial:incognito_interstitial",
"//ios/chrome/browser/ui/incognito_reauth:incognito_reauth_scene_agent",
"//ios/chrome/browser/ui/lens:lens_entrypoint",
"//ios/chrome/browser/ui/main",
"//ios/chrome/browser/ui/main:default_browser_scene_agent",
"//ios/chrome/browser/ui/main:incognito_blocker_scene_agent",
"//ios/chrome/browser/ui/main:scene",
"//ios/chrome/browser/ui/ntp:feature_flags",
"//ios/chrome/browser/ui/policy:user_policy_scene_agent",
"//ios/chrome/browser/ui/promos_manager:promos_manager_scene_agent",
"//ios/chrome/browser/ui/scoped_ui_blocker",
"//ios/chrome/browser/ui/settings:settings_root",
"//ios/chrome/browser/ui/settings/sync",
"//ios/chrome/browser/ui/start_surface",
"//ios/chrome/browser/ui/start_surface:feature_flags",
"//ios/chrome/browser/ui/tab_switcher:tab_utils",
"//ios/chrome/browser/ui/tab_switcher/tab_grid",
"//ios/chrome/browser/ui/whats_new/promo",
"//ios/chrome/browser/url_loading",
"//ios/chrome/browser/web:page_placeholder",
"//ios/chrome/browser/web_state_list:agents",
"//ios/chrome/browser/web_state_list:session_metrics",
"//ios/chrome/browser/window_activities",
"//ios/chrome/common/ui/reauthentication",
"//ios/chrome/common/ui/util",
"//ios/public/provider/chrome/browser/signin:choice_api",
"//ios/public/provider/chrome/browser/ui_utils:ui_utils_api",
"//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
"//ios/third_party/material_components_ios",
"//ios/web/common:features",
"//ui/base:base",
]
public_deps = [ ":scene_state_header" ]
allow_circular_includes_from = [
# TODO(crbug.com/1103553): remove circular dependency.
"//ios/chrome/browser/ui/settings/sync",
]
frameworks = [ "UIKit.framework" ]
}
source_set("scene_util") {
sources = [
"scene_util.h",
"scene_util.mm",
]
deps = [ "//base" ]
frameworks = [ "UIKit.framework" ]
}
source_set("scene_util_test_support") {
testonly = true
sources = [
"scene_util_test_support.h",
"scene_util_test_support.mm",
]
frameworks = [ "UIKit.framework" ]
}
source_set("scene_state_browser_agent") {
sources = [
"scene_state_browser_agent.h",
"scene_state_browser_agent.mm",
]
public_deps = [ "//ios/chrome/browser/shared/model/browser" ]
deps = [ "//base" ]
}
source_set("unit_tests") {
testonly = true
sources = [
"scene_controller_unittest.mm",
"scene_state_browser_agent_unittest.mm",
"scene_util_unittest.mm",
]
deps = [
":scene_state_browser_agent",
":scene_state_header",
":scene_util",
":scene_util_test_support",
"//ios/chrome/browser/shared/model/browser",
"//ios/chrome/browser/shared/model/browser/test:test_support",
"//ios/chrome/browser/shared/model/browser_state:test_support",
"//ios/web/public/test",
"//testing/gtest",
"//third_party/ocmock",
]
}