Make hitting "Enter" submit the add/change profile dialog.
[chromium-blink-merge.git] / chrome / chrome_tests.gypi
blobfe076e8bc4605c2a5a64cdc4500c7ba233f20849
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.
5   'variables' : {
6     'pyautolib_sources': [
7       'app/chrome_command_ids.h',
8       'app/chrome_dll_resource.h',
9       'common/automation_constants.h',
10       'common/pref_names.cc',
11       'common/pref_names.h',
12       'browser/chromeos/cros/network_constants.h',
13       'test/automation/browser_proxy.cc',
14       'test/automation/browser_proxy.h',
15       'test/automation/tab_proxy.cc',
16       'test/automation/tab_proxy.h',
17       '../content/public/common/page_type.h',
18       '../content/public/common/security_style.h',
19       # Must come before cert_status_flags.h
20       '../net/base/net_export.h',
21       '../net/base/cert_status_flags.h',
22     ],
23     'conditions': [
24       ['asan==1', {
25         'pyautolib_sources': [
26           'test/pyautolib/asan_stub.c',
27         ]
28       }],
29     ],
30   },
31   'includes': [
32     'js_unittest_vars.gypi',
33   ],
34   'targets': [
35     {
36       'target_name': 'test_support_ui',
37       'type': 'static_library',
38       'dependencies': [
39         'chrome_resources.gyp:chrome_resources',
40         'chrome_resources.gyp:chrome_strings',
41         'chrome_resources.gyp:theme_resources',
42         'test_support_common',
43         '../skia/skia.gyp:skia',
44         '../testing/gtest.gyp:gtest',
45       ],
46       'export_dependent_settings': [
47         'test_support_common',
48       ],
49       'include_dirs': [
50         '..',
51       ],
52       'sources': [
53         'test/automation/proxy_launcher.cc',
54         'test/automation/proxy_launcher.h',
55         'test/reliability/automated_ui_test_base.cc',
56         'test/reliability/automated_ui_test_base.h',
57         'test/ui/javascript_test_util.cc',
58         'test/ui/run_all_unittests.cc',
59         'test/ui/ui_perf_test.cc',
60         'test/ui/ui_perf_test.h',
61         'test/ui/ui_test.cc',
62         'test/ui/ui_test.h',
63         'test/ui/ui_test_suite.cc',
64         'test/ui/ui_test_suite.h',
65       ],
66       'conditions': [
67         ['OS=="win"', {
68           'dependencies': [
69             'chrome.gyp:crash_service',  # run time dependency
70             'chrome.gyp:crash_service_win64',  # run time dependency
71           ],
72         }],
73         ['toolkit_uses_gtk == 1', {
74           'dependencies': [
75             '../build/linux/system.gyp:gtk',
76           ],
77         }],
78       ],
79     },
80     {
81       'target_name': 'automated_ui_tests',
82       'type': 'executable',
83       'dependencies': [
84         'browser',
85         'chrome_resources.gyp:theme_resources',
86         'renderer',
87         'test_support_common',
88         'test_support_ui',
89         '../base/base.gyp:base',
90         '../skia/skia.gyp:skia',
91         '../third_party/libxml/libxml.gyp:libxml',
92         '../testing/gtest.gyp:gtest',
93       ],
94       'include_dirs': [
95         '..',
96       ],
97       'sources': [
98         'test/reliability/automated_ui_test_interactive_test.cc',
99         'test/reliability/automated_ui_tests.cc',
100         'test/reliability/automated_ui_tests.h',
101       ],
102       'conditions': [
103         ['OS=="win" and buildtype=="Official"', {
104           'configurations': {
105             'Release': {
106               'msvs_settings': {
107                 'VCCLCompilerTool': {
108                   'WholeProgramOptimization': 'false',
109                 },
110               },
111             },
112           },
113         },],
114         ['use_x11 == 1', {
115           'dependencies': [
116             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
117           ],
118         }],
119         ['OS=="win"', {
120           'include_dirs': [
121             '<(DEPTH)/third_party/wtl/include',
122           ],
123           'conditions': [
124             ['win_use_allocator_shim==1', {
125               'dependencies': [
126                 '<(allocator_target)',
127               ],
128             }],
129           ],
130         }],
131       ],
132     },
133     {
134       'target_name': 'interactive_ui_tests',
135       'type': 'executable',
136       'dependencies': [
137         'browser',
138         'chrome_resources.gyp:chrome_resources',
139         'chrome_resources.gyp:chrome_strings',
140         'chrome_resources.gyp:packed_extra_resources',
141         'chrome_resources.gyp:packed_resources',
142         'common/extensions/api/api.gyp:api',
143         'debugger',
144         'renderer',
145         'test_support_common',
146         # NOTE: don't add test_support_ui, no more UITests. See
147         # http://crbug.com/137365
148         '../third_party/hunspell/hunspell.gyp:hunspell',
149         '../net/net.gyp:net',
150         '../net/net.gyp:net_resources',
151         '../net/net.gyp:net_test_support',
152         '../skia/skia.gyp:skia',
153         '../sync/protocol/sync_proto.gyp:sync_proto',
154         '../sync/sync.gyp:sync_api',
155         '../third_party/icu/icu.gyp:icui18n',
156         '../third_party/icu/icu.gyp:icuuc',
157         '../third_party/libpng/libpng.gyp:libpng',
158         '../third_party/zlib/zlib.gyp:zlib',
159         '../testing/gmock.gyp:gmock',
160         '../testing/gtest.gyp:gtest',
161         '../third_party/npapi/npapi.gyp:npapi',
162         # Runtime dependencies
163         '../ppapi/ppapi_internal.gyp:ppapi_tests',
164         '../ui/web_dialogs/web_dialogs.gyp:web_dialogs_test_support',
165         '../webkit/support/webkit_support.gyp:webkit_resources',
166       ],
167       'include_dirs': [
168         '..',
169       ],
170       'defines': [
171         'HAS_OUT_OF_PROC_TEST_RUNNER',
172       ],
173       'sources': [
174         'browser/browser_keyevents_browsertest.cc',
175         'browser/extensions/api/tabs/tabs_interactive_test.cc',
176         'browser/extensions/extension_apitest.cc',
177         'browser/extensions/extension_browsertest.cc',
178         'browser/extensions/extension_crash_recovery_browsertest.cc',
179         'browser/extensions/extension_function_test_utils.cc',
180         'browser/extensions/extension_keybinding_apitest.cc',
181         'browser/extensions/notifications_apitest.cc',
182         'browser/extensions/window_open_interactive_apitest.cc',
183         'browser/extensions/extension_pointer_lock_apitest.cc',
184         'browser/instant/instant_browsertest.cc',
185         'browser/mouseleave_browsertest.cc',
186         'browser/notifications/desktop_notifications_unittest.cc',
187         'browser/notifications/desktop_notifications_unittest.h',
188         'browser/notifications/notification_browsertest.cc',
189         'browser/printing/print_dialog_cloud_interative_uitest.cc',
190         'browser/task_manager/task_manager_browsertest_util.cc',
191         'browser/ui/browser_focus_uitest.cc',
192         'browser/ui/cocoa/panels/panel_cocoa_browsertest.mm',
193         'browser/ui/fullscreen/fullscreen_controller_interactive_browsertest.cc',
194         'browser/ui/fullscreen/fullscreen_controller_state_interactive_browsertest.cc',
195         'browser/ui/gtk/bookmarks/bookmark_bar_gtk_interactive_uitest.cc',
196         'browser/ui/omnibox/action_box_browsertest.cc',
197         'browser/ui/omnibox/omnibox_view_browsertest.cc',
198         'browser/ui/panels/base_panel_browser_test.cc',
199         'browser/ui/panels/base_panel_browser_test.h',
200         'browser/ui/panels/detached_panel_browsertest.cc',
201         'browser/ui/panels/docked_panel_browsertest.cc',
202         'browser/ui/panels/panel_and_desktop_notification_browsertest.cc',
203         'browser/ui/panels/panel_browsertest.cc',
204         'browser/ui/panels/panel_drag_browsertest.cc',
205         'browser/ui/panels/panel_resize_browsertest.cc',
206         'browser/ui/panels/test_panel_active_state_observer.cc',
207         'browser/ui/panels/test_panel_active_state_observer.h',
208         'browser/ui/panels/test_panel_mouse_watcher.cc',
209         'browser/ui/panels/test_panel_mouse_watcher.h',
210         'browser/ui/panels/test_panel_notification_observer.cc',
211         'browser/ui/panels/test_panel_notification_observer.h',
212         'browser/ui/panels/test_panel_collection_squeeze_observer.cc',
213         'browser/ui/panels/test_panel_collection_squeeze_observer.h',
214         'browser/ui/views/bookmarks/bookmark_bar_view_test.cc',
215         'browser/ui/views/button_dropdown_test.cc',
216         'browser/ui/views/constrained_window_views_browsertest.cc',
217         'browser/ui/views/find_bar_host_interactive_uitest.cc',
218         'browser/ui/views/keyboard_access_browsertest.cc',
219         'browser/ui/views/menu_item_view_test.cc',
220         'browser/ui/views/menu_model_adapter_test.cc',
221         'browser/ui/views/panels/panel_view_browsertest.cc',
222         'browser/ui/views/ssl_client_certificate_selector_browsertest.cc',
223         'browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc',
224         'browser/ui/views/tabs/tab_drag_controller_interactive_uitest.h',
225         'browser/ui/views/tabs/tab_drag_controller_interactive_uitest_win.cc',
226         'test/base/chrome_test_launcher.cc',
227         'test/base/interactive_test_utils.cc',
228         'test/base/interactive_test_utils.h',
229         'test/base/interactive_test_utils_aura.cc',
230         'test/base/interactive_test_utils_aura.h',
231         'test/base/interactive_test_utils_gtk.cc',
232         'test/base/interactive_test_utils_mac.mm',
233         'test/base/interactive_test_utils_views.cc',
234         'test/base/interactive_test_utils_win.cc',
235         'test/base/view_event_test_base.cc',
236         'test/base/view_event_test_base.h',
237         'test/ppapi/ppapi_interactive_browsertest.cc',
238       ],
239       'conditions': [
240         ['toolkit_uses_gtk == 1', {
241           'dependencies': [
242             '../build/linux/system.gyp:gtk',
243             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
244           ],
245           'sources!': [
246             'browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc',
247           ],
248         }],
249         ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', {
250           'dependencies': [
251             '../build/linux/system.gyp:ssl',
252           ],
253         }],
254         ['toolkit_uses_gtk == 1 and toolkit_views == 0', {
255           'sources!': [
256             # TODO(port)
257             'browser/ui/views/bookmarks/bookmark_bar_view_test.cc',
258             'browser/ui/views/button_dropdown_test.cc',
259             'browser/ui/views/constrained_window_views_browsertest.cc',
260             'browser/ui/views/crypto_module_password_dialog_view_unittest.cc',
261             'browser/ui/views/find_bar_host_interactive_uitest.cc',
262             'browser/ui/views/keyboard_access_browsertest.cc',
263             'browser/ui/views/menu_item_view_test.cc',
264             'browser/ui/views/menu_model_adapter_test.cc',
265             'test/base/view_event_test_base.cc',
266             'test/base/view_event_test_base.h',
267           ],
268         }],
269         ['OS=="linux" and toolkit_views==1', {
270           'sources!': [
271             # TODO(port)
272             'browser/ui/gtk/bookmarks/bookmark_bar_gtk_interactive_uitest.cc',
273           ],
274         }],
275         ['OS=="mac"', {
276           'sources!': [
277             # TODO(port)
278             'browser/ui/views/bookmarks/bookmark_bar_view_test.cc',
279             'browser/ui/views/button_dropdown_test.cc',
280             'browser/ui/views/constrained_window_views_browsertest.cc',
281             'browser/ui/views/find_bar_host_interactive_uitest.cc',
282             'browser/ui/views/keyboard_access_browsertest.cc',
283             'browser/ui/views/menu_item_view_test.cc',
284             'browser/ui/views/menu_model_adapter_test.cc',
285             'browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc',
286             'test/base/view_event_test_base.cc',
287             'test/base/view_event_test_base.h',
288           ],
289           'dependencies': [
290             'chrome'
291           ],
292           # See comment about the same line in chrome/chrome_tests.gypi.
293           'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
294         }],  # OS=="mac"
295         ['notifications==0', {
296           'sources/': [
297             ['exclude', '^browser/notifications/'],
298             ['exclude', '^browser/extensions/notifications_apitest.cc'],
299           ],
300         }],
301         ['toolkit_views==1', {
302           'dependencies': [
303             '../ui/views/views.gyp:views',
304             '../ui/views/views.gyp:views_test_support',
305           ],
306         }, { # else: toolkit_views == 0
307           'sources/': [
308             ['exclude', '^browser/ui/views/'],
309           ],
310         }],
311         ['use_ash==1', {
312           'dependencies': [
313             '../ash/ash.gyp:ash_test_support',
314           ],
315         }],
316         ['use_aura==1', {
317           'sources!': [
318             'browser/ui/views/tabs/tab_drag_controller_interactive_uitest_win.cc',
319           ],
320         }],
321         ['chromeos==1', {
322           'sources': [
323             'browser/chromeos/cros/cros_in_process_browser_test.cc',
324             'browser/chromeos/cros/cros_in_process_browser_test.h',
325             'browser/chromeos/cros/cros_mock.cc',
326             'browser/chromeos/cros/cros_mock.h',
327             'browser/chromeos/login/login_browsertest.cc',
328             'browser/chromeos/login/mock_authenticator.cc',
329             'browser/chromeos/login/mock_authenticator.h',
330             'browser/chromeos/login/screen_locker_browsertest.cc',
331             'browser/chromeos/login/screen_locker_tester.cc',
332             'browser/chromeos/login/screen_locker_tester.h',
333             'browser/chromeos/login/wallpaper_manager_browsertest.cc',
334           ],
335           'sources!': [
336             # chromeos does not use cross-platform panels
337             'browser/ui/panels/detached_panel_browsertest.cc',
338             'browser/ui/panels/docked_panel_browsertest.cc',
339             'browser/ui/panels/panel_and_desktop_notification_browsertest.cc',
340             'browser/ui/panels/panel_browsertest.cc',
341             'browser/ui/panels/panel_drag_browsertest.cc',
342             'browser/ui/panels/panel_resize_browsertest.cc',
343             'browser/ui/views/panels/panel_view_browsertest.cc',
344             'browser/notifications/desktop_notifications_unittest.cc',
345           ],
346         }],
347         ['OS=="win"', {
348           'include_dirs': [
349             '../third_party/wtl/include',
350           ],
351           'dependencies': [
352             'chrome.gyp:chrome_version_resources',
353             '../third_party/isimpledom/isimpledom.gyp:isimpledom',
354             '../ui/ui.gyp:ui_resources',
355           ],
356           'sources': [
357             '../webkit/glue/resources/aliasb.cur',
358             '../webkit/glue/resources/cell.cur',
359             '../webkit/glue/resources/col_resize.cur',
360             '../webkit/glue/resources/copy.cur',
361             '../webkit/glue/resources/none.cur',
362             '../webkit/glue/resources/row_resize.cur',
363             '../webkit/glue/resources/vertical_text.cur',
364             '../webkit/glue/resources/zoom_in.cur',
365             '../webkit/glue/resources/zoom_out.cur',
367             'app/chrome_dll.rc',
368             'test/data/resource.rc',
370             # TODO:  It would be nice to have these pulled in
371             # automatically from direct_dependent_settings in
372             # their various targets (net.gyp:net_resources, etc.),
373             # but that causes errors in other targets when
374             # resulting .res files get referenced multiple times.
375             '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
376             '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
377             '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
378             '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
379             '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc',
380             '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
381             '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
382             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
383             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_unscaled_resources.rc',
385             'browser/accessibility/accessibility_win_browsertest.cc',
386             'browser/ui/views/accessibility/browser_views_accessibility_browsertest.cc',
387           ],
388           'conditions': [
389             ['win_use_allocator_shim==1', {
390               'dependencies': [
391                  '../base/allocator/allocator.gyp:allocator',
392               ],
393             }],
394             ['use_aura==1', {
395               'sources/': [
396                 ['exclude', '^browser/accessibility/accessibility_win_browsertest.cc'],
397                 ['exclude', '^browser/ui/views/accessibility/browser_views_accessibility_browsertest.cc'],
398               ],
399             }],
400           ],
401           'msvs_settings': {
402             'VCLinkerTool': {
403               'conditions': [
404                 ['incremental_chrome_dll==1', {
405                   'UseLibraryDependencyInputs': "true",
406                 }],
407               ],
408             },
409           },
410         }, { # else: OS != "win"
411           'sources!': [
412             'browser/ui/views/ssl_client_certificate_selector_browsertest.cc',
413           ],
414         }],  # OS != "win"
415       ],  # conditions
416     },
417     {
418       # Third-party support sources for chromedriver_lib.
419       'target_name': 'chromedriver_support',
420       'type': 'static_library',
421       'sources': [
422         '../third_party/mongoose/mongoose.c',
423         '../third_party/mongoose/mongoose.h',
424         '../third_party/webdriver/atoms.cc',
425         '../third_party/webdriver/atoms.h',
426       ],
427     },
428     {
429       # chromedriver is the chromium implementation of WebDriver.
430       # See http://www.chromium.org/developers/testing/webdriver-for-chrome
431       'target_name': 'chromedriver_lib',
432       'type': 'static_library',
433       'dependencies': [
434         'browser',
435         'chrome',
436         'chrome_resources.gyp:chrome_resources',
437         'chrome_resources.gyp:chrome_strings',
438         'chromedriver_support',
439         'common',
440         'test_support_ui',
441         '../base/base.gyp:base',
442         '../build/temp_gyp/googleurl.gyp:googleurl',
443         '../net/net.gyp:net',
444         '../skia/skia.gyp:skia',
445         '../sync/sync.gyp:sync_api',
446         '../testing/gtest.gyp:gtest',
447         '../third_party/icu/icu.gyp:icui18n',
448         '../third_party/icu/icu.gyp:icuuc',
449         '../third_party/libxml/libxml.gyp:libxml',
450       ],
451       'include_dirs': [
452         '..',
453       ],
454       'sources': [
455         'test/webdriver/commands/alert_commands.cc',
456         'test/webdriver/commands/alert_commands.h',
457         'test/webdriver/commands/appcache_status_command.cc',
458         'test/webdriver/commands/appcache_status_command.h',
459         'test/webdriver/commands/browser_connection_commands.cc',
460         'test/webdriver/commands/browser_connection_commands.h',
461         'test/webdriver/commands/chrome_commands.cc',
462         'test/webdriver/commands/chrome_commands.h',
463         'test/webdriver/commands/command.cc',
464         'test/webdriver/commands/command.h',
465         'test/webdriver/commands/cookie_commands.cc',
466         'test/webdriver/commands/cookie_commands.h',
467         'test/webdriver/commands/create_session.cc',
468         'test/webdriver/commands/create_session.h',
469         'test/webdriver/commands/execute_async_script_command.cc',
470         'test/webdriver/commands/execute_async_script_command.h',
471         'test/webdriver/commands/execute_command.cc',
472         'test/webdriver/commands/execute_command.h',
473         'test/webdriver/commands/file_upload_command.cc',
474         'test/webdriver/commands/file_upload_command.h',
475         'test/webdriver/commands/find_element_commands.cc',
476         'test/webdriver/commands/find_element_commands.h',
477         'test/webdriver/commands/html5_location_commands.cc',
478         'test/webdriver/commands/html5_location_commands.h',
479         'test/webdriver/commands/html5_storage_commands.cc',
480         'test/webdriver/commands/html5_storage_commands.h',
481         'test/webdriver/commands/keys_command.cc',
482         'test/webdriver/commands/keys_command.h',
483         'test/webdriver/commands/log_command.cc',
484         'test/webdriver/commands/log_command.h',
485         'test/webdriver/commands/navigate_commands.cc',
486         'test/webdriver/commands/navigate_commands.h',
487         'test/webdriver/commands/mouse_commands.cc',
488         'test/webdriver/commands/mouse_commands.h',
489         'test/webdriver/commands/response.h',
490         'test/webdriver/commands/response.cc',
491         'test/webdriver/commands/screenshot_command.cc',
492         'test/webdriver/commands/screenshot_command.h',
493         'test/webdriver/commands/session_with_id.cc',
494         'test/webdriver/commands/session_with_id.h',
495         'test/webdriver/commands/set_timeout_commands.cc',
496         'test/webdriver/commands/set_timeout_commands.h',
497         'test/webdriver/commands/source_command.cc',
498         'test/webdriver/commands/source_command.h',
499         'test/webdriver/commands/target_locator_commands.cc',
500         'test/webdriver/commands/target_locator_commands.h',
501         'test/webdriver/commands/title_command.cc',
502         'test/webdriver/commands/title_command.h',
503         'test/webdriver/commands/url_command.cc',
504         'test/webdriver/commands/url_command.h',
505         'test/webdriver/commands/webdriver_command.cc',
506         'test/webdriver/commands/webdriver_command.h',
507         'test/webdriver/commands/webelement_commands.cc',
508         'test/webdriver/commands/webelement_commands.h',
509         'test/webdriver/commands/window_commands.cc',
510         'test/webdriver/commands/window_commands.h',
511         'test/webdriver/frame_path.cc',
512         'test/webdriver/frame_path.h',
513         'test/webdriver/http_response.cc',
514         'test/webdriver/http_response.h',
515         'test/webdriver/keycode_text_conversion.h',
516         'test/webdriver/keycode_text_conversion_gtk.cc',
517         'test/webdriver/keycode_text_conversion_mac.mm',
518         'test/webdriver/keycode_text_conversion_win.cc',
519         'test/webdriver/keycode_text_conversion_x.cc',
520         'test/webdriver/webdriver_automation.cc',
521         'test/webdriver/webdriver_automation.h',
522         'test/webdriver/webdriver_basic_types.cc',
523         'test/webdriver/webdriver_basic_types.h',
524         'test/webdriver/webdriver_capabilities_parser.cc',
525         'test/webdriver/webdriver_capabilities_parser.h',
526         'test/webdriver/webdriver_dispatch.cc',
527         'test/webdriver/webdriver_dispatch.h',
528         'test/webdriver/webdriver_element_id.cc',
529         'test/webdriver/webdriver_element_id.h',
530         'test/webdriver/webdriver_error.cc',
531         'test/webdriver/webdriver_error.h',
532         'test/webdriver/webdriver_key_converter.cc',
533         'test/webdriver/webdriver_key_converter.h',
534         'test/webdriver/webdriver_logging.cc',
535         'test/webdriver/webdriver_logging.h',
536         'test/webdriver/webdriver_session.cc',
537         'test/webdriver/webdriver_session.h',
538         'test/webdriver/webdriver_session_manager.cc',
539         'test/webdriver/webdriver_session_manager.h',
540         'test/webdriver/webdriver_switches.cc',
541         'test/webdriver/webdriver_switches.h',
542         'test/webdriver/webdriver_util.cc',
543         'test/webdriver/webdriver_util.h',
544         'test/webdriver/webdriver_util_mac.mm',
545       ],
546       'conditions': [
547         ['toolkit_uses_gtk == 1', {
548           'dependencies': [
549             '../build/linux/system.gyp:gtk',
550             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
551           ],
552           'sources!': [
553             'test/webdriver/keycode_text_conversion_x.cc',
554           ],
555         }],
556         ['toolkit_uses_gtk == 0', {
557           'sources!': [
558             'test/webdriver/keycode_text_conversion_gtk.cc',
559           ],
560         }],
561         ['OS=="linux" and toolkit_views==1', {
562           'dependencies': [
563             '../ui/views/views.gyp:views',
564           ],
565         }],
566         ['os_posix == 1 and OS != "mac" and OS != "android"', {
567           'conditions': [
568             ['linux_use_tcmalloc==1', {
569               'dependencies': [
570                 '../base/allocator/allocator.gyp:allocator',
571               ],
572             }],
573           ],
574         }],
575       ],
576     },
577     {
578       'target_name': 'chromedriver',
579       'type': 'executable',
580       'dependencies': [
581         'chromedriver_lib',
582         '../base/base.gyp:base',
583         '../skia/skia.gyp:skia',
584         '../testing/gtest.gyp:gtest',
585       ],
586       'include_dirs': [
587         '..',
588       ],
589       'sources': [
590         'test/webdriver/webdriver_server.cc',
591       ],
592       'conditions': [
593         ['OS=="win"', {
594           'conditions': [
595             ['win_use_allocator_shim==1', {
596               'dependencies': [
597                 '<(allocator_target)',
598               ],
599             }],
600           ],
601           'link_settings': {
602             'libraries': [
603               '-lOleAcc.lib',
604               '-lws2_32.lib',
605             ],
606           },
607           'configurations': {
608             'Debug': {
609               'msvs_settings': {
610                 'VCLinkerTool': {
611                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
612                 },
613               },
614             },
615           },
616         }],
617       ]
618     },
619     {
620       'target_name': 'chromedriver_unittests',
621       'type': 'executable',
622       'dependencies': [
623         'chromedriver_lib',
624         '../base/base.gyp:run_all_unittests',
625         '../base/base.gyp:test_support_base',
626         '../testing/gtest.gyp:gtest',
627         '../skia/skia.gyp:skia',
628       ],
629       'include_dirs': [
630         '..',
631       ],
632       'sources': [
633         'test/webdriver/commands/set_timeout_commands_unittest.cc',
634         'test/webdriver/frame_path_unittest.cc',
635         'test/webdriver/http_response_unittest.cc',
636         'test/webdriver/keycode_text_conversion_unittest.cc',
637         'test/webdriver/webdriver_capabilities_parser_unittest.cc',
638         'test/webdriver/webdriver_dispatch_unittest.cc',
639         'test/webdriver/webdriver_key_converter_unittest.cc',
640         'test/webdriver/webdriver_test_util.cc',
641         'test/webdriver/webdriver_test_util.h',
642         'test/webdriver/webdriver_util_unittest.cc',
643       ],
644       'conditions': [
645         ['OS=="win"', {
646           'conditions': [
647             ['win_use_allocator_shim==1', {
648               'dependencies': [
649                 '<(allocator_target)',
650               ],
651             }],
652           ],
653           'link_settings': {
654             'libraries': [
655               '-lOleAcc.lib',
656               '-lws2_32.lib',
657             ],
658           },
659           'configurations': {
660             'Debug': {
661               'msvs_settings': {
662                 'VCLinkerTool': {
663                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
664                 },
665               },
666             },
667           },
668         }],
669       ],
670     },
671     {
672       # Third-party support sources for chromedriver2_lib.
673       'target_name': 'chromedriver2_support',
674       'type': 'static_library',
675       'sources': [
676         '../third_party/webdriver/atoms.cc',
677         '../third_party/webdriver/atoms.h',
678       ],
679     },
680     {
681       'target_name': 'chromedriver2_lib',
682       'type': 'static_library',
683       'dependencies': [
684         'chromedriver2_support',
685         '../base/base.gyp:base',
686         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
687         '../build/temp_gyp/googleurl.gyp:googleurl',
688         '../net/net.gyp:net',
689       ],
690       'include_dirs': [
691         '..',
692         '<(INTERMEDIATE_DIR)',
693       ],
694       'sources': [
695         '<(INTERMEDIATE_DIR)/chrome/test/chromedriver/js.cc',
696         '<(INTERMEDIATE_DIR)/chrome/test/chromedriver/js.h',
697         'test/chromedriver/chrome.h',
698         'test/chromedriver/chrome_finder.cc',
699         'test/chromedriver/chrome_finder.h',
700         'test/chromedriver/chrome_finder_mac.mm',
701         'test/chromedriver/chrome_impl.cc',
702         'test/chromedriver/chrome_impl.h',
703         'test/chromedriver/chrome_launcher.h',
704         'test/chromedriver/chrome_launcher_impl.cc',
705         'test/chromedriver/chrome_launcher_impl.h',
706         'test/chromedriver/chromedriver.cc',
707         'test/chromedriver/chromedriver.h',
708         'test/chromedriver/command.h',
709         'test/chromedriver/command_executor.h',
710         'test/chromedriver/command_executor_impl.cc',
711         'test/chromedriver/command_executor_impl.h',
712         'test/chromedriver/commands.cc',
713         'test/chromedriver/commands.h',
714         'test/chromedriver/devtools_client.h',
715         'test/chromedriver/devtools_client_impl.cc',
716         'test/chromedriver/devtools_client_impl.h',
717         'test/chromedriver/devtools_event_listener.h',
718         'test/chromedriver/net/net_util.cc',
719         'test/chromedriver/net/net_util.h',
720         'test/chromedriver/net/sync_websocket.h',
721         'test/chromedriver/net/sync_websocket_factory.cc',
722         'test/chromedriver/net/sync_websocket_factory.h',
723         'test/chromedriver/net/sync_websocket_impl.cc',
724         'test/chromedriver/net/sync_websocket_impl.h',
725         'test/chromedriver/net/url_request_context_getter.cc',
726         'test/chromedriver/net/url_request_context_getter.h',
727         'test/chromedriver/net/websocket.cc',
728         'test/chromedriver/net/websocket.h',
729         'test/chromedriver/session.cc',
730         'test/chromedriver/session.h',
731         'test/chromedriver/session_command.cc',
732         'test/chromedriver/session_command.h',
733         'test/chromedriver/session_map.h',
734         'test/chromedriver/status.cc',
735         'test/chromedriver/status.h',
736         'test/chromedriver/synchronized_map.h',
737       ],
738       'actions': [
739         {
740           'action_name': 'embed_js_in_cpp',
741           'inputs': [
742             'test/chromedriver/embed_js_in_cpp.py',
743             'test/chromedriver/js/call_function.js',
744           ],
745           'outputs': [
746             '<(INTERMEDIATE_DIR)/chrome/test/chromedriver/js.cc',
747             '<(INTERMEDIATE_DIR)/chrome/test/chromedriver/js.h',
748           ],
749           'action': [ 'python',
750                       'test/chromedriver/embed_js_in_cpp.py',
751                       '--directory',
752                       '<(INTERMEDIATE_DIR)/chrome/test/chromedriver',
753                       'test/chromedriver/js/call_function.js',
754           ],
755           'message': 'Generating sources for embedding js in chromedriver',
756         },
757       ],
758     },
759     {
760       'target_name': 'chromedriver2_unittests',
761       'type': 'executable',
762       'dependencies': [
763         'chromedriver2_lib',
764         '../base/base.gyp:base',
765         '../base/base.gyp:run_all_unittests',
766         '../testing/gtest.gyp:gtest',
767       ],
768       'include_dirs': [
769         '..,'
770       ],
771       'sources': [
772         'test/chromedriver/chrome_finder_unittest.cc',
773         'test/chromedriver/chrome_impl_unittest.cc',
774         'test/chromedriver/chromedriver_unittest.cc',
775         'test/chromedriver/command_executor_impl_unittest.cc',
776         'test/chromedriver/commands_unittest.cc',
777         'test/chromedriver/devtools_client_impl_unittest.cc',
778         'test/chromedriver/fake_session_accessor.cc',
779         'test/chromedriver/fake_session_accessor.h',
780         'test/chromedriver/session_command_unittest.cc',
781         'test/chromedriver/session_unittest.cc',
782         'test/chromedriver/status_unittest.cc',
783         'test/chromedriver/synchronized_map_unittest.cc',
784       ],
785     },
786     # ChromeDriver2 tests that aren't run on the main buildbot. Available
787     # as an optional test type on trybots.
788     {
789       'target_name': 'chromedriver2_tests',
790       'type': 'executable',
791       'dependencies': [
792         'chromedriver2_lib',
793         '../base/base.gyp:base',
794         '../base/base.gyp:run_all_unittests',
795         '../build/temp_gyp/googleurl.gyp:googleurl',
796         '../net/net.gyp:http_server',
797         '../net/net.gyp:net',
798         '../net/net.gyp:net_test_support',
799         '../testing/gtest.gyp:gtest',
800       ],
801       'include_dirs': [
802         '..,'
803       ],
804       'sources': [
805         'test/chromedriver/net/net_util_unittest.cc',
806         'test/chromedriver/net/sync_websocket_impl_unittest.cc',
807         'test/chromedriver/net/websocket_unittest.cc',
808       ],
809     },
810     # This is the new ChromeDriver based on DevTools.
811     {
812       'target_name': 'chromedriver2',
813       'type': 'loadable_module',
814       'dependencies': [
815         'chromedriver2_lib',
816         '../base/base.gyp:base',
817         'test/chromedriver/third_party/jni/jni.gyp:jni',
818       ],
819       'include_dirs': [
820         '..',
821       ],
822       'sources': [
823         'test/chromedriver/chromedriver_shared_library.cc',
824       ],
825     },
826     {
827       # Executable that runs each browser test in a new process.
828       'target_name': 'browser_tests',
829       'type': 'executable',
830       'msvs_cygwin_shell': 0,
831       'msvs_cygwin_dirs': ['<(DEPTH)/third_party/cygwin'],
832       'dependencies': [
833         'browser',
834         'chrome_resources.gyp:chrome_resources',
835         'chrome_resources.gyp:chrome_strings',
836         'chrome_resources.gyp:packed_extra_resources',
837         'chrome_resources.gyp:packed_resources',
838         'common/extensions/api/api.gyp:api',
839         'renderer',
840         'test_support_common',
841         '../base/base.gyp:base',
842         '../base/base.gyp:base_i18n',
843         '../base/base.gyp:test_support_base',
844         '../device/device.gyp:device_bluetooth_mocks',
845         '../net/net.gyp:net',
846         '../net/net.gyp:net_test_support',
847         '../skia/skia.gyp:skia',
848         '../sync/protocol/sync_proto.gyp:sync_proto',
849         '../sync/sync.gyp:sync_notifier',
850         '../sync/sync.gyp:test_support_sync_api',
851         '../testing/gmock.gyp:gmock',
852         '../testing/gtest.gyp:gtest',
853         '../third_party/cld/cld.gyp:cld',
854         '../third_party/icu/icu.gyp:icui18n',
855         '../third_party/icu/icu.gyp:icuuc',
856         '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
857         '../third_party/safe_browsing/safe_browsing.gyp:safe_browsing',
858         '../ui/web_dialogs/web_dialogs.gyp:web_dialogs_test_support',
859         '../v8/tools/gyp/v8.gyp:v8',
860         '../webkit/webkit.gyp:test_shell_test_support',
861         # Runtime dependencies
862         '../ppapi/ppapi_internal.gyp:ppapi_tests',
863         '../third_party/mesa/mesa.gyp:osmesa',
864       ],
865       'include_dirs': [
866         '..',
867       ],
868       'defines': [
869         'HAS_OUT_OF_PROC_TEST_RUNNER',
870       ],
871       'sources': [
872         'app/breakpad_mac_stubs.mm',
873         'app/chrome_command_ids.h',
874         'app/chrome_dll.rc',
875         'app/chrome_dll_resource.h',
876         'app/chrome_version.rc.version',
877         'browser/accessibility/accessibility_extension_apitest.cc',
878         'browser/app_controller_mac_browsertest.mm',
879         'browser/autocomplete/autocomplete_browsertest.cc',
880         'browser/autofill/autofill_browsertest.cc',
881         'browser/autofill/autofill_external_delegate_browsertest.cc',
882         'browser/autofill/form_structure_browsertest.cc',
883         'browser/automation/automation_misc_browsertest.cc',
884         'browser/automation/automation_tab_helper_browsertest.cc',
885         'browser/browser_encoding_browsertest.cc',
886         'browser/browsing_data/browsing_data_database_helper_browsertest.cc',
887         'browser/browsing_data/browsing_data_helper_browsertest.h',
888         'browser/browsing_data/browsing_data_indexed_db_helper_browsertest.cc',
889         'browser/browsing_data/browsing_data_local_storage_helper_browsertest.cc',
890         'browser/browsing_data/browsing_data_remover_browsertest.cc',
891         'browser/captive_portal/captive_portal_browsertest.cc',
892         'browser/chrome_content_browser_client_browsertest.cc',
893         'browser/chrome_main_browsertest.cc',
894         'browser/chrome_plugin_browsertest.cc',
895         'browser/chrome_switches_browsertest.cc',
896         'browser/chromeos/accessibility/magnification_manager_browsertest.cc',
897         'browser/chromeos/cros/cros_in_process_browser_test.cc',
898         'browser/chromeos/cros/cros_in_process_browser_test.h',
899         'browser/chromeos/cros/cros_mock.cc',
900         'browser/chromeos/cros/cros_mock.h',
901         'browser/chromeos/drive/drive_system_service_browsertest.cc',
902         'browser/chromeos/drive/drive_test_util.cc',
903         'browser/chromeos/drive/drive_test_util.h',
904         'browser/chromeos/extensions/echo_private_apitest.cc',
905         'browser/chromeos/extensions/external_filesystem_apitest.cc',
906         'browser/chromeos/extensions/file_browser_handler_api_test.cc',
907         'browser/chromeos/extensions/file_browser_notifications_browsertest.cc',
908         'browser/chromeos/extensions/file_browser_private_apitest.cc',
909         'browser/chromeos/extensions/file_browser_resource_throttle_browsertest.cc',
910         'browser/chromeos/extensions/info_private_apitest.cc',
911         'browser/chromeos/extensions/input_method_apitest_chromeos.cc',
912         'browser/chromeos/extensions/power/power_api_browsertest.cc',
913         'browser/chromeos/extensions/wallpaper_private_apitest.cc',
914         'browser/chromeos/kiosk_mode/mock_kiosk_mode_settings.cc',
915         'browser/chromeos/kiosk_mode/mock_kiosk_mode_settings.h',
916         'browser/chromeos/login/enrollment/enterprise_enrollment_screen_browsertest.cc',
917         'browser/chromeos/login/enrollment/mock_enterprise_enrollment_screen.cc',
918         'browser/chromeos/login/enrollment/mock_enterprise_enrollment_screen.h',
919         'browser/chromeos/login/existing_user_controller_browsertest.cc',
920         'browser/chromeos/login/login_utils_browsertest.cc',
921         'browser/chromeos/login/mock_authenticator.cc',
922         'browser/chromeos/login/mock_authenticator.h',
923         'browser/chromeos/login/mock_eula_screen.cc',
924         'browser/chromeos/login/mock_eula_screen.h',
925         'browser/chromeos/login/mock_network_screen.cc',
926         'browser/chromeos/login/mock_network_screen.h',
927         'browser/chromeos/login/mock_screen_observer.cc',
928         'browser/chromeos/login/mock_screen_observer.h',
929         'browser/chromeos/login/mock_update_screen.cc',
930         'browser/chromeos/login/mock_update_screen.h',
931         'browser/chromeos/login/network_screen_browsertest.cc',
932         'browser/chromeos/login/screen_locker_tester.cc',
933         'browser/chromeos/login/screen_locker_tester.h',
934         'browser/chromeos/login/test_login_utils.cc',
935         'browser/chromeos/login/test_login_utils.h',
936         'browser/chromeos/login/update_screen_browsertest.cc',
937         'browser/chromeos/login/user_image_manager_browsertest.cc',
938         'browser/chromeos/login/wizard_controller_browsertest.cc',
939         'browser/chromeos/login/wizard_in_process_browser_test.cc',
940         'browser/chromeos/login/wizard_in_process_browser_test.h',
941         'browser/chromeos/media/media_player_browsertest.cc',
942         'browser/chromeos/memory/oom_priority_manager_browsertest.cc',
943         'browser/chromeos/process_proxy/process_proxy_browsertest.cc',
944         'browser/chromeos/system/tray_accessibility_browsertest.cc',
945         'browser/chromeos/ui/idle_logout_dialog_view_browsertest.cc',
946         'browser/collected_cookies_browsertest.cc',
947         'browser/content_settings/content_settings_browsertest.cc',
948         'browser/crash_recovery_browsertest.cc',
949         'browser/custom_handlers/protocol_handler_registry_browsertest.cc',
950         'browser/devtools/devtools_sanity_browsertest.cc',
951         'browser/do_not_track_browsertest.cc',
952         'browser/download/download_browsertest.cc',
953         'browser/download/download_danger_prompt_browsertest.cc',
954         'browser/download/save_page_browsertest.cc',
955         'browser/errorpage_browsertest.cc',
956         'browser/extensions/active_tab_apitest.cc',
957         'browser/extensions/alert_apitest.cc',
958         'browser/extensions/all_urls_apitest.cc',
959         'browser/extensions/api/app/app_apitest.cc',
960         'browser/extensions/api/app_window/app_window_apitest.cc',
961         'browser/extensions/api/autotest_private/autotest_private_apitest.cc',
962         'browser/extensions/api/bluetooth/bluetooth_apitest.cc',
963         'browser/extensions/api/bookmark_manager_private/bookmark_manager_private_apitest.cc',
964         'browser/extensions/api/bookmarks/bookmark_apitest.cc',
965         'browser/extensions/api/browsing_data/browsing_data_test.cc',
966         'browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc',
967         'browser/extensions/api/content_settings/content_settings_apitest.cc',
968         'browser/extensions/api/context_menu/context_menu_apitest.cc',
969         'browser/extensions/api/cookies/cookies_apitest.cc',
970         'browser/extensions/api/debugger/debugger_apitest.cc',
971         'browser/extensions/api/declarative/declarative_apitest.cc',
972         'browser/extensions/api/developer_private/developer_private_apitest.cc',
973         'browser/extensions/api/dial/dial_apitest.cc',
974         'browser/extensions/api/dns/dns_apitest.cc',
975         'browser/extensions/api/dns/mock_host_resolver_creator.cc',
976         'browser/extensions/api/dns/mock_host_resolver_creator.h',
977         'browser/extensions/api/downloads/downloads_api_unittest.cc',
978         'browser/extensions/api/extension_action/browser_action_apitest.cc',
979         'browser/extensions/api/extension_action/page_action_apitest.cc',
980         'browser/extensions/api/extension_action/page_as_browser_action_apitest.cc',
981         'browser/extensions/api/extension_action/script_badge_apitest.cc',
982         'browser/extensions/api/file_system/file_system_apitest.cc',
983         'browser/extensions/api/font_settings/font_settings_apitest.cc',
984         'browser/extensions/api/history/history_apitest.cc',
985         'browser/extensions/api/i18n/i18n_apitest.cc',
986         'browser/extensions/api/identity/identity_apitest.cc',
987         'browser/extensions/api/idle/idle_apitest.cc',
988         'browser/extensions/api/idltest/idltest_apitest.cc',
989         'browser/extensions/api/input/input_apitest.cc',
990         'browser/extensions/api/input_ime/input_ime_apitest_chromeos.cc',
991         'browser/extensions/api/managed_mode/managed_mode_apitest.cc',
992         'browser/extensions/api/management/management_api_browsertest.cc',
993         'browser/extensions/api/management/management_apitest.cc',
994         'browser/extensions/api/management/management_browsertest.cc',
995         'browser/extensions/api/media_galleries/media_galleries_apitest.cc',
996         'browser/extensions/api/media_galleries_private/media_galleries_private_apitest.cc',
997         'browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc',
998         'browser/extensions/api/messaging/native_messaging_apitest_posix.cc',
999         'browser/extensions/api/metrics/metrics_apitest.cc',
1000         'browser/extensions/api/module/module_apitest.cc',
1001         'browser/extensions/api/notification/notification_apitest.cc',
1002         'browser/extensions/api/omnibox/omnibox_apitest.cc',
1003         'browser/extensions/api/page_capture/page_capture_apitest.cc',
1004         'browser/extensions/api/permissions/permissions_apitest.cc',
1005         'browser/extensions/api/preference/preference_apitest.cc',
1006         'browser/extensions/api/processes/processes_apitest.cc',
1007         'browser/extensions/api/proxy/proxy_apitest.cc',
1008         'browser/extensions/api/push_messaging/push_messaging_apitest.cc',
1009         'browser/extensions/api/record/record_api_test.cc',
1010         'browser/extensions/api/rtc_private/rtc_private_apitest.cc',
1011         'browser/extensions/api/runtime/runtime_apitest.cc',
1012         'browser/extensions/api/serial/serial_apitest.cc',
1013         'browser/extensions/api/socket/socket_apitest.cc',
1014         'browser/extensions/api/sync_file_system/sync_file_system_apitest.cc',
1015         'browser/extensions/api/system_indicator/system_indicator_apitest.cc',
1016         'browser/extensions/api/system_info_cpu/system_info_cpu_apitest.cc',
1017         'browser/extensions/api/system_info_display/system_info_display_apitest.cc',
1018         'browser/extensions/api/system_info_memory/system_info_memory_apitest.cc',
1019         'browser/extensions/api/system_info_storage/system_info_storage_apitest.cc',
1020         'browser/extensions/api/tab_capture/tab_capture_apitest.cc',
1021         'browser/extensions/api/tabs/tabs_test.cc',
1022         'browser/extensions/api/terminal/terminal_private_apitest.cc',
1023         'browser/extensions/api/test/apitest_apitest.cc',
1024         'browser/extensions/api/top_sites/top_sites_apitest.cc',
1025         'browser/extensions/api/usb/usb_apitest.cc',
1026         'browser/extensions/api/web_navigation/web_navigation_apitest.cc',
1027         'browser/extensions/api/web_request/web_request_apitest.cc',
1028         'browser/extensions/api/web_socket_proxy_private/web_socket_proxy_private_apitest.cc',
1029         'browser/extensions/api/webstore_private/webstore_private_apitest.cc',
1030         'browser/extensions/app_background_page_apitest.cc',
1031         'browser/extensions/app_notification_browsertest.cc',
1032         'browser/extensions/app_process_apitest.cc',
1033         'browser/extensions/background_page_apitest.cc',
1034         'browser/extensions/background_scripts_apitest.cc',
1035         'browser/extensions/chrome_app_api_browsertest.cc',
1036         'browser/extensions/content_script_apitest.cc',
1037         'browser/extensions/content_security_policy_apitest.cc',
1038         'browser/extensions/convert_web_app_browsertest.cc',
1039         'browser/extensions/cross_origin_xhr_apitest.cc',
1040         'browser/extensions/crx_installer_browsertest.cc',
1041         'browser/extensions/docs/examples/apps/calculator_browsertest.cc',
1042         'browser/extensions/events_apitest.cc',
1043         'browser/extensions/execute_script_apitest.cc',
1044         'browser/extensions/extension_apitest.cc',
1045         'browser/extensions/extension_apitest.h',
1046         'browser/extensions/extension_bindings_apitest.cc',
1047         'browser/extensions/extension_blacklist_browsertest.cc',
1048         'browser/extensions/extension_browsertest.cc',
1049         'browser/extensions/extension_browsertest.h',
1050         'browser/extensions/extension_context_menu_browsertest.cc',
1051         'browser/extensions/extension_disabled_ui_browsertest.cc',
1052         'browser/extensions/extension_dom_clipboard_apitest.cc',
1053         'browser/extensions/extension_fileapi_apitest.cc',
1054         'browser/extensions/extension_function_test_utils.cc',
1055         'browser/extensions/extension_function_test_utils.h',
1056         'browser/extensions/extension_geolocation_apitest.cc',
1057         'browser/extensions/extension_get_views_apitest.cc',
1058         'browser/extensions/extension_icon_source_apitest.cc',
1059         'browser/extensions/extension_incognito_apitest.cc',
1060         'browser/extensions/extension_install_ui_browsertest.cc',
1061         'browser/extensions/extension_javascript_url_apitest.cc',
1062         'browser/extensions/extension_messages_apitest.cc',
1063         'browser/extensions/extension_override_apitest.cc',
1064         'browser/extensions/extension_resource_request_policy_apitest.cc',
1065         'browser/extensions/extension_startup_browsertest.cc',
1066         'browser/extensions/extension_storage_apitest.cc',
1067         'browser/extensions/extension_tabs_apitest.cc',
1068         'browser/extensions/extension_test_message_listener.cc',
1069         'browser/extensions/extension_test_message_listener.h',
1070         'browser/extensions/extension_toolbar_model_browsertest.cc',
1071         'browser/extensions/extension_url_rewrite_browsertest.cc',
1072         'browser/extensions/extension_websocket_apitest.cc',
1073         'browser/extensions/gpu_browsertest.cc',
1074         'browser/extensions/isolated_app_browsertest.cc',
1075         'browser/extensions/lazy_background_page_apitest.cc',
1076         'browser/extensions/lazy_background_page_test_util.h',
1077         'browser/extensions/mutation_observers_apitest.cc',
1078         'browser/extensions/options_page_apitest.cc',
1079         'browser/extensions/page_action_browsertest.cc',
1080         'browser/extensions/platform_app_browsertest.cc',
1081         'browser/extensions/platform_app_browsertest_util.cc',
1082         'browser/extensions/platform_app_browsertest_util.h',
1083         'browser/extensions/plugin_apitest.cc',
1084         'browser/extensions/process_management_browsertest.cc',
1085         'browser/extensions/requirements_checker_browsertest.cc',
1086         'browser/extensions/sandboxed_pages_apitest.cc',
1087         'browser/extensions/settings/settings_apitest.cc',
1088         'browser/extensions/stubs_apitest.cc',
1089         'browser/extensions/subscribe_page_action_browsertest.cc',
1090         'browser/extensions/system/system_apitest.cc',
1091         'browser/extensions/web_contents_browsertest.cc',
1092         'browser/extensions/web_view_browsertest.cc',
1093         'browser/extensions/webstore_standalone_install_browsertest.cc',
1094         'browser/extensions/window_open_apitest.cc',
1095         'browser/external_extension_browsertest.cc',
1096         'browser/fast_shutdown_browsertest.cc',
1097         'browser/first_run/first_run_browsertest.cc',
1098         'browser/first_run/try_chrome_dialog_view_browsertest.cc',
1099         'browser/geolocation/access_token_store_browsertest.cc',
1100         'browser/geolocation/geolocation_browsertest.cc',
1101         'browser/google_apis/mock_drive_service.cc',
1102         'browser/google_apis/mock_drive_service.h',
1103         'browser/history/history_browsertest.cc',
1104         'browser/history/multipart_browsertest.cc',
1105         'browser/history/redirect_browsertest.cc',
1106         'browser/iframe_browsertest.cc',
1107         'browser/importer/toolbar_importer_utils_browsertest.cc',
1108         'browser/infobars/infobar_extension_apitest.cc',
1109         'browser/infobars/infobars_browsertest.cc',
1110         'browser/intents/native_services_browsertest.cc',
1111         'browser/loadtimes_extension_bindings_browsertest.cc',
1112         'browser/locale_tests_browsertest.cc',
1113         'browser/logging_chrome_browsertest.cc',
1114         'browser/media_gallery/media_galleries_dialog_controller_mock.cc',
1115         'browser/media_gallery/media_galleries_dialog_controller_mock.h',
1116         'browser/metrics/metrics_service_browsertest.cc',
1117         'browser/net/cookie_policy_browsertest.cc',
1118         'browser/net/ftp_browsertest.cc',
1119         'browser/net/load_timing_observer_browsertest.cc',
1120         'browser/net/predictor_browsertest.cc',
1121         'browser/net/proxy_browsertest.cc',
1122         'browser/page_cycler/page_cycler_browsertest.cc',
1123         'browser/performance_monitor/performance_monitor_browsertest.cc',
1124         'browser/policy/cloud_policy_browsertest.cc',
1125         'browser/policy/device_management_service_browsertest.cc',
1126         'browser/policy/device_status_collector_browsertest.cc',
1127         'browser/policy/policy_browsertest.cc',
1128         'browser/policy/policy_prefs_browsertest.cc',
1129         'browser/popup_blocker_browsertest.cc',
1130         'browser/prefs/pref_service_browsertest.cc',
1131         'browser/prerender/prefetch_browsertest.cc',
1132         'browser/prerender/prerender_browsertest.cc',
1133         'browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc',
1134         'browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc',
1135         'browser/printing/print_preview_dialog_controller_browsertest.cc',
1136         'browser/printing/printing_layout_browsertest.cc',
1137         'browser/process_singleton_browsertest.cc',
1138         'browser/profiles/profile_browsertest.cc',
1139         'browser/profiles/profile_manager_browsertest.cc',
1140         'browser/referrer_policy_browsertest.cc',
1141         'browser/renderer_host/render_process_host_chrome_browsertest.cc',
1142         'browser/renderer_host/web_cache_manager_browsertest.cc',
1143         'browser/repost_form_warning_browsertest.cc',
1144         'browser/rlz/rlz_extension_apitest.cc',
1145         'browser/safe_browsing/local_safebrowsing_test_server.cc',
1146         'browser/safe_browsing/safe_browsing_blocking_page_test.cc',
1147         'browser/safe_browsing/safe_browsing_service_browsertest.cc',
1148         'browser/safe_browsing/safe_browsing_test.cc',
1149         'browser/service/service_process_control_browsertest.cc',
1150         'browser/sessions/better_session_restore_browsertest.cc',
1151         'browser/sessions/persistent_tab_restore_service_browsertest.cc',
1152         'browser/sessions/session_restore_browsertest.cc',
1153         'browser/sessions/tab_restore_browsertest.cc',
1154         'browser/speech/extension_api/tts_extension_apitest.cc',
1155         'browser/speech/speech_input_extension_apitest.cc',
1156         'browser/speech/speech_recognition_bubble_browsertest.cc',
1157         'browser/spellchecker/spellcheck_service_browsertest.cc',
1158         'browser/ssl/ssl_browser_tests.cc',
1159         'browser/ssl/ssl_client_certificate_selector_test.cc',
1160         'browser/ssl/ssl_client_certificate_selector_test.h',
1161         'browser/sync_file_system/mock_local_change_processor.cc',
1162         'browser/sync_file_system/mock_local_change_processor.h',
1163         'browser/sync_file_system/mock_remote_file_sync_service.cc',
1164         'browser/sync_file_system/mock_remote_file_sync_service.h',
1165         'browser/tab_contents/render_view_context_menu_browsertest.cc',
1166         'browser/tab_contents/render_view_context_menu_browsertest_util.cc',
1167         'browser/tab_contents/render_view_context_menu_browsertest_util.h',
1168         'browser/tab_contents/spellchecker_submenu_observer_browsertest.cc',
1169         'browser/tab_contents/spelling_menu_observer_browsertest.cc',
1170         'browser/tab_contents/view_source_browsertest.cc',
1171         'browser/task_manager/task_manager_browsertest.cc',
1172         'browser/task_manager/task_manager_browsertest_util.cc',
1173         'browser/task_manager/task_manager_browsertest_util.h',
1174         'browser/task_manager/task_manager_notification_browsertest.cc',
1175         'browser/translate/translate_manager_browsertest.cc',
1176         'browser/ui/ash/caps_lock_handler_browsertest.cc',
1177         'browser/ui/ash/chrome_shell_delegate_browsertest.cc',
1178         'browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc',
1179         'browser/ui/ash/launcher/launcher_favicon_loader_browsertest.cc',
1180         'browser/ui/ash/shelf_browsertest.cc',
1181         'browser/ui/ash/volume_controller_browsertest_chromeos.cc',
1182         'browser/ui/bookmarks/bookmark_browsertest.cc',
1183         'browser/ui/browser_browsertest.cc',
1184         'browser/ui/browser_close_browsertest.cc',
1185         'browser/ui/browser_command_controller_browsertest.cc',
1186         'browser/ui/browser_navigator_browsertest.cc',
1187         'browser/ui/browser_navigator_browsertest.h',
1188         'browser/ui/browser_navigator_browsertest_chromeos.cc',
1189         'browser/ui/cocoa/applescript/browsercrapplication+applescript_test.mm',
1190         'browser/ui/cocoa/applescript/window_applescript_test.mm',
1191         'browser/ui/cocoa/browser_window_cocoa_browsertest.mm',
1192         'browser/ui/cocoa/browser_window_controller_browsertest.mm',
1193         'browser/ui/cocoa/bookmarks/bookmark_bar_controller_browsertest.mm',
1194         'browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm',
1195         'browser/ui/cocoa/content_settings/collected_cookies_mac_browsertest.mm',
1196         'browser/ui/cocoa/content_settings/content_setting_bubble_cocoa_unittest.mm',
1197         'browser/ui/cocoa/extensions/extension_action_context_menu_browsertest.mm',
1198         'browser/ui/cocoa/extensions/extension_install_dialog_controller_browsertest.mm',
1199         'browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h',
1200         'browser/ui/cocoa/extensions/extension_install_prompt_test_utils.mm',
1201         'browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_browsertest.mm',
1202         'browser/ui/cocoa/find_bar/find_bar_browsertest.mm',
1203         'browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm',
1204         'browser/ui/cocoa/ssl_client_certificate_selector_cocoa_browsertest.mm',
1205         'browser/ui/cocoa/tab_contents/previewable_contents_controller_browsertest.mm',
1206         'browser/ui/cocoa/view_id_util_browsertest.mm',
1207         'browser/ui/find_bar/find_bar_host_browsertest.cc',
1208         'browser/ui/fullscreen/fullscreen_controller_browsertest.cc',
1209         'browser/ui/global_error/global_error_service_browsertest.cc',
1210         'browser/ui/gtk/bubble/bubble_gtk_browsertest.cc',
1211         'browser/ui/gtk/confirm_bubble_gtk_browsertest.cc',
1212         'browser/ui/gtk/location_bar_view_gtk_browsertest.cc',
1213         'browser/ui/gtk/one_click_signin_bubble_gtk_browsertest.cc',
1214         'browser/ui/gtk/view_id_util_browsertest.cc',
1215         'browser/ui/intents/web_intent_picker_browsertest.cc',
1216         'browser/ui/intents/web_intent_picker_controller_browsertest.cc',
1217         'browser/ui/intents/web_intent_picker_delegate_mock.cc',
1218         'browser/ui/intents/web_intent_picker_delegate_mock.h',
1219         'browser/ui/login/login_prompt_browsertest.cc',
1220         'browser/ui/panels/panel_extension_browsertest.cc',
1221         'browser/ui/prefs/prefs_tab_helper_browsertest.cc',
1222         'browser/ui/startup/startup_browser_creator_browsertest.cc',
1223         'browser/ui/tab_modal_confirm_dialog_browsertest.cc',
1224         'browser/ui/tab_modal_confirm_dialog_browsertest.h',
1225         'browser/ui/views/avatar_menu_button_browsertest.cc',
1226         'browser/ui/views/browser_actions_container_browsertest.cc',
1227         'browser/ui/views/find_bar_controller_browsertest.cc',
1228         'browser/ui/views/frame/app_non_client_frame_view_ash_browsertest.cc',
1229         'browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc',
1230         'browser/ui/views/frame/browser_view_browsertest.cc',
1231         'browser/ui/views/immersive_mode_controller_browsertest.cc',
1232         'browser/ui/views/location_bar/star_view_browsertest.cc',
1233         'browser/ui/views/select_file_dialog_extension_browsertest.cc',
1234         'browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc',
1235         'browser/ui/views/toolbar_view_browsertest.cc',
1236         'browser/ui/views/web_dialog_view_browsertest.cc',
1237         'browser/ui/webui/bidi_checker_web_ui_test.cc',
1238         'browser/ui/webui/bidi_checker_web_ui_test.h',
1239         'browser/ui/webui/bookmarks_ui_browsertest.cc',
1240         'browser/ui/webui/chrome_url_data_manager_browsertest.cc',
1241         'browser/ui/webui/constrained_web_dialog_ui_browsertest.cc',
1242         'browser/ui/webui/downloads_dom_handler_browsertest.cc',
1243         'browser/ui/webui/extensions/extension_settings_browsertest.js',
1244         'browser/ui/webui/help/help_browsertest.js',
1245         'browser/ui/webui/inspect_ui_browsertest.cc',
1246         'browser/ui/webui/net_internals/net_internals_ui_browsertest.cc',
1247         'browser/ui/webui/net_internals/net_internals_ui_browsertest.h',
1248         'browser/ui/webui/ntp/most_visited_browsertest.cc',
1249         'browser/ui/webui/ntp/new_tab_ui_browsertest.cc',
1250         'browser/ui/webui/options/autofill_options_browsertest.js',
1251         'browser/ui/webui/options/browser_options_browsertest.js',
1252         'browser/ui/webui/options/certificate_manager_browsertest.js',
1253         'browser/ui/webui/options/chromeos/guest_mode_options_ui_browsertest.cc',
1254         'browser/ui/webui/options/content_options_browsertest.js',
1255         'browser/ui/webui/options/content_settings_exception_area_browsertest.js',
1256         'browser/ui/webui/options/cookies_view_browsertest.js',
1257         'browser/ui/webui/options/edit_dictionary_browsertest.js',
1258         'browser/ui/webui/options/font_settings_browsertest.js',
1259         'browser/ui/webui/options/language_options_browsertest.js',
1260         'browser/ui/webui/options/options_browsertest.js',
1261         'browser/ui/webui/options/options_ui_browsertest.cc',
1262         'browser/ui/webui/options/options_ui_browsertest.h',
1263         'browser/ui/webui/options/password_manager_browsertest.js',
1264         'browser/ui/webui/options/preferences_browsertest.cc',
1265         'browser/ui/webui/options/preferences_browsertest.h',
1266         'browser/ui/webui/options/search_engine_manager_browsertest.js',
1267         'browser/ui/webui/options/settings_format_browsertest.js',
1268         'browser/ui/webui/print_preview/print_preview_ui_browsertest.cc',
1269         'browser/ui/webui/sync_setup_browsertest.js',
1270         'browser/ui/webui/test_chrome_web_ui_controller_factory_browsertest.cc',
1271         'browser/ui/webui/web_ui_browsertest.cc',
1272         'browser/ui/webui/web_ui_browsertest.h',
1273         'browser/ui/webui/web_ui_test_handler.cc',
1274         'browser/ui/webui/web_ui_test_handler.h',
1275         'browser/unload_browsertest.cc',
1276         'common/mac/mock_launchd.cc',
1277         'common/mac/mock_launchd.h',
1278         'common/time_format_browsertest.cc',
1279         'renderer/autofill/autofill_renderer_browsertest.cc',
1280         'renderer/autofill/form_autocomplete_browsertest.cc',
1281         'renderer/autofill/form_autofill_browsertest.cc',
1282         'renderer/autofill/password_autofill_manager_browsertest.cc',
1283         'renderer/autofill/password_generation_manager_browsertest.cc',
1284         'renderer/automation/automation_renderer_helper_browsertest.cc',
1285         'renderer/content_settings_observer_browsertest.cc',
1286         'renderer/page_click_tracker_browsertest.cc',
1287         'renderer/print_web_view_helper_browsertest.cc',
1288         'renderer/safe_browsing/malware_dom_details_browsertest.cc',
1289         'renderer/safe_browsing/phishing_classifier_browsertest.cc',
1290         'renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc',
1291         'renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc',
1292         'renderer/safe_browsing/phishing_thumbnailer_browsertest.cc',
1293         'renderer/translate_helper_browsertest.cc',
1294         'test/base/chrome_render_view_test.cc',
1295         'test/base/chrome_render_view_test.h',
1296         'test/base/chrome_test_launcher.cc',
1297         'test/base/empty_browser_test.cc',
1298         'test/base/in_process_browser_test_browsertest.cc',
1299         'test/base/tracing_browsertest.cc',
1300         'test/data/webui/assertions.js',
1301         'test/data/webui/async_gen.cc',
1302         'test/data/webui/async_gen.h',
1303         'test/data/webui/async_gen.js',
1304         'test/data/webui/certificate_viewer_dialog_test.js',
1305         'test/data/webui/certificate_viewer_ui_test-inl.h',
1306         'test/data/webui/chrome_send_browsertest.cc',
1307         'test/data/webui/chrome_send_browsertest.h',
1308         'test/data/webui/chrome_send_browsertest.js',
1309         'test/data/webui/history_browsertest.js',
1310         'test/data/webui/mock4js_browsertest.js',
1311         'test/data/webui/net_internals/bandwidth_view.js',
1312         'test/data/webui/net_internals/dns_view.js',
1313         'test/data/webui/net_internals/events_view.js',
1314         'test/data/webui/net_internals/hsts_view.js',
1315         'test/data/webui/net_internals/http_pipeline_view.js',
1316         'test/data/webui/net_internals/log_util.js',
1317         'test/data/webui/net_internals/log_view_painter.js',
1318         'test/data/webui/net_internals/main.js',
1319         'test/data/webui/net_internals/net_internals_test.js',
1320         'test/data/webui/net_internals/prerender_view.js',
1321         'test/data/webui/net_internals/test_view.js',
1322         'test/data/webui/net_internals/timeline_view.js',
1323         'test/data/webui/ntp4.js',
1324         'test/data/webui/ntp4_browsertest.cc',
1325         'test/data/webui/ntp4_browsertest.h',
1326         'test/data/webui/print_preview.cc',
1327         'test/data/webui/print_preview.h',
1328         'test/data/webui/print_preview.js',
1329         'test/data/webui/sandboxstatus_browsertest.js',
1330         'test/gpu/gpu_feature_browsertest.cc',
1331         'test/ppapi/ppapi_browsertest.cc',
1332         'test/security_tests/sandbox_browsertest.cc',
1333         # TODO(craig): Rename this and run from base_unittests when the test
1334         # is safe to run there. See http://crbug.com/78722 for details.
1335         '../base/files/file_path_watcher_browsertest.cc',
1336       ],
1337       'rules': [
1338         {
1339           'rule_name': 'js2webui',
1340           'extension': 'js',
1341           'msvs_external_rule': 1,
1342           'inputs': [
1343             '<(gypv8sh)',
1344             '<(PRODUCT_DIR)/v8_shell<(EXECUTABLE_SUFFIX)',
1345             '<(mock_js)',
1346             '<(test_api_js)',
1347             '<(js2gtest)',
1348           ],
1349           'outputs': [
1350             '<(INTERMEDIATE_DIR)/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
1351             '<(PRODUCT_DIR)/test_data/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
1352           ],
1353           'process_outputs_as_sources': 1,
1354           'action': [
1355             'python',
1356             '<@(_inputs)',
1357             'webui',
1358             '<(RULE_INPUT_PATH)',
1359             'chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
1360             '<@(_outputs)',
1361           ],
1362         },
1363       ],
1364       'conditions': [
1365         ['enable_one_click_signin==0', {
1366           'sources!': [
1367             'browser/ui/gtk/one_click_signin_bubble_gtk_browsertest.cc',
1368             'browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc',
1369           ]
1370         }],
1371         ['disable_nacl==0', {
1372           'sources':[
1373             'browser/extensions/extension_nacl_browsertest.cc',
1374             'browser/nacl_host/test/gdb_debug_stub_browsertest.cc',
1375           ],
1376           'conditions': [
1377             ['disable_nacl_untrusted==0', {
1378               'sources': [
1379                 'test/nacl/nacl_browsertest.cc',
1380                 'test/nacl/nacl_browsertest_uma.cc',
1381                 'test/nacl/nacl_browsertest_util.cc',
1382                 'test/nacl/nacl_browsertest_util.h',
1383               ],
1384               'dependencies': [
1385                 'test/data/nacl/nacl_test_data.gyp:*',
1386                 '../ppapi/native_client/native_client.gyp:nacl_irt',
1387                 '../ppapi/ppapi_untrusted.gyp:ppapi_nacl_tests',
1388               ],
1389             }],
1390             ['OS=="win" or OS=="linux"', {
1391               'sources': [
1392                 'browser/nacl_host/test/nacl_gdb_browsertest.cc',
1393               ],
1394               'dependencies': [
1395                 'browser/nacl_host/test/mock_nacl_gdb.gyp:mock_nacl_gdb',
1396               ],
1397             }],
1398             ['OS=="win"', {
1399               # TODO(halyavin) NaCl on Windows can't open debug stub socket
1400               # in browser process as needed by this test.
1401               # See http://crbug.com/157312.
1402               'sources!': [
1403                 'browser/nacl_host/test/gdb_debug_stub_browsertest.cc',
1404               ],
1405               'dependencies': [
1406                 'chrome.gyp:chrome_nacl_win64',
1407               ],
1408             }],
1409           ],
1410         }],
1411         ['use_ash==1', {
1412           'dependencies': [
1413             '../ash/ash.gyp:ash_test_support',
1414           ],
1415         }],
1416         ['chromeos==0', {
1417           'sources/': [
1418             ['exclude', '^browser/chromeos'],
1419             ['exclude', '^browser/ui/webui/options/chromeos/'],
1420           ],
1421           'sources!': [
1422             'browser/extensions/api/rtc_private/rtc_private_apitest.cc',
1423             'browser/extensions/api/terminal/terminal_private_apitest.cc',
1424             'browser/policy/device_status_collector_browsertest.cc',
1425             'test/data/webui/certificate_viewer_dialog_test.js',
1426             'test/data/webui/certificate_viewer_ui_test-inl.h',
1427           ],
1428         }, { # chromeos==1
1429           'sources!': [
1430             'browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc',
1431             'browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc',
1432             'browser/service/service_process_control_browsertest.cc',
1433             # chromeos does not use cross-platform panels
1434             'browser/ui/panels/panel_extension_browsertest.cc',
1435           ],
1436           'dependencies': [
1437             '../dbus/dbus.gyp:dbus_test_support',
1438             '../build/linux/system.gyp:dbus',
1439           ],
1440         }],
1441         ['file_manager_extension==0', {
1442           'sources!': [
1443             'browser/ui/views/select_file_dialog_extension_browsertest.cc',
1444           ],
1445         }],
1446         ['configuration_policy==0', {
1447           'sources/': [
1448             ['exclude', '^browser/policy/'],
1449           ],
1450         }],
1451         ['input_speech==0', {
1452           'sources/': [
1453             ['exclude', '^browser/speech/'],
1454             ['exclude', '^../content/browser/speech/'],
1455           ],
1456         }],
1457         ['safe_browsing==1', {
1458           'defines': [
1459             'FULL_SAFE_BROWSING',
1460           ],
1461         }],
1462         # TODO(sgurun) enable tests.
1463         ['safe_browsing==2', {
1464           'sources/': [
1465             ['exclude', '^browser/safe_browsing/'],
1466             ['exclude', '^renderer/safe_browsing/'],
1467           ],
1468         }],
1469         ['safe_browsing==0', {
1470           'sources/': [
1471             ['exclude', '^browser/safe_browsing/'],
1472             ['exclude', '^renderer/safe_browsing/'],
1473           ],
1474         }],
1475         ['enable_captive_portal_detection!=1', {
1476           'sources/': [
1477             ['exclude', '^browser/captive_portal/'],
1478           ],
1479         }],
1480         ['internal_pdf', {
1481           'dependencies': [
1482             '../pdf/pdf.gyp:pdf',
1483           ],
1484           'sources': [
1485             'browser/ui/pdf/pdf_browsertest.cc',
1486           ],
1487         }],
1488         ['OS!="linux" or toolkit_views==1', {
1489           'sources!': [
1490             'browser/ui/gtk/view_id_util_browsertest.cc',
1491           ],
1492         }],
1493         ['enable_rlz==0', {
1494           'sources!': [
1495             'browser/rlz/rlz_extension_apitest.cc',
1496           ],
1497         }],
1498         ['OS=="win"', {
1499           'sources': [
1500             '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
1501             '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
1502             '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
1503             '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
1504             '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc',
1505             '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
1506             '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
1507             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
1508             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_unscaled_resources.rc',
1509           ],
1510           'include_dirs': [
1511             '<(DEPTH)/third_party/wtl/include',
1512           ],
1513           'dependencies': [
1514             'app_host',
1515             'chrome_version_resources',
1516             'security_tests',  # run time dependency
1517           ],
1518           'conditions': [
1519             ['win_use_allocator_shim==1', {
1520               'dependencies': [
1521                 '<(allocator_target)',
1522               ],
1523             }],
1524           ],
1525           'sources!': [
1526             # use_aura currently sets use_ash on Windows. So take these tests out
1527             # for win aura builds.
1528             # TODO: enable these for win_ash browser tests.
1529             'browser/chromeos/system/tray_accessibility_browsertest.cc',
1530             'browser/ui/ash/chrome_shell_delegate_browsertest.cc',
1531             'browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc',
1532             'browser/ui/ash/launcher/launcher_favicon_loader_browsertest.cc',
1533             'browser/ui/ash/shelf_browsertest.cc',
1534             'browser/ui/views/frame/app_non_client_frame_view_ash_browsertest.cc',
1535             'browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc',
1536           ],
1537         }, { # else: OS != "win"
1538           'sources!': [
1539             'app/chrome_command_ids.h',
1540             'app/chrome_dll.rc',
1541             'app/chrome_dll_resource.h',
1542             'app/chrome_version.rc.version',
1543             # TODO(port): http://crbug.com/45770
1544             'browser/printing/printing_layout_browsertest.cc',
1545           ],
1546         }],
1547         ['toolkit_uses_gtk == 1', {
1548           'dependencies': [
1549             '../build/linux/system.gyp:gtk',
1550             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
1551           ],
1552         }],
1553         ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', {
1554           'dependencies': [
1555             '../build/linux/system.gyp:ssl',
1556           ],
1557         }],
1558         ['OS=="mac"', {
1559           'include_dirs': [
1560             '../third_party/GTM',
1561           ],
1562           # TODO(mark): We really want this for all non-static library
1563           # targets, but when we tried to pull it up to the common.gypi
1564           # level, it broke other things like the ui, startup, and
1565           # page_cycler tests. *shrug*
1566           'xcode_settings': {
1567             'OTHER_LDFLAGS': [
1568               '-Wl,-ObjC',
1569             ],
1570           },
1571           # Other platforms only need
1572           # chrome_resources.gyp:{packed_extra_resources,packed_resources},
1573           # and can build this target standalone much faster.
1574           'dependencies': [
1575             'chrome'
1576           ],
1577           'sources': [
1578             'browser/spellchecker/spellcheck_message_filter_mac_browsertest.cc',
1579           ],
1580           'sources!': [
1581             # TODO(hbono): This test depends on hunspell and we cannot run it on
1582             # Mac, which does not use hunspell by default.
1583             'browser/spellchecker/spellcheck_service_browsertest.cc',
1584             # TODO(rouslan): This test depends on the custom dictionary UI,
1585             # which is disabled on Mac.
1586             'browser/ui/webui/options/edit_dictionary_browsertest.js',
1587             # ProcessSingletonMac doesn't do anything.
1588             'browser/process_singleton_browsertest.cc',
1589             # This test depends on GetCommandLineForRelaunch, which is not
1590             # available on Mac.
1591             'browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc',
1592           ],
1593         }],
1594         ['os_posix == 0 or chromeos == 1', {
1595           'sources!': [
1596             'common/time_format_browsertest.cc',
1597           ],
1598         }],
1599         ['os_posix == 1 and OS != "mac" and OS != "android"', {
1600           'conditions': [
1601             ['linux_use_tcmalloc==1', {
1602               'dependencies': [
1603                 '../base/allocator/allocator.gyp:allocator',
1604               ],
1605             }],
1606           ],
1607         }],
1608         ['toolkit_views==1', {
1609           'dependencies': [
1610             '../ui/views/views.gyp:views',
1611           ],
1612           'sources!': [
1613             # TODO(estade): port to views.
1614             'browser/ui/webui/constrained_web_dialog_ui_browsertest.cc',
1615           ],
1616         }, { # else: toolkit_views == 0
1617           'sources/': [
1618             ['exclude', '^../ui/views/'],
1619             ['exclude', '^browser/extensions/api/input/input_apitest.cc'],
1620             ['exclude', '^browser/ui/views/'],
1621           ],
1622         }],
1623         ['target_arch!="arm"', {
1624           'dependencies': [
1625             # build time dependency.
1626             '../v8/tools/gyp/v8.gyp:v8_shell#host',
1627             '../webkit/webkit.gyp:copy_npapi_test_plugin',
1628           ],
1629         }],
1630       ],  # conditions
1631     },  # target browser_tests
1632     {
1633       # Executable that runs each perf browser test in a new process.
1634       'target_name': 'performance_browser_tests',
1635       'type': 'executable',
1636       'msvs_cygwin_shell': 0,
1637       'msvs_cygwin_dirs': ['<(DEPTH)/third_party/cygwin'],
1638       'dependencies': [
1639         'browser',
1640         '../sync/protocol/sync_proto.gyp:sync_proto',
1641         'chrome_resources.gyp:chrome_resources',
1642         'chrome_resources.gyp:chrome_strings',
1643         'chrome_resources.gyp:packed_extra_resources',
1644         'chrome_resources.gyp:packed_resources',
1645         'renderer',
1646         'test_support_common',
1647         '../base/base.gyp:base',
1648         '../base/base.gyp:base_i18n',
1649         '../base/base.gyp:test_support_base',
1650         '../net/net.gyp:net',
1651         '../net/net.gyp:net_test_support',
1652         '../skia/skia.gyp:skia',
1653         '../testing/gmock.gyp:gmock',
1654         '../testing/gtest.gyp:gtest',
1655         '../third_party/cld/cld.gyp:cld',
1656         '../third_party/icu/icu.gyp:icui18n',
1657         '../third_party/icu/icu.gyp:icuuc',
1658         '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
1659         '../v8/tools/gyp/v8.gyp:v8',
1660         # Runtime dependencies
1661         '../third_party/mesa/mesa.gyp:osmesa',
1662       ],
1663       'include_dirs': [
1664         '..',
1665       ],
1666       'defines': [
1667         'HAS_OUT_OF_PROC_TEST_RUNNER',
1668       ],
1669       'sources': [
1670         'app/breakpad_mac_stubs.mm',
1671         'app/chrome_command_ids.h',
1672         'app/chrome_dll.rc',
1673         'app/chrome_dll_resource.h',
1674         'app/chrome_version.rc.version',
1675         'test/base/chrome_render_view_test.cc',
1676         'test/base/chrome_render_view_test.h',
1677         'test/base/chrome_test_launcher.cc',
1678         'test/perf/browser_perf_test.cc',
1679         'test/perf/browser_perf_test.h',
1680         'test/perf/rendering/latency_tests.cc',
1681         'test/perf/rendering/throughput_tests.cc',
1682       ],
1683       'rules': [
1684         {
1685           'rule_name': 'js2webui',
1686           'extension': 'js',
1687           'msvs_external_rule': 1,
1688           'inputs': [
1689             '<(gypv8sh)',
1690             '<(PRODUCT_DIR)/v8_shell<(EXECUTABLE_SUFFIX)',
1691             '<(mock_js)',
1692             '<(test_api_js)',
1693             '<(js2gtest)',
1694           ],
1695           'outputs': [
1696             '<(INTERMEDIATE_DIR)/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
1697             '<(PRODUCT_DIR)/test_data/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
1698           ],
1699           'process_outputs_as_sources': 1,
1700           'action': [
1701             'python',
1702             '<@(_inputs)',
1703             'webui',
1704             '<(RULE_INPUT_PATH)',
1705             'chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
1706             '<@(_outputs)',
1707           ],
1708         },
1709       ],
1710       'conditions': [
1711         ['OS=="win"', {
1712           'sources': [
1713             '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
1714             '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
1715             '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
1716             '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
1717             '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc',
1718             '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
1719             '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
1720             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
1721             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_unscaled_resources.rc',
1722           ],
1723           'include_dirs': [
1724             '<(DEPTH)/third_party/wtl/include',
1725           ],
1726           'dependencies': [
1727             'chrome_version_resources',
1728           ],
1729           'conditions': [
1730             ['win_use_allocator_shim==1', {
1731               'dependencies': [
1732                 '<(allocator_target)',
1733               ],
1734             }],
1735           ],
1736           'configurations': {
1737             'Debug_Base': {
1738               'msvs_settings': {
1739                 'VCLinkerTool': {
1740                   'LinkIncremental': '<(msvs_debug_link_nonincremental)',
1741                 },
1742               },
1743             },
1744           }
1745         }, { # else: OS != "win"
1746           'sources!': [
1747             'app/chrome_command_ids.h',
1748             'app/chrome_dll.rc',
1749             'app/chrome_dll_resource.h',
1750             'app/chrome_version.rc.version',
1751           ],
1752         }],
1753         ['toolkit_uses_gtk == 1', {
1754           'dependencies': [
1755             '../build/linux/system.gyp:gtk',
1756             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
1757           ],
1758         }],
1759         ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', {
1760           'dependencies': [
1761             '../build/linux/system.gyp:ssl',
1762           ],
1763         }],
1764         ['OS=="mac"', {
1765           'include_dirs': [
1766             '../third_party/GTM',
1767           ],
1768           # TODO(mark): We really want this for all non-static library
1769           # targets, but when we tried to pull it up to the common.gypi
1770           # level, it broke other things like the ui, startup, and
1771           # page_cycler tests. *shrug*
1772           'xcode_settings': {
1773             'OTHER_LDFLAGS': [
1774               '-Wl,-ObjC',
1775             ],
1776           },
1777           # Other platforms only need
1778           # chrome_resources.gyp:{packed_extra_resources,packed_resources},
1779           # and can build this target standalone much faster.
1780           'dependencies': [
1781             'chrome'
1782           ],
1783         }],
1784         ['os_posix == 1 and OS != "mac" and OS != "android"', {
1785           'conditions': [
1786             ['linux_use_tcmalloc==1', {
1787               'dependencies': [
1788                 '../base/allocator/allocator.gyp:allocator',
1789               ],
1790             }],
1791           ],
1792         }],
1793       ],  # conditions
1794     },  # target performance_browser_tests
1795     {
1796       # To run the tests from page_load_test.cc on Linux, we need to:
1797       #
1798       #   a) Build with Breakpad (GYP_DEFINES="linux_chromium_breakpad=1")
1799       #   b) Run with CHROME_HEADLESS=1 to generate crash dumps.
1800       #   c) Strip the binary if it's a debug build. (binary may be over 2GB)
1801       'target_name': 'reliability_tests',
1802       'type': 'executable',
1803       'dependencies': [
1804         'browser',
1805         'chrome',
1806         'chrome_resources.gyp:theme_resources',
1807         'test_support_common',
1808         'test_support_ui',
1809         '../skia/skia.gyp:skia',
1810         '../testing/gtest.gyp:gtest',
1811         '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
1812       ],
1813       'include_dirs': [
1814         '..',
1815       ],
1816       'sources': [
1817         'test/reliability/page_load_test.cc',
1818       ],
1819       'conditions': [
1820         ['OS=="win" and buildtype=="Official"', {
1821           'configurations': {
1822             'Release': {
1823               'msvs_settings': {
1824                 'VCCLCompilerTool': {
1825                   'WholeProgramOptimization': 'false',
1826                 },
1827               },
1828             },
1829           },
1830         },],
1831         ['OS=="win" and win_use_allocator_shim==1', {
1832           'dependencies': [
1833             '<(allocator_target)',
1834           ],
1835           'configurations': {
1836             'Debug': {
1837               'msvs_settings': {
1838                 'VCLinkerTool': {
1839                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
1840                 },
1841               },
1842             },
1843           },
1844         },],
1845         ['toolkit_uses_gtk == 1', {
1846           'dependencies': [
1847             '../build/linux/system.gyp:gtk',
1848           ],
1849         },],
1850       ],
1851     },
1852     {
1853       'target_name': 'performance_ui_tests',
1854       'type': 'executable',
1855       'dependencies': [
1856         'chrome',
1857         'chrome_resources.gyp:chrome_resources',
1858         'chrome_resources.gyp:chrome_strings',
1859         'debugger',
1860         'test_support_common',
1861         'test_support_ui',
1862         '../base/base.gyp:base',
1863         '../skia/skia.gyp:skia',
1864         '../testing/gtest.gyp:gtest',
1865       ],
1866       'sources': [
1867         # TODO(darin): Move other UIPerfTests here.
1868         'test/perf/dom_checker_uitest.cc',
1869         'test/perf/feature_startup_test.cc',
1870         'test/perf/frame_rate/frame_rate_tests.cc',
1871         'test/perf/indexeddb_uitest.cc',
1872         'test/perf/memory_test.cc',
1873         'test/perf/page_cycler_test.cc',
1874         'test/perf/shutdown_test.cc',
1875         'test/perf/startup_test.cc',
1876         'test/perf/tab_switching_test.cc',
1877         'test/perf/url_fetch_test.cc',
1878         'test/perf/v8_benchmark_uitest.cc',
1879       ],
1880       'conditions': [
1881         ['OS=="win" and buildtype=="Official"', {
1882           'configurations': {
1883             'Release': {
1884               'msvs_settings': {
1885                 'VCCLCompilerTool': {
1886                   'WholeProgramOptimization': 'false',
1887                 },
1888               },
1889             },
1890           },
1891         }],
1892         ['OS=="win"', {
1893           'conditions': [
1894             ['win_use_allocator_shim==1', {
1895               'dependencies': [
1896                 '<(allocator_target)',
1897               ],
1898             }],
1899           ],
1900           'configurations': {
1901             'Debug_Base': {
1902               'msvs_settings': {
1903                 'VCLinkerTool': {
1904                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
1905                 },
1906               },
1907             },
1908           },
1909         }],
1910         ['OS=="mac"', {
1911           'sources': [
1912             'test/perf/mach_ports_test.cc',
1913           ],
1914         }],
1915         ['toolkit_uses_gtk == 1', {
1916           'dependencies': [
1917             '../build/linux/system.gyp:gtk',
1918             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
1919           ],
1920         }],
1921         ['os_posix == 1 and OS != "mac" and OS != "android"', {
1922           'conditions': [
1923             ['linux_use_tcmalloc==1', {
1924               'dependencies': [
1925                 '../base/allocator/allocator.gyp:allocator',
1926               ],
1927             }],
1928           ],
1929         }],
1930         ['toolkit_views==1', {
1931           'dependencies': [
1932             '../ui/views/views.gyp:views',
1933           ],
1934         }],
1935       ],
1936     },
1937     {
1938       'target_name': 'sync_integration_tests',
1939       'type': 'executable',
1940       'dependencies': [
1941         'browser',
1942         '../sync/protocol/sync_proto.gyp:sync_proto',
1943         'chrome',
1944         'chrome_resources.gyp:chrome_resources',
1945         'chrome_resources.gyp:chrome_strings',
1946         'chrome_resources.gyp:packed_extra_resources',
1947         'chrome_resources.gyp:packed_resources',
1948         'common',
1949         'common/extensions/api/api.gyp:api',
1950         'renderer',
1951         'test_support_common',
1952         '../net/net.gyp:net',
1953         '../net/net.gyp:net_test_support',
1954         '../printing/printing.gyp:printing',
1955         '../skia/skia.gyp:skia',
1956         '../sync/sync.gyp:sync_notifier',
1957         '../testing/gmock.gyp:gmock',
1958         '../testing/gtest.gyp:gtest',
1959         '../third_party/icu/icu.gyp:icui18n',
1960         '../third_party/icu/icu.gyp:icuuc',
1961         '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
1962         '../third_party/npapi/npapi.gyp:npapi',
1963         '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
1964       ],
1965       'include_dirs': [
1966         '..',
1967         '<(INTERMEDIATE_DIR)',
1968         '<(protoc_out_dir)',
1969       ],
1970       # TODO(phajdan.jr): Only temporary, to make transition easier.
1971       'defines': [
1972         'HAS_OUT_OF_PROC_TEST_RUNNER',
1973       ],
1974       'sources': [
1975         'app/chrome_command_ids.h',
1976         'app/chrome_dll.rc',
1977         'app/chrome_dll_resource.h',
1978         'app/chrome_version.rc.version',
1979         'browser/sessions/session_backend.cc',
1980         'browser/sync/glue/session_model_associator.cc',
1981         'test/base/chrome_test_launcher.cc',
1982         'test/data/resource.rc',
1983         'browser/sync/test/integration/apps_helper.cc',
1984         'browser/sync/test/integration/apps_helper.h',
1985         'browser/sync/test/integration/autofill_helper.cc',
1986         'browser/sync/test/integration/autofill_helper.h',
1987         'browser/sync/test/integration/bookmarks_helper.cc',
1988         'browser/sync/test/integration/bookmarks_helper.h',
1989         'browser/sync/test/integration/cross_platform_sync_test.cc',
1990         'browser/sync/test/integration/enable_disable_test.cc',
1991         'browser/sync/test/integration/extension_settings_helper.cc',
1992         'browser/sync/test/integration/extension_settings_helper.h',
1993         'browser/sync/test/integration/extensions_helper.cc',
1994         'browser/sync/test/integration/extensions_helper.h',
1995         'browser/sync/test/integration/migration_errors_test.cc',
1996         'browser/sync/test/integration/multiple_client_bookmarks_sync_test.cc',
1997         'browser/sync/test/integration/multiple_client_passwords_sync_test.cc',
1998         'browser/sync/test/integration/multiple_client_preferences_sync_test.cc',
1999         'browser/sync/test/integration/multiple_client_sessions_sync_test.cc',
2000         'browser/sync/test/integration/multiple_client_typed_urls_sync_test.cc',
2001         'browser/sync/test/integration/passwords_helper.cc',
2002         'browser/sync/test/integration/passwords_helper.h',
2003         'browser/sync/test/integration/preferences_helper.cc',
2004         'browser/sync/test/integration/preferences_helper.h',
2005         'browser/sync/test/integration/search_engines_helper.cc',
2006         'browser/sync/test/integration/search_engines_helper.h',
2007         'browser/sync/test/integration/sessions_helper.cc',
2008         'browser/sync/test/integration/sessions_helper.h',
2009         'browser/sync/test/integration/single_client_apps_sync_test.cc',
2010         'browser/sync/test/integration/single_client_bookmarks_sync_test.cc',
2011         'browser/sync/test/integration/single_client_extensions_sync_test.cc',
2012         'browser/sync/test/integration/single_client_passwords_sync_test.cc',
2013         'browser/sync/test/integration/single_client_preferences_sync_test.cc',
2014         'browser/sync/test/integration/single_client_search_engines_sync_test.cc',
2015         'browser/sync/test/integration/single_client_sessions_sync_test.cc',
2016         'browser/sync/test/integration/single_client_themes_sync_test.cc',
2017         'browser/sync/test/integration/single_client_typed_urls_sync_test.cc',
2018         'browser/sync/test/integration/sync_app_helper.cc',
2019         'browser/sync/test/integration/sync_app_helper.h',
2020         'browser/sync/test/integration/sync_datatype_helper.cc',
2021         'browser/sync/test/integration/sync_datatype_helper.h',
2022         'browser/sync/test/integration/sync_errors_test.cc',
2023         'browser/sync/test/integration/sync_extension_helper.cc',
2024         'browser/sync/test/integration/sync_extension_helper.h',
2025         'browser/sync/test/integration/sync_test.cc',
2026         'browser/sync/test/integration/sync_test.h',
2027         'browser/sync/test/integration/themes_helper.cc',
2028         'browser/sync/test/integration/themes_helper.h',
2029         'browser/sync/test/integration/two_client_apps_sync_test.cc',
2030         'browser/sync/test/integration/two_client_autofill_sync_test.cc',
2031         'browser/sync/test/integration/two_client_bookmarks_sync_test.cc',
2032         'browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc',
2033         'browser/sync/test/integration/two_client_extensions_sync_test.cc',
2034         'browser/sync/test/integration/two_client_passwords_sync_test.cc',
2035         'browser/sync/test/integration/two_client_preferences_sync_test.cc',
2036         'browser/sync/test/integration/two_client_search_engines_sync_test.cc',
2037         'browser/sync/test/integration/two_client_sessions_sync_test.cc',
2038         'browser/sync/test/integration/two_client_themes_sync_test.cc',
2039         'browser/sync/test/integration/two_client_typed_urls_sync_test.cc',
2040         'browser/sync/test/integration/typed_urls_helper.cc',
2041         'browser/sync/test/integration/typed_urls_helper.h',
2042       ],
2043       'conditions': [
2044         ['toolkit_uses_gtk == 1', {
2045            'dependencies': [
2046              '../build/linux/system.gyp:gtk',
2047            ],
2048         }],
2049         ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', {
2050           'dependencies': [
2051             '../build/linux/system.gyp:ssl',
2052           ],
2053         }],
2054         ['OS=="mac"', {
2055           # The sync_integration_tests do not run on mac without this flag.
2056           # Search for comments about "xcode_settings" elsewhere in this file.
2057           'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
2058         }],
2059         ['OS=="win"', {
2060           'sources': [
2061             '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
2062             '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
2063             '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
2064             '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
2065             '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc',
2066             '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
2067             '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
2068             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
2069             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_unscaled_resources.rc',
2070           ],
2071           'include_dirs': [
2072             '<(DEPTH)/third_party/wtl/include',
2073           ],
2074           'dependencies': [
2075             'chrome_version_resources',
2076           ],
2077           'conditions': [
2078             ['win_use_allocator_shim==1', {
2079               'dependencies': [
2080                 '<(allocator_target)',
2081               ],
2082             }],
2083           ],
2084           'configurations': {
2085             'Debug': {
2086               'msvs_settings': {
2087                 'VCLinkerTool': {
2088                   'LinkIncremental': '<(msvs_debug_link_nonincremental)',
2089                 },
2090               },
2091             },
2092           },
2093         }, { # else: OS != "win"
2094           'sources!': [
2095             'app/chrome_dll.rc',
2096             'app/chrome_version.rc.version',
2097             'test/data/resource.rc',
2098           ],
2099         }],
2100         ['toolkit_views==1', {
2101           'dependencies': [
2102             '../ui/views/views.gyp:views',
2103           ],
2104         }],
2105       ],
2106     },
2107     {
2108       'target_name': 'sync_performance_tests',
2109       'type': 'executable',
2110       'dependencies': [
2111         '../sync/protocol/sync_proto.gyp:sync_proto',
2112         'browser',
2113         'chrome',
2114         'common/extensions/api/api.gyp:api',
2115         'test_support_common',
2116         '../skia/skia.gyp:skia',
2117         '../sync/sync.gyp:sync_notifier',
2118         '../testing/gmock.gyp:gmock',
2119         '../testing/gtest.gyp:gtest',
2120       ],
2121       'include_dirs': [
2122         '..',
2123         '<(INTERMEDIATE_DIR)',
2124         '<(protoc_out_dir)',
2125       ],
2126       'defines': [
2127         'HAS_OUT_OF_PROC_TEST_RUNNER',
2128       ],
2129       'sources': [
2130         'app/chrome_command_ids.h',
2131         'app/chrome_dll.rc',
2132         'app/chrome_dll_resource.h',
2133         'app/chrome_version.rc.version',
2134         'browser/sessions/session_backend.cc',
2135         'browser/sync/glue/session_model_associator.cc',
2136         'browser/sync/test/integration/autofill_helper.cc',
2137         'browser/sync/test/integration/autofill_helper.h',
2138         'browser/sync/test/integration/bookmarks_helper.cc',
2139         'browser/sync/test/integration/bookmarks_helper.h',
2140         'browser/sync/test/integration/extensions_helper.cc',
2141         'browser/sync/test/integration/extensions_helper.h',
2142         'browser/sync/test/integration/passwords_helper.cc',
2143         'browser/sync/test/integration/passwords_helper.h',
2144         'browser/sync/test/integration/performance/autofill_sync_perf_test.cc',
2145         'browser/sync/test/integration/performance/bookmarks_sync_perf_test.cc',
2146         'browser/sync/test/integration/performance/extensions_sync_perf_test.cc',
2147         'browser/sync/test/integration/performance/sync_timing_helper.cc',
2148         'browser/sync/test/integration/performance/sync_timing_helper.h',
2149         'browser/sync/test/integration/performance/passwords_sync_perf_test.cc',
2150         'browser/sync/test/integration/performance/sessions_sync_perf_test.cc',
2151         'browser/sync/test/integration/performance/typed_urls_sync_perf_test.cc',
2152         'browser/sync/test/integration/sessions_helper.cc',
2153         'browser/sync/test/integration/sessions_helper.h',
2154         'browser/sync/test/integration/sync_datatype_helper.cc',
2155         'browser/sync/test/integration/sync_datatype_helper.h',
2156         'browser/sync/test/integration/sync_extension_helper.cc',
2157         'browser/sync/test/integration/sync_extension_helper.h',
2158         'browser/sync/test/integration/sync_test.cc',
2159         'browser/sync/test/integration/sync_test.h',
2160         'browser/sync/test/integration/typed_urls_helper.cc',
2161         'browser/sync/test/integration/typed_urls_helper.h',
2162         'test/base/chrome_test_launcher.cc',
2163         'test/data/resource.rc',
2164       ],
2165       'conditions': [
2166         ['toolkit_uses_gtk == 1', {
2167            'dependencies': [
2168              '../build/linux/system.gyp:gtk',
2169            ],
2170         }],
2171         ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', {
2172           'dependencies': [
2173             '../build/linux/system.gyp:ssl',
2174           ],
2175         }],
2176         ['OS=="mac"', {
2177           # The sync_integration_tests do not run on mac without this flag.
2178           # Search for comments about "xcode_settings" elsewhere in this file.
2179           'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
2180         }],
2181         ['OS=="win"', {
2182           'sources': [
2183             '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
2184             '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
2185             '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
2186             '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
2187             '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc',
2188           ],
2189           'include_dirs': [
2190             '<(DEPTH)/third_party/wtl/include',
2191           ],
2192           'dependencies': [
2193             'chrome_version_resources',
2194           ],
2195           'conditions': [
2196             ['win_use_allocator_shim==1', {
2197               'dependencies': [
2198                 '<(allocator_target)',
2199               ],
2200             }],
2201           ],
2202           'configurations': {
2203             'Debug': {
2204               'msvs_settings': {
2205                 'VCLinkerTool': {
2206                   'LinkIncremental': '<(msvs_debug_link_nonincremental)',
2207                 },
2208               },
2209             },
2210           },
2211         }, { # else: OS != "win"
2212           'sources!': [
2213             'app/chrome_dll.rc',
2214             'app/chrome_version.rc.version',
2215             'test/data/resource.rc',
2216           ],
2217         }],
2218         ['toolkit_views==1', {
2219           'dependencies': [
2220             '../ui/views/views.gyp:views',
2221           ],
2222         }],
2223       ],
2224     },
2225     {
2226       # Executable that contains all the tests to be run on the GPU bots.
2227       'target_name': 'gpu_tests',
2228       'type': 'executable',
2229       'dependencies': [
2230         # Runtime dependencies
2231         '../third_party/mesa/mesa.gyp:osmesa',
2232       ],
2233       'includes': [
2234         'test/gpu/test_support_gpu.gypi'
2235       ],
2236       'sources': [
2237         'test/gpu/gpu_crash_browsertest.cc',
2238         'test/gpu/gpu_feature_browsertest.cc',
2239         'test/gpu/gpu_mapsgl_endurance_browsertest.cc',
2240         'test/gpu/gpu_pixel_browsertest.cc',
2241       ],
2242     },
2243     {
2244       # Executable that contains a subset of the gpu tests which are run with a
2245       # software rasterizer.
2246       'target_name': 'soft_gpu_tests',
2247       'type': 'executable',
2248       'includes': [
2249         'test/gpu/test_support_gpu.gypi'
2250       ],
2251       'sources': [
2252         'test/gpu/gpu_pixel_browsertest.cc',
2253       ],
2254     },
2255   ],
2256   'conditions': [
2257     ['OS=="mac"', {
2258       'targets': [
2259         {
2260           # This is the mac equivalent of the security_tests target below. It
2261           # generates a framework bundle which bundles tests to be run in a
2262           # renderer process. The test code is built as a framework so it can be
2263           # run in the context of a renderer without shipping the code to end
2264           # users.
2265           'target_name': 'renderer_sandbox_tests',
2266           'type': 'shared_library',
2267           'product_name': 'Renderer Sandbox Tests',
2268           'mac_bundle': 1,
2269           'xcode_settings': {
2270             'INFOPLIST_FILE': 'test/security_tests/sandbox_tests_mac-Info.plist',
2271           },
2272           'sources': [
2273             'test/security_tests/renderer_sandbox_tests_mac.mm',
2274           ],
2275           'include_dirs': [
2276             '..',
2277           ],
2278           'link_settings': {
2279             'libraries': [
2280               '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
2281             ],
2282           },
2283         },  # target renderer_sandbox_tests
2284         {
2285           # Tests for Mac app launcher.
2286           'target_name': 'app_mode_app_tests',
2287           'type': 'executable',
2288           'product_name': 'app_mode_app_tests',
2289           'dependencies': [
2290             '../base/base.gyp:test_support_base',
2291             '../chrome/common_constants.gyp:common_constants',
2292             '../testing/gtest.gyp:gtest',
2293             'chrome.gyp:chrome',  # run time dependency
2294             'app_mode_app_support',
2295           ],
2296           'sources': [
2297             'common/mac/app_mode_chrome_locator_unittest.mm',
2298             'test/base/app_mode_app_tests.cc',
2299           ],
2300           'include_dirs': [
2301             '..',
2302           ],
2303           'link_settings': {
2304             'libraries': [
2305               '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
2306               '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
2307             ],
2308           },
2309         },  # target app_mode_app_tests
2310       ],
2311     }],
2312     ['OS!="mac"', {
2313       'targets': [
2314         {
2315           'target_name': 'perf_tests',
2316           'type': 'executable',
2317           'include_dirs': [
2318             '<(SHARED_INTERMEDIATE_DIR)',  # Needed by key_systems.cc.
2319           ],
2320           'dependencies': [
2321             'browser',
2322             'chrome_resources.gyp:chrome_resources',
2323             'chrome_resources.gyp:chrome_strings',
2324             'common',
2325             'renderer',
2326             '../content/content.gyp:content_gpu',
2327             '../content/content.gyp:test_support_content',
2328             '../base/base.gyp:base',
2329             '../base/base.gyp:test_support_base',
2330             '../base/base.gyp:test_support_perf',
2331             '../skia/skia.gyp:skia',
2332             '../testing/gtest.gyp:gtest',
2333             '../webkit/support/webkit_support.gyp:glue',
2334             '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
2335           ],
2336           'sources': [
2337             'browser/net/sqlite_persistent_cookie_store_perftest.cc',
2338             'browser/visitedlink/visitedlink_perftest.cc',
2339             'common/json_value_serializer_perftest.cc',
2340             'test/perf/perftests.cc',
2341             'test/perf/url_parse_perftest.cc',
2342           ],
2343           'conditions': [
2344             ['toolkit_uses_gtk == 1', {
2345               'dependencies': [
2346                 '../build/linux/system.gyp:gtk',
2347                 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
2348               ],
2349             }],
2350             ['OS=="win"', {
2351               'configurations': {
2352                 'Debug_Base': {
2353                   'msvs_settings': {
2354                     'VCLinkerTool': {
2355                       'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
2356                     },
2357                   },
2358                 },
2359               },
2360               'conditions': [
2361                 ['win_use_allocator_shim==1', {
2362                   'dependencies': [
2363                     '<(allocator_target)',
2364                   ],
2365                 }],
2366               ],
2367             }],
2368             ['toolkit_views==1', {
2369               'dependencies': [
2370                 '../ui/views/views.gyp:views',
2371               ],
2372             }],
2373             ['os_posix == 1 and OS != "mac" and OS != "android"', {
2374               'conditions': [
2375                 ['linux_use_tcmalloc==1', {
2376                   'dependencies': [
2377                     '../base/allocator/allocator.gyp:allocator',
2378                   ],
2379                 }],
2380               ],
2381             }],
2382           ],
2383         },
2384       ],
2385     },],  # OS!="mac"
2386     ['OS=="win"', {
2387       'targets': [
2388         {
2389           'target_name': 'security_tests',
2390           'type': 'shared_library',
2391           'include_dirs': [
2392             '..',
2393           ],
2394           'sources': [
2395             'test/security_tests/ipc_security_tests.cc',
2396             'test/security_tests/ipc_security_tests.h',
2397             'test/security_tests/security_tests.cc',
2398             '../sandbox/win/tests/validation_tests/commands.cc',
2399             '../sandbox/win/tests/validation_tests/commands.h',
2400           ],
2401         },
2402       ]},  # 'targets'
2403     ],  # OS=="win"
2404     ['OS=="linux" or OS=="win"', {
2405       'targets': [
2406         {
2407           'target_name': 'generate_profile',
2408           'type': 'executable',
2409           'dependencies': [
2410             'test_support_common',
2411             'browser',
2412             'renderer',
2413             'chrome_resources.gyp:packed_resources',
2414             '../base/base.gyp:base',
2415             '../net/net.gyp:net_test_support',
2416             '../skia/skia.gyp:skia',
2417             '../sync/sync.gyp:sync_api',
2418           ],
2419           'include_dirs': [
2420             '..',
2421           ],
2422           'sources': [
2423             'tools/profiles/generate_profile.cc',
2424             'tools/profiles/thumbnail-inl.h',
2425           ],
2426           'conditions': [
2427             ['OS=="win"', {
2428               'conditions': [
2429                 ['win_use_allocator_shim==1', {
2430                   'dependencies': [
2431                     '<(allocator_target)',
2432                   ],
2433                 }],
2434               ],
2435               'configurations': {
2436                 'Debug_Base': {
2437                   'msvs_settings': {
2438                     'VCLinkerTool': {
2439                       'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
2440                     },
2441                   },
2442                 },
2443               },
2444             }],
2445           ],
2446         },
2447       ]},  # 'targets'
2448     ],
2449     # If you change this condition, make sure you also change it in all.gyp
2450     # for the chromium_builder_qa target.
2451     ['enable_automation==1 and (OS=="mac" or OS=="win" or (os_posix==1 and target_arch==python_arch))', {
2452       'targets': [
2453         {
2454           # Documentation: http://dev.chromium.org/developers/testing/pyauto
2455           'target_name': 'pyautolib',
2456           'type': 'loadable_module',
2457           'product_prefix': '_',
2458           'dependencies': [
2459             'chrome',
2460             'chrome_resources.gyp:chrome_resources',
2461             'chrome_resources.gyp:chrome_strings',
2462             'chrome_resources.gyp:theme_resources',
2463             'debugger',
2464             'test_support_common',
2465             '../skia/skia.gyp:skia',
2466             '../sync/sync.gyp:sync_api',
2467             '../testing/gtest.gyp:gtest',
2468           ],
2469           'export_dependent_settings': [
2470             'test_support_common',
2471           ],
2472           'include_dirs': [
2473             '..',
2474           ],
2475           'cflags': [
2476              '-Wno-uninitialized',
2477              '-Wno-self-assign',  # to keep clang happy for generated code.
2478           ],
2479           'sources': [
2480             'test/automation/proxy_launcher.cc',
2481             'test/automation/proxy_launcher.h',
2482             'test/pyautolib/pyautolib.cc',
2483             'test/pyautolib/pyautolib.h',
2484             'test/ui/ui_test.cc',
2485             'test/ui/ui_test.h',
2486             'test/ui/ui_test_suite.cc',
2487             'test/ui/ui_test_suite.h',
2488             '<(INTERMEDIATE_DIR)/pyautolib_wrap.cc',
2489             '<@(pyautolib_sources)',
2490           ],
2491           'xcode_settings': {
2492             # Link with python2.6. Using -L/usr/lib and -lpython2.6 does not
2493             # work with the -isysroot argument passed in. Even if it did,
2494             # the linker shouldn't use any other lib not in the 10.5 sdk.
2495             'OTHER_LDFLAGS': [
2496               '/usr/lib/libpython2.6.dylib'
2497             ],
2498           },
2499           'msvs_disabled_warnings': [4211],
2500           'conditions': [
2501             # Disable the type profiler. _POSIX_C_SOURCE and _XOPEN_SOURCE
2502             # conflict between <Python.h> and <typeinfo>.
2503             ['OS=="linux" and clang_type_profiler==1', {
2504               'cflags_cc!': [
2505                 '-fintercept-allocation-functions',
2506               ],
2507             }],
2508             ['os_posix == 1 and OS!="mac"', {
2509               'include_dirs': [
2510                 '..',
2511                 '<(sysroot)/usr/include/python<(python_ver)',
2512               ],
2513               'link_settings': {
2514                 'libraries': [
2515                   '-lpython<(python_ver)',
2516                 ],
2517               },
2518             }],
2519             ['toolkit_uses_gtk == 1', {
2520               'dependencies': [
2521                 '../build/linux/system.gyp:gtk',
2522               ],
2523             }],
2524             ['OS=="mac"', {
2525               'include_dirs': [
2526                 '..',
2527                 '/usr/include/python2.6',
2528               ],
2529             }],
2530             ['OS=="win"', {
2531               'product_extension': 'pyd',
2532               'include_dirs': [
2533                 '..',
2534                 '../third_party/python_26/include',
2535               ],
2536               'msvs_settings': {
2537                 'VCLinkerTool': {
2538                   'AdditionalLibraryDirectories': [
2539                     '<(DEPTH)/third_party/python_26/libs',
2540                   ],
2541                   'AdditionalDependencies': [
2542                     'python26.lib',
2543                   ],
2544                 },
2545               }
2546             }],
2547             ['clang == 1', {
2548               'xcode_settings': {
2549                 'WARNING_CFLAGS': [
2550                   # swig creates code with self assignments.
2551                   '-Wno-self-assign',
2552                 ],
2553               },
2554               'cflags': [
2555                 '-Wno-self-assign',
2556               ],
2557             }],
2558             ['asan==1', {
2559               'cflags!': [ '-fsanitize=address' ],
2560               'xcode_settings': { 'OTHER_CFLAGS!': [ '-fsanitize=address' ] },
2561             }],
2562           ],
2563           'actions': [
2564             {
2565               'variables' : {
2566                 'swig_args': [ '-I..',
2567                                '-python',
2568                                '-c++',
2569                                '-threads',
2570                                '-outdir',
2571                                '<(PRODUCT_DIR)',
2572                                '-o',
2573                                '<(INTERMEDIATE_DIR)/pyautolib_wrap.cc',
2574                 ],
2575                 'conditions': [
2576                   ['chromeos==1', {
2577                     'swig_args': [
2578                       '-DOS_CHROMEOS',
2579                     ]
2580                   }],
2581                 ],
2582               },
2583               'action_name': 'pyautolib_swig',
2584               'inputs': [
2585                 'test/pyautolib/argc_argv.i',
2586                 'test/pyautolib/pyautolib.i',
2587                 '<@(pyautolib_sources)',
2588               ],
2589               'outputs': [
2590                 '<(INTERMEDIATE_DIR)/pyautolib_wrap.cc',
2591                 '<(PRODUCT_DIR)/pyautolib.py',
2592               ],
2593               'action': [ 'python',
2594                           '../tools/swig/swig.py',
2595                           '<@(swig_args)',
2596                           'test/pyautolib/pyautolib.i',
2597               ],
2598               'message': 'Generating swig wrappers for pyautolib.',
2599               'msvs_cygwin_shell': 1,
2600             },
2601           ],  # actions
2602         },  # target 'pyautolib'
2603         {
2604           # Required for WebRTC PyAuto tests.
2605           'target_name': 'webrtc_test_tools',
2606           'type': 'none',
2607           'dependencies': [
2608             'pyautolib',
2609             '../third_party/libjingle/libjingle.gyp:peerconnection_server',
2610             '../third_party/webrtc/tools/tools.gyp:frame_analyzer',
2611             '../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter',
2612           ],
2613         },  # target 'webrtc_test_tools'
2614       ]  # targets
2615     }],
2616     # To enable the coverage targets, do
2617     #    GYP_DEFINES='coverage=1' gclient sync
2618     # To match the coverage buildbot more closely, do this:
2619     #    GYP_DEFINES='coverage=1 enable_svg=0 fastbuild=1' gclient sync
2620     # (and, on MacOS, be sure to switch your SDK from "Base SDK" to "Mac OS X
2621     # 10.6")
2622     # (but on Windows, don't set the fastbuild=1 because it removes the PDB
2623     # generation which is necessary for code coverage.)
2624     ['coverage!=0',
2625       { 'targets': [
2626         {
2627           ### Coverage BUILD AND RUN.
2628           ### Not named coverage_build_and_run for historical reasons.
2629           'target_name': 'coverage',
2630           'dependencies': [ 'coverage_build', 'coverage_run' ],
2631           # do NOT place this in the 'all' list; most won't want it.
2632           # In gyp, booleans are 0/1 not True/False.
2633           'suppress_wildcard': 1,
2634           'type': 'none',
2635           'actions': [
2636             {
2637               'message': 'Coverage is now complete.',
2638               # MSVS must have an input file and an output file.
2639               'inputs': [ '<(PRODUCT_DIR)/coverage.info' ],
2640               'outputs': [ '<(PRODUCT_DIR)/coverage-build-and-run.stamp' ],
2641               'action_name': 'coverage',
2642               # Wish gyp had some basic builtin commands (e.g. 'touch').
2643               'action': [ 'python', '-c',
2644                           'import os; ' \
2645                           'open(' \
2646                           '\'<(PRODUCT_DIR)\' + os.path.sep + ' \
2647                           '\'coverage-build-and-run.stamp\'' \
2648                           ', \'w\').close()' ],
2649               # Use outputs of this action as inputs for the main target build.
2650               # Seems as a misnomer but makes this happy on Linux (scons).
2651               'process_outputs_as_sources': 1,
2652             },
2653           ],  # 'actions'
2654         },
2655         ### Coverage BUILD.  Compile only; does not run the bundles.
2656         ### Intended as the build phase for our coverage bots.
2657         ###
2658         ### Builds unit test bundles needed for coverage.
2659         ### Outputs this list of bundles into coverage_bundles.py.
2660         ###
2661         ### If you want to both build and run coverage from your IDE,
2662         ### use the 'coverage' target.
2663         {
2664           'target_name': 'coverage_build',
2665           # do NOT place this in the 'all' list; most won't want it.
2666           # In gyp, booleans are 0/1 not True/False.
2667           'suppress_wildcard': 1,
2668           'type': 'none',
2669           'dependencies': [
2670             'automated_ui_tests',
2671             '../base/base.gyp:base_unittests',
2672             # browser_tests's use of subprocesses chokes gcov on 10.6?
2673             # Disabling for now (enabled on linux/windows below).
2674             # 'browser_tests',
2675             '../ipc/ipc.gyp:ipc_tests',
2676             '../media/media.gyp:media_unittests',
2677             '../net/net.gyp:net_unittests',
2678             '../printing/printing.gyp:printing_unittests',
2679             '../remoting/remoting.gyp:remoting_unittests',
2680             '../sql/sql.gyp:sql_unittests',
2681             '../content/content.gyp:content_unittests',
2682             'unit_tests',
2683             '../sync/sync.gyp:sync_unit_tests',
2684           ],  # 'dependencies'
2685           'conditions': [
2686             ['OS=="win"', {
2687               'dependencies': [
2688                 # Courgette has not been ported from Windows.
2689                 # Note build/win/chrome_win.croc uniquely has the
2690                 # courgette source directory in an include path.
2691                 '../courgette/courgette.gyp:courgette_unittests',
2692                 'browser_tests',
2693                 ]}],
2694             ['OS=="linux"', {
2695               'dependencies': [
2696                 # Win bot needs to be turned into an interactive bot.
2697                 'interactive_ui_tests',
2698                 # Disabled from running in coverage_posix.py.
2699                 # We need to build this during compile step, so enabling here.
2700                 'browser_tests',
2701                 '../courgette/courgette.gyp:courgette_unittests',
2702                 '../crypto/crypto.gyp:crypto_unittests',
2703                 'chromedriver_unittests',
2704                 '../build/temp_gyp/googleurl.gyp:googleurl_unittests',
2705                 'gpu_tests',
2706                 '../jingle/jingle.gyp:jingle_unittests',
2707                 '../net/net.gyp:net_perftests',
2708                 'performance_ui_tests',
2709                 'reliability_tests',
2710                 'sync_integration_tests',
2711                 '../third_party/WebKit/Source/WebKit/chromium/WebKitUnitTests.gyp:webkit_unit_tests',
2712                 'pyautolib',
2713                 '../content/content.gyp:content_browsertests',
2714               ]}],
2715             ['OS=="mac"', {
2716               'dependencies': [
2717               # Placeholder; empty for now.
2718               ]}],
2719           ],  # 'conditions'
2720           'actions': [
2721             {
2722               # 'message' for Linux/scons in particular.  Scons
2723               # requires the 'coverage' target be run from within
2724               # src/chrome.
2725               'message': 'Compiling coverage bundles.',
2726               # MSVS must have an input file and an output file.
2727               #
2728               # TODO(jrg):
2729               # Technically I want inputs to be the list of
2730               # executables created in <@(_dependencies) but use of
2731               # that variable lists the dep by dep name, not their
2732               # output executable name.
2733               # Is there a better way to force this action to run, always?
2734               #
2735               # If a test bundle is added to this coverage_build target it
2736               # necessarily means this file (chrome_tests.gypi) is changed,
2737               # so the action is run (coverage_bundles.py is generated).
2738               # Exceptions to that rule are theoretically possible
2739               # (e.g. re-gyp with a GYP_DEFINES set).
2740               # Else it's the same list of bundles as last time.  They are
2741               # built (since on the deps list) but the action may not run.
2742               # For now, things work, but it's less than ideal.
2743               'inputs': [ 'chrome_tests.gypi' ],
2744               'outputs': [ '<(PRODUCT_DIR)/coverage_bundles.py' ],
2745               'action_name': 'coverage_build',
2746               'action': [ 'python', '-c',
2747                           'import os; '
2748                           'f = open(' \
2749                           '\'<(PRODUCT_DIR)\' + os.path.sep + ' \
2750                           '\'coverage_bundles.py\'' \
2751                           ', \'w\'); ' \
2752                           'deplist = \'' \
2753                           '<@(_dependencies)' \
2754                           '\'.split(\' \'); ' \
2755                           'f.write(str(deplist)); ' \
2756                           'f.close()'],
2757               # Use outputs of this action as inputs for the main target build.
2758               # Seems as a misnomer but makes this happy on Linux (scons).
2759               'process_outputs_as_sources': 1,
2760             },
2761           ],  # 'actions'
2762         },
2763         ### Coverage RUN.  Does not compile the bundles.  Mirrors the
2764         ### run_coverage_bundles buildbot phase.  If you update this
2765         ### command update the mirror in
2766         ### $BUILDBOT/scripts/master/factory/chromium_commands.py.
2767         ### If you want both build and run, use the 'coverage' target.
2768         {
2769           'target_name': 'coverage_run',
2770           # do NOT place this in the 'all' list; most won't want it.
2771           # In gyp, booleans are 0/1 not True/False.
2772           'suppress_wildcard': 1,
2773           'type': 'none',
2774           'actions': [
2775             {
2776               # 'message' for Linux/scons in particular.  Scons
2777               # requires the 'coverage' target be run from within
2778               # src/chrome.
2779               'message': 'Running the coverage script.  NOT building anything.',
2780               # MSVS must have an input file and an output file.
2781               'inputs': [ '<(PRODUCT_DIR)/coverage_bundles.py' ],
2782               'outputs': [ '<(PRODUCT_DIR)/coverage.info' ],
2783               'action_name': 'coverage_run',
2784               'action': [ 'python',
2785                           '../tools/code_coverage/coverage_posix.py',
2786                           '--directory',
2787                           '<(PRODUCT_DIR)',
2788                           '--src_root',
2789                           '..',
2790                           '--bundles',
2791                           '<(PRODUCT_DIR)/coverage_bundles.py'],
2792               # Use outputs of this action as inputs for the main target build.
2793               # Seems as a misnomer but makes this happy on Linux (scons).
2794               'process_outputs_as_sources': 1,
2795             },
2796           ],  # 'actions'
2797         },
2798       ]
2799     }],  # 'coverage!=0'
2800     ['OS == "android"', {
2801       'targets': [
2802         {
2803           'target_name': 'chromium_testshell_test_apk',
2804           'type': 'none',
2805           'dependencies': [
2806             '../base/base.gyp:base',
2807             '../base/base.gyp:base_java_test_support',
2808             'chrome_java',
2809             'chromium_testshell_java',
2810             '../content/content.gyp:content_java_test_support',
2811             '../tools/android/forwarder/forwarder.gyp:forwarder',
2812           ],
2813           'variables': {
2814             'package_name': 'chromium_testshell_test',
2815             'apk_name': 'ChromiumTestShellTest',
2816             'java_in_dir': './android/testshell/javatests',
2817             'resource_dir': '../res',
2818             'additional_src_dirs': ['android/javatests/src'],
2819             'is_test_apk': 1,
2820           },
2821           'includes': [ '../build/java_apk.gypi' ],
2822         },
2823       ],
2824     }],
2825     ['test_isolation_mode != "noop"', {
2826       'targets': [
2827         {
2828           'target_name': 'browser_tests_run',
2829           'type': 'none',
2830           'dependencies': [
2831             'browser_tests',
2832             'chrome',
2833             '../webkit/webkit.gyp:pull_in_DumpRenderTree',
2834           ],
2835           'includes': [
2836             '../build/isolate.gypi',
2837             'browser_tests.isolate',
2838           ],
2839           'sources': [
2840             'browser_tests.isolate',
2841           ],
2842         },
2843         {
2844           'target_name': 'sync_integration_tests_run',
2845           'type': 'none',
2846           'dependencies': [
2847             'sync_integration_tests',
2848           ],
2849           'conditions': [
2850             ['use_x11 == 1', {
2851               'dependencies': [
2852                 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
2853               ],
2854             }],
2855           ],
2856           'includes': [
2857             '../build/isolate.gypi',
2858             'sync_integration_tests.isolate',
2859           ],
2860           'sources': [
2861             'sync_integration_tests.isolate',
2862           ],
2863         },
2864       ],
2865     }],
2866   ],  # 'conditions'