# 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("//build/config/features.gni") import("//build/config/ui.gni") import("//content/renderer/renderer.gni") import("//media/media_options.gni") source_set("renderer") { # Only the public target should depend on this. All other targets (even # internal content ones) should depend on the public one. visibility = [ ":for_content_tests", "//content/public/renderer:renderer_sources", ] sources = rebase_path(content_renderer_gypi_values.private_renderer_sources, ".", "//content") configs += [ "//content:content_implementation", "//build/config/compiler:no_size_t_to_int_warning", "//content/public/common:mojo_shell_client", ] defines = [] public_deps = [] deps = [ "//base:i18n", "//cc", "//cc/blink", "//cc/proto", "//cc/surfaces", "//cc/surfaces:surface_id", "//components/scheduler:scheduler", "//components/url_formatter", "//content:resources", "//content/common", "//content/gpu:gpu_sources", "//content/public/child:child_sources", "//content/public/common:common_sources", "//content/public/common:feature_h264_with_openh264_ffmpeg", "//content/public/common:features", "//content/public/common:mojo_bindings", "//crypto:platform", "//device/battery:mojo_bindings", "//device/bluetooth", "//device/usb/public/interfaces", "//device/vibration:mojo_bindings", "//gin", "//gpu", "//gpu/blink", "//gpu/command_buffer/client:gles2_interface", "//ipc/mojo", "//jingle:jingle_glue", "//media", "//media/blink", "//media/gpu/ipc/client", "//media/gpu/ipc/common", "//media/midi", "//mojo/common", "//mojo/converters/geometry", "//mojo/edk/js", "//mojo/public/cpp/bindings", "//mojo/public/js", "//mojo/shell/public/cpp", "//mojo/shell/public/interfaces", "//net", "//sandbox", "//skia", "//skia/public", "//storage/common", "//third_party/WebKit/public:blink", "//third_party/boringssl", "//third_party/icu", "//third_party/libjingle", "//third_party/libyuv", "//third_party/widevine/cdm:version_h", "//ui/accessibility", "//ui/base", "//ui/base/ime", "//ui/events:dom_keycode_converter", "//ui/events:events_base", "//ui/events/blink", "//ui/gl", "//ui/native_theme", "//ui/surface", "//v8", ] allow_circular_includes_from = [] if (use_aura) { public_deps += [ "//content/renderer/mus" ] allow_circular_includes_from += [ "//content/renderer/mus" ] } if (is_mac) { sources -= [ "webscrollbarbehavior_impl_gtkoraura.cc", "webscrollbarbehavior_impl_gtkoraura.h", ] sources += [ "external_popup_menu.cc", "external_popup_menu.h", ] } if (is_android) { sources += [ "external_popup_menu.cc", "external_popup_menu.h", ] # Add back the Linux file which Android shares. set_sources_assignment_filter([]) sources += [ "render_view_linux.cc" ] deps += [ "//third_party/android_tools:cpu_features", "//third_party/libphonenumber", ] } else { sources -= [ "java/gin_java_bridge_dispatcher.cc", "java/gin_java_bridge_dispatcher.h", "java/gin_java_bridge_object.cc", "java/gin_java_bridge_object.h", "java/gin_java_bridge_value_converter.cc", "java/gin_java_bridge_value_converter.h", "java/gin_java_function_invocation_helper.cc", "java/gin_java_function_invocation_helper.h", ] } # TODO(jrg): remove the OS=="android" section? # http://crbug.com/113172 # Understand better how media_stream_ is tied into Chromium. if (!enable_webrtc && is_android) { sources -= [ "media/media_stream_audio_level_calculator.cc", "media/media_stream_audio_level_calculator.h", "media/media_stream_audio_track.cc", "media/media_stream_audio_track.h", "media/media_stream_center.h", "media/media_stream_constraints_util.cc", "media/media_stream_constraints_util.h", "media/media_stream_dispatcher.h", "media/media_stream_dispatcher_eventhandler.h", "media/media_stream_track.cc", "media/media_stream_track.h", ] } if (enable_webrtc) { sources += rebase_path( content_renderer_gypi_values.private_renderer_webrtc_sources, ".", "//content") deps += [ "//crypto", "//third_party/libjingle:libjingle_webrtc", "//third_party/libjingle:libstunprober", "//third_party/libvpx", "//third_party/webrtc/base:rtc_base", "//third_party/webrtc/common_video", "//third_party/webrtc/modules/audio_device", "//third_party/webrtc/modules/audio_processing", "//third_party/webrtc/modules/video_coding:webrtc_h264", "//third_party/webrtc/system_wrappers", ] } else { sources += [ "media/webrtc_logging.h", "media/webrtc_logging_noop.cc", ] } if (enable_plugins) { sources += rebase_path( content_renderer_gypi_values.private_renderer_plugin_sources, ".", "//content") deps += [ "//ppapi/host", "//ppapi/proxy", "//ppapi/shared_impl", "//third_party/libvpx", "//third_party/opus", ] } if (enable_plugins && enable_webrtc) { sources += rebase_path( content_renderer_gypi_values.private_renderer_plugin_webrtc_sources, ".", "//content") } if (!enable_pepper_cdms) { sources -= [ "media/cdm/pepper_cdm_wrapper.h", "media/cdm/pepper_cdm_wrapper_impl.cc", "media/cdm/pepper_cdm_wrapper_impl.h", "media/cdm/ppapi_decryptor.cc", "media/cdm/ppapi_decryptor.h", ] } if (enable_basic_printing || enable_print_preview) { deps += [ "//printing" ] } if (enable_browser_cdms) { sources += [ "media/cdm/proxy_media_keys.cc", "media/cdm/proxy_media_keys.h", "media/cdm/renderer_cdm_manager.cc", "media/cdm/renderer_cdm_manager.h", ] } if (enable_mojo_media) { sources += [ "media/media_interface_provider.cc", "media/media_interface_provider.h", ] deps += [ "//media/mojo/interfaces", # Defines in mojo_media_config are also pulled in here. "//media/mojo/services:proxy", ] } if (enable_webvr) { sources += [ "vr/vr_dispatcher.cc", "vr/vr_dispatcher.h", "vr/vr_type_converters.cc", "vr/vr_type_converters.h", ] } if (use_seccomp_bpf) { defines += [ "USE_SECCOMP_BPF" ] } if (use_ozone) { deps += [ "//ui/ozone" ] } } # See comment at the top of //content/BUILD.gn for how this works. group("for_content_tests") { visibility = [ "//content/test/*" ] if (enable_mojo_media) { # For the defines in mojo_media_config. public_configs = [ "//media/mojo/services:mojo_media_config" ] } if (!is_component_build) { public_deps = [ ":renderer", ] } }