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