blob: a175283c083ca2fc9552e6ecde6b27b7808750a9 [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
Wez0f962c22019-02-12 04:34:3013config("web_engine_implementation") {
14 defines = [ "WEB_ENGINE_IMPLEMENTATION" ]
15}
16
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2717mojom("mojom") {
18 sources = [
19 "on_load_script_injector.mojom",
20 ]
21 public_deps = [
22 "//mojo/public/mojom/base",
23 ]
24 visibility = [ ":*" ]
25}
26
27repack("web_engine_pak") {
28 sources = [
29 "$root_gen_dir/components/components_resources.pak",
30 "$root_gen_dir/components/strings/components_strings_en-US.pak",
31 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
32 "$root_gen_dir/content/app/strings/content_strings_en-US.pak",
33 "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
34 "$root_gen_dir/content/content_resources.pak",
35 "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
36 "$root_gen_dir/net/net_resources.pak",
37 "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
38 "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
39 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
40 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
41 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
42 ]
43
44 deps = [
45 "//components/resources:components_resources",
46 "//components/strings",
47 "//content:resources",
48 "//content/app/resources",
49 "//content/app/strings",
50 "//content/browser/tracing:resources",
51 "//mojo/public/js:resources",
52 "//net:net_resources",
53 "//third_party/blink/public:resources",
54 "//third_party/blink/public:scaled_resources_100_percent",
55 "//ui/resources",
56 "//ui/strings",
57 ]
58
Fabrice de Gans-Riberif123e2c2019-04-25 19:57:0859 output = "$root_out_dir/web_engine.pak"
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2760 visibility = [ ":*" ]
61}
62
63component("web_engine_core") {
64 deps = [
65 ":mojom",
66 ":web_engine_pak",
67 "//base",
68 "//components/version_info",
69 "//content/public/app:both",
70 "//content/public/browser",
71 "//content/public/child",
72 "//content/public/common",
73 "//content/public/renderer",
Wez0f962c22019-02-12 04:34:3074 "//fuchsia/base",
Kevin Marshall7933caa2019-05-16 23:32:5475 "//fuchsia/base:message_port",
Wez500d4432019-03-08 18:12:4976 "//fuchsia/base:modular",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2777 "//mojo/public/cpp/bindings",
78 "//services/network/public/cpp",
79 "//services/service_manager/sandbox",
80 "//skia/public/interfaces",
81 "//third_party/blink/public/common",
Wez77216272019-04-08 23:21:4282 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2783 "//ui/aura",
84 "//ui/base/ime",
85 "//ui/display",
86 "//ui/ozone",
87 "//ui/platform_window",
88 "//ui/wm",
89 "//ui/wm/public",
90 ]
91 data_deps = [
92 ":web_engine_pak",
93 ]
Sharon Yang073da002019-04-27 18:45:4894 public_deps = [
95 "//content/public/browser",
96 ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2797 data = [
Fabrice de Gans-Riberif123e2c2019-04-25 19:57:0898 "$root_out_dir/web_engine.pak",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2799 ]
Wez0f962c22019-02-12 04:34:30100 configs += [ ":web_engine_implementation" ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27101 sources = [
102 "browser/context_impl.cc",
103 "browser/context_impl.h",
Kevin Marshall2bb514c2019-02-19 19:09:55104 "browser/discarding_event_filter.cc",
105 "browser/discarding_event_filter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27106 "browser/frame_impl.cc",
107 "browser/frame_impl.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49108 "browser/web_engine_browser_context.cc",
109 "browser/web_engine_browser_context.h",
110 "browser/web_engine_browser_main.cc",
111 "browser/web_engine_browser_main.h",
112 "browser/web_engine_browser_main_parts.cc",
113 "browser/web_engine_browser_main_parts.h",
114 "browser/web_engine_content_browser_client.cc",
115 "browser/web_engine_content_browser_client.h",
Fabrice de Gans-Riberi0234ae72019-02-19 20:15:54116 "browser/web_engine_devtools_manager_delegate.cc",
117 "browser/web_engine_devtools_manager_delegate.h",
Fabrice de Gans-Riberia16cac82019-06-03 19:03:20118 "browser/web_engine_devtools_socket_factory.cc",
119 "browser/web_engine_devtools_socket_factory.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49120 "browser/web_engine_net_log.cc",
121 "browser/web_engine_net_log.h",
Yuchen Liu2dc4ad22019-06-05 21:51:46122 "browser/web_engine_permission_manager.cc",
123 "browser/web_engine_permission_manager.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49124 "browser/web_engine_screen.cc",
125 "browser/web_engine_screen.h",
126 "browser/web_engine_url_request_context_getter.cc",
127 "browser/web_engine_url_request_context_getter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27128 "common.cc",
129 "common.h",
130 "context_provider_impl.cc",
131 "context_provider_impl.h",
132 "context_provider_main.cc",
133 "context_provider_main.h",
134 "renderer/on_load_script_injector.cc",
135 "renderer/on_load_script_injector.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49136 "renderer/web_engine_content_renderer_client.cc",
137 "renderer/web_engine_content_renderer_client.h",
138 "web_engine_content_client.cc",
139 "web_engine_content_client.h",
Wez0f962c22019-02-12 04:34:30140 "web_engine_export.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49141 "web_engine_main_delegate.cc",
142 "web_engine_main_delegate.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27143 ]
Kevin Marshall3decd942019-03-23 00:00:11144 visibility = [
145 ":*",
146 "//fuchsia/runners:cast_runner_browsertests__exec",
147 ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27148}
149
150executable("web_engine_exe") {
151 deps = [
152 ":web_engine_core",
153 "//base",
154 "//content/public/app:both",
155 "//services/service_manager/embedder:embedder_switches",
156 ]
157 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49158 "web_engine_main.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27159 ]
160 visibility = [ ":*" ]
161}
162
163fuchsia_package("web_engine") {
164 binary = ":web_engine_exe"
165 package_name_override = "chromium"
166 sandbox_policy = "sandbox_policy"
167 excluded_files = [
168 "lib/libswiftshader_libEGL.so",
169 "lib/libswiftshader_libGLESv2.so",
170 ]
171}
172
173fuchsia_package_runner("web_engine_runner") {
174 package = ":web_engine"
175 package_name_override = "chromium"
176 install_only = true
177}
178
179source_set("browsertest_core") {
180 testonly = true
181 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49182 "test/web_engine_browser_test.cc",
183 "test/web_engine_browser_test.h",
184 "test/web_engine_test_launcher.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27185 ]
186 deps = [
187 ":web_engine_core",
188 "//content/public/browser",
189 "//content/test:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27190 "//net:test_support",
191 "//testing/gtest",
Wez24d85602019-04-12 01:39:06192 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27193 "//ui/ozone",
194 ]
195}
196
197test("web_engine_browsertests") {
198 sources = [
199 "browser/context_impl_browsertest.cc",
200 "browser/frame_impl_browsertest.cc",
201 ]
202 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
203 data = [
204 "test/data",
205 ]
206 deps = [
207 ":browsertest_core",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27208 ":web_engine_core",
209 "//base/test:test_support",
210 "//content/public/browser",
Wez0f962c22019-02-12 04:34:30211 "//fuchsia/base",
212 "//fuchsia/base:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27213 "//net:test_support",
214 "//testing/gmock",
215 "//testing/gtest",
Sergey Ulanov95293162019-03-22 18:13:51216 "//third_party/fuchsia-sdk/sdk:scenic_cpp",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27217 "//ui/ozone",
218 ]
219}
220
221test("web_engine_unittests") {
222 sources = [
Sharon Yang073da002019-04-27 18:45:48223 "browser/frame_impl_unittest.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27224 "context_provider_impl_unittest.cc",
Fabrice de Gans-Riberiff7afbd2019-04-05 22:06:54225 "fake_context.cc",
226 "fake_context.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27227 ]
228 deps = [
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27229 ":web_engine_core",
230 "//base/test:run_all_unittests",
231 "//base/test:test_support",
232 "//testing/gmock",
233 "//testing/gtest",
Wez24d85602019-04-12 01:39:06234 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27235 ]
236}
Kevin Marshall1fd8f752019-03-05 01:03:49237
Fabrice de Gans-Riberia16cac82019-06-03 19:03:20238test("web_engine_integration_tests") {
239 sandbox_policy = "integration_tests_sandbox_policy"
240 sources = [
241 "test_debug_listener.cc",
242 "test_debug_listener.h",
243 "web_engine_debug_integration_test.cc",
244 ]
245 data = [
246 "test/data",
247 ]
248 deps = [
249 "//base",
250 "//base/test:run_all_unittests",
251 "//fuchsia/base",
252 "//fuchsia/base:test_support",
253 "//net",
254 "//net:test_support",
255 "//third_party/fuchsia-sdk/sdk:web",
256 ]
257 package_deps = [ [
258 ":web_engine",
259 "chromium",
260 ] ]
261}
262
Wezf608ae6f2019-03-08 18:18:00263if (is_official_build) {
264 symbol_archive("symbol_archive") {
265 deps = [
266 ":web_engine",
267 ]
268 ids_txt = "$root_gen_dir/fuchsia/engine/chromium/ids.txt"
269 archive_name =
270 "$root_gen_dir/fuchsia/engine/chromium/chromium.symbols.tar.bz2"
271 }
272} # is_official_build