blob: 6ceee52d62aa7d4059ccc1a7e831c57499048b05 [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")
Jens Widell7cc0f1d2018-02-20 15:56:295import("//build/config/jumbo.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
Reilly Grant4f7b3ad2017-10-18 22:53:3056 # Files included from ${mojom_root} are generated.
57 source_is_generated = true
58
cjhopman11a68cb2014-10-13 22:47:5459 deps = [
Miyoung Shine12a96d92019-07-25 01:46:5360 "//extensions/common:mojom_js",
yzshen9e737bf2017-06-21 19:38:2361 "//extensions/common/api:mojom_js",
Ke He31d0bb02018-02-24 07:16:2462 "//services/device/public/mojom:mojom_js",
cjhopman11a68cb2014-10-13 22:47:5463 ]
[email protected]824288842014-06-20 05:26:5964}
[email protected]016eeef82014-08-01 20:37:4365
Jens Widell7cc0f1d2018-02-20 15:56:2966jumbo_static_library("test_support") {
Brett Wilson8f80ad0b2014-09-08 19:50:2467 testonly = true
brettw3728a542016-09-02 21:56:2668 sources = [
lazyboy3fe97522017-01-27 18:13:0869 "browser/api/declarative/test_rules_registry.cc",
70 "browser/api/declarative/test_rules_registry.h",
brettw3728a542016-09-02 21:56:2671 "browser/api/storage/settings_test_util.cc",
72 "browser/api/storage/settings_test_util.h",
73 "browser/api_test_utils.cc",
74 "browser/api_test_utils.h",
75 "browser/api_unittest.cc",
76 "browser/api_unittest.h",
77 "browser/app_window/test_app_window_contents.cc",
78 "browser/app_window/test_app_window_contents.h",
Istiaque Ahmed72816eaa2018-01-30 22:37:0679 "browser/content_verifier/test_utils.cc",
80 "browser/content_verifier/test_utils.h",
brettw3728a542016-09-02 21:56:2681 "browser/extension_error_test_util.cc",
82 "browser/extension_error_test_util.h",
83 "browser/extensions_test.cc",
84 "browser/extensions_test.h",
85 "browser/guest_view/mime_handler_view/test_mime_handler_view_guest.cc",
86 "browser/guest_view/mime_handler_view/test_mime_handler_view_guest.h",
87 "browser/mock_extension_system.cc",
88 "browser/mock_extension_system.h",
lazyboya00eafc2017-04-08 00:57:1989 "browser/mock_external_provider.cc",
90 "browser/mock_external_provider.h",
brettw3728a542016-09-02 21:56:2691 "browser/scoped_ignore_content_verifier_for_test.cc",
92 "browser/scoped_ignore_content_verifier_for_test.h",
Michael Giuffrida2f2cf6c2017-09-06 19:23:3093 "browser/test_event_router.cc",
94 "browser/test_event_router.h",
brettw3728a542016-09-02 21:56:2695 "browser/test_extension_registry_observer.cc",
96 "browser/test_extension_registry_observer.h",
97 "browser/test_extensions_browser_client.cc",
98 "browser/test_extensions_browser_client.h",
99 "browser/test_image_loader.cc",
100 "browser/test_image_loader.h",
101 "browser/test_management_policy.cc",
102 "browser/test_management_policy.h",
103 "browser/test_runtime_api_delegate.cc",
104 "browser/test_runtime_api_delegate.h",
105 "common/extension_builder.cc",
106 "common/extension_builder.h",
107 "common/manifest_test.cc",
108 "common/manifest_test.h",
isandrk556c3fd2017-05-02 13:07:17109 "common/permissions/mock_manifest_permission.cc",
110 "common/permissions/mock_manifest_permission.h",
brettw3728a542016-09-02 21:56:26111 "common/permissions/permission_message_test_util.cc",
112 "common/permissions/permission_message_test_util.h",
Marek Haranczykfef658d2018-04-18 17:56:51113 "common/scoped_testing_manifest_handler_registry.cc",
114 "common/scoped_testing_manifest_handler_registry.h",
brettw3728a542016-09-02 21:56:26115 "renderer/test_extensions_renderer_client.cc",
116 "renderer/test_extensions_renderer_client.h",
117 "test/background_page_watcher.cc",
118 "test/background_page_watcher.h",
119 "test/extension_test_message_listener.cc",
120 "test/extension_test_message_listener.h",
steelf65a72a2016-10-19 22:16:45121 "test/extension_test_notification_observer.cc",
122 "test/extension_test_notification_observer.h",
Devlin Cronind13e7e52018-02-07 19:50:32123 "test/logging_timer.cc",
124 "test/logging_timer.h",
brettw3728a542016-09-02 21:56:26125 "test/result_catcher.cc",
126 "test/result_catcher.h",
Istiaque Ahmed7bfcef32019-08-13 17:18:02127 "test/test_background_page_first_load_observer.cc",
128 "test/test_background_page_first_load_observer.h",
brettw3728a542016-09-02 21:56:26129 "test/test_content_utility_client.cc",
130 "test/test_content_utility_client.h",
Devlin Cronin4f455a22018-01-25 01:36:45131 "test/test_extension_dir.cc",
132 "test/test_extension_dir.h",
brettw3728a542016-09-02 21:56:26133 "test/test_extensions_client.cc",
134 "test/test_extensions_client.h",
135 "test/test_permission_message_provider.cc",
136 "test/test_permission_message_provider.h",
137 ]
scottmg7c7296f42015-02-28 02:23:09138
brettwd1c719a2015-02-19 23:17:04139 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
140 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]016eeef82014-08-01 20:37:43141
142 deps = [
[email protected]bc8a0922014-08-20 00:51:08143 ":extensions_resources",
[email protected]016eeef82014-08-01 20:37:43144 "//base",
Takashi Sakamoto852d7252019-08-27 09:56:21145 "//chrome/common:buildflags",
ryanchungd318d762016-05-05 17:22:12146 "//components/cast_certificate:test_support",
zhaobinaa0a64442017-06-08 23:04:44147 "//components/cast_channel:test_support",
fsamuelaf5bf6d12015-05-28 16:29:54148 "//components/guest_view/browser:test_support",
brettw9f7802a22016-01-30 06:40:17149 "//components/prefs:test_support",
a-v-yb2cf8f82016-12-11 17:35:07150 "//components/sync_preferences:test_support",
jamescook62117922014-10-20 14:35:11151 "//content/public/common",
152 "//content/test:test_support",
[email protected]016eeef82014-08-01 20:37:43153 "//extensions/browser",
Karan Bhatia71f6a622017-10-02 19:39:10154 "//extensions/browser:test_support",
[email protected]016eeef82014-08-01 20:37:43155 "//extensions/common",
Devlin Cronindf96db52018-08-20 21:41:15156 "//extensions/common:core_api_provider",
[email protected]016eeef82014-08-01 20:37:43157 "//extensions/common/api",
Devlin Cronin9ee032f2018-07-13 19:30:25158 "//extensions/common/api:extensions_features",
[email protected]016eeef82014-08-01 20:37:43159 "//net:test_support",
[email protected]5842610c2014-08-07 03:35:18160 "//testing/gmock",
[email protected]016eeef82014-08-01 20:37:43161 "//testing/gtest",
Charles Zhao55c4c752017-11-09 00:07:49162 "//third_party/cld_3/src/src:cld_3",
[email protected]016eeef82014-08-01 20:37:43163 ]
164
Samuel Huangd0b0e062020-01-20 06:32:12165 public_deps = [ "//content/public/browser" ]
[email protected]016eeef82014-08-01 20:37:43166}
[email protected]5842610c2014-08-07 03:35:18167
[email protected]5842610c2014-08-07 03:35:18168repack("shell_and_test_pak") {
Xiyuan Xia2397ff82018-09-18 22:52:27169 testonly = true
170
[email protected]5842610c2014-08-07 03:35:18171 sources = [
thakis300faa72017-02-28 23:59:43172 "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
[email protected]5842610c2014-08-07 03:35:18173 "$root_gen_dir/content/content_resources.pak",
Samuel Huangd0b0e062020-01-20 06:32:12174 "$root_gen_dir/content/dev_ui_content_resources.pak",
[email protected]5842610c2014-08-07 03:35:18175 "$root_gen_dir/content/shell/shell_resources.pak",
mukaiefb3eb02014-11-11 23:38:00176 "$root_gen_dir/extensions/extensions_browser_resources_100_percent.pak",
[email protected]5842610c2014-08-07 03:35:18177 "$root_gen_dir/extensions/extensions_renderer_resources.pak",
178 "$root_gen_dir/extensions/extensions_resources.pak",
jamescook62117922014-10-20 14:35:11179 "$root_gen_dir/extensions/shell/app_shell_resources.pak",
[email protected]5842610c2014-08-07 03:35:18180 "$root_gen_dir/extensions/strings/extensions_strings_en-US.pak",
Yuzhu Shen2efe42772017-11-11 02:01:09181 "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
Blink Reformata30d4232018-04-07 15:31:06182 "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
183 "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
Gyuyoung Kim8c5d0772019-09-18 15:41:39184 "$root_gen_dir/third_party/blink/public/strings/blink_strings_en-US.pak",
[email protected]5842610c2014-08-07 03:35:18185 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
186 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
187 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
[email protected]5842610c2014-08-07 03:35:18188 ]
189
190 output = "$root_out_dir/extensions_shell_and_test.pak"
191
192 deps = [
193 ":extensions_resources",
Samuel Huangd0b0e062020-01-20 06:32:12194 "//content:content_resources",
195 "//content:dev_ui_content_resources",
mukaiefb3eb02014-11-11 23:38:00196 "//content/browser/devtools:devtools_resources",
197 "//content/shell:resources",
jamescook62117922014-10-20 14:35:11198 "//extensions/shell:resources",
[email protected]5842610c2014-08-07 03:35:18199 "//extensions/strings",
Yuzhu Shen2efe42772017-11-11 02:01:09200 "//mojo/public/js:resources",
Blink Reformata30d4232018-04-07 15:31:06201 "//third_party/blink/public:resources",
202 "//third_party/blink/public:scaled_resources_100_percent",
Gyuyoung Kim8c5d0772019-09-18 15:41:39203 "//third_party/blink/public/strings",
[email protected]5842610c2014-08-07 03:35:18204 "//ui/resources",
205 "//ui/strings",
206 ]
207}
208
jamescookf112ccd2015-02-06 18:06:33209test("extensions_unittests") {
brettwdc1e6182016-08-30 20:52:13210 sources = [
211 "test/extensions_unittests_main.cc",
Devlin Cronind13e7e52018-02-07 19:50:32212 "test/logging_timer_unittest.cc",
jamescookf112ccd2015-02-06 18:06:33213 ]
214
dprankef497c7962015-07-31 19:46:23215 data = [
216 "test/data/",
217 "//chrome/test/data/extensions/",
ryanchungd318d762016-05-05 17:22:12218 "//components/test/data/cast_certificate/",
rockot8cba0362016-08-09 21:43:43219 "$root_out_dir/content_shell.pak",
dprankef497c7962015-07-31 19:46:23220 "$root_out_dir/extensions_shell_and_test.pak",
221 ]
222
jamescookf112ccd2015-02-06 18:06:33223 deps = [
224 ":extensions_resources",
225 ":shell_and_test_pak",
226 ":test_support",
jamescookf112ccd2015-02-06 18:06:33227 "//base/test:test_support",
brettwdc1e6182016-08-30 20:52:13228 "//content/public/common",
jamescookf112ccd2015-02-06 18:06:33229 "//content/test:test_support",
brettwdc1e6182016-08-30 20:52:13230 "//extensions/browser:unit_tests",
jamescookf112ccd2015-02-06 18:06:33231 "//extensions/common",
brettwdc1e6182016-08-30 20:52:13232 "//extensions/common:unit_tests",
233 "//extensions/renderer:unit_tests",
234 "//extensions/shell:unit_tests",
Jay Civelli52054ad22017-12-01 02:15:42235 "//services/data_decoder:lib",
236 "//services/service_manager/public/cpp/test:test_support",
brettwdc1e6182016-08-30 20:52:13237 "//ui/gl:test_support",
jamescookf112ccd2015-02-06 18:06:33238 ]
239
Samuel Huangd0b0e062020-01-20 06:32:12240 data_deps = [ "//third_party/mesa_headers" ]
[email protected]5842610c2014-08-07 03:35:18241}
rockotea9df2a2015-01-22 20:26:36242
243test("extensions_browsertests") {
dprankef497c7962015-07-31 19:46:23244 data = [
brettwdc1e6182016-08-30 20:52:13245 "//extensions/test/data/",
dprankef497c7962015-07-31 19:46:23246 "//net/tools/testserver/",
Takuto Ikuta7ff839d2018-08-09 03:15:36247 "//third_party/pywebsocket/src/mod_pywebsocket/",
dprankef497c7962015-07-31 19:46:23248 "//third_party/tlslite/",
249 "$root_out_dir/extensions_shell_and_test.pak",
250 ]
251
rockotea9df2a2015-01-22 20:26:36252 deps = [
brettwdc1e6182016-08-30 20:52:13253 "//extensions/browser:browser_tests",
254 "//extensions/shell:browser_tests",
rockotea9df2a2015-01-22 20:26:36255 ]
256
Samuel Huangd0b0e062020-01-20 06:32:12257 data_deps = [ "//third_party/mesa_headers" ]
rockotea9df2a2015-01-22 20:26:36258}
brettw39355da2015-07-11 00:20:51259
260# TODO(rockot) bug 505926: These should be moved to extensions_browsertests but have
261# old dependencies on chrome files. The chrome dependencies should be removed
262# and these moved to the extensions_browsertests target. Currently, we solve
263# the problem by making this a source set and linking it into
264# //chrome/test:browser_tests.
265source_set("chrome_extensions_browsertests") {
266 testonly = true
brettw129f8512016-09-01 22:36:58267 sources = [
268 "browser/api/app_window/app_window_apitest.cc",
269 "browser/api/bluetooth/bluetooth_apitest.cc",
270 "browser/api/bluetooth/bluetooth_private_apitest.cc",
271 "browser/api/cast_channel/cast_channel_apitest.cc",
brettw129f8512016-09-01 22:36:58272 "browser/api/serial/serial_apitest.cc",
273 "browser/api/usb/usb_manual_apitest.cc",
274 "browser/app_window/app_window_browsertest.cc",
brettw129f8512016-09-01 22:36:58275 "browser/guest_view/mime_handler_view/mime_handler_view_browsertest.cc",
brettw129f8512016-09-01 22:36:58276 "renderer/script_context_browsertest.cc",
277 ]
brettw39355da2015-07-11 00:20:51278
279 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
280
281 # These are the deps from browser_tests minus some internal Chrome ones that
282 # aren't allowed to be included here and that aren't needed.
283 deps = [
284 "//base",
285 "//base:i18n",
brettw39355da2015-07-11 00:20:51286 "//base/test:test_support",
287 "//chrome/browser",
brettw39355da2015-07-11 00:20:51288 "//chrome/common/extensions/api",
289 "//chrome/renderer",
Sam McNallyad57375eb2018-07-19 00:41:08290 "//components/app_modal",
brettw39355da2015-07-11 00:20:51291 "//components/autofill/content/browser:risk_proto",
brettw39355da2015-07-11 00:20:51292 "//components/autofill/content/renderer:test_support",
Colin Blundell7cf3fe32020-01-23 09:52:49293 "//components/captive_portal/core:test_support",
brettw15764b12015-11-30 22:11:05294 "//components/dom_distiller/content/browser",
brettw39355da2015-07-11 00:20:51295 "//components/dom_distiller/core:test_support",
296 "//components/guest_view/browser:test_support",
W. James MacLean4a560102019-10-08 19:14:52297 "//components/printing/common",
brettw39355da2015-07-11 00:20:51298 "//components/resources",
299 "//components/strings",
Max Boguefef332d2016-07-28 22:09:09300 "//components/sync",
maxbogue91ee60682016-10-17 20:09:46301 "//components/sync:test_support_model",
brettw39355da2015-07-11 00:20:51302 "//components/translate/core/common",
brettw39355da2015-07-11 00:20:51303 "//crypto:platform",
304 "//crypto:test_support",
305 "//device/bluetooth:mocks",
brettw39355da2015-07-11 00:20:51306 "//extensions/common/api",
307 "//google_apis:test_support",
Dale Curtis77be7ae2017-08-18 15:56:48308 "//media:test_support",
brettw39355da2015-07-11 00:20:51309 "//media/cast:test_support",
310 "//net",
311 "//net:test_support",
brettw39355da2015-07-11 00:20:51312 "//skia",
brettw39355da2015-07-11 00:20:51313 "//testing/gmock",
314 "//testing/gtest",
315 "//testing/perf",
Blink Reformata30d4232018-04-07 15:31:06316 "//third_party/blink/public:blink",
brettw39355da2015-07-11 00:20:51317 "//third_party/cacheinvalidation",
318 "//third_party/icu",
319 "//third_party/leveldatabase",
320 "//third_party/libaddressinput",
Mirko Bonadeicbc90fd02019-11-14 22:26:17321 "//third_party/webrtc_overrides:webrtc_component",
brettwc5fcdd02016-10-12 07:25:12322 "//third_party/widevine/cdm:headers",
brettw39355da2015-07-11 00:20:51323 "//ui/accessibility:test_support",
324 "//ui/base:test_support",
325 "//ui/compositor:test_support",
326 "//ui/resources",
327 "//ui/web_dialogs:test_support",
328 "//v8",
329 ]
peletskyic8452f22016-02-23 15:26:12330
331 if (is_chromeos) {
332 deps += [ "//components/user_manager:test_support" ]
333 }
brettw39355da2015-07-11 00:20:51334}
335
336# TODO(rockot) bug 505926: This should be deleted for the same reason as
337# chrome_extensions_browsertests.
338source_set("chrome_extensions_interactive_uitests") {
339 testonly = true
brettw129f8512016-09-01 22:36:58340 sources = [
341 "browser/app_window/app_window_interactive_uitest.cc",
Sam McNally4aa62fd02018-04-12 22:12:11342 "browser/guest_view/mime_handler_view/mime_handler_view_interactive_uitest.cc",
brettw129f8512016-09-01 22:36:58343 ]
brettw39355da2015-07-11 00:20:51344
345 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
346
347 # These are the deps from interactive_uitests minus some internal Chrome
348 # ones that aren't allowed to be included here and that aren't needed.
349 deps = [
brettw39355da2015-07-11 00:20:51350 "//chrome/browser",
351 "//chrome/browser/devtools",
352 "//chrome/renderer",
353 "//chrome/test:test_support",
Max Boguefef332d2016-07-28 22:09:09354 "//components/sync",
brettw39355da2015-07-11 00:20:51355 "//content/app/resources",
356 "//crypto:platform",
357 "//crypto:test_support",
358 "//google_apis:test_support",
359 "//net",
360 "//net:net_resources",
361 "//net:test_support",
362 "//skia",
brettw39355da2015-07-11 00:20:51363 "//testing/gmock",
364 "//testing/gtest",
365 "//third_party/hunspell",
366 "//third_party/icu",
367 "//third_party/libpng",
368 "//third_party/zlib",
369 "//ui/base:test_support",
370 "//ui/resources:ui_test_pak",
371 "//ui/web_dialogs:test_support",
372 ]
373}