Allow preventing launching Chrome with invalid Intents
[chromium-blink-merge.git] / BUILD.gn
blobd4406ce76347f4ec882604591fb87d576882bf19
1 # Copyright (c) 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 # This is the root build file for GN. GN will start processing by loading this
6 # file, and recursively load all dependencies until all dependencies are either
7 # resolved or known not to exist (which will cause the build to fail). So if
8 # you add a new build file, there must be some path of dependencies from this
9 # file to your new one or GN won't know about it.
11 import("//build/config/features.gni")
12 import("//build/config/ui.gni")
14 if (is_android) {
15   import("//build/config/android/config.gni")
18 declare_args() {
19   # A list of extra dependencies to add to the root target. This allows a
20   # checkout to add additional targets without explicitly changing any checked-
21   # in files.
22   root_extra_deps = []
25 # The "gn_all" target should list every root target (target that
26 # nothing else depends on) built by both GN and GYP. One should
27 # be able to run 'ninja gn_all gn_only gn_groups' and then run
28 # 'ninja' a second time and have the second ninja invocation do nothing.
30 # In addition, the "gn_all" target serves to pull in all of the other
31 # build files needed for the build.
33 # TODO(GYP): make sure that the above is true and there are scripts run
34 # on the bots that enforce this.
36 group("gn_all") {
37   testonly = true
39   deps = [
40     "//base:base_unittests",
41     "//cc:cc_unittests",
42     "//chrome",
43     "//chrome/test:browser_tests",
44     "//chrome/test:interactive_ui_tests",
45     "//chrome/test:sync_integration_tests",
46     "//chrome/test:unit_tests",
47     "//chrome/test/chromedriver:chromedriver_unittests",
48     "//components:components_browsertests",
49     "//components:components_unittests",
50     "//components/policy:policy_templates",
51     "//content/shell:content_shell",
52     "//content/test:content_browsertests",
53     "//content/test:content_perftests",
54     "//content/test:content_unittests",
55     "//crypto:crypto_unittests",
56     "//extensions:extensions_browsertests",
57     "//extensions:extensions_unittests",
58     "//google_apis/gcm:gcm_unit_tests",
59     "//gpu:gpu_unittests",
60     "//ipc:ipc_tests",
61     "//ipc/mojo:ipc_mojo_unittests",
62     "//jingle:jingle_unittests",
63     "//media:media_unittests",
64     "//media/cast:cast_unittests",
65     "//mojo",
66     "//mojo/application",
67     "//mojo/common:mojo_common_unittests",
68     "//net:hpack_example_generator",
69     "//net:hpack_fuzz_mutator",
70     "//net:hpack_fuzz_wrapper",
71     "//net:net_perftests",
72     "//net:net_unittests",
73     "//ppapi:ppapi_unittests",
74     "//ppapi/examples",  # TODO(GYP): What's the GYP equivalent?
75     "//printing:printing_unittests",
76     "//skia:skia_unittests",
77     "//sql:sql_unittests",
78     "//sync:sync_unit_tests",
79     "//third_party/WebKit/public:blink_tests",
80     "//third_party/cacheinvalidation:cacheinvalidation_unittests",
81     "//third_party/codesighs",
82     "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",
83     "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",
84     "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",
85     "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",
86     "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests",
87     "//third_party/pdfium/samples:pdfium_test",
88     "//third_party/smhasher:pmurhash",
89     "//tools/imagediff($host_toolchain)",
90     "//tools/gn",
91     "//tools/gn:gn_unittests",
92     "//tools/telemetry:bitmaptools($host_toolchain)",
93     "//ui/accessibility:accessibility_unittests",
94     "//ui/app_list:app_list_unittests",
95     "//ui/base:ui_base_unittests",
96     "//ui/display:display_unittests",
97     "//ui/events:events_unittests",
98     "//ui/gfx:gfx_unittests",
99     "//ui/touch_selection:ui_touch_selection_unittests",
100     "//url:url_unittests",
101   ]
103   deps += root_extra_deps
105   # TODO(GYP): Get this working on the mac?
106   if (enable_extensions && !is_mac) {
107     deps += [ "//extensions/shell:app_shell_unittests" ]
108   }
110   if (!is_android) {
111     deps += [ "//remoting:remoting_unittests" ]
112   }
114   if (!is_win) {
115     deps += [ "//breakpad:symupload" ]
116   }
118   if (use_x11) {
119     deps += [ "//tools/xdisplaycheck" ]
120   }
122   if (toolkit_views) {
123     deps += [ "//ui/views:views_unittests" ]
124   }
126   if (use_aura) {
127     deps += [ "//ui/wm:wm_unittests" ]
128   }
130   if (use_ozone) {
131     deps += [ "//ui/ozone" ]
132   }
134   if (enable_media_router) {
135     deps += [
136       "//chrome/browser/media/router/",
137       "//chrome/browser/media/router:unit_tests",
138     ]
139   }
141   if (is_win || is_mac || is_chromeos) {
142     # RLZ works on these platforms.
143     # TODO(GYP): Is this target needed, or pulled in automatically?
144     deps += [ "//rlz:rlz_lib" ]
145   }
147   if (is_android) {
148     deps += [
149       "//base/android/linker:chromium_android_linker",
150       "//build/android/gyp/test:hello_world",
151       "//build/android/rezip",
152       "//chrome/android:chrome_shell_apk",
153       "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
154       "//tools/imagediff($host_toolchain)",
156       # TODO(GYP): Remove these when the components_unittests work.
157       "//components/history/core/test:test",
158       "//components/policy:policy_component_test_support",
159       "//components/policy:test_support",
160       "//components/rappor:test_support",
161       "//components/signin/core/browser:test_support",
162       "//components/sync_driver:test_support",
163       "//components/user_manager",
164       "//components/wallpaper",
165       "//content/shell/android:content_shell_apk",
167       # TODO(GYP): Are these needed, or will they be pulled in automatically?
168       "//third_party/android_tools:android_gcm_java",
169       "//third_party/android_tools:uiautomator_java",
170       "//third_party/android_tools:android_support_v13_java",
171       "//third_party/android_tools:android_support_v7_appcompat_java",
172       "//third_party/android_tools:android_support_v7_mediarouter_java",
173       "//third_party/mesa",
174       "//third_party/mockito:mockito_java",
175       "//third_party/openmax_dl/dl",
176       "//third_party/speex",
177       "//ui/android:ui_java",
179       # TODO(GYP): Are these needed?
180       "//chrome/test:test_support_unit",
181       "//third_party/smhasher:murmurhash3",
182       "//ui/message_center:test_support",
183     ]
184     deps -= [
185       "//breakpad:symupload",  # TODO(GYP) ??
186       "//chrome",  # TODO(GYP) ??
187       "//chrome/test:browser_tests",  # TODO(GYP) ??
188       "//chrome/test:interactive_ui_tests",  # TODO(GYP) ??
189       "//chrome/test:sync_integration_tests",  # TODO(GYP) ??
190       "//chrome/test:unit_tests",  # TODO(GYP)
192       # Chromedriver shouldn't be compiled on Android.
193       "//chrome/test/chromedriver:chromedriver_unittests",
194       "//extensions:extensions_browsertests",
195       "//extensions:extensions_unittests",
196       "//google_apis/gcm:gcm_unit_tests",
197       "//ipc:ipc_tests",  # TODO(GYP) ??
198       "//jingle:jingle_unittests",  # TODO(GYP) ??
199       "//net:hpack_example_generator",
200       "//net:hpack_fuzz_mutator",
201       "//net:hpack_fuzz_wrapper",
202       "//net:net_perftests",
203       "//net:net_unittests",
204       "//ppapi/examples",
205       "//third_party/pdfium/samples:pdfium_test",
206       "//tools/gn",
207       "//tools/gn:gn_unittests",
208       "//ui/app_list:app_list_unittests",
209       "//url:url_unittests",
210     ]
212     if (has_chrome_android_internal) {
213       deps += [ "//clank" ]  # TODO(GYP) ??
214     }
215   }
217   if (is_linux) {
218     # The following are definitely linux-only.
219     deps += [
220       "//breakpad:breakpad_unittests",
221       "//breakpad:generate_test_dump",
222       "//dbus:dbus_test_server",
223       "//dbus:dbus_unittests",
224       "//net:disk_cache_memory_test",
225       "//net:flip_in_mem_edsm_server",
226       "//net:flip_in_mem_edsm_server_unittests",
227       "//net:quic_client",
228       "//net:quic_server",
229       "//sandbox/linux:chrome_sandbox",
230       "//sandbox/linux:sandbox_linux_unittests",
231       "//sandbox/linux:sandbox_linux_jni_unittests",
232     ]
234     if (is_chromeos || use_ash) {
235       deps += [ "//components/session_manager/core" ]
236     }
237   }
239   if (is_linux && !is_chromeos) {
240     deps += [
241       # TODO(GYP): Figure out which of these should (and can) build
242       # under which other conditions.
243       "//base:base_perftests",
244       "//base:base_i18n_perftests",
245       "//base:check_example",
246       "//base:protect_file_posix",
247       "//base:build_utf8_validator_tables",
248       "//breakpad:core-2-minidump",
249       "//breakpad:minidump-2-core",
250       "//build/sanitizers:copy_llvm_symbolizer",
251       "//cc/blink:cc_blink_unittests",
252       "//cc:cc_perftests",
253       "//chrome/test:chrome_app_unittests",
254       "//chrome/test:load_library_perf_tests",
255       "//chrome/test:sync_performance_tests",
256       "//chrome/test/chromedriver:chromedriver",
257       "//chrome/test/chromedriver:chromedriver_tests",
258       "//chrome/tools/profile_reset:jtl_compiler",
259       "//components:components_perftests",
260       "//components/network_hints/browser",
261       "//components/webui_generator",
262       "//content/public/app:browser",
263       "//content/public/app:child",
264       "//content/test:content_gl_tests",
265       "//content/test:content_gl_benchmark",
266       "//courgette:courgette",
267       "//courgette:courgette_fuzz",
268       "//courgette:courgette_minimal_tool",
269       "//courgette:courgette_unittests",
270       "//device:device_unittests",
271       "//gin:gin_shell",
272       "//gin:gin_v8_snapshot_fingerprint",
273       "//gin:gin_unittests",
274       "//google_apis:google_apis_unittests",
275       "//google_apis/gcm:mcs_probe",
276       "//gpu:angle_unittests",
277       "//gpu:gl_tests",
279       # TODO(GYP): Remove this when the gles2 tests work
280       "//gpu/command_buffer/client:gles2_implementation_no_check",
282       "//gpu:gpu_perftests",
283       "//gpu/khronos_glcts_support:khronos_glcts_test",  # TODO(GYP) crbug.com/471903 to make this complete.
284       "//ipc:ipc_perftests",
285       "//media:ffmpeg_regression_tests",  # TODO(GYP) this should be conditional on media_use_ffmpeg
286       "//media:media_perftests",
287       "//media/cast:cast_benchmarks",
288       "//media/cast:generate_barcode_video",
289       "//media/cast:generate_timecode_audio",
290       "//media/cast:tap_proxy",
291       "//mojo/application",
292       "//net:crash_cache",
293       "//net:crl_set_dump",
294       "//net:dns_fuzz_stub",
295       "//net:gdig",
296       "//net:get_server_time",
297       "//net:net_watcher",  # TODO(GYP): This should be conditional on use_v8_in_net
298       "//net:stress_cache",
299       "//net:tld_cleanup",
300       "//net:run_testserver",
301       "//net:dump_cache",
302       "//ppapi:pepper_hash_for_uma",
303       "//ppapi:ppapi_perftests",  # TODO(GYP): Are there other ppapi_* test targets?
304       "//skia:filter_fuzz_stub",
305       "//skia:image_operations_bench",
306       "//sync:run_sync_testserver",
307       "//sync:sync_endtoend_tests",
308       "//sync/tools:sync_client",
309       "//sync/tools:sync_listen_notifications",
310       "//testing/gmock:gmock_main",
311       "//third_party/codesighs:maptsvdifftool",
312       "//third_party/libphonenumber:libphonenumber_unittests",
313       "//third_party/mojo/src/mojo/edk/test:mojo_public_system_perftests",
314       "//tools/gn:generate_test_gn_data",
315       "//tools/perf/clear_system_cache",
316       "//ui/keyboard:keyboard_unittests",
317       "//ui/message_center:message_center_unittests",
318       "//ui/snapshot:snapshot_unittests",
319       "//ui/views/examples:views_examples_with_content_exe",
321       # "//v8:v8_snapshot",  # TODO(GYP): visibility?
322       # "//v8:postmortem-metadata",  # TODO(GYP): visibility?
324       "//third_party/codesighs:nm2tsv",
325       "//third_party/leveldatabase:env_chromium_unittests",
326       "//third_party/libaddressinput:libaddressinput_unittests",
327       "//third_party/sqlite:sqlite_shell",
328       "//ui/compositor:compositor_unittests",
329     ]
331     if (current_toolchain == host_toolchain) {
332       # Do not build the breakpad utilities in cross-compiles.
333       deps += [
334         "//breakpad:dump_syms",
335         "//breakpad:microdump_stackwalk",
336         "//breakpad:minidump_dump",
337         "//breakpad:minidump_stackwalk",
338       ]
339     }
341     if (enable_extensions) {
342       deps += [ "//extensions/shell:app_shell" ]
343     }
345     if (enable_nacl) {
346       deps += [ "//components/nacl:nacl_loader_unittests" ]
347     }
349     if (!is_debug && !is_component_build) {
350       deps += [ "//chrome/tools/service_discovery_sniffer" ]
351     }
353     if (toolkit_views) {
354       deps += [ "//ui/app_list:app_list_demo" ]
355     }
357     if (use_ash) {
358       deps += [
359         "//ash:ash_shell",
360         "//ash:ash_shell_unittests",
361         "//ash:ash_unittests",
362       ]
363     }
365     if (use_aura) {
366       deps += [
367         "//ui/aura:aura_unittests",
368         "//ui/aura:bench",
369         "//ui/aura:demo",
370       ]
371     }
373     if (use_x11) {
374       deps += [ "//media:player_x11" ]
375       if (target_cpu != "arm") {
376         deps += [ "//gpu/tools/compositor_model_bench" ]
377       }
378     }
379   }
381   if (is_mac) {
382     deps += [
383       "//breakpad:crash_inspector",
384       "//breakpad:dump_syms",
385       "//breakpad:symupload",
386       "//third_party/apple_sample_code",
387       "//third_party/molokocacao",
388     ]
390     # TODO(GYP): Remove these when the targets below work and these
391     # are pulled in automatically.
392     deps += [
393       "//cc/blink",
394       "//components/ui/zoom:ui_zoom",
395       "//content",
396       "//content/test:test_support",
397       "//device/battery",
398       "//device/bluetooth",
399       "//device/nfc",
400       "//device/usb",
401       "//device/vibration",
402       "//media/blink",
403       "//pdf",
404       "//storage/browser",
405       "//third_party/brotli",
406       "//third_party/flac",
407       "//third_party/hunspell",
408       "//third_party/iccjpeg",
409       "//third_party/libphonenumber",
410       "//third_party/ots",
411       "//third_party/qcms",
412       "//third_party/smhasher:murmurhash3",
413       "//third_party/speex",
414       "//third_party/webrtc/system_wrappers",
415       "//ui/native_theme",
416       "//ui/snapshot",
417       "//ui/surface",
418     ]
420     # TODO(dpranke): These are as-yet untriaged but need at least the above.
421     deps -= [
422       "//chrome",  # TODO(GYP)
423       "//chrome/test:browser_tests",  # TODO(GYP)
424       "//chrome/test:interactive_ui_tests",  # TODO(GYP)
425       "//chrome/test:sync_integration_tests",  # TODO(GYP)
426       "//chrome/test:unit_tests",  # TODO(GYP)
427       "//components:components_browsertests",  # TODO(GYP)
428       "//components:components_unittests",  # TODO(GYP)
429       "//content/test:content_browsertests",  # TODO(GYP)
430       "//content/test:content_perftests",  # TODO(GYP)
431       "//content/test:content_unittests",  # TODO(GYP)
432       "//extensions:extensions_browsertests",  # TODO(GYP)
433       "//extensions:extensions_unittests",  # TODO(GYP)
434       "//net:net_unittests",  # TODO(GYP)
435       "//ui/app_list:app_list_unittests",  # TODO(GYP)
436       "//ui/gfx:gfx_unittests",  # TODO(GYP)
437     ]
438   } else if (is_win) {
439     deps += [ "//ui/metro_viewer" ]
440     deps -= [
441       "//crypto:crypto_unittests",  # TODO(GYP)
442       "//net:net_unittests",  # TODO(GYP)
443     ]
444   }
447 group("gn_only") {
448   testonly = true
450   if (is_linux && !is_chromeos) {
451     # TODO(GYP): Figure out if any of these should be in gn_all
452     # and figure out how cross-platform they are
453     deps = [
454       ":gn_mojo_targets",
455       "//chrome/browser/resources:extension_resource_demo",
456       "//chrome/installer/util:strings",
457       "//chrome:main_dll",
458       "//chrome/test:load_library_perf_tests",
459       "//chrome/tools/convert_dict",
460       "//components/constrained_window:unit_tests",
461       "//components/enhanced_bookmarks:test_support",
462       "//components/password_manager/content/renderer:browser_tests",
463       "//components/metrics:serialization",
464       "//components/proximity_auth:proximity_auth_unittests",
465       "//components/rappor:unit_tests",
466       "//components/sessions:unit_tests",
467       "//media/blink:media_blink_unittests",
468       "//media/base:base_for_cast_ios",
469       "//media/cast:udp_proxy",
470       "//native_client/src/trusted/platform_qualify:vcpuid",
471       "//native_client/src/trusted/debug_stub:gdb_rsp_unittest",
472       "//storage/browser:dump_file_system",
473       "//third_party/angle:libANGLE",
474       "//third_party/angle:libEGL",
475       "//third_party/angle:libGLESv2",
476       "//third_party/cld_2:cld_2_dynamic_data_tool",
477       "//third_party/leveldatabase:leveldb_arena_test",
478       "//third_party/leveldatabase:leveldb_bloom_test",
479       "//third_party/leveldatabase:leveldb_db_test",
480       "//third_party/leveldatabase:leveldb_crc32c_test",
481       "//third_party/leveldatabase:leveldb_cache_test",
482       "//third_party/leveldatabase:leveldb_env_test",
483       "//third_party/leveldatabase:leveldb_write_batch_test",
484       "//third_party/leveldatabase:leveldb_filter_block_test",
485       "//third_party/leveldatabase:leveldb_version_edit_test",
486       "//third_party/leveldatabase:leveldb_db_bench",
487       "//third_party/leveldatabase:leveldb_log_test",
488       "//third_party/leveldatabase:leveldb_corruption_test",
489       "//third_party/leveldatabase:leveldb_table_test",
490       "//third_party/leveldatabase:leveldb_skiplist_test",
491       "//third_party/leveldatabase:leveldb_filename_test",
492       "//third_party/leveldatabase:leveldb_dbformat_test",
493       "//third_party/pdfium/third_party:freetype",
494       "//third_party/libjingle:peerconnnection_server",
495       "//third_party/libjpeg_turbo:simd",
496       "//third_party/libjpeg_turbo:simd_asm",
497       "//third_party/libsrtp:replay_driver",
498       "//third_party/libsrtp:roc_driver",
499       "//third_party/libsrtp:rtpw",
500       "//third_party/libsrtp:rdbx_driver",
501       "//third_party/libsrtp:srtp_driver",
502       "//third_party/libsrtp:srtp_driver",
503       "//third_party/libsrtp:srtp_test_kernel_driver",
504       "//third_party/libsrtp:srtp_test_cipher_driver",
505       "//third_party/libsrtp:srtp_test_datatypes_driver",
506       "//third_party/libsrtp:srtp_test_aes_calc",
507       "//third_party/libsrtp:srtp_test_env",
508       "//third_party/libsrtp:srtp_test_rand_gen",
509       "//third_party/libsrtp:srtp_test_sha1_driver",
510       "//third_party/libsrtp:srtp_test_stat_driver",
511       "//third_party/opus:opus_compare",
512       "//third_party/opus:opus_demo",
513       "//third_party/opus:test_opus_decode",
514       "//third_party/opus:test_opus_encode",
515       "//third_party/opus:test_opus_api",
516       "//third_party/opus:test_opus_padding",
517       "//third_party/webrtc/system_wrappers:field_trial_default",
518       "//third_party/webrtc/system_wrappers:metrics_default",
519       "//ui/display/types",
520       "//ui/shell_dialogs:shell_dialogs_unittests",
521       "//ui/views/examples:views_examples_exe",
522     ]
523     if (enable_nacl) {
524       deps += [ "//native_client/src/trusted/service_runtime:sel_ldr" ]
525     }
526     if (use_ozone) {
527       deps += [ "//ui/ozone/demo" ]
528     }
529     if (is_android) {
530       deps += [ "//build/android/gyp/test:hello_world" ]
531     }
533     if (is_linux && current_toolchain == host_toolchain) {
534       deps += [ "//v8:d8" ]
535     }
536   }
539 group("gn_mojo_targets") {
540   testonly = true
541   if (is_linux && !is_chromeos) {
542     # TODO(GYP): Figure out if any of these should be in gn_all
543     # and figure out how cross-platform they are
544     deps = [
545       "//chrome/browser/ui/webui/omnibox:mojo_bindings_python",
546       "//chrome/browser/ui/webui/omnibox:mojo_bindings_dart",
547       "//content/public/common:mojo_bindings_dart",
548       "//content/public/common:mojo_bindings_python",
549       "//content/common:mojo_bindings_dart",
550       "//content/common:mojo_bindings_python",
551       "//content/test:web_ui_test_mojo_bindings_dart",
552       "//content/test:web_ui_test_mojo_bindings_python",
553       "//device/battery:mojo_bindings_python",
554       "//device/battery:mojo_bindings_dart",
555       "//device/vibration:mojo_bindings_dart",
556       "//device/vibration:mojo_bindings_python",
557       "//ipc/mojo:ipc_mojo_perftests",
558       "//ipc/mojo:client_channel_dart",
559       "//ipc/mojo:client_channel_python",
560       "//media/mojo/interfaces:interfaces_dart",
561       "//media/mojo/interfaces:interfaces_python",
562       "//media/mojo/services:cdm_service",
563       "//media/mojo:tests",
564       "//net/interfaces:interfaces_dart",
565       "//net/interfaces:interfaces_python",
566       "//third_party/mojo/src/mojo/edk/js/test:js_integration_tests",
567       "//third_party/mojo/src/mojo/edk/js/tests:js_to_cpp_bindings_dart",
568       "//third_party/mojo/src/mojo/edk/js/tests:js_to_cpp_bindings_python",
569       "//third_party/mojo/src/mojo/public/python:packaged_application",
570       "//third_party/mojo/src/mojo/public/python:packaged_bindings",
571       "//third_party/mojo/src/mojo/public/cpp/application:test_support_standalone",
572       "//third_party/mojo_services/src/accessibility/public/interfaces:interfaces_dart",
573       "//third_party/mojo_services/src/accessibility/public/interfaces:interfaces_python",
574       "//third_party/mojo_services/src/window_manager/public/interfaces:interfaces_dart",
575       "//third_party/mojo_services/src/window_manager/public/interfaces:interfaces_python",
576     ]
578     if (!is_debug) {
579       deps += [
580         "//mojo/services/html_viewer:tests",
581         "//mojo/services/network:apptests",
582       ]
583     }
584   }
587 group("gn_visibility") {
588   deps = [
589     # "//build/config/sanitizers:options_sources",
590     # "//third_party/pdfium:pdfium_embeddertests",  # TODO(GYP): visibility?
591     # "//third_party/pdfium:pdfium_unittests",  # TODO(GYP): visibility?
592     # "//ui/resources:repack_ui_test_mac_locale_pack",
593     # "//v8:v8_snapshot",  # TODO(GYP): visibility?
594     # "//v8:postmortem-metadata",  # TODO(GYP): visibility?
595   ]
598 if (is_linux) {
599   # This group corresponds to the list of tests run on the waterfall for
600   # desktop Linux GYP builds from testing/buildbot/chromium.linux.json. It's
601   # here to help track GYP -> GN conversion progress.
602   group("linux_default_tests") {
603     testonly = true
604     deps = [
605       # components_browsertests  TODO(GYP)
607       "//base:base_unittests",  # PASSES (*) 2/25/2015
608       "//cc:cc_unittests",  # PASSES 2/25/2015
609       "//chrome/test:browser_tests",
610       "//chrome/test:interactive_ui_tests",
611       "//chrome/test:sync_integration_tests",  # Crashes for brettw in GN and GYP.
612       "//chrome/test:unit_tests",  # PASSES 2/25/2015
613       "//chrome/test/chromedriver:chromedriver_unittests",  # PASSES 2/25/2015
614       "//components:components_unittests",  # PASSES 2/27/2015
615       "//content/test:content_browsertests",
616       "//content/test:content_unittests",  # PASSES 2/25/2015
617       "//crypto:crypto_unittests",  # PASSES 2/25/2015
618       "//dbus:dbus_unittests",  # PASSES 2/25/2015
619       "//device:device_unittests",  # PASSES 3/07/2015
620       "//extensions:extensions_browsertests",  # PASSES 2/25/2015
621       "//extensions:extensions_unittests",  # PASSES 2/25/2015
622       "//extensions/shell:app_shell_unittests",  # PASSES 2/25/2015
623       "//google_apis/gcm:gcm_unit_tests",  # PASSES 2/25/2015
624       "//google_apis:google_apis_unittests",  # PASSES 2/25/2015
625       "//gpu:gpu_unittests",  # PASSES 2/25/2015
626       "//ipc:ipc_tests",  # PASSES 2/25/2015
627       "//ipc/mojo:ipc_mojo_unittests",  # PASSES 2/25/2015
628       "//jingle:jingle_unittests",  # PASSES 2/25/2015
629       "//media/cast:cast_unittests",  # PASSES 2/25/2015
630       "//media:media_unittests",  # PASSES 3/3/2015
631       "//mojo/common:mojo_common_unittests",  # PASSES 2/25/2015
632       "//net:net_unittests",  # PASSES 2/25/2015
633       "//ppapi:ppapi_unittests",  # PASSES 2/26/2015
634       "//printing:printing_unittests",  # PASSES 2/25/2015
635       "//remoting:remoting_unittests",  # Some crashes.
636       "//sandbox/linux:sandbox_linux_unittests",  # PASSES 2/25/2015
637       "//skia:skia_unittests",  # PASSES 2/25/2015
638       "//sql:sql_unittests",  # PASSES 2/25/2015
639       "//sync:sync_unit_tests",  # PASSES 2/25/2015
640       "//third_party/cacheinvalidation:cacheinvalidation_unittests",  # PASSES 2/25/2015
641       "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",  # PASSES 2/25/2015
642       "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",  # PASSES 2/25/2015
643       "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",  # PASSES 2/25/2015
644       "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",  # PASSES 2/25/2015
645       "//ui/accessibility:accessibility_unittests",  # PASSES 2/25/2015
646       "//ui/app_list:app_list_unittests",  # PASSES 2/25/2015
647       "//ui/aura:aura_unittests",  # PASSES 2/25/2015
648       "//ui/base:ui_base_unittests",  # TODO(GYP) ResourceBundleTest.* fails.
649       "//ui/compositor:compositor_unittests",  # PASSES 2/25/2015
650       "//ui/display:display_unittests",  # PASSES 2/25/2015
651       "//ui/events:events_unittests",  # PASSES 2/25/2015
652       "//ui/gfx:gfx_unittests",  # PASSES 2/25/2015
653       "//ui/touch_selection:ui_touch_selection_unittests",  # PASSES 2/25/2015
654       "//ui/views:views_unittests",  # PASSES (*) 2/25/2015
655       "//ui/wm:wm_unittests",  # PASSES 2/25/2015
656       "//url:url_unittests",  # PASSES 2/25/2015
658       # Note:
659       # (*) Fails but failures match GYP build at time of testing.
660     ]
662     if (enable_nacl) {
663       deps += [ "//components/nacl:nacl_loader_unittests" ]  # PASSES 3/28/2015
664     }
665   }