chromium/components/safe_browsing/core/browser/password_protection/BUILD.gn

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

source_set("password_protection") {
  sources = [
    "password_protection_request.cc",
    "password_protection_request.h",
    "password_protection_service_base.cc",
    "password_protection_service_base.h",
    "request_canceler.cc",
    "request_canceler.h",
  ]

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

  deps = [
    ":password_protection_metrics_util",
    "//base",
    "//components/autofill/core/browser",
    "//components/history/core/browser",
    "//components/password_manager/core/browser",
    "//components/safe_browsing/core/browser",
    "//components/safe_browsing/core/browser:referrer_chain_provider",
    "//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
    "//components/safe_browsing/core/browser:token_fetcher",
    "//components/safe_browsing/core/browser:verdict_cache_manager",
    "//components/safe_browsing/core/browser/db:allowlist_checker_client",
    "//components/safe_browsing/core/browser/db:database_manager",
    "//components/safe_browsing/core/browser/db:v4_protocol_manager_util",
    "//components/safe_browsing/core/browser/sync",
    "//components/safe_browsing/core/common",
    "//components/safe_browsing/core/common:safe_browsing_prefs",
    "//components/safe_browsing/core/common/proto:client_model_proto",
    "//components/safe_browsing/core/common/proto:csd_proto",
    "//components/sessions",
    "//components/signin/public/identity_manager",
    "//components/url_formatter",
    "//net",
    "//services/network/public/cpp",
    "//services/service_manager/public/cpp",
    "//third_party/protobuf:protobuf_lite",
    "//ui/gfx/geometry",
  ]
}

source_set("test_support") {
  testonly = true
  sources = [
    "stub_password_reuse_detection_manager_client.cc",
    "stub_password_reuse_detection_manager_client.h",
  ]

  deps = [
    ":password_protection",
    ":password_reuse_detection_manager_client",
    "//base",
    "//components/autofill/core/browser:test_support",
    "//components/password_manager/core/browser",
  ]
}

source_set("password_protection_metrics_util") {
  sources = [
    "metrics_util.cc",
    "metrics_util.h",
  ]

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

  deps = [
    "//base",
    "//components/safe_browsing/core/common:common",
    "//components/safe_browsing/core/common/proto:csd_proto",
    "//net",
  ]
}

source_set("password_reuse_detection_manager_client") {
  sources = [
    "password_reuse_detection_manager.cc",
    "password_reuse_detection_manager.h",
    "password_reuse_detection_manager_client.h",
  ]

  deps = [
    "//base",
    "//components/autofill/core/browser",
    "//components/password_manager/core/browser",
    "//components/safe_browsing:buildflags",
    "//url:url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [ "password_reuse_detection_manager_unittest.cc" ]
  deps = [
    ":password_protection",
    ":password_reuse_detection_manager_client",
    ":test_support",
    "//base",
    "//components/password_manager/core/browser:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/abseil-cpp:absl",
    "//url:url",
  ]
}