blob: 6171cbeabfcfaf71664903c72d21bac62fcadb52 [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",
Devlin Cronind025bf82021-05-20 19:42:27118 "test/extension_state_tester.cc",
119 "test/extension_state_tester.h",
brettw3728a542016-09-02 21:56:26120 "test/extension_test_message_listener.cc",
121 "test/extension_test_message_listener.h",
steelf65a72a2016-10-19 22:16:45122 "test/extension_test_notification_observer.cc",
123 "test/extension_test_notification_observer.h",
Devlin Cronind13e7e52018-02-07 19:50:32124 "test/logging_timer.cc",
125 "test/logging_timer.h",
brettw3728a542016-09-02 21:56:26126 "test/result_catcher.cc",
127 "test/result_catcher.h",
Istiaque Ahmed7bfcef32019-08-13 17:18:02128 "test/test_background_page_first_load_observer.cc",
129 "test/test_background_page_first_load_observer.h",
Maksim Ivanov4b31b642020-07-10 00:32:48130 "test/test_background_page_ready_observer.cc",
131 "test/test_background_page_ready_observer.h",
Kelvin Jianga22822f62021-01-23 07:02:54132 "test/test_content_script_load_waiter.cc",
133 "test/test_content_script_load_waiter.h",
brettw3728a542016-09-02 21:56:26134 "test/test_content_utility_client.cc",
135 "test/test_content_utility_client.h",
Devlin Cronin4f455a22018-01-25 01:36:45136 "test/test_extension_dir.cc",
137 "test/test_extension_dir.h",
brettw3728a542016-09-02 21:56:26138 "test/test_extensions_client.cc",
139 "test/test_extensions_client.h",
140 "test/test_permission_message_provider.cc",
141 "test/test_permission_message_provider.h",
142 ]
scottmg7c7296f42015-02-28 02:23:09143
brettwd1c719a2015-02-19 23:17:04144 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
145 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]016eeef82014-08-01 20:37:43146
147 deps = [
[email protected]bc8a0922014-08-20 00:51:08148 ":extensions_resources",
[email protected]016eeef82014-08-01 20:37:43149 "//base",
Yuta Hijikata1455a2a2020-11-12 09:04:06150 "//build:chromeos_buildflags",
Takashi Sakamoto852d7252019-08-27 09:56:21151 "//chrome/common:buildflags",
fsamuelaf5bf6d12015-05-28 16:29:54152 "//components/guest_view/browser:test_support",
brettw9f7802a22016-01-30 06:40:17153 "//components/prefs:test_support",
a-v-yb2cf8f82016-12-11 17:35:07154 "//components/sync_preferences:test_support",
jamescook62117922014-10-20 14:35:11155 "//content/public/common",
156 "//content/test:test_support",
[email protected]016eeef82014-08-01 20:37:43157 "//extensions/browser",
Karan Bhatia71f6a622017-10-02 19:39:10158 "//extensions/browser:test_support",
Ghazale Hosseinabadiff82c4c9e2021-05-22 17:59:12159 "//extensions/browser/api",
[email protected]016eeef82014-08-01 20:37:43160 "//extensions/common",
Devlin Cronindf96db52018-08-20 21:41:15161 "//extensions/common:core_api_provider",
[email protected]016eeef82014-08-01 20:37:43162 "//extensions/common/api",
Devlin Cronin9ee032f2018-07-13 19:30:25163 "//extensions/common/api:extensions_features",
[email protected]016eeef82014-08-01 20:37:43164 "//net:test_support",
Julie Jeongeun Kimab3f20d2020-12-08 05:01:15165 "//services/network/public/mojom",
[email protected]5842610c2014-08-07 03:35:18166 "//testing/gmock",
[email protected]016eeef82014-08-01 20:37:43167 "//testing/gtest",
Charles Zhao55c4c752017-11-09 00:07:49168 "//third_party/cld_3/src/src:cld_3",
[email protected]016eeef82014-08-01 20:37:43169 ]
170
Samuel Huangd0b0e062020-01-20 06:32:12171 public_deps = [ "//content/public/browser" ]
[email protected]016eeef82014-08-01 20:37:43172}
[email protected]5842610c2014-08-07 03:35:18173
[email protected]5842610c2014-08-07 03:35:18174repack("shell_and_test_pak") {
Xiyuan Xia2397ff82018-09-18 22:52:27175 testonly = true
176
[email protected]5842610c2014-08-07 03:35:18177 sources = [
thakis300faa72017-02-28 23:59:43178 "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
[email protected]5842610c2014-08-07 03:35:18179 "$root_gen_dir/content/content_resources.pak",
Samuel Huangd0b0e062020-01-20 06:32:12180 "$root_gen_dir/content/dev_ui_content_resources.pak",
[email protected]5842610c2014-08-07 03:35:18181 "$root_gen_dir/content/shell/shell_resources.pak",
Reilly Grantfb8e0242021-01-14 11:56:52182 "$root_gen_dir/device/bluetooth/strings/bluetooth_strings_en-US.pak",
mukaiefb3eb02014-11-11 23:38:00183 "$root_gen_dir/extensions/extensions_browser_resources_100_percent.pak",
[email protected]5842610c2014-08-07 03:35:18184 "$root_gen_dir/extensions/extensions_renderer_resources.pak",
185 "$root_gen_dir/extensions/extensions_resources.pak",
jamescook62117922014-10-20 14:35:11186 "$root_gen_dir/extensions/shell/app_shell_resources.pak",
[email protected]5842610c2014-08-07 03:35:18187 "$root_gen_dir/extensions/strings/extensions_strings_en-US.pak",
Yuzhu Shen2efe42772017-11-11 02:01:09188 "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
Blink Reformata30d4232018-04-07 15:31:06189 "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
190 "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
Gyuyoung Kim8c5d0772019-09-18 15:41:39191 "$root_gen_dir/third_party/blink/public/strings/blink_strings_en-US.pak",
[email protected]5842610c2014-08-07 03:35:18192 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
193 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
194 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
[email protected]5842610c2014-08-07 03:35:18195 ]
196
197 output = "$root_out_dir/extensions_shell_and_test.pak"
198
199 deps = [
200 ":extensions_resources",
Samuel Huangd0b0e062020-01-20 06:32:12201 "//content:content_resources",
202 "//content:dev_ui_content_resources",
mukaiefb3eb02014-11-11 23:38:00203 "//content/browser/devtools:devtools_resources",
204 "//content/shell:resources",
Reilly Grantfb8e0242021-01-14 11:56:52205 "//device/bluetooth/strings",
jamescook62117922014-10-20 14:35:11206 "//extensions/shell:resources",
[email protected]5842610c2014-08-07 03:35:18207 "//extensions/strings",
Yuzhu Shen2efe42772017-11-11 02:01:09208 "//mojo/public/js:resources",
Blink Reformata30d4232018-04-07 15:31:06209 "//third_party/blink/public:resources",
210 "//third_party/blink/public:scaled_resources_100_percent",
Gyuyoung Kim8c5d0772019-09-18 15:41:39211 "//third_party/blink/public/strings",
[email protected]5842610c2014-08-07 03:35:18212 "//ui/resources",
213 "//ui/strings",
214 ]
215}
216
jamescookf112ccd2015-02-06 18:06:33217test("extensions_unittests") {
Dirk Pranke79d065d2020-08-29 03:28:30218 use_xvfb = use_xvfb_in_this_config
Yuke Liaof540c742020-07-29 16:28:34219
brettwdc1e6182016-08-30 20:52:13220 sources = [
221 "test/extensions_unittests_main.cc",
Devlin Cronind13e7e52018-02-07 19:50:32222 "test/logging_timer_unittest.cc",
jamescookf112ccd2015-02-06 18:06:33223 ]
224
dprankef497c7962015-07-31 19:46:23225 data = [
226 "test/data/",
227 "//chrome/test/data/extensions/",
ryanchungd318d762016-05-05 17:22:12228 "//components/test/data/cast_certificate/",
rockot8cba0362016-08-09 21:43:43229 "$root_out_dir/content_shell.pak",
dprankef497c7962015-07-31 19:46:23230 "$root_out_dir/extensions_shell_and_test.pak",
231 ]
232
jamescookf112ccd2015-02-06 18:06:33233 deps = [
234 ":extensions_resources",
235 ":shell_and_test_pak",
236 ":test_support",
jamescookf112ccd2015-02-06 18:06:33237 "//base/test:test_support",
brettwdc1e6182016-08-30 20:52:13238 "//content/public/common",
jamescookf112ccd2015-02-06 18:06:33239 "//content/test:test_support",
brettwdc1e6182016-08-30 20:52:13240 "//extensions/browser:unit_tests",
jamescookf112ccd2015-02-06 18:06:33241 "//extensions/common",
brettwdc1e6182016-08-30 20:52:13242 "//extensions/common:unit_tests",
243 "//extensions/renderer:unit_tests",
244 "//extensions/shell:unit_tests",
Jay Civelli52054ad22017-12-01 02:15:42245 "//services/data_decoder:lib",
246 "//services/service_manager/public/cpp/test:test_support",
brettwdc1e6182016-08-30 20:52:13247 "//ui/gl:test_support",
jamescookf112ccd2015-02-06 18:06:33248 ]
249
Samuel Huangd0b0e062020-01-20 06:32:12250 data_deps = [ "//third_party/mesa_headers" ]
[email protected]5842610c2014-08-07 03:35:18251}
rockotea9df2a2015-01-22 20:26:36252
253test("extensions_browsertests") {
Dirk Pranke79d065d2020-08-29 03:28:30254 use_xvfb = use_xvfb_in_this_config
Yuke Liaof540c742020-07-29 16:28:34255
dprankef497c7962015-07-31 19:46:23256 data = [
brettwdc1e6182016-08-30 20:52:13257 "//extensions/test/data/",
dprankef497c7962015-07-31 19:46:23258 "//net/tools/testserver/",
Keita Suzuki56512592020-03-06 09:42:48259 "//third_party/pywebsocket3/src/mod_pywebsocket/",
dprankef497c7962015-07-31 19:46:23260 "//third_party/tlslite/",
261 "$root_out_dir/extensions_shell_and_test.pak",
262 ]
263
rockotea9df2a2015-01-22 20:26:36264 deps = [
brettwdc1e6182016-08-30 20:52:13265 "//extensions/browser:browser_tests",
266 "//extensions/shell:browser_tests",
rockotea9df2a2015-01-22 20:26:36267 ]
268
Samuel Huangd0b0e062020-01-20 06:32:12269 data_deps = [ "//third_party/mesa_headers" ]
rockotea9df2a2015-01-22 20:26:36270}
brettw39355da2015-07-11 00:20:51271
272# TODO(rockot) bug 505926: These should be moved to extensions_browsertests but have
273# old dependencies on chrome files. The chrome dependencies should be removed
274# and these moved to the extensions_browsertests target. Currently, we solve
275# the problem by making this a source set and linking it into
276# //chrome/test:browser_tests.
277source_set("chrome_extensions_browsertests") {
278 testonly = true
brettw129f8512016-09-01 22:36:58279 sources = [
280 "browser/api/app_window/app_window_apitest.cc",
281 "browser/api/bluetooth/bluetooth_apitest.cc",
282 "browser/api/bluetooth/bluetooth_private_apitest.cc",
brettw129f8512016-09-01 22:36:58283 "browser/api/serial/serial_apitest.cc",
284 "browser/api/usb/usb_manual_apitest.cc",
285 "browser/app_window/app_window_browsertest.cc",
brettw129f8512016-09-01 22:36:58286 "browser/guest_view/mime_handler_view/mime_handler_view_browsertest.cc",
brettw129f8512016-09-01 22:36:58287 "renderer/script_context_browsertest.cc",
288 ]
brettw39355da2015-07-11 00:20:51289
290 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
291
292 # These are the deps from browser_tests minus some internal Chrome ones that
293 # aren't allowed to be included here and that aren't needed.
294 deps = [
295 "//base",
296 "//base:i18n",
brettw39355da2015-07-11 00:20:51297 "//base/test:test_support",
Yuta Hijikata1455a2a2020-11-12 09:04:06298 "//build:chromeos_buildflags",
brettw39355da2015-07-11 00:20:51299 "//chrome/browser",
brettw39355da2015-07-11 00:20:51300 "//chrome/common/extensions/api",
301 "//chrome/renderer",
302 "//components/autofill/content/browser:risk_proto",
brettw39355da2015-07-11 00:20:51303 "//components/autofill/content/renderer:test_support",
Colin Blundell7cf3fe32020-01-23 09:52:49304 "//components/captive_portal/core:test_support",
brettw15764b12015-11-30 22:11:05305 "//components/dom_distiller/content/browser",
brettw39355da2015-07-11 00:20:51306 "//components/dom_distiller/core:test_support",
307 "//components/guest_view/browser:test_support",
Evan Stade7220e472020-01-31 17:06:57308 "//components/javascript_dialogs",
brettw39355da2015-07-11 00:20:51309 "//components/resources",
310 "//components/strings",
Max Boguefef332d2016-07-28 22:09:09311 "//components/sync",
maxbogue91ee60682016-10-17 20:09:46312 "//components/sync:test_support_model",
brettw39355da2015-07-11 00:20:51313 "//components/translate/core/common",
brettw39355da2015-07-11 00:20:51314 "//crypto:platform",
315 "//crypto:test_support",
316 "//device/bluetooth:mocks",
brettw39355da2015-07-11 00:20:51317 "//extensions/common/api",
318 "//google_apis:test_support",
Dale Curtis77be7ae2017-08-18 15:56:48319 "//media:test_support",
brettw39355da2015-07-11 00:20:51320 "//net",
321 "//net:test_support",
brettw39355da2015-07-11 00:20:51322 "//skia",
brettw39355da2015-07-11 00:20:51323 "//testing/gmock",
324 "//testing/gtest",
325 "//testing/perf",
Blink Reformata30d4232018-04-07 15:31:06326 "//third_party/blink/public:blink",
brettw39355da2015-07-11 00:20:51327 "//third_party/icu",
328 "//third_party/leveldatabase",
329 "//third_party/libaddressinput",
Mirko Bonadeicbc90fd02019-11-14 22:26:17330 "//third_party/webrtc_overrides:webrtc_component",
brettwc5fcdd02016-10-12 07:25:12331 "//third_party/widevine/cdm:headers",
brettw39355da2015-07-11 00:20:51332 "//ui/accessibility:test_support",
333 "//ui/base:test_support",
334 "//ui/compositor:test_support",
335 "//ui/resources",
336 "//ui/web_dialogs:test_support",
337 "//v8",
338 ]
peletskyic8452f22016-02-23 15:26:12339
Yuta Hijikata1455a2a2020-11-12 09:04:06340 if (is_chromeos_ash) {
peletskyic8452f22016-02-23 15:26:12341 deps += [ "//components/user_manager:test_support" ]
342 }
brettw39355da2015-07-11 00:20:51343}
344
345# TODO(rockot) bug 505926: This should be deleted for the same reason as
346# chrome_extensions_browsertests.
347source_set("chrome_extensions_interactive_uitests") {
348 testonly = true
brettw129f8512016-09-01 22:36:58349 sources = [
350 "browser/app_window/app_window_interactive_uitest.cc",
Sam McNally4aa62fd02018-04-12 22:12:11351 "browser/guest_view/mime_handler_view/mime_handler_view_interactive_uitest.cc",
brettw129f8512016-09-01 22:36:58352 ]
brettw39355da2015-07-11 00:20:51353
354 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
355
356 # These are the deps from interactive_uitests minus some internal Chrome
357 # ones that aren't allowed to be included here and that aren't needed.
358 deps = [
brettw39355da2015-07-11 00:20:51359 "//chrome/browser",
360 "//chrome/browser/devtools",
361 "//chrome/renderer",
362 "//chrome/test:test_support",
Max Boguefef332d2016-07-28 22:09:09363 "//components/sync",
brettw39355da2015-07-11 00:20:51364 "//content/app/resources",
365 "//crypto:platform",
366 "//crypto:test_support",
367 "//google_apis:test_support",
368 "//net",
369 "//net:net_resources",
370 "//net:test_support",
371 "//skia",
brettw39355da2015-07-11 00:20:51372 "//testing/gmock",
373 "//testing/gtest",
374 "//third_party/hunspell",
375 "//third_party/icu",
376 "//third_party/libpng",
377 "//third_party/zlib",
378 "//ui/base:test_support",
379 "//ui/resources:ui_test_pak",
380 "//ui/web_dialogs:test_support",
381 ]
382}