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