chromium/chrome/browser/win/conflicts/BUILD.gn

# Copyright 2019 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/chrome_build.gni")
import("//third_party/protobuf/proto_library.gni")

assert(is_win)

# Note: Most of the files in this directory are directly added as source files
#       to the //chrome/browser target (chrome/browser/BUILD.gn).

proto_library("module_list_proto") {
  sources = [ "proto/module_list.proto" ]
}

source_set("module_info") {
  sources = [
    "module_info.cc",
    "module_info.h",
    "module_info_util.cc",
    "module_info_util.h",
  ]

  public_deps = [
    "//base",
    "//content/public/common",
  ]

  deps = [ "//base:i18n" ]

  libs = [ "crypt32.lib" ]
}

loadable_module("conflicts_dll") {
  testonly = true
  sources = [ "test/conflicts_dll.cc" ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "enumerate_input_method_editors_unittest.cc",
    "enumerate_shell_extensions_unittest.cc",
    "inspection_results_cache_unittest.cc",
    "module_database_unittest.cc",
    "module_event_sink_impl_unittest.cc",
    "module_info_unittest.cc",
    "module_info_util_unittest.cc",
    "module_inspector_unittest.cc",
  ]

  deps = [
    ":conflicts_dll",
    ":module_info",
    "//base",
    "//chrome/browser",
    "//chrome/services/util_win:lib",
    "//chrome/test:test_support",
    "//content/test:test_support",
    "//services/service_manager/public/cpp/test:test_support",
    "//testing/gtest",
  ]

  if (is_chrome_branded) {
    sources += [
      "incompatible_applications_updater_unittest.cc",
      "installed_applications_unittest.cc",
      "module_blocklist_cache_updater_unittest.cc",
      "module_blocklist_cache_util_unittest.cc",
      "module_list_filter_unittest.cc",
      "module_load_attempt_log_listener_unittest.cc",
      "registry_key_watcher_unittest.cc",
      "third_party_conflicts_manager_unittest.cc",
    ]

    deps += [
      ":module_list_proto",
      "//chrome/chrome_elf:third_party_shared_defines",
    ]
  }
}

if (is_chrome_branded) {
  source_set("browser_tests") {
    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

    testonly = true
    sources = [
      "incompatible_applications_browsertest.cc",
      "third_party_blocking_browsertest.cc",
    ]

    deps = [
      ":conflicts_dll",
      ":module_list_proto",
      "//chrome/browser",
      "//chrome/browser:browser_process",
      "//chrome/chrome_elf:third_party_shared_defines",
      "//chrome/test:test_support_ui",
      "//content/test:test_support",
      "//testing/gtest",
    ]
  }
}