Apply automatic range checks to content enum types across IPC.
[chromium-blink-merge.git] / content / content_child.gypi
blobdf585265315ec60ca52a81d498d9616526e94889
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     '../components/webcrypto/webcrypto.gyp:webcrypto',
10     '../mojo/mojo_base.gyp:mojo_environment_chromium',
11     '../mojo/mojo_base.gyp:mojo_common_lib',
12     '../skia/skia.gyp:skia',
13     '../ui/base/ui_base.gyp:ui_base',
14     '../ui/events/events.gyp:gestures_blink',
15     '../ui/gfx/gfx.gyp:gfx',
16     '../ui/gfx/gfx.gyp:gfx_geometry',
17     '../url/url.gyp:url_lib',
18     'content_common_mojo_bindings.gyp:content_common_mojo_bindings',
19   ],
20   'include_dirs': [
21     '..',
22   ],
23   'export_dependent_settings': [
24     '../base/base.gyp:base',
25   ],
26   'variables': {
27     'public_child_sources': [
28       'public/child/child_thread.h',
29       'public/child/image_decoder_utils.h',
30       'public/child/request_peer.h',
31       'public/child/resource_dispatcher_delegate.h',
32       'public/child/v8_value_converter.h',
33     ],
34     'private_child_sources': [
35       'child/appcache/appcache_backend_proxy.cc',
36       'child/appcache/appcache_backend_proxy.h',
37       'child/appcache/appcache_dispatcher.cc',
38       'child/appcache/appcache_dispatcher.h',
39       'child/appcache/appcache_frontend_impl.cc',
40       'child/appcache/appcache_frontend_impl.h',
41       'child/appcache/web_application_cache_host_impl.cc',
42       'child/appcache/web_application_cache_host_impl.h',
43       'child/assert_matching_enums.cc',
44       'child/blink_platform_impl.cc',
45       'child/blink_platform_impl.h',
46       'child/bluetooth/bluetooth_dispatcher.cc',
47       'child/bluetooth/bluetooth_dispatcher.h',
48       'child/bluetooth/bluetooth_message_filter.cc',
49       'child/bluetooth/bluetooth_message_filter.h',
50       'child/bluetooth/web_bluetooth_impl.cc',
51       'child/bluetooth/web_bluetooth_impl.h',
52       'child/browser_font_resource_trusted.cc',
53       'child/browser_font_resource_trusted.h',
54       'child/child_discardable_shared_memory_manager.cc',
55       'child/child_discardable_shared_memory_manager.h',
56       'child/child_gpu_memory_buffer_manager.cc',
57       'child/child_gpu_memory_buffer_manager.h',
58       'child/child_histogram_message_filter.cc',
59       'child/child_histogram_message_filter.h',
60       'child/child_message_filter.cc',
61       'child/child_message_filter.h',
62       'child/child_process.cc',
63       'child/child_process.h',
64       'child/child_resource_message_filter.cc',
65       'child/child_resource_message_filter.h',
66       'child/child_shared_bitmap_manager.cc',
67       'child/child_shared_bitmap_manager.h',
68       'child/child_thread_impl.cc',
69       'child/child_thread_impl.h',
70       'child/content_child_helpers.cc',
71       'child/content_child_helpers.h',
72       'child/database_util.cc',
73       'child/database_util.h',
74       'child/db_message_filter.cc',
75       'child/db_message_filter.h',
76       'child/file_info_util.cc',
77       'child/file_info_util.h',
78       'child/fileapi/file_system_dispatcher.cc',
79       'child/fileapi/file_system_dispatcher.h',
80       'child/fileapi/webfilesystem_impl.cc',
81       'child/fileapi/webfilesystem_impl.h',
82       'child/fileapi/webfilewriter_base.cc',
83       'child/fileapi/webfilewriter_base.h',
84       'child/fileapi/webfilewriter_impl.cc',
85       'child/fileapi/webfilewriter_impl.h',
86       'child/ftp_directory_listing_response_delegate.cc',
87       'child/ftp_directory_listing_response_delegate.h',
88       'child/geofencing/geofencing_dispatcher.cc',
89       'child/geofencing/geofencing_dispatcher.h',
90       'child/geofencing/geofencing_message_filter.cc',
91       'child/geofencing/geofencing_message_filter.h',
92       'child/geofencing/web_geofencing_provider_impl.cc',
93       'child/geofencing/web_geofencing_provider_impl.h',
94       'child/image_decoder.cc',
95       'child/image_decoder.h',
96       'child/indexed_db/indexed_db_dispatcher.cc',
97       'child/indexed_db/indexed_db_dispatcher.h',
98       'child/indexed_db/indexed_db_key_builders.cc',
99       'child/indexed_db/indexed_db_key_builders.h',
100       'child/indexed_db/indexed_db_message_filter.cc',
101       'child/indexed_db/indexed_db_message_filter.h',
102       'child/indexed_db/webidbcursor_impl.cc',
103       'child/indexed_db/webidbcursor_impl.h',
104       'child/indexed_db/webidbdatabase_impl.cc',
105       'child/indexed_db/webidbdatabase_impl.h',
106       'child/indexed_db/webidbfactory_impl.cc',
107       'child/indexed_db/webidbfactory_impl.h',
108       'child/mojo/mojo_application.cc',
109       'child/mojo/mojo_application.h',
110       'child/multipart_response_delegate.cc',
111       'child/multipart_response_delegate.h',
112       'child/navigator_connect/navigator_connect_dispatcher.cc',
113       'child/navigator_connect/navigator_connect_dispatcher.h',
114       'child/navigator_connect/navigator_connect_provider.cc',
115       'child/navigator_connect/navigator_connect_provider.h',
116       'child/notifications/notification_data_conversions.cc',
117       'child/notifications/notification_data_conversions.h',
118       'child/notifications/notification_dispatcher.cc',
119       'child/notifications/notification_dispatcher.h',
120       'child/notifications/notification_image_loader.cc',
121       'child/notifications/notification_image_loader.h',
122       'child/notifications/notification_manager.cc',
123       'child/notifications/notification_manager.h',
124       'child/notifications/pending_notifications_tracker.cc',
125       'child/notifications/pending_notifications_tracker.h',
126       'child/npapi/np_channel_base.cc',
127       'child/npapi/np_channel_base.h',
128       'child/npapi/npobject_base.h',
129       'child/npapi/npobject_proxy.cc',
130       'child/npapi/npobject_proxy.h',
131       'child/npapi/npobject_stub.cc',
132       'child/npapi/npobject_stub.h',
133       'child/npapi/npobject_util.cc',
134       'child/npapi/npobject_util.h',
135       'child/npapi/npruntime_util.cc',
136       'child/npapi/npruntime_util.h',
137       'child/npapi/plugin_host.cc',
138       'child/npapi/plugin_host.h',
139       'child/npapi/plugin_instance.cc',
140       'child/npapi/plugin_instance.h',
141       'child/npapi/plugin_instance_mac.mm',
142       'child/npapi/plugin_lib.cc',
143       'child/npapi/plugin_lib.h',
144       'child/npapi/plugin_stream.cc',
145       'child/npapi/plugin_stream.h',
146       'child/npapi/plugin_stream_posix.cc',
147       'child/npapi/plugin_stream_url.cc',
148       'child/npapi/plugin_stream_url.h',
149       'child/npapi/plugin_stream_win.cc',
150       'child/npapi/plugin_string_stream.cc',
151       'child/npapi/plugin_string_stream.h',
152       'child/npapi/plugin_url_fetcher.cc',
153       'child/npapi/plugin_url_fetcher.h',
154       'child/npapi/plugin_web_event_converter_mac.h',
155       'child/npapi/plugin_web_event_converter_mac.mm',
156       'child/npapi/webplugin.h',
157       'child/npapi/webplugin_accelerated_surface_mac.h',
158       'child/npapi/webplugin_delegate.h',
159       'child/npapi/webplugin_delegate_impl.cc',
160       'child/npapi/webplugin_delegate_impl.h',
161       'child/npapi/webplugin_delegate_impl_android.cc',
162       'child/npapi/webplugin_delegate_impl_aura.cc',
163       'child/npapi/webplugin_delegate_impl_mac.mm',
164       'child/npapi/webplugin_delegate_impl_win.cc',
165       'child/npapi/webplugin_ime_win.cc',
166       'child/npapi/webplugin_ime_win.h',
167       'child/npapi/webplugin_resource_client.h',
168       'child/permissions/permission_dispatcher.cc',
169       'child/permissions/permission_dispatcher.h',
170       'child/permissions/permission_dispatcher_thread_proxy.cc',
171       'child/permissions/permission_dispatcher_thread_proxy.h',
172       'child/permissions/permission_observers_registry.cc',
173       'child/permissions/permission_observers_registry.h',
174       'child/plugin_message_generator.cc',
175       'child/plugin_message_generator.h',
176       'child/plugin_messages.h',
177       'child/plugin_param_traits.cc',
178       'child/plugin_param_traits.h',
179       'child/power_monitor_broadcast_source.cc',
180       'child/power_monitor_broadcast_source.h',
181       'child/push_messaging/push_dispatcher.cc',
182       'child/push_messaging/push_dispatcher.h',
183       'child/push_messaging/push_provider.cc',
184       'child/push_messaging/push_provider.h',
185       'child/quota_dispatcher.cc',
186       'child/quota_dispatcher.h',
187       'child/quota_message_filter.cc',
188       'child/quota_message_filter.h',
189       'child/request_extra_data.cc',
190       'child/request_extra_data.h',
191       'child/request_info.cc',
192       'child/request_info.h',
193       'child/scheduler/cancelable_closure_holder.cc',
194       'child/scheduler/cancelable_closure_holder.h',
195       'child/scheduler/child_scheduler.h',
196       'child/scheduler/nestable_single_thread_task_runner.h',
197       'child/scheduler/null_idle_task_runner.cc',
198       'child/scheduler/null_idle_task_runner.h',
199       'child/scheduler/null_worker_scheduler.cc',
200       'child/scheduler/null_worker_scheduler.h',
201       'child/scheduler/prioritizing_task_queue_selector.cc',
202       'child/scheduler/prioritizing_task_queue_selector.h',
203       'child/scheduler/scheduler_helper.cc',
204       'child/scheduler/scheduler_helper.h',
205       'child/scheduler/scheduler_message_loop_delegate.cc',
206       'child/scheduler/scheduler_message_loop_delegate.h',
207       'child/scheduler/single_thread_idle_task_runner.cc',
208       'child/scheduler/single_thread_idle_task_runner.h',
209       'child/scheduler/task_queue_selector.h',
210       'child/scheduler/task_queue_manager.cc',
211       'child/scheduler/task_queue_manager.h',
212       'child/scheduler/webthread_impl_for_worker_scheduler.cc',
213       'child/scheduler/webthread_impl_for_worker_scheduler.h',
214       'child/scheduler/web_scheduler_impl.cc',
215       'child/scheduler/web_scheduler_impl.h',
216       'child/scheduler/worker_scheduler.cc',
217       'child/scheduler/worker_scheduler.h',
218       'child/scheduler/worker_scheduler_impl.cc',
219       'child/scheduler/worker_scheduler_impl.h',
220       'child/resource_dispatcher.cc',
221       'child/resource_dispatcher.h',
222       'child/resource_scheduling_filter.cc',
223       'child/resource_scheduling_filter.h',
224       'child/runtime_features.cc',
225       'child/runtime_features.h',
226       'child/scoped_child_process_reference.cc',
227       'child/scoped_child_process_reference.h',
228       'child/service_worker/service_worker_dispatcher.cc',
229       'child/service_worker/service_worker_dispatcher.h',
230       'child/service_worker/service_worker_handle_reference.cc',
231       'child/service_worker/service_worker_handle_reference.h',
232       'child/service_worker/service_worker_message_filter.cc',
233       'child/service_worker/service_worker_message_filter.h',
234       'child/service_worker/service_worker_network_provider.cc',
235       'child/service_worker/service_worker_network_provider.h',
236       'child/service_worker/service_worker_provider_context.cc',
237       'child/service_worker/service_worker_provider_context.h',
238       'child/service_worker/service_worker_registration_handle_reference.cc',
239       'child/service_worker/service_worker_registration_handle_reference.h',
240       'child/service_worker/web_service_worker_impl.cc',
241       'child/service_worker/web_service_worker_impl.h',
242       'child/service_worker/web_service_worker_provider_impl.cc',
243       'child/service_worker/web_service_worker_provider_impl.h',
244       'child/service_worker/web_service_worker_registration_impl.cc',
245       'child/service_worker/web_service_worker_registration_impl.h',
246       'child/shared_worker_devtools_agent.cc',
247       'child/shared_worker_devtools_agent.h',
248       'child/simple_webmimeregistry_impl.cc',
249       'child/simple_webmimeregistry_impl.h',
250       'child/site_isolation_policy.cc',
251       'child/site_isolation_policy.h',
252       'child/sync_load_response.cc',
253       'child/sync_load_response.h',
254       'child/thread_safe_sender.cc',
255       'child/thread_safe_sender.h',
256       'child/threaded_data_provider.cc',
257       'child/threaded_data_provider.h',
258       'child/v8_value_converter_impl.cc',
259       'child/v8_value_converter_impl.h',
260       'child/web_data_consumer_handle_impl.cc',
261       'child/web_data_consumer_handle_impl.h',
262       'child/web_database_observer_impl.cc',
263       'child/web_database_observer_impl.h',
264       'child/web_discardable_memory_impl.cc',
265       'child/web_discardable_memory_impl.h',
266       'child/web_url_loader_impl.cc',
267       'child/web_url_loader_impl.h',
268       'child/web_url_request_util.cc',
269       'child/web_url_request_util.h',
270       'child/webblobregistry_impl.cc',
271       'child/webblobregistry_impl.h',
272       'child/webfallbackthemeengine_impl.cc',
273       'child/webfallbackthemeengine_impl.h',
274       'child/webfileutilities_impl.cc',
275       'child/webfileutilities_impl.h',
276       'child/webmessageportchannel_impl.cc',
277       'child/webmessageportchannel_impl.h',
278       'child/websocket_bridge.cc',
279       'child/websocket_bridge.h',
280       'child/websocket_dispatcher.cc',
281       'child/websocket_dispatcher.h',
282       'child/webthemeengine_impl_android.cc',
283       'child/webthemeengine_impl_android.h',
284       'child/webthemeengine_impl_default.cc',
285       'child/webthemeengine_impl_default.h',
286       'child/webthemeengine_impl_mac.h',
287       'child/webthread_base.cc',
288       'child/webthread_base.h',
289       'child/weburlresponse_extradata_impl.cc',
290       'child/weburlresponse_extradata_impl.h',
291       'child/worker_task_runner.cc',
292       'child/worker_task_runner.h',
293       'child/worker_thread_message_filter.cc',
294       'child/worker_thread_message_filter.h',
295     ],
296   },
297   'sources': [
298     '<@(public_child_sources)',
299     '<@(private_child_sources)',
300   ],
301   'conditions': [
302     ['use_default_render_theme==0',
303       {
304         'sources/': [
305           ['exclude', 'child/webthemeengine_impl_default.cc'],
306           ['exclude', 'child/webthemeengine_impl_default.h'],
307         ],
308       }
309     ],
310     ['OS=="android"', {
311       'dependencies': [
312         '../build/android/ndk.gyp:cpu_features',
313       ],
314     }],
315     ['enable_plugins==0', {
316       'sources!': [
317         'child/browser_font_resource_trusted.cc',
318       ],
319       'sources/': [
320         ['exclude', '^child/npapi/plugin_'],
321         ['exclude', '^child/npapi/webplugin_'],
322       ],
323     }],
324     ['OS=="ios"', {
325       'sources/': [
326         # iOS only needs a small portion of content; exclude all the
327         # implementation, and re-include what is used.
328         ['exclude', '\\.(cc|mm)$'],
329       ],
330     }, {  # OS!="ios"
331       'dependencies': [
332         'app/resources/content_resources.gyp:content_resources',
333         'app/strings/content_strings.gyp:content_strings',
334         '../storage/storage_common.gyp:storage_common',
335         '../third_party/WebKit/public/blink.gyp:blink',
336         '../third_party/WebKit/public/blink_resources.gyp:blink_image_resources',
337         '../third_party/WebKit/public/blink_resources.gyp:blink_resources',
338         '../third_party/npapi/npapi.gyp:npapi',
339       ],
340     }],
341     ['use_aura==1', {
342       'sources!': [
343         'child/npapi/webplugin_delegate_impl_mac.mm',
344       ],
345     }],
346     ['OS=="win"', {
347       'sources!': [
348         'child/npapi/webplugin_delegate_impl_aura.cc',
349       ],
350     }],
351   ],