blob: ae7451024a54e1323a23c1cbdb94bc9467466b34 [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:2717source_set("test_support") {
18 testonly = true
19 sources = [
20 "test/fake_context.cc",
21 "test/fake_context.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2722 "test/test_common.cc",
23 "test/test_common.h",
24 ]
25 deps = [
26 "//base",
27 "//base/test:test_config",
28 "//content/test:test_support",
Wez0f962c22019-02-12 04:34:3029 "//fuchsia/base",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2730 ]
31 public_deps = [
32 "//fuchsia:web_fidl",
33 "//skia/public/interfaces",
34 ]
35}
36
37mojom("mojom") {
38 sources = [
39 "on_load_script_injector.mojom",
40 ]
41 public_deps = [
42 "//mojo/public/mojom/base",
43 ]
44 visibility = [ ":*" ]
45}
46
47repack("web_engine_pak") {
48 sources = [
49 "$root_gen_dir/components/components_resources.pak",
50 "$root_gen_dir/components/strings/components_strings_en-US.pak",
51 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
52 "$root_gen_dir/content/app/strings/content_strings_en-US.pak",
53 "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
54 "$root_gen_dir/content/content_resources.pak",
55 "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
56 "$root_gen_dir/net/net_resources.pak",
57 "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
58 "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
59 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
60 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
61 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
62 ]
63
64 deps = [
65 "//components/resources:components_resources",
66 "//components/strings",
67 "//content:resources",
68 "//content/app/resources",
69 "//content/app/strings",
70 "//content/browser/tracing:resources",
71 "//mojo/public/js:resources",
72 "//net:net_resources",
73 "//third_party/blink/public:resources",
74 "//third_party/blink/public:scaled_resources_100_percent",
75 "//ui/resources",
76 "//ui/strings",
77 ]
78
79 output = "$root_out_dir/webrunner.pak"
80 visibility = [ ":*" ]
81}
82
83component("web_engine_core") {
84 deps = [
85 ":mojom",
86 ":web_engine_pak",
87 "//base",
88 "//components/version_info",
89 "//content/public/app:both",
90 "//content/public/browser",
91 "//content/public/child",
92 "//content/public/common",
93 "//content/public/renderer",
Wez0f962c22019-02-12 04:34:3094 "//fuchsia/base",
Wez500d4432019-03-08 18:12:4995 "//fuchsia/base:modular",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2796 "//mojo/public/cpp/bindings",
97 "//services/network/public/cpp",
98 "//services/service_manager/sandbox",
99 "//skia/public/interfaces",
100 "//third_party/blink/public/common",
101 "//ui/aura",
102 "//ui/base/ime",
103 "//ui/display",
104 "//ui/ozone",
105 "//ui/platform_window",
106 "//ui/wm",
107 "//ui/wm/public",
108 ]
109 data_deps = [
110 ":web_engine_pak",
111 ]
112 data = [
113 "$root_out_dir/webrunner.pak",
114 ]
115 public_deps = [
116 "//fuchsia:web_fidl",
117 ]
Wez0f962c22019-02-12 04:34:30118 configs += [ ":web_engine_implementation" ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27119 sources = [
120 "browser/context_impl.cc",
121 "browser/context_impl.h",
Kevin Marshall2bb514c2019-02-19 19:09:55122 "browser/discarding_event_filter.cc",
123 "browser/discarding_event_filter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27124 "browser/frame_impl.cc",
125 "browser/frame_impl.h",
126 "browser/message_port_impl.cc",
127 "browser/message_port_impl.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49128 "browser/web_engine_browser_context.cc",
129 "browser/web_engine_browser_context.h",
130 "browser/web_engine_browser_main.cc",
131 "browser/web_engine_browser_main.h",
132 "browser/web_engine_browser_main_parts.cc",
133 "browser/web_engine_browser_main_parts.h",
134 "browser/web_engine_content_browser_client.cc",
135 "browser/web_engine_content_browser_client.h",
Fabrice de Gans-Riberi0234ae72019-02-19 20:15:54136 "browser/web_engine_devtools_manager_delegate.cc",
137 "browser/web_engine_devtools_manager_delegate.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49138 "browser/web_engine_net_log.cc",
139 "browser/web_engine_net_log.h",
140 "browser/web_engine_screen.cc",
141 "browser/web_engine_screen.h",
142 "browser/web_engine_url_request_context_getter.cc",
143 "browser/web_engine_url_request_context_getter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27144 "common.cc",
145 "common.h",
146 "context_provider_impl.cc",
147 "context_provider_impl.h",
148 "context_provider_main.cc",
149 "context_provider_main.h",
150 "renderer/on_load_script_injector.cc",
151 "renderer/on_load_script_injector.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49152 "renderer/web_engine_content_renderer_client.cc",
153 "renderer/web_engine_content_renderer_client.h",
154 "web_engine_content_client.cc",
155 "web_engine_content_client.h",
Wez0f962c22019-02-12 04:34:30156 "web_engine_export.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49157 "web_engine_main_delegate.cc",
158 "web_engine_main_delegate.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27159 ]
160 visibility = [ ":*" ]
161}
162
163executable("web_engine_exe") {
164 deps = [
165 ":web_engine_core",
166 "//base",
167 "//content/public/app:both",
168 "//services/service_manager/embedder:embedder_switches",
169 ]
170 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49171 "web_engine_main.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27172 ]
173 visibility = [ ":*" ]
174}
175
176fuchsia_package("web_engine") {
177 binary = ":web_engine_exe"
178 package_name_override = "chromium"
179 sandbox_policy = "sandbox_policy"
180 excluded_files = [
181 "lib/libswiftshader_libEGL.so",
182 "lib/libswiftshader_libGLESv2.so",
183 ]
184}
185
186fuchsia_package_runner("web_engine_runner") {
187 package = ":web_engine"
188 package_name_override = "chromium"
189 install_only = true
190}
191
192source_set("browsertest_core") {
193 testonly = true
194 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49195 "test/web_engine_browser_test.cc",
196 "test/web_engine_browser_test.h",
197 "test/web_engine_test_launcher.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27198 ]
199 deps = [
200 ":web_engine_core",
201 "//content/public/browser",
202 "//content/test:test_support",
203 "//fuchsia:web_fidl",
204 "//net:test_support",
205 "//testing/gtest",
206 "//ui/ozone",
207 ]
208}
209
210test("web_engine_browsertests") {
211 sources = [
212 "browser/context_impl_browsertest.cc",
213 "browser/frame_impl_browsertest.cc",
214 ]
215 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
216 data = [
217 "test/data",
218 ]
219 deps = [
220 ":browsertest_core",
221 ":test_support",
222 ":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",
230 "//ui/ozone",
231 ]
232}
233
234test("web_engine_unittests") {
235 sources = [
236 "context_provider_impl_unittest.cc",
237 ]
238 deps = [
239 ":test_support",
240 ":web_engine_core",
241 "//base/test:run_all_unittests",
242 "//base/test:test_support",
243 "//testing/gmock",
244 "//testing/gtest",
245 ]
246}
Kevin Marshall1fd8f752019-03-05 01:03:49247
Wezf608ae6f2019-03-08 18:18:00248if (is_official_build) {
249 symbol_archive("symbol_archive") {
250 deps = [
251 ":web_engine",
252 ]
253 ids_txt = "$root_gen_dir/fuchsia/engine/chromium/ids.txt"
254 archive_name =
255 "$root_gen_dir/fuchsia/engine/chromium/chromium.symbols.tar.bz2"
256 }
257} # is_official_build