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