blob: 633a73bcea0ede8d8ba5cbfab2a710e06bd8fe8d [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",
Clark DuVall2c6c8672020-03-18 18:41:20130 "browser/permissions/permission_manager_factory.cc",
131 "browser/permissions/permission_manager_factory.h",
Clark DuVall42354a02020-03-12 21:26:38132 "browser/permissions/weblayer_permissions_client.cc",
133 "browser/permissions/weblayer_permissions_client.h",
Scott Violet343f4ec2020-01-30 02:58:08134 "browser/persistence/browser_persistence_common.cc",
135 "browser/persistence/browser_persistence_common.h",
Scott Violet9843d0a2020-02-11 22:38:07136 "browser/persistence/browser_persister.cc",
137 "browser/persistence/browser_persister.h",
Scott Violet343f4ec2020-01-30 02:58:08138 "browser/persistence/minimal_browser_persister.cc",
139 "browser/persistence/minimal_browser_persister.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29140 "browser/profile_impl.cc",
141 "browser/profile_impl.h",
Colin Blundell2ae70152019-11-25 12:32:31142 "browser/ssl_error_controller_client.cc",
143 "browser/ssl_error_controller_client.h",
Colin Blundell7657b402020-02-25 09:46:50144 "browser/stateful_ssl_host_state_delegate_factory.cc",
145 "browser/stateful_ssl_host_state_delegate_factory.h",
Colin Blundell5c4f8122020-01-10 08:25:08146 "browser/system_network_context_manager.cc",
147 "browser/system_network_context_manager.h",
Scott Violet72fad2602019-11-06 16:42:16148 "browser/tab_impl.cc",
149 "browser/tab_impl.h",
Mugdha Lakhani35fa2a02020-03-10 20:57:55150 "browser/url_bar/autocomplete_scheme_classifier_impl.cc",
151 "browser/url_bar/autocomplete_scheme_classifier_impl.h",
152 "browser/url_bar/url_bar_controller_impl.cc",
153 "browser/url_bar/url_bar_controller_impl.h",
Bo Liu28a2f552020-02-22 01:28:56154 "browser/web_contents_view_delegate_impl.cc",
155 "browser/web_contents_view_delegate_impl.h",
Miyoung Shin2abdeb62020-01-07 04:31:47156 "browser/weblayer_browser_interface_binders.cc",
157 "browser/weblayer_browser_interface_binders.h",
Clark DuVall1644dbe2019-09-19 17:16:47158 "browser/weblayer_content_browser_overlay_manifest.cc",
159 "browser/weblayer_content_browser_overlay_manifest.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20160 "browser/weblayer_field_trials.h",
Colin Blundella9285342020-02-03 18:34:23161 "browser/weblayer_security_blocking_page_factory.cc",
162 "browser/weblayer_security_blocking_page_factory.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20163 "browser/weblayer_variations_service_client.cc",
164 "browser/weblayer_variations_service_client.h",
Clark DuVall1644dbe2019-09-19 17:16:47165 "browser/webui/web_ui_controller_factory.cc",
166 "browser/webui/web_ui_controller_factory.h",
167 "browser/webui/weblayer_internals_ui.cc",
168 "browser/webui/weblayer_internals_ui.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29169 "common/content_client_impl.cc",
170 "common/content_client_impl.h",
Tim Volodine805894b2019-10-23 17:41:57171 "common/features.cc",
172 "common/features.h",
Tobias Sargeantf3261002019-10-28 10:48:21173 "common/weblayer_paths.cc",
174 "common/weblayer_paths.h",
Scott Violetbf8b8aa72020-01-28 19:37:32175 "public/browser.cc",
Scott Violet009c09c2020-01-18 00:57:18176 "public/browser.h",
177 "public/browser_observer.h",
Bo Liu1cf15442019-11-23 02:36:50178 "public/common/switches.cc",
179 "public/common/switches.h",
John Abd-El-Maleke31712a2020-01-15 01:20:05180 "public/download.h",
Evan Stadedb1404e2019-10-18 00:16:26181 "public/download_delegate.h",
Evan Stade94c2a5652019-11-14 16:32:24182 "public/error_page_delegate.h",
Scott Violet47bd2942019-10-16 21:35:38183 "public/fullscreen_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29184 "public/main.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31185 "public/navigation.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29186 "public/navigation_controller.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31187 "public/navigation_observer.h",
Scott Violet72fad2602019-11-06 16:42:16188 "public/new_tab_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29189 "public/profile.h",
Scott Violet72fad2602019-11-06 16:42:16190 "public/tab.h",
191 "public/tab_observer.h",
Mugdha Lakhani93363739e82020-02-03 22:12:15192 "public/url_bar_controller.h",
Evan Stadec36cdbc62019-10-31 23:28:47193 "renderer/content_renderer_client_impl.cc",
194 "renderer/content_renderer_client_impl.h",
Tim Volodine86e9ad42020-02-08 01:55:29195 "renderer/error_page_helper.cc",
196 "renderer/error_page_helper.h",
Colin Blundellcd741aa2019-12-30 10:24:52197 "renderer/weblayer_render_frame_observer.cc",
198 "renderer/weblayer_render_frame_observer.h",
Colin Blundell030a2632019-10-18 13:40:49199 "utility/content_utility_client_impl.cc",
200 "utility/content_utility_client_impl.h",
John Abd-El-Malek402a13f2019-08-23 07:06:40201 ]
202
203 configs += [
204 "//build/config:precompiled_headers",
205
206 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
207 "//build/config/compiler:no_size_t_to_int_warning",
208 ]
209
Nico Weber4f38eb72020-01-14 03:47:52210 public_deps = [ ":android_descriptors" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40211 deps = [
212 "//base",
213 "//base:base_static",
214 "//base/third_party/dynamic_annotations",
215 "//cc",
Colin Blundellcd741aa2019-12-30 10:24:52216 "//components/autofill/content/browser",
217 "//components/autofill/content/renderer",
218 "//components/autofill/core/browser",
Scott Violet87450ce2020-01-23 01:56:25219 "//components/base32",
Colin Blundell1fa65d22020-01-30 09:29:29220 "//components/captive_portal/core:buildflags",
Scott Violete2370ff2020-03-20 20:15:55221 "//components/cdm/renderer",
Colin Blundell19d639c2020-02-21 18:20:48222 "//components/content_settings/core/browser",
Tobias Sargeant13eb3662019-10-31 09:18:36223 "//components/crash/content/app",
224 "//components/crash/content/browser",
Joshua Peraza4b66ae62020-02-26 20:31:40225 "//components/crash/core/common",
Colin Blundellab45f552020-01-22 15:08:40226 "//components/embedder_support",
Evan Stade46a3fc72020-01-27 21:28:14227 "//components/find_in_page",
Colin Blundell1fa65d22020-01-30 09:29:29228 "//components/keyed_service/content",
Alex Clarke97088b92020-01-30 16:47:48229 "//components/metrics",
Colin Blundell5c4f8122020-01-10 08:25:08230 "//components/network_time",
Mugdha Lakhani93363739e82020-02-03 22:12:15231 "//components/omnibox/browser",
Clark DuVall204ef8f42020-03-12 18:24:08232 "//components/permissions",
Alex Clarke97088b92020-01-30 16:47:48233 "//components/policy/core/browser",
234 "//components/pref_registry:pref_registry",
Colin Blundell35a923c42019-11-26 09:41:20235 "//components/prefs",
Tim Volodinefc29229e2020-01-23 17:01:44236 "//components/safe_browsing/core:features",
Evan Stadec36cdbc62019-10-31 23:28:47237 "//components/security_interstitials/content:security_interstitial_page",
238 "//components/security_interstitials/content/renderer:security_interstitial_page_controller",
239 "//components/security_interstitials/core",
Mugdha Lakhanie07342bd2020-02-14 15:29:35240 "//components/security_state/content",
Scott Violet87450ce2020-01-23 01:56:25241 "//components/sessions",
Evan Stadec61efb02019-12-04 22:37:47242 "//components/spellcheck:buildflags",
Colin Blundell40121f82020-01-10 15:01:50243 "//components/ssl_errors",
Francois Doray1fc6d012020-01-10 17:47:52244 "//components/startup_metric_utils/browser",
Colin Blundell35a923c42019-11-26 09:41:20245 "//components/user_prefs",
Alex Clarke97088b92020-01-30 16:47:48246 "//components/variations",
Alex Clarke58d942fb2020-02-28 12:48:30247 "//components/variations/net",
Alex Clarke97088b92020-01-30 16:47:48248 "//components/variations/service",
Doug Turner17eff5f8a2019-11-13 16:03:13249 "//components/version_info",
Pavel Shmakovb4aa4172019-11-05 17:45:15250 "//components/web_cache/browser",
Samuel Huangd0b0e062020-01-20 06:32:12251 "//content:content_resources",
252 "//content:dev_ui_content_resources",
John Abd-El-Malek402a13f2019-08-23 07:06:40253 "//content/app/resources",
John Abd-El-Malek402a13f2019-08-23 07:06:40254 "//content/public/app:both",
Scott Violet5844e4112019-09-10 21:11:46255 "//content/public/browser",
256 "//content/public/child",
John Abd-El-Malek402a13f2019-08-23 07:06:40257 "//content/public/common",
258 "//content/public/common:service_names",
Evan Stadec36cdbc62019-10-31 23:28:47259 "//content/public/renderer",
Colin Blundell030a2632019-10-18 13:40:49260 "//content/public/utility",
John Abd-El-Malek402a13f2019-08-23 07:06:40261 "//net",
262 "//net:net_resources",
263 "//sandbox",
Pavel Shmakov6eb4340f2019-10-17 11:02:14264 "//services/network/public/mojom",
Alex Clarke97088b92020-01-30 16:47:48265 "//services/preferences/tracked",
Scott Violet5844e4112019-09-10 21:11:46266 "//services/service_manager/embedder:embedder_result_codes",
John Abd-El-Malek402a13f2019-08-23 07:06:40267 "//skia",
Evan Stade47692792019-11-14 22:20:52268 "//third_party/blink/public/common",
Gyuyoung Kim8c5d0772019-09-18 15:41:39269 "//third_party/blink/public/strings",
John Abd-El-Malek402a13f2019-08-23 07:06:40270 "//third_party/icu",
271 "//ui/base",
272 "//ui/base/clipboard",
273 "//ui/base/ime/init",
274 "//ui/display",
275 "//ui/events:events_base",
276 "//ui/gfx",
277 "//ui/gfx/geometry",
278 "//ui/gfx/ipc",
279 "//ui/gfx/ipc/geometry",
280 "//ui/gfx/ipc/skia",
281 "//ui/gl",
282 "//ui/platform_window",
Clark DuVall0c63dda2019-10-22 21:01:46283 "//ui/shell_dialogs",
Clark DuVall1644dbe2019-09-19 17:16:47284 "//ui/webui",
John Abd-El-Malek402a13f2019-08-23 07:06:40285 "//url",
286 "//v8",
Clark DuVall1644dbe2019-09-19 17:16:47287 "//weblayer:resources",
288 "//weblayer/browser/webui:mojo_bindings",
John Abd-El-Malek402a13f2019-08-23 07:06:40289 ]
290
Colin Blundell1fa65d22020-01-30 09:29:29291 if (enable_captive_portal_detection) {
Clark DuVall7733cb232020-03-11 23:41:27292 sources += [
293 "browser/captive_portal_service_factory.cc",
294 "browser/captive_portal_service_factory.h",
295 ]
Colin Blundell1fa65d22020-01-30 09:29:29296 deps += [ "//components/captive_portal/content" ]
297 }
298
Evan Stadec61efb02019-12-04 22:37:47299 if (use_browser_spellchecker) {
300 deps += [
301 "//components/spellcheck/browser",
302 "//components/spellcheck/renderer",
303 ]
304 }
305
Tim Volodine805894b2019-10-23 17:41:57306 if (is_android) {
Tobias Sargeant13eb3662019-10-31 09:18:36307 sources += [
Clark DuVall7733cb232020-03-11 23:41:27308 "app/jni_onload.cc",
309 "app/jni_onload.h",
310 "browser/android/exception_filter.cc",
311 "browser/android/exception_filter.h",
312 "browser/android/metrics/uma_utils.cc",
313 "browser/android/metrics/uma_utils.h",
314 "browser/android/metrics/weblayer_metrics_service_client.cc",
315 "browser/android/metrics/weblayer_metrics_service_client.h",
Clark DuVall3b77b532020-03-12 20:55:02316 "browser/android/resource_mapper.cc",
317 "browser/android/resource_mapper.h",
Clark DuVall7733cb232020-03-11 23:41:27318 "browser/content_view_render_view.cc",
319 "browser/content_view_render_view.h",
320 "browser/devtools_manager_delegate_android.cc",
321 "browser/devtools_manager_delegate_android.h",
322 "browser/devtools_server_android.cc",
323 "browser/devtools_server_android.h",
324 "browser/download_callback_proxy.cc",
325 "browser/download_callback_proxy.h",
326 "browser/error_page_callback_proxy.cc",
327 "browser/error_page_callback_proxy.h",
328 "browser/fullscreen_callback_proxy.cc",
329 "browser/fullscreen_callback_proxy.h",
Colin Blundell877ff8e2020-03-17 15:33:08330 "browser/intercept_navigation_delegate_impl.cc",
Clark DuVall7733cb232020-03-11 23:41:27331 "browser/new_tab_callback_proxy.cc",
332 "browser/new_tab_callback_proxy.h",
333 "browser/tab_callback_proxy.cc",
334 "browser/tab_callback_proxy.h",
335 "browser/top_controls_container_view.cc",
336 "browser/top_controls_container_view.h",
337 "browser/weblayer_impl_android.cc",
Tobias Sargeant939390e62019-11-15 14:12:04338 "common/crash_reporter/crash_keys.cc",
339 "common/crash_reporter/crash_keys.h",
340 "common/crash_reporter/crash_reporter_client.cc",
341 "common/crash_reporter/crash_reporter_client.h",
Clark DuVall7733cb232020-03-11 23:41:27342 "renderer/url_loader_throttle_provider.cc",
343 "renderer/url_loader_throttle_provider.h",
Tobias Sargeant13eb3662019-10-31 09:18:36344 ]
345 deps += [
Colin Blundelle6c6234c2019-11-13 18:50:20346 "//android_webview:generate_aw_resources",
347 "//android_webview:generate_aw_strings",
Colin Blundell49f165d62020-01-14 14:08:53348 "//components/android_system_error_page",
Colin Blundell1efbffd02020-01-14 16:29:33349 "//components/autofill/android:provider",
Scott Violete2370ff2020-03-20 20:15:55350 "//components/cdm/browser",
Clark DuVallf0d5718a2020-03-13 17:17:55351 "//components/crash/android:crash_android",
Tobias Sargeant13eb3662019-10-31 09:18:36352 "//components/crash/android:crashpad_main",
Bo Liu28a2f552020-02-22 01:28:56353 "//components/embedder_support/android:context_menu",
Clark DuVallf0d5718a2020-03-13 17:17:55354 "//components/embedder_support/android:util",
Clark DuVall7733cb232020-03-11 23:41:27355 "//components/embedder_support/android:web_contents_delegate",
Alex Clarke97088b92020-01-30 16:47:48356 "//components/embedder_support/android/metrics",
Colin Blundell05ac5802020-03-17 19:15:47357 "//components/external_intents/android",
Evan Stadef7ad46e72020-02-13 20:02:35358 "//components/javascript_dialogs",
Alex Clarkea85a1b282019-11-28 09:22:04359 "//components/metrics",
Tobias Sargeantf7ab2ada2019-12-03 01:23:44360 "//components/minidump_uploader",
Colin Blundell877ff8e2020-03-17 15:33:08361 "//components/navigation_interception",
Clark DuVallf0d5718a2020-03-13 17:17:55362 "//components/permissions/android:native",
Ali Jumaee99171292020-01-30 23:09:25363 "//components/safe_browsing/content/common:interfaces",
Ali Jumafb3dc1f2020-01-07 17:33:47364 "//components/safe_browsing/content/renderer:throttles",
Ali Jumafb3dc1f2020-01-07 17:33:47365 "//components/safe_browsing/core/common",
Tobias Sargeant13eb3662019-10-31 09:18:36366 "//components/version_info/android:channel_getter",
Clark DuVall7733cb232020-03-11 23:41:27367 "//services/resource_coordinator/public/cpp/memory_instrumentation:browser",
368 "//ui/android",
369 "//weblayer/browser/java:jni",
Tim Volodinede9b64b2020-01-13 15:44:25370 "//weblayer/browser/safe_browsing:safe_browsing",
Tobias Sargeant13eb3662019-10-31 09:18:36371 ]
Clark DuVall7733cb232020-03-11 23:41:27372 } else {
373 deps += [ "//ui/views/controls/webview" ]
Tim Volodine805894b2019-10-23 17:41:57374 }
375
John Abd-El-Malek402a13f2019-08-23 07:06:40376 if (enable_vulkan) {
377 deps += [ "//gpu/vulkan/init" ]
378 }
379 if (mojo_media_host == "browser") {
Ken Rockot965b4772019-12-12 23:23:01380 deps += [ "//media/mojo/services" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40381 }
382
383 if (is_win) {
384 deps += [ "//content:sandbox_helper_win" ]
Reid Kleckner06e12bf2019-08-23 20:54:23385 if (win_console_app) {
386 defines = [ "WIN_CONSOLE_APP" ]
387 }
John Abd-El-Malek402a13f2019-08-23 07:06:40388 }
389
390 if (is_linux) {
391 deps += [
392 "//build/config/freetype",
393 "//third_party/fontconfig",
394 ]
395 }
396
John Abd-El-Malek402a13f2019-08-23 07:06:40397 if (toolkit_views) {
398 deps += [ "//ui/views" ]
399 }
400
401 if (use_aura) {
402 deps += [
403 "//ui/aura",
404 "//ui/events",
405 "//ui/strings",
406 "//ui/wm",
407 ]
408 }
409}
Bo Liu7e22c0a2019-08-26 21:44:28410
Clark DuVallf0d5718a2020-03-13 17:17:55411if (is_android) {
412 # Lib used in standalone WebView which allows manual JNI registration.
413 static_library("weblayer_lib_webview") {
414 public_deps = [ ":weblayer_lib_base" ]
415 deps = [
416 "//base",
417 "//weblayer/browser/java:jni",
418 "//weblayer/browser/java:weblayer_jni_registration",
419 ]
420 sources = [
421 "$target_gen_dir/browser/java/weblayer_jni_registration.h",
422 "browser/web_view_compatibility_helper_impl.cc",
423 "browser/web_view_compatibility_helper_impl.h",
424 ]
425 defines = [ "WEBLAYER_MANUAL_JNI_REGISTRATION" ]
426
427 # Explicit dependency required for JNI registration to be able to
428 # find the native side functions.
429 if (is_component_build) {
430 deps += [
431 "//device/gamepad",
432 "//media/midi",
433 "//ui/events/devices",
434 ]
435 }
436 }
437
438 # Lib used in Monochrome which does not support manual JNI registration.
439 # Separate from the standalone WebView version to reduce APK size.
440 static_library("weblayer_lib") {
441 public_deps = [ ":weblayer_lib_base" ]
442 deps = [ "//weblayer/browser/java:jni" ]
443 sources = [
444 "browser/web_view_compatibility_helper_impl.cc",
445 "browser/web_view_compatibility_helper_impl.h",
446 ]
447 }
448} else {
449 source_set("weblayer_lib") {
450 public_deps = [ ":weblayer_lib_base" ]
451 }
452}
453
Clark DuVall1644dbe2019-09-19 17:16:47454grit("resources") {
455 source = "weblayer_resources.grd"
456
Clark DuVall1644dbe2019-09-19 17:16:47457 outputs = [
458 "grit/weblayer_resources.h",
459 "weblayer_resources.pak",
460 ]
461 grit_flags = [
462 "-E",
463 "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
464 ]
Nico Weber4f38eb72020-01-14 03:47:52465 deps = [ "//weblayer/browser/webui:mojo_bindings_js" ]
Clark DuVall1644dbe2019-09-19 17:16:47466}
467
John Abd-El-Malek402a13f2019-08-23 07:06:40468# TODO(jam): move weblayer_shell_resources_grit and copy_shell_resources here in
469# a way that's shareable?
Bo Liu7e22c0a2019-08-26 21:44:28470
471if (is_android) {
472 shared_library("libweblayer") {
Nico Weber4f38eb72020-01-14 03:47:52473 sources = [ "app/entry_point.cc" ]
Bo Liu7e22c0a2019-08-26 21:44:28474 deps = [
Clark DuVallf0d5718a2020-03-13 17:17:55475 ":weblayer_lib_webview",
Bo Liu7e22c0a2019-08-26 21:44:28476 "//base",
477 "//content/public/app:both",
478 ]
479 configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
480 configs += [ "//build/config/android:hide_all_but_jni" ]
481 }
Bo Liu7e22c0a2019-08-26 21:44:28482}