blob: dcb2539aab7660251209a4a580f9b67408986a34 [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",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:2795 "//mojo/public/cpp/bindings",
96 "//services/network/public/cpp",
97 "//services/service_manager/sandbox",
98 "//skia/public/interfaces",
99 "//third_party/blink/public/common",
100 "//ui/aura",
101 "//ui/base/ime",
102 "//ui/display",
103 "//ui/ozone",
104 "//ui/platform_window",
105 "//ui/wm",
106 "//ui/wm/public",
107 ]
108 data_deps = [
109 ":web_engine_pak",
110 ]
111 data = [
112 "$root_out_dir/webrunner.pak",
113 ]
114 public_deps = [
115 "//fuchsia:web_fidl",
116 ]
Wez0f962c22019-02-12 04:34:30117 configs += [ ":web_engine_implementation" ]
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27118 sources = [
119 "browser/context_impl.cc",
120 "browser/context_impl.h",
Kevin Marshall2bb514c2019-02-19 19:09:55121 "browser/discarding_event_filter.cc",
122 "browser/discarding_event_filter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27123 "browser/frame_impl.cc",
124 "browser/frame_impl.h",
125 "browser/message_port_impl.cc",
126 "browser/message_port_impl.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49127 "browser/web_engine_browser_context.cc",
128 "browser/web_engine_browser_context.h",
129 "browser/web_engine_browser_main.cc",
130 "browser/web_engine_browser_main.h",
131 "browser/web_engine_browser_main_parts.cc",
132 "browser/web_engine_browser_main_parts.h",
133 "browser/web_engine_content_browser_client.cc",
134 "browser/web_engine_content_browser_client.h",
Fabrice de Gans-Riberi0234ae72019-02-19 20:15:54135 "browser/web_engine_devtools_manager_delegate.cc",
136 "browser/web_engine_devtools_manager_delegate.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49137 "browser/web_engine_net_log.cc",
138 "browser/web_engine_net_log.h",
139 "browser/web_engine_screen.cc",
140 "browser/web_engine_screen.h",
141 "browser/web_engine_url_request_context_getter.cc",
142 "browser/web_engine_url_request_context_getter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27143 "common.cc",
144 "common.h",
145 "context_provider_impl.cc",
146 "context_provider_impl.h",
147 "context_provider_main.cc",
148 "context_provider_main.h",
149 "renderer/on_load_script_injector.cc",
150 "renderer/on_load_script_injector.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49151 "renderer/web_engine_content_renderer_client.cc",
152 "renderer/web_engine_content_renderer_client.h",
153 "web_engine_content_client.cc",
154 "web_engine_content_client.h",
Wez0f962c22019-02-12 04:34:30155 "web_engine_export.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49156 "web_engine_main_delegate.cc",
157 "web_engine_main_delegate.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27158 ]
159 visibility = [ ":*" ]
160}
161
162executable("web_engine_exe") {
163 deps = [
164 ":web_engine_core",
165 "//base",
166 "//content/public/app:both",
167 "//services/service_manager/embedder:embedder_switches",
168 ]
169 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49170 "web_engine_main.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27171 ]
172 visibility = [ ":*" ]
173}
174
175fuchsia_package("web_engine") {
176 binary = ":web_engine_exe"
177 package_name_override = "chromium"
178 sandbox_policy = "sandbox_policy"
179 excluded_files = [
180 "lib/libswiftshader_libEGL.so",
181 "lib/libswiftshader_libGLESv2.so",
182 ]
183}
184
185fuchsia_package_runner("web_engine_runner") {
186 package = ":web_engine"
187 package_name_override = "chromium"
188 install_only = true
189}
190
191source_set("browsertest_core") {
192 testonly = true
193 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49194 "test/web_engine_browser_test.cc",
195 "test/web_engine_browser_test.h",
196 "test/web_engine_test_launcher.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27197 ]
198 deps = [
199 ":web_engine_core",
200 "//content/public/browser",
201 "//content/test:test_support",
202 "//fuchsia:web_fidl",
203 "//net:test_support",
204 "//testing/gtest",
205 "//ui/ozone",
206 ]
207}
208
209test("web_engine_browsertests") {
210 sources = [
211 "browser/context_impl_browsertest.cc",
212 "browser/frame_impl_browsertest.cc",
213 ]
214 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
215 data = [
216 "test/data",
217 ]
218 deps = [
219 ":browsertest_core",
220 ":test_support",
221 ":web_engine_core",
222 "//base/test:test_support",
223 "//content/public/browser",
Wez0f962c22019-02-12 04:34:30224 "//fuchsia/base",
225 "//fuchsia/base:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27226 "//net:test_support",
227 "//testing/gmock",
228 "//testing/gtest",
229 "//ui/ozone",
230 ]
231}
232
233test("web_engine_unittests") {
234 sources = [
235 "context_provider_impl_unittest.cc",
236 ]
237 deps = [
238 ":test_support",
239 ":web_engine_core",
240 "//base/test:run_all_unittests",
241 "//base/test:test_support",
242 "//testing/gmock",
243 "//testing/gtest",
244 ]
245}
Kevin Marshall1fd8f752019-03-05 01:03:49246
247symbol_archive("symbol_archive") {
248 deps = [
249 ":web_engine",
250 ]
251 ids_txt = "$root_gen_dir/fuchsia/engine/chromium/ids.txt"
252 archive_name =
253 "$root_gen_dir/fuchsia/engine/chromium/chromium.symbols.tar.bz2"
254}