Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ppapi / BUILD.gn
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
5 gypi_values = exec_script(
6     "//build/gypi_to_gn.py",
7     [ rebase_path("ppapi_sources.gypi") ],
8     "scope",
9     [ "ppapi_sources.gypi" ])
10
11 # TODO(GYP) support chrome_multiple_dll
12 #if (chrome_multiple_dll) {
13 #  blink_target = "//third_party/WebKit/public:blink_minimal"
14 #} else {
15   blink_target = "//third_party/WebKit/public:blink"
16 #}
17
18 # These are just headers.
19 source_set("ppapi_c") {
20   sources = gypi_values.c_source_files
21 }
22
23 # Some targets need to depend on the PPAPI version only. This target exists so
24 # they can include this header without header check warnings.
25 source_set("ppapi_macros") {
26   sources = [ "c/pp_macros.h" ]
27 }
28
29 source_set("ppapi_cpp_objects") {
30   sources = gypi_values.cpp_source_files
31
32   if (is_win) {
33     cflags = [
34       "/we4244",  # Implicit conversion, possible loss of data.
35     ]
36   } else {
37     cflags = [
38       "-Wextra",
39       "-pedantic",
40     ]
41   }
42 }
43
44 source_set("ppapi_cpp") {
45   sources = [
46     "cpp/module_embedder.h",
47     "cpp/ppp_entrypoints.cc",
48   ]
49
50   if (is_posix) {
51     cflags = [
52       "-Wextra",
53       "-pedantic",
54     ]
55   }
56
57   deps = [
58     ":ppapi_c",
59     ":ppapi_cpp_objects",
60   ]
61 }
62
63 source_set("ppapi_internal_module") {
64   sources = [
65     "cpp/private/internal_module.cc",
66     "cpp/private/internal_module.h",
67   ]
68 }
69
70 source_set("ppapi_gles2") {
71   sources = [
72     "lib/gl/gles2/gl2ext_ppapi.c",
73     "lib/gl/gles2/gl2ext_ppapi.h",
74     "lib/gl/gles2/gles2.c",
75   ]
76
77   include_dirs = [ "lib/gl/include" ]
78
79   deps = [
80     ":ppapi_c",
81   ]
82 }
83
84 # TODO(brettw) argument list is too long. Need to add response files.
85 #shared_library("ppapi_tests") {
86 #  sources = gypi_values.test_common_source_files +
87 #            gypi_values.test_trusted_source_files
88 #
89 #  defines = [ "GL_GLEXT_PROTOTYPES" ]
90 #  include_dirs = [ "lib/gl/include" ]
91 #
92 #  deps = [
93 #    ":ppapi_cpp",
94 #    ":ppapi_shared",
95 #  ]
96 #}
97
98 component("ppapi_shared") {
99   sources = [
100     "shared_impl/array_var.cc",
101     "shared_impl/array_var.h",
102     "shared_impl/array_writer.cc",
103     "shared_impl/array_writer.h",
104     "shared_impl/callback_tracker.cc",
105     "shared_impl/callback_tracker.h",
106     "shared_impl/compositor_layer_data.cc",
107     "shared_impl/compositor_layer_data.h",
108     "shared_impl/dictionary_var.cc",
109     "shared_impl/dictionary_var.h",
110     "shared_impl/file_io_state_manager.cc",
111     "shared_impl/file_io_state_manager.h",
112     "shared_impl/file_growth.cc",
113     "shared_impl/file_growth.h",
114     "shared_impl/file_path.cc",
115     "shared_impl/file_path.h",
116     "shared_impl/file_ref_create_info.cc",
117     "shared_impl/file_ref_create_info.h",
118     "shared_impl/file_ref_util.cc",
119     "shared_impl/file_ref_util.h",
120     "shared_impl/file_system_util.cc",
121     "shared_impl/file_system_util.h",
122     "shared_impl/file_type_conversion.cc",
123     "shared_impl/file_type_conversion.h",
124     "shared_impl/host_resource.cc",
125     "shared_impl/host_resource.h",
126     "shared_impl/id_assignment.cc",
127     "shared_impl/id_assignment.h",
128     "shared_impl/media_stream_buffer.h",
129     "shared_impl/media_stream_buffer_manager.cc",
130     "shared_impl/media_stream_buffer_manager.h",
131     "shared_impl/media_stream_audio_track_shared.cc",
132     "shared_impl/media_stream_audio_track_shared.h",
133     "shared_impl/media_stream_video_track_shared.h",
134     "shared_impl/media_stream_video_track_shared.cc",
135     "shared_impl/platform_file.cc",
136     "shared_impl/platform_file.h",
137     "shared_impl/ppapi_constants.h",
138     "shared_impl/ppapi_globals.cc",
139     "shared_impl/ppapi_globals.h",
140     "shared_impl/ppapi_nacl_plugin_args.cc",
141     "shared_impl/ppapi_nacl_plugin_args.h",
142     "shared_impl/ppapi_permissions.cc",
143     "shared_impl/ppapi_permissions.h",
144     "shared_impl/ppapi_preferences.cc",
145     "shared_impl/ppapi_preferences.h",
146     "shared_impl/ppapi_switches.cc",
147     "shared_impl/ppapi_switches.h",
148     "shared_impl/ppb_audio_config_shared.cc",
149     "shared_impl/ppb_audio_config_shared.h",
150     "shared_impl/ppb_audio_shared.cc",
151     "shared_impl/ppb_audio_shared.h",
152     "shared_impl/ppb_crypto_shared.cc",
153     "shared_impl/ppb_device_ref_shared.cc",
154     "shared_impl/ppb_device_ref_shared.h",
155     "shared_impl/ppb_gamepad_shared.cc",
156     "shared_impl/ppb_gamepad_shared.h",
157     "shared_impl/ppb_graphics_3d_shared.cc",
158     "shared_impl/ppb_graphics_3d_shared.h",
159     "shared_impl/ppb_image_data_shared.cc",
160     "shared_impl/ppb_image_data_shared.h",
161     "shared_impl/ppb_input_event_shared.cc",
162     "shared_impl/ppb_input_event_shared.h",
163     "shared_impl/ppb_instance_shared.cc",
164     "shared_impl/ppb_instance_shared.h",
165     "shared_impl/ppb_memory_shared.cc",
166     "shared_impl/ppb_message_loop_shared.cc",
167     "shared_impl/ppb_message_loop_shared.h",
168     "shared_impl/ppb_opengles2_shared.cc",
169     "shared_impl/ppb_opengles2_shared.h",
170     "shared_impl/ppb_tcp_socket_shared.cc",
171     "shared_impl/ppb_tcp_socket_shared.h",
172     "shared_impl/ppb_trace_event_impl.cc",
173     "shared_impl/ppb_trace_event_impl.h",
174     "shared_impl/ppb_var_shared.cc",
175     "shared_impl/ppb_var_shared.h",
176     "shared_impl/ppb_view_shared.cc",
177     "shared_impl/ppb_view_shared.h",
178     "shared_impl/ppp_flash_browser_operations_shared.h",
179     "shared_impl/ppp_instance_combined.cc",
180     "shared_impl/ppp_instance_combined.h",
181     "shared_impl/proxy_lock.cc",
182     "shared_impl/proxy_lock.h",
183     "shared_impl/resource.cc",
184     "shared_impl/resource.h",
185     "shared_impl/resource_tracker.cc",
186     "shared_impl/resource_tracker.h",
187     "shared_impl/resource_var.cc",
188     "shared_impl/resource_var.h",
189     "shared_impl/scoped_pp_resource.cc",
190     "shared_impl/scoped_pp_resource.h",
191     "shared_impl/scoped_pp_var.cc",
192     "shared_impl/scoped_pp_var.h",
193     "shared_impl/socket_option_data.cc",
194     "shared_impl/socket_option_data.h",
195     "shared_impl/thread_aware_callback.cc",
196     "shared_impl/thread_aware_callback.h",
197     "shared_impl/time_conversion.cc",
198     "shared_impl/time_conversion.h",
199     "shared_impl/tracked_callback.cc",
200     "shared_impl/tracked_callback.h",
201     "shared_impl/url_request_info_data.cc",
202     "shared_impl/url_request_info_data.h",
203     "shared_impl/url_response_info_data.cc",
204     "shared_impl/url_response_info_data.h",
205     "shared_impl/var.cc",
206     "shared_impl/var.h",
207     "shared_impl/var_tracker.cc",
208     "shared_impl/var_tracker.h",
209     # TODO(viettrungluu): Split these out; it won"t be used in NaCl.
210     "shared_impl/private/net_address_private_impl.cc",
211     "shared_impl/private/net_address_private_impl_constants.cc",
212     "shared_impl/private/net_address_private_impl.h",
213
214     "shared_impl/private/ppb_x509_certificate_private_shared.cc",
215     "shared_impl/private/ppb_x509_certificate_private_shared.h",
216
217     "thunk/enter.cc",
218     "thunk/enter.h",
219     "thunk/ppb_audio_api.h",
220     "thunk/ppb_audio_config_api.h",
221     "thunk/ppb_audio_config_thunk.cc",
222     "thunk/ppb_audio_buffer_api.h",
223     "thunk/ppb_audio_buffer_thunk.cc",
224     "thunk/ppb_audio_input_api.h",
225     "thunk/ppb_audio_thunk.cc",
226     "thunk/ppb_broker_api.h",
227     "thunk/ppb_browser_font_trusted_api.h",
228     "thunk/ppb_buffer_api.h",
229     "thunk/ppb_compositor_api.h",
230     "thunk/ppb_compositor_layer_api.h",
231     "thunk/ppb_compositor_layer_thunk.cc",
232     "thunk/ppb_compositor_thunk.cc",
233     "thunk/ppb_console_thunk.cc",
234     "thunk/ppb_cursor_control_thunk.cc",
235     "thunk/ppb_device_ref_api.h",
236     "thunk/ppb_device_ref_dev_thunk.cc",
237     "thunk/ppb_ext_crx_file_system_private_thunk.cc",
238     "thunk/ppb_file_chooser_api.h",
239     "thunk/ppb_file_chooser_dev_thunk.cc",
240     "thunk/ppb_file_chooser_trusted_thunk.cc",
241     "thunk/ppb_file_io_api.h",
242     "thunk/ppb_file_io_private_thunk.cc",
243     "thunk/ppb_file_io_thunk.cc",
244     "thunk/ppb_file_mapping_thunk.cc",
245     "thunk/ppb_file_ref_api.h",
246     "thunk/ppb_file_ref_thunk.cc",
247     "thunk/ppb_file_system_api.h",
248     "thunk/ppb_file_system_thunk.cc",
249     "thunk/ppb_find_private_thunk.cc",
250     "thunk/ppb_flash_clipboard_api.h",
251     "thunk/ppb_flash_drm_api.h",
252     "thunk/ppb_flash_font_file_api.h",
253     "thunk/ppb_flash_fullscreen_api.h",
254     "thunk/ppb_flash_functions_api.h",
255     "thunk/ppb_flash_menu_api.h",
256     "thunk/ppb_flash_message_loop_api.h",
257     "thunk/ppb_flash_print_thunk.cc",
258     "thunk/ppb_fullscreen_thunk.cc",
259     "thunk/ppb_gamepad_api.h",
260     "thunk/ppb_gamepad_thunk.cc",
261     "thunk/ppb_graphics_2d_api.h",
262     "thunk/ppb_graphics_2d_thunk.cc",
263     "thunk/ppb_graphics_3d_api.h",
264     "thunk/ppb_graphics_3d_thunk.cc",
265     "thunk/ppb_host_resolver_api.h",
266     "thunk/ppb_host_resolver_thunk.cc",
267     "thunk/ppb_host_resolver_private_api.h",
268     "thunk/ppb_host_resolver_private_thunk.cc",
269     "thunk/ppb_image_data_api.h",
270     "thunk/ppb_image_data_thunk.cc",
271     "thunk/ppb_input_event_api.h",
272     "thunk/ppb_input_event_thunk.cc",
273     "thunk/ppb_input_event_private_thunk.cc",
274     "thunk/ppb_instance_api.h",
275     "thunk/ppb_instance_private_thunk.cc",
276     "thunk/ppb_instance_thunk.cc",
277     "thunk/ppb_isolated_file_system_private_api.h",
278     "thunk/ppb_isolated_file_system_private_thunk.cc",
279     "thunk/ppb_media_stream_audio_track_api.h",
280     "thunk/ppb_media_stream_audio_track_thunk.cc",
281     "thunk/ppb_media_stream_video_track_api.h",
282     "thunk/ppb_media_stream_video_track_thunk.cc",
283     "thunk/ppb_message_loop_api.h",
284     "thunk/ppb_messaging_thunk.cc",
285     "thunk/ppb_mouse_cursor_thunk.cc",
286     "thunk/ppb_mouse_lock_thunk.cc",
287     "thunk/ppb_net_address_api.h",
288     "thunk/ppb_net_address_thunk.cc",
289     "thunk/ppb_network_list_api.h",
290     "thunk/ppb_network_list_thunk.cc",
291     "thunk/ppb_network_monitor_api.h",
292     "thunk/ppb_network_monitor_thunk.cc",
293     "thunk/ppb_network_proxy_api.h",
294     "thunk/ppb_network_proxy_thunk.cc",
295     "thunk/ppb_output_protection_api.h",
296     "thunk/ppb_output_protection_private_thunk.cc",
297     "thunk/ppb_pdf_api.h",
298     "thunk/ppb_platform_verification_api.h",
299     "thunk/ppb_printing_api.h",
300     "thunk/ppb_printing_dev_thunk.cc",
301     "thunk/ppb_scrollbar_api.h",
302     "thunk/ppb_talk_private_api.h",
303     "thunk/ppb_tcp_server_socket_private_api.h",
304     "thunk/ppb_tcp_server_socket_private_thunk.cc",
305     "thunk/ppb_tcp_socket_api.h",
306     "thunk/ppb_tcp_socket_private_api.h",
307     "thunk/ppb_tcp_socket_private_thunk.cc",
308     "thunk/ppb_tcp_socket_thunk.cc",
309     "thunk/ppb_text_input_thunk.cc",
310     "thunk/ppb_truetype_font_api.h",
311     "thunk/ppb_truetype_font_singleton_api.h",
312     "thunk/ppb_truetype_font_dev_thunk.cc",
313     "thunk/ppb_udp_socket_api.h",
314     "thunk/ppb_udp_socket_thunk.cc",
315     "thunk/ppb_udp_socket_private_api.h",
316     "thunk/ppb_udp_socket_private_thunk.cc",
317     "thunk/ppb_uma_private_thunk.cc",
318     "thunk/ppb_uma_singleton_api.h",
319     "thunk/ppb_url_loader_api.h",
320     "thunk/ppb_url_loader_thunk.cc",
321     "thunk/ppb_url_loader_trusted_thunk.cc",
322     "thunk/ppb_url_request_info_api.h",
323     "thunk/ppb_url_request_info_thunk.cc",
324     "thunk/ppb_url_response_info_api.h",
325     "thunk/ppb_url_response_info_thunk.cc",
326     "thunk/ppb_var_array_thunk.cc",
327     "thunk/ppb_var_dictionary_thunk.cc",
328     "thunk/ppb_video_capture_api.h",
329     "thunk/ppb_video_capture_thunk.cc",
330     "thunk/ppb_video_decoder_api.h",
331     "thunk/ppb_video_decoder_dev_api.h",
332     "thunk/ppb_video_decoder_thunk.cc",
333     "thunk/ppb_video_destination_private_api.h",
334     "thunk/ppb_video_destination_private_thunk.cc",
335     "thunk/ppb_video_frame_api.h",
336     "thunk/ppb_video_frame_thunk.cc",
337     "thunk/ppb_video_source_private_api.h",
338     "thunk/ppb_video_source_private_thunk.cc",
339     "thunk/ppb_view_api.h",
340     "thunk/ppb_view_dev_thunk.cc",
341     "thunk/ppb_view_thunk.cc",
342     "thunk/ppb_websocket_api.h",
343     "thunk/ppb_websocket_thunk.cc",
344     "thunk/ppb_widget_api.h",
345     "thunk/ppb_widget_dev_thunk.cc",
346     "thunk/ppb_x509_certificate_private_api.h",
347     "thunk/ppb_x509_certificate_private_thunk.cc",
348     "thunk/ppb_zoom_dev_thunk.cc",
349     "thunk/thunk.h",
350   ]
351
352   if (!is_nacl) {
353     sources += [
354       "shared_impl/flash_clipboard_format_registry.cc",
355       "shared_impl/flash_clipboard_format_registry.h",
356       "shared_impl/ppb_url_util_shared.cc",
357       "shared_impl/ppb_url_util_shared.h",
358       "shared_impl/ppb_video_decoder_shared.cc",
359       "shared_impl/ppb_video_decoder_shared.h",
360       "shared_impl/private/ppb_char_set_shared.cc",
361       "shared_impl/private/ppb_char_set_shared.h",
362       "thunk/ppb_audio_input_dev_thunk.cc",
363       "thunk/ppb_broker_thunk.cc",
364       "thunk/ppb_browser_font_trusted_thunk.cc",
365       "thunk/ppb_buffer_thunk.cc",
366       "thunk/ppb_content_decryptor_private_thunk.cc",
367       "thunk/ppb_char_set_thunk.cc",
368       "thunk/ppb_flash_clipboard_thunk.cc",
369       "thunk/ppb_flash_device_id_thunk.cc",
370       "thunk/ppb_flash_drm_thunk.cc",
371       "thunk/ppb_flash_file_fileref_thunk.cc",
372       "thunk/ppb_flash_file_modulelocal_thunk.cc",
373       "thunk/ppb_flash_font_file_thunk.cc",
374       "thunk/ppb_flash_fullscreen_thunk.cc",
375       "thunk/ppb_flash_menu_thunk.cc",
376       "thunk/ppb_flash_thunk.cc",
377       "thunk/ppb_flash_message_loop_thunk.cc",
378       "thunk/ppb_gles_chromium_texture_mapping_thunk.cc",
379       "thunk/ppb_pdf_thunk.cc",
380       "thunk/ppb_platform_verification_private_thunk.cc",
381       "thunk/ppb_scrollbar_thunk.cc",
382       "thunk/ppb_talk_private_thunk.cc",
383       "thunk/ppb_url_util_thunk.cc",
384       "thunk/ppb_video_decoder_dev_thunk.cc",
385     ]
386   }
387
388   # We exclude a few more things for nacl_win64, to avoid pulling in more
389   # dependencies.
390   if (is_win && cpu_arch == "x64" && current_toolchain != default_toolchain) {
391     sources -= [
392       "shared_impl/ppb_audio_shared.cc",
393       "shared_impl/ppb_graphics_3d_shared.cc",
394       "shared_impl/ppb_opengles2_shared.cc",
395       "shared_impl/private/ppb_host_resolver_shared.cc",
396       "shared_impl/private/net_address_private_impl.cc",
397       "thunk/ppb_graphics_3d_thunk.cc",
398       "thunk/ppb_host_resolver_private_thunk.cc",
399       "thunk/ppb_tcp_server_socket_private_thunk.cc",
400       "thunk/ppb_tcp_socket_private_thunk.cc",
401       "thunk/ppb_udp_socket_private_thunk.cc",
402       "thunk/ppb_x509_certificate_private_thunk.cc",
403     ]
404   }
405
406   defines = [
407     "PPAPI_SHARED_IMPLEMENTATION",
408     "PPAPI_THUNK_IMPLEMENTATION",
409   ]
410
411   public_deps = [
412     blink_target,
413   ]
414   deps = [
415     ":ppapi_c",
416     "//base",
417     "//base:i18n",
418     "//base/third_party/dynamic_annotations",
419     "//gpu/command_buffer/client",
420     "//gpu/command_buffer/client:gles2_implementation",
421     "//gpu/command_buffer/common",
422     "//ipc",
423     "//media:shared_memory_support",
424     "//skia",
425     "//third_party/icu:icuuc",
426     "//ui/surface",
427     "//url",
428   ]
429
430   if (is_mac) {
431     libs = [ "QuartzCore.framework" ]
432   } else if (is_win) {
433     cflags = [ "/wd4267" ]  # size_t to int truncation.
434   }
435 }
436
437 source_set("ppapi_ipc") {
438   sources = [
439     "proxy/nacl_message_scanner.cc",
440     "proxy/nacl_message_scanner.h",
441     "proxy/ppapi_messages.cc",
442     "proxy/ppapi_messages.h",
443     "proxy/ppapi_param_traits.cc",
444     "proxy/ppapi_param_traits.h",
445     "proxy/raw_var_data.cc",
446     "proxy/raw_var_data.h",
447     "proxy/resource_message_params.cc",
448     "proxy/resource_message_params.h",
449     "proxy/serialized_flash_menu.cc",
450     "proxy/serialized_flash_menu.h",
451     "proxy/serialized_handle.cc",
452     "proxy/serialized_handle.h",
453     "proxy/serialized_structs.cc",
454     "proxy/serialized_structs.h",
455     "proxy/serialized_var.cc",
456     "proxy/serialized_var.h",
457     "proxy/var_serialization_rules.h",
458   ]
459
460   defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
461
462   deps = [
463     ":ppapi_c",
464     ":ppapi_shared",
465     "//base",
466     "//gpu/ipc",
467     "//ipc",
468     "//skia",
469     "//ui/events/ipc",
470   ]
471
472   if (is_nacl) {
473     sources -= [ "proxy/serialized_flash_menu.cc" ]
474   }
475 }
476
477 component("ppapi_proxy") {
478   sources = [
479     # Take some standalone files from the C++ wrapper allowing us to more
480     # easily make async callbacks in the proxy. We can"t depend on the
481     # full C++ wrappers at this layer since the C++ wrappers expect
482     # symbols defining the globals for "being a plugin" which we are not.
483     # These callback files are standalone.
484     "cpp/completion_callback.h",
485     "utility/completion_callback_factory.h",
486
487     "proxy/audio_buffer_resource.cc",
488     "proxy/audio_buffer_resource.h",
489     "proxy/broker_resource.cc",
490     "proxy/broker_resource.h",
491     "proxy/compositor_layer_resource.cc",
492     "proxy/compositor_layer_resource.h",
493     "proxy/compositor_resource.cc",
494     "proxy/compositor_resource.h",
495     "proxy/connection.h",
496     "proxy/dispatcher.cc",
497     "proxy/dispatcher.h",
498     "proxy/enter_proxy.h",
499     "proxy/error_conversion.cc",
500     "proxy/error_conversion.h",
501     "proxy/file_chooser_resource.cc",
502     "proxy/file_chooser_resource.h",
503     "proxy/file_io_resource.cc",
504     "proxy/file_io_resource.h",
505     "proxy/file_mapping_resource.cc",
506     "proxy/file_mapping_resource.h",
507     "proxy/file_mapping_resource_posix.cc",
508     "proxy/file_mapping_resource_win.cc",
509     "proxy/file_ref_resource.cc",
510     "proxy/file_ref_resource.h",
511     "proxy/file_system_resource.cc",
512     "proxy/file_system_resource.h",
513     "proxy/gamepad_resource.cc",
514     "proxy/gamepad_resource.h",
515     "proxy/graphics_2d_resource.cc",
516     "proxy/graphics_2d_resource.h",
517     "proxy/host_resolver_private_resource.cc",
518     "proxy/host_resolver_private_resource.h",
519     "proxy/host_resolver_resource.cc",
520     "proxy/host_resolver_resource.h",
521     "proxy/host_resolver_resource_base.cc",
522     "proxy/host_resolver_resource_base.h",
523     "proxy/interface_list.cc",
524     "proxy/interface_list.h",
525     "proxy/interface_proxy.cc",
526     "proxy/interface_proxy.h",
527     "proxy/isolated_file_system_private_resource.cc",
528     "proxy/isolated_file_system_private_resource.h",
529     "proxy/locking_resource_releaser.h",
530     "proxy/media_stream_audio_track_resource.cc",
531     "proxy/media_stream_audio_track_resource.h",
532     "proxy/media_stream_track_resource_base.cc",
533     "proxy/media_stream_track_resource_base.h",
534     "proxy/media_stream_video_track_resource.cc",
535     "proxy/media_stream_video_track_resource.h",
536     "proxy/message_handler.cc",
537     "proxy/message_handler.h",
538     "proxy/net_address_resource.cc",
539     "proxy/net_address_resource.h",
540     "proxy/network_list_resource.cc",
541     "proxy/network_list_resource.h",
542     "proxy/network_monitor_resource.cc",
543     "proxy/network_monitor_resource.h",
544     "proxy/network_proxy_resource.cc",
545     "proxy/network_proxy_resource.h",
546     "proxy/output_protection_resource.cc",
547     "proxy/output_protection_resource.h",
548     "proxy/plugin_array_buffer_var.cc",
549     "proxy/plugin_array_buffer_var.h",
550     "proxy/plugin_dispatcher.cc",
551     "proxy/plugin_dispatcher.h",
552     "proxy/plugin_globals.cc",
553     "proxy/plugin_globals.h",
554     "proxy/plugin_message_filter.cc",
555     "proxy/plugin_message_filter.h",
556     "proxy/plugin_resource.cc",
557     "proxy/plugin_resource.h",
558     "proxy/plugin_resource_tracker.cc",
559     "proxy/plugin_resource_tracker.h",
560     "proxy/plugin_resource_var.cc",
561     "proxy/plugin_resource_var.h",
562     "proxy/plugin_var_serialization_rules.cc",
563     "proxy/plugin_var_serialization_rules.h",
564     "proxy/plugin_var_tracker.cc",
565     "proxy/plugin_var_tracker.h",
566     "proxy/ppapi_command_buffer_proxy.cc",
567     "proxy/ppapi_command_buffer_proxy.h",
568     "proxy/ppapi_messages.h",
569     "proxy/ppapi_message_utils.h",
570     "proxy/ppb_audio_proxy.cc",
571     "proxy/ppb_audio_proxy.h",
572     "proxy/ppb_core_proxy.cc",
573     "proxy/ppb_core_proxy.h",
574     "proxy/ppb_graphics_3d_proxy.cc",
575     "proxy/ppb_graphics_3d_proxy.h",
576     "proxy/ppb_image_data_proxy.cc",
577     "proxy/ppb_image_data_proxy.h",
578     "proxy/ppb_instance_proxy.cc",
579     "proxy/ppb_instance_proxy.h",
580     "proxy/ppb_message_loop_proxy.cc",
581     "proxy/ppb_message_loop_proxy.h",
582     "proxy/ppb_testing_proxy.cc",
583     "proxy/ppb_testing_proxy.h",
584     "proxy/ppb_var_deprecated_proxy.cc",
585     "proxy/ppb_var_deprecated_proxy.h",
586     "proxy/ppb_x509_certificate_private_proxy.cc",
587     "proxy/ppb_x509_certificate_private_proxy.h",
588     "proxy/ppp_class_proxy.cc",
589     "proxy/ppp_class_proxy.h",
590     "proxy/ppp_find_proxy.cc",
591     "proxy/ppp_find_proxy.h",
592     "proxy/ppp_graphics_3d_proxy.cc",
593     "proxy/ppp_graphics_3d_proxy.h",
594     "proxy/ppp_input_event_proxy.cc",
595     "proxy/ppp_input_event_proxy.h",
596     "proxy/ppp_instance_proxy.cc",
597     "proxy/ppp_instance_proxy.h",
598     "proxy/ppp_messaging_proxy.cc",
599     "proxy/ppp_messaging_proxy.h",
600     "proxy/ppp_mouse_lock_proxy.cc",
601     "proxy/ppp_mouse_lock_proxy.h",
602     "proxy/ppp_pdf_proxy.cc",
603     "proxy/ppp_pdf_proxy.h",
604     "proxy/ppp_printing_proxy.cc",
605     "proxy/ppp_printing_proxy.h",
606     "proxy/ppp_text_input_proxy.cc",
607     "proxy/ppp_text_input_proxy.h",
608     "proxy/printing_resource.cc",
609     "proxy/printing_resource.h",
610     "proxy/proxy_array_output.cc",
611     "proxy/proxy_array_output.h",
612     "proxy/proxy_channel.cc",
613     "proxy/proxy_channel.h",
614     "proxy/proxy_completion_callback_factory.h",
615     "proxy/proxy_module.cc",
616     "proxy/proxy_module.h",
617     "proxy/proxy_object_var.cc",
618     "proxy/proxy_object_var.h",
619     "proxy/resource_creation_proxy.cc",
620     "proxy/resource_creation_proxy.h",
621     "proxy/resource_reply_thread_registrar.cc",
622     "proxy/resource_reply_thread_registrar.h",
623     "proxy/tcp_server_socket_private_resource.cc",
624     "proxy/tcp_server_socket_private_resource.h",
625     "proxy/tcp_socket_private_resource.cc",
626     "proxy/tcp_socket_private_resource.h",
627     "proxy/tcp_socket_resource.cc",
628     "proxy/tcp_socket_resource.h",
629     "proxy/tcp_socket_resource_base.cc",
630     "proxy/tcp_socket_resource_base.h",
631     "proxy/truetype_font_resource.cc",
632     "proxy/truetype_font_resource.h",
633     "proxy/truetype_font_singleton_resource.cc",
634     "proxy/truetype_font_singleton_resource.h",
635     "proxy/udp_socket_private_resource.cc",
636     "proxy/udp_socket_private_resource.h",
637     "proxy/udp_socket_resource.cc",
638     "proxy/udp_socket_resource.h",
639     "proxy/udp_socket_resource_base.cc",
640     "proxy/udp_socket_resource_base.h",
641     "proxy/uma_private_resource.cc",
642     "proxy/uma_private_resource.h",
643     "proxy/url_loader_resource.cc",
644     "proxy/url_loader_resource.h",
645     "proxy/url_request_info_resource.cc",
646     "proxy/url_request_info_resource.h",
647     "proxy/url_response_info_resource.cc",
648     "proxy/url_response_info_resource.h",
649     "proxy/var_serialization_rules.h",
650     "proxy/video_destination_resource.cc",
651     "proxy/video_destination_resource.h",
652     "proxy/video_frame_resource.cc",
653     "proxy/video_frame_resource.h",
654     "proxy/video_source_resource.cc",
655     "proxy/video_source_resource.h",
656     "proxy/websocket_resource.cc",
657     "proxy/websocket_resource.h",
658   ]
659
660   if (is_nacl) {
661     sources += [
662       "nacl_irt/irt_ppapi.cc",
663       "nacl_irt/irt_ppapi.h",
664       "nacl_irt/irt_start.cc",
665       "nacl_irt/manifest_service.cc",
666       "nacl_irt/manifest_service.h",
667       "nacl_irt/plugin_main.cc",
668       "nacl_irt/plugin_main.h",
669       "nacl_irt/plugin_startup.cc",
670       "nacl_irt/plugin_startup.h",
671       "nacl_irt/ppapi_dispatcher.cc",
672       "nacl_irt/ppapi_dispatcher.h",
673     ]
674   } else {
675     sources += [
676       "proxy/audio_input_resource.cc",
677       "proxy/audio_input_resource.h",
678       "proxy/broker_dispatcher.cc",
679       "proxy/broker_dispatcher.h",
680       "proxy/browser_font_singleton_resource.cc",
681       "proxy/browser_font_singleton_resource.h",
682       "proxy/device_enumeration_resource_helper.cc",
683       "proxy/device_enumeration_resource_helper.h",
684       "proxy/flash_clipboard_resource.cc",
685       "proxy/flash_clipboard_resource.h",
686       "proxy/flash_drm_resource.cc",
687       "proxy/flash_drm_resource.h",
688       "proxy/flash_file_resource.cc",
689       "proxy/flash_file_resource.h",
690       "proxy/flash_font_file_resource.cc",
691       "proxy/flash_font_file_resource.h",
692       "proxy/flash_fullscreen_resource.cc",
693       "proxy/flash_fullscreen_resource.h",
694       "proxy/flash_menu_resource.cc",
695       "proxy/flash_menu_resource.h",
696       "proxy/flash_resource.cc",
697       "proxy/flash_resource.h",
698       "proxy/host_dispatcher.cc",
699       "proxy/host_dispatcher.h",
700       "proxy/host_var_serialization_rules.cc",
701       "proxy/host_var_serialization_rules.h",
702       "proxy/pdf_resource.cc",
703       "proxy/pdf_resource.h",
704       "proxy/platform_verification_private_resource.cc",
705       "proxy/platform_verification_private_resource.h",
706       "proxy/ppb_broker_proxy.cc",
707       "proxy/ppb_broker_proxy.h",
708       "proxy/ppb_buffer_proxy.cc",
709       "proxy/ppb_buffer_proxy.h",
710       "proxy/ppb_flash_message_loop_proxy.cc",
711       "proxy/ppb_flash_message_loop_proxy.h",
712       "proxy/ppb_video_decoder_proxy.cc",
713       "proxy/ppb_video_decoder_proxy.h",
714       "proxy/ppp_content_decryptor_private_proxy.cc",
715       "proxy/ppp_content_decryptor_private_proxy.h",
716       "proxy/ppp_instance_private_proxy.cc",
717       "proxy/ppp_instance_private_proxy.h",
718       "proxy/ppp_video_decoder_proxy.cc",
719       "proxy/ppp_video_decoder_proxy.h",
720       "proxy/video_decoder_resource.cc",
721       "proxy/video_decoder_resource.h",
722       "proxy/talk_resource.cc",
723       "proxy/talk_resource.h",
724       "proxy/video_capture_resource.cc",
725       "proxy/video_capture_resource.h",
726     ]
727   }
728
729   defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
730
731   deps = [
732     ":ppapi_c",
733     ":ppapi_shared",
734     ":ppapi_ipc",
735     "//base",
736     "//base/third_party/dynamic_annotations",
737     "//gpu/command_buffer/client:gles2_implementation",
738     "//gpu/ipc",
739     "//media:shared_memory_support",
740     "//ipc",
741     "//skia",
742     "//third_party/icu",
743     "//ui/surface",
744     blink_target,
745   ]
746
747   if (is_win) {
748     cflags = [ "/wd4267" ]  # size_t to int truncation.
749   }
750 }
751
752 component("ppapi_host") {
753   sources = [
754     "host/dispatch_host_message.h",
755     "host/error_conversion.cc",
756     "host/error_conversion.h",
757     "host/host_factory.h",
758     "host/host_message_context.cc",
759     "host/host_message_context.h",
760     "host/instance_message_filter.cc",
761     "host/instance_message_filter.h",
762     "host/message_filter_host.cc",
763     "host/message_filter_host.h",
764     "host/ppapi_host.cc",
765     "host/ppapi_host.h",
766     "host/ppapi_host_export.h",
767     "host/resource_host.cc",
768     "host/resource_host.h",
769     "host/resource_message_filter.cc",
770     "host/resource_message_filter.h",
771     "host/resource_message_handler.cc",
772     "host/resource_message_handler.h",
773   ]
774
775   defines = [ "PPAPI_HOST_IMPLEMENTATION" ]
776
777   deps = [
778     ":ppapi_c",
779     ":ppapi_ipc",
780     ":ppapi_proxy",
781     ":ppapi_shared",
782     "//base",
783     "//ipc",
784     "//media:shared_memory_support",
785     "//ui/surface",
786     "//url",
787   ]
788 }
789
790 static_library("ppapi_unittest_shared") {
791   testonly = true
792   sources = [
793     "proxy/ppapi_proxy_test.cc",
794     "proxy/ppapi_proxy_test.h",
795     "proxy/resource_message_test_sink.cc",
796     "proxy/resource_message_test_sink.h",
797     "shared_impl/test_globals.cc",
798     "shared_impl/test_globals.h",
799     "shared_impl/unittest_utils.cc",
800     "shared_impl/unittest_utils.h",
801   ]
802
803   deps = [
804     ":ppapi_proxy",
805     ":ppapi_shared",
806     "//base/test:test_support",
807     "//ipc",
808     "//ipc:test_support",
809     "//testing/gmock",
810     "//testing/gtest",
811   ]
812 }
813
814 # TODO(GYP) other targets from ppapi_tests.gyp