# Copyright 2024 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//rlz/buildflags/buildflags.gni") assert(is_chromeos) static_library("session") { sources = [ "chrome_session_manager.cc", "chrome_session_manager.h", "session_length_limiter.cc", "session_length_limiter.h", "session_manager_delegate_impl.cc", "session_manager_delegate_impl.h", "session_start_time_tracker.cc", "session_start_time_tracker.h", "user_session_initializer.cc", "user_session_initializer.h", "user_session_manager.cc", "user_session_manager.h", ] public_deps = [ "//base", "//chrome/browser:browser_public_dependencies", "//chrome/browser/ash/base", "//chrome/browser/ash/hats", "//chrome/browser/ash/release_notes", "//chrome/browser/profiles:profile", "//chromeos/ash/components/dbus/session_manager", "//chromeos/ash/components/login/auth", "//chromeos/ash/components/login/auth/public:authpublic", "//chromeos/ash/components/login/integrity", "//chromeos/ash/experiences/arc", "//chromeos/dbus/tpm_manager:tpm_manager_proto", "//components/session_manager/core", "//components/user_manager", "//services/network/public/cpp", "//ui/base/ime/ash", ] deps = [ "//ash", "//ash/constants", "//ash/webui/shimless_rma", "//chrome/browser:browser_process", "//chrome/browser:browser_process_platform_part", "//chrome/browser:flags", "//chrome/browser:global_features", "//chrome/browser/app_mode", "//chrome/browser/ash/accessibility/live_caption", "//chrome/browser/ash/app_list", "//chrome/browser/ash/app_list/arc", "//chrome/browser/ash/arc:arc_util", "//chrome/browser/ash/boca", "//chrome/browser/ash/boot_times_recorder", "//chrome/browser/ash/calendar", "//chrome/browser/ash/child_accounts", "//chrome/browser/ash/crostini", "//chrome/browser/ash/drive", "//chrome/browser/ash/floating_workspace:utils", "//chrome/browser/ash/kerberos", "//chrome/browser/ash/logging", "//chrome/browser/ash/login/demo_mode", "//chrome/browser/ash/login/quick_unlock", "//chrome/browser/ash/login/saml", "//chrome/browser/ash/policy/core", "//chrome/browser/ash/policy/remote_commands", "//chrome/browser/ash/profiles", "//chrome/browser/ash/settings", "//chrome/browser/ash/tpm", "//chrome/browser/component_updater", "//chrome/browser/first_run", "//chrome/browser/google", "//chrome/browser/lifetime", "//chrome/browser/manta", "//chrome/browser/manta:impl", "//chrome/browser/metrics", "//chrome/browser/net", "//chrome/browser/password_manager/factories", "//chrome/browser/prefs:util", "//chrome/browser/profiles:profile_manager", "//chrome/browser/screen_ai:screen_ai_dlc_installer", "//chrome/browser/signin", "//chrome/browser/supervised_user", "//chrome/browser/trusted_vault", "//chrome/browser/ui/startup", "//chrome/browser/ui/webui/ash/shimless_rma_dialog", "//chrome/common", "//chrome/common:chrome_features", "//chrome/common:constants", "//chrome/common:non_code_constants", "//chromeos/ash/components/account_manager", "//chromeos/ash/components/assistant:buildflags", "//chromeos/ash/components/audio", "//chromeos/ash/components/boca", "//chromeos/ash/components/browser_context_helper", "//chromeos/ash/components/cryptohome", "//chromeos/ash/components/dbus", "//chromeos/ash/components/dbus/pciguard", "//chromeos/ash/components/dbus/rmad", "//chromeos/ash/components/demo_mode", "//chromeos/ash/components/install_attributes", "//chromeos/ash/components/login/session", "//chromeos/ash/components/network", "//chromeos/ash/components/osauth/public", "//chromeos/ash/components/peripheral_notification", "//chromeos/ash/components/settings", "//chromeos/ash/components/signin:identity_manager_provider", "//chromeos/ash/components/tpm", "//chromeos/ash/experiences/arc:arc_base_utils", "//chromeos/ash/experiences/arc:arc_features", "//chromeos/ash/experiences/arc:prefs", "//chromeos/ash/experiences/arc/session:arc_base_enums", "//chromeos/ash/experiences/frozen_update", "//chromeos/ash/services/cros_safety", "//chromeos/constants", "//chromeos/dbus/tpm_manager", "//chromeos/ui/base", "//chromeos/ui/vector_icons", "//components/account_id", "//components/account_manager_core", "//components/application_locale_storage", "//components/component_updater", "//components/language/core/browser", "//components/live_caption:utils", "//components/password_manager/core/browser:metrics_util", "//components/password_manager/core/browser/password_store:password_store_interface", "//components/policy/core/common:common_constants", "//components/prefs", "//components/quirks", "//components/server_certificate_database", "//components/session_manager:base", "//components/signin/public/base", "//components/signin/public/base:signin_switches", "//components/signin/public/identity_manager", "//components/startup_metric_utils", "//components/supervised_user/core/browser", "//components/trusted_vault", "//components/user_manager:common", "//components/version_info", "//components/webui/flags", "//content/public/browser", "//content/public/common", "//extensions/common", "//extensions/common:mojom", "//media", "//rlz/buildflags", "//ui/aura", "//url", # TODO(b/353449319): Use //chrome/browser/ash after fixing cyclic dependency # from # obj/chrome/browser/ash/login/session/session/user_session_initializer.o. "//chrome/browser/policy/messaging_layer/proto:app_install_events_proto", ] allow_circular_includes_from = [ "//chrome/browser/ash/app_list/arc", "//chrome/browser/ash/base", "//chrome/browser/ash/kerberos", "//chrome/browser/ash/policy/core", "//chrome/browser/ash/settings", ] if (enable_rlz) { deps += [ "//chrome/browser/rlz", "//components/rlz", ] } } static_library("test_support") { testonly = true sources = [ "user_session_manager_test_api.cc", "user_session_manager_test_api.h", ] public_deps = [ "//base", "//chrome/browser/ash/login/session", ] deps = [ "//chromeos/ash/components/login/auth" ] } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "chrome_session_manager_browsertest.cc" ] deps = [ "//ash", "//ash/constants", "//base", "//chrome/browser/ash/login:test_support", "//chrome/browser/ash/login/lock:test_support", "//chrome/browser/ui", "//chrome/browser/ui/ash/login", "//chrome/browser/ui/webui/ash/login", "//chrome/test:test_support_ui", "//chromeos/ash/components/browser_context_helper", "//chromeos/ash/components/system", "//components/signin/public/identity_manager:test_support", "//content/test:test_support", "//google_apis:test_support", "//rlz/buildflags", "//testing/gtest", "//ui/base/clipboard", "//ui/base/clipboard:clipboard_test_support", ] if (enable_rlz) { deps += [ ":session", "//chrome/browser/google", "//chrome/common:non_code_constants", "//chromeos/ash/components/install_attributes:test_support", "//components/user_manager", ] } } source_set("unit_tests") { testonly = true sources = [ "session_length_limiter_unittest.cc", "user_session_manager_unittest.cc", ] deps = [ ":session", ":test_support", "//base", "//base/test:test_support", "//chrome/browser", "//chrome/browser/ash/login/demo_mode", "//chrome/browser/ash/login/users:test_support", "//chrome/browser/prefs", "//chrome/test:test_support", "//chromeos/ash/components/dbus/session_manager", "//chromeos/ash/components/login/auth/public:authpublic", "//components/language/core/browser", "//components/session_manager/core:test_support", "//components/signin/public/base:signin_switches", "//components/sync_preferences:test_support", "//components/user_manager", "//components/user_manager:test_support", "//content/public/browser", "//content/test:test_support", "//testing/gmock", "//testing/gtest", ] }