blob: 23e0c0f6d89fa87b96f9e14074bb2c78f10b898c [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",
Kevin Marshall2bb514c2019-02-19 19:09:55120 "browser/discarding_event_filter.cc",
121 "browser/discarding_event_filter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27122 "browser/frame_impl.cc",
123 "browser/frame_impl.h",
124 "browser/message_port_impl.cc",
125 "browser/message_port_impl.h",
126 "browser/webrunner_browser_context.cc",
127 "browser/webrunner_browser_context.h",
128 "browser/webrunner_browser_main.cc",
129 "browser/webrunner_browser_main.h",
130 "browser/webrunner_browser_main_parts.cc",
131 "browser/webrunner_browser_main_parts.h",
132 "browser/webrunner_content_browser_client.cc",
133 "browser/webrunner_content_browser_client.h",
134 "browser/webrunner_net_log.cc",
135 "browser/webrunner_net_log.h",
136 "browser/webrunner_screen.cc",
137 "browser/webrunner_screen.h",
138 "browser/webrunner_url_request_context_getter.cc",
139 "browser/webrunner_url_request_context_getter.h",
140 "common.cc",
141 "common.h",
142 "context_provider_impl.cc",
143 "context_provider_impl.h",
144 "context_provider_main.cc",
145 "context_provider_main.h",
146 "renderer/on_load_script_injector.cc",
147 "renderer/on_load_script_injector.h",
148 "renderer/webrunner_content_renderer_client.cc",
149 "renderer/webrunner_content_renderer_client.h",
Wez0f962c22019-02-12 04:34:30150 "web_engine_export.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27151 "webrunner_content_client.cc",
152 "webrunner_content_client.h",
153 "webrunner_main_delegate.cc",
154 "webrunner_main_delegate.h",
155 ]
156 visibility = [ ":*" ]
157}
158
159executable("web_engine_exe") {
160 deps = [
161 ":web_engine_core",
162 "//base",
163 "//content/public/app:both",
164 "//services/service_manager/embedder:embedder_switches",
165 ]
166 sources = [
167 "webrunner_main.cc",
168 ]
169 visibility = [ ":*" ]
170}
171
172fuchsia_package("web_engine") {
173 binary = ":web_engine_exe"
174 package_name_override = "chromium"
175 sandbox_policy = "sandbox_policy"
176 excluded_files = [
177 "lib/libswiftshader_libEGL.so",
178 "lib/libswiftshader_libGLESv2.so",
179 ]
180}
181
182fuchsia_package_runner("web_engine_runner") {
183 package = ":web_engine"
184 package_name_override = "chromium"
185 install_only = true
186}
187
188source_set("browsertest_core") {
189 testonly = true
190 sources = [
191 "test/webrunner_browser_test.cc",
192 "test/webrunner_browser_test.h",
193 "test/webrunner_test_launcher.cc",
194 ]
195 deps = [
196 ":web_engine_core",
197 "//content/public/browser",
198 "//content/test:test_support",
199 "//fuchsia:web_fidl",
200 "//net:test_support",
201 "//testing/gtest",
202 "//ui/ozone",
203 ]
204}
205
206test("web_engine_browsertests") {
207 sources = [
208 "browser/context_impl_browsertest.cc",
209 "browser/frame_impl_browsertest.cc",
210 ]
211 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
212 data = [
213 "test/data",
214 ]
215 deps = [
216 ":browsertest_core",
217 ":test_support",
218 ":web_engine_core",
219 "//base/test:test_support",
220 "//content/public/browser",
Wez0f962c22019-02-12 04:34:30221 "//fuchsia/base",
222 "//fuchsia/base:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27223 "//net:test_support",
224 "//testing/gmock",
225 "//testing/gtest",
226 "//ui/ozone",
227 ]
228}
229
230test("web_engine_unittests") {
231 sources = [
232 "context_provider_impl_unittest.cc",
233 ]
234 deps = [
235 ":test_support",
236 ":web_engine_core",
237 "//base/test:run_all_unittests",
238 "//base/test:test_support",
239 "//testing/gmock",
240 "//testing/gtest",
241 ]
242}