blob: 2a69e0ec5b72434adafc0fab549ad4080c95726c [file] [log] [blame]
[email protected]824288842014-06-20 05:26:591# Use of this source code is governed by a BSD-style license that can be
2# found in the LICENSE file.
3
Daniel Nicoara46aa8292018-09-12 15:03:034import("//build/config/chromecast_build.gni")
Yuta Hijikata1455a2a2020-11-12 09:04:065import("//build/config/chromeos/ui_mode.gni")
Scott Violetc8240b02018-03-08 22:03:596import("//extensions/buildflags/buildflags.gni")
qsrfb5251d12015-01-21 15:57:227import("//testing/test.gni")
[email protected]824288842014-06-20 05:26:598import("//tools/grit/grit_rule.gni")
[email protected]5842610c2014-08-07 03:35:189import("//tools/grit/repack.gni")
James Cookab78ff82018-12-19 18:23:2110import("//ui/base/ui_features.gni")
[email protected]824288842014-06-20 05:26:5911
thestigda556af2014-11-01 00:51:3112assert(enable_extensions)
Mathias Carlenda7b8ec2020-01-07 09:16:2713assert(
14 !(enable_autofill_assistant_api && is_official_build),
15 "The AutofillAssistant Extension API must be disabled in official builds.")
thestigda556af2014-11-01 00:51:3116
[email protected]824288842014-06-20 05:26:5917group("extensions_resources") {
brettw717185d2015-09-18 19:58:5718 public_deps = [
mukai4245dfe82014-09-05 17:40:5119 ":extensions_browser_resources",
[email protected]824288842014-06-20 05:26:5920 ":extensions_renderer_resources",
21 ":extensions_resources_grd",
22 ]
23}
24
[email protected]824288842014-06-20 05:26:5925grit("extensions_resources_grd") {
26 source = "extensions_resources.grd"
[email protected]b89c53842014-07-23 16:32:3227 outputs = [
28 "grit/extensions_resources.h",
29 "extensions_resources.pak",
30 ]
[email protected]824288842014-06-20 05:26:5931}
32
mukai4245dfe82014-09-05 17:40:5133grit("extensions_browser_resources") {
34 source = "browser/resources/extensions_browser_resources.grd"
35 outputs = [
36 "grit/extensions_browser_resources.h",
37 "grit/extensions_browser_resources_map.cc",
38 "grit/extensions_browser_resources_map.h",
39 "extensions_browser_resources_100_percent.pak",
40 "extensions_browser_resources_200_percent.pak",
41 ]
mukai4245dfe82014-09-05 17:40:5142}
43
[email protected]824288842014-06-20 05:26:5944grit("extensions_renderer_resources") {
45 source = "renderer/resources/extensions_renderer_resources.grd"
Daniel Nicoara46aa8292018-09-12 15:03:0346 defines = [ "is_chromecast=$is_chromecast" ]
[email protected]b89c53842014-07-23 16:32:3247 outputs = [
48 "grit/extensions_renderer_resources.h",
49 "extensions_renderer_resources.pak",
50 ]
scottmg22d2efa2014-12-03 19:21:2251 grit_flags = [
52 "-E",
wychen5e1f7252017-05-30 08:05:1053 "mojom_root=" + rebase_path(root_gen_dir, root_build_dir),
scottmg22d2efa2014-12-03 19:21:2254 ]
cjhopman11a68cb2014-10-13 22:47:5455
cjhopman11a68cb2014-10-13 22:47:5456 deps = [
Miyoung Shine12a96d92019-07-25 01:46:5357 "//extensions/common:mojom_js",
yzshen9e737bf2017-06-21 19:38:2358 "//extensions/common/api:mojom_js",
Ke He31d0bb02018-02-24 07:16:2459 "//services/device/public/mojom:mojom_js",
cjhopman11a68cb2014-10-13 22:47:5460 ]
[email protected]824288842014-06-20 05:26:5961}
[email protected]016eeef82014-08-01 20:37:4362
Dirk Pranke9c0fc3b2020-08-06 16:01:3063static_library("test_support") {
Brett Wilson8f80ad0b2014-09-08 19:50:2464 testonly = true
brettw3728a542016-09-02 21:56:2665 sources = [
lazyboy3fe97522017-01-27 18:13:0866 "browser/api/declarative/test_rules_registry.cc",
67 "browser/api/declarative/test_rules_registry.h",
brettw3728a542016-09-02 21:56:2668 "browser/api/storage/settings_test_util.cc",
69 "browser/api/storage/settings_test_util.h",
70 "browser/api_test_utils.cc",
71 "browser/api_test_utils.h",
72 "browser/api_unittest.cc",
73 "browser/api_unittest.h",
74 "browser/app_window/test_app_window_contents.cc",
75 "browser/app_window/test_app_window_contents.h",
Istiaque Ahmed72816eaa2018-01-30 22:37:0676 "browser/content_verifier/test_utils.cc",
77 "browser/content_verifier/test_utils.h",
brettw3728a542016-09-02 21:56:2678 "browser/extension_error_test_util.cc",
79 "browser/extension_error_test_util.h",
80 "browser/extensions_test.cc",
81 "browser/extensions_test.h",
82 "browser/guest_view/mime_handler_view/test_mime_handler_view_guest.cc",
83 "browser/guest_view/mime_handler_view/test_mime_handler_view_guest.h",
84 "browser/mock_extension_system.cc",
85 "browser/mock_extension_system.h",
lazyboya00eafc2017-04-08 00:57:1986 "browser/mock_external_provider.cc",
87 "browser/mock_external_provider.h",
brettw3728a542016-09-02 21:56:2688 "browser/scoped_ignore_content_verifier_for_test.cc",
89 "browser/scoped_ignore_content_verifier_for_test.h",
Michael Giuffrida2f2cf6c2017-09-06 19:23:3090 "browser/test_event_router.cc",
91 "browser/test_event_router.h",
brettw3728a542016-09-02 21:56:2692 "browser/test_extension_registry_observer.cc",
93 "browser/test_extension_registry_observer.h",
94 "browser/test_extensions_browser_client.cc",
95 "browser/test_extensions_browser_client.h",
96 "browser/test_image_loader.cc",
97 "browser/test_image_loader.h",
98 "browser/test_management_policy.cc",
99 "browser/test_management_policy.h",
100 "browser/test_runtime_api_delegate.cc",
101 "browser/test_runtime_api_delegate.h",
102 "common/extension_builder.cc",
103 "common/extension_builder.h",
104 "common/manifest_test.cc",
105 "common/manifest_test.h",
isandrk556c3fd2017-05-02 13:07:17106 "common/permissions/mock_manifest_permission.cc",
107 "common/permissions/mock_manifest_permission.h",
brettw3728a542016-09-02 21:56:26108 "common/permissions/permission_message_test_util.cc",
109 "common/permissions/permission_message_test_util.h",
Marek Haranczykfef658d2018-04-18 17:56:51110 "common/scoped_testing_manifest_handler_registry.cc",
111 "common/scoped_testing_manifest_handler_registry.h",
brettw3728a542016-09-02 21:56:26112 "renderer/test_extensions_renderer_client.cc",
113 "renderer/test_extensions_renderer_client.h",
114 "test/background_page_watcher.cc",
115 "test/background_page_watcher.h",
Devlin Croninae071f72020-03-07 00:21:35116 "test/extension_background_page_waiter.cc",
117 "test/extension_background_page_waiter.h",
brettw3728a542016-09-02 21:56:26118 "test/extension_test_message_listener.cc",
119 "test/extension_test_message_listener.h",
steelf65a72a2016-10-19 22:16:45120 "test/extension_test_notification_observer.cc",
121 "test/extension_test_notification_observer.h",
Devlin Cronind13e7e52018-02-07 19:50:32122 "test/logging_timer.cc",
123 "test/logging_timer.h",
brettw3728a542016-09-02 21:56:26124 "test/result_catcher.cc",
125 "test/result_catcher.h",
Istiaque Ahmed7bfcef32019-08-13 17:18:02126 "test/test_background_page_first_load_observer.cc",
127 "test/test_background_page_first_load_observer.h",
Maksim Ivanov4b31b642020-07-10 00:32:48128 "test/test_background_page_ready_observer.cc",
129 "test/test_background_page_ready_observer.h",
Kelvin Jianga22822f62021-01-23 07:02:54130 "test/test_content_script_load_waiter.cc",
131 "test/test_content_script_load_waiter.h",
brettw3728a542016-09-02 21:56:26132 "test/test_content_utility_client.cc",
133 "test/test_content_utility_client.h",
Devlin Cronin4f455a22018-01-25 01:36:45134 "test/test_extension_dir.cc",
135 "test/test_extension_dir.h",
brettw3728a542016-09-02 21:56:26136 "test/test_extensions_client.cc",
137 "test/test_extensions_client.h",
138 "test/test_permission_message_provider.cc",
139 "test/test_permission_message_provider.h",
140 ]
scottmg7c7296f42015-02-28 02:23:09141
brettwd1c719a2015-02-19 23:17:04142 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
143 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]016eeef82014-08-01 20:37:43144
145 deps = [
[email protected]bc8a0922014-08-20 00:51:08146 ":extensions_resources",
[email protected]016eeef82014-08-01 20:37:43147 "//base",
Yuta Hijikata1455a2a2020-11-12 09:04:06148 "//build:chromeos_buildflags",
Takashi Sakamoto852d7252019-08-27 09:56:21149 "//chrome/common:buildflags",
fsamuelaf5bf6d12015-05-28 16:29:54150 "//components/guest_view/browser:test_support",
brettw9f7802a22016-01-30 06:40:17151 "//components/prefs:test_support",
a-v-yb2cf8f82016-12-11 17:35:07152 "//components/sync_preferences:test_support",
jamescook62117922014-10-20 14:35:11153 "//content/public/common",
154 "//content/test:test_support",
[email protected]016eeef82014-08-01 20:37:43155 "//extensions/browser",
Karan Bhatia71f6a622017-10-02 19:39:10156 "//extensions/browser:test_support",
Evan Stade442ec9d2021-01-07 21:59:11157 "//extensions/browser/api/storage",
[email protected]016eeef82014-08-01 20:37:43158 "//extensions/common",
Devlin Cronindf96db52018-08-20 21:41:15159 "//extensions/common:core_api_provider",
[email protected]016eeef82014-08-01 20:37:43160 "//extensions/common/api",
Devlin Cronin9ee032f2018-07-13 19:30:25161 "//extensions/common/api:extensions_features",
[email protected]016eeef82014-08-01 20:37:43162 "//net:test_support",
Julie Jeongeun Kimab3f20d2020-12-08 05:01:15163 "//services/network/public/mojom",
[email protected]5842610c2014-08-07 03:35:18164 "//testing/gmock",
[email protected]016eeef82014-08-01 20:37:43165 "//testing/gtest",
Charles Zhao55c4c752017-11-09 00:07:49166 "//third_party/cld_3/src/src:cld_3",
[email protected]016eeef82014-08-01 20:37:43167 ]
168
Samuel Huangd0b0e062020-01-20 06:32:12169 public_deps = [ "//content/public/browser" ]
[email protected]016eeef82014-08-01 20:37:43170}
[email protected]5842610c2014-08-07 03:35:18171
[email protected]5842610c2014-08-07 03:35:18172repack("shell_and_test_pak") {
Xiyuan Xia2397ff82018-09-18 22:52:27173 testonly = true
174
[email protected]5842610c2014-08-07 03:35:18175 sources = [
thakis300faa72017-02-28 23:59:43176 "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
[email protected]5842610c2014-08-07 03:35:18177 "$root_gen_dir/content/content_resources.pak",
Samuel Huangd0b0e062020-01-20 06:32:12178 "$root_gen_dir/content/dev_ui_content_resources.pak",
[email protected]5842610c2014-08-07 03:35:18179 "$root_gen_dir/content/shell/shell_resources.pak",
Reilly Grantfb8e0242021-01-14 11:56:52180 "$root_gen_dir/device/bluetooth/strings/bluetooth_strings_en-US.pak",
mukaiefb3eb02014-11-11 23:38:00181 "$root_gen_dir/extensions/extensions_browser_resources_100_percent.pak",
[email protected]5842610c2014-08-07 03:35:18182 "$root_gen_dir/extensions/extensions_renderer_resources.pak",
183 "$root_gen_dir/extensions/extensions_resources.pak",
jamescook62117922014-10-20 14:35:11184 "$root_gen_dir/extensions/shell/app_shell_resources.pak",
[email protected]5842610c2014-08-07 03:35:18185 "$root_gen_dir/extensions/strings/extensions_strings_en-US.pak",
Yuzhu Shen2efe42772017-11-11 02:01:09186 "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
Blink Reformata30d4232018-04-07 15:31:06187 "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
188 "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
Gyuyoung Kim8c5d0772019-09-18 15:41:39189 "$root_gen_dir/third_party/blink/public/strings/blink_strings_en-US.pak",
[email protected]5842610c2014-08-07 03:35:18190 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
191 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
192 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
[email protected]5842610c2014-08-07 03:35:18193 ]
194
195 output = "$root_out_dir/extensions_shell_and_test.pak"
196
197 deps = [
198 ":extensions_resources",
Samuel Huangd0b0e062020-01-20 06:32:12199 "//content:content_resources",
200 "//content:dev_ui_content_resources",
mukaiefb3eb02014-11-11 23:38:00201 "//content/browser/devtools:devtools_resources",
202 "//content/shell:resources",
Reilly Grantfb8e0242021-01-14 11:56:52203 "//device/bluetooth/strings",
jamescook62117922014-10-20 14:35:11204 "//extensions/shell:resources",
[email protected]5842610c2014-08-07 03:35:18205 "//extensions/strings",
Yuzhu Shen2efe42772017-11-11 02:01:09206 "//mojo/public/js:resources",
Blink Reformata30d4232018-04-07 15:31:06207 "//third_party/blink/public:resources",
208 "//third_party/blink/public:scaled_resources_100_percent",
Gyuyoung Kim8c5d0772019-09-18 15:41:39209 "//third_party/blink/public/strings",
[email protected]5842610c2014-08-07 03:35:18210 "//ui/resources",
211 "//ui/strings",
212 ]
213}
214
jamescookf112ccd2015-02-06 18:06:33215test("extensions_unittests") {
Dirk Pranke79d065d2020-08-29 03:28:30216 use_xvfb = use_xvfb_in_this_config
Yuke Liaof540c742020-07-29 16:28:34217
brettwdc1e6182016-08-30 20:52:13218 sources = [
219 "test/extensions_unittests_main.cc",
Devlin Cronind13e7e52018-02-07 19:50:32220 "test/logging_timer_unittest.cc",
jamescookf112ccd2015-02-06 18:06:33221 ]
222
dprankef497c7962015-07-31 19:46:23223 data = [
224 "test/data/",
225 "//chrome/test/data/extensions/",
ryanchungd318d762016-05-05 17:22:12226 "//components/test/data/cast_certificate/",
rockot8cba0362016-08-09 21:43:43227 "$root_out_dir/content_shell.pak",
dprankef497c7962015-07-31 19:46:23228 "$root_out_dir/extensions_shell_and_test.pak",
229 ]
230
jamescookf112ccd2015-02-06 18:06:33231 deps = [
232 ":extensions_resources",
233 ":shell_and_test_pak",
234 ":test_support",
jamescookf112ccd2015-02-06 18:06:33235 "//base/test:test_support",
brettwdc1e6182016-08-30 20:52:13236 "//content/public/common",
jamescookf112ccd2015-02-06 18:06:33237 "//content/test:test_support",
brettwdc1e6182016-08-30 20:52:13238 "//extensions/browser:unit_tests",
jamescookf112ccd2015-02-06 18:06:33239 "//extensions/common",
brettwdc1e6182016-08-30 20:52:13240 "//extensions/common:unit_tests",
241 "//extensions/renderer:unit_tests",
242 "//extensions/shell:unit_tests",
Jay Civelli52054ad22017-12-01 02:15:42243 "//services/data_decoder:lib",
244 "//services/service_manager/public/cpp/test:test_support",
brettwdc1e6182016-08-30 20:52:13245 "//ui/gl:test_support",
jamescookf112ccd2015-02-06 18:06:33246 ]
247
Samuel Huangd0b0e062020-01-20 06:32:12248 data_deps = [ "//third_party/mesa_headers" ]
[email protected]5842610c2014-08-07 03:35:18249}
rockotea9df2a2015-01-22 20:26:36250
251test("extensions_browsertests") {
Dirk Pranke79d065d2020-08-29 03:28:30252 use_xvfb = use_xvfb_in_this_config
Yuke Liaof540c742020-07-29 16:28:34253
dprankef497c7962015-07-31 19:46:23254 data = [
brettwdc1e6182016-08-30 20:52:13255 "//extensions/test/data/",
dprankef497c7962015-07-31 19:46:23256 "//net/tools/testserver/",
Keita Suzuki56512592020-03-06 09:42:48257 "//third_party/pywebsocket3/src/mod_pywebsocket/",
dprankef497c7962015-07-31 19:46:23258 "//third_party/tlslite/",
259 "$root_out_dir/extensions_shell_and_test.pak",
260 ]
261
rockotea9df2a2015-01-22 20:26:36262 deps = [
brettwdc1e6182016-08-30 20:52:13263 "//extensions/browser:browser_tests",
264 "//extensions/shell:browser_tests",
rockotea9df2a2015-01-22 20:26:36265 ]
266
Samuel Huangd0b0e062020-01-20 06:32:12267 data_deps = [ "//third_party/mesa_headers" ]
rockotea9df2a2015-01-22 20:26:36268}
brettw39355da2015-07-11 00:20:51269
270# TODO(rockot) bug 505926: These should be moved to extensions_browsertests but have
271# old dependencies on chrome files. The chrome dependencies should be removed
272# and these moved to the extensions_browsertests target. Currently, we solve
273# the problem by making this a source set and linking it into
274# //chrome/test:browser_tests.
275source_set("chrome_extensions_browsertests") {
276 testonly = true
brettw129f8512016-09-01 22:36:58277 sources = [
278 "browser/api/app_window/app_window_apitest.cc",
279 "browser/api/bluetooth/bluetooth_apitest.cc",
280 "browser/api/bluetooth/bluetooth_private_apitest.cc",
brettw129f8512016-09-01 22:36:58281 "browser/api/serial/serial_apitest.cc",
282 "browser/api/usb/usb_manual_apitest.cc",
283 "browser/app_window/app_window_browsertest.cc",
brettw129f8512016-09-01 22:36:58284 "browser/guest_view/mime_handler_view/mime_handler_view_browsertest.cc",
brettw129f8512016-09-01 22:36:58285 "renderer/script_context_browsertest.cc",
286 ]
brettw39355da2015-07-11 00:20:51287
288 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
289
290 # These are the deps from browser_tests minus some internal Chrome ones that
291 # aren't allowed to be included here and that aren't needed.
292 deps = [
293 "//base",
294 "//base:i18n",
brettw39355da2015-07-11 00:20:51295 "//base/test:test_support",
Yuta Hijikata1455a2a2020-11-12 09:04:06296 "//build:chromeos_buildflags",
brettw39355da2015-07-11 00:20:51297 "//chrome/browser",
brettw39355da2015-07-11 00:20:51298 "//chrome/common/extensions/api",
299 "//chrome/renderer",
300 "//components/autofill/content/browser:risk_proto",
brettw39355da2015-07-11 00:20:51301 "//components/autofill/content/renderer:test_support",
Colin Blundell7cf3fe32020-01-23 09:52:49302 "//components/captive_portal/core:test_support",
brettw15764b12015-11-30 22:11:05303 "//components/dom_distiller/content/browser",
brettw39355da2015-07-11 00:20:51304 "//components/dom_distiller/core:test_support",
305 "//components/guest_view/browser:test_support",
Evan Stade7220e472020-01-31 17:06:57306 "//components/javascript_dialogs",
brettw39355da2015-07-11 00:20:51307 "//components/resources",
308 "//components/strings",
Max Boguefef332d2016-07-28 22:09:09309 "//components/sync",
maxbogue91ee60682016-10-17 20:09:46310 "//components/sync:test_support_model",
brettw39355da2015-07-11 00:20:51311 "//components/translate/core/common",
brettw39355da2015-07-11 00:20:51312 "//crypto:platform",
313 "//crypto:test_support",
314 "//device/bluetooth:mocks",
brettw39355da2015-07-11 00:20:51315 "//extensions/common/api",
316 "//google_apis:test_support",
Dale Curtis77be7ae2017-08-18 15:56:48317 "//media:test_support",
brettw39355da2015-07-11 00:20:51318 "//net",
319 "//net:test_support",
brettw39355da2015-07-11 00:20:51320 "//skia",
brettw39355da2015-07-11 00:20:51321 "//testing/gmock",
322 "//testing/gtest",
323 "//testing/perf",
Blink Reformata30d4232018-04-07 15:31:06324 "//third_party/blink/public:blink",
brettw39355da2015-07-11 00:20:51325 "//third_party/icu",
326 "//third_party/leveldatabase",
327 "//third_party/libaddressinput",
Mirko Bonadeicbc90fd02019-11-14 22:26:17328 "//third_party/webrtc_overrides:webrtc_component",
brettwc5fcdd02016-10-12 07:25:12329 "//third_party/widevine/cdm:headers",
brettw39355da2015-07-11 00:20:51330 "//ui/accessibility:test_support",
331 "//ui/base:test_support",
332 "//ui/compositor:test_support",
333 "//ui/resources",
334 "//ui/web_dialogs:test_support",
335 "//v8",
336 ]
peletskyic8452f22016-02-23 15:26:12337
Yuta Hijikata1455a2a2020-11-12 09:04:06338 if (is_chromeos_ash) {
peletskyic8452f22016-02-23 15:26:12339 deps += [ "//components/user_manager:test_support" ]
340 }
brettw39355da2015-07-11 00:20:51341}
342
343# TODO(rockot) bug 505926: This should be deleted for the same reason as
344# chrome_extensions_browsertests.
345source_set("chrome_extensions_interactive_uitests") {
346 testonly = true
brettw129f8512016-09-01 22:36:58347 sources = [
348 "browser/app_window/app_window_interactive_uitest.cc",
Sam McNally4aa62fd02018-04-12 22:12:11349 "browser/guest_view/mime_handler_view/mime_handler_view_interactive_uitest.cc",
brettw129f8512016-09-01 22:36:58350 ]
brettw39355da2015-07-11 00:20:51351
352 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
353
354 # These are the deps from interactive_uitests minus some internal Chrome
355 # ones that aren't allowed to be included here and that aren't needed.
356 deps = [
brettw39355da2015-07-11 00:20:51357 "//chrome/browser",
358 "//chrome/browser/devtools",
359 "//chrome/renderer",
360 "//chrome/test:test_support",
Max Boguefef332d2016-07-28 22:09:09361 "//components/sync",
brettw39355da2015-07-11 00:20:51362 "//content/app/resources",
363 "//crypto:platform",
364 "//crypto:test_support",
365 "//google_apis:test_support",
366 "//net",
367 "//net:net_resources",
368 "//net:test_support",
369 "//skia",
brettw39355da2015-07-11 00:20:51370 "//testing/gmock",
371 "//testing/gtest",
372 "//third_party/hunspell",
373 "//third_party/icu",
374 "//third_party/libpng",
375 "//third_party/zlib",
376 "//ui/base:test_support",
377 "//ui/resources:ui_test_pak",
378 "//ui/web_dialogs:test_support",
379 ]
380}