| # 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/chromeos/ui_mode.gni") |
| import("//chromeos/ash/components/assistant/assistant.gni") |
| import("//components/services/screen_ai/buildflags/features.gni") |
| import("//device/vr/buildflags/buildflags.gni") |
| import("//media/gpu/args.gni") |
| import("//media/media_options.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| import("//printing/buildflags/buildflags.gni") |
| import("//services/accessibility/buildflags.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", |
| "//build:branding_buildflags", |
| "//build:chromeos_buildflags", |
| "//components/services/screen_ai/buildflags", |
| "//components/services/storage", |
| "//components/services/storage/public/mojom", |
| "//content:export", |
| "//content/child", |
| "//content/public/child:child_sources", |
| "//content/public/common:common_sources", |
| "//content/public/common:content_descriptor_keys", |
| "//content/services/auction_worklet", |
| "//device/vr/buildflags", |
| "//media:media_buildflags", |
| "//mojo/public/cpp/bindings", |
| "//net", |
| "//printing/buildflags", |
| "//sandbox", |
| "//services/accessibility:buildflags", |
| "//services/audio", |
| "//services/data_decoder:lib", |
| "//services/data_decoder/public/cpp", |
| "//services/network:network_service", |
| "//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 library CDMs are supported, we support running the CDM in the utility |
| # process using mojo MediaService. On Windows, we use MediaFoundationService. |
| if (enable_library_cdms || is_win) { |
| deps += [ |
| "//media", |
| "//media/mojo:buildflags", |
| "//media/mojo/services", |
| ] |
| } |
| |
| if (is_chromeos_ash) { |
| deps += [ |
| "//chromeos/ash/components/assistant:buildflags", |
| "//chromeos/ash/services/ime:sandbox_hook", |
| "//chromeos/services/tts:sandbox_hook", |
| ] |
| if (use_vaapi || use_v4l2_codec) { |
| deps += [ "//ash/components/arc/video_accelerator" ] |
| } |
| } |
| |
| if (is_linux || is_chromeos) { |
| deps += [ |
| "//gpu/config", |
| "//media/gpu/sandbox", |
| "//media/mojo/services", |
| "//third_party/angle:angle_gpu_info_util", |
| ] |
| } |
| |
| if (is_chromeos_ash && is_chrome_branded) { |
| deps += [ |
| "//services/shape_detection:lib", |
| "//services/shape_detection/public/mojom", |
| ] |
| } |
| |
| if (is_chromeos_ash && enable_cros_libassistant) { |
| deps += [ |
| "//chromeos/ash/services/libassistant:sandbox_hook", |
| "//chromeos/assistant/internal:libassistant", |
| ] |
| } |
| |
| # 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", |
| "//services/network:network_sandbox_hook", |
| ] |
| if (enable_oop_printing) { |
| deps += [ "//printing:printing_sandbox_hook" ] |
| } |
| } |
| |
| if (is_linux || is_chromeos) { |
| deps += [ "//components/services/screen_ai:screen_ai_sandbox_hook" ] |
| } |
| |
| if (enable_accessibility_service) { |
| deps += [ "//services/accessibility:lib" ] |
| } |
| |
| if (enable_vr && !is_android) { |
| deps += [ |
| "//content/services/isolated_xr_device:lib", |
| "//device/vr/public/mojom:isolated_xr_service", |
| ] |
| } |
| |
| if (is_win) { |
| deps += [ ":delegate_data" ] |
| } |
| } |
| |
| if (is_win) { |
| mojom("delegate_data") { |
| disable_variants = true |
| |
| sources = [ "sandbox_delegate_data.mojom" ] |
| public_deps = [ "//mojo/public/mojom/base" ] |
| } |
| } |
| |
| # 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" ] |
| } |
| } |