blob: 021a2fd7c7c08167aacccda9e50dce96d4e40516 [file] [log] [blame]
John Abd-El-Malek402a13f2019-08-23 07:06:401# 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.
Colin Blundell1fa65d22020-01-30 09:29:294import("//components/captive_portal/core/features.gni")
John Abd-El-Malek402a13f2019-08-23 07:06:405
6import("//build/config/features.gni")
Clark DuVallc75c5d22019-11-12 23:00:387import("//build/config/locales.gni")
John Abd-El-Malek402a13f2019-08-23 07:06:408import("//build/config/sanitizers/sanitizers.gni")
9import("//build/config/ui.gni")
10import("//build/config/win/console_app.gni")
11import("//build/config/win/manifest.gni")
Evan Stadec61efb02019-12-04 22:37:4712import("//components/spellcheck/spellcheck_build_features.gni")
John Abd-El-Malek402a13f2019-08-23 07:06:4013import("//gpu/vulkan/features.gni")
14import("//media/media_options.gni")
15import("//mojo/public/tools/bindings/mojom.gni")
16import("//tools/grit/grit_rule.gni")
17import("//tools/grit/repack.gni")
18import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
19if (is_android) {
20 import("//build/config/android/config.gni")
21} else if (is_mac) {
22 import("//build/config/mac/rules.gni")
23 import("//build/mac/tweak_info_plist.gni")
24 import("//content/public/app/mac_helpers.gni")
25 import("//third_party/icu/config.gni")
26 import("//ui/gl/features.gni")
27 import("//v8/gni/v8.gni")
28}
29
30source_set("android_descriptors") {
Nico Weber4f38eb72020-01-14 03:47:5231 sources = [ "browser/android_descriptors.h" ]
32 public_deps = [ "//content/public/common:content_descriptors" ]
John Abd-El-Malek402a13f2019-08-23 07:06:4033}
34
Clark DuVallc75c5d22019-11-12 23:00:3835if (is_android) {
36 grit("generate_components_strings") {
37 source = "../components/components_strings.grd"
38
39 # components_strings contains strings from all components. WebLayer
40 # will never display most of them, so we try to limit the included
41 # strings.
42 whitelist = rebase_path("grit_strings_whitelist.txt", root_build_dir)
Nico Weber4f38eb72020-01-14 03:47:5243 inputs = [ "//weblayer/grit_strings_whitelist.txt" ]
Clark DuVallc75c5d22019-11-12 23:00:3844 grit_flags = [
45 "-w",
46 whitelist,
47 ]
Trevor Perrier57381092019-12-03 17:43:2348 outputs =
49 [
50 "grit/components_strings.h",
51 "java/res/values/components_strings.xml",
52 ] +
53 process_file_template(
54 android_bundle_locales_as_resources,
55 [ "java/res/values-{{source_name_part}}/components_strings.xml" ]) +
56 process_file_template(locales_with_fake_bidi,
57 [ "components_strings_{{source_name_part}}.pak" ])
Clark DuVallc75c5d22019-11-12 23:00:3858 }
59
Clark DuVallebd41cb2019-12-19 23:14:1660 repack_locales("weblayer_locales") {
61 input_locales = locales
62 output_locales = locales
63 source_patterns = [ "${root_gen_dir}/weblayer/components_strings_" ]
Nico Weber4f38eb72020-01-14 03:47:5264 deps = [ ":generate_components_strings" ]
Clark DuVallebd41cb2019-12-19 23:14:1665 output_dir = "$root_out_dir/weblayer/locales"
Clark DuVallc75c5d22019-11-12 23:00:3866 }
67
68 android_assets("locale_pak_assets") {
69 disable_compression = true
70 renaming_sources = [ "$root_out_dir/weblayer/locales/en-US.pak" ]
71 renaming_destinations = [ "stored-locales/weblayer/en-US.pak" ]
72 treat_as_locale_paks = true
Nico Weber4f38eb72020-01-14 03:47:5273 deps = [ ":weblayer_locales" ]
Clark DuVallc75c5d22019-11-12 23:00:3874 }
Clark DuVallebd41cb2019-12-19 23:14:1675
76 android_assets("bundle_locale_pak_assets") {
77 disable_compression = true
78 renaming_sources = []
79 renaming_destinations = []
80 foreach(_locale, locales) {
81 renaming_sources += [ "$root_out_dir/weblayer/locales/$_locale.pak" ]
82 renaming_destinations += [ "locales/$_locale.pak" ]
83 }
84 treat_as_locale_paks = true
Nico Weber4f38eb72020-01-14 03:47:5285 deps = [ ":weblayer_locales" ]
Clark DuVallebd41cb2019-12-19 23:14:1686 }
Clark DuVallc75c5d22019-11-12 23:00:3887}
88
Clark DuVallf0d5718a2020-03-13 17:17:5589source_set("weblayer_lib_base") {
John Abd-El-Malek402a13f2019-08-23 07:06:4090 sources = [
John Abd-El-Malekc0b023c2019-08-24 20:46:2991 "app/content_main_delegate_impl.cc",
92 "app/content_main_delegate_impl.h",
93 "app/main.cc",
Colin Blundellcd741aa2019-12-30 10:24:5294 "browser/autofill_client_impl.cc",
95 "browser/autofill_client_impl.h",
John Abd-El-Malekbc16a6672019-12-27 23:18:3296 "browser/browser_context_impl.cc",
97 "browser/browser_context_impl.h",
Scott Violet009c09c2020-01-18 00:57:1898 "browser/browser_impl.cc",
99 "browser/browser_impl.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29100 "browser/browser_main_parts_impl.cc",
101 "browser/browser_main_parts_impl.h",
Colin Blundell5c4f8122020-01-10 08:25:08102 "browser/browser_process.cc",
103 "browser/browser_process.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29104 "browser/content_browser_client_impl.cc",
105 "browser/content_browser_client_impl.h",
Evan Staded26b27c2020-02-07 19:46:20106 "browser/controls_visibility_reason.h",
John Abd-El-Maleke31712a2020-01-15 01:20:05107 "browser/download_impl.cc",
108 "browser/download_impl.h",
John Abd-El-Malek6c46bcd92019-12-17 06:27:27109 "browser/download_manager_delegate_impl.cc",
110 "browser/download_manager_delegate_impl.h",
Clark DuVallcbd7dfa2020-01-14 21:21:57111 "browser/fake_permission_controller_delegate.cc",
112 "browser/fake_permission_controller_delegate.h",
Alex Clarke97088b92020-01-30 16:47:48113 "browser/feature_list_creator.cc",
114 "browser/feature_list_creator.h",
Clark DuVall0c63dda2019-10-22 21:01:46115 "browser/file_select_helper.cc",
116 "browser/file_select_helper.h",
Colin Blundell19d639c2020-02-21 18:20:48117 "browser/host_content_settings_map_factory.cc",
118 "browser/host_content_settings_map_factory.h",
Evan Stade47692792019-11-14 22:20:52119 "browser/i18n_util.cc",
120 "browser/i18n_util.h",
Clark DuVall8d1f447b2019-10-21 19:31:44121 "browser/isolated_world_ids.h",
Evan Stadec120222b2020-02-20 21:04:38122 "browser/javascript_tab_modal_dialog_manager_delegate_android.cc",
123 "browser/javascript_tab_modal_dialog_manager_delegate_android.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29124 "browser/navigation_controller_impl.cc",
125 "browser/navigation_controller_impl.h",
John Abd-El-Malek63ea6962019-08-27 00:49:31126 "browser/navigation_impl.cc",
127 "browser/navigation_impl.h",
Clark DuVall204ef8f42020-03-12 18:24:08128 "browser/permissions/permission_decision_auto_blocker_factory.cc",
129 "browser/permissions/permission_decision_auto_blocker_factory.h",
130 "browser/permissions/permission_prompt_impl.cc",
Clark DuVall42354a02020-03-12 21:26:38131 "browser/permissions/weblayer_permissions_client.cc",
132 "browser/permissions/weblayer_permissions_client.h",
Scott Violet343f4ec2020-01-30 02:58:08133 "browser/persistence/browser_persistence_common.cc",
134 "browser/persistence/browser_persistence_common.h",
Scott Violet9843d0a2020-02-11 22:38:07135 "browser/persistence/browser_persister.cc",
136 "browser/persistence/browser_persister.h",
Scott Violet343f4ec2020-01-30 02:58:08137 "browser/persistence/minimal_browser_persister.cc",
138 "browser/persistence/minimal_browser_persister.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29139 "browser/profile_impl.cc",
140 "browser/profile_impl.h",
Colin Blundell2ae70152019-11-25 12:32:31141 "browser/ssl_error_controller_client.cc",
142 "browser/ssl_error_controller_client.h",
Colin Blundell7657b402020-02-25 09:46:50143 "browser/stateful_ssl_host_state_delegate_factory.cc",
144 "browser/stateful_ssl_host_state_delegate_factory.h",
Colin Blundell5c4f8122020-01-10 08:25:08145 "browser/system_network_context_manager.cc",
146 "browser/system_network_context_manager.h",
Scott Violet72fad2602019-11-06 16:42:16147 "browser/tab_impl.cc",
148 "browser/tab_impl.h",
Mugdha Lakhani35fa2a02020-03-10 20:57:55149 "browser/url_bar/autocomplete_scheme_classifier_impl.cc",
150 "browser/url_bar/autocomplete_scheme_classifier_impl.h",
151 "browser/url_bar/url_bar_controller_impl.cc",
152 "browser/url_bar/url_bar_controller_impl.h",
Bo Liu28a2f552020-02-22 01:28:56153 "browser/web_contents_view_delegate_impl.cc",
154 "browser/web_contents_view_delegate_impl.h",
Miyoung Shin2abdeb62020-01-07 04:31:47155 "browser/weblayer_browser_interface_binders.cc",
156 "browser/weblayer_browser_interface_binders.h",
Clark DuVall1644dbe2019-09-19 17:16:47157 "browser/weblayer_content_browser_overlay_manifest.cc",
158 "browser/weblayer_content_browser_overlay_manifest.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20159 "browser/weblayer_field_trials.h",
Colin Blundella9285342020-02-03 18:34:23160 "browser/weblayer_security_blocking_page_factory.cc",
161 "browser/weblayer_security_blocking_page_factory.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20162 "browser/weblayer_variations_service_client.cc",
163 "browser/weblayer_variations_service_client.h",
Clark DuVall1644dbe2019-09-19 17:16:47164 "browser/webui/web_ui_controller_factory.cc",
165 "browser/webui/web_ui_controller_factory.h",
166 "browser/webui/weblayer_internals_ui.cc",
167 "browser/webui/weblayer_internals_ui.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29168 "common/content_client_impl.cc",
169 "common/content_client_impl.h",
Tim Volodine805894b2019-10-23 17:41:57170 "common/features.cc",
171 "common/features.h",
Tobias Sargeantf3261002019-10-28 10:48:21172 "common/weblayer_paths.cc",
173 "common/weblayer_paths.h",
Scott Violetbf8b8aa72020-01-28 19:37:32174 "public/browser.cc",
Scott Violet009c09c2020-01-18 00:57:18175 "public/browser.h",
176 "public/browser_observer.h",
Bo Liu1cf15442019-11-23 02:36:50177 "public/common/switches.cc",
178 "public/common/switches.h",
John Abd-El-Maleke31712a2020-01-15 01:20:05179 "public/download.h",
Evan Stadedb1404e2019-10-18 00:16:26180 "public/download_delegate.h",
Evan Stade94c2a5652019-11-14 16:32:24181 "public/error_page_delegate.h",
Scott Violet47bd2942019-10-16 21:35:38182 "public/fullscreen_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29183 "public/main.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31184 "public/navigation.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29185 "public/navigation_controller.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31186 "public/navigation_observer.h",
Scott Violet72fad2602019-11-06 16:42:16187 "public/new_tab_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29188 "public/profile.h",
Scott Violet72fad2602019-11-06 16:42:16189 "public/tab.h",
190 "public/tab_observer.h",
Mugdha Lakhani93363739e82020-02-03 22:12:15191 "public/url_bar_controller.h",
Evan Stadec36cdbc62019-10-31 23:28:47192 "renderer/content_renderer_client_impl.cc",
193 "renderer/content_renderer_client_impl.h",
Tim Volodine86e9ad42020-02-08 01:55:29194 "renderer/error_page_helper.cc",
195 "renderer/error_page_helper.h",
Colin Blundellcd741aa2019-12-30 10:24:52196 "renderer/weblayer_render_frame_observer.cc",
197 "renderer/weblayer_render_frame_observer.h",
Colin Blundell030a2632019-10-18 13:40:49198 "utility/content_utility_client_impl.cc",
199 "utility/content_utility_client_impl.h",
John Abd-El-Malek402a13f2019-08-23 07:06:40200 ]
201
202 configs += [
203 "//build/config:precompiled_headers",
204
205 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
206 "//build/config/compiler:no_size_t_to_int_warning",
207 ]
208
Nico Weber4f38eb72020-01-14 03:47:52209 public_deps = [ ":android_descriptors" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40210 deps = [
211 "//base",
212 "//base:base_static",
213 "//base/third_party/dynamic_annotations",
214 "//cc",
Colin Blundellcd741aa2019-12-30 10:24:52215 "//components/autofill/content/browser",
216 "//components/autofill/content/renderer",
217 "//components/autofill/core/browser",
Scott Violet87450ce2020-01-23 01:56:25218 "//components/base32",
Colin Blundell1fa65d22020-01-30 09:29:29219 "//components/captive_portal/core:buildflags",
Colin Blundell19d639c2020-02-21 18:20:48220 "//components/content_settings/core/browser",
Tobias Sargeant13eb3662019-10-31 09:18:36221 "//components/crash/content/app",
222 "//components/crash/content/browser",
Joshua Peraza4b66ae62020-02-26 20:31:40223 "//components/crash/core/common",
Colin Blundellab45f552020-01-22 15:08:40224 "//components/embedder_support",
Evan Stade46a3fc72020-01-27 21:28:14225 "//components/find_in_page",
Colin Blundell1fa65d22020-01-30 09:29:29226 "//components/keyed_service/content",
Alex Clarke97088b92020-01-30 16:47:48227 "//components/metrics",
Colin Blundell5c4f8122020-01-10 08:25:08228 "//components/network_time",
Mugdha Lakhani93363739e82020-02-03 22:12:15229 "//components/omnibox/browser",
Clark DuVall204ef8f42020-03-12 18:24:08230 "//components/permissions",
Alex Clarke97088b92020-01-30 16:47:48231 "//components/policy/core/browser",
232 "//components/pref_registry:pref_registry",
Colin Blundell35a923c42019-11-26 09:41:20233 "//components/prefs",
Tim Volodinefc29229e2020-01-23 17:01:44234 "//components/safe_browsing/core:features",
Evan Stadec36cdbc62019-10-31 23:28:47235 "//components/security_interstitials/content:security_interstitial_page",
236 "//components/security_interstitials/content/renderer:security_interstitial_page_controller",
237 "//components/security_interstitials/core",
Mugdha Lakhanie07342bd2020-02-14 15:29:35238 "//components/security_state/content",
Scott Violet87450ce2020-01-23 01:56:25239 "//components/sessions",
Evan Stadec61efb02019-12-04 22:37:47240 "//components/spellcheck:buildflags",
Colin Blundell40121f82020-01-10 15:01:50241 "//components/ssl_errors",
Francois Doray1fc6d012020-01-10 17:47:52242 "//components/startup_metric_utils/browser",
Colin Blundell35a923c42019-11-26 09:41:20243 "//components/user_prefs",
Alex Clarke97088b92020-01-30 16:47:48244 "//components/variations",
Alex Clarke58d942fb2020-02-28 12:48:30245 "//components/variations/net",
Alex Clarke97088b92020-01-30 16:47:48246 "//components/variations/service",
Doug Turner17eff5f8a2019-11-13 16:03:13247 "//components/version_info",
Pavel Shmakovb4aa4172019-11-05 17:45:15248 "//components/web_cache/browser",
Samuel Huangd0b0e062020-01-20 06:32:12249 "//content:content_resources",
250 "//content:dev_ui_content_resources",
John Abd-El-Malek402a13f2019-08-23 07:06:40251 "//content/app/resources",
John Abd-El-Malek402a13f2019-08-23 07:06:40252 "//content/public/app:both",
Scott Violet5844e4112019-09-10 21:11:46253 "//content/public/browser",
254 "//content/public/child",
John Abd-El-Malek402a13f2019-08-23 07:06:40255 "//content/public/common",
256 "//content/public/common:service_names",
Evan Stadec36cdbc62019-10-31 23:28:47257 "//content/public/renderer",
Colin Blundell030a2632019-10-18 13:40:49258 "//content/public/utility",
John Abd-El-Malek402a13f2019-08-23 07:06:40259 "//net",
260 "//net:net_resources",
261 "//sandbox",
Pavel Shmakov6eb4340f2019-10-17 11:02:14262 "//services/network/public/mojom",
Alex Clarke97088b92020-01-30 16:47:48263 "//services/preferences/tracked",
Scott Violet5844e4112019-09-10 21:11:46264 "//services/service_manager/embedder:embedder_result_codes",
John Abd-El-Malek402a13f2019-08-23 07:06:40265 "//skia",
Evan Stade47692792019-11-14 22:20:52266 "//third_party/blink/public/common",
Gyuyoung Kim8c5d0772019-09-18 15:41:39267 "//third_party/blink/public/strings",
John Abd-El-Malek402a13f2019-08-23 07:06:40268 "//third_party/icu",
269 "//ui/base",
270 "//ui/base/clipboard",
271 "//ui/base/ime/init",
272 "//ui/display",
273 "//ui/events:events_base",
274 "//ui/gfx",
275 "//ui/gfx/geometry",
276 "//ui/gfx/ipc",
277 "//ui/gfx/ipc/geometry",
278 "//ui/gfx/ipc/skia",
279 "//ui/gl",
280 "//ui/platform_window",
Clark DuVall0c63dda2019-10-22 21:01:46281 "//ui/shell_dialogs",
Clark DuVall1644dbe2019-09-19 17:16:47282 "//ui/webui",
John Abd-El-Malek402a13f2019-08-23 07:06:40283 "//url",
284 "//v8",
Clark DuVall1644dbe2019-09-19 17:16:47285 "//weblayer:resources",
286 "//weblayer/browser/webui:mojo_bindings",
John Abd-El-Malek402a13f2019-08-23 07:06:40287 ]
288
Colin Blundell1fa65d22020-01-30 09:29:29289 if (enable_captive_portal_detection) {
Clark DuVall7733cb232020-03-11 23:41:27290 sources += [
291 "browser/captive_portal_service_factory.cc",
292 "browser/captive_portal_service_factory.h",
293 ]
Colin Blundell1fa65d22020-01-30 09:29:29294 deps += [ "//components/captive_portal/content" ]
295 }
296
Evan Stadec61efb02019-12-04 22:37:47297 if (use_browser_spellchecker) {
298 deps += [
299 "//components/spellcheck/browser",
300 "//components/spellcheck/renderer",
301 ]
302 }
303
Tim Volodine805894b2019-10-23 17:41:57304 if (is_android) {
Tobias Sargeant13eb3662019-10-31 09:18:36305 sources += [
Clark DuVall7733cb232020-03-11 23:41:27306 "app/jni_onload.cc",
307 "app/jni_onload.h",
308 "browser/android/exception_filter.cc",
309 "browser/android/exception_filter.h",
310 "browser/android/metrics/uma_utils.cc",
311 "browser/android/metrics/uma_utils.h",
312 "browser/android/metrics/weblayer_metrics_service_client.cc",
313 "browser/android/metrics/weblayer_metrics_service_client.h",
Clark DuVall3b77b532020-03-12 20:55:02314 "browser/android/resource_mapper.cc",
315 "browser/android/resource_mapper.h",
Clark DuVall7733cb232020-03-11 23:41:27316 "browser/content_view_render_view.cc",
317 "browser/content_view_render_view.h",
318 "browser/devtools_manager_delegate_android.cc",
319 "browser/devtools_manager_delegate_android.h",
320 "browser/devtools_server_android.cc",
321 "browser/devtools_server_android.h",
322 "browser/download_callback_proxy.cc",
323 "browser/download_callback_proxy.h",
324 "browser/error_page_callback_proxy.cc",
325 "browser/error_page_callback_proxy.h",
326 "browser/fullscreen_callback_proxy.cc",
327 "browser/fullscreen_callback_proxy.h",
328 "browser/new_tab_callback_proxy.cc",
329 "browser/new_tab_callback_proxy.h",
330 "browser/tab_callback_proxy.cc",
331 "browser/tab_callback_proxy.h",
332 "browser/top_controls_container_view.cc",
333 "browser/top_controls_container_view.h",
334 "browser/weblayer_impl_android.cc",
Tobias Sargeant939390e62019-11-15 14:12:04335 "common/crash_reporter/crash_keys.cc",
336 "common/crash_reporter/crash_keys.h",
337 "common/crash_reporter/crash_reporter_client.cc",
338 "common/crash_reporter/crash_reporter_client.h",
Clark DuVall7733cb232020-03-11 23:41:27339 "renderer/url_loader_throttle_provider.cc",
340 "renderer/url_loader_throttle_provider.h",
Tobias Sargeant13eb3662019-10-31 09:18:36341 ]
342 deps += [
Colin Blundelle6c6234c2019-11-13 18:50:20343 "//android_webview:generate_aw_resources",
344 "//android_webview:generate_aw_strings",
Colin Blundell49f165d62020-01-14 14:08:53345 "//components/android_system_error_page",
Colin Blundell1efbffd02020-01-14 16:29:33346 "//components/autofill/android:provider",
Clark DuVallf0d5718a2020-03-13 17:17:55347 "//components/crash/android:crash_android",
Tobias Sargeant13eb3662019-10-31 09:18:36348 "//components/crash/android:crashpad_main",
Bo Liu28a2f552020-02-22 01:28:56349 "//components/embedder_support/android:context_menu",
Clark DuVallf0d5718a2020-03-13 17:17:55350 "//components/embedder_support/android:util",
Clark DuVall7733cb232020-03-11 23:41:27351 "//components/embedder_support/android:web_contents_delegate",
Alex Clarke97088b92020-01-30 16:47:48352 "//components/embedder_support/android/metrics",
Evan Stadef7ad46e72020-02-13 20:02:35353 "//components/javascript_dialogs",
Alex Clarkea85a1b282019-11-28 09:22:04354 "//components/metrics",
Tobias Sargeantf7ab2ada2019-12-03 01:23:44355 "//components/minidump_uploader",
Clark DuVallf0d5718a2020-03-13 17:17:55356 "//components/permissions/android:native",
Ali Jumaee99171292020-01-30 23:09:25357 "//components/safe_browsing/content/common:interfaces",
Ali Jumafb3dc1f2020-01-07 17:33:47358 "//components/safe_browsing/content/renderer:throttles",
Ali Jumafb3dc1f2020-01-07 17:33:47359 "//components/safe_browsing/core/common",
Tobias Sargeant13eb3662019-10-31 09:18:36360 "//components/version_info/android:channel_getter",
Clark DuVall7733cb232020-03-11 23:41:27361 "//services/resource_coordinator/public/cpp/memory_instrumentation:browser",
362 "//ui/android",
363 "//weblayer/browser/java:jni",
Tim Volodinede9b64b2020-01-13 15:44:25364 "//weblayer/browser/safe_browsing:safe_browsing",
Tobias Sargeant13eb3662019-10-31 09:18:36365 ]
Clark DuVall7733cb232020-03-11 23:41:27366 } else {
367 deps += [ "//ui/views/controls/webview" ]
Tim Volodine805894b2019-10-23 17:41:57368 }
369
John Abd-El-Malek402a13f2019-08-23 07:06:40370 if (enable_vulkan) {
371 deps += [ "//gpu/vulkan/init" ]
372 }
373 if (mojo_media_host == "browser") {
Ken Rockot965b4772019-12-12 23:23:01374 deps += [ "//media/mojo/services" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40375 }
376
377 if (is_win) {
378 deps += [ "//content:sandbox_helper_win" ]
Reid Kleckner06e12bf2019-08-23 20:54:23379 if (win_console_app) {
380 defines = [ "WIN_CONSOLE_APP" ]
381 }
John Abd-El-Malek402a13f2019-08-23 07:06:40382 }
383
384 if (is_linux) {
385 deps += [
386 "//build/config/freetype",
387 "//third_party/fontconfig",
388 ]
389 }
390
John Abd-El-Malek402a13f2019-08-23 07:06:40391 if (toolkit_views) {
392 deps += [ "//ui/views" ]
393 }
394
395 if (use_aura) {
396 deps += [
397 "//ui/aura",
398 "//ui/events",
399 "//ui/strings",
400 "//ui/wm",
401 ]
402 }
403}
Bo Liu7e22c0a2019-08-26 21:44:28404
Clark DuVallf0d5718a2020-03-13 17:17:55405if (is_android) {
406 # Lib used in standalone WebView which allows manual JNI registration.
407 static_library("weblayer_lib_webview") {
408 public_deps = [ ":weblayer_lib_base" ]
409 deps = [
410 "//base",
411 "//weblayer/browser/java:jni",
412 "//weblayer/browser/java:weblayer_jni_registration",
413 ]
414 sources = [
415 "$target_gen_dir/browser/java/weblayer_jni_registration.h",
416 "browser/web_view_compatibility_helper_impl.cc",
417 "browser/web_view_compatibility_helper_impl.h",
418 ]
419 defines = [ "WEBLAYER_MANUAL_JNI_REGISTRATION" ]
420
421 # Explicit dependency required for JNI registration to be able to
422 # find the native side functions.
423 if (is_component_build) {
424 deps += [
425 "//device/gamepad",
426 "//media/midi",
427 "//ui/events/devices",
428 ]
429 }
430 }
431
432 # Lib used in Monochrome which does not support manual JNI registration.
433 # Separate from the standalone WebView version to reduce APK size.
434 static_library("weblayer_lib") {
435 public_deps = [ ":weblayer_lib_base" ]
436 deps = [ "//weblayer/browser/java:jni" ]
437 sources = [
438 "browser/web_view_compatibility_helper_impl.cc",
439 "browser/web_view_compatibility_helper_impl.h",
440 ]
441 }
442} else {
443 source_set("weblayer_lib") {
444 public_deps = [ ":weblayer_lib_base" ]
445 }
446}
447
Clark DuVall1644dbe2019-09-19 17:16:47448grit("resources") {
449 source = "weblayer_resources.grd"
450
Clark DuVall1644dbe2019-09-19 17:16:47451 outputs = [
452 "grit/weblayer_resources.h",
453 "weblayer_resources.pak",
454 ]
455 grit_flags = [
456 "-E",
457 "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
458 ]
Nico Weber4f38eb72020-01-14 03:47:52459 deps = [ "//weblayer/browser/webui:mojo_bindings_js" ]
Clark DuVall1644dbe2019-09-19 17:16:47460}
461
John Abd-El-Malek402a13f2019-08-23 07:06:40462# TODO(jam): move weblayer_shell_resources_grit and copy_shell_resources here in
463# a way that's shareable?
Bo Liu7e22c0a2019-08-26 21:44:28464
465if (is_android) {
466 shared_library("libweblayer") {
Nico Weber4f38eb72020-01-14 03:47:52467 sources = [ "app/entry_point.cc" ]
Bo Liu7e22c0a2019-08-26 21:44:28468 deps = [
Clark DuVallf0d5718a2020-03-13 17:17:55469 ":weblayer_lib_webview",
Bo Liu7e22c0a2019-08-26 21:44:28470 "//base",
471 "//content/public/app:both",
472 ]
473 configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
474 configs += [ "//build/config/android:hide_all_but_jni" ]
475 }
Bo Liu7e22c0a2019-08-26 21:44:28476}