Index: content/renderer/BUILD.gn |
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c4e074ff98644eb008c2034130e4d896139bf6fb |
--- /dev/null |
+++ b/content/renderer/BUILD.gn |
@@ -0,0 +1,182 @@ |
+# 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") |
+ |
+source_set("renderer") { |
+ # Only targets in the content tree can depend directly on this target. |
+ visibility = [ "//content/*" ] |
+ |
+ sources = rebase_path(content_renderer_gypi_values.private_renderer_sources, |
+ ".", "//content") |
+ |
+ configs += [ |
+ "//content:blink_headers_stub_config", |
+ "//content:content_implementation", |
+ "//content:libjingle_stub_config", |
+ "//content:v8_stub_config", |
+ "//content:widevine_stub_config", |
+ ] |
+ |
+ deps = [ |
+ # TODO(GYP) bug 376846 remove this. This should be inherited from //net but |
+ # those don't cross component boundaries. |
+ "//crypto:platform", |
+ |
+ "//base/allocator", |
+ "//content:resources", |
+ "//content/common:mojo_bindings", |
+ "//gin", |
+ "//mojo/public/js/bindings", |
+ "//mojo/public/interfaces/service_provider", |
+ "//net", |
+ "//skia", |
+ "//third_party/icu", |
+ "//third_party/npapi", |
+ "//ui/accessibility", |
+ "//ui/events:dom4_keycode_converter", |
+ "//ui/native_theme", |
+ "//ui/surface", |
+ # TODO(GYP) |
+ #'../jingle/jingle.gyp:jingle_glue', |
+ #'../media/media.gyp:media', |
+ #'../mojo/mojo.gyp:mojo_environment_chromium', |
+ #'../third_party/WebKit/public/blink.gyp:blink', |
+ #'../third_party/libjingle/libjingle.gyp:libjingle', |
+ #'../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', |
+ #'../v8/tools/gyp/v8.gyp:v8', |
+ #'../webkit/child/webkit_child.gyp:webkit_child', |
+ #'../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu', |
+ #'../webkit/common/webkit_common.gyp:webkit_common', |
+ #'../webkit/renderer/compositor_bindings/compositor_bindings.gyp:webkit_compositor_bindings', |
+ #'../webkit/renderer/compositor_bindings/compositor_bindings.gyp:webkit_compositor_support', |
+ #'../webkit/storage_common.gyp:webkit_storage_common', |
+ ] |
+ |
+ if (!enable_notifications) { |
+ sources -= [ |
+ "notification_provider.cc", |
+ "active_notification_tracker.cc", |
+ ] |
+ } |
+ |
+ 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 -= [ |
+ "accessibility/renderer_accessibility_focus_only.cc", |
+ "media/audio_decoder.cc", |
+ "media/filter_helpers.cc", |
+ "media/webmediaplayer_impl.cc", |
+ ] |
+ 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", |
+ # TODO(GYP) |
+ #"//third_party/libphonenumber", |
+ ] |
+ } else { |
+ sources -= [ |
+ "java/java_bridge_channel.cc", |
+ "java/java_bridge_channel.h", |
+ "java/java_bridge_dispatcher.cc", |
+ "java/java_bridge_dispatcher.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_renderer.cc", |
+ "media/media_stream_audio_renderer.h", |
+ "media/media_stream_center.h", |
+ "media/media_stream_client.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_impl.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", |
+ # TODO(GYP) |
+ #"../third_party/libjingle/libjingle.gyp:libjingle_webrtc", |
+ #"../third_party/libjingle/libjingle.gyp:libpeerconnection", |
+ #"../third_party/webrtc/modules/modules.gyp:audio_device", |
+ #"../third_party/webrtc/modules/modules.gyp:audio_processing", |
+ #"//third_party/libyuv", |
+ ] |
+ } else { |
+ sources += [ |
+ "media/webrtc_logging_noop.cc", |
+ "media/webrtc_logging.h", |
+ ] |
+ } |
+ |
+ if (enable_plugins) { |
+ sources += rebase_path( |
+ content_renderer_gypi_values.private_renderer_plugin_sources, |
+ ".", "//content") |
+ deps += [ |
+ # TODO(GYP) |
+ #"//ppapi/ppapi_internal.gyp:ppapi_host", |
+ #"//ppapi/ppapi_internal.gyp:ppapi_proxy", |
+ #"//ppapi/ppapi_internal.gyp:ppapi_shared", |
+ ] |
+ } else { |
+ # These files are in the WebRTC list, but also require plugins. |
+ if (enable_webrtc) { |
+ sources -= [ |
+ "media/webrtc/video_destination_handler.cc", |
+ "media/webrtc/video_destination_handler.h", |
+ ] |
+ } |
+ } |
+ |
+ if (enable_plugins && enable_webrtc) { |
+ sources += rebase_path( |
+ content_renderer_gypi_values.private_renderer_plugin_webrtc_sources, |
+ ".", "//content") |
+ } |
+ |
+ if (!enable_pepper_cdms) { |
+ sources -= [ |
+ "renderer/media/crypto/ppapi_decryptor.cc", |
+ "renderer/media/crypto/ppapi_decryptor.h", |
+ ] |
+ } |
+} |