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