1# Copyright (c) 2012 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{
6  'dependencies': [
7    'content_common_mojo_bindings',
8    '../base/base.gyp:base',
9    '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
10    '../cc/cc.gyp:cc',
11    '../cc/blink/cc_blink.gyp:cc_blink',
12    '../gin/gin.gyp:gin',
13    '../gpu/gpu.gyp:gpu',
14    '../jingle/jingle.gyp:jingle_glue',
15    '../media/blink/media_blink.gyp:media_blink',
16    '../media/media.gyp:media',
17    '../mojo/mojo_base.gyp:mojo_application_bindings',
18    '../mojo/mojo_base.gyp:mojo_environment_chromium',
19    '../mojo/mojo_base.gyp:mojo_js_bindings_lib',
20    '../net/net.gyp:net',
21    '../skia/skia.gyp:skia',
22    '../storage/storage_common.gyp:storage_common',
23    '../third_party/WebKit/public/blink.gyp:blink',
24    '../third_party/icu/icu.gyp:icui18n',
25    '../third_party/icu/icu.gyp:icuuc',
26    '../third_party/libjingle/libjingle.gyp:libjingle',
27    '../third_party/npapi/npapi.gyp:npapi',
28    '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
29    '../ui/accessibility/accessibility.gyp:accessibility',
30    '../ui/events/events.gyp:dom4_keycode_converter',
31    '../ui/gfx/gfx.gyp:gfx',
32    '../ui/gfx/gfx.gyp:gfx_geometry',
33    '../ui/native_theme/native_theme.gyp:native_theme',
34    '../ui/surface/surface.gyp:surface',
35    '../v8/tools/gyp/v8.gyp:v8',
36    '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
37  ],
38  'include_dirs': [
39    '..',
40    '<(SHARED_INTERMEDIATE_DIR)',  # Needed by key_systems.cc.
41  ],
42  'variables': {
43    'public_renderer_sources': [
44      'public/renderer/android_content_detection_prefixes.cc',
45      'public/renderer/android_content_detection_prefixes.h',
46      'public/renderer/browser_plugin_delegate.h',
47      'public/renderer/content_renderer_client.cc',
48      'public/renderer/content_renderer_client.h',
49      'public/renderer/context_menu_client.h',
50      'public/renderer/document_state.cc',
51      'public/renderer/document_state.h',
52      'public/renderer/key_system_info.cc',
53      'public/renderer/key_system_info.h',
54      'public/renderer/navigation_state.cc',
55      'public/renderer/navigation_state.h',
56      'public/renderer/pepper_plugin_instance.h',
57      'public/renderer/platform_event_observer.h',
58      'public/renderer/renderer_ppapi_host.h',
59      'public/renderer/render_frame.h',
60      'public/renderer/render_frame_observer.cc',
61      'public/renderer/render_frame_observer.h',
62      'public/renderer/render_frame_observer_tracker.h',
63      'public/renderer/render_font_warmup_win.h',
64      'public/renderer/render_process_observer.cc',
65      'public/renderer/render_process_observer.h',
66      'public/renderer/render_thread.cc',
67      'public/renderer/render_thread.h',
68      'public/renderer/render_view.h',
69      'public/renderer/render_view_observer.cc',
70      'public/renderer/render_view_observer.h',
71      'public/renderer/render_view_observer_tracker.h',
72      'public/renderer/render_view_visitor.h',
73      'public/renderer/resource_fetcher.h',
74      'public/renderer/v8_value_converter.h',
75      'public/renderer/video_encode_accelerator.cc',
76      'public/renderer/video_encode_accelerator.h',
77    ],
78    'private_renderer_sources': [
79      'renderer/accessibility/blink_ax_enum_conversion.cc',
80      'renderer/accessibility/blink_ax_enum_conversion.h',
81      'renderer/accessibility/blink_ax_tree_source.cc',
82      'renderer/accessibility/blink_ax_tree_source.h',
83      'renderer/accessibility/renderer_accessibility.cc',
84      'renderer/accessibility/renderer_accessibility.h',
85      'renderer/accessibility/renderer_accessibility_complete.cc',
86      'renderer/accessibility/renderer_accessibility_complete.h',
87      'renderer/accessibility/renderer_accessibility_focus_only.cc',
88      'renderer/accessibility/renderer_accessibility_focus_only.h',
89      'renderer/active_notification_tracker.cc',
90      'renderer/active_notification_tracker.h',
91      'renderer/android/address_detector.cc',
92      'renderer/android/address_detector.h',
93      'renderer/android/content_detector.cc',
94      'renderer/android/content_detector.h',
95      'renderer/android/email_detector.cc',
96      'renderer/android/email_detector.h',
97      'renderer/android/phone_number_detector.cc',
98      'renderer/android/phone_number_detector.h',
99      'renderer/android/renderer_date_time_picker.cc',
100      'renderer/android/renderer_date_time_picker.h',
101      'renderer/android/synchronous_compositor_factory.cc',
102      'renderer/android/synchronous_compositor_factory.h',
103      'renderer/battery_status/battery_status_dispatcher.cc',
104      'renderer/battery_status/battery_status_dispatcher.h',
105      'renderer/browser_plugin/browser_plugin.cc',
106      'renderer/browser_plugin/browser_plugin.h',
107      'renderer/browser_plugin/browser_plugin_manager_factory.h',
108      'renderer/browser_plugin/browser_plugin_manager_impl.cc',
109      'renderer/browser_plugin/browser_plugin_manager_impl.h',
110      'renderer/browser_plugin/browser_plugin_manager.cc',
111      'renderer/browser_plugin/browser_plugin_manager.h',
112      'renderer/clipboard_utils.cc',
113      'renderer/clipboard_utils.h',
114      'renderer/child_frame_compositing_helper.cc',
115      'renderer/child_frame_compositing_helper.h',
116      'renderer/context_menu_params_builder.cc',
117      'renderer/context_menu_params_builder.h',
118      'renderer/cursor_utils.cc',
119      'renderer/cursor_utils.h',
120      'renderer/date_time_suggestion_builder.cc',
121      'renderer/date_time_suggestion_builder.h',
122      'renderer/device_sensors/device_light_event_pump.cc',
123      'renderer/device_sensors/device_light_event_pump.h',
124      'renderer/device_sensors/device_motion_event_pump.cc',
125      'renderer/device_sensors/device_motion_event_pump.h',
126      'renderer/device_sensors/device_orientation_event_pump.cc',
127      'renderer/device_sensors/device_orientation_event_pump.h',
128      'renderer/device_sensors/device_sensor_event_pump.h',
129      'renderer/devtools/devtools_agent.cc',
130      'renderer/devtools/devtools_agent.h',
131      'renderer/devtools/devtools_agent_filter.cc',
132      'renderer/devtools/devtools_agent_filter.h',
133      'renderer/devtools/devtools_client.cc',
134      'renderer/devtools/devtools_client.h',
135      'renderer/disambiguation_popup_helper.cc',
136      'renderer/disambiguation_popup_helper.h',
137      'renderer/dom_automation_controller.cc',
138      'renderer/dom_automation_controller.h',
139      'renderer/dom_storage/dom_storage_cached_area.cc',
140      'renderer/dom_storage/dom_storage_cached_area.h',
141      'renderer/dom_storage/dom_storage_dispatcher.cc',
142      'renderer/dom_storage/dom_storage_dispatcher.h',
143      'renderer/dom_storage/dom_storage_proxy.h',
144      'renderer/dom_storage/webstoragearea_impl.cc',
145      'renderer/dom_storage/webstoragearea_impl.h',
146      'renderer/dom_storage/webstoragenamespace_impl.cc',
147      'renderer/dom_storage/webstoragenamespace_impl.h',
148      'renderer/dom_utils.cc',
149      'renderer/dom_utils.h',
150      'renderer/drop_data_builder.cc',
151      'renderer/drop_data_builder.h',
152      'renderer/fetchers/image_resource_fetcher.cc',
153      'renderer/fetchers/image_resource_fetcher.h',
154      'renderer/fetchers/manifest_fetcher.cc',
155      'renderer/fetchers/manifest_fetcher.h',
156      'renderer/fetchers/multi_resolution_image_resource_fetcher.cc',
157      'renderer/fetchers/multi_resolution_image_resource_fetcher.h',
158      'renderer/fetchers/resource_fetcher_impl.cc',
159      'renderer/fetchers/resource_fetcher_impl.h',
160      'renderer/fetchers/web_url_loader_client_impl.cc',
161      'renderer/fetchers/web_url_loader_client_impl.h',
162      'renderer/gamepad_shared_memory_reader.cc',
163      'renderer/gamepad_shared_memory_reader.h',
164      'renderer/geolocation_dispatcher.cc',
165      'renderer/geolocation_dispatcher.h',
166      'renderer/gpu/compositor_output_surface.cc',
167      'renderer/gpu/compositor_output_surface.h',
168      'renderer/gpu/compositor_software_output_device.cc',
169      'renderer/gpu/compositor_software_output_device.h',
170      'renderer/gpu/delegated_compositor_output_surface.cc',
171      'renderer/gpu/delegated_compositor_output_surface.h',
172      'renderer/gpu/frame_swap_message_queue.cc',
173      'renderer/gpu/frame_swap_message_queue.h',
174      'renderer/gpu/gpu_benchmarking_extension.cc',
175      'renderer/gpu/gpu_benchmarking_extension.h',
176      'renderer/gpu/mailbox_output_surface.cc',
177      'renderer/gpu/mailbox_output_surface.h',
178      'renderer/gpu/queue_message_swap_promise.cc',
179      'renderer/gpu/queue_message_swap_promise.h',
180      'renderer/gpu/render_widget_compositor.cc',
181      'renderer/gpu/render_widget_compositor.h',
182      'renderer/gpu/stream_texture_host_android.cc',
183      'renderer/gpu/stream_texture_host_android.h',
184      'renderer/history_controller.cc',
185      'renderer/history_controller.h',
186      'renderer/history_entry.cc',
187      'renderer/history_entry.h',
188      'renderer/history_serialization.cc',
189      'renderer/history_serialization.h',
190      'renderer/idle_user_detector.cc',
191      'renderer/idle_user_detector.h',
192      'renderer/image_loading_helper.cc',
193      'renderer/image_loading_helper.h',
194      'renderer/ime_event_guard.cc',
195      'renderer/ime_event_guard.h',
196      'renderer/in_process_renderer_thread.cc',
197      'renderer/in_process_renderer_thread.h',
198      'renderer/input/input_event_filter.cc',
199      'renderer/input/input_event_filter.h',
200      'renderer/input/input_handler_manager.cc',
201      'renderer/input/input_handler_manager.h',
202      'renderer/input/input_handler_manager_client.h',
203      'renderer/input/input_handler_proxy.cc',
204      'renderer/input/input_handler_proxy.h',
205      'renderer/input/input_handler_wrapper.cc',
206      'renderer/input/input_handler_wrapper.h',
207      'renderer/internal_document_state_data.cc',
208      'renderer/internal_document_state_data.h',
209      'renderer/java/gin_java_bridge_dispatcher.cc',
210      'renderer/java/gin_java_bridge_dispatcher.h',
211      'renderer/java/gin_java_bridge_object.cc',
212      'renderer/java/gin_java_bridge_object.h',
213      'renderer/java/gin_java_bridge_value_converter.cc',
214      'renderer/java/gin_java_bridge_value_converter.h',
215      'renderer/manifest/manifest_manager.cc',
216      'renderer/manifest/manifest_manager.h',
217      'renderer/manifest/manifest_parser.cc',
218      'renderer/manifest/manifest_parser.h',
219      'renderer/media/aec_dump_message_filter.cc',
220      'renderer/media/aec_dump_message_filter.h',
221      'renderer/media/android/audio_decoder_android.cc',
222      'renderer/media/android/audio_decoder_android.h',
223      'renderer/media/android/media_info_loader.cc',
224      'renderer/media/android/media_info_loader.h',
225      'renderer/media/android/media_source_delegate.cc',
226      'renderer/media/android/media_source_delegate.h',
227      'renderer/media/android/renderer_demuxer_android.cc',
228      'renderer/media/android/renderer_demuxer_android.h',
229      'renderer/media/android/renderer_media_player_manager.cc',
230      'renderer/media/android/renderer_media_player_manager.h',
231      'renderer/media/android/stream_texture_factory.h',
232      'renderer/media/android/stream_texture_factory_impl.cc',
233      'renderer/media/android/stream_texture_factory_impl.h',
234      'renderer/media/android/stream_texture_factory_synchronous_impl.cc',
235      'renderer/media/android/stream_texture_factory_synchronous_impl.h',
236      'renderer/media/android/webmediaplayer_android.cc',
237      'renderer/media/android/webmediaplayer_android.h',
238      'renderer/media/audio_decoder.cc',
239      'renderer/media/audio_decoder.h',
240      'renderer/media/audio_device_factory.cc',
241      'renderer/media/audio_device_factory.h',
242      'renderer/media/audio_input_message_filter.cc',
243      'renderer/media/audio_input_message_filter.h',
244      'renderer/media/audio_message_filter.cc',
245      'renderer/media/audio_message_filter.h',
246      'renderer/media/audio_renderer_mixer_manager.cc',
247      'renderer/media/audio_renderer_mixer_manager.h',
248      'renderer/media/cdm_result_promise.cc',
249      'renderer/media/cdm_result_promise.h',
250      'renderer/media/cdm_session_adapter.cc',
251      'renderer/media/cdm_session_adapter.h',
252      'renderer/media/crypto/content_decryption_module_factory.cc',
253      'renderer/media/crypto/content_decryption_module_factory.h',
254      'renderer/media/crypto/encrypted_media_player_support_impl.cc',
255      'renderer/media/crypto/encrypted_media_player_support_impl.h',
256      'renderer/media/crypto/key_systems.cc',
257      'renderer/media/crypto/key_systems.h',
258      'renderer/media/crypto/key_systems_support_uma.cc',
259      'renderer/media/crypto/key_systems_support_uma.h',
260      'renderer/media/crypto/pepper_cdm_wrapper.h',
261      'renderer/media/crypto/pepper_cdm_wrapper_impl.cc',
262      'renderer/media/crypto/pepper_cdm_wrapper_impl.h',
263      'renderer/media/crypto/ppapi_decryptor.cc',
264      'renderer/media/crypto/ppapi_decryptor.h',
265      'renderer/media/crypto/proxy_decryptor.cc',
266      'renderer/media/crypto/proxy_decryptor.h',
267      'renderer/media/media_stream_audio_level_calculator.cc',
268      'renderer/media/media_stream_audio_level_calculator.h',
269      'renderer/media/media_stream_audio_renderer.cc',
270      'renderer/media/media_stream_audio_renderer.h',
271      'renderer/media/media_stream_center.h',
272      'renderer/media/media_stream_constraints_util.cc',
273      'renderer/media/media_stream_constraints_util.h',
274      'renderer/media/media_stream_dispatcher.h',
275      'renderer/media/media_stream_dispatcher_eventhandler.h',
276      'renderer/media/media_stream_track.cc',
277      'renderer/media/media_stream_track.h',
278      'renderer/media/midi_dispatcher.cc',
279      'renderer/media/midi_dispatcher.h',
280      'renderer/media/midi_message_filter.cc',
281      'renderer/media/midi_message_filter.h',
282      'renderer/media/render_media_log.cc',
283      'renderer/media/render_media_log.h',
284      'renderer/media/renderer_gpu_video_accelerator_factories.cc',
285      'renderer/media/renderer_gpu_video_accelerator_factories.h',
286      'renderer/media/renderer_webaudiodevice_impl.cc',
287      'renderer/media/renderer_webaudiodevice_impl.h',
288      'renderer/media/renderer_webmidiaccessor_impl.cc',
289      'renderer/media/renderer_webmidiaccessor_impl.h',
290      'renderer/media/video_capture_impl.cc',
291      'renderer/media/video_capture_impl.h',
292      'renderer/media/video_capture_impl_manager.cc',
293      'renderer/media/video_capture_impl_manager.h',
294      'renderer/media/video_capture_message_filter.cc',
295      'renderer/media/video_capture_message_filter.h',
296      'renderer/media/video_frame_provider.cc',
297      'renderer/media/video_frame_provider.h',
298      'renderer/media/webcontentdecryptionmodule_impl.cc',
299      'renderer/media/webcontentdecryptionmodule_impl.h',
300      'renderer/media/webcontentdecryptionmodulesession_impl.cc',
301      'renderer/media/webcontentdecryptionmodulesession_impl.h',
302      'renderer/media/webmediaplayer_ms.cc',
303      'renderer/media/webmediaplayer_ms.h',
304      'renderer/memory_benchmarking_extension.cc',
305      'renderer/memory_benchmarking_extension.h',
306      'renderer/menu_item_builder.cc',
307      'renderer/menu_item_builder.h',
308      'renderer/mhtml_generator.cc',
309      'renderer/mhtml_generator.h',
310      'renderer/mojo/service_registry_js_wrapper.cc',
311      'renderer/mojo/service_registry_js_wrapper.h',
312      'renderer/mouse_lock_dispatcher.cc',
313      'renderer/mouse_lock_dispatcher.h',
314      'renderer/net_info_helper.cc',
315      'renderer/net_info_helper.h',
316      'renderer/notification_permission_dispatcher.cc',
317      'renderer/notification_permission_dispatcher.h',
318      'renderer/notification_provider.cc',
319      'renderer/notification_provider.h',
320      'renderer/push_messaging_dispatcher.cc',
321      'renderer/push_messaging_dispatcher.h',
322      'renderer/render_font_warmup_win.cc',
323      'renderer/render_frame_impl.cc',
324      'renderer/render_frame_impl.h',
325      'renderer/render_frame_proxy.cc',
326      'renderer/render_frame_proxy.h',
327      'renderer/render_process.h',
328      'renderer/render_process_impl.cc',
329      'renderer/render_process_impl.h',
330      'renderer/render_thread_impl.cc',
331      'renderer/render_thread_impl.h',
332      'renderer/render_view_impl.cc',
333      'renderer/render_view_impl.h',
334      'renderer/render_view_impl_android.cc',
335      'renderer/render_view_impl_params.cc',
336      'renderer/render_view_impl_params.h',
337      'renderer/render_view_linux.cc',
338      'renderer/render_view_mouse_lock_dispatcher.cc',
339      'renderer/render_view_mouse_lock_dispatcher.h',
340      'renderer/render_widget.cc',
341      'renderer/render_widget.h',
342      'renderer/render_widget_fullscreen.cc',
343      'renderer/render_widget_fullscreen.h',
344      'renderer/renderer_clipboard_client.cc',
345      'renderer/renderer_clipboard_client.h',
346      'renderer/renderer_font_platform_win.cc',
347      'renderer/renderer_font_platform_win.h',
348      'renderer/renderer_main.cc',
349      'renderer/renderer_main_platform_delegate.h',
350      'renderer/renderer_main_platform_delegate_android.cc',
351      'renderer/renderer_main_platform_delegate_linux.cc',
352      'renderer/renderer_main_platform_delegate_mac.mm',
353      'renderer/renderer_main_platform_delegate_win.cc',
354      'renderer/renderer_webapplicationcachehost_impl.cc',
355      'renderer/renderer_webapplicationcachehost_impl.h',
356      'renderer/renderer_webcolorchooser_impl.cc',
357      'renderer/renderer_webcolorchooser_impl.h',
358      'renderer/renderer_webcookiejar_impl.cc',
359      'renderer/renderer_webcookiejar_impl.h',
360      'renderer/renderer_webkitplatformsupport_impl.cc',
361      'renderer/renderer_webkitplatformsupport_impl.h',
362      'renderer/resizing_mode_selector.cc',
363      'renderer/resizing_mode_selector.h',
364      'renderer/sad_plugin.cc',
365      'renderer/sad_plugin.h',
366      'renderer/savable_resources.cc',
367      'renderer/savable_resources.h',
368      'renderer/scheduler_proxy_task_runner.h',
369      'renderer/screen_orientation/screen_orientation_dispatcher.cc',
370      'renderer/screen_orientation/screen_orientation_dispatcher.h',
371      'renderer/screen_orientation/screen_orientation_observer.cc',
372      'renderer/screen_orientation/screen_orientation_observer.h',
373      'renderer/scoped_clipboard_writer_glue.cc',
374      'renderer/scoped_clipboard_writer_glue.h',
375      'renderer/service_worker/embedded_worker_context_client.cc',
376      'renderer/service_worker/embedded_worker_context_client.h',
377      'renderer/service_worker/embedded_worker_context_message_filter.cc',
378      'renderer/service_worker/embedded_worker_context_message_filter.h',
379      'renderer/service_worker/embedded_worker_devtools_agent.cc',
380      'renderer/service_worker/embedded_worker_devtools_agent.h',
381      'renderer/service_worker/embedded_worker_dispatcher.cc',
382      'renderer/service_worker/embedded_worker_dispatcher.h',
383      'renderer/service_worker/service_worker_cache_storage_dispatcher.cc',
384      'renderer/service_worker/service_worker_cache_storage_dispatcher.h',
385      'renderer/service_worker/service_worker_script_context.cc',
386      'renderer/service_worker/service_worker_script_context.h',
387      'renderer/shared_memory_seqlock_reader.cc',
388      'renderer/shared_memory_seqlock_reader.h',
389      'renderer/shared_worker_repository.cc',
390      'renderer/shared_worker_repository.h',
391      'renderer/shared_worker/embedded_shared_worker_permission_client_proxy.cc',
392      'renderer/shared_worker/embedded_shared_worker_permission_client_proxy.h',
393      'renderer/shared_worker/embedded_shared_worker_stub.cc',
394      'renderer/shared_worker/embedded_shared_worker_stub.h',
395      'renderer/skia_benchmarking_extension.cc',
396      'renderer/skia_benchmarking_extension.h',
397      'renderer/speech_recognition_dispatcher.cc',
398      'renderer/speech_recognition_dispatcher.h',
399      'renderer/stats_collection_controller.cc',
400      'renderer/stats_collection_controller.h',
401      'renderer/stats_collection_observer.cc',
402      'renderer/stats_collection_observer.h',
403      'renderer/text_input_client_observer.cc',
404      'renderer/text_input_client_observer.h',
405      'renderer/v8_value_converter_impl.cc',
406      'renderer/v8_value_converter_impl.h',
407      'renderer/web_ui_extension.cc',
408      'renderer/web_ui_extension.h',
409      'renderer/web_ui_extension_data.cc',
410      'renderer/web_ui_extension_data.h',
411      'renderer/web_ui_mojo.cc',
412      'renderer/web_ui_mojo.h',
413      'renderer/web_ui_mojo_context_state.cc',
414      'renderer/web_ui_mojo_context_state.h',
415      'renderer/web_ui_runner.cc',
416      'renderer/web_ui_runner.h',
417      'renderer/webclipboard_impl.cc',
418      'renderer/webclipboard_impl.h',
419      'renderer/webgraphicscontext3d_provider_impl.cc',
420      'renderer/webgraphicscontext3d_provider_impl.h',
421      'renderer/webpublicsuffixlist_impl.cc',
422      'renderer/webpublicsuffixlist_impl.h',
423      'renderer/webscrollbarbehavior_impl_gtkoraura.cc',
424      'renderer/webscrollbarbehavior_impl_gtkoraura.h',
425      'renderer/webscrollbarbehavior_impl_mac.mm',
426      'renderer/webscrollbarbehavior_impl_mac.h',
427      'renderer/websharedworker_proxy.cc',
428      'renderer/websharedworker_proxy.h',
429    ],
430    # Put WebRTC-related sources in the plugin+WebRTC section below.
431    'private_renderer_plugin_sources': [
432      'renderer/npapi/plugin_channel_host.cc',
433      'renderer/npapi/plugin_channel_host.h',
434      'renderer/npapi/webplugin_delegate_proxy.cc',
435      'renderer/npapi/webplugin_delegate_proxy.h',
436      'renderer/npapi/webplugin_impl.cc',
437      'renderer/npapi/webplugin_impl.h',
438      'renderer/pepper/audio_helper.cc',
439      'renderer/pepper/audio_helper.h',
440      'renderer/pepper/content_decryptor_delegate.cc',
441      'renderer/pepper/content_decryptor_delegate.h',
442      'renderer/pepper/content_renderer_pepper_host_factory.cc',
443      'renderer/pepper/content_renderer_pepper_host_factory.h',
444      'renderer/pepper/event_conversion.cc',
445      'renderer/pepper/event_conversion.h',
446      'renderer/pepper/fullscreen_container.h',
447      'renderer/pepper/gfx_conversion.h',
448      'renderer/pepper/host_array_buffer_var.cc',
449      'renderer/pepper/host_array_buffer_var.h',
450      'renderer/pepper/host_dispatcher_wrapper.cc',
451      'renderer/pepper/host_dispatcher_wrapper.h',
452      'renderer/pepper/host_globals.cc',
453      'renderer/pepper/host_globals.h',
454      'renderer/pepper/host_resource_var.cc',
455      'renderer/pepper/host_resource_var.h',
456      'renderer/pepper/host_var_tracker.cc',
457      'renderer/pepper/host_var_tracker.h',
458      'renderer/pepper/message_channel.cc',
459      'renderer/pepper/message_channel.h',
460      'renderer/pepper/pepper_audio_input_host.cc',
461      'renderer/pepper/pepper_audio_input_host.h',
462      'renderer/pepper/pepper_broker.cc',
463      'renderer/pepper/pepper_broker.h',
464      'renderer/pepper/pepper_browser_connection.cc',
465      'renderer/pepper/pepper_browser_connection.h',
466      'renderer/pepper/pepper_compositor_host.cc',
467      'renderer/pepper/pepper_compositor_host.h',
468      'renderer/pepper/pepper_device_enumeration_host_helper.cc',
469      'renderer/pepper/pepper_device_enumeration_host_helper.h',
470      'renderer/pepper/pepper_file_chooser_host.cc',
471      'renderer/pepper/pepper_file_chooser_host.h',
472      'renderer/pepper/pepper_file_ref_renderer_host.cc',
473      'renderer/pepper/pepper_file_ref_renderer_host.h',
474      'renderer/pepper/pepper_file_system_host.cc',
475      'renderer/pepper/pepper_file_system_host.h',
476      'renderer/pepper/pepper_graphics_2d_host.cc',
477      'renderer/pepper/pepper_graphics_2d_host.h',
478      'renderer/pepper/pepper_hung_plugin_filter.cc',
479      'renderer/pepper/pepper_hung_plugin_filter.h',
480      'renderer/pepper/pepper_in_process_resource_creation.cc',
481      'renderer/pepper/pepper_in_process_resource_creation.h',
482      'renderer/pepper/pepper_in_process_router.cc',
483      'renderer/pepper/pepper_in_process_router.h',
484      'renderer/pepper/pepper_media_device_manager.cc',
485      'renderer/pepper/pepper_media_device_manager.h',
486      'renderer/pepper/pepper_platform_audio_input.cc',
487      'renderer/pepper/pepper_platform_audio_input.h',
488      'renderer/pepper/pepper_platform_audio_output.cc',
489      'renderer/pepper/pepper_platform_audio_output.h',
490      'renderer/pepper/pepper_platform_video_capture.cc',
491      'renderer/pepper/pepper_platform_video_capture.h',
492      'renderer/pepper/pepper_plugin_instance_impl.cc',
493      'renderer/pepper/pepper_plugin_instance_impl.h',
494      'renderer/pepper/pepper_plugin_registry.cc',
495      'renderer/pepper/pepper_plugin_registry.h',
496      'renderer/pepper/pepper_proxy_channel_delegate_impl.cc',
497      'renderer/pepper/pepper_proxy_channel_delegate_impl.h',
498      'renderer/pepper/pepper_try_catch.cc',
499      'renderer/pepper/pepper_try_catch.h',
500      'renderer/pepper/pepper_url_loader_host.cc',
501      'renderer/pepper/pepper_url_loader_host.h',
502      'renderer/pepper/pepper_video_capture_host.cc',
503      'renderer/pepper/pepper_video_capture_host.h',
504      'renderer/pepper/pepper_video_decoder_host.cc',
505      'renderer/pepper/pepper_video_decoder_host.h',
506      'renderer/pepper/pepper_webplugin_impl.cc',
507      'renderer/pepper/pepper_webplugin_impl.h',
508      'renderer/pepper/pepper_websocket_host.cc',
509      'renderer/pepper/pepper_websocket_host.h',
510      'renderer/pepper/plugin_module.cc',
511      'renderer/pepper/plugin_module.h',
512      'renderer/pepper/plugin_object.cc',
513      'renderer/pepper/plugin_object.h',
514      'renderer/pepper/ppapi_preferences_builder.cc',
515      'renderer/pepper/ppapi_preferences_builder.h',
516      'renderer/pepper/ppb_audio_impl.cc',
517      'renderer/pepper/ppb_audio_impl.h',
518      'renderer/pepper/ppb_broker_impl.cc',
519      'renderer/pepper/ppb_broker_impl.h',
520      'renderer/pepper/ppb_buffer_impl.cc',
521      'renderer/pepper/ppb_buffer_impl.h',
522      'renderer/pepper/ppb_flash_message_loop_impl.cc',
523      'renderer/pepper/ppb_flash_message_loop_impl.h',
524      'renderer/pepper/ppb_graphics_3d_impl.cc',
525      'renderer/pepper/ppb_graphics_3d_impl.h',
526      'renderer/pepper/ppb_image_data_impl.cc',
527      'renderer/pepper/ppb_image_data_impl.h',
528      'renderer/pepper/ppb_proxy_impl.cc',
529      'renderer/pepper/ppb_proxy_impl.h',
530      'renderer/pepper/ppb_scrollbar_impl.cc',
531      'renderer/pepper/ppb_scrollbar_impl.h',
532      'renderer/pepper/ppb_var_deprecated_impl.cc',
533      'renderer/pepper/ppb_var_deprecated_impl.h',
534      'renderer/pepper/ppb_video_decoder_impl.cc',
535      'renderer/pepper/ppb_video_decoder_impl.h',
536      'renderer/pepper/ppb_widget_impl.cc',
537      'renderer/pepper/ppb_widget_impl.h',
538      'renderer/pepper/renderer_ppapi_host_impl.cc',
539      'renderer/pepper/renderer_ppapi_host_impl.h',
540      'renderer/pepper/renderer_restrict_dispatch_group.h',
541      'renderer/pepper/resource_converter.cc',
542      'renderer/pepper/resource_converter.h',
543      'renderer/pepper/resource_creation_impl.cc',
544      'renderer/pepper/resource_creation_impl.h',
545      'renderer/pepper/url_request_info_util.cc',
546      'renderer/pepper/url_request_info_util.h',
547      'renderer/pepper/url_response_info_util.cc',
548      'renderer/pepper/url_response_info_util.h',
549      'renderer/pepper/usb_key_code_conversion.cc',
550      'renderer/pepper/usb_key_code_conversion.h',
551      'renderer/pepper/usb_key_code_conversion_linux.cc',
552      'renderer/pepper/usb_key_code_conversion_mac.cc',
553      'renderer/pepper/usb_key_code_conversion_win.cc',
554      'renderer/pepper/v8object_var.cc',
555      'renderer/pepper/v8object_var.h',
556      'renderer/pepper/v8_var_converter.cc',
557      'renderer/pepper/v8_var_converter.h',
558      'renderer/pepper/video_decoder_shim.cc',
559      'renderer/pepper/video_decoder_shim.h',
560      'renderer/render_widget_fullscreen_pepper.cc',
561      'renderer/render_widget_fullscreen_pepper.h',
562    ],
563    'public_renderer_webrtc_sources': [
564      'public/renderer/media_stream_audio_sink.h',
565      'public/renderer/media_stream_audio_sink.cc',
566      'public/renderer/media_stream_sink.h',
567      'public/renderer/media_stream_video_sink.cc',
568      'public/renderer/media_stream_video_sink.h',
569      'public/renderer/webrtc_log_message_delegate.h',
570    ],
571    # WebRTC-specific sources. Put WebRTC plugin-related stuff in the
572    # Plugin+WebRTC section below.
573    'private_renderer_webrtc_sources': [
574      'renderer/media/media_stream.h',
575      'renderer/media/media_stream.cc',
576      'renderer/media/media_stream_audio_processor.cc',
577      'renderer/media/media_stream_audio_processor.h',
578      'renderer/media/media_stream_audio_processor_options.cc',
579      'renderer/media/media_stream_audio_processor_options.h',
580      'renderer/media/media_stream_audio_sink_owner.cc',
581      'renderer/media/media_stream_audio_sink_owner.h',
582      'renderer/media/media_stream_audio_track_sink.h',
583      'renderer/media/media_stream_center.cc',
584      'renderer/media/media_stream_dispatcher.cc',
585      'renderer/media/media_stream_registry_interface.h',
586      'renderer/media/media_stream_audio_source.cc',
587      'renderer/media/media_stream_audio_source.h',
588      'renderer/media/media_stream_renderer_factory.cc',
589      'renderer/media/media_stream_renderer_factory.h',
590      'renderer/media/media_stream_source.cc',
591      'renderer/media/media_stream_source.h',
592      'renderer/media/media_stream_video_capturer_source.cc',
593      'renderer/media/media_stream_video_capturer_source.h',
594      'renderer/media/media_stream_video_source.cc',
595      'renderer/media/media_stream_video_source.h',
596      'renderer/media/media_stream_video_track.cc',
597      'renderer/media/media_stream_video_track.h',
598      'renderer/media/native_handle_impl.cc',
599      'renderer/media/native_handle_impl.h',
600      'renderer/media/peer_connection_audio_sink_owner.cc',
601      'renderer/media/peer_connection_audio_sink_owner.h',
602      'renderer/media/peer_connection_identity_service.cc',
603      'renderer/media/peer_connection_identity_service.h',
604      'renderer/media/peer_connection_tracker.cc',
605      'renderer/media/peer_connection_tracker.h',
606      'renderer/media/remote_media_stream_impl.cc',
607      'renderer/media/remote_media_stream_impl.h',
608      'renderer/media/rtc_data_channel_handler.cc',
609      'renderer/media/rtc_data_channel_handler.h',
610      'renderer/media/rtc_dtmf_sender_handler.cc',
611      'renderer/media/rtc_dtmf_sender_handler.h',
612      'renderer/media/rtc_media_constraints.cc',
613      'renderer/media/rtc_media_constraints.h',
614      'renderer/media/rtc_peer_connection_handler.cc',
615      'renderer/media/rtc_peer_connection_handler.h',
616      'renderer/media/rtc_video_decoder.cc',
617      'renderer/media/rtc_video_decoder.h',
618      'renderer/media/rtc_video_decoder_factory.cc',
619      'renderer/media/rtc_video_decoder_factory.h',
620      'renderer/media/rtc_video_encoder.cc',
621      'renderer/media/rtc_video_encoder.h',
622      'renderer/media/rtc_video_encoder_factory.cc',
623      'renderer/media/rtc_video_encoder_factory.h',
624      'renderer/media/rtc_video_renderer.cc',
625      'renderer/media/rtc_video_renderer.h',
626      'renderer/media/user_media_client_impl.cc',
627      'renderer/media/video_source_handler.cc',
628      'renderer/media/video_source_handler.h',
629      'renderer/media/video_track_adapter.cc',
630      'renderer/media/video_track_adapter.h',
631      'renderer/media/webaudio_capturer_source.cc',
632      'renderer/media/webaudio_capturer_source.h',
633      'renderer/media/webrtc/webrtc_video_track_adapter.cc',
634      'renderer/media/webrtc/webrtc_video_track_adapter.h',
635      'renderer/media/webrtc/media_stream_remote_video_source.cc',
636      'renderer/media/webrtc/media_stream_remote_video_source.h',
637      'renderer/media/webrtc/media_stream_track_metrics.cc',
638      'renderer/media/webrtc/media_stream_track_metrics.h',
639      'renderer/media/webrtc/peer_connection_dependency_factory.cc',
640      'renderer/media/webrtc/peer_connection_dependency_factory.h',
641      'renderer/media/webrtc/video_destination_handler.cc',
642      'renderer/media/webrtc/video_destination_handler.h',
643      'renderer/media/webrtc/webrtc_audio_sink_adapter.cc',
644      'renderer/media/webrtc/webrtc_audio_sink_adapter.h',
645      'renderer/media/webrtc/webrtc_local_audio_track_adapter.cc',
646      'renderer/media/webrtc/webrtc_local_audio_track_adapter.h',
647      'renderer/media/webrtc/webrtc_media_stream_adapter.cc',
648      'renderer/media/webrtc/webrtc_media_stream_adapter.h',
649      'renderer/media/webrtc/webrtc_video_capturer_adapter.cc',
650      'renderer/media/webrtc/webrtc_video_capturer_adapter.h',
651      'renderer/media/webrtc_audio_capturer.cc',
652      'renderer/media/webrtc_audio_capturer.h',
653      'renderer/media/webrtc_audio_device_impl.cc',
654      'renderer/media/webrtc_audio_device_impl.h',
655      'renderer/media/webrtc_audio_device_not_impl.cc',
656      'renderer/media/webrtc_audio_device_not_impl.h',
657      'renderer/media/webrtc_audio_renderer.cc',
658      'renderer/media/webrtc_audio_renderer.h',
659      'renderer/media/webrtc_identity_service.cc',
660      'renderer/media/webrtc_identity_service.h',
661      'renderer/media/webrtc_local_audio_renderer.cc',
662      'renderer/media/webrtc_local_audio_renderer.h',
663      'renderer/media/webrtc_local_audio_source_provider.cc',
664      'renderer/media/webrtc_local_audio_source_provider.h',
665      'renderer/media/webrtc_local_audio_track.cc',
666      'renderer/media/webrtc_local_audio_track.h',
667      'renderer/media/webrtc_logging.cc',
668      'renderer/media/webrtc_logging.h',
669      'renderer/media/webrtc_uma_histograms.cc',
670      'renderer/media/webrtc_uma_histograms.h',
671      'renderer/p2p/host_address_request.cc',
672      'renderer/p2p/host_address_request.h',
673      'renderer/p2p/ipc_network_manager.cc',
674      'renderer/p2p/ipc_network_manager.h',
675      'renderer/p2p/ipc_socket_factory.cc',
676      'renderer/p2p/ipc_socket_factory.h',
677      'renderer/p2p/network_list_observer.h',
678      'renderer/p2p/port_allocator.cc',
679      'renderer/p2p/port_allocator.h',
680      'renderer/p2p/socket_client_impl.cc',
681      'renderer/p2p/socket_client_impl.h',
682      'renderer/p2p/socket_dispatcher.cc',
683      'renderer/p2p/socket_dispatcher.h',
684    ],
685    # Stuff only used when both WebRTC and plugins are enabled.
686    'private_renderer_plugin_webrtc_sources': [
687      'renderer/pepper/pepper_media_stream_audio_track_host.cc',
688      'renderer/pepper/pepper_media_stream_audio_track_host.h',
689      'renderer/pepper/pepper_media_stream_track_host_base.cc',
690      'renderer/pepper/pepper_media_stream_track_host_base.h',
691      'renderer/pepper/pepper_media_stream_video_track_host.cc',
692      'renderer/pepper/pepper_media_stream_video_track_host.h',
693      'renderer/pepper/pepper_video_destination_host.cc',
694      'renderer/pepper/pepper_video_destination_host.h',
695      'renderer/pepper/pepper_video_source_host.cc',
696      'renderer/pepper/pepper_video_source_host.h',
697    ]
698  },
699  'sources': [
700    '<@(public_renderer_sources)',
701    '<@(private_renderer_sources)',
702  ],
703  'conditions': [
704    ['notifications==0', {
705      'sources!': [
706        'renderer/notification_provider.cc',
707        'renderer/active_notification_tracker.cc',
708      ],
709    }],
710    ['OS=="mac"', {
711      'sources!': [
712        'common/process_watcher_posix.cc',
713        'renderer/webscrollbarbehavior_impl_gtkoraura.cc',
714        'renderer/webscrollbarbehavior_impl_gtkoraura.h',
715      ],
716      'sources': [
717        'renderer/external_popup_menu.cc',
718        'renderer/external_popup_menu.h',
719      ],
720    }, {
721      'sources!': [
722        'renderer/webscrollbarbehavior_impl_mac.mm',
723        'renderer/webscrollbarbehavior_impl_mac.h',
724      ],
725    }],
726    ['OS=="win" and win_use_allocator_shim==1', {
727      'dependencies': [
728          '../base/allocator/allocator.gyp:allocator',
729      ],
730    }],
731    ['OS=="android"', {
732      'sources!': [
733        'renderer/accessibility/renderer_accessibility_focus_only.cc',
734        'renderer/media/audio_decoder.cc',
735        'renderer/media/crypto/encrypted_media_player_support_impl.cc',
736      ],
737      'sources': [
738        'renderer/external_popup_menu.cc',
739        'renderer/external_popup_menu.h',
740      ],
741      'dependencies': [
742        '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber',
743      ],
744      'includes': [
745        '../build/android/cpufeatures.gypi',
746      ],
747    }, {
748      'sources!': [
749        'renderer/java/gin_java_bridge_dispatcher.cc',
750        'renderer/java/gin_java_bridge_dispatcher.h',
751        'renderer/java/gin_java_bridge_object.cc',
752        'renderer/java/gin_java_bridge_object.h',
753        'renderer/java/gin_java_bridge_value_converter.cc',
754        'renderer/java/gin_java_bridge_value_converter.h',
755        'renderer/java/java_bridge_channel.cc',
756        'renderer/java/java_bridge_channel.h',
757        'renderer/java/java_bridge_dispatcher.cc',
758        'renderer/java/java_bridge_dispatcher.h',
759      ],
760    }],
761    # TODO(jrg): remove the OS=="android" section?
762    # http://crbug.com/113172
763    # Understand better how media_stream_ is tied into Chromium.
764    ['enable_webrtc==0 and OS=="android"', {
765      'sources/': [
766        ['exclude', '^renderer/media/media_stream_'],
767      ],
768    }],
769    ['enable_webrtc==1', {
770      'dependencies': [
771        '../third_party/libjingle/libjingle.gyp:libjingle_webrtc',
772        '../third_party/libjingle/libjingle.gyp:libpeerconnection',
773        '../third_party/libyuv/libyuv.gyp:libyuv',
774        '../third_party/webrtc/modules/modules.gyp:audio_device',
775        '../third_party/webrtc/modules/modules.gyp:audio_processing',
776        '<(DEPTH)/crypto/crypto.gyp:crypto',
777      ],
778      'sources': [
779        '<@(public_renderer_webrtc_sources)',
780        '<@(private_renderer_webrtc_sources)',
781      ],
782    },{  # enable_webrtc==0
783      'sources': [
784        'renderer/media/webrtc_logging_noop.cc',
785        'renderer/media/webrtc_logging.h',
786      ],
787    }],
788    ['enable_plugins==1', {
789      'sources': [
790        '<@(private_renderer_plugin_sources)',
791      ],
792      'conditions': [
793        ['OS=="android"', {
794          'sources!': [
795            # Android does not build FFmpeg, which these depend on.
796            'renderer/pepper/video_decoder_shim.cc',
797            'renderer/pepper/video_decoder_shim.h',
798          ],
799        }],
800      ],
801      'dependencies': [
802        '../ppapi/ppapi_internal.gyp:ppapi_host',
803        '../ppapi/ppapi_internal.gyp:ppapi_proxy',
804        '../ppapi/ppapi_internal.gyp:ppapi_shared',
805        '../third_party/libyuv/libyuv.gyp:libyuv',
806      ],
807    }, {  # enable_plugins==0
808      'sources!': [
809        # These are not in the plugins sources list since it also requires webrtc.
810        'renderer/media/webrtc/video_destination_handler.cc',
811        'renderer/media/webrtc/video_destination_handler.h',
812      ],
813    }],
814    ['enable_plugins==1 and enable_webrtc==1', {
815      'sources': [
816        '<@(private_renderer_plugin_webrtc_sources)',
817      ],
818    }],
819    ['enable_pepper_cdms != 1', {
820      'sources!': [
821        'renderer/media/crypto/pepper_cdm_wrapper.h',
822        'renderer/media/crypto/pepper_cdm_wrapper_impl.cc',
823        'renderer/media/crypto/pepper_cdm_wrapper_impl.h',
824        'renderer/media/crypto/ppapi_decryptor.cc',
825        'renderer/media/crypto/ppapi_decryptor.h',
826      ],
827    }],
828    ['enable_browser_cdms==1', {
829      'sources': [
830        'renderer/media/crypto/proxy_media_keys.cc',
831        'renderer/media/crypto/proxy_media_keys.h',
832        'renderer/media/crypto/renderer_cdm_manager.cc',
833        'renderer/media/crypto/renderer_cdm_manager.h',
834      ],
835    }],
836  ],
837  'target_conditions': [
838    ['OS=="android"', {
839      'sources/': [
840        ['include', '^renderer/render_view_linux\\.cc$'],
841      ],
842    }],
843  ],
844}
845