# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

static_library("trusted_vault") {
  sources = [
    "download_keys_response_handler.cc",
    "download_keys_response_handler.h",
    "securebox.cc",
    "securebox.h",
    "standalone_trusted_vault_backend.cc",
    "standalone_trusted_vault_backend.h",
    "standalone_trusted_vault_client.cc",
    "standalone_trusted_vault_client.h",
    "trusted_vault_access_token_fetcher.h",
    "trusted_vault_access_token_fetcher_frontend.cc",
    "trusted_vault_access_token_fetcher_frontend.h",
    "trusted_vault_access_token_fetcher_impl.cc",
    "trusted_vault_access_token_fetcher_impl.h",
    "trusted_vault_connection.h",
    "trusted_vault_connection_impl.cc",
    "trusted_vault_connection_impl.h",
    "trusted_vault_request.cc",
    "trusted_vault_request.h",
  ]
  public_deps = [
    "//base",
    "//components/sync/driver",
  ]
  deps = [
    "//components/os_crypt",
    "//components/signin/public/identity_manager",
    "//components/sync/base",
    "//components/sync/protocol",
    "//crypto",
    "//net",
    "//services/network/public/cpp:cpp",
    "//third_party/boringssl",
  ]
}
