blob: ff295ca71d0cb60a3247c1204406e4cb4798696e [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",
122 "browser/web_engine_screen.cc",
123 "browser/web_engine_screen.h",
124 "browser/web_engine_url_request_context_getter.cc",
125 "browser/web_engine_url_request_context_getter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27126 "common.cc",
127 "common.h",
128 "context_provider_impl.cc",
129 "context_provider_impl.h",
130 "context_provider_main.cc",
131 "context_provider_main.h",
132 "renderer/on_load_script_injector.cc",
133 "renderer/on_load_script_injector.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49134 "renderer/web_engine_content_renderer_client.cc",
135 "renderer/web_engine_content_renderer_client.h",
136 "web_engine_content_client.cc",
137 "web_engine_content_client.h",
Wez0f962c22019-02-12 04:34:30138 "web_engine_export.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49139 "web_engine_main_delegate.cc",
140 "web_engine_main_delegate.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27141 ]
Kevin Marshall3decd942019-03-23 00:00:11142 visibility = [
143 ":*",
144 "//fuchsia/runners:cast_runner_browsertests__exec",
145 ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27146}
147
148executable("web_engine_exe") {
149 deps = [
150 ":web_engine_core",
151 "//base",
152 "//content/public/app:both",
153 "//services/service_manager/embedder:embedder_switches",
154 ]
155 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49156 "web_engine_main.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27157 ]
158 visibility = [ ":*" ]
159}
160
161fuchsia_package("web_engine") {
162 binary = ":web_engine_exe"
163 package_name_override = "chromium"
164 sandbox_policy = "sandbox_policy"
165 excluded_files = [
166 "lib/libswiftshader_libEGL.so",
167 "lib/libswiftshader_libGLESv2.so",
168 ]
169}
170
171fuchsia_package_runner("web_engine_runner") {
172 package = ":web_engine"
173 package_name_override = "chromium"
174 install_only = true
175}
176
177source_set("browsertest_core") {
178 testonly = true
179 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49180 "test/web_engine_browser_test.cc",
181 "test/web_engine_browser_test.h",
182 "test/web_engine_test_launcher.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27183 ]
184 deps = [
185 ":web_engine_core",
186 "//content/public/browser",
187 "//content/test:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27188 "//net:test_support",
189 "//testing/gtest",
Wez24d85602019-04-12 01:39:06190 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27191 "//ui/ozone",
192 ]
193}
194
195test("web_engine_browsertests") {
196 sources = [
197 "browser/context_impl_browsertest.cc",
198 "browser/frame_impl_browsertest.cc",
199 ]
200 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
201 data = [
202 "test/data",
203 ]
204 deps = [
205 ":browsertest_core",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27206 ":web_engine_core",
207 "//base/test:test_support",
208 "//content/public/browser",
Wez0f962c22019-02-12 04:34:30209 "//fuchsia/base",
210 "//fuchsia/base:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27211 "//net:test_support",
212 "//testing/gmock",
213 "//testing/gtest",
Sergey Ulanov95293162019-03-22 18:13:51214 "//third_party/fuchsia-sdk/sdk:scenic_cpp",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27215 "//ui/ozone",
216 ]
217}
218
219test("web_engine_unittests") {
220 sources = [
Sharon Yang073da002019-04-27 18:45:48221 "browser/frame_impl_unittest.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27222 "context_provider_impl_unittest.cc",
Fabrice de Gans-Riberiff7afbd2019-04-05 22:06:54223 "fake_context.cc",
224 "fake_context.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27225 ]
226 deps = [
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27227 ":web_engine_core",
228 "//base/test:run_all_unittests",
229 "//base/test:test_support",
230 "//testing/gmock",
231 "//testing/gtest",
Wez24d85602019-04-12 01:39:06232 "//third_party/fuchsia-sdk/sdk:web",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27233 ]
234}
Kevin Marshall1fd8f752019-03-05 01:03:49235
Fabrice de Gans-Riberia16cac82019-06-03 19:03:20236test("web_engine_integration_tests") {
237 sandbox_policy = "integration_tests_sandbox_policy"
238 sources = [
239 "test_debug_listener.cc",
240 "test_debug_listener.h",
241 "web_engine_debug_integration_test.cc",
242 ]
243 data = [
244 "test/data",
245 ]
246 deps = [
247 "//base",
248 "//base/test:run_all_unittests",
249 "//fuchsia/base",
250 "//fuchsia/base:test_support",
251 "//net",
252 "//net:test_support",
253 "//third_party/fuchsia-sdk/sdk:web",
254 ]
255 package_deps = [ [
256 ":web_engine",
257 "chromium",
258 ] ]
259}
260
Wezf608ae6f2019-03-08 18:18:00261if (is_official_build) {
262 symbol_archive("symbol_archive") {
263 deps = [
264 ":web_engine",
265 ]
266 ids_txt = "$root_gen_dir/fuchsia/engine/chromium/ids.txt"
267 archive_name =
268 "$root_gen_dir/fuchsia/engine/chromium/chromium.symbols.tar.bz2"
269 }
270} # is_official_build