Chromoting: Fix newly-added JS compile warning.
[chromium-blink-merge.git] / chrome_frame / chrome_frame.gyp
blob0d9c124cb6a1ada47766694ff33b4369ac78b598
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   'variables': {
7     'chromium_code': 1,
9     'variables': {
10       'version_py_path': '../tools/build/version.py',
11       'version_path': 'VERSION',
12     },
13     'version_py_path': '<(version_py_path) -f',
14     'version_path': '<(version_path)',
16     # Keep the archive builder happy.
17     'chrome_personalization%': 1,
18     'use_syncapi_stub%': 0,
20     'conditions': [
21       ['OS=="win"', {
22         'python': [
23           '<(DEPTH)\\third_party\\python_26\\setup_env.bat && python'
24         ],
25       }, { # OS != win
26         'python': [
27           'python'
28         ],
29       }],
30     ],
31   },
32   'includes': [
33     '../build/win_precompile.gypi',
34   ],
35   'target_defaults': {
36     'dependencies': [
37       '../chrome/chrome_resources.gyp:chrome_resources',
38       '../chrome/chrome_resources.gyp:chrome_strings',
39       '../chrome/chrome_resources.gyp:packed_resources',
40       '../chrome/chrome_resources.gyp:theme_resources',
41       '../skia/skia.gyp:skia',
42     ],
43     'defines': [ 'ISOLATION_AWARE_ENABLED=1' ],
44     'include_dirs': [
45       # all our own includes are relative to src/
46       '..',
47     ],
48   },
49   'targets': [
50     {
51       # Builds the crash tests in crash_reporting.
52       'target_name': 'chrome_frame_crash_tests',
53       'type': 'none',
54       'dependencies': [
55         'crash_reporting/crash_reporting.gyp:minidump_test',
56         'crash_reporting/crash_reporting.gyp:vectored_handler_tests',
57       ],
58     },
59     {
60       # Builds our IDL file to the shared intermediate directory.
61       'target_name': 'chrome_tab_idl',
62       'type': 'none',
63       'msvs_settings': {
64         'VCMIDLTool': {
65           'OutputDirectory': '<(SHARED_INTERMEDIATE_DIR)/chrome_frame',
66         },
67       },
68       'sources': [
69         'chrome_tab.idl',
70       ],
71       # Add the output dir for those who depend on us.
72       'direct_dependent_settings': {
73         'include_dirs': ['<(SHARED_INTERMEDIATE_DIR)'],
74       },
75     },
76     {
77       'target_name': 'chrome_frame_unittests',
78       'type': 'executable',
79       'dependencies': [
80         '../base/base.gyp:test_support_base',
81         '../chrome/app/policy/cloud_policy_codegen.gyp:policy',
82         '../net/net.gyp:net',
83         '../testing/gmock.gyp:gmock',
84         '../testing/gtest.gyp:gtest',
85         'chrome_frame_launcher.gyp:chrome_frame_helper_lib',
86         'chrome_frame_ie',
87         'chrome_frame_strings',
88         'chrome_tab_idl',
89         'locales/locales.gyp:*',
90       ],
91       'sources': [
92         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
93         'chrome_frame_unittest_main.cc',
94         'chrome_launcher.cc',
95         'chrome_launcher.h',
96         'chrome_launcher_unittest.cc',
97         'function_stub_unittest.cc',
98         'test/chrome_tab_mocks.h',
99         'test/chrome_frame_test_utils.h',
100         'test/chrome_frame_test_utils.cc',
101         'test/com_message_event_unittest.cc',
102         'test/dll_redirector_test.cc',
103         'test/exception_barrier_unittest.cc',
104         'test/html_util_unittests.cc',
105         'test/http_negotiate_unittest.cc',
106         'test/infobar_unittests.cc',
107         'test/policy_settings_unittest.cc',
108         'test/ready_mode_unittest.cc',
109         'test/registry_watcher_unittest.cc',
110         'test/simulate_input.h',
111         'test/simulate_input.cc',
112         'test/urlmon_moniker_tests.h',
113         'test/urlmon_moniker_unittest.cc',
114         'test/util_unittests.cc',
115         'test/win_event_receiver.h',
116         'test/win_event_receiver.cc',
117         'unittest_precompile.h',
118         'unittest_precompile.cc',
119         'urlmon_upload_data_stream_unittest.cc',
120         'vtable_patch_manager_unittest.cc',
121       ],
122       'include_dirs': [
123         '<(DEPTH)/breakpad/src',
124       ],
125       'resource_include_dirs': [
126         '<(INTERMEDIATE_DIR)',
127       ],
128       'conditions': [
129         # We can't instrument code for coverage if it depends on 3rd party
130         # binaries that we don't have PDBs for. See here for more details:
131         # http://connect.microsoft.com/VisualStudio/feedback/details/176188/can-not-disable-warning-lnk4099
132         ['coverage==0', {
133           'conditions': [
134             ['OS=="win"', {
135               'dependencies': [
136                 '../breakpad/breakpad.gyp:breakpad_handler',
137                 # TODO(slightlyoff): Get automation targets working on OS X
138                 '../chrome/chrome.gyp:automation',
139               ],
140             }],
141           ],
142         }],
143         ['OS=="win" and buildtype=="Official"', {
144           'configurations': {
145             'Release': {
146               'msvs_settings': {
147                 'VCCLCompilerTool': {
148                   'WholeProgramOptimization': 'false',
149                 },
150               },
151             },
152           },
153         },],
154         ['OS=="win"', {
155           'link_settings': {
156             'libraries': [
157               '-lshdocvw.lib',
158               '-loleacc.lib',
159             ],
160           },
161           'msvs_settings': {
162             'VCLinkerTool': {
163               'DelayLoadDLLs': ['shdocvw.dll'],
164             },
165           },
166           'dependencies': [
167             # TODO(slightlyoff): Get automation targets working on OS X
168             '../chrome/chrome.gyp:automation',
169             '../chrome/chrome.gyp:installer_util',
170             '../google_update/google_update.gyp:google_update',
171           ],
172           'configurations': {
173             'Debug_Base': {
174               'msvs_settings': {
175                 'VCLinkerTool': {
176                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
177                 },
178               },
179             },
180           },
181         }],
182       ],
183     },
184     {
185       'target_name': 'chrome_frame_tests',
186       'type': 'executable',
187       'dependencies': [
188         '../base/base.gyp:test_support_base',
189         '../build/temp_gyp/googleurl.gyp:googleurl',
190         '../chrome/chrome.gyp:chrome_version_header',
191         '../chrome/chrome.gyp:common',
192         '../chrome/chrome.gyp:utility',
193         '../chrome/chrome.gyp:browser',
194         '../chrome/chrome.gyp:debugger',
195         '../chrome/chrome.gyp:renderer',
196         '../chrome/installer/upgrade_test.gyp:alternate_version_generator_lib',
197         '../content/content.gyp:content_gpu',
198         '../net/net.gyp:net',
199         '../net/net.gyp:net_test_support',
200         '../testing/gmock.gyp:gmock',
201         '../testing/gtest.gyp:gtest',
202         '../third_party/iaccessible2/iaccessible2.gyp:iaccessible2',
203         '../third_party/iaccessible2/iaccessible2.gyp:IAccessible2Proxy',
204         '../third_party/libxslt/libxslt.gyp:libxslt',
205         'chrome_frame_ie',
206         'chrome_frame_strings',
207         'chrome_frame_utils',
208         'chrome_tab_idl',
209         'locales/locales.gyp:*',
210         'npchrome_frame',
211       ],
212       'sources': [
213         '../base/test/test_suite.h',
214         'cfproxy_test.cc',
215         'external_tab_test.cc',
216         'test/automation_client_mock.cc',
217         'test/automation_client_mock.h',
218         'test/chrome_frame_test_utils.cc',
219         'test/chrome_frame_test_utils.h',
220         'test/chrome_frame_ui_test_utils.cc',
221         'test/chrome_frame_ui_test_utils.h',
222         'test/chrome_frame_automation_mock.cc',
223         'test/chrome_frame_automation_mock.h',
224         'test/delete_chrome_history_test.cc',
225         'test/dll_redirector_loading_test.cc',
226         'test/header_test.cc',
227         'test/ie_event_sink.cc',
228         'test/ie_event_sink.h',
229         'test/mock_ie_event_sink_actions.h',
230         'test/mock_ie_event_sink_test.cc',
231         'test/mock_ie_event_sink_test.h',
232         'test/navigation_test.cc',
233         'test/proxy_factory_mock.cc',
234         'test/proxy_factory_mock.h',
235         'test/run_all_unittests.cc',
236         'test/simple_resource_loader_test.cc',
237         'test/simulate_input.cc',
238         'test/simulate_input.h',
239         'test/test_server.cc',
240         'test/test_server.h',
241         'test/test_server_test.cc',
242         'test/test_with_web_server.cc',
243         'test/test_with_web_server.h',
244         'test/ui_test.cc',
245         'test/urlmon_moniker_tests.h',
246         'test/urlmon_moniker_integration_test.cc',
247         'test/url_request_test.cc',
248         'test/win_event_receiver.cc',
249         'test/win_event_receiver.h',
250         'chrome_launcher_version.rc',
251         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
252         'test_utils.cc',
253         'test_utils.h',
254       ],
255       'include_dirs': [
256         '<(DEPTH)/third_party/wtl/include',
257         '<(DEPTH)/breakpad/src',
258       ],
259       'resource_include_dirs': [
260         '<(INTERMEDIATE_DIR)',
261       ],
262       'conditions': [
263         ['OS=="win"', {
264           'link_settings': {
265             'libraries': [
266               '-loleacc.lib',
267             ],
268           },
269           'dependencies': [
270             '../chrome/chrome.gyp:crash_service',
271             '../chrome/chrome.gyp:automation',
272             '../chrome/chrome.gyp:installer_util',
273             '../google_update/google_update.gyp:google_update',
274           ],
275           'configurations': {
276             'Debug_Base': {
277               'msvs_settings': {
278                 'VCLinkerTool': {
279                   'LinkIncremental': '<(msvs_debug_link_nonincremental)',
280                 },
281               },
282             },
283           },
284           'conditions': [
285             ['win_use_allocator_shim==1', {
286               'dependencies': [
287                 '../base/allocator/allocator.gyp:allocator',
288               ],
289             }],
290           ],
291         }],
292       ],
293     },
294     {
295       'target_name': 'chrome_frame_perftests',
296       'type': 'executable',
297       'dependencies': [
298         '../base/base.gyp:base',
299         '../base/base.gyp:base_i18n',
300         '../base/base.gyp:test_support_base',
301         '../build/temp_gyp/googleurl.gyp:googleurl',
302         '../chrome/chrome.gyp:common',
303         '../chrome/chrome.gyp:browser',
304         '../chrome/chrome.gyp:debugger',
305         '../chrome/chrome.gyp:image_pre_reader',
306         '../chrome/chrome.gyp:test_support_ui',
307         '../chrome/chrome.gyp:utility',
308         '../content/content.gyp:content_gpu',
309         '../testing/gmock.gyp:gmock',
310         '../testing/gtest.gyp:gtest',
311         '../third_party/libxml/libxml.gyp:libxml',
312         '../third_party/libxslt/libxslt.gyp:libxslt',
313         'chrome_frame_ie',
314         'chrome_frame_strings',
315         'chrome_frame_utils',
316         'chrome_tab_idl',
317         'locales/locales.gyp:*',
318         'npchrome_frame',
319       ],
320       'sources': [
321         '../base/test/perf_test_suite.h',
322         '../base/perftimer.cc',
323         '../base/test/test_file_util.h',
324         '../chrome/test/base/chrome_process_util.cc',
325         '../chrome/test/base/chrome_process_util.h',
326         '../chrome/test/ui/ui_test.cc',
327         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
328         'test/chrome_frame_test_utils.cc',
329         'test/chrome_frame_test_utils.h',
330         'test/perf/chrome_frame_perftest.cc',
331         'test/perf/chrome_frame_perftest.h',
332         'test/perf/run_all.cc',
333         'test/perf/silverlight.cc',
334         'test/simulate_input.cc',
335         'test/simulate_input.h',
336         'test_utils.cc',
337         'test_utils.h',
338         'test/win_event_receiver.cc',
339         'test/win_event_receiver.h',
340       ],
341       'include_dirs': [
342         '<(DEPTH)/third_party/wtl/include',
343       ],
344       'conditions': [
345         ['OS=="win"', {
346           'configurations': {
347             'Debug_Base': {
348               'msvs_settings': {
349                 'VCLinkerTool': {
350                   'LinkIncremental': '<(msvs_debug_link_nonincremental)',
351                 },
352               },
353             },
354           },
355           'link_settings': {
356             'libraries': [
357               '-loleacc.lib',
358             ],
359           },
360           'dependencies': [
361             '../breakpad/breakpad.gyp:breakpad_handler',
362             '../chrome/chrome.gyp:automation',
363             '../chrome/chrome.gyp:crash_service',
364             '../chrome/chrome.gyp:installer_util',
365             '../google_update/google_update.gyp:google_update',
366           ],
367           'sources': [
368             '../base/test/test_file_util_win.cc',
369           ]
370         }],
371       ],
372     },
374     {
375       'target_name': 'chrome_frame_net_tests',
376       'type': 'executable',
377       'dependencies': [
378         '../base/base.gyp:test_support_base',
379         '../chrome/chrome.gyp:browser',
380         '../chrome/chrome.gyp:debugger',
381         '../chrome/chrome.gyp:renderer',
382         '../chrome/chrome.gyp:syncapi_core',
383         '../chrome/chrome_resources.gyp:chrome_resources',
384         '../content/content.gyp:content_app',
385         '../content/content.gyp:content_gpu',
386         '../content/content.gyp:test_support_content',
387         '../net/net.gyp:net',
388         '../net/net.gyp:net_test_support',
389         '../skia/skia.gyp:skia',
390         '../testing/gtest.gyp:gtest',
391         '../third_party/icu/icu.gyp:icui18n',
392         '../third_party/icu/icu.gyp:icuuc',
393         '../ui/ui.gyp:ui_resources',
394         'chrome_frame_ie',
395         'chrome_tab_idl',
396         'npchrome_frame',
397       ],
398       'include_dirs': [
399         '<(DEPTH)/breakpad/src',
400       ],
401       'sources': [
402         '../net/url_request/url_request_unittest.cc',
403         'test/chrome_frame_test_utils.cc',
404         'test/chrome_frame_test_utils.h',
405         'test/simulate_input.cc',
406         'test/simulate_input.h',
407         'test/test_server.cc',
408         'test/test_server.h',
409         'test/win_event_receiver.cc',
410         'test/win_event_receiver.h',
411         'test/net/fake_external_tab.cc',
412         'test/net/fake_external_tab.h',
413         'test/net/process_singleton_subclass.cc',
414         'test/net/process_singleton_subclass.h',
415         'test/net/test_automation_provider.cc',
416         'test/net/test_automation_provider.h',
417         'test/net/test_automation_resource_message_filter.cc',
418         'test/net/test_automation_resource_message_filter.h',
419         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
420         '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources.rc',
421         'test_utils.cc',
422         'test_utils.h',
423       ],
424       'conditions': [
425         ['OS=="win"', {
426           'link_settings': {
427             'libraries': [
428               '-loleacc.lib',
429             ],
430           },
431           'msvs_settings': {
432             'VCLinkerTool': {
433               'DelayLoadDLLs': ['prntvpt.dll'],
434             },
435           },
436           'dependencies': [
437             '../breakpad/breakpad.gyp:breakpad_handler',
438             '../chrome/chrome.gyp:automation',
439             '../chrome/chrome.gyp:crash_service',
440             '../chrome/chrome.gyp:chrome_version_resources',
441             '../chrome/chrome.gyp:installer_util',
442             '../google_update/google_update.gyp:google_update',
443           ],
444           'configurations': {
445             'Debug_Base': {
446               'msvs_settings': {
447                 'VCLinkerTool': {
448                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
449                 },
450               },
451             },
452           },
453         }],
454       ],
455     },
457     {
458       'target_name': 'chrome_frame_reliability_tests',
459       'type': 'executable',
460       'dependencies': [
461         '../base/base.gyp:base',
462         '../base/base.gyp:test_support_base',
463         '../chrome/chrome.gyp:browser',
464         '../chrome/chrome.gyp:debugger',
465         '../chrome/chrome.gyp:renderer',
466         '../chrome/chrome.gyp:test_support_common',
467         '../content/content.gyp:content_gpu',
468         '../testing/gmock.gyp:gmock',
469         '../testing/gtest.gyp:gtest',
470         'chrome_frame_ie',
471         'chrome_frame_strings',
472         'chrome_tab_idl',
473         'locales/locales.gyp:*',
474       ],
475       'sources': [
476         'test/reliability/run_all_unittests.cc',
477         'test/reliability/page_load_test.cc',
478         'test/reliability/page_load_test.h',
479         'test/reliability/reliability_test_suite.h',
480         'test/chrome_frame_test_utils.cc',
481         'test/chrome_frame_test_utils.h',
482         'test/ie_event_sink.cc',
483         'test/ie_event_sink.h',
484         'test_utils.cc',
485         'test_utils.h',
486         'test/simulate_input.cc',
487         'test/simulate_input.h',
488         'test/win_event_receiver.cc',
489         'test/win_event_receiver.h',
490         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
491         '../base/test/test_file_util_win.cc',
492         '../chrome/test/automation/proxy_launcher.cc',
493         '../chrome/test/automation/proxy_launcher.h',
494         '../chrome/test/base/chrome_process_util.cc',
495         '../chrome/test/base/chrome_process_util.h',
496         '../chrome/test/ui/ui_test.cc',
497         '../chrome/test/ui/ui_test.h',
498         '../chrome/test/ui/ui_test_suite.cc',
499         '../chrome/test/ui/ui_test_suite.h',
500       ],
501       'resource_include_dirs': [
502         '<(INTERMEDIATE_DIR)',
503       ],
504       'conditions': [
505         ['OS=="win"', {
506           'link_settings': {
507             'libraries': [
508               '-loleacc.lib',
509             ],
510           },
511           'dependencies': [
512             # TODO(slightlyoff): Get automation targets working on OS X
513             '../chrome/chrome.gyp:automation',
514             '../chrome/chrome.gyp:installer_util',
515             '../google_update/google_update.gyp:google_update',
516           ],
517           'configurations': {
518             'Debug_Base': {
519               'msvs_settings': {
520                 'VCLinkerTool': {
521                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
522                 },
523               },
524             },
525           },
526         }],
527       ],
528     },
529     {
530       'target_name': 'chrome_frame_qa_tests',
531       'type': 'executable',
532       'dependencies': [
533         '../base/base.gyp:test_support_base',
534         '../build/temp_gyp/googleurl.gyp:googleurl',
535         '../net/net.gyp:net',
536         '../net/net.gyp:net_test_support',
537         '../testing/gmock.gyp:gmock',
538         '../testing/gtest.gyp:gtest',
539         '../third_party/iaccessible2/iaccessible2.gyp:iaccessible2',
540         'chrome_frame_ie',
541         'chrome_frame_strings',
542         'chrome_tab_idl',
543         'locales/locales.gyp:*',
544         'npchrome_frame',
545       ],
546       'sources': [
547         '../base/test/test_suite.h',
548         'test/chrome_frame_test_utils.cc',
549         'test/chrome_frame_test_utils.h',
550         'test/chrome_frame_ui_test_utils.cc',
551         'test/chrome_frame_ui_test_utils.h',
552         'test/external_sites_test.cc',
553         'test/ie_event_sink.cc',
554         'test/ie_event_sink.h',
555         'test/mock_ie_event_sink_actions.h',
556         'test/mock_ie_event_sink_test.cc',
557         'test/mock_ie_event_sink_test.h',
558         'test/run_all_unittests.cc',
559         'test/simulate_input.cc',
560         'test/simulate_input.h',
561         'test/test_server.cc',
562         'test/test_server.h',
563         'test/test_with_web_server.cc',
564         'test/test_with_web_server.h',
565         'test/win_event_receiver.cc',
566         'test/win_event_receiver.h',
567         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
568         'chrome_tab.idl',
569         'test_utils.cc',
570         'test_utils.h',
571       ],
572       'include_dirs': [
573         '<(DEPTH)/third_party/wtl/include',
574         '<(DEPTH)/breakpad/src',
575       ],
576       'resource_include_dirs': [
577         '<(INTERMEDIATE_DIR)',
578       ],
579       'conditions': [
580         ['OS=="win"', {
581           'link_settings': {
582             'libraries': [
583               '-loleacc.lib',
584             ],
585           },
586           'dependencies': [
587             '../chrome/chrome.gyp:crash_service',
588             '../chrome/chrome.gyp:automation',
589             '../chrome/chrome.gyp:installer_util',
590             '../google_update/google_update.gyp:google_update',
591           ]
592         }],
593       ],
594     },
595     {
596       'target_name': 'chrome_frame_strings',
597       'type': 'none',
598       'variables': {
599         'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome_frame',
600       },
601       'actions': [
602         {
603           'action_name': 'chrome_frame_resources',
604           'variables': {
605             'grit_grd_file': 'resources/chrome_frame_resources.grd',
606           },
607           'includes': [ '../build/grit_action.gypi' ],
608         },
609         {
610           'action_name': 'chrome_frame_dialogs',
611           'variables': {
612             'grit_grd_file': 'resources/chrome_frame_dialogs.grd',
613           },
614           'includes': [ '../build/grit_action.gypi' ],
615         },
616       ],
617       'includes': [ '../build/grit_target.gypi' ],
618     },
619     {
620       'target_name': 'chrome_frame_utils',
621        # The intent is that shared util code can be built into a separate lib.
622       'type': 'static_library',
623       'dependencies': [
624         '../base/base.gyp:base_i18n',
625         '../breakpad/breakpad.gyp:breakpad_handler',
626         '../chrome/chrome.gyp:chrome_version_header',
627       ],
628       'include_dirs': [
629         # To allow including "version.h"
630         # TODO(grt): remove this as per http://crbug.com/99368
631         '<(SHARED_INTERMEDIATE_DIR)',
632       ],
633       'sources': [
634         'crash_server_init.cc',
635         'crash_server_init.h',
636         'simple_resource_loader.cc',
637         'simple_resource_loader.h',
638       ],
639     },
640     {
641       'target_name': 'chrome_frame_ie',
642       'type': 'static_library',
643       'dependencies': [
644         'chrome_frame_common',
645         'chrome_frame_strings',
646         'chrome_frame_utils',
647         'chrome_tab_idl',
648         'locales/locales.gyp:*',
649         '../build/temp_gyp/googleurl.gyp:googleurl',
650         '../chrome/app/policy/cloud_policy_codegen.gyp:policy',
651         '../chrome/chrome.gyp:common',
652         '../chrome/chrome.gyp:utility',
653         '../content/content.gyp:content_common',
654         '../net/net.gyp:net',
655         '../third_party/libxml/libxml.gyp:libxml',
656         '../third_party/bzip2/bzip2.gyp:bzip2',
657         '../webkit/support/webkit_support.gyp:webkit_user_agent',
658       ],
659       'sources': [
660         'bho.cc',
661         'bho.h',
662         'bho.rgs',
663         'bind_context_info.cc',
664         'bind_context_info.h',
665         'bind_status_callback_impl.cc',
666         'bind_status_callback_impl.h',
667         'buggy_bho_handling.cc',
668         'buggy_bho_handling.h',
669         'chrome_active_document.cc',
670         'chrome_active_document.h',
671         'chrome_active_document.rgs',
672         'chrome_frame_activex.cc',
673         'chrome_frame_activex.h',
674         'chrome_frame_activex.rgs',
675         'chrome_frame_activex_base.h',
676         'chrome_protocol.cc',
677         'chrome_protocol.h',
678         'chrome_protocol.rgs',
679         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
680         'com_message_event.cc',
681         'com_message_event.h',
682         'com_type_info_holder.cc',
683         'com_type_info_holder.h',
684         'delete_chrome_history.cc',
685         'delete_chrome_history.h',
686         'dll_redirector.cc',
687         'dll_redirector.h',
688         'exception_barrier.cc',
689         'exception_barrier.h',
690         'exception_barrier_lowlevel.asm',
691         'extra_system_apis.h',
692         'find_dialog.cc',
693         'find_dialog.h',
694         'function_stub.cc',
695         'function_stub.h',
696         'html_utils.h',
697         'html_utils.cc',
698         'http_negotiate.cc',
699         'http_negotiate.h',
700         'iids.cc',
701         'infobars/infobar_content.h',
702         'infobars/internal/displaced_window_manager.cc',
703         'infobars/internal/displaced_window_manager.h',
704         'infobars/internal/host_window_manager.cc',
705         'infobars/internal/host_window_manager.h',
706         'infobars/internal/infobar_window.cc',
707         'infobars/internal/infobar_window.h',
708         'infobars/internal/subclassing_window_with_delegate.h',
709         'infobars/infobar_manager.h',
710         'infobars/infobar_manager.cc',
711         'metrics_service.cc',
712         'metrics_service.h',
713         'policy_settings.cc',
714         'policy_settings.h',
715         'protocol_sink_wrap.cc',
716         'protocol_sink_wrap.h',
717         'ready_mode/internal/ready_mode_state.h',
718         'ready_mode/internal/ready_mode_web_browser_adapter.cc',
719         'ready_mode/internal/ready_mode_web_browser_adapter.h',
720         'ready_mode/internal/ready_prompt_content.cc',
721         'ready_mode/internal/ready_prompt_content.h',
722         'ready_mode/internal/ready_prompt_window.cc',
723         'ready_mode/internal/ready_prompt_window.h',
724         'ready_mode/internal/registry_ready_mode_state.cc',
725         'ready_mode/internal/registry_ready_mode_state.h',
726         'ready_mode/internal/url_launcher.h',
727         'ready_mode/ready_mode.cc',
728         'ready_mode/ready_mode.h',
729         'register_bho.rgs',
730         'stream_impl.cc',
731         'stream_impl.h',
732         'urlmon_bind_status_callback.h',
733         'urlmon_bind_status_callback.cc',
734         'urlmon_moniker.h',
735         'urlmon_moniker.cc',
736         'urlmon_url_request.cc',
737         'urlmon_url_request.h',
738         'urlmon_url_request_private.h',
739         'urlmon_upload_data_stream.cc',
740         'urlmon_upload_data_stream.h',
741         'utils.h',
742         'utils.cc',
743         'vtable_patch_manager.cc',
744         'vtable_patch_manager.h',
745         '../third_party/active_doc/in_place_menu.h',
746         '../third_party/active_doc/ole_document_impl.h',
747       ],
748       'include_dirs': [
749         '<(DEPTH)/third_party/wtl/include',
750       ],
751       'conditions': [
752         ['OS=="win"', {
753           # NOTE(slightlyoff):
754           #   this is a fix for the include dirs length limit on the resource
755           #   compiler, tickled by the xul_include_dirs variable
756           'resource_include_dirs': [
757             '<(INTERMEDIATE_DIR)'
758           ],
759           'dependencies': [
760             '../breakpad/breakpad.gyp:breakpad_handler',
761             '../chrome/chrome.gyp:automation',
762             # Make the archive build happy.
763             '../chrome/chrome.gyp:syncapi_core',
764             # Installer
765             '../chrome/chrome.gyp:installer_util',
766             '../google_update/google_update.gyp:google_update',
767             # Crash Reporting
768             'crash_reporting/crash_reporting.gyp:crash_report',
769           ],
770           'link_settings': {
771             'libraries': ['-lurlmon.lib'],
772           },
773         },],
774       ],
775       'rules': [
776         {
777           'rule_name': 'Assemble',
778           'extension': 'asm',
779           'inputs': [],
780           'outputs': [
781             '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj',
782           ],
783           'action': [
784             'ml',
785             '/safeseh',
786             '/Fo', '<(INTERMEDIATE_DIR)\<(RULE_INPUT_ROOT).obj',
787             '/c', '<(RULE_INPUT_PATH)',
788           ],
789           'process_outputs_as_sources': 0,
790           'message':
791               'Assembling <(RULE_INPUT_PATH) to ' \
792               '<(INTERMEDIATE_DIR)\<(RULE_INPUT_ROOT).obj.',
793         },
794       ],
795       'msvs_settings': {
796         'VCLinkerTool': {
797           'AdditionalOptions': [
798             '/safeseh',
799           ],
800         },
801       },
802     },
803     {
804       'target_name': 'chrome_frame_common',
805       'type': 'static_library',
806       'sources': [
807         'cfproxy.h',
808         'cfproxy_private.h',
809         'cfproxy_factory.cc',
810         'cfproxy_proxy.cc',
811         'cfproxy_support.cc',
812         'chrome_frame_automation.h',
813         'chrome_frame_automation.cc',
814         'chrome_frame_delegate.h',
815         'chrome_frame_delegate.cc',
816         'chrome_frame_plugin.cc',
817         'chrome_frame_plugin.h',
818         'chrome_launcher_utils.cc',
819         'chrome_launcher_utils.h',
820         'custom_sync_call_context.cc',
821         'custom_sync_call_context.h',
822         'external_tab.h',
823         'external_tab.cc',
824         'navigation_constraints.h',
825         'navigation_constraints.cc',
826         'plugin_url_request.h',
827         'plugin_url_request.cc',
828         'sync_msg_reply_dispatcher.h',
829         'sync_msg_reply_dispatcher.cc',
830         'task_marshaller.h',
831         'task_marshaller.cc',
832       ],
833       'dependencies': [
834         '../base/base.gyp:base',
835         '../net/net.gyp:net',
836       ],
837       'export_dependent_settings': [
838         '../base/base.gyp:base',
839       ],
840     },
841     {
842       'target_name': 'npchrome_frame',
843       'type': 'shared_library',
844       'dependencies': [
845         '../base/base.gyp:base',
846         'chrome_frame_ie',
847         'chrome_frame_strings',
848         'chrome_frame_utils',
849         'chrome_tab_idl',
850         'chrome_frame_launcher.gyp:chrome_launcher',
851         'chrome_frame_launcher.gyp:chrome_frame_helper',
852         'chrome_frame_launcher.gyp:chrome_frame_helper_dll',
853         'locales/locales.gyp:*',
854         '../build/temp_gyp/googleurl.gyp:googleurl',
855         '../chrome/chrome.gyp:chrome',
856         '../chrome/chrome.gyp:chrome_dll',
857         '../chrome/chrome.gyp:chrome_version_resources',
858         '../chrome/chrome.gyp:common',
859       ],
860       'sources': [
861         'chrome_frame_elevation.rgs',
862         'chrome_frame_reporting.cc',
863         'chrome_frame_reporting.h',
864         'chrome_tab.cc',
865         'chrome_tab.def',
866         '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
867         # FIXME(slightlyoff): For chrome_tab.tlb. Giant hack until we can
868         #   figure out something more gyp-ish.
869         'resources/tlb_resource.rc',
870         'chrome_tab.rgs',
871         'chrome_tab_version.rc',
872         'resource.h',
873       ],
874       'conditions': [
875         ['OS=="win"', {
876           # NOTE(slightlyoff):
877           #   this is a fix for the include dirs length limit on the resource
878           #   compiler, tickled by the xul_include_dirs variable
879           'resource_include_dirs': [
880             '<(INTERMEDIATE_DIR)'
881           ],
882           'sources': [
883             '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_frame_resources.rc',
884           ],
885           'dependencies': [
886             '../breakpad/breakpad.gyp:breakpad_handler_dll',
887             '../chrome/chrome.gyp:automation',
888             # Make the archive build happy.
889             '../chrome/chrome.gyp:syncapi_core',
890             # Installer
891             '../chrome/chrome.gyp:installer_util',
892             '../google_update/google_update.gyp:google_update',
893             # Crash Reporting
894             'crash_reporting/crash_reporting.gyp:crash_report',
895           ],
896           'link_settings': {
897             'libraries': [
898               '-lshdocvw.lib',
899             ],
900           },
901           'msvs_settings': {
902             'VCLinkerTool': {
903               'DelayLoadDLLs': [],
904               'BaseAddress': '0x33000000',
905               # Set /SUBSYSTEM:WINDOWS (for consistency).
906               'SubSystem': '2',
907             },
908             'VCManifestTool': {
909               'AdditionalManifestFiles':
910                   '$(ProjectDir)\\resources\\npchrome_frame.dll.manifest',
911             },
912           },
913         }],
914       ],
915     },
916   ],
917   'conditions': [
918     # To enable the coverage targets, do
919     #    GYP_DEFINES='coverage=1' gclient sync
920     ['coverage!=0',
921       { 'targets': [
922         {
923           # Coverage BUILD AND RUN.
924           # Not named coverage_build_and_run for historical reasons.
925           'target_name': 'gcf_coverage',
926           'dependencies': [ 'gcf_coverage_build', 'gcf_coverage_run' ],
927           # do NOT place this in the 'all' list; most won't want it.
928           'suppress_wildcard': 1,
929           'type': 'none',
930           'actions': [
931             {
932               'message': 'Coverage is now complete.',
933               # MSVS must have an input file and an output file.
934               'inputs': [ '<(PRODUCT_DIR)/gcf_coverage.info' ],
935               'outputs': [ '<(PRODUCT_DIR)/gcf_coverage-build-and-run.stamp' ],
936               'action_name': 'gcf_coverage',
937               # Wish gyp had some basic builtin commands (e.g. 'touch').
938               'action': [ 'python', '-c',
939                           'import os; ' \
940                           'open(' \
941                           '\'<(PRODUCT_DIR)\' + os.path.sep + ' \
942                           '\'gcf_coverage-build-and-run.stamp\'' \
943                           ', \'w\').close()' ],
944               # Use outputs of this action as inputs for the main target build.
945               # Seems as a misnomer but makes this happy on Linux (scons).
946               'process_outputs_as_sources': 1,
947             },
948           ],
949         },
950         # Coverage BUILD.  Compile only; does not run the bundles.
951         # Intended as the build phase for our coverage bots.
952         #
953         # Builds unit test bundles needed for coverage.
954         # Outputs this list of bundles into coverage_bundles.py.
955         #
956         # If you want to both build and run coverage from your IDE,
957         # use the 'coverage' target.
958         {
959           'target_name': 'gcf_coverage_build',
960           'suppress_wildcard': 1,
961           'type': 'none',
962           'dependencies': [
963             # Some tests are disabled because they depend on browser.lib which
964             # has some trouble to link with instrumentation. Until this is
965             # fixed on the Chrome side we won't get complete coverage from
966             # our tests but we at least get the process rolling...
967             # TODO(mad): FIX THIS!
968             #'chrome_frame_net_tests',
969             #'chrome_frame_reliability_tests',
971             # Other tests depend on Chrome bins being available when they run.
972             # Those should be re-enabled as soon as we setup the build slave to
973             # also build (or download an archive of) Chrome, even it it isn't
974             # instrumented itself.
975             # TODO(mad): FIX THIS!
976             #'chrome_frame_perftests',
977             #'chrome_frame_tests',
979             'chrome_frame_unittests',
980           ],  # 'dependencies'
981           'actions': [
982             {
983               # TODO(jrg):
984               # Technically I want inputs to be the list of
985               # executables created in <@(_dependencies) but use of
986               # that variable lists the dep by dep name, not their
987               # output executable name.
988               # Is there a better way to force this action to run, always?
989               #
990               # If a test bundle is added to this coverage_build target it
991               # necessarily means this file (chrome_frame.gyp) is changed,
992               # so the action is run (coverage_bundles.py is generated).
993               # Exceptions to that rule are theoretically possible
994               # (e.g. re-gyp with a GYP_DEFINES set).
995               # Else it's the same list of bundles as last time.  They are
996               # built (since on the deps list) but the action may not run.
997               # For now, things work, but it's less than ideal.
998               'inputs': [ 'chrome_frame.gyp' ],
999               'outputs': [ '<(PRODUCT_DIR)/coverage_bundles.py' ],
1000               'action_name': 'gcf_coverage_build',
1001               'action': [ 'python', '-c',
1002                           'import os; '
1003                           'f = open(' \
1004                           '\'<(PRODUCT_DIR)\' + os.path.sep + ' \
1005                           '\'coverage_bundles.py\'' \
1006                           ', \'w\'); ' \
1007                           'deplist = \'' \
1008                           '<@(_dependencies)' \
1009                           '\'.split(\' \'); ' \
1010                           'f.write(str(deplist)); ' \
1011                           'f.close()'],
1012               # Use outputs of this action as inputs for the main target build.
1013               # Seems as a misnomer but makes this happy on Linux (scons).
1014               'process_outputs_as_sources': 1,
1015             },
1016           ],
1017         },
1018         # Coverage RUN.  Does not actually compile the bundles (though it
1019         # depends on the gcf_coverage_build step which will do it).
1020         # This target mirrors the run_coverage_bundles buildbot phase.
1021         # If you update this command update the mirror in
1022         # $BUILDBOT/scripts/master/factory/chromium_commands.py.
1023         # If you want both build and run, use the 'gcf_coverage' target which
1024         # adds a bit more magic to identify if we need to run or not.
1025         {
1026           'target_name': 'gcf_coverage_run',
1027           'dependencies': [ 'gcf_coverage_build' ],
1028           'suppress_wildcard': 1,
1029           'type': 'none',
1030           'actions': [
1031             {
1032               # MSVS must have an input file and an output file.
1033               'inputs': [ '<(PRODUCT_DIR)/coverage_bundles.py' ],
1034               'outputs': [ '<(PRODUCT_DIR)/coverage.info' ],
1035               'action_name': 'gcf_coverage_run',
1036               'action': [ 'python',
1037                           '../tools/code_coverage/coverage_posix.py',
1038                           '--directory',
1039                           '<(PRODUCT_DIR)',
1040                           '--src_root',
1041                           '.',
1042                           '--bundles',
1043                           '<(PRODUCT_DIR)/coverage_bundles.py',
1044                         ],
1045               # Use outputs of this action as inputs for the main target build.
1046               # Seems as a misnomer but makes this happy on Linux (scons).
1047               'process_outputs_as_sources': 1,
1048             },
1049           ],
1050         },
1051       ],
1052     }, ],  # 'coverage!=0'
1053   ],  # 'conditions'