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