[DevTools] Unpause renderer when paused RenderFrame is closed.
[chromium-blink-merge.git] / ppapi / proxy / BUILD.gn
blobe21d347db67c97d217d75c5d5f060ba57802ed2e
1 # 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.
5 config("proxy_implementation") {
6   defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
9 component("proxy") {
10   output_name = "ppapi_proxy"
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",
24     "camera_capabilities_resource.cc",
25     "camera_capabilities_resource.h",
26     "camera_device_resource.cc",
27     "camera_device_resource.h",
28     "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_ref_resource.cc",
43     "file_ref_resource.h",
44     "file_system_resource.cc",
45     "file_system_resource.h",
46     "gamepad_resource.cc",
47     "gamepad_resource.h",
48     "graphics_2d_resource.cc",
49     "graphics_2d_resource.h",
50     "host_resolver_private_resource.cc",
51     "host_resolver_private_resource.h",
52     "host_resolver_resource.cc",
53     "host_resolver_resource.h",
54     "host_resolver_resource_base.cc",
55     "host_resolver_resource_base.h",
56     "interface_list.cc",
57     "interface_list.h",
58     "interface_proxy.cc",
59     "interface_proxy.h",
60     "isolated_file_system_private_resource.cc",
61     "isolated_file_system_private_resource.h",
62     "locking_resource_releaser.h",
63     "media_stream_audio_track_resource.cc",
64     "media_stream_audio_track_resource.h",
65     "media_stream_track_resource_base.cc",
66     "media_stream_track_resource_base.h",
67     "media_stream_video_track_resource.cc",
68     "media_stream_video_track_resource.h",
69     "message_handler.cc",
70     "message_handler.h",
71     "net_address_resource.cc",
72     "net_address_resource.h",
73     "network_list_resource.cc",
74     "network_list_resource.h",
75     "network_monitor_resource.cc",
76     "network_monitor_resource.h",
77     "network_proxy_resource.cc",
78     "network_proxy_resource.h",
79     "output_protection_resource.cc",
80     "output_protection_resource.h",
81     "plugin_array_buffer_var.cc",
82     "plugin_array_buffer_var.h",
83     "plugin_dispatcher.cc",
84     "plugin_dispatcher.h",
85     "plugin_globals.cc",
86     "plugin_globals.h",
87     "plugin_message_filter.cc",
88     "plugin_message_filter.h",
89     "plugin_resource.cc",
90     "plugin_resource.h",
91     "plugin_resource_tracker.cc",
92     "plugin_resource_tracker.h",
93     "plugin_resource_var.cc",
94     "plugin_resource_var.h",
95     "plugin_var_serialization_rules.cc",
96     "plugin_var_serialization_rules.h",
97     "plugin_var_tracker.cc",
98     "plugin_var_tracker.h",
99     "ppapi_command_buffer_proxy.cc",
100     "ppapi_command_buffer_proxy.h",
101     "ppapi_message_utils.h",
102     "ppapi_messages.h",
103     "ppb_audio_proxy.cc",
104     "ppb_audio_proxy.h",
105     "ppb_core_proxy.cc",
106     "ppb_core_proxy.h",
107     "ppb_graphics_3d_proxy.cc",
108     "ppb_graphics_3d_proxy.h",
109     "ppb_image_data_proxy.cc",
110     "ppb_image_data_proxy.h",
111     "ppb_instance_proxy.cc",
112     "ppb_instance_proxy.h",
113     "ppb_message_loop_proxy.cc",
114     "ppb_message_loop_proxy.h",
115     "ppb_testing_proxy.cc",
116     "ppb_testing_proxy.h",
117     "ppb_x509_certificate_private_proxy.cc",
118     "ppb_x509_certificate_private_proxy.h",
119     "ppp_class_proxy.cc",
120     "ppp_class_proxy.h",
121     "ppp_find_proxy.cc",
122     "ppp_find_proxy.h",
123     "ppp_graphics_3d_proxy.cc",
124     "ppp_graphics_3d_proxy.h",
125     "ppp_input_event_proxy.cc",
126     "ppp_input_event_proxy.h",
127     "ppp_instance_proxy.cc",
128     "ppp_instance_proxy.h",
129     "ppp_messaging_proxy.cc",
130     "ppp_messaging_proxy.h",
131     "ppp_mouse_lock_proxy.cc",
132     "ppp_mouse_lock_proxy.h",
133     "ppp_pdf_proxy.cc",
134     "ppp_pdf_proxy.h",
135     "ppp_printing_proxy.cc",
136     "ppp_printing_proxy.h",
137     "ppp_text_input_proxy.cc",
138     "ppp_text_input_proxy.h",
139     "printing_resource.cc",
140     "printing_resource.h",
141     "proxy_array_output.cc",
142     "proxy_array_output.h",
143     "proxy_channel.cc",
144     "proxy_channel.h",
145     "proxy_completion_callback_factory.h",
146     "proxy_module.cc",
147     "proxy_module.h",
148     "proxy_object_var.cc",
149     "proxy_object_var.h",
150     "resource_creation_proxy.cc",
151     "resource_creation_proxy.h",
152     "resource_reply_thread_registrar.cc",
153     "resource_reply_thread_registrar.h",
154     "tcp_server_socket_private_resource.cc",
155     "tcp_server_socket_private_resource.h",
156     "tcp_socket_private_resource.cc",
157     "tcp_socket_private_resource.h",
158     "tcp_socket_resource.cc",
159     "tcp_socket_resource.h",
160     "tcp_socket_resource_base.cc",
161     "tcp_socket_resource_base.h",
162     "truetype_font_resource.cc",
163     "truetype_font_resource.h",
164     "truetype_font_singleton_resource.cc",
165     "truetype_font_singleton_resource.h",
166     "udp_socket_private_resource.cc",
167     "udp_socket_private_resource.h",
168     "udp_socket_resource.cc",
169     "udp_socket_resource.h",
170     "udp_socket_resource_base.cc",
171     "udp_socket_resource_base.h",
172     "uma_private_resource.cc",
173     "uma_private_resource.h",
174     "url_loader_resource.cc",
175     "url_loader_resource.h",
176     "url_request_info_resource.cc",
177     "url_request_info_resource.h",
178     "url_response_info_resource.cc",
179     "url_response_info_resource.h",
180     "var_serialization_rules.h",
181     "video_decoder_resource.cc",
182     "video_decoder_resource.h",
183     "video_destination_resource.cc",
184     "video_destination_resource.h",
185     "video_encoder_resource.cc",
186     "video_encoder_resource.h",
187     "video_frame_resource.cc",
188     "video_frame_resource.h",
189     "video_source_resource.cc",
190     "video_source_resource.h",
191     "websocket_resource.cc",
192     "websocket_resource.h",
193   ]
195   if (is_nacl) {
196     sources += [
197       "../nacl_irt/irt_ppapi.cc",
198       "../nacl_irt/irt_ppapi.h",
199       "../nacl_irt/irt_start.cc",
200       "../nacl_irt/manifest_service.cc",
201       "../nacl_irt/manifest_service.h",
202       "../nacl_irt/plugin_main.cc",
203       "../nacl_irt/plugin_main.h",
204       "../nacl_irt/plugin_startup.cc",
205       "../nacl_irt/plugin_startup.h",
206       "../nacl_irt/ppapi_dispatcher.cc",
207       "../nacl_irt/ppapi_dispatcher.h",
208     ]
209   } else {
210     sources += [
211       "audio_input_resource.cc",
212       "audio_input_resource.h",
213       "broker_dispatcher.cc",
214       "broker_dispatcher.h",
215       "browser_font_singleton_resource.cc",
216       "browser_font_singleton_resource.h",
217       "device_enumeration_resource_helper.cc",
218       "device_enumeration_resource_helper.h",
219       "flash_clipboard_resource.cc",
220       "flash_clipboard_resource.h",
221       "flash_drm_resource.cc",
222       "flash_drm_resource.h",
223       "flash_file_resource.cc",
224       "flash_file_resource.h",
225       "flash_font_file_resource.cc",
226       "flash_font_file_resource.h",
227       "flash_fullscreen_resource.cc",
228       "flash_fullscreen_resource.h",
229       "flash_menu_resource.cc",
230       "flash_menu_resource.h",
231       "flash_resource.cc",
232       "flash_resource.h",
233       "host_dispatcher.cc",
234       "host_dispatcher.h",
235       "host_var_serialization_rules.cc",
236       "host_var_serialization_rules.h",
237       "pdf_resource.cc",
238       "pdf_resource.h",
239       "platform_verification_private_resource.cc",
240       "platform_verification_private_resource.h",
241       "ppb_broker_proxy.cc",
242       "ppb_broker_proxy.h",
243       "ppb_buffer_proxy.cc",
244       "ppb_buffer_proxy.h",
245       "ppb_flash_message_loop_proxy.cc",
246       "ppb_flash_message_loop_proxy.h",
247       "ppb_var_deprecated_proxy.cc",
248       "ppb_var_deprecated_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",
257       "talk_resource.cc",
258       "talk_resource.h",
259       "video_capture_resource.cc",
260       "video_capture_resource.h",
261     ]
262   }
264   configs += [ ":proxy_implementation" ]
266   deps = [
267     "//base",
268     "//gpu/command_buffer/client:gles2_implementation",
269     "//gpu/ipc",
270     "//ipc",
271     "//media:shared_memory_support",
272     "//ppapi/c",
273     "//ppapi/proxy:ipc",
274     "//ppapi/shared_impl",
275     "//third_party/icu",
276   ]
278   if (is_nacl) {
279     deps += [
280       "//ui/events:latency_info",
281       "//mojo/nacl:mojo",
282     ]
283   } else {
284     deps += [
285       "//base/third_party/dynamic_annotations",
286       "//gin",
287       "//skia",
288       "//ui/events:events_base",
289       "//ui/surface",
290     ]
291   }
294 source_set("ipc") {
295   sources = [
296     "nacl_message_scanner.cc",
297     "nacl_message_scanner.h",
298     "ppapi_messages.cc",
299     "ppapi_messages.h",
300     "ppapi_param_traits.cc",
301     "ppapi_param_traits.h",
302     "raw_var_data.cc",
303     "raw_var_data.h",
304     "resource_message_params.cc",
305     "resource_message_params.h",
306     "serialized_flash_menu.cc",
307     "serialized_flash_menu.h",
308     "serialized_handle.cc",
309     "serialized_handle.h",
310     "serialized_structs.cc",
311     "serialized_structs.h",
312     "serialized_var.cc",
313     "serialized_var.h",
314     "var_serialization_rules.h",
315   ]
316   if (is_nacl) {
317     sources -= [ "serialized_flash_menu.cc" ]
318   }
320   configs += [ ":proxy_implementation" ]
322   deps = [
323     "//base",
324     "//gpu/ipc",
325     "//ipc",
326     "//ppapi/c",
327     "//ppapi/shared_impl",
328   ]
329   if (!is_nacl) {
330     deps += [
331       "//skia",
332       "//ui/events/ipc",
333     ]
334   }
337 source_set("test_support") {
338   testonly = true
340   sources = [
341     "ppapi_proxy_test.cc",
342     "ppapi_proxy_test.h",
343     "resource_message_test_sink.cc",
344     "resource_message_test_sink.h",
345   ]
347   deps = [
348     "//base/test:test_support",
349     "//ipc",
350     "//ipc:test_support",
351     "//ppapi/proxy",
352     "//ppapi/shared_impl",
353     "//testing/gmock",
354     "//testing/gtest",
355   ]