blob: a475780727496988a0e886276a910a52a0498b2f [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
5config("proxy_implementation") {
6 defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
7}
8
9component("proxy") {
10 output_name = "ppapi_proxy"
11
12 sources = [
13 # Take some standalone files from the C++ wrapper allowing us to more
14 # easily make async callbacks in the proxy. We can't depend on the
15 # full C++ wrappers at this layer since the C++ wrappers expect
16 # symbols defining the globals for "being a plugin" which we are not.
17 # These callback files are standalone.
18 "../cpp/completion_callback.h",
19 "../utility/completion_callback_factory.h",
20 "audio_buffer_resource.cc",
21 "audio_buffer_resource.h",
22 "broker_resource.cc",
23 "broker_resource.h",
jchuang586e3db2015-02-25 05:17:5624 "camera_capabilities_resource.cc",
25 "camera_capabilities_resource.h",
26 "camera_device_resource.cc",
27 "camera_device_resource.h",
brettwf7eb6ca2015-02-14 01:37:3128 "compositor_layer_resource.cc",
29 "compositor_layer_resource.h",
30 "compositor_resource.cc",
31 "compositor_resource.h",
32 "connection.h",
33 "dispatcher.cc",
34 "dispatcher.h",
35 "enter_proxy.h",
36 "error_conversion.cc",
37 "error_conversion.h",
38 "file_chooser_resource.cc",
39 "file_chooser_resource.h",
40 "file_io_resource.cc",
41 "file_io_resource.h",
42 "file_mapping_resource.cc",
43 "file_mapping_resource.h",
44 "file_mapping_resource_posix.cc",
45 "file_mapping_resource_win.cc",
46 "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",
121 "ppb_var_deprecated_proxy.cc",
122 "ppb_var_deprecated_proxy.h",
123 "ppb_x509_certificate_private_proxy.cc",
124 "ppb_x509_certificate_private_proxy.h",
125 "ppp_class_proxy.cc",
126 "ppp_class_proxy.h",
127 "ppp_find_proxy.cc",
128 "ppp_find_proxy.h",
129 "ppp_graphics_3d_proxy.cc",
130 "ppp_graphics_3d_proxy.h",
131 "ppp_input_event_proxy.cc",
132 "ppp_input_event_proxy.h",
133 "ppp_instance_proxy.cc",
134 "ppp_instance_proxy.h",
135 "ppp_messaging_proxy.cc",
136 "ppp_messaging_proxy.h",
137 "ppp_mouse_lock_proxy.cc",
138 "ppp_mouse_lock_proxy.h",
139 "ppp_pdf_proxy.cc",
140 "ppp_pdf_proxy.h",
141 "ppp_printing_proxy.cc",
142 "ppp_printing_proxy.h",
143 "ppp_text_input_proxy.cc",
144 "ppp_text_input_proxy.h",
145 "printing_resource.cc",
146 "printing_resource.h",
147 "proxy_array_output.cc",
148 "proxy_array_output.h",
149 "proxy_channel.cc",
150 "proxy_channel.h",
151 "proxy_completion_callback_factory.h",
152 "proxy_module.cc",
153 "proxy_module.h",
154 "proxy_object_var.cc",
155 "proxy_object_var.h",
156 "resource_creation_proxy.cc",
157 "resource_creation_proxy.h",
158 "resource_reply_thread_registrar.cc",
159 "resource_reply_thread_registrar.h",
160 "tcp_server_socket_private_resource.cc",
161 "tcp_server_socket_private_resource.h",
162 "tcp_socket_private_resource.cc",
163 "tcp_socket_private_resource.h",
164 "tcp_socket_resource.cc",
165 "tcp_socket_resource.h",
166 "tcp_socket_resource_base.cc",
167 "tcp_socket_resource_base.h",
168 "truetype_font_resource.cc",
169 "truetype_font_resource.h",
170 "truetype_font_singleton_resource.cc",
171 "truetype_font_singleton_resource.h",
172 "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",
187 "video_destination_resource.cc",
188 "video_destination_resource.h",
189 "video_frame_resource.cc",
190 "video_frame_resource.h",
191 "video_source_resource.cc",
192 "video_source_resource.h",
193 "websocket_resource.cc",
194 "websocket_resource.h",
195 ]
196
197 if (is_nacl) {
198 sources += [
199 "../nacl_irt/irt_ppapi.cc",
200 "../nacl_irt/irt_ppapi.h",
201 "../nacl_irt/irt_start.cc",
202 "../nacl_irt/manifest_service.cc",
203 "../nacl_irt/manifest_service.h",
204 "../nacl_irt/plugin_main.cc",
205 "../nacl_irt/plugin_main.h",
206 "../nacl_irt/plugin_startup.cc",
207 "../nacl_irt/plugin_startup.h",
208 "../nacl_irt/ppapi_dispatcher.cc",
209 "../nacl_irt/ppapi_dispatcher.h",
210 ]
211 } else {
212 sources += [
213 "audio_input_resource.cc",
214 "audio_input_resource.h",
215 "broker_dispatcher.cc",
216 "broker_dispatcher.h",
217 "browser_font_singleton_resource.cc",
218 "browser_font_singleton_resource.h",
219 "device_enumeration_resource_helper.cc",
220 "device_enumeration_resource_helper.h",
221 "flash_clipboard_resource.cc",
222 "flash_clipboard_resource.h",
223 "flash_drm_resource.cc",
224 "flash_drm_resource.h",
225 "flash_file_resource.cc",
226 "flash_file_resource.h",
227 "flash_font_file_resource.cc",
228 "flash_font_file_resource.h",
229 "flash_fullscreen_resource.cc",
230 "flash_fullscreen_resource.h",
231 "flash_menu_resource.cc",
232 "flash_menu_resource.h",
233 "flash_resource.cc",
234 "flash_resource.h",
235 "host_dispatcher.cc",
236 "host_dispatcher.h",
237 "host_var_serialization_rules.cc",
238 "host_var_serialization_rules.h",
239 "pdf_resource.cc",
240 "pdf_resource.h",
241 "platform_verification_private_resource.cc",
242 "platform_verification_private_resource.h",
243 "ppb_broker_proxy.cc",
244 "ppb_broker_proxy.h",
245 "ppb_buffer_proxy.cc",
246 "ppb_buffer_proxy.h",
247 "ppb_flash_message_loop_proxy.cc",
248 "ppb_flash_message_loop_proxy.h",
249 "ppb_video_decoder_proxy.cc",
250 "ppb_video_decoder_proxy.h",
251 "ppp_content_decryptor_private_proxy.cc",
252 "ppp_content_decryptor_private_proxy.h",
253 "ppp_instance_private_proxy.cc",
254 "ppp_instance_private_proxy.h",
255 "ppp_video_decoder_proxy.cc",
256 "ppp_video_decoder_proxy.h",
brettwf7eb6ca2015-02-14 01:37:31257 "talk_resource.cc",
258 "talk_resource.h",
259 "video_capture_resource.cc",
260 "video_capture_resource.h",
satoruxc96d5d22015-02-16 07:09:40261 "video_decoder_resource.cc",
262 "video_decoder_resource.h",
263 "video_encoder_resource.cc",
264 "video_encoder_resource.h",
brettwf7eb6ca2015-02-14 01:37:31265 ]
266 }
267
268 configs += [ ":proxy_implementation" ]
269
270 deps = [
271 "//base",
272 "//base/third_party/dynamic_annotations",
273 "//gin",
274 "//gpu/command_buffer/client:gles2_implementation",
275 "//gpu/ipc",
276 "//ipc",
277 "//media:shared_memory_support",
278 "//ppapi/c",
279 "//ppapi/proxy:ipc",
280 "//ppapi/shared_impl",
281 "//skia",
282 "//third_party/icu",
283 "//ui/events:events_base",
284 "//ui/surface",
285 ]
286
287 # TODO(GYP) support chrome_multiple_dll
288 #if (chrome_multiple_dll) {
289 # deps += [ "//third_party/WebKit/public:blink_minimal" ]
290 #} else {
291 deps += [ "//third_party/WebKit/public:blink" ]
292
293 #}
294}
295
296source_set("ipc") {
297 sources = [
298 "nacl_message_scanner.cc",
299 "nacl_message_scanner.h",
300 "ppapi_messages.cc",
301 "ppapi_messages.h",
302 "ppapi_param_traits.cc",
303 "ppapi_param_traits.h",
304 "raw_var_data.cc",
305 "raw_var_data.h",
306 "resource_message_params.cc",
307 "resource_message_params.h",
308 "serialized_flash_menu.cc",
309 "serialized_flash_menu.h",
310 "serialized_handle.cc",
311 "serialized_handle.h",
312 "serialized_structs.cc",
313 "serialized_structs.h",
314 "serialized_var.cc",
315 "serialized_var.h",
316 "var_serialization_rules.h",
317 ]
318 if (is_nacl) {
319 sources -= [ "serialized_flash_menu.cc" ]
320 }
321
322 configs += [ ":proxy_implementation" ]
323
324 deps = [
325 "//base",
326 "//gpu/ipc",
327 "//ipc",
328 "//ppapi/c",
329 "//ppapi/shared_impl",
330 "//skia",
331 "//ui/events/ipc",
332 ]
333}
334
335source_set("test_support") {
336 testonly = true
337
338 sources = [
339 "ppapi_proxy_test.cc",
340 "ppapi_proxy_test.h",
341 "resource_message_test_sink.cc",
342 "resource_message_test_sink.h",
343 ]
344
345 deps = [
346 "//base/test:test_support",
347 "//ipc",
348 "//ipc:test_support",
349 "//ppapi/proxy",
350 "//ppapi/shared_impl",
351 "//testing/gmock",
352 "//testing/gtest",
353 ]
354}