summaryrefslogtreecommitdiff
path: root/chromium/content/utility/BUILD.gn
blob: 49090f032a163a8b9e7a54c845104fd6bffedeaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# 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("//device/vr/buildflags/buildflags.gni")
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/app:*",
    "//content/public/utility:utility_sources",
  ]

  sources = [
    "browser_exposed_utility_interfaces.cc",
    "browser_exposed_utility_interfaces.h",
    "in_process_utility_thread.cc",
    "in_process_utility_thread.h",
    "services.cc",
    "services.h",
    "utility_blink_platform_with_sandbox_support_impl.cc",
    "utility_blink_platform_with_sandbox_support_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",
    "//components/services/storage",
    "//components/services/storage/public/mojom",
    "//content:export",
    "//content/child",
    "//content/public/child:child_sources",
    "//content/public/common:common_sources",
    "//device/vr/buildflags",
    "//media:media_buildflags",
    "//mojo/public/cpp/bindings",
    "//net",
    "//sandbox",
    "//services/audio",
    "//services/data_decoder:lib",
    "//services/data_decoder/public/cpp",
    "//services/network:network_service",
    "//services/service_manager",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/mojom",
    "//services/shape_detection:lib",
    "//services/shape_detection/public/mojom",
    "//services/tracing:lib",
    "//services/tracing/public/mojom",
    "//services/video_capture:lib",
    "//services/video_capture/public/mojom:constants",
    "//third_party/blink/public:blink_headers",
    "//url",
  ]

  # When pepper CDMs are supported, we also support running the CDM in the
  # utility process using mojo MediaService.
  if (enable_library_cdms) {
    deps += [
      "//media",
      "//media/mojo:buildflags",
      "//media/mojo/services",
    ]
  }

  if (is_chromeos) {
    deps += [
      "//chromeos/services/ime:sandbox_hook",
      "//chromeos/services/tts:sandbox_hook",
    ]
  }

  # PAC execution is done in process on Android.
  if (!is_android) {
    deps += [ "//services/proxy_resolver:lib" ]
  }

  if (is_linux || is_chromeos) {
    deps += [ "//content/utility/speech:speech_recognition_sandbox_hook" ]
  }

  if (enable_vr && !is_android) {
    deps += [
      "//content/services/isolated_xr_device:lib",
      "//device/vr/public/mojom",
    ]
  }
}

# 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" ]
  }
}