1# Copyright 2013 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{
6  'dependencies': [
7    '../base/base.gyp:base',
8    '../components/tracing.gyp:tracing',
9    '../mojo/mojo_base.gyp:mojo_application_bindings',
10    '../mojo/mojo_base.gyp:mojo_environment_chromium',
11    '../skia/skia.gyp:skia',
12    '../ui/base/ui_base.gyp:ui_base',
13    '../ui/gfx/gfx.gyp:gfx',
14    '../ui/gfx/gfx.gyp:gfx_geometry',
15    '../url/url.gyp:url_lib',
16  ],
17  'include_dirs': [
18    '..',
19  ],
20  'export_dependent_settings': [
21    '../base/base.gyp:base',
22  ],
23  'variables': {
24    'public_child_sources': [
25      'public/child/image_decoder_utils.h',
26      'public/child/request_peer.h',
27      'public/child/resource_dispatcher_delegate.h',
28    ],
29    'private_child_sources': [
30      'child/appcache/appcache_backend_proxy.cc',
31      'child/appcache/appcache_backend_proxy.h',
32      'child/appcache/appcache_dispatcher.cc',
33      'child/appcache/appcache_dispatcher.h',
34      'child/appcache/appcache_frontend_impl.cc',
35      'child/appcache/appcache_frontend_impl.h',
36      'child/appcache/web_application_cache_host_impl.cc',
37      'child/appcache/web_application_cache_host_impl.h',
38      'child/assert_matching_enums.cc',
39      'child/blink_platform_impl.cc',
40      'child/blink_platform_impl.h',
41      'child/browser_font_resource_trusted.cc',
42      'child/browser_font_resource_trusted.h',
43      'child/child_histogram_message_filter.cc',
44      'child/child_histogram_message_filter.h',
45      'child/child_message_filter.cc',
46      'child/child_message_filter.h',
47      'child/child_process.cc',
48      'child/child_process.h',
49      'child/child_resource_message_filter.cc',
50      'child/child_resource_message_filter.h',
51      'child/child_shared_bitmap_manager.cc',
52      'child/child_shared_bitmap_manager.h',
53      'child/child_thread.cc',
54      'child/child_thread.h',
55      'child/content_child_helpers.cc',
56      'child/content_child_helpers.h',
57      'child/database_util.cc',
58      'child/database_util.h',
59      'child/db_message_filter.cc',
60      'child/db_message_filter.h',
61      'child/file_info_util.cc',
62      'child/file_info_util.h',
63      'child/fileapi/file_system_dispatcher.cc',
64      'child/fileapi/file_system_dispatcher.h',
65      'child/fileapi/webfilesystem_impl.cc',
66      'child/fileapi/webfilesystem_impl.h',
67      'child/fileapi/webfilewriter_base.cc',
68      'child/fileapi/webfilewriter_base.h',
69      'child/fileapi/webfilewriter_impl.cc',
70      'child/fileapi/webfilewriter_impl.h',
71      'child/fling_animator_impl_android.cc',
72      'child/fling_animator_impl_android.h',
73      'child/ftp_directory_listing_response_delegate.cc',
74      'child/ftp_directory_listing_response_delegate.h',
75      'child/image_decoder.cc',
76      'child/image_decoder.h',
77      'child/indexed_db/indexed_db_dispatcher.cc',
78      'child/indexed_db/indexed_db_dispatcher.h',
79      'child/indexed_db/indexed_db_key_builders.cc',
80      'child/indexed_db/indexed_db_key_builders.h',
81      'child/indexed_db/indexed_db_message_filter.cc',
82      'child/indexed_db/indexed_db_message_filter.h',
83      'child/indexed_db/webidbcursor_impl.cc',
84      'child/indexed_db/webidbcursor_impl.h',
85      'child/indexed_db/webidbdatabase_impl.cc',
86      'child/indexed_db/webidbdatabase_impl.h',
87      'child/indexed_db/webidbfactory_impl.cc',
88      'child/indexed_db/webidbfactory_impl.h',
89      'child/mojo/mojo_application.cc',
90      'child/mojo/mojo_application.h',
91      'child/multipart_response_delegate.cc',
92      'child/multipart_response_delegate.h',
93      'child/npapi/np_channel_base.cc',
94      'child/npapi/np_channel_base.h',
95      'child/npapi/npobject_base.h',
96      'child/npapi/npobject_proxy.cc',
97      'child/npapi/npobject_proxy.h',
98      'child/npapi/npobject_stub.cc',
99      'child/npapi/npobject_stub.h',
100      'child/npapi/npobject_util.cc',
101      'child/npapi/npobject_util.h',
102      'child/npapi/npruntime_util.cc',
103      'child/npapi/npruntime_util.h',
104      'child/npapi/plugin_host.cc',
105      'child/npapi/plugin_host.h',
106      'child/npapi/plugin_instance.cc',
107      'child/npapi/plugin_instance.h',
108      'child/npapi/plugin_instance_mac.mm',
109      'child/npapi/plugin_lib.cc',
110      'child/npapi/plugin_lib.h',
111      'child/npapi/plugin_stream.cc',
112      'child/npapi/plugin_stream.h',
113      'child/npapi/plugin_stream_posix.cc',
114      'child/npapi/plugin_stream_url.cc',
115      'child/npapi/plugin_stream_url.h',
116      'child/npapi/plugin_stream_win.cc',
117      'child/npapi/plugin_string_stream.cc',
118      'child/npapi/plugin_string_stream.h',
119      'child/npapi/plugin_url_fetcher.cc',
120      'child/npapi/plugin_url_fetcher.h',
121      'child/npapi/plugin_web_event_converter_mac.h',
122      'child/npapi/plugin_web_event_converter_mac.mm',
123      'child/npapi/webplugin.h',
124      'child/npapi/webplugin_accelerated_surface_mac.h',
125      'child/npapi/webplugin_delegate.h',
126      'child/npapi/webplugin_delegate_impl.cc',
127      'child/npapi/webplugin_delegate_impl.h',
128      'child/npapi/webplugin_delegate_impl_android.cc',
129      'child/npapi/webplugin_delegate_impl_aura.cc',
130      'child/npapi/webplugin_delegate_impl_mac.mm',
131      'child/npapi/webplugin_delegate_impl_win.cc',
132      'child/npapi/webplugin_ime_win.cc',
133      'child/npapi/webplugin_ime_win.h',
134      'child/npapi/webplugin_resource_client.h',
135      'child/plugin_message_generator.cc',
136      'child/plugin_message_generator.h',
137      'child/plugin_messages.h',
138      'child/plugin_param_traits.cc',
139      'child/plugin_param_traits.h',
140      'child/power_monitor_broadcast_source.cc',
141      'child/power_monitor_broadcast_source.h',
142      'child/quota_dispatcher.cc',
143      'child/quota_dispatcher.h',
144      'child/quota_message_filter.cc',
145      'child/quota_message_filter.h',
146      'child/request_extra_data.cc',
147      'child/request_extra_data.h',
148      'child/request_info.cc',
149      'child/request_info.h',
150      'child/resource_dispatcher.cc',
151      'child/resource_dispatcher.h',
152      'child/resource_loader_bridge.cc',
153      'child/resource_loader_bridge.h',
154      'child/runtime_features.cc',
155      'child/runtime_features.h',
156      'child/scoped_child_process_reference.cc',
157      'child/scoped_child_process_reference.h',
158      'child/service_worker/service_worker_dispatcher.cc',
159      'child/service_worker/service_worker_dispatcher.h',
160      'child/service_worker/service_worker_handle_reference.cc',
161      'child/service_worker/service_worker_handle_reference.h',
162      'child/service_worker/service_worker_message_filter.cc',
163      'child/service_worker/service_worker_message_filter.h',
164      'child/service_worker/service_worker_network_provider.cc',
165      'child/service_worker/service_worker_network_provider.h',
166      'child/service_worker/service_worker_provider_context.cc',
167      'child/service_worker/service_worker_provider_context.h',
168      'child/service_worker/service_worker_registration_handle_reference.cc',
169      'child/service_worker/service_worker_registration_handle_reference.h',
170      'child/service_worker/web_service_worker_impl.cc',
171      'child/service_worker/web_service_worker_impl.h',
172      'child/service_worker/web_service_worker_provider_impl.cc',
173      'child/service_worker/web_service_worker_provider_impl.h',
174      'child/service_worker/web_service_worker_registration_impl.cc',
175      'child/service_worker/web_service_worker_registration_impl.h',
176      'child/shared_worker_devtools_agent.cc',
177      'child/shared_worker_devtools_agent.h',
178      'child/simple_webmimeregistry_impl.cc',
179      'child/simple_webmimeregistry_impl.h',
180      'child/site_isolation_policy.cc',
181      'child/site_isolation_policy.h',
182      'child/socket_stream_dispatcher.cc',
183      'child/socket_stream_dispatcher.h',
184      'child/sync_load_response.cc',
185      'child/sync_load_response.h',
186      'child/thread_safe_sender.cc',
187      'child/thread_safe_sender.h',
188      'child/threaded_data_provider.cc',
189      'child/threaded_data_provider.h',
190      'child/touch_fling_gesture_curve.cc',
191      'child/touch_fling_gesture_curve.h',
192      'child/web_database_observer_impl.cc',
193      'child/web_database_observer_impl.h',
194      'child/web_discardable_memory_impl.cc',
195      'child/web_discardable_memory_impl.h',
196      'child/web_socket_stream_handle_bridge.h',
197      'child/web_socket_stream_handle_delegate.h',
198      'child/web_socket_stream_handle_impl.cc',
199      'child/web_socket_stream_handle_impl.h',
200      'child/web_url_loader_impl.cc',
201      'child/web_url_loader_impl.h',
202      'child/web_url_request_util.cc',
203      'child/web_url_request_util.h',
204      'child/webblobregistry_impl.cc',
205      'child/webblobregistry_impl.h',
206      'child/webcrypto/algorithm_dispatch.cc',
207      'child/webcrypto/algorithm_dispatch.h',
208      'child/webcrypto/algorithm_implementation.cc',
209      'child/webcrypto/algorithm_implementation.h',
210      'child/webcrypto/algorithm_registry.cc',
211      'child/webcrypto/algorithm_registry.h',
212      'child/webcrypto/crypto_data.cc',
213      'child/webcrypto/crypto_data.h',
214      'child/webcrypto/jwk.cc',
215      'child/webcrypto/jwk.h',
216      'child/webcrypto/platform_crypto.h',
217      'child/webcrypto/status.cc',
218      'child/webcrypto/status.h',
219      'child/webcrypto/structured_clone.cc',
220      'child/webcrypto/structured_clone.h',
221      'child/webcrypto/webcrypto_impl.cc',
222      'child/webcrypto/webcrypto_impl.h',
223      'child/webcrypto/webcrypto_util.cc',
224      'child/webcrypto/webcrypto_util.h',
225      'child/webfallbackthemeengine_impl.cc',
226      'child/webfallbackthemeengine_impl.h',
227      'child/webfileutilities_impl.cc',
228      'child/webfileutilities_impl.h',
229      'child/webmessageportchannel_impl.cc',
230      'child/webmessageportchannel_impl.h',
231      'child/websocket_bridge.cc',
232      'child/websocket_bridge.h',
233      'child/websocket_dispatcher.cc',
234      'child/websocket_dispatcher.h',
235      'child/webthemeengine_impl_android.cc',
236      'child/webthemeengine_impl_android.h',
237      'child/webthemeengine_impl_default.cc',
238      'child/webthemeengine_impl_default.h',
239      'child/webthemeengine_impl_mac.cc',
240      'child/webthemeengine_impl_mac.h',
241      'child/webthread_impl.cc',
242      'child/webthread_impl.h',
243      'child/weburlresponse_extradata_impl.cc',
244      'child/weburlresponse_extradata_impl.h',
245      'child/worker_task_runner.cc',
246      'child/worker_task_runner.h',
247      'child/worker_thread_task_runner.cc',
248      'child/worker_thread_task_runner.h',
249    ],
250    'webcrypto_nss_sources': [
251      'child/webcrypto/nss/aes_cbc_nss.cc',
252      'child/webcrypto/nss/aes_gcm_nss.cc',
253      'child/webcrypto/nss/aes_key_nss.cc',
254      'child/webcrypto/nss/aes_key_nss.h',
255      'child/webcrypto/nss/aes_kw_nss.cc',
256      'child/webcrypto/nss/hmac_nss.cc',
257      'child/webcrypto/nss/key_nss.cc',
258      'child/webcrypto/nss/key_nss.h',
259      'child/webcrypto/nss/rsa_key_nss.cc',
260      'child/webcrypto/nss/rsa_key_nss.h',
261      'child/webcrypto/nss/rsa_oaep_nss.cc',
262      'child/webcrypto/nss/rsa_ssa_nss.cc',
263      'child/webcrypto/nss/sha_nss.cc',
264      'child/webcrypto/nss/sym_key_nss.cc',
265      'child/webcrypto/nss/sym_key_nss.h',
266      'child/webcrypto/nss/util_nss.cc',
267      'child/webcrypto/nss/util_nss.h',
268    ],
269    'webcrypto_openssl_sources': [
270      'child/webcrypto/openssl/aes_cbc_openssl.cc',
271      'child/webcrypto/openssl/aes_ctr_openssl.cc',
272      'child/webcrypto/openssl/aes_gcm_openssl.cc',
273      'child/webcrypto/openssl/aes_key_openssl.cc',
274      'child/webcrypto/openssl/aes_key_openssl.h',
275      'child/webcrypto/openssl/aes_kw_openssl.cc',
276      'child/webcrypto/openssl/hmac_openssl.cc',
277      'child/webcrypto/openssl/key_openssl.cc',
278      'child/webcrypto/openssl/key_openssl.h',
279      'child/webcrypto/openssl/rsa_key_openssl.cc',
280      'child/webcrypto/openssl/rsa_key_openssl.h',
281      'child/webcrypto/openssl/rsa_oaep_openssl.cc',
282      'child/webcrypto/openssl/rsa_ssa_openssl.cc',
283      'child/webcrypto/openssl/sha_openssl.cc',
284      'child/webcrypto/openssl/sym_key_openssl.cc',
285      'child/webcrypto/openssl/sym_key_openssl.h',
286      'child/webcrypto/openssl/util_openssl.cc',
287      'child/webcrypto/openssl/util_openssl.h',
288    ],
289  },
290  'sources': [
291    '<@(public_child_sources)',
292    '<@(private_child_sources)',
293  ],
294  'conditions': [
295    ['use_default_render_theme==0',
296      {
297        'sources/': [
298          ['exclude', 'child/webthemeengine_impl_default.cc'],
299          ['exclude', 'child/webthemeengine_impl_default.h'],
300        ],
301      }
302    ],
303    ['OS=="android"', {
304      'includes': [
305        '../build/android/cpufeatures.gypi',
306      ],
307    }],
308    ['enable_plugins==0', {
309      'sources!': [
310        'child/browser_font_resource_trusted.cc',
311      ],
312      'sources/': [
313        ['exclude', '^child/npapi/plugin_'],
314        ['exclude', '^child/npapi/webplugin_'],
315      ],
316    }],
317    ['OS=="ios"', {
318      'sources/': [
319        # iOS only needs a small portion of content; exclude all the
320        # implementation, and re-include what is used.
321        ['exclude', '\\.(cc|mm)$'],
322      ],
323    }, {  # OS!="ios"
324      'dependencies': [
325        'app/resources/content_resources.gyp:content_resources',
326        'app/strings/content_strings.gyp:content_strings',
327        '../storage/storage_common.gyp:storage_common',
328        '../third_party/WebKit/public/blink.gyp:blink',
329        '../third_party/WebKit/public/blink_resources.gyp:blink_resources',
330        '../third_party/npapi/npapi.gyp:npapi',
331      ],
332    }],
333    ['use_aura==1', {
334      'sources!': [
335        'child/npapi/webplugin_delegate_impl_mac.mm',
336      ],
337    }],
338    ['OS=="win"', {
339      'sources!': [
340        'child/npapi/webplugin_delegate_impl_aura.cc',
341      ],
342    }],
343    ['use_openssl==1', {
344      'sources': [
345        '<@(webcrypto_openssl_sources)',
346      ],
347      'dependencies': [
348        '../third_party/boringssl/boringssl.gyp:boringssl',
349      ],
350    }, {
351      'sources': [
352        '<@(webcrypto_nss_sources)',
353      ],
354      'conditions': [
355        ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
356          'dependencies': [
357            '../build/linux/system.gyp:ssl',
358          ],
359        }, {
360          'dependencies': [
361            '../third_party/nss/nss.gyp:nspr',
362            '../third_party/nss/nss.gyp:nss',
363          ],
364        }],
365      ],
366    }],
367  ],
368}
369