# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # TODO(rockot) bug 505926: Don't include chrome files from here. # See chrome_browser_tests_extensions_sources below import("//chrome/chrome_tests.gni") import("//extensions/extensions.gni") import("//testing/test.gni") import("//tools/grit/grit_rule.gni") import("//tools/grit/repack.gni") assert(enable_extensions) # GYP version: extensions/extensions_resources.gyp:extensions_resources group("extensions_resources") { public_deps = [ ":extensions_browser_resources", ":extensions_renderer_resources", ":extensions_resources_grd", ] } # GYP version: extensions/extensions_resources.gyp:extensions_resources # (extensions_resources action) grit("extensions_resources_grd") { source = "extensions_resources.grd" outputs = [ "grit/extensions_resources.h", "extensions_resources.pak", ] } # GYP version: extensions/extensions_resources.gyp:extensions_resources # (extensions_browser_resources action) grit("extensions_browser_resources") { source = "browser/resources/extensions_browser_resources.grd" outputs = [ "grit/extensions_browser_resources.h", "grit/extensions_browser_resources_map.cc", "grit/extensions_browser_resources_map.h", "extensions_browser_resources_100_percent.pak", "extensions_browser_resources_200_percent.pak", ] grit_flags = [ "-E", "mojom_root=" + rebase_path(root_gen_dir), ] } # GYP version: extensions/extensions_resources.gyp:extensions_resources # (extensions_renderer_resources action) grit("extensions_renderer_resources") { source = "renderer/resources/extensions_renderer_resources.grd" outputs = [ "grit/extensions_renderer_resources.h", "extensions_renderer_resources.pak", ] grit_flags = [ "-E", "mojom_root=" + rebase_path(root_gen_dir), ] deps = [ "//chrome/browser/media/router:mojo_bindings__generator", "//device/serial:serial_mojo__generator", "//extensions/common:mojo__generator", "//extensions/common/api:mojom__generator", ] } source_set("test_support") { testonly = true sources = rebase_path(extensions_gypi_values.extensions_test_support_sources, ".", "//extensions") # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] deps = [ ":extensions_resources", "//base", "//components/guest_view/browser:test_support", "//components/pref_registry:test_support", "//components/prefs:test_support", "//content/public/common", "//content/test:test_support", "//extensions/browser", "//extensions/common", "//extensions/common/api", "//extensions/common/api:api_registration", "//net:test_support", "//testing/gmock", "//testing/gtest", ] public_deps = [ "//content/public/browser", "//extensions/common/api/cast_channel:cast_channel_proto", ] if (cld_version == 2) { deps += [ "//third_party/cld_2:cld2_static" ] } } # GYP version: //extensions/extensions.gyp:extensions_shell_and_test_pak repack("shell_and_test_pak") { sources = [ "$root_gen_dir/blink/devtools_resources.pak", "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak", "$root_gen_dir/blink/public/resources/blink_resources.pak", "$root_gen_dir/content/app/strings/content_strings_en-US.pak", "$root_gen_dir/content/content_resources.pak", "$root_gen_dir/content/shell/shell_resources.pak", "$root_gen_dir/extensions/extensions_browser_resources_100_percent.pak", "$root_gen_dir/extensions/extensions_renderer_resources.pak", "$root_gen_dir/extensions/extensions_resources.pak", "$root_gen_dir/extensions/shell/app_shell_resources.pak", "$root_gen_dir/extensions/strings/extensions_strings_en-US.pak", "$root_gen_dir/ui/resources/ui_resources_100_percent.pak", "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak", "$root_gen_dir/ui/strings/ui_strings_en-US.pak", ] output = "$root_out_dir/extensions_shell_and_test.pak" deps = [ ":extensions_resources", "//content:resources", "//content/app/strings", "//content/browser/devtools:devtools_resources", "//content/shell:resources", "//extensions/shell:resources", "//extensions/strings", "//third_party/WebKit/public:image_resources", "//third_party/WebKit/public:resources", "//ui/resources", "//ui/strings", ] } test("extensions_unittests") { sources = rebase_path(extensions_tests_gypi_values.extensions_unittests_sources, ".", "//extensions") sources += [ # TODO(rockot): DisplayInfoProvider::Create() is only implemented in Chrome # and app_shell. This is wrong. "shell/browser/shell_display_info_provider.cc", ] configs += [ "//build/config:precompiled_headers" ] data = [ "test/data/", "//chrome/test/data/extensions/", "$root_out_dir/extensions_shell_and_test.pak", ] deps = [ ":extensions_resources", ":shell_and_test_pak", ":test_support", "//base", "//base/test:test_support", "//components/keyed_service/content", "//components/pref_registry:test_support", "//components/prefs:test_support", "//components/user_prefs", "//content/test:test_support", "//device/bluetooth:mocks", "//device/core", "//device/hid", "//device/serial", "//device/serial:test_support", "//extensions/common", "//extensions/common/api/cast_channel:cast_channel_proto", "//extensions/renderer", "//extensions/strings", "//extensions/utility", "//mojo/edk/js", "//mojo/edk/system", "//mojo/public/cpp/bindings", "//mojo/shell/public/interfaces", "//testing/gmock", "//testing/gtest", "//third_party/leveldatabase", ] data_deps = [ "//third_party/mesa:osmesa", ] if (is_chromeos) { sources += [ "browser/api/webcam_private/visca_webcam_unittest.cc", # TODO(rockot): There are two implementations of VpnServiceFactory, a # stub in app_shell and a real one in Chrome. This is wrong. "shell/browser/api/vpn_provider/vpn_service_factory.cc", ] deps += [ "//chromeos:test_support" ] } } test("extensions_browsertests") { sources = rebase_path(extensions_tests_gypi_values.extensions_browsertests_sources, ".", "//extensions") data = [ "test/data/", "//net/data/", "//net/tools/testserver/", "//third_party/pyftpdlib/", "//third_party/pywebsocket/", "//third_party/tlslite/", "$root_out_dir/extensions_shell_and_test.pak", ] defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] deps = [ ":test_support", "shell:app_shell_lib", # TODO(yoz): find the right deps "//base", "//base/test:test_support", "//components/prefs:test_support", "//components/storage_monitor:test_support", "//content/test:browsertest_base", "//content/test:test_support", "//device/bluetooth:mocks", "//device/core:mocks", "//device/hid:mocks", "//device/usb:mocks", "//mojo/edk/js", "//mojo/edk/system", "//mojo/public/cpp/bindings", "//testing/gmock", "//testing/gtest", ] data_deps = [ "//third_party/mesa:osmesa", ] if (is_win) { if (target_cpu == "x86") { data_deps += [ # "$root_out_dir/wow_helper.exe" # TODO(GYP) ] } } if (is_mac) { deps += [ "shell:app_shell" ] # Needed for App Shell.app's Helper. } } # TODO(rockot) bug 505926: These should be moved to extensions_browsertests but have # old dependencies on chrome files. The chrome dependencies should be removed # and these moved to the extensions_browsertests target. Currently, we solve # the problem by making this a source set and linking it into # //chrome/test:browser_tests. source_set("chrome_extensions_browsertests") { testonly = true sources = rebase_path( chrome_tests_gypi_values.chrome_browser_tests_extensions_sources, ".", "//chrome") defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] # These are the deps from browser_tests minus some internal Chrome ones that # aren't allowed to be included here and that aren't needed. deps = [ "//base", "//base:i18n", "//base/test:test_support", "//chrome/browser", "//chrome/browser/resources:extension_resource_demo", "//chrome/common/extensions/api", "//chrome/renderer", "//components/autofill/content/browser:risk_proto", "//components/autofill/content/browser/wallet:test_support", "//components/autofill/content/renderer:test_support", "//components/captive_portal:test_support", "//components/dom_distiller/content/browser", "//components/dom_distiller/core:test_support", "//components/guest_view/browser:test_support", "//components/resources", "//components/strings", "//components/translate/core/common", "//crypto:platform", "//crypto:test_support", "//device/bluetooth:mocks", "//device/serial:test_support", "//extensions/common/api", "//google_apis:test_support", "//media", "//media/base:test_support", "//media/cast:test_support", "//net", "//net:test_support", "//sdch", "//skia", "//sync", "//sync:test_support_sync_api", "//testing/gmock", "//testing/gtest", "//testing/perf", "//third_party/WebKit/public:blink", "//third_party/cacheinvalidation", "//third_party/icu", "//third_party/leveldatabase", "//third_party/libaddressinput", "//third_party/libjingle", "//third_party/safe_browsing:test_support", "//third_party/webrtc/modules/desktop_capture", "//third_party/widevine/cdm:version_h", "//ui/accessibility:test_support", "//ui/base:test_support", "//ui/compositor:test_support", "//ui/resources", "//ui/web_dialogs:test_support", "//v8", ] if (is_chromeos) { deps += [ "//components/user_manager:test_support" ] } } # TODO(rockot) bug 505926: This should be deleted for the same reason as # chrome_extensions_browsertests. source_set("chrome_extensions_interactive_uitests") { testonly = true sources = rebase_path( chrome_tests_gypi_values.chrome_interactive_ui_test_extensions_sources, ".", "//chrome") defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] # These are the deps from interactive_uitests minus some internal Chrome # ones that aren't allowed to be included here and that aren't needed. deps = [ "//chrome/browser", "//chrome/browser/devtools", "//chrome/renderer", "//chrome/test:test_support", "//content/app/resources", "//crypto:platform", "//crypto:test_support", "//google_apis:test_support", "//net", "//net:net_resources", "//net:test_support", "//skia", "//sync", "//testing/gmock", "//testing/gtest", "//third_party/hunspell", "//third_party/icu", "//third_party/libpng", "//third_party/zlib", "//ui/base:test_support", "//ui/resources:ui_test_pak", "//ui/web_dialogs:test_support", ] }