chromium/services/proxy_resolver/public/mojom/BUILD.gn

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

import("//mojo/public/tools/bindings/mojom.gni")

mojom("mojom") {
  generate_java = true
  sources = [ "proxy_resolver.mojom" ]
  deps = [
    "//services/network/public/mojom:mojom_ip_address",
    "//services/network/public/mojom:mojom_network_anonymization_key",
    "//services/network/public/mojom:mojom_network_param",
    "//url/mojom:url_mojom_gurl",
  ]
  public_deps = [ "//sandbox/policy/mojom" ]

  if (!is_ios) {
    export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
    export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
    export_header_blink = "third_party/blink/public/platform/web_common.h"
  }

  cpp_typemaps = [
    {
      types = [
        {
          mojom = "proxy_resolver.mojom.HostResolveOperation"
          cpp = "::net::ProxyResolveDnsOperation"
        },

        {
          mojom = "proxy_resolver.mojom.ProxyInfo"
          cpp = "::net::ProxyInfo"
        },
      ]
      traits_headers = [
        "//services/proxy_resolver/public/cpp/mojo_host_mojom_traits.h",
        "//services/proxy_resolver/public/cpp/proxy_resolver_mojom_traits.h",
      ]
      traits_public_deps = [
        "//services/proxy_resolver/public/cpp:proxy_resolver_mojom_support",
      ]
    },
  ]
}