# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/features.gni")
import("//build/config/ui.gni")
import("//device/vr/buildflags/buildflags.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//third_party/blink/public/public_features.gni")
if (is_android) {
import("//build/config/android/config.gni")
}
if (is_component_build) {
link_target_type = "source_set"
} else {
link_target_type = "static_library"
}
target(link_target_type, "child") {
# Targets external to content should always link to the public API.
# Internal targets can link to this but only if they're child processes
# (i.e. not content/browser or content/common) and only if they're inside the
# content component (i.e. not content/test or content/shell).
visibility = [
":*",
"//content/gpu/*",
"//content/ppapi_plugin/*",
"//content/public/child:child_sources",
"//content/renderer/*",
"//content/utility/*",
"//tools/ipc_fuzzer/*",
]
if (is_android) {
# See comment in content/app/BUILD.gn above content_app_deps.
visibility += [ "//content/app:*" ]
}
sources = [
"assert_matching_enums.cc",
"blink_platform_impl.cc",
"blink_platform_impl.h",
"browser_exposed_child_interfaces.cc",
"browser_exposed_child_interfaces.h",
"child_process.cc",
"child_process.h",
"child_process_synthetic_trial_syncer.cc",
"child_process_synthetic_trial_syncer.h",
"child_thread_impl.cc",
"child_thread_impl.h",
"field_trial.cc",
"field_trial.h",
"image_decoder_utils.cc",
"runtime_features.cc",
"runtime_features.h",
"scoped_child_process_reference.cc",
"scoped_child_process_reference.h",
]
configs += [ "//build/config:precompiled_headers" ]
public_deps = [
"//gpu/ipc/client:client",
"//ipc",
"//services/service_manager/public/mojom:mojom_blink",
]
deps = [
"//base",
"//build/config/compiler:compiler_buildflags",
"//cc/paint",
"//components/discardable_memory/client",
"//components/discardable_memory/public/mojom",
"//components/metrics",
"//components/permissions:permissions_common",
"//components/tracing:startup_tracing",
"//components/variations",
"//components/webcrypto",
"//content/common",
"//content/common:mojo_bindings",
"//content/public/common:common_sources",
"//device/base",
"//device/gamepad/public/cpp:switches",
"//device/vr/buildflags",
"//gpu/command_buffer/client",
"//media",
"//mojo/core/embedder",
"//net",
"//services/device/public/cpp:device_features",
"//services/device/public/cpp/power_monitor",
"//services/network/public/cpp",
"//services/resource_coordinator/public/cpp/memory_instrumentation",
"//services/service_manager/public/cpp",
"//services/service_manager/public/mojom",
"//services/tracing/public/cpp",
"//services/tracing/public/cpp:traced_process",
"//services/tracing/public/cpp/background_tracing:background_tracing",
"//services/webnn/public/mojom",
"//skia",
"//storage/common",
"//third_party/blink/public:blink_headers",
"//third_party/blink/public:buildflags",
"//third_party/blink/public:resources",
"//third_party/blink/public:scaled_resources",
"//third_party/blink/public/common",
"//third_party/blink/public/common:buildflags",
"//third_party/blink/public/strings",
"//third_party/ced",
"//third_party/zlib/google:compression_utils",
"//ui/base",
"//ui/events/blink",
"//ui/events/gestures/blink",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gl",
"//ui/native_theme",
"//url",
"//v8",
]
if (is_linux || is_chromeos) {
sources += [
"child_process_sandbox_support_impl_linux.cc",
"child_process_sandbox_support_impl_linux.h",
"sandboxed_process_thread_type_handler.cc",
"sandboxed_process_thread_type_handler.h",
]
deps += [
"//components/services/font/public/cpp",
"//components/services/font/public/mojom",
]
}
if (is_win) {
sources += [
"dwrite_font_proxy/dwrite_font_proxy_init_impl_win.cc",
"dwrite_font_proxy/dwrite_font_proxy_init_impl_win.h",
"dwrite_font_proxy/dwrite_font_proxy_win.cc",
"dwrite_font_proxy/dwrite_font_proxy_win.h",
"dwrite_font_proxy/dwrite_localized_strings_win.cc",
"dwrite_font_proxy/dwrite_localized_strings_win.h",
"dwrite_font_proxy/font_fallback_win.cc",
"dwrite_font_proxy/font_fallback_win.h",
"font_warmup_win.cc",
"font_warmup_win.h",
]
libs = [ "dwrite.lib" ]
}
if (is_mac) {
sources += [
"child_process_sandbox_support_impl_mac.cc",
"child_process_sandbox_support_impl_mac.h",
]
}
if (enable_ppapi) {
deps += [
"//ppapi/proxy",
"//ppapi/shared_impl",
]
sources += [
"browser_font_resource_trusted.cc",
"browser_font_resource_trusted.h",
]
}
if (enable_vr) {
deps += [ "//device/vr/public/cpp:features" ]
}
configs += [ "//content:content_implementation" ]
}
# 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 = [ ":child" ]
}
}