blob: 1ebec466a1c23c7b2d7a6ba637eb432b37bae6d0 [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",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49126 "browser/web_engine_browser_context.cc",
127 "browser/web_engine_browser_context.h",
128 "browser/web_engine_browser_main.cc",
129 "browser/web_engine_browser_main.h",
130 "browser/web_engine_browser_main_parts.cc",
131 "browser/web_engine_browser_main_parts.h",
132 "browser/web_engine_content_browser_client.cc",
133 "browser/web_engine_content_browser_client.h",
Fabrice de Gans-Riberi0234ae72019-02-19 20:15:54134 "browser/web_engine_devtools_manager_delegate.cc",
135 "browser/web_engine_devtools_manager_delegate.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49136 "browser/web_engine_net_log.cc",
137 "browser/web_engine_net_log.h",
138 "browser/web_engine_screen.cc",
139 "browser/web_engine_screen.h",
140 "browser/web_engine_url_request_context_getter.cc",
141 "browser/web_engine_url_request_context_getter.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27142 "common.cc",
143 "common.h",
144 "context_provider_impl.cc",
145 "context_provider_impl.h",
146 "context_provider_main.cc",
147 "context_provider_main.h",
148 "renderer/on_load_script_injector.cc",
149 "renderer/on_load_script_injector.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49150 "renderer/web_engine_content_renderer_client.cc",
151 "renderer/web_engine_content_renderer_client.h",
152 "web_engine_content_client.cc",
153 "web_engine_content_client.h",
Wez0f962c22019-02-12 04:34:30154 "web_engine_export.h",
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49155 "web_engine_main_delegate.cc",
156 "web_engine_main_delegate.h",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27157 ]
158 visibility = [ ":*" ]
159}
160
161executable("web_engine_exe") {
162 deps = [
163 ":web_engine_core",
164 "//base",
165 "//content/public/app:both",
166 "//services/service_manager/embedder:embedder_switches",
167 ]
168 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49169 "web_engine_main.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27170 ]
171 visibility = [ ":*" ]
172}
173
174fuchsia_package("web_engine") {
175 binary = ":web_engine_exe"
176 package_name_override = "chromium"
177 sandbox_policy = "sandbox_policy"
178 excluded_files = [
179 "lib/libswiftshader_libEGL.so",
180 "lib/libswiftshader_libGLESv2.so",
181 ]
182}
183
184fuchsia_package_runner("web_engine_runner") {
185 package = ":web_engine"
186 package_name_override = "chromium"
187 install_only = true
188}
189
190source_set("browsertest_core") {
191 testonly = true
192 sources = [
Fabrice de Gans-Riberi7ca448c72019-02-22 01:15:49193 "test/web_engine_browser_test.cc",
194 "test/web_engine_browser_test.h",
195 "test/web_engine_test_launcher.cc",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27196 ]
197 deps = [
198 ":web_engine_core",
199 "//content/public/browser",
200 "//content/test:test_support",
201 "//fuchsia:web_fidl",
202 "//net:test_support",
203 "//testing/gtest",
204 "//ui/ozone",
205 ]
206}
207
208test("web_engine_browsertests") {
209 sources = [
210 "browser/context_impl_browsertest.cc",
211 "browser/frame_impl_browsertest.cc",
212 ]
213 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
214 data = [
215 "test/data",
216 ]
217 deps = [
218 ":browsertest_core",
219 ":test_support",
220 ":web_engine_core",
221 "//base/test:test_support",
222 "//content/public/browser",
Wez0f962c22019-02-12 04:34:30223 "//fuchsia/base",
224 "//fuchsia/base:test_support",
Fabrice de Gans-Riberi3fa1c0fa2019-02-08 18:55:27225 "//net:test_support",
226 "//testing/gmock",
227 "//testing/gtest",
228 "//ui/ozone",
229 ]
230}
231
232test("web_engine_unittests") {
233 sources = [
234 "context_provider_impl_unittest.cc",
235 ]
236 deps = [
237 ":test_support",
238 ":web_engine_core",
239 "//base/test:run_all_unittests",
240 "//base/test:test_support",
241 "//testing/gmock",
242 "//testing/gtest",
243 ]
244}