1 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//build/config/crypto.gni") 6 import("//build/config/features.gni") 7 import("//build/config/ui.gni") 8 import("//content/child/child.gni") 9 10 source_set("child") { 11 # Only the public target should depend on this. All other targets (even 12 # internal content ones) should depend on the public one. 13 visibility = [ "//content/public/child:child_sources" ] 14 15 sources = rebase_path(content_child_gypi_values.private_child_sources, 16 ".", "//content") 17 18 deps = [ 19 "//base", 20 "//components/tracing", 21 "//mojo/environment:chromium", 22 "//mojo/public/interfaces/application", 23 "//skia", 24 "//third_party/icu", 25 "//ui/base", 26 "//ui/gfx", 27 "//ui/gfx/geometry", 28 "//url", 29 ] 30 31 if (!use_default_render_theme) { 32 sources -= [ 33 "webthemeengine_impl_default.cc", 34 "webthemeengine_impl_default.h", 35 ] 36 } 37 38 if (is_android) { 39 deps += [ 40 "//third_party/android_tools:cpu_features", 41 ] 42 } 43 44 if (!enable_plugins) { 45 sources -= [ 46 "browser_font_resource_trusted.cc", 47 "npapi/plugin_host.cc", 48 "npapi/plugin_host.h", 49 "npapi/plugin_instance.cc", 50 "npapi/plugin_instance.h", 51 "npapi/plugin_lib.cc", 52 "npapi/plugin_lib.h", 53 "npapi/plugin_stream.cc", 54 "npapi/plugin_stream.h", 55 "npapi/plugin_stream_posix.cc", 56 "npapi/plugin_stream_url.cc", 57 "npapi/plugin_stream_url.h", 58 "npapi/plugin_string_stream.cc", 59 "npapi/plugin_string_stream.h", 60 "npapi/plugin_url_fetcher.cc", 61 "npapi/plugin_url_fetcher.h", 62 "npapi/webplugin.h", 63 "npapi/webplugin_delegate.h", 64 "npapi/webplugin_delegate_impl.cc", 65 "npapi/webplugin_delegate_impl.h", 66 "npapi/webplugin_resource_client.h", 67 ] 68 69 if (is_mac) { 70 sources -= [ 71 "npapi/plugin_instance_mac.mm", 72 "npapi/plugin_web_event_converter_mac.h", 73 "npapi/plugin_web_event_converter_mac.mm", 74 "npapi/webplugin_accelerated_surface_mac.h", 75 "npapi/webplugin_delegate_impl_mac.mm", 76 ] 77 } else if (is_win) { 78 sources -= [ 79 "npapi/plugin_stream_win.cc", 80 "npapi/webplugin_delegate_impl_win.cc", 81 "npapi/webplugin_ime_win.cc", 82 "npapi/webplugin_ime_win.h", 83 ] 84 } else if (is_android) { 85 sources -= [ 86 "npapi/webplugin_delegate_impl_android.cc", 87 ] 88 } 89 if (use_aura) { 90 sources -= [ 91 "npapi/webplugin_delegate_impl_aura.cc", 92 ] 93 } 94 } 95 96 configs += [ 97 "//content:content_implementation", 98 ] 99 100 if (is_ios) { 101 # iOS only needs a small portion of content; exclude all the 102 # implementation, and re-include what is used. 103 sources = [] 104 } else { 105 deps += [ 106 "//content/app/resources", 107 "//content/app/strings", 108 "//crypto:platform", 109 "//storage/common", 110 "//third_party/WebKit/public:blink", 111 "//third_party/WebKit/public:resources", 112 "//third_party/npapi", 113 ] 114 } 115 116 if (use_aura && is_mac) { 117 # This file is already excluded on non-Mac. 118 sources -= [ "npapi/webplugin_delegate_impl_mac.mm" ] 119 } 120 121 if (is_win || !use_aura) { 122 sources -= [ "npapi/webplugin_delegate_impl_aura.cc" ] 123 } 124 125 if (!use_openssl) { 126 sources += rebase_path(content_child_gypi_values.webcrypto_nss_sources, 127 ".", "//content") 128 } else { 129 sources += rebase_path(content_child_gypi_values.webcrypto_openssl_sources, 130 ".", "//content") 131 } 132 } 133