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