Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / child / BUILD.gn
blob0d13f5d99ff675e20aa04ab3a76dc9e88ba27a48
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.
5 import("//build/config/crypto.gni")
6 import("//build/config/features.gni")
7 import("//build/config/ui.gni")
8 import("//content/child/child.gni")
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" ]
15   sources = rebase_path(content_child_gypi_values.private_child_sources,
16                         ".",
17                         "//content")
19   configs += [ "//build/config:precompiled_headers" ]
21   public_deps = [
22     "//third_party/mojo/src/mojo/edk/system",
23   ]
25   deps = [
26     "//base",
27     "//components/mime_util",
28     "//components/tracing",
29     "//components/tracing:startup_tracing",
30     "//components/webcrypto",
31     "//content/common:mojo_bindings",
32     "//mojo/application/public/interfaces",
33     "//mojo/common",
34     "//mojo/environment:chromium",
35     "//mojo/message_pump",
36     "//skia",
37     "//third_party/icu",
38     "//ui/base",
39     "//ui/events/gestures/blink",
40     "//ui/gfx",
41     "//ui/gfx/geometry",
42     "//ui/native_theme",
43     "//url",
44   ]
46   if (!use_default_render_theme) {
47     sources -= [
48       "webthemeengine_impl_default.cc",
49       "webthemeengine_impl_default.h",
50     ]
51   }
53   if (is_android) {
54     deps += [ "//third_party/android_tools:cpu_features" ]
55   }
57   if (enable_plugins) {
58     deps += [ "//ppapi/proxy" ]
59   } else {
60     sources -= [
61       "browser_font_resource_trusted.cc",
62       "npapi/plugin_host.cc",
63       "npapi/plugin_host.h",
64       "npapi/plugin_instance.cc",
65       "npapi/plugin_instance.h",
66       "npapi/plugin_lib.cc",
67       "npapi/plugin_lib.h",
68       "npapi/plugin_stream.cc",
69       "npapi/plugin_stream.h",
70       "npapi/plugin_stream_posix.cc",
71       "npapi/plugin_stream_url.cc",
72       "npapi/plugin_stream_url.h",
73       "npapi/plugin_string_stream.cc",
74       "npapi/plugin_string_stream.h",
75       "npapi/plugin_url_fetcher.cc",
76       "npapi/plugin_url_fetcher.h",
77       "npapi/webplugin.h",
78       "npapi/webplugin_delegate.h",
79       "npapi/webplugin_delegate_impl.cc",
80       "npapi/webplugin_delegate_impl.h",
81       "npapi/webplugin_resource_client.h",
82     ]
84     if (is_mac) {
85       sources -= [
86         "npapi/plugin_instance_mac.mm",
87         "npapi/plugin_web_event_converter_mac.h",
88         "npapi/plugin_web_event_converter_mac.mm",
89         "npapi/webplugin_accelerated_surface_mac.h",
90         "npapi/webplugin_delegate_impl_mac.mm",
91       ]
92     } else if (is_win) {
93       sources -= [
94         "npapi/plugin_stream_win.cc",
95         "npapi/webplugin_delegate_impl_win.cc",
96         "npapi/webplugin_ime_win.cc",
97         "npapi/webplugin_ime_win.h",
98       ]
99     } else if (is_android) {
100       sources -= [ "npapi/webplugin_delegate_impl_android.cc" ]
101     }
102     if (use_aura) {
103       sources -= [ "npapi/webplugin_delegate_impl_aura.cc" ]
104     }
105   }
107   configs += [
108     "//content:content_implementation",
109     "//build/config/compiler:no_size_t_to_int_warning",
110   ]
112   if (is_ios) {
113     # iOS only needs a small portion of content; exclude all the
114     # implementation, and re-include what is used.
115     sources = []
116   } else {
117     deps += [
118       "//components/scheduler:scheduler",
119       "//content/app/resources",
120       "//content/app/strings",
121       "//crypto:platform",
122       "//storage/common",
123       "//third_party/WebKit/public:blink",
124       "//third_party/WebKit/public:image_resources",
125       "//third_party/WebKit/public:resources",
126       "//third_party/npapi",
127     ]
128   }
130   if (use_aura && is_mac) {
131     # This file is already excluded on non-Mac.
132     sources -= [ "npapi/webplugin_delegate_impl_mac.mm" ]
133   }
135   if (is_win || !use_aura) {
136     sources -= [ "npapi/webplugin_delegate_impl_aura.cc" ]
137   }