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