chromium/components/unexportable_keys/BUILD.gn

# 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.

component("unexportable_keys") {
  sources = [
    "background_long_task_scheduler.cc",
    "background_long_task_scheduler.h",
    "background_task.h",
    "background_task_impl.h",
    "background_task_priority.cc",
    "background_task_priority.h",
    "background_task_type.cc",
    "background_task_type.h",
    "features.cc",
    "features.h",
    "ref_counted_unexportable_signing_key.cc",
    "ref_counted_unexportable_signing_key.h",
    "service_error.h",
    "unexportable_key_id.h",
    "unexportable_key_loader.cc",
    "unexportable_key_loader.h",
    "unexportable_key_service.h",
    "unexportable_key_service_impl.cc",
    "unexportable_key_service_impl.h",
    "unexportable_key_task_manager.cc",
    "unexportable_key_task_manager.h",
    "unexportable_key_tasks.cc",
    "unexportable_key_tasks.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  defines = [ "IS_UNEXPORTABLE_KEYS_IMPL" ]

  public_deps = [
    "//base",
    "//crypto",
    "//third_party/abseil-cpp:absl",
  ]
}

source_set("test_support") {
  testonly = true

  sources = [
    "fake_unexportable_key_service.cc",
    "fake_unexportable_key_service.h",
  ]

  public_deps = [ ":unexportable_keys" ]
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "background_long_task_scheduler_unittest.cc",
    "unexportable_key_loader_unittest.cc",
    "unexportable_key_service_impl_unittest.cc",
    "unexportable_key_task_manager_unittest.cc",
  ]

  deps = [
    ":test_support",
    ":unexportable_keys",
    "//base/test:test_support",
    "//crypto:test_support",
    "//testing/gtest",
  ]
}