# 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.
import("//build/config/chromeos/ui_mode.gni")
import("//testing/test.gni")
assert(is_chromeos_ash,
"Non-ChromeOS builds cannot depend on //chromeos/ash/components/osauth")
component("impl") {
defines = [ "IS_CHROMEOS_ASH_COMPONENTS_OSAUTH_IMPL" ]
public_deps = [ "//chromeos/ash/components/osauth/public" ]
deps = [
"//ash/constants",
"//ash/strings",
"//base",
"//chromeos/ash/components/cryptohome",
"//chromeos/ash/components/cryptohome:public",
"//chromeos/ash/components/dbus/userdataauth",
"//chromeos/ash/components/early_prefs:reader",
"//chromeos/ash/components/login/auth",
"//chromeos/ash/components/login/auth/public:authpublic",
"//components/prefs:prefs",
"//components/user_manager",
"//ui/base",
]
sources = [
"auth_engine_api_impl.cc",
"auth_factor_presence_cache.cc",
"auth_factor_presence_cache.h",
"auth_hub_attempt_handler.cc",
"auth_hub_attempt_handler.h",
"auth_hub_common.h",
"auth_hub_impl.cc",
"auth_hub_impl.h",
"auth_hub_mode_lifecycle.cc",
"auth_hub_mode_lifecycle.h",
"auth_hub_vector_lifecycle.cc",
"auth_hub_vector_lifecycle.h",
"auth_parts_impl.cc",
"auth_parts_impl.h",
"auth_session_storage_impl.cc",
"auth_session_storage_impl.h",
"auth_surface_registry.cc",
"auth_surface_registry.h",
"cryptohome_core_impl.cc",
"cryptohome_core_impl.h",
"early_login_auth_policy_connector.cc",
"early_login_auth_policy_connector.h",
"engines/cryptohome_based_engine.cc",
"engines/cryptohome_based_engine.h",
"engines/cryptohome_fingerprint_engine.cc",
"engines/cryptohome_fingerprint_engine.h",
"engines/cryptohome_password_engine.cc",
"engines/cryptohome_password_engine.h",
"engines/cryptohome_pin_engine.cc",
"engines/cryptohome_pin_engine.h",
"engines/cryptohome_smart_card_engine.cc",
"engines/cryptohome_smart_card_engine.h",
"engines/prefs_pin_engine.cc",
"engines/prefs_pin_engine.h",
"legacy_auth_surface_registry.cc",
"legacy_auth_surface_registry.h",
"login_screen_auth_policy_connector.cc",
"login_screen_auth_policy_connector.h",
"prefs.cc",
"prefs.h",
"request/password_manager_auth_request.cc",
"request/password_manager_auth_request.h",
"request/settings_auth_request.cc",
"request/settings_auth_request.h",
"request/token_based_auth_request.cc",
"request/token_based_auth_request.h",
"request/webauthn_auth_request.cc",
"request/webauthn_auth_request.h",
]
}
source_set("unit_tests") {
testonly = true
deps = [
":impl",
"//ash/constants",
"//base",
"//base/test:test_support",
"//chromeos/ash/components/dbus/userdataauth",
"//chromeos/ash/components/dbus/userdataauth:test_support",
"//chromeos/ash/components/dbus/userdataauth:userdataauth_proto",
"//chromeos/ash/components/install_attributes:test_support",
"//chromeos/ash/components/login/auth/public:authpublic",
"//chromeos/ash/components/osauth/test_support",
"//components/prefs:test_support",
"//components/user_manager:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/abseil-cpp:absl",
]
sources = [
"auth_hub_attempt_handler_unittest.cc",
"auth_hub_impl_test.cc",
"auth_hub_mode_lifecycle_unittest.cc",
"auth_hub_vector_lifecycle_unittest.cc",
"auth_session_storage_impl_unittest.cc",
"cryptohome_core_impl_unittest.cc",
"engines/cryptohome_fingerprint_engine_unittest.cc",
"engines/cryptohome_pin_engine_unittest.cc",
"engines/prefs_pin_engine_unittest.cc",
]
}