blob: 2961ee0949c6a1b0c4a07bc5d1843f7f3dcfc4fe [file] [log] [blame]
# 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.
is_desktop = is_mac || is_win || is_linux || is_chromeos || is_fuchsia
source_set("browser_binding") {
visibility = [
"//chrome/browser/payments/browser_binding/*",
"//components/payments/content/*",
]
public_deps = [
":interface",
":passkey_browser_binder",
]
if (is_android) {
deps = [ ":android" ]
}
if (is_desktop) {
deps = [ ":desktop" ]
}
}
source_set("interface") {
sources = [
"browser_bound_key.h",
"browser_bound_key_store.h",
]
public_deps = [
"//base",
"//device/fido",
]
}
source_set("passkey_browser_binder") {
visibility = [ "//components/payments/content/*" ]
sources = [
"passkey_browser_binder.cc",
"passkey_browser_binder.h",
]
public_deps = [ ":interface" ]
deps = [
":browser_bound_key_metadata",
"//base",
"//components/payments/content:utils",
"//components/payments/core",
"//components/webdata/common",
]
}
source_set("passkey_browser_binder_unittests") {
testonly = true
visibility = [ "//components/payments/*" ]
sources = [ "passkey_browser_binder_unittest.cc" ]
deps = [
":browser_bound_key_metadata",
":fake_browser_bound_key_store",
":interface",
":passkey_browser_binder",
"//base",
"//base/test:test_support",
"//components/payments/content:test_support",
"//components/payments/core",
"//content/test:test_support",
"//device/fido",
"//testing/gmock",
"//testing/gtest",
]
}
if (is_android) {
source_set("android") {
visibility = [ ":*" ]
sources = [
"browser_bound_key_android.cc",
"browser_bound_key_android.h",
"browser_bound_key_store_android.cc",
"browser_bound_key_store_android.h",
]
public_deps = [
"//components/keyed_service/content",
"//components/payments/content:utils",
]
deps = [
":interface",
"//base",
"//components/payments/content/android/spc:browser_binding_jni",
"//device/fido",
"//third_party/jni_zero",
]
}
source_set("android_unittests") {
testonly = true
sources = [ "browser_bound_key_store_android_unittest.cc" ]
deps = [
":android",
":interface",
"//base",
"//components/payments/content/android/spc:browser_binding_jni",
"//testing/gmock",
"//testing/gtest",
]
}
}
if (is_desktop) {
source_set("desktop") {
visibility = [ ":*" ]
sources = [
"browser_bound_key_desktop.cc",
"browser_bound_key_desktop.h",
"browser_bound_key_store_desktop.cc",
"browser_bound_key_store_desktop.h",
]
deps = [
":interface",
"//base",
"//crypto",
]
}
source_set("desktop_unittests") {
testonly = true
sources = [
"browser_bound_key_desktop_unittest.cc",
"browser_bound_key_store_desktop_unittest.cc",
]
deps = [
":desktop",
":interface",
"//base",
"//base/test:test_support",
"//components/unexportable_keys:test_support",
"//crypto",
"//crypto:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
}
source_set("fake_browser_bound_key_store") {
testonly = true
sources = [
"fake_browser_bound_key.cc",
"fake_browser_bound_key.h",
"fake_browser_bound_key_store.cc",
"fake_browser_bound_key_store.h",
]
deps = [
":interface",
"//base",
"//device/fido",
]
}
source_set("browser_bound_key_metadata") {
sources = [
"browser_bound_key_metadata.cc",
"browser_bound_key_metadata.h",
]
deps = [ "//base" ]
}
source_set("test_support") {
testonly = true
sources = [
"mock_browser_bound_key_store.cc",
"mock_browser_bound_key_store.h",
"mock_passkey_browser_binder.cc",
"mock_passkey_browser_binder.h",
]
public_deps = [
":interface",
":passkey_browser_binder",
"//testing/gmock",
]
}