# Copyright 2014 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("//build/config/crypto.gni")

# GYP version: chrome/chrome_common.gypi:common_net
static_library("net") {
  sources = [
    "net_resource_provider.cc",
    "net_resource_provider.h",
    "x509_certificate_model.cc",
    "x509_certificate_model.h",
    "x509_certificate_model_nss.cc",
    "x509_certificate_model_openssl.cc",
  ]

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

  deps = [
    "//base",
    "//base:i18n",
    "//chrome:resources",
    "//chrome:strings",
    "//components/url_formatter",
    "//crypto",
    "//net",
    "//net:net_resources",
    "//third_party/icu",
    "//ui/base",
  ]

  if (is_ios) {
    sources -= [ "net_resource_provider.cc" ]
  }

  if (is_android || is_ios) {
    sources -= [ "x509_certificate_model.cc" ]
  }

  if (use_openssl_certs && !is_android) {
    deps += [ "//third_party/boringssl" ]
  } else {
    sources -= [ "x509_certificate_model_openssl.cc" ]
  }

  if (use_nss_certs) {
    deps += [
      "//chrome/third_party/mozilla_security_manager",
      "//crypto:platform",
    ]
    allow_circular_includes_from =
        [ "//chrome/third_party/mozilla_security_manager" ]
  } else {
    sources -= [ "x509_certificate_model_nss.cc" ]
  }
}
