Add an about:flag to control video casting. The feature will be off by default.
[chromium-blink-merge.git] / chrome / chrome_renderer.gypi
blob6dcb9c9eb7823ebe280c844b391aa6f31259e990
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.
6   'targets': [
7     {
8       'target_name': 'renderer',
9       'type': 'static_library',
10       'variables': { 'enable_wexit_time_destructors': 1, },
11       'dependencies': [
12         'common',
13         'common_net',
14         'chrome_resources.gyp:chrome_resources',
15         'chrome_resources.gyp:chrome_strings',
16         '../components/components.gyp:autofill_content_renderer',
17         '../components/components.gyp:startup_metric_utils',
18         '../components/components.gyp:visitedlink_renderer',
19         '../content/content.gyp:content_renderer',
20         '../net/net.gyp:net',
21         '../printing/printing.gyp:printing',
22         '../skia/skia.gyp:skia',
23         '../third_party/WebKit/public/blink.gyp:blink',
24         '../third_party/hunspell/hunspell.gyp:hunspell',
25         '../third_party/icu/icu.gyp:icui18n',
26         '../third_party/icu/icu.gyp:icuuc',
27         '../third_party/npapi/npapi.gyp:npapi',
28         '../third_party/re2/re2.gyp:re2',
29         '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
30         '../ui/surface/surface.gyp:surface',
31         '../webkit/common/webkit_common.gyp:webkit_common',
32         '../webkit/glue/webkit_glue.gyp:glue',
33         '../webkit/glue/webkit_glue.gyp:glue_child',
34         '../webkit/renderer/webkit_renderer.gyp:webkit_renderer',
35         '../webkit/webkit_resources.gyp:webkit_resources',
36       ],
37       'include_dirs': [
38         '..',
39         # Needed by chrome_content_renderer_client.cc.
40         '<(SHARED_INTERMEDIATE_DIR)',
41       ],
42       'defines': [
43         '<@(nacl_defines)',
44       ],
45       'direct_dependent_settings': {
46         'defines': [
47           '<@(nacl_defines)',
48         ],
49       },
50       'sources': [
51         'renderer/benchmarking_extension.cc',
52         'renderer/benchmarking_extension.h',
53         'renderer/extensions/activity_log_converter_strategy.cc',
54         'renderer/extensions/activity_log_converter_strategy.h',
55         'renderer/extensions/api_activity_logger.cc',
56         'renderer/extensions/api_activity_logger.h',
57         'renderer/extensions/api_definitions_natives.cc',
58         'renderer/extensions/api_definitions_natives.h',
59         'renderer/extensions/app_bindings.cc',
60         'renderer/extensions/app_bindings.h',
61         'renderer/extensions/app_runtime_custom_bindings.cc',
62         'renderer/extensions/app_runtime_custom_bindings.h',
63         'renderer/extensions/app_window_custom_bindings.cc',
64         'renderer/extensions/app_window_custom_bindings.h',
65         'renderer/extensions/binding_generating_native_handler.cc',
66         'renderer/extensions/binding_generating_native_handler.h',
67         'renderer/extensions/chrome_v8_context.cc',
68         'renderer/extensions/chrome_v8_context.h',
69         'renderer/extensions/chrome_v8_context_set.cc',
70         'renderer/extensions/chrome_v8_context_set.h',
71         'renderer/extensions/chrome_v8_extension.cc',
72         'renderer/extensions/chrome_v8_extension.h',
73         'renderer/extensions/chrome_v8_extension_handler.cc',
74         'renderer/extensions/chrome_v8_extension_handler.h',
75         'renderer/extensions/console.cc',
76         'renderer/extensions/console.h',
77         'renderer/extensions/content_watcher.cc',
78         'renderer/extensions/content_watcher.h',
79         'renderer/extensions/context_menus_custom_bindings.cc',
80         'renderer/extensions/context_menus_custom_bindings.h',
81         'renderer/extensions/css_native_handler.cc',
82         'renderer/extensions/css_native_handler.h',
83         'renderer/extensions/dispatcher.cc',
84         'renderer/extensions/dispatcher.h',
85         'renderer/extensions/document_custom_bindings.cc',
86         'renderer/extensions/document_custom_bindings.h',
87         'renderer/extensions/dom_activity_logger.cc',
88         'renderer/extensions/dom_activity_logger.h',
89         'renderer/extensions/event_bindings.cc',
90         'renderer/extensions/event_bindings.h',
91         'renderer/extensions/extension_custom_bindings.cc',
92         'renderer/extensions/extension_custom_bindings.h',
93         'renderer/extensions/extension_groups.h',
94         'renderer/extensions/extension_helper.cc',
95         'renderer/extensions/extension_helper.h',
96         'renderer/extensions/extension_localization_peer.cc',
97         'renderer/extensions/extension_localization_peer.h',
98         'renderer/extensions/feedback_private_custom_bindings.cc',
99         'renderer/extensions/feedback_private_custom_bindings.h',
100         'renderer/extensions/file_browser_handler_custom_bindings.cc',
101         'renderer/extensions/file_browser_handler_custom_bindings.h',
102         'renderer/extensions/file_browser_private_custom_bindings.cc',
103         'renderer/extensions/file_browser_private_custom_bindings.h',
104         'renderer/extensions/file_system_natives.cc',
105         'renderer/extensions/file_system_natives.h',
106         'renderer/extensions/i18n_custom_bindings.cc',
107         'renderer/extensions/i18n_custom_bindings.h',
108         'renderer/extensions/logging_native_handler.cc',
109         'renderer/extensions/logging_native_handler.h',
110         'renderer/extensions/media_galleries_custom_bindings.cc',
111         'renderer/extensions/media_galleries_custom_bindings.h',
112         'renderer/extensions/messaging_bindings.cc',
113         'renderer/extensions/messaging_bindings.h',
114         'renderer/extensions/module_system.cc',
115         'renderer/extensions/module_system.h',
116         'renderer/extensions/native_handler.cc',
117         'renderer/extensions/native_handler.h',
118         'renderer/extensions/object_backed_native_handler.cc',
119         'renderer/extensions/object_backed_native_handler.h',
120         'renderer/extensions/page_actions_custom_bindings.cc',
121         'renderer/extensions/page_actions_custom_bindings.h',
122         'renderer/extensions/page_capture_custom_bindings.cc',
123         'renderer/extensions/page_capture_custom_bindings.h',
124         'renderer/extensions/renderer_permissions_policy_delegate.cc',
125         'renderer/extensions/renderer_permissions_policy_delegate.h',
126         'renderer/extensions/render_view_observer_natives.cc',
127         'renderer/extensions/render_view_observer_natives.h',
128         'renderer/extensions/request_sender.cc',
129         'renderer/extensions/request_sender.h',
130         'renderer/extensions/resource_request_policy.cc',
131         'renderer/extensions/resource_request_policy.h',
132         'renderer/extensions/runtime_custom_bindings.cc',
133         'renderer/extensions/runtime_custom_bindings.h',
134         'renderer/extensions/safe_builtins.cc',
135         'renderer/extensions/safe_builtins.h',
136         'renderer/extensions/scoped_persistent.h',
137         'renderer/extensions/send_request_natives.cc',
138         'renderer/extensions/send_request_natives.h',
139         'renderer/extensions/set_icon_natives.cc',
140         'renderer/extensions/set_icon_natives.h',
141         'renderer/extensions/sync_file_system_custom_bindings.cc',
142         'renderer/extensions/sync_file_system_custom_bindings.h',
143         'renderer/extensions/tab_finder.cc',
144         'renderer/extensions/tab_finder.h',
145         'renderer/extensions/tabs_custom_bindings.cc',
146         'renderer/extensions/tabs_custom_bindings.h',
147         'renderer/extensions/tts_custom_bindings.cc',
148         'renderer/extensions/tts_custom_bindings.h',
149         'renderer/extensions/unsafe_persistent.h',
150         'renderer/extensions/user_script_scheduler.cc',
151         'renderer/extensions/user_script_scheduler.h',
152         'renderer/extensions/user_script_slave.cc',
153         'renderer/extensions/user_script_slave.h',
154         'renderer/extensions/v8_schema_registry.cc',
155         'renderer/extensions/v8_schema_registry.h',
156         'renderer/extensions/web_request_custom_bindings.cc',
157         'renderer/extensions/web_request_custom_bindings.h',
158         'renderer/extensions/webstore_bindings.cc',
159         'renderer/extensions/webstore_bindings.h',
160         'renderer/extensions/webview_custom_bindings.cc',
161         'renderer/extensions/webview_custom_bindings.h',
162         'renderer/frame_sniffer.cc',
163         'renderer/frame_sniffer.h',
164         'renderer/isolated_world_ids.h',
165         'renderer/loadtimes_extension_bindings.cc',
166         'renderer/loadtimes_extension_bindings.h',
167         'renderer/media/chrome_key_systems.cc',
168         'renderer/media/chrome_key_systems.h',
169         'renderer/media/chrome_webrtc_log_message_delegate.cc',
170         'renderer/media/chrome_webrtc_log_message_delegate.h',
171         'renderer/media/webrtc_logging_message_filter.cc',
172         'renderer/media/webrtc_logging_message_filter.h',
173         'renderer/net/net_error_helper.cc',
174         'renderer/net/net_error_helper.h',
175         'renderer/net/predictor_queue.cc',
176         'renderer/net/predictor_queue.h',
177         'renderer/net/prescient_networking_dispatcher.cc',
178         'renderer/net/prescient_networking_dispatcher.h',
179         'renderer/net/renderer_net_predictor.cc',
180         'renderer/net/renderer_net_predictor.h',
181         'renderer/net_benchmarking_extension.cc',
182         'renderer/net_benchmarking_extension.h',
183         'renderer/playback_extension.cc',
184         'renderer/playback_extension.h',
185         'renderer/resource_bundle_source_map.cc',
186         'renderer/resource_bundle_source_map.h',
187         'renderer/resources/extensions/app_custom_bindings.js',
188         'renderer/resources/extensions/app_window_custom_bindings.js',
189         'renderer/resources/extensions/binding.js',
190         'renderer/resources/extensions/browser_action_custom_bindings.js',
191         'renderer/resources/extensions/chrome_direct_setting.js',
192         'renderer/resources/extensions/chrome_setting.js',
193         'renderer/resources/extensions/content_setting.js',
194         'renderer/resources/extensions/content_watcher.js',
195         'renderer/resources/extensions/context_menus_custom_bindings.js',
196         'renderer/resources/extensions/declarative_content_custom_bindings.js',
197         'renderer/resources/extensions/declarative_webrequest_custom_bindings.js',
198         'renderer/resources/extensions/event.js',
199         'renderer/resources/extensions/experimental.offscreenTabs_custom_bindings.js',
200         'renderer/resources/extensions/extension_custom_bindings.js',
201         'renderer/resources/extensions/feedback_private_custom_bindings.js',
202         'renderer/resources/extensions/file_browser_handler_custom_bindings.js',
203         'renderer/resources/extensions/file_browser_private_custom_bindings.js',
204         'renderer/resources/extensions/file_system_custom_bindings.js',
205         'renderer/resources/extensions/greasemonkey_api.js',
206         'renderer/resources/extensions/input.ime_custom_bindings.js',
207         'renderer/resources/extensions/json_schema.js',
208         'renderer/resources/extensions/last_error.js',
209         'renderer/resources/extensions/messaging.js',
210         'renderer/resources/extensions/messaging_utils.js',
211         'renderer/resources/extensions/notifications_custom_bindings.js',
212         'renderer/resources/extensions/omnibox_custom_bindings.js',
213         'renderer/resources/extensions/page_action_custom_bindings.js',
214         'renderer/resources/extensions/page_actions_custom_bindings.js',
215         'renderer/resources/extensions/page_capture_custom_bindings.js',
216         'renderer/resources/extensions/platform_app.js',
217         'renderer/resources/extensions/runtime_custom_bindings.js',
218         'renderer/resources/extensions/send_request.js',
219         'renderer/resources/extensions/set_icon.js',
220         'renderer/resources/extensions/storage_area.js',
221         'renderer/resources/extensions/system_indicator_custom_bindings.js',
222         'renderer/resources/extensions/test_custom_bindings.js',
223         'renderer/resources/extensions/tts_custom_bindings.js',
224         'renderer/resources/extensions/tts_engine_custom_bindings.js',
225         'renderer/resources/extensions/unload_event.js',
226         'renderer/resources/extensions/utils.js',
227         'renderer/resources/extensions/web_request_custom_bindings.js',
228         'renderer/resources/extensions/web_view.js',
229         'renderer/resources/extensions/web_view_experimental.js',
230         'renderer/chrome_content_renderer_client.cc',
231         'renderer/chrome_content_renderer_client.h',
232         'renderer/chrome_render_process_observer.cc',
233         'renderer/chrome_render_process_observer.h',
234         'renderer/chrome_render_view_observer.cc',
235         'renderer/chrome_render_view_observer.h',
236         'renderer/content_settings_observer.cc',
237         'renderer/content_settings_observer.h',
238         'renderer/custom_menu_commands.h',
239         'renderer/external_host_bindings.cc',
240         'renderer/external_host_bindings.h',
241         'renderer/external_extension.cc',
242         'renderer/external_extension.h',
243         'renderer/page_load_histograms.cc',
244         'renderer/page_load_histograms.h',
245         'renderer/pepper/chrome_renderer_pepper_host_factory.cc',
246         'renderer/pepper/chrome_renderer_pepper_host_factory.h',
247         'renderer/pepper/pepper_extensions_common_host.cc',
248         'renderer/pepper/pepper_extensions_common_host.h',
249         'renderer/pepper/pepper_flash_drm_renderer_host.cc',
250         'renderer/pepper/pepper_flash_drm_renderer_host.h',
251         'renderer/pepper/pepper_flash_font_file_host.cc',
252         'renderer/pepper/pepper_flash_font_file_host.h',
253         'renderer/pepper/pepper_flash_fullscreen_host.cc',
254         'renderer/pepper/pepper_flash_fullscreen_host.h',
255         'renderer/pepper/pepper_flash_menu_host.cc',
256         'renderer/pepper/pepper_flash_menu_host.h',
257         'renderer/pepper/pepper_flash_renderer_host.cc',
258         'renderer/pepper/pepper_flash_renderer_host.h',
259         'renderer/pepper/pepper_helper.cc',
260         'renderer/pepper/pepper_helper.h',
261         'renderer/pepper/pepper_pdf_host.cc',
262         'renderer/pepper/pepper_pdf_host.h',
263         'renderer/pepper/pepper_shared_memory_message_filter.cc',
264         'renderer/pepper/pepper_shared_memory_message_filter.h',
265         'renderer/pepper/pnacl_translation_resource_host.cc',
266         'renderer/pepper/pnacl_translation_resource_host.h',
267         'renderer/pepper/ppb_nacl_private_impl.cc',
268         'renderer/pepper/ppb_nacl_private_impl.h',
269         'renderer/pepper/ppb_pdf_impl.cc',
270         'renderer/pepper/ppb_pdf_impl.h',
271         'renderer/plugins/plugin_placeholder.cc',
272         'renderer/plugins/plugin_placeholder.h',
273         'renderer/plugins/plugin_uma.cc',
274         'renderer/plugins/plugin_uma.h',
275         'renderer/plugins/webview_plugin.cc',
276         'renderer/plugins/webview_plugin.h',
277         'renderer/prerender/prerender_dispatcher.cc',
278         'renderer/prerender/prerender_dispatcher.h',
279         'renderer/prerender/prerender_extra_data.cc',
280         'renderer/prerender/prerender_extra_data.h',
281         'renderer/prerender/prerender_helper.cc',
282         'renderer/prerender/prerender_helper.h',
283         'renderer/prerender/prerender_media_load_deferrer.cc',
284         'renderer/prerender/prerender_media_load_deferrer.h',
285         'renderer/prerender/prerenderer_client.cc',
286         'renderer/prerender/prerenderer_client.h',
287         'renderer/printing/print_web_view_helper.cc',
288         'renderer/printing/print_web_view_helper.h',
289         'renderer/printing/print_web_view_helper_android.cc',
290         'renderer/printing/print_web_view_helper_linux.cc',
291         'renderer/printing/print_web_view_helper_mac.mm',
292         'renderer/printing/print_web_view_helper_win.cc',
293         'renderer/safe_browsing/feature_extractor_clock.cc',
294         'renderer/safe_browsing/feature_extractor_clock.h',
295         'renderer/safe_browsing/features.cc',
296         'renderer/safe_browsing/features.h',
297         'renderer/safe_browsing/malware_dom_details.cc',
298         'renderer/safe_browsing/malware_dom_details.h',
299         'renderer/safe_browsing/murmurhash3_util.cc',
300         'renderer/safe_browsing/murmurhash3_util.h',
301         'renderer/safe_browsing/phishing_classifier.cc',
302         'renderer/safe_browsing/phishing_classifier.h',
303         'renderer/safe_browsing/phishing_classifier_delegate.cc',
304         'renderer/safe_browsing/phishing_classifier_delegate.h',
305         'renderer/safe_browsing/phishing_dom_feature_extractor.cc',
306         'renderer/safe_browsing/phishing_dom_feature_extractor.h',
307         'renderer/safe_browsing/phishing_term_feature_extractor.cc',
308         'renderer/safe_browsing/phishing_term_feature_extractor.h',
309         'renderer/safe_browsing/phishing_url_feature_extractor.cc',
310         'renderer/safe_browsing/phishing_url_feature_extractor.h',
311         'renderer/safe_browsing/scorer.cc',
312         'renderer/safe_browsing/scorer.h',
313         'renderer/searchbox/searchbox.cc',
314         'renderer/searchbox/searchbox.h',
315         'renderer/searchbox/searchbox_extension.cc',
316         'renderer/searchbox/searchbox_extension.h',
317         'renderer/security_filter_peer.cc',
318         'renderer/security_filter_peer.h',
319         'renderer/spellchecker/cocoa_spelling_engine_mac.cc',
320         'renderer/spellchecker/cocoa_spelling_engine_mac.h',
321         'renderer/spellchecker/custom_dictionary_engine.cc',
322         'renderer/spellchecker/custom_dictionary_engine.h',
323         'renderer/spellchecker/hunspell_engine.cc',
324         'renderer/spellchecker/hunspell_engine.h',
325         'renderer/spellchecker/spellcheck_provider.cc',
326         'renderer/spellchecker/spellcheck_provider.h',
327         'renderer/spellchecker/spellcheck.cc',
328         'renderer/spellchecker/spellcheck.h',
329         'renderer/spellchecker/spellcheck_language.cc',
330         'renderer/spellchecker/spellcheck_language.h',
331         'renderer/spellchecker/spellcheck_worditerator.cc',
332         'renderer/spellchecker/spellcheck_worditerator.h',
333         'renderer/spellchecker/spelling_engine.h',
334         'renderer/static_v8_external_string_resource.cc',
335         'renderer/static_v8_external_string_resource.h',
336         'renderer/tts_dispatcher.cc',
337         'renderer/tts_dispatcher.h',
338         'renderer/translate/translate_helper.cc',
339         'renderer/translate/translate_helper.h',
340         'renderer/validation_message_agent.cc',
341         'renderer/validation_message_agent.h',
342         'renderer/web_apps.cc',
343         'renderer/web_apps.h',
344         'renderer/webview_color_overlay.cc',
345         'renderer/webview_color_overlay.h',
346       ],
347       'conditions': [
348         ['disable_nacl!=1', {
349           'dependencies': [
350             '../components/nacl.gyp:nacl',
351           ],
352         }],
353         ['enable_plugins==1', {
354           'dependencies': [
355             '../ppapi/ppapi_internal.gyp:ppapi_host',
356             '../ppapi/ppapi_internal.gyp:ppapi_proxy',
357             '../ppapi/ppapi_internal.gyp:ppapi_ipc',
358             '../ppapi/ppapi_internal.gyp:ppapi_shared',
359           ],
360         }, {  # enable_plugins==0
361           'sources/': [
362             ['exclude', '^renderer/pepper/'],
363           ],
364         }],
365         ['safe_browsing==1', {
366           'defines': [
367             'FULL_SAFE_BROWSING',
368           ],
369           'dependencies': [
370             'safe_browsing_proto',
371             '../third_party/smhasher/smhasher.gyp:murmurhash3',
372           ],
373         }, {  # safe_browsing==0 || safe_browsing==2
374           'sources/': [
375             ['exclude', '^renderer/safe_browsing/'],
376           ],
377         }],
378         ['enable_webrtc==0', {
379           'sources!': [
380             'renderer/media/chrome_webrtc_log_message_delegate.cc',
381             'renderer/media/chrome_webrtc_log_message_delegate.h',
382             'renderer/media/webrtc_logging_message_filter.cc',
383             'renderer/media/webrtc_logging_message_filter.h',
384           ],
385         }],
386         ['enable_spellcheck==0', {
387           'sources/': [
388             ['exclude', '^renderer/spellchecker/']
389           ],
390           'dependencies!': [
391             '../third_party/hunspell/hunspell.gyp:hunspell',
392           ],
393         }],
394         ['OS=="mac"', {
395           'dependencies': [
396             '../third_party/mach_override/mach_override.gyp:mach_override',
397           ],
398         }],
399         ['toolkit_uses_gtk == 1', {
400           'dependencies': [
401             '../build/linux/system.gyp:gtk',
402             '../sandbox/sandbox.gyp:sandbox',
403           ],
404         }],
405         ['enable_automation==0', {
406           'sources/': [
407             ['exclude', '^renderer/automation/']
408           ]
409         }],
410         ['enable_printing==0', {
411           'sources/': [
412             ['exclude', '^renderer/printing/']
413           ]
414         }],
415         ['OS=="android"', {
416           'sources!': [
417             'renderer/prerender/prerender_media_load_deferrer.cc',
418             'renderer/prerender/prerender_media_load_deferrer.h',
419             'renderer/extensions/api_definitions_natives.cc',
420             'renderer/extensions/app_window_custom_bindings.cc',
421             'renderer/extensions/chrome_v8_extension.cc',
422             'renderer/extensions/chrome_v8_extension_handler.cc',
423             'renderer/extensions/context_menus_custom_bindings.cc',
424             'renderer/extensions/extension_custom_bindings.cc',
425             'renderer/extensions/file_browser_handler_custom_bindings.cc',
426             'renderer/extensions/page_actions_custom_bindings.cc',
427             'renderer/extensions/render_view_observer_natives.cc',
428             'renderer/extensions/send_request_natives.cc',
429             'renderer/extensions/tabs_custom_bindings.cc',
430             'renderer/extensions/tts_custom_bindings.cc',
431           ],
432           'defines': [
433             'ENABLE_MOBILE_YOUTUBE_PLUGIN',
434           ],
435           'conditions' : [
436             ['google_tv==1', {
437               'sources!' : [
438                 'renderer/media/chrome_key_systems.cc',
439               ]
440             }],
441           ],
442         }],
443         ['OS=="win"', {
444           'include_dirs': [
445             '<(DEPTH)/third_party/wtl/include',
446           ],
447           'conditions': [
448             ['win_use_allocator_shim==1', {
449               'dependencies': [
450                 '<(allocator_target)',
451               ],
452               'export_dependent_settings': [
453                 '<(allocator_target)',
454               ],
455             }],
456           ],
457         }],
458       ],
459     },
460   ],