blob: f56205d29c6505381102be720e6689a53d1bbdbc [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")
8import("//mojo/public/tools/bindings/mojom.gni")
9import("//testing/test.gni")
10import("//tools/grit/repack.gni")
11
12source_set("test_support") {
13 testonly = true
14 sources = [
15 "test/fake_context.cc",
16 "test/fake_context.h",
17 "test/promise.h",
18 "test/test_common.cc",
19 "test/test_common.h",
20 ]
21 deps = [
22 "//base",
23 "//base/test:test_config",
24 "//content/test:test_support",
25 "//fuchsia:mem_buffer_common",
26 ]
27 public_deps = [
28 "//fuchsia:web_fidl",
29 "//skia/public/interfaces",
30 ]
31}
32
33mojom("mojom") {
34 sources = [
35 "on_load_script_injector.mojom",
36 ]
37 public_deps = [
38 "//mojo/public/mojom/base",
39 ]
40 visibility = [ ":*" ]
41}
42
43repack("web_engine_pak") {
44 sources = [
45 "$root_gen_dir/components/components_resources.pak",
46 "$root_gen_dir/components/strings/components_strings_en-US.pak",
47 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
48 "$root_gen_dir/content/app/strings/content_strings_en-US.pak",
49 "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
50 "$root_gen_dir/content/content_resources.pak",
51 "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
52 "$root_gen_dir/net/net_resources.pak",
53 "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
54 "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
55 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
56 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
57 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
58 ]
59
60 deps = [
61 "//components/resources:components_resources",
62 "//components/strings",
63 "//content:resources",
64 "//content/app/resources",
65 "//content/app/strings",
66 "//content/browser/tracing:resources",
67 "//mojo/public/js:resources",
68 "//net:net_resources",
69 "//third_party/blink/public:resources",
70 "//third_party/blink/public:scaled_resources_100_percent",
71 "//ui/resources",
72 "//ui/strings",
73 ]
74
75 output = "$root_out_dir/webrunner.pak"
76 visibility = [ ":*" ]
77}
78
79component("web_engine_core") {
80 deps = [
81 ":mojom",
82 ":web_engine_pak",
83 "//base",
84 "//components/version_info",
85 "//content/public/app:both",
86 "//content/public/browser",
87 "//content/public/child",
88 "//content/public/common",
89 "//content/public/renderer",
90 "//fuchsia:mem_buffer_common",
91 "//mojo/public/cpp/bindings",
92 "//services/network/public/cpp",
93 "//services/service_manager/sandbox",
94 "//skia/public/interfaces",
95 "//third_party/blink/public/common",
96 "//ui/aura",
97 "//ui/base/ime",
98 "//ui/display",
99 "//ui/ozone",
100 "//ui/platform_window",
101 "//ui/wm",
102 "//ui/wm/public",
103 ]
104 data_deps = [
105 ":web_engine_pak",
106 ]
107 data = [
108 "$root_out_dir/webrunner.pak",
109 ]
110 public_deps = [
111 "//fuchsia:web_fidl",
112 ]
113 configs += [ "//fuchsia:webrunner_implementation" ]
114 sources = [
115 "browser/context_impl.cc",
116 "browser/context_impl.h",
117 "browser/frame_impl.cc",
118 "browser/frame_impl.h",
119 "browser/message_port_impl.cc",
120 "browser/message_port_impl.h",
121 "browser/webrunner_browser_context.cc",
122 "browser/webrunner_browser_context.h",
123 "browser/webrunner_browser_main.cc",
124 "browser/webrunner_browser_main.h",
125 "browser/webrunner_browser_main_parts.cc",
126 "browser/webrunner_browser_main_parts.h",
127 "browser/webrunner_content_browser_client.cc",
128 "browser/webrunner_content_browser_client.h",
129 "browser/webrunner_net_log.cc",
130 "browser/webrunner_net_log.h",
131 "browser/webrunner_screen.cc",
132 "browser/webrunner_screen.h",
133 "browser/webrunner_url_request_context_getter.cc",
134 "browser/webrunner_url_request_context_getter.h",
135 "common.cc",
136 "common.h",
137 "context_provider_impl.cc",
138 "context_provider_impl.h",
139 "context_provider_main.cc",
140 "context_provider_main.h",
141 "renderer/on_load_script_injector.cc",
142 "renderer/on_load_script_injector.h",
143 "renderer/webrunner_content_renderer_client.cc",
144 "renderer/webrunner_content_renderer_client.h",
145 "webrunner_content_client.cc",
146 "webrunner_content_client.h",
147 "webrunner_main_delegate.cc",
148 "webrunner_main_delegate.h",
149 ]
150 visibility = [ ":*" ]
151}
152
153executable("web_engine_exe") {
154 deps = [
155 ":web_engine_core",
156 "//base",
157 "//content/public/app:both",
158 "//services/service_manager/embedder:embedder_switches",
159 ]
160 sources = [
161 "webrunner_main.cc",
162 ]
163 visibility = [ ":*" ]
164}
165
166fuchsia_package("web_engine") {
167 binary = ":web_engine_exe"
168 package_name_override = "chromium"
169 sandbox_policy = "sandbox_policy"
170 excluded_files = [
171 "lib/libswiftshader_libEGL.so",
172 "lib/libswiftshader_libGLESv2.so",
173 ]
174}
175
176fuchsia_package_runner("web_engine_runner") {
177 package = ":web_engine"
178 package_name_override = "chromium"
179 install_only = true
180}
181
182source_set("browsertest_core") {
183 testonly = true
184 sources = [
185 "test/webrunner_browser_test.cc",
186 "test/webrunner_browser_test.h",
187 "test/webrunner_test_launcher.cc",
188 ]
189 deps = [
190 ":web_engine_core",
191 "//content/public/browser",
192 "//content/test:test_support",
193 "//fuchsia:web_fidl",
194 "//net:test_support",
195 "//testing/gtest",
196 "//ui/ozone",
197 ]
198}
199
200test("web_engine_browsertests") {
201 sources = [
202 "browser/context_impl_browsertest.cc",
203 "browser/frame_impl_browsertest.cc",
204 ]
205 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
206 data = [
207 "test/data",
208 ]
209 deps = [
210 ":browsertest_core",
211 ":test_support",
212 ":web_engine_core",
213 "//base/test:test_support",
214 "//content/public/browser",
215 "//fuchsia:mem_buffer_common",
216 "//net:test_support",
217 "//testing/gmock",
218 "//testing/gtest",
219 "//ui/ozone",
220 ]
221}
222
223test("web_engine_unittests") {
224 sources = [
225 "context_provider_impl_unittest.cc",
226 ]
227 deps = [
228 ":test_support",
229 ":web_engine_core",
230 "//base/test:run_all_unittests",
231 "//base/test:test_support",
232 "//testing/gmock",
233 "//testing/gtest",
234 ]
235}