# 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("//media/media_options.gni")

source_set("utility") {
  # Only the public target should depend on this. All other targets (even
  # internal content ones other than test) should depend on the public one.
  visibility = [
    ":for_content_tests",
    "//content/public/utility:utility_sources",
  ]

  sources = [
    "in_process_utility_thread.cc",
    "in_process_utility_thread.h",
    "utility_blink_platform_impl.cc",
    "utility_blink_platform_impl.h",
    "utility_main.cc",
    "utility_service_factory.cc",
    "utility_service_factory.h",
    "utility_thread_impl.cc",
    "utility_thread_impl.h",
  ]

  configs += [ "//content:content_implementation" ]

  deps = [
    "//base",
    "//content:export",
    "//content/child",
    "//content/public/child:child_sources",
    "//content/public/common:common_sources",
    "//mojo/common",
    "//mojo/public/cpp/bindings",
    "//sandbox",
    "//services/service_manager",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/interfaces",
    "//third_party/WebKit/public:blink_headers",
    "//third_party/WebKit/public:mojo_bindings",
    "//url",
  ]

  if (mojo_media_host == "utility") {
    deps += [ "//media/mojo/services" ]
  }
}

# See comment at the top of //content/BUILD.gn for how this works.
group("for_content_tests") {
  visibility = [ "//content/test/*" ]
  if (!is_component_build) {
    public_deps = [
      ":utility",
    ]
  }
}
