# 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/common/common.gni") import("//mojo/public/tools/bindings/mojom.gni") source_set("common") { # Only targets in the content tree can depend directly on this target. visibility = [ "//content/*" ] sources = rebase_path(content_common_gypi_values.private_common_sources, ".", "//content") forward_dependent_configs_from = [ "//gpu/command_buffer/common", "//third_party/WebKit/public:blink_headers", ] configs += [ "//content:content_implementation", "//content:libjingle_stub_config", ] deps = [ "//base", "//build/util:webkit_version", "//components/tracing", "//gpu/command_buffer/common", "//net", "//skia", "//third_party/icu", "//ui/accessibility", "//ui/base", "//ui/gfx", "//ui/gfx/geometry", "//url", "//third_party/WebKit/public:blink_headers", # TODO(GYP) convert these dependencies. #'../third_party/libjingle/libjingle.gyp:libjingle', #'../ui/shell_dialogs/shell_dialogs.gyp:shell_dialogs', ] if (!is_ios) { deps += [ "//cc", "//ipc", "//mojo/environment:chromium", "//mojo/system", # TODO: the dependency on gl_in_process_context should be decoupled from # content and moved to android_webview. See crbug.com/365797. "//gpu/command_buffer/client:gl_in_process_context", "//gpu/command_buffer/client:gles2_c_lib", "//gpu/command_buffer/client:gles2_implementation", "//gpu/command_buffer/service", "//gpu/ipc", "//ui/gl", "//webkit/browser:storage", "//webkit/common", "//webkit/common:storage", "//webkit/common/gpu", #'../gpu/gpu.gyp:gl_in_process_context', #'../gpu/skia_bindings/skia_bindings.gyp:gpu_skia_bindings', #'../media/media.gyp:media', #'../media/media.gyp:shared_memory_support', #'../third_party/WebKit/public/blink.gyp:blink', ] } defines = [] include_dirs = [] libs = [] ldflags = [] if (is_android && use_seccomp_bpf) { set_sources_assignment_filter([]) sources += [ "sandbox_linux/sandbox_bpf_base_policy_linux.cc", "sandbox_linux/sandbox_bpf_base_policy_linux.h", ] set_sources_assignment_filter(sources_assignment_filter) } if (is_mac) { sources += [ "gpu/client/gpu_memory_buffer_impl_io_surface.cc", "gpu/client/gpu_memory_buffer_impl_io_surface.h", ] sources -= [ "plugin_list_posix.cc", ] # TODO(GYP) enable when converted to GN. #deps += [ # "//webkit:webkit_resources", #] libs += [ "QuartzCore.framework" ] } if (is_android) { sources += [ "gpu/client/gpu_memory_buffer_impl_surface_texture.cc", "gpu/client/gpu_memory_buffer_impl_surface_texture.h", ] # TODO(GYP) enable when these targets are converted. #deps += [ # "//content:content_jni_headers", # "//content:common_aidl", #] libs += [ "android" ] } if (is_ios) { sources -= [ "user_agent.cc" ] assert(false, "Need to add lots of conditions here") } if (!use_ozone) { sources -= [ "cursors/webcursor_ozone.cc", "font_list_ozone.cc", ] } if (!use_aura || !use_x11) { sources -= [ "cursors/webcursor_aurax11.cc" ] } if (use_pango) { configs += [ "//build/config/linux:pangocairo" ] if (use_ozone) { # If we're using pango, never use this ozone file (it was removed in all # non-ozone cases above). sources -= [ "font_list_ozone.cc" ] } } else { sources -= [ "font_list_pango.cc", ] } if (use_x11) { include_dirs += [ "//third_party/khronos" ] configs += [ "//build/config/linux:xcomposite" ] if (cpu_arch != "arm" || !is_chromeos) { sources +=[ "gpu/x_util.cc", "gpu/x_util.h", ] } } if (enable_plugins) { deps += [ "//ppapi:ppapi_shared", ] } else { sources -= [ "pepper_plugin_list.cc", "pepper_plugin_list.h", "sandbox_util.cc", ] } if (is_android) { sources += [ "gpu/media/android_video_decode_accelerator.cc", "gpu/media/android_video_decode_accelerator.h", ] deps += [ # TODO(GYP) enable once supported in the GN build. #"//media", ] if (enable_webrtc) { deps += [ "//third_party/libyuv" ] } } if (is_chromeos && use_x11) { if (cpu_arch == "arm") { sources += [ "gpu/media/exynos_v4l2_video_device.cc", "gpu/media/exynos_v4l2_video_device.h", "gpu/media/tegra_v4l2_video_device.cc", "gpu/media/tegra_v4l2_video_device.h", "gpu/media/v4l2_image_processor.cc", "gpu/media/v4l2_image_processor.h", "gpu/media/v4l2_video_decode_accelerator.cc", "gpu/media/v4l2_video_decode_accelerator.h", "gpu/media/v4l2_video_device.cc", "gpu/media/v4l2_video_device.h", "gpu/media/v4l2_video_encode_accelerator.cc", "gpu/media/v4l2_video_encode_accelerator.h", ] # TODO(GYP) enable once supported in the GN build. #deps += [ "//media" ] libs = [ "EGL", "GLESv2" ] } else { # !arm sources += [ "gpu/media/h264_dpb.cc", "gpu/media/h264_dpb.h", "gpu/media/va_surface.h", "gpu/media/vaapi_h264_decoder.cc", "gpu/media/vaapi_h264_decoder.h", "gpu/media/vaapi_video_decode_accelerator.cc", "gpu/media/vaapi_video_decode_accelerator.h", "gpu/media/vaapi_wrapper.cc", "gpu/media/vaapi_wrapper.h", ] assert(false, "Implement generate_stubs for libva") } } if (is_win) { sources += [ "gpu/media/dxva_video_decode_accelerator.cc", "gpu/media/dxva_video_decode_accelerator.h", ] include_dirs += [ "//third_party/khronos" ] deps += [ # TODO(GYP) enable once supported in the GN build. #"//media", "//ui/gl", ] # TODO(GYP): extract_xinput action. } if (!is_win || !use_aura) { sources -= [ "cursors/webcursor_aurawin.cc" ] } if (use_seccomp_bpf) { defines += [ "USE_SECCOMP_BPF" ] } else { if (is_linux) { sources -= [ "sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc", "sandbox_linux/bpf_cros_arm_gpu_policy_linux.h", "sandbox_linux/bpf_gpu_policy_linux.cc", "sandbox_linux/bpf_gpu_policy_linux.h", "sandbox_linux/bpf_ppapi_policy_linux.cc", "sandbox_linux/bpf_ppapi_policy_linux.h", "sandbox_linux/bpf_renderer_policy_linux.cc", "sandbox_linux/bpf_renderer_policy_linux.h", "sandbox_linux/sandbox_bpf_base_policy_linux.cc", "sandbox_linux/sandbox_bpf_base_policy_linux.h", ] } if (is_android) { sources -= [ "sandbox_linux/android/sandbox_bpf_base_policy_android.cc", "sandbox_linux/android/sandbox_bpf_base_policy_android.h", ] } } } mojom("mojo_bindings") { sources = [ "web_ui_setup.mojom", ] }