blob: e6badcc258e3391573119f39bf68a444c955c8bf [file] [log] [blame]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:271# Copyright 2019 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.
4
5assert(is_fuchsia)
6
7import("//build/config/fuchsia/rules.gni")
Kevin Marshall1fd8f752019-03-05 01:03:498import("//build/config/fuchsia/symbol_archive.gni")
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:279import("//mojo/public/tools/bindings/mojom.gni")
10import("//testing/test.gni")
11import("//tools/grit/repack.gni")
12
Sergey Ulanovceeb8e812019-07-18 02:11:2013declare_args() {
14 # Enables Vulkan in WebEngine (has effect only for context instances that have
15 # Vulkan loader service in the service directory).
16 web_engine_enable_vulkan = false
17}
18
Wez0f962c22019-02-12 04:34:3019config("web_engine_implementation") {
20 defines = [ "WEB_ENGINE_IMPLEMENTATION" ]
21}
22
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2723mojom("mojom") {
24 sources = [
25 "on_load_script_injector.mojom",
26 ]
27 public_deps = [
28 "//mojo/public/mojom/base",
29 ]
30 visibility = [ ":*" ]
31}
32
33repack("web_engine_pak") {
34 sources = [
35 "$root_gen_dir/components/components_resources.pak",
36 "$root_gen_dir/components/strings/components_strings_en-US.pak",
37 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
38 "$root_gen_dir/content/app/strings/content_strings_en-US.pak",
39 "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
40 "$root_gen_dir/content/content_resources.pak",
41 "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
42 "$root_gen_dir/net/net_resources.pak",
43 "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
44 "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
45 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
46 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
47 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
48 ]
49
50 deps = [
51 "//components/resources:components_resources",
52 "//components/strings",
53 "//content:resources",
54 "//content/app/resources",
55 "//content/app/strings",
56 "//content/browser/tracing:resources",
57 "//mojo/public/js:resources",
58 "//net:net_resources",
59 "//third_party/blink/public:resources",
60 "//third_party/blink/public:scaled_resources_100_percent",
61 "//ui/resources",
62 "//ui/strings",
63 ]
64
Fabrice de Gans-Riberif123e2c2019-04-25 19:57:0865 output = "$root_out_dir/web_engine.pak"
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2766 visibility = [ ":*" ]
67}
68
69component("web_engine_core") {
70 deps = [
71 ":mojom",
72 ":web_engine_pak",
73 "//base",
74 "//components/version_info",
75 "//content/public/app:both",
76 "//content/public/browser",
77 "//content/public/child",
78 "//content/public/common",
79 "//content/public/renderer",
Wez0f962c22019-02-12 04:34:3080 "//fuchsia/base",
Kevin Marshall7933caa2019-05-16 23:32:5481 "//fuchsia/base:message_port",
Wez500d4432019-03-08 18:12:4982 "//fuchsia/base:modular",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2783 "//mojo/public/cpp/bindings",
84 "//services/network/public/cpp",
85 "//services/service_manager/sandbox",
Miyoung Shin40adbd62019-07-30 07:33:4086 "//skia/public/mojom",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2787 "//third_party/blink/public/common",
Wez77216272019-04-08 23:21:4288 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2789 "//ui/aura",
90 "//ui/base/ime",
91 "//ui/display",
92 "//ui/ozone",
93 "//ui/platform_window",
94 "//ui/wm",
95 "//ui/wm/public",
96 ]
97 data_deps = [
98 ":web_engine_pak",
99 ]
Sharon Yang073da002019-04-27 18:45:48100 public_deps = [
101 "//content/public/browser",
102 ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27103 data = [
Fabrice de Gans-Riberif123e2c2019-04-25 19:57:08104 "$root_out_dir/web_engine.pak",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27105 ]
Wez0f962c22019-02-12 04:34:30106 configs += [ ":web_engine_implementation" ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27107 sources = [
108 "browser/context_impl.cc",
109 "browser/context_impl.h",
Kevin Marshall2bb514c2019-02-19 19:09:55110 "browser/discarding_event_filter.cc",
111 "browser/discarding_event_filter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27112 "browser/frame_impl.cc",
113 "browser/frame_impl.h",
Wez627fd582019-06-25 04:30:38114 "browser/navigation_controller_impl.cc",
115 "browser/navigation_controller_impl.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49116 "browser/web_engine_browser_context.cc",
117 "browser/web_engine_browser_context.h",
118 "browser/web_engine_browser_main.cc",
119 "browser/web_engine_browser_main.h",
120 "browser/web_engine_browser_main_parts.cc",
121 "browser/web_engine_browser_main_parts.h",
122 "browser/web_engine_content_browser_client.cc",
123 "browser/web_engine_content_browser_client.h",
Fabrice de Gans-Riberi0234ae72019-02-19 20:15:54124 "browser/web_engine_devtools_manager_delegate.cc",
125 "browser/web_engine_devtools_manager_delegate.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49126 "browser/web_engine_net_log.cc",
127 "browser/web_engine_net_log.h",
Yuchen Liu2dc4ad22019-06-05 21:51:46128 "browser/web_engine_permission_manager.cc",
129 "browser/web_engine_permission_manager.h",
Fabrice de Gans-Riberi347f6992019-07-11 00:29:20130 "browser/web_engine_remote_debugging.cc",
131 "browser/web_engine_remote_debugging.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49132 "browser/web_engine_screen.cc",
133 "browser/web_engine_screen.h",
134 "browser/web_engine_url_request_context_getter.cc",
135 "browser/web_engine_url_request_context_getter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27136 "common.cc",
137 "common.h",
138 "context_provider_impl.cc",
139 "context_provider_impl.h",
140 "context_provider_main.cc",
141 "context_provider_main.h",
142 "renderer/on_load_script_injector.cc",
143 "renderer/on_load_script_injector.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49144 "renderer/web_engine_content_renderer_client.cc",
145 "renderer/web_engine_content_renderer_client.h",
146 "web_engine_content_client.cc",
147 "web_engine_content_client.h",
Wez0f962c22019-02-12 04:34:30148 "web_engine_export.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49149 "web_engine_main_delegate.cc",
150 "web_engine_main_delegate.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27151 ]
Kevin Marshall3decd942019-03-23 00:00:11152 visibility = [
153 ":*",
154 "//fuchsia/runners:cast_runner_browsertests__exec",
155 ]
Sergey Ulanovceeb8e812019-07-18 02:11:20156 if (web_engine_enable_vulkan) {
157 defines = [ "WEB_ENGINE_ENABLE_VULKAN" ]
158 }
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27159}
160
161executable("web_engine_exe") {
162 deps = [
163 ":web_engine_core",
164 "//base",
165 "//content/public/app:both",
166 "//services/service_manager/embedder:embedder_switches",
167 ]
168 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49169 "web_engine_main.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27170 ]
171 visibility = [ ":*" ]
172}
173
174fuchsia_package("web_engine") {
175 binary = ":web_engine_exe"
176 package_name_override = "chromium"
Fabrice de Gans-Ribericc810d32019-07-08 22:44:16177 manifest = "web_engine.cmx"
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27178 excluded_files = [
179 "lib/libswiftshader_libEGL.so",
180 "lib/libswiftshader_libGLESv2.so",
Michael Spang263455e2019-06-19 20:51:38181 "lib/libEGL.so",
182 "lib/libGLESv2.so",
183 "lib/libfuchsia_egl.so",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27184 ]
185}
186
187fuchsia_package_runner("web_engine_runner") {
188 package = ":web_engine"
189 package_name_override = "chromium"
190 install_only = true
191}
192
193source_set("browsertest_core") {
194 testonly = true
195 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49196 "test/web_engine_browser_test.cc",
197 "test/web_engine_browser_test.h",
198 "test/web_engine_test_launcher.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27199 ]
200 deps = [
201 ":web_engine_core",
202 "//content/public/browser",
203 "//content/test:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27204 "//net:test_support",
205 "//testing/gtest",
Wez24d85602019-04-12 01:39:06206 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27207 "//ui/ozone",
208 ]
209}
210
211test("web_engine_browsertests") {
212 sources = [
213 "browser/context_impl_browsertest.cc",
214 "browser/frame_impl_browsertest.cc",
215 ]
216 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
217 data = [
218 "test/data",
219 ]
220 deps = [
221 ":browsertest_core",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27222 ":web_engine_core",
223 "//base/test:test_support",
224 "//content/public/browser",
Wez0f962c22019-02-12 04:34:30225 "//fuchsia/base",
226 "//fuchsia/base:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27227 "//net:test_support",
228 "//testing/gmock",
229 "//testing/gtest",
Sergey Ulanov95293162019-03-22 18:13:51230 "//third_party/fuchsia-sdk/sdk:scenic_cpp",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27231 "//ui/ozone",
232 ]
233}
234
235test("web_engine_unittests") {
236 sources = [
Sharon Yang073da002019-04-27 18:45:48237 "browser/frame_impl_unittest.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27238 "context_provider_impl_unittest.cc",
Fabrice de Gans-Riberiff7afbd2019-04-05 22:06:54239 "fake_context.cc",
240 "fake_context.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27241 ]
242 deps = [
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27243 ":web_engine_core",
244 "//base/test:run_all_unittests",
245 "//base/test:test_support",
246 "//testing/gmock",
247 "//testing/gtest",
Wez24d85602019-04-12 01:39:06248 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27249 ]
250}
Kevin Marshall1fd8f752019-03-05 01:03:49251
Fabrice de Gans-Riberia16cac82019-06-03 19:03:20252test("web_engine_integration_tests") {
Fabrice de Gans-Ribericc810d32019-07-08 22:44:16253 manifest = "web_engine_integration_tests.cmx"
Fabrice de Gans-Riberia16cac82019-06-03 19:03:20254 sources = [
255 "test_debug_listener.cc",
256 "test_debug_listener.h",
Fabrice de Gans-Riberi347f6992019-07-11 00:29:20257 "test_devtools_list_fetcher.cc",
258 "test_devtools_list_fetcher.h",
Fabrice de Gans-Riberia16cac82019-06-03 19:03:20259 "web_engine_debug_integration_test.cc",
Weza0f813c92019-06-26 22:50:01260 "web_engine_integration_test.cc",
Fabrice de Gans-Riberia16cac82019-06-03 19:03:20261 ]
262 data = [
263 "test/data",
264 ]
265 deps = [
266 "//base",
267 "//base/test:run_all_unittests",
268 "//fuchsia/base",
269 "//fuchsia/base:test_support",
270 "//net",
271 "//net:test_support",
272 "//third_party/fuchsia-sdk/sdk:web",
273 ]
274 package_deps = [ [
275 ":web_engine",
276 "chromium",
277 ] ]
278}
279
Wezf608ae6f2019-03-08 18:18:00280if (is_official_build) {
281 symbol_archive("symbol_archive") {
282 deps = [
283 ":web_engine",
284 ]
285 ids_txt = "$root_gen_dir/fuchsia/engine/chromium/ids.txt"
286 archive_name =
287 "$root_gen_dir/fuchsia/engine/chromium/chromium.symbols.tar.bz2"
288 }
289} # is_official_build