# Copyright 2014 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. component("common") { sources = [ "user_type.cc", "user_type.h", ] defines = [ "IS_USER_MANAGER_COMMON_IMPL" ] deps = [ "//base" ] } component("user_manager") { sources = [ "multi_user/multi_user_sign_in_policy.cc", "multi_user/multi_user_sign_in_policy.h", "user_manager_export.h", "user_manager_pref_names.h", "user_names.cc", "user_names.h", ] public_deps = [ ":common", "//base", "//components/account_id", "//components/prefs", "//google_apis", "//ui/gfx", ] deps = [ "//components/crash/core/common", "//google_apis", ] defines = [ "USER_MANAGER_IMPLEMENTATION" ] if (is_chromeos) { sources += [ "account_id_util.cc", "account_id_util.h", "common_types.h", "device_ownership_waiter.h", "device_ownership_waiter_impl.cc", "device_ownership_waiter_impl.h", "include_exclude_account_id_filter.cc", "include_exclude_account_id_filter.h", "known_user.cc", "known_user.h", "scoped_user_manager.cc", "scoped_user_manager.h", "user.cc", "user.h", "user_directory_integrity_manager.cc", "user_directory_integrity_manager.h", "user_image/user_image.cc", "user_image/user_image.h", "user_manager.cc", "user_manager.h", "user_manager_impl.cc", "user_manager_impl.h", "user_manager_policy_util.cc", "user_manager_policy_util.h", ] deps += [ "//ash/constants", "//chromeos/ash/components/install_attributes", "//chromeos/ash/components/policy/device_local_account", "//chromeos/ash/components/settings", "//components/pref_registry", "//skia", "//ui/base", "//ui/chromeos/resources", "//url", ] } } if (is_chromeos) { component("multi_user") { sources = [ "multi_user/multi_user_sign_in_policy_controller.cc", "multi_user/multi_user_sign_in_policy_controller.h", ] defines = [ "USER_MANAGER_IMPLEMENTATION" ] deps = [ ":user_manager", "//base", "//components/account_id", "//components/prefs", "//components/session_manager/core", ] } source_set("test_support") { testonly = true sources = [ "fake_device_ownership_waiter.cc", "fake_device_ownership_waiter.h", "fake_user_manager.cc", "fake_user_manager.h", "fake_user_manager_delegate.cc", "fake_user_manager_delegate.h", "test_helper.cc", "test_helper.h", ] public_deps = [ ":user_manager", "//base", "//chromeos/ash/components/install_attributes", "//components/account_id", ] deps = [ "//chromeos/ash/components/cryptohome", "//chromeos/ash/components/dbus/cryptohome", "//chromeos/ash/components/dbus/cryptohome:cryptohome_proto", "//chromeos/ash/components/dbus/userdataauth", "//chromeos/ash/components/policy/device_local_account", "//chromeos/ash/components/settings", "//components/policy/core/common", "//components/prefs", ] } source_set("unit_tests") { testonly = true sources = [ "account_id_util_unittest.cc", "device_ownership_waiter_unittest.cc", "include_exclude_account_id_filter_unittest.cc", "known_user_unittest.cc", "user_unittest.cc", ] deps = [ ":test_support", ":user_manager", "//base/test:test_support", "//chromeos/ash/components/install_attributes:test_support", "//components/account_id", "//components/prefs:test_support", "//testing/gmock", "//testing/gtest", ] # 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" ] } }