chromium/components/certificate_transparency/BUILD.gn

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

import("//third_party/protobuf/proto_library.gni")

proto_library("proto") {
  sources = [
    "certificate_transparency.proto",
    "certificate_transparency_config.proto",
    "ct_timestamp.proto",
  ]
}

component("certificate_transparency") {
  sources = [
    "chrome_ct_policy_enforcer.cc",
    "chrome_ct_policy_enforcer.h",
    "chrome_require_ct_delegate.cc",
    "chrome_require_ct_delegate.h",
    "ct_known_logs.cc",
    "ct_known_logs.h",
    "pref_names.cc",
    "pref_names.h",
  ]

  defines = [ "IS_CERTIFICATE_TRANSPARENCY_IMPL" ]

  deps = [
    ":proto",
    "//base",
    "//components/base32",
    "//components/certificate_transparency/data:ct_log_list",
    "//components/prefs",
    "//components/url_formatter",
    "//components/url_matcher",
    "//net",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "chrome_ct_policy_enforcer_unittest.cc",
    "chrome_require_ct_delegate_unittest.cc",
    "ct_known_logs_unittest.cc",
  ]
  deps = [
    ":certificate_transparency",
    "//base/test:test_support",
    "//components/base32",
    "//components/certificate_transparency/data:ct_log_list",
    "//components/prefs:test_support",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]

  if (is_ios) {
    deps += [ "//net:net_test_bundle_data" ]
  }
}