• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
5import("//build/config/crypto.gni")
6import("//build/config/features.gni")
7import("//build/config/ui.gni")
8import("//content/child/child.gni")
9
10source_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