blob: 07ea1187d3c007fce79e5e556a5a889c1e17e1c7 [file] [log] [blame]
brettwf7eb6ca2015-02-14 01:37:311# Copyright 2015 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
phosek636bceb32015-10-27 03:36:485import("//build/config/nacl/config.gni")
6
brettwf7eb6ca2015-02-14 01:37:317config("proxy_implementation") {
8 defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
9}
10
11component("proxy") {
12 output_name = "ppapi_proxy"
13
14 sources = [
15 # Take some standalone files from the C++ wrapper allowing us to more
16 # easily make async callbacks in the proxy. We can't depend on the
17 # full C++ wrappers at this layer since the C++ wrappers expect
18 # symbols defining the globals for "being a plugin" which we are not.
19 # These callback files are standalone.
20 "../cpp/completion_callback.h",
21 "../utility/completion_callback_factory.h",
22 "audio_buffer_resource.cc",
23 "audio_buffer_resource.h",
lionel.g.landwerlin33e908772015-09-17 14:41:2224 "audio_encoder_resource.cc",
25 "audio_encoder_resource.h",
brettwf7eb6ca2015-02-14 01:37:3126 "broker_resource.cc",
27 "broker_resource.h",
jchuang586e3db2015-02-25 05:17:5628 "camera_capabilities_resource.cc",
29 "camera_capabilities_resource.h",
30 "camera_device_resource.cc",
31 "camera_device_resource.h",
brettwf7eb6ca2015-02-14 01:37:3132 "compositor_layer_resource.cc",
33 "compositor_layer_resource.h",
34 "compositor_resource.cc",
35 "compositor_resource.h",
36 "connection.h",
37 "dispatcher.cc",
38 "dispatcher.h",
39 "enter_proxy.h",
40 "error_conversion.cc",
41 "error_conversion.h",
42 "file_chooser_resource.cc",
43 "file_chooser_resource.h",
44 "file_io_resource.cc",
45 "file_io_resource.h",
brettwf7eb6ca2015-02-14 01:37:3146 "file_ref_resource.cc",
47 "file_ref_resource.h",
48 "file_system_resource.cc",
49 "file_system_resource.h",
50 "gamepad_resource.cc",
51 "gamepad_resource.h",
52 "graphics_2d_resource.cc",
53 "graphics_2d_resource.h",
54 "host_resolver_private_resource.cc",
55 "host_resolver_private_resource.h",
56 "host_resolver_resource.cc",
57 "host_resolver_resource.h",
58 "host_resolver_resource_base.cc",
59 "host_resolver_resource_base.h",
60 "interface_list.cc",
61 "interface_list.h",
62 "interface_proxy.cc",
63 "interface_proxy.h",
64 "isolated_file_system_private_resource.cc",
65 "isolated_file_system_private_resource.h",
66 "locking_resource_releaser.h",
67 "media_stream_audio_track_resource.cc",
68 "media_stream_audio_track_resource.h",
69 "media_stream_track_resource_base.cc",
70 "media_stream_track_resource_base.h",
71 "media_stream_video_track_resource.cc",
72 "media_stream_video_track_resource.h",
73 "message_handler.cc",
74 "message_handler.h",
75 "net_address_resource.cc",
76 "net_address_resource.h",
77 "network_list_resource.cc",
78 "network_list_resource.h",
79 "network_monitor_resource.cc",
80 "network_monitor_resource.h",
81 "network_proxy_resource.cc",
82 "network_proxy_resource.h",
83 "output_protection_resource.cc",
84 "output_protection_resource.h",
85 "plugin_array_buffer_var.cc",
86 "plugin_array_buffer_var.h",
87 "plugin_dispatcher.cc",
88 "plugin_dispatcher.h",
89 "plugin_globals.cc",
90 "plugin_globals.h",
91 "plugin_message_filter.cc",
92 "plugin_message_filter.h",
93 "plugin_resource.cc",
94 "plugin_resource.h",
95 "plugin_resource_tracker.cc",
96 "plugin_resource_tracker.h",
97 "plugin_resource_var.cc",
98 "plugin_resource_var.h",
99 "plugin_var_serialization_rules.cc",
100 "plugin_var_serialization_rules.h",
101 "plugin_var_tracker.cc",
102 "plugin_var_tracker.h",
103 "ppapi_command_buffer_proxy.cc",
104 "ppapi_command_buffer_proxy.h",
brettwf7eb6ca2015-02-14 01:37:31105 "ppapi_message_utils.h",
satoruxc96d5d22015-02-16 07:09:40106 "ppapi_messages.h",
brettwf7eb6ca2015-02-14 01:37:31107 "ppb_audio_proxy.cc",
108 "ppb_audio_proxy.h",
109 "ppb_core_proxy.cc",
110 "ppb_core_proxy.h",
111 "ppb_graphics_3d_proxy.cc",
112 "ppb_graphics_3d_proxy.h",
113 "ppb_image_data_proxy.cc",
114 "ppb_image_data_proxy.h",
115 "ppb_instance_proxy.cc",
116 "ppb_instance_proxy.h",
117 "ppb_message_loop_proxy.cc",
118 "ppb_message_loop_proxy.h",
119 "ppb_testing_proxy.cc",
120 "ppb_testing_proxy.h",
brettwf7eb6ca2015-02-14 01:37:31121 "ppb_x509_certificate_private_proxy.cc",
122 "ppb_x509_certificate_private_proxy.h",
123 "ppp_class_proxy.cc",
124 "ppp_class_proxy.h",
125 "ppp_find_proxy.cc",
126 "ppp_find_proxy.h",
127 "ppp_graphics_3d_proxy.cc",
128 "ppp_graphics_3d_proxy.h",
129 "ppp_input_event_proxy.cc",
130 "ppp_input_event_proxy.h",
131 "ppp_instance_proxy.cc",
132 "ppp_instance_proxy.h",
133 "ppp_messaging_proxy.cc",
134 "ppp_messaging_proxy.h",
135 "ppp_mouse_lock_proxy.cc",
136 "ppp_mouse_lock_proxy.h",
137 "ppp_pdf_proxy.cc",
138 "ppp_pdf_proxy.h",
139 "ppp_printing_proxy.cc",
140 "ppp_printing_proxy.h",
141 "ppp_text_input_proxy.cc",
142 "ppp_text_input_proxy.h",
143 "printing_resource.cc",
144 "printing_resource.h",
145 "proxy_array_output.cc",
146 "proxy_array_output.h",
147 "proxy_channel.cc",
148 "proxy_channel.h",
149 "proxy_completion_callback_factory.h",
150 "proxy_module.cc",
151 "proxy_module.h",
152 "proxy_object_var.cc",
153 "proxy_object_var.h",
154 "resource_creation_proxy.cc",
155 "resource_creation_proxy.h",
156 "resource_reply_thread_registrar.cc",
157 "resource_reply_thread_registrar.h",
158 "tcp_server_socket_private_resource.cc",
159 "tcp_server_socket_private_resource.h",
160 "tcp_socket_private_resource.cc",
161 "tcp_socket_private_resource.h",
162 "tcp_socket_resource.cc",
163 "tcp_socket_resource.h",
164 "tcp_socket_resource_base.cc",
165 "tcp_socket_resource_base.h",
166 "truetype_font_resource.cc",
167 "truetype_font_resource.h",
168 "truetype_font_singleton_resource.cc",
169 "truetype_font_singleton_resource.h",
dmichaelb11ca7b2015-04-02 16:59:40170 "udp_socket_filter.cc",
171 "udp_socket_filter.h",
brettwf7eb6ca2015-02-14 01:37:31172 "udp_socket_private_resource.cc",
173 "udp_socket_private_resource.h",
174 "udp_socket_resource.cc",
175 "udp_socket_resource.h",
176 "udp_socket_resource_base.cc",
177 "udp_socket_resource_base.h",
178 "uma_private_resource.cc",
179 "uma_private_resource.h",
180 "url_loader_resource.cc",
181 "url_loader_resource.h",
182 "url_request_info_resource.cc",
183 "url_request_info_resource.h",
184 "url_response_info_resource.cc",
185 "url_response_info_resource.h",
186 "var_serialization_rules.h",
dpranke6065cf72015-02-26 03:30:58187 "video_decoder_resource.cc",
188 "video_decoder_resource.h",
brettwf7eb6ca2015-02-14 01:37:31189 "video_destination_resource.cc",
190 "video_destination_resource.h",
dpranke6065cf72015-02-26 03:30:58191 "video_encoder_resource.cc",
192 "video_encoder_resource.h",
brettwf7eb6ca2015-02-14 01:37:31193 "video_frame_resource.cc",
194 "video_frame_resource.h",
195 "video_source_resource.cc",
196 "video_source_resource.h",
adrian.belgun0873bcb2016-06-08 10:00:55197 "vpn_provider_resource.cc",
198 "vpn_provider_resource.h",
brettwf7eb6ca2015-02-14 01:37:31199 "websocket_resource.cc",
200 "websocket_resource.h",
201 ]
202
203 if (is_nacl) {
204 sources += [
mseaborn770b3282015-07-21 16:37:57205 "../nacl_irt/irt_interfaces.cc",
206 "../nacl_irt/irt_interfaces.h",
mseabornd735c8b92015-07-22 02:55:07207 "../nacl_irt/irt_pnacl_translator_compile.cc",
208 "../nacl_irt/irt_pnacl_translator_link.cc",
brettwf7eb6ca2015-02-14 01:37:31209 "../nacl_irt/irt_ppapi.cc",
210 "../nacl_irt/irt_ppapi.h",
211 "../nacl_irt/irt_start.cc",
212 "../nacl_irt/manifest_service.cc",
213 "../nacl_irt/manifest_service.h",
brettwf7eb6ca2015-02-14 01:37:31214 "../nacl_irt/plugin_startup.cc",
215 "../nacl_irt/plugin_startup.h",
216 "../nacl_irt/ppapi_dispatcher.cc",
217 "../nacl_irt/ppapi_dispatcher.h",
218 ]
219 } else {
220 sources += [
221 "audio_input_resource.cc",
222 "audio_input_resource.h",
223 "broker_dispatcher.cc",
224 "broker_dispatcher.h",
225 "browser_font_singleton_resource.cc",
226 "browser_font_singleton_resource.h",
227 "device_enumeration_resource_helper.cc",
228 "device_enumeration_resource_helper.h",
229 "flash_clipboard_resource.cc",
230 "flash_clipboard_resource.h",
231 "flash_drm_resource.cc",
232 "flash_drm_resource.h",
233 "flash_file_resource.cc",
234 "flash_file_resource.h",
235 "flash_font_file_resource.cc",
236 "flash_font_file_resource.h",
237 "flash_fullscreen_resource.cc",
238 "flash_fullscreen_resource.h",
239 "flash_menu_resource.cc",
240 "flash_menu_resource.h",
241 "flash_resource.cc",
242 "flash_resource.h",
243 "host_dispatcher.cc",
244 "host_dispatcher.h",
245 "host_var_serialization_rules.cc",
246 "host_var_serialization_rules.h",
247 "pdf_resource.cc",
248 "pdf_resource.h",
249 "platform_verification_private_resource.cc",
250 "platform_verification_private_resource.h",
251 "ppb_broker_proxy.cc",
252 "ppb_broker_proxy.h",
253 "ppb_buffer_proxy.cc",
254 "ppb_buffer_proxy.h",
255 "ppb_flash_message_loop_proxy.cc",
256 "ppb_flash_message_loop_proxy.h",
bradnelson961324d2015-03-24 21:03:02257 "ppb_var_deprecated_proxy.cc",
258 "ppb_var_deprecated_proxy.h",
brettwf7eb6ca2015-02-14 01:37:31259 "ppb_video_decoder_proxy.cc",
260 "ppb_video_decoder_proxy.h",
261 "ppp_content_decryptor_private_proxy.cc",
262 "ppp_content_decryptor_private_proxy.h",
263 "ppp_instance_private_proxy.cc",
264 "ppp_instance_private_proxy.h",
265 "ppp_video_decoder_proxy.cc",
266 "ppp_video_decoder_proxy.h",
brettwf7eb6ca2015-02-14 01:37:31267 "video_capture_resource.cc",
268 "video_capture_resource.h",
brettwf7eb6ca2015-02-14 01:37:31269 ]
270 }
271
brettwbc8b2a22015-07-28 18:24:42272 configs += [
273 ":proxy_implementation",
274 "//build/config:precompiled_headers",
275 ]
brettwf7eb6ca2015-02-14 01:37:31276
brettwc17eb982015-11-27 22:52:49277 public_deps = [
278 "//ppapi/proxy:ipc_sources",
279 ]
280
brettwf7eb6ca2015-02-14 01:37:31281 deps = [
282 "//base",
fsamuel19acfae2016-03-22 05:38:24283 "//gpu/command_buffer/client:client_sources_for_ppapi",
brettwf7eb6ca2015-02-14 01:37:31284 "//ipc",
285 "//media:shared_memory_support",
286 "//ppapi/c",
brettwf7eb6ca2015-02-14 01:37:31287 "//ppapi/shared_impl",
brettwf7eb6ca2015-02-14 01:37:31288 ]
289
miletusceb25012015-07-29 00:24:22290 if (!is_nacl) {
dpranke6065cf72015-02-26 03:30:58291 deps += [
292 "//base/third_party/dynamic_annotations",
293 "//gin",
294 "//skia",
295 "//ui/events:events_base",
296 "//ui/surface",
297 ]
298 }
phosek636bceb32015-10-27 03:36:48299
300 if (!is_nacl_nonsfi) {
301 deps += [ "//third_party/icu" ]
302 }
brettwf7eb6ca2015-02-14 01:37:31303}
304
brettw542f7532015-04-06 22:35:45305group("ipc") {
306 if (is_component_build) {
307 public_deps = [
308 "//ppapi/proxy",
309 ]
310 } else {
311 public_deps = [
312 ":ipc_sources",
313 ]
314 }
315}
316
317source_set("ipc_sources") {
brettwf7eb6ca2015-02-14 01:37:31318 sources = [
319 "nacl_message_scanner.cc",
320 "nacl_message_scanner.h",
321 "ppapi_messages.cc",
322 "ppapi_messages.h",
323 "ppapi_param_traits.cc",
324 "ppapi_param_traits.h",
325 "raw_var_data.cc",
326 "raw_var_data.h",
327 "resource_message_params.cc",
328 "resource_message_params.h",
329 "serialized_flash_menu.cc",
330 "serialized_flash_menu.h",
331 "serialized_handle.cc",
332 "serialized_handle.h",
333 "serialized_structs.cc",
334 "serialized_structs.h",
335 "serialized_var.cc",
336 "serialized_var.h",
337 "var_serialization_rules.h",
338 ]
339 if (is_nacl) {
340 sources -= [ "serialized_flash_menu.cc" ]
341 }
342
343 configs += [ ":proxy_implementation" ]
344
345 deps = [
346 "//base",
fsamuel19acfae2016-03-22 05:38:24347 "//gpu/ipc/common:command_buffer_traits",
brettwf7eb6ca2015-02-14 01:37:31348 "//ipc",
349 "//ppapi/c",
350 "//ppapi/shared_impl",
brettwf7eb6ca2015-02-14 01:37:31351 ]
dpranke6065cf72015-02-26 03:30:58352 if (!is_nacl) {
miletus45effdc42015-08-05 00:29:18353 deps += [ "//skia" ]
dpranke6065cf72015-02-26 03:30:58354 }
brettwf7eb6ca2015-02-14 01:37:31355}
356
357source_set("test_support") {
358 testonly = true
359
360 sources = [
361 "ppapi_proxy_test.cc",
362 "ppapi_proxy_test.h",
363 "resource_message_test_sink.cc",
364 "resource_message_test_sink.h",
365 ]
366
brettwb78fc9e2016-03-25 21:02:51367 public_deps = [
368 ":proxy",
369 ]
brettwf7eb6ca2015-02-14 01:37:31370 deps = [
371 "//base/test:test_support",
372 "//ipc",
373 "//ipc:test_support",
374 "//ppapi/proxy",
375 "//ppapi/shared_impl",
376 "//testing/gmock",
377 "//testing/gtest",
378 ]
379}