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

import("//testing/test.gni")

component("url_ipc") {
  sources = [
    "url_ipc_export.h",
    "url_param_traits.cc",
    "url_param_traits.h",
  ]

  defines = [ "URL_IPC_IMPLEMENTATION" ]

  public_deps = [
    "//ipc",
    "//url",
  ]
  deps = [ "//base" ]
  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

# IPC unit tests aren't build on iOS.
if (!is_ios) {
  source_set("url_ipc_unittests") {
    testonly = true

    sources = [ "url_param_traits_unittest.cc" ]

    deps = [
      ":url_ipc",
      "//base",
      "//ipc:test_support",
      "//testing/gtest",
      "//url:url",
    ]
  }
}
