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

import("//services/service_manager/public/cpp/service.gni")
import("//services/service_manager/public/service_manifest.gni")

source_set("lib") {
  sources = [
    "proxy_resolver_factory_impl.cc",
    "proxy_resolver_factory_impl.h",
    "proxy_resolver_impl.cc",
    "proxy_resolver_impl.h",
    "proxy_resolver_service.cc",
    "proxy_resolver_service.h",
  ]

  deps = [
    "//base",
    "//mojo/public/cpp/bindings",
    "//net",
    "//net:net_with_v8",
    "//net/dns:mojo_client",
    "//services/service_manager",
  ]

  public_deps = [
    "//services/proxy_resolver/public/mojom",
    "//services/service_manager/public/cpp",
  ]
}

source_set("tests") {
  testonly = true

  sources = [
    "proxy_resolver_factory_impl_unittest.cc",
    "proxy_resolver_impl_unittest.cc",
    "proxy_resolver_service_unittest.cc",
  ]

  deps = [
    ":lib",
    "//base",
    "//base/test:test_support",
    "//net:test_support",
    "//net/dns:mojo_service",
    "//services/service_manager/public/cpp/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]

  configs += [ "//v8:external_startup_data" ]
}

service_manifest("proxy_resolver_manifest") {
  name = "proxy_resolver"
  source = "manifest.json"
}