blob: 718a28b5b6f430fc7b23a94a90999e006c1c041c [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")
Evan Stade45a57822020-03-27 20:14:1221 import("//build/config/android/rules.gni")
John Abd-El-Malek402a13f2019-08-23 07:06:4022} else if (is_mac) {
23 import("//build/config/mac/rules.gni")
24 import("//build/mac/tweak_info_plist.gni")
25 import("//content/public/app/mac_helpers.gni")
26 import("//third_party/icu/config.gni")
27 import("//ui/gl/features.gni")
28 import("//v8/gni/v8.gni")
29}
30
31source_set("android_descriptors") {
Nico Weber4f38eb72020-01-14 03:47:5232 sources = [ "browser/android_descriptors.h" ]
33 public_deps = [ "//content/public/common:content_descriptors" ]
John Abd-El-Malek402a13f2019-08-23 07:06:4034}
35
Clark DuVallc75c5d22019-11-12 23:00:3836if (is_android) {
Evan Stade45a57822020-03-27 20:14:1237 weblayer_components_strings_java_resources =
38 [ "java/res/values/components_strings.xml" ] +
39 process_file_template(
40 android_bundle_locales_as_resources,
41 [ "java/res/values-{{source_name_part}}/components_strings.xml" ])
42
Clark DuVallc75c5d22019-11-12 23:00:3843 grit("generate_components_strings") {
44 source = "../components/components_strings.grd"
45
46 # components_strings contains strings from all components. WebLayer
47 # will never display most of them, so we try to limit the included
48 # strings.
49 whitelist = rebase_path("grit_strings_whitelist.txt", root_build_dir)
Nico Weber4f38eb72020-01-14 03:47:5250 inputs = [ "//weblayer/grit_strings_whitelist.txt" ]
Clark DuVallc75c5d22019-11-12 23:00:3851 grit_flags = [
52 "-w",
53 whitelist,
54 ]
Trevor Perrier57381092019-12-03 17:43:2355 outputs =
Evan Stade45a57822020-03-27 20:14:1256 weblayer_components_strings_java_resources +
57 [ "grit/components_strings.h" ] +
Trevor Perrier57381092019-12-03 17:43:2358 process_file_template(locales_with_fake_bidi,
59 [ "components_strings_{{source_name_part}}.pak" ])
Clark DuVallc75c5d22019-11-12 23:00:3860 }
61
Clark DuVallebd41cb2019-12-19 23:14:1662 repack_locales("weblayer_locales") {
63 input_locales = locales
64 output_locales = locales
65 source_patterns = [ "${root_gen_dir}/weblayer/components_strings_" ]
Nico Weber4f38eb72020-01-14 03:47:5266 deps = [ ":generate_components_strings" ]
Clark DuVallebd41cb2019-12-19 23:14:1667 output_dir = "$root_out_dir/weblayer/locales"
Clark DuVallc75c5d22019-11-12 23:00:3868 }
69
70 android_assets("locale_pak_assets") {
71 disable_compression = true
72 renaming_sources = [ "$root_out_dir/weblayer/locales/en-US.pak" ]
73 renaming_destinations = [ "stored-locales/weblayer/en-US.pak" ]
74 treat_as_locale_paks = true
Nico Weber4f38eb72020-01-14 03:47:5275 deps = [ ":weblayer_locales" ]
Clark DuVallc75c5d22019-11-12 23:00:3876 }
Clark DuVallebd41cb2019-12-19 23:14:1677
78 android_assets("bundle_locale_pak_assets") {
79 disable_compression = true
80 renaming_sources = []
81 renaming_destinations = []
82 foreach(_locale, locales) {
83 renaming_sources += [ "$root_out_dir/weblayer/locales/$_locale.pak" ]
84 renaming_destinations += [ "locales/$_locale.pak" ]
85 }
86 treat_as_locale_paks = true
Nico Weber4f38eb72020-01-14 03:47:5287 deps = [ ":weblayer_locales" ]
Clark DuVallebd41cb2019-12-19 23:14:1688 }
Evan Stade45a57822020-03-27 20:14:1289
90 java_strings_grd_prebuilt("components_java_strings") {
91 grit_output_dir = "$root_gen_dir/weblayer/java/res"
92 generated_files =
93 rebase_path(weblayer_components_strings_java_resources, "java/res", ".")
94 deps = [ ":generate_components_strings" ]
95 }
Clark DuVallc75c5d22019-11-12 23:00:3896}
97
Clark DuVallf0d5718a2020-03-13 17:17:5598source_set("weblayer_lib_base") {
John Abd-El-Malek402a13f2019-08-23 07:06:4099 sources = [
John Abd-El-Malekc0b023c2019-08-24 20:46:29100 "app/content_main_delegate_impl.cc",
101 "app/content_main_delegate_impl.h",
102 "app/main.cc",
Colin Blundellcd741aa2019-12-30 10:24:52103 "browser/autofill_client_impl.cc",
104 "browser/autofill_client_impl.h",
John Abd-El-Malekbc16a6672019-12-27 23:18:32105 "browser/browser_context_impl.cc",
106 "browser/browser_context_impl.h",
Scott Violet009c09c2020-01-18 00:57:18107 "browser/browser_impl.cc",
108 "browser/browser_impl.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29109 "browser/browser_main_parts_impl.cc",
110 "browser/browser_main_parts_impl.h",
Colin Blundell5c4f8122020-01-10 08:25:08111 "browser/browser_process.cc",
112 "browser/browser_process.h",
Clark DuVall417f6922020-04-15 20:44:24113 "browser/client_hints_factory.cc",
114 "browser/client_hints_factory.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29115 "browser/content_browser_client_impl.cc",
116 "browser/content_browser_client_impl.h",
Clark DuVallc12d5622020-04-15 22:17:26117 "browser/content_browser_client_impl_receiver_bindings.cc",
118 "browser/content_settings_manager_impl.cc",
119 "browser/content_settings_manager_impl.h",
Evan Staded26b27c2020-02-07 19:46:20120 "browser/controls_visibility_reason.h",
Clark DuVall54aecd62020-03-30 20:29:57121 "browser/cookie_manager_impl.cc",
122 "browser/cookie_manager_impl.h",
Clark DuVallbac8e1e2020-03-30 23:26:40123 "browser/cookie_settings_factory.cc",
124 "browser/cookie_settings_factory.h",
John Abd-El-Maleke31712a2020-01-15 01:20:05125 "browser/download_impl.cc",
126 "browser/download_impl.h",
John Abd-El-Malek6c46bcd92019-12-17 06:27:27127 "browser/download_manager_delegate_impl.cc",
128 "browser/download_manager_delegate_impl.h",
Alex Clarke97088b92020-01-30 16:47:48129 "browser/feature_list_creator.cc",
130 "browser/feature_list_creator.h",
Clark DuVall0c63dda2019-10-22 21:01:46131 "browser/file_select_helper.cc",
132 "browser/file_select_helper.h",
Colin Blundell19d639c2020-02-21 18:20:48133 "browser/host_content_settings_map_factory.cc",
134 "browser/host_content_settings_map_factory.h",
Evan Stade47692792019-11-14 22:20:52135 "browser/i18n_util.cc",
136 "browser/i18n_util.h",
Clark DuVall8d1f447b2019-10-21 19:31:44137 "browser/isolated_world_ids.h",
Evan Stadec120222b2020-02-20 21:04:38138 "browser/javascript_tab_modal_dialog_manager_delegate_android.cc",
139 "browser/javascript_tab_modal_dialog_manager_delegate_android.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29140 "browser/navigation_controller_impl.cc",
141 "browser/navigation_controller_impl.h",
John Abd-El-Malek63ea6962019-08-27 00:49:31142 "browser/navigation_impl.cc",
143 "browser/navigation_impl.h",
Clark DuVall29fb8fa2020-03-23 17:20:18144 "browser/permissions/geolocation_permission_context_delegate.cc",
145 "browser/permissions/geolocation_permission_context_delegate.h",
Clark DuVall204ef8f42020-03-12 18:24:08146 "browser/permissions/permission_decision_auto_blocker_factory.cc",
147 "browser/permissions/permission_decision_auto_blocker_factory.h",
Clark DuVall2c6c8672020-03-18 18:41:20148 "browser/permissions/permission_manager_factory.cc",
149 "browser/permissions/permission_manager_factory.h",
Clark DuVall42354a02020-03-12 21:26:38150 "browser/permissions/weblayer_permissions_client.cc",
151 "browser/permissions/weblayer_permissions_client.h",
Scott Violet343f4ec2020-01-30 02:58:08152 "browser/persistence/browser_persistence_common.cc",
153 "browser/persistence/browser_persistence_common.h",
Scott Violet9843d0a2020-02-11 22:38:07154 "browser/persistence/browser_persister.cc",
155 "browser/persistence/browser_persister.h",
Scott Violet343f4ec2020-01-30 02:58:08156 "browser/persistence/minimal_browser_persister.cc",
157 "browser/persistence/minimal_browser_persister.h",
Bo Liu3b6b0e82020-04-09 17:12:30158 "browser/profile_disk_operations.cc",
159 "browser/profile_disk_operations.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29160 "browser/profile_impl.cc",
161 "browser/profile_impl.h",
Colin Blundell2ae70152019-11-25 12:32:31162 "browser/ssl_error_controller_client.cc",
163 "browser/ssl_error_controller_client.h",
Colin Blundell7657b402020-02-25 09:46:50164 "browser/stateful_ssl_host_state_delegate_factory.cc",
165 "browser/stateful_ssl_host_state_delegate_factory.h",
Colin Blundell5c4f8122020-01-10 08:25:08166 "browser/system_network_context_manager.cc",
167 "browser/system_network_context_manager.h",
Scott Violet72fad2602019-11-06 16:42:16168 "browser/tab_impl.cc",
169 "browser/tab_impl.h",
Mugdha Lakhani35fa2a02020-03-10 20:57:55170 "browser/url_bar/autocomplete_scheme_classifier_impl.cc",
171 "browser/url_bar/autocomplete_scheme_classifier_impl.h",
172 "browser/url_bar/url_bar_controller_impl.cc",
173 "browser/url_bar/url_bar_controller_impl.h",
Bo Liu28a2f552020-02-22 01:28:56174 "browser/web_contents_view_delegate_impl.cc",
175 "browser/web_contents_view_delegate_impl.h",
Miyoung Shin2abdeb62020-01-07 04:31:47176 "browser/weblayer_browser_interface_binders.cc",
177 "browser/weblayer_browser_interface_binders.h",
Clark DuVall1644dbe2019-09-19 17:16:47178 "browser/weblayer_content_browser_overlay_manifest.cc",
179 "browser/weblayer_content_browser_overlay_manifest.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20180 "browser/weblayer_field_trials.h",
Colin Blundella9285342020-02-03 18:34:23181 "browser/weblayer_security_blocking_page_factory.cc",
182 "browser/weblayer_security_blocking_page_factory.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20183 "browser/weblayer_variations_service_client.cc",
184 "browser/weblayer_variations_service_client.h",
Clark DuVall1644dbe2019-09-19 17:16:47185 "browser/webui/web_ui_controller_factory.cc",
186 "browser/webui/web_ui_controller_factory.h",
187 "browser/webui/weblayer_internals_ui.cc",
188 "browser/webui/weblayer_internals_ui.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29189 "common/content_client_impl.cc",
190 "common/content_client_impl.h",
Tim Volodine805894b2019-10-23 17:41:57191 "common/features.cc",
192 "common/features.h",
Tobias Sargeantf3261002019-10-28 10:48:21193 "common/weblayer_paths.cc",
194 "common/weblayer_paths.h",
Scott Violetbf8b8aa72020-01-28 19:37:32195 "public/browser.cc",
Scott Violet009c09c2020-01-18 00:57:18196 "public/browser.h",
197 "public/browser_observer.h",
Bo Liu1cf15442019-11-23 02:36:50198 "public/common/switches.cc",
199 "public/common/switches.h",
Clark DuVall54aecd62020-03-30 20:29:57200 "public/cookie_manager.h",
John Abd-El-Maleke31712a2020-01-15 01:20:05201 "public/download.h",
Evan Stadedb1404e2019-10-18 00:16:26202 "public/download_delegate.h",
Evan Stade94c2a5652019-11-14 16:32:24203 "public/error_page_delegate.h",
Scott Violet47bd2942019-10-16 21:35:38204 "public/fullscreen_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29205 "public/main.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31206 "public/navigation.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29207 "public/navigation_controller.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31208 "public/navigation_observer.h",
Scott Violet72fad2602019-11-06 16:42:16209 "public/new_tab_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29210 "public/profile.h",
Scott Violet72fad2602019-11-06 16:42:16211 "public/tab.h",
212 "public/tab_observer.h",
Mugdha Lakhani93363739e82020-02-03 22:12:15213 "public/url_bar_controller.h",
Evan Stadec36cdbc62019-10-31 23:28:47214 "renderer/content_renderer_client_impl.cc",
215 "renderer/content_renderer_client_impl.h",
Tim Volodine86e9ad42020-02-08 01:55:29216 "renderer/error_page_helper.cc",
217 "renderer/error_page_helper.h",
Colin Blundellcd741aa2019-12-30 10:24:52218 "renderer/weblayer_render_frame_observer.cc",
219 "renderer/weblayer_render_frame_observer.h",
Colin Blundell030a2632019-10-18 13:40:49220 "utility/content_utility_client_impl.cc",
221 "utility/content_utility_client_impl.h",
John Abd-El-Malek402a13f2019-08-23 07:06:40222 ]
223
224 configs += [
225 "//build/config:precompiled_headers",
226
227 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
228 "//build/config/compiler:no_size_t_to_int_warning",
229 ]
230
Nico Weber4f38eb72020-01-14 03:47:52231 public_deps = [ ":android_descriptors" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40232 deps = [
233 "//base",
234 "//base:base_static",
235 "//base/third_party/dynamic_annotations",
236 "//cc",
Colin Blundellcd741aa2019-12-30 10:24:52237 "//components/autofill/content/browser",
238 "//components/autofill/content/renderer",
239 "//components/autofill/core/browser",
Scott Violet87450ce2020-01-23 01:56:25240 "//components/base32",
Colin Blundell1fa65d22020-01-30 09:29:29241 "//components/captive_portal/core:buildflags",
Scott Violete2370ff2020-03-20 20:15:55242 "//components/cdm/renderer",
Clark DuVall417f6922020-04-15 20:44:24243 "//components/client_hints/browser",
Clark DuVallc12d5622020-04-15 22:17:26244 "//components/content_settings/common:mojom",
Colin Blundell19d639c2020-02-21 18:20:48245 "//components/content_settings/core/browser",
Clark DuVall417f6922020-04-15 20:44:24246 "//components/content_settings/renderer",
Tobias Sargeant13eb3662019-10-31 09:18:36247 "//components/crash/content/browser",
Rohit Rao92f84b6a2020-03-25 14:57:50248 "//components/crash/core/app",
Joshua Peraza4b66ae62020-02-26 20:31:40249 "//components/crash/core/common",
Colin Blundellab45f552020-01-22 15:08:40250 "//components/embedder_support",
Clark DuVall3d4e89b92020-04-03 23:07:32251 "//components/embedder_support/origin_trials",
Evan Stade46a3fc72020-01-27 21:28:14252 "//components/find_in_page",
Colin Blundell1fa65d22020-01-30 09:29:29253 "//components/keyed_service/content",
Alex Clarke97088b92020-01-30 16:47:48254 "//components/metrics",
Colin Blundell5c4f8122020-01-10 08:25:08255 "//components/network_time",
Mugdha Lakhani93363739e82020-02-03 22:12:15256 "//components/omnibox/browser",
Clark DuVall204ef8f42020-03-12 18:24:08257 "//components/permissions",
Alex Clarke97088b92020-01-30 16:47:48258 "//components/policy/core/browser",
259 "//components/pref_registry:pref_registry",
Colin Blundell35a923c42019-11-26 09:41:20260 "//components/prefs",
Tim Volodinefc29229e2020-01-23 17:01:44261 "//components/safe_browsing/core:features",
Evan Stadec36cdbc62019-10-31 23:28:47262 "//components/security_interstitials/content:security_interstitial_page",
263 "//components/security_interstitials/content/renderer:security_interstitial_page_controller",
264 "//components/security_interstitials/core",
Mugdha Lakhanie07342bd2020-02-14 15:29:35265 "//components/security_state/content",
Scott Violet87450ce2020-01-23 01:56:25266 "//components/sessions",
Evan Stadec61efb02019-12-04 22:37:47267 "//components/spellcheck:buildflags",
Colin Blundell40121f82020-01-10 15:01:50268 "//components/ssl_errors",
Francois Doray1fc6d012020-01-10 17:47:52269 "//components/startup_metric_utils/browser",
Colin Blundell35a923c42019-11-26 09:41:20270 "//components/user_prefs",
Alex Clarke97088b92020-01-30 16:47:48271 "//components/variations",
Alex Clarke58d942fb2020-02-28 12:48:30272 "//components/variations/net",
Alex Clarke97088b92020-01-30 16:47:48273 "//components/variations/service",
Doug Turner17eff5f8a2019-11-13 16:03:13274 "//components/version_info",
Pavel Shmakovb4aa4172019-11-05 17:45:15275 "//components/web_cache/browser",
Evan Stade32d635a2020-04-03 18:51:25276 "//components/webrtc",
Samuel Huangd0b0e062020-01-20 06:32:12277 "//content:content_resources",
278 "//content:dev_ui_content_resources",
John Abd-El-Malek402a13f2019-08-23 07:06:40279 "//content/app/resources",
John Abd-El-Malek402a13f2019-08-23 07:06:40280 "//content/public/app:both",
Scott Violet5844e4112019-09-10 21:11:46281 "//content/public/browser",
282 "//content/public/child",
John Abd-El-Malek402a13f2019-08-23 07:06:40283 "//content/public/common",
Clark DuVall417f6922020-04-15 20:44:24284 "//content/public/common:client_hints_mojom",
John Abd-El-Malek402a13f2019-08-23 07:06:40285 "//content/public/common:service_names",
Evan Stadec36cdbc62019-10-31 23:28:47286 "//content/public/renderer",
Colin Blundell030a2632019-10-18 13:40:49287 "//content/public/utility",
Tobias Sargeant947aec472020-03-27 10:00:54288 "//gpu/config",
John Abd-El-Malek402a13f2019-08-23 07:06:40289 "//net",
290 "//net:net_resources",
291 "//sandbox",
Pavel Shmakov6eb4340f2019-10-17 11:02:14292 "//services/network/public/mojom",
Alex Clarke97088b92020-01-30 16:47:48293 "//services/preferences/tracked",
Scott Violet5844e4112019-09-10 21:11:46294 "//services/service_manager/embedder:embedder_result_codes",
John Abd-El-Malek402a13f2019-08-23 07:06:40295 "//skia",
Evan Stade47692792019-11-14 22:20:52296 "//third_party/blink/public/common",
Gyuyoung Kim8c5d0772019-09-18 15:41:39297 "//third_party/blink/public/strings",
John Abd-El-Malek402a13f2019-08-23 07:06:40298 "//third_party/icu",
299 "//ui/base",
300 "//ui/base/clipboard",
301 "//ui/base/ime/init",
302 "//ui/display",
303 "//ui/events:events_base",
304 "//ui/gfx",
305 "//ui/gfx/geometry",
306 "//ui/gfx/ipc",
307 "//ui/gfx/ipc/geometry",
308 "//ui/gfx/ipc/skia",
309 "//ui/gl",
310 "//ui/platform_window",
Clark DuVall0c63dda2019-10-22 21:01:46311 "//ui/shell_dialogs",
Clark DuVall1644dbe2019-09-19 17:16:47312 "//ui/webui",
John Abd-El-Malek402a13f2019-08-23 07:06:40313 "//url",
314 "//v8",
Clark DuVall1644dbe2019-09-19 17:16:47315 "//weblayer:resources",
316 "//weblayer/browser/webui:mojo_bindings",
John Abd-El-Malek402a13f2019-08-23 07:06:40317 ]
318
Colin Blundell1fa65d22020-01-30 09:29:29319 if (enable_captive_portal_detection) {
Clark DuVall7733cb232020-03-11 23:41:27320 sources += [
321 "browser/captive_portal_service_factory.cc",
322 "browser/captive_portal_service_factory.h",
323 ]
Colin Blundell1fa65d22020-01-30 09:29:29324 deps += [ "//components/captive_portal/content" ]
325 }
326
Evan Stadec61efb02019-12-04 22:37:47327 if (use_browser_spellchecker) {
328 deps += [
329 "//components/spellcheck/browser",
330 "//components/spellcheck/renderer",
331 ]
332 }
333
Tim Volodine805894b2019-10-23 17:41:57334 if (is_android) {
Tobias Sargeant13eb3662019-10-31 09:18:36335 sources += [
Clark DuVall7733cb232020-03-11 23:41:27336 "app/jni_onload.cc",
337 "app/jni_onload.h",
338 "browser/android/exception_filter.cc",
339 "browser/android/exception_filter.h",
340 "browser/android/metrics/uma_utils.cc",
341 "browser/android/metrics/uma_utils.h",
342 "browser/android/metrics/weblayer_metrics_service_client.cc",
343 "browser/android/metrics/weblayer_metrics_service_client.h",
Clark DuVall29fb8fa2020-03-23 17:20:18344 "browser/android/permission_request_utils.cc",
345 "browser/android/permission_request_utils.h",
Clark DuVall3b77b532020-03-12 20:55:02346 "browser/android/resource_mapper.cc",
347 "browser/android/resource_mapper.h",
Clark DuVall7733cb232020-03-11 23:41:27348 "browser/content_view_render_view.cc",
349 "browser/content_view_render_view.h",
350 "browser/devtools_manager_delegate_android.cc",
351 "browser/devtools_manager_delegate_android.h",
352 "browser/devtools_server_android.cc",
353 "browser/devtools_server_android.h",
354 "browser/download_callback_proxy.cc",
355 "browser/download_callback_proxy.h",
356 "browser/error_page_callback_proxy.cc",
357 "browser/error_page_callback_proxy.h",
358 "browser/fullscreen_callback_proxy.cc",
359 "browser/fullscreen_callback_proxy.h",
360 "browser/new_tab_callback_proxy.cc",
361 "browser/new_tab_callback_proxy.h",
362 "browser/tab_callback_proxy.cc",
363 "browser/tab_callback_proxy.h",
364 "browser/top_controls_container_view.cc",
365 "browser/top_controls_container_view.h",
Colin Blundellaeac6ec2020-04-16 15:45:51366 "browser/weblayer_factory_impl_android.cc",
367 "browser/weblayer_factory_impl_android.h",
Clark DuVall7733cb232020-03-11 23:41:27368 "browser/weblayer_impl_android.cc",
Evan Stade507e9332020-04-08 21:15:14369 "browser/webrtc/media_stream_manager.cc",
370 "browser/webrtc/media_stream_manager.h",
Tobias Sargeant939390e62019-11-15 14:12:04371 "common/crash_reporter/crash_keys.cc",
372 "common/crash_reporter/crash_keys.h",
373 "common/crash_reporter/crash_reporter_client.cc",
374 "common/crash_reporter/crash_reporter_client.h",
Clark DuVall7733cb232020-03-11 23:41:27375 "renderer/url_loader_throttle_provider.cc",
376 "renderer/url_loader_throttle_provider.h",
Tobias Sargeant13eb3662019-10-31 09:18:36377 ]
378 deps += [
Colin Blundelle6c6234c2019-11-13 18:50:20379 "//android_webview:generate_aw_resources",
380 "//android_webview:generate_aw_strings",
Colin Blundell49f165d62020-01-14 14:08:53381 "//components/android_system_error_page",
Colin Blundell1efbffd02020-01-14 16:29:33382 "//components/autofill/android:provider",
Scott Violete2370ff2020-03-20 20:15:55383 "//components/cdm/browser",
Clark DuVallf0d5718a2020-03-13 17:17:55384 "//components/crash/android:crash_android",
Tobias Sargeant13eb3662019-10-31 09:18:36385 "//components/crash/android:crashpad_main",
Bo Liu28a2f552020-02-22 01:28:56386 "//components/embedder_support/android:context_menu",
Clark DuVallf0d5718a2020-03-13 17:17:55387 "//components/embedder_support/android:util",
Clark DuVall7733cb232020-03-11 23:41:27388 "//components/embedder_support/android:web_contents_delegate",
Alex Clarke97088b92020-01-30 16:47:48389 "//components/embedder_support/android/metrics",
Colin Blundell05ac5802020-03-17 19:15:47390 "//components/external_intents/android",
Evan Stadef7ad46e72020-02-13 20:02:35391 "//components/javascript_dialogs",
Clark DuVall29fb8fa2020-03-23 17:20:18392 "//components/location/android:settings",
Alex Clarkea85a1b282019-11-28 09:22:04393 "//components/metrics",
Tobias Sargeantf7ab2ada2019-12-03 01:23:44394 "//components/minidump_uploader",
Colin Blundell877ff8e2020-03-17 15:33:08395 "//components/navigation_interception",
Clark DuVallf0d5718a2020-03-13 17:17:55396 "//components/permissions/android:native",
Mugdha Lakhanib6762162020-03-30 10:23:25397 "//components/resources:android_resources",
Ali Jumaee99171292020-01-30 23:09:25398 "//components/safe_browsing/content/common:interfaces",
Ali Jumafb3dc1f2020-01-07 17:33:47399 "//components/safe_browsing/content/renderer:throttles",
Ali Jumafb3dc1f2020-01-07 17:33:47400 "//components/safe_browsing/core/common",
Tobias Sargeant13eb3662019-10-31 09:18:36401 "//components/version_info/android:channel_getter",
Clark DuVall7733cb232020-03-11 23:41:27402 "//services/resource_coordinator/public/cpp/memory_instrumentation:browser",
403 "//ui/android",
404 "//weblayer/browser/java:jni",
Tim Volodinede9b64b2020-01-13 15:44:25405 "//weblayer/browser/safe_browsing:safe_browsing",
Tobias Sargeant13eb3662019-10-31 09:18:36406 ]
Clark DuVall7733cb232020-03-11 23:41:27407 } else {
408 deps += [ "//ui/views/controls/webview" ]
Tim Volodine805894b2019-10-23 17:41:57409 }
410
John Abd-El-Malek402a13f2019-08-23 07:06:40411 if (enable_vulkan) {
412 deps += [ "//gpu/vulkan/init" ]
413 }
414 if (mojo_media_host == "browser") {
Ken Rockot965b4772019-12-12 23:23:01415 deps += [ "//media/mojo/services" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40416 }
417
418 if (is_win) {
419 deps += [ "//content:sandbox_helper_win" ]
Reid Kleckner06e12bf2019-08-23 20:54:23420 if (win_console_app) {
421 defines = [ "WIN_CONSOLE_APP" ]
422 }
John Abd-El-Malek402a13f2019-08-23 07:06:40423 }
424
425 if (is_linux) {
426 deps += [
427 "//build/config/freetype",
428 "//third_party/fontconfig",
429 ]
430 }
431
John Abd-El-Malek402a13f2019-08-23 07:06:40432 if (toolkit_views) {
433 deps += [ "//ui/views" ]
434 }
435
436 if (use_aura) {
437 deps += [
438 "//ui/aura",
439 "//ui/events",
440 "//ui/strings",
441 "//ui/wm",
442 ]
443 }
444}
Bo Liu7e22c0a2019-08-26 21:44:28445
Clark DuVallf0d5718a2020-03-13 17:17:55446if (is_android) {
447 # Lib used in standalone WebView which allows manual JNI registration.
448 static_library("weblayer_lib_webview") {
449 public_deps = [ ":weblayer_lib_base" ]
450 deps = [
451 "//base",
452 "//weblayer/browser/java:jni",
453 "//weblayer/browser/java:weblayer_jni_registration",
454 ]
455 sources = [
456 "$target_gen_dir/browser/java/weblayer_jni_registration.h",
457 "browser/web_view_compatibility_helper_impl.cc",
458 "browser/web_view_compatibility_helper_impl.h",
459 ]
460 defines = [ "WEBLAYER_MANUAL_JNI_REGISTRATION" ]
461
462 # Explicit dependency required for JNI registration to be able to
463 # find the native side functions.
464 if (is_component_build) {
465 deps += [
466 "//device/gamepad",
467 "//media/midi",
468 "//ui/events/devices",
469 ]
470 }
471 }
472
473 # Lib used in Monochrome which does not support manual JNI registration.
474 # Separate from the standalone WebView version to reduce APK size.
475 static_library("weblayer_lib") {
476 public_deps = [ ":weblayer_lib_base" ]
477 deps = [ "//weblayer/browser/java:jni" ]
478 sources = [
479 "browser/web_view_compatibility_helper_impl.cc",
480 "browser/web_view_compatibility_helper_impl.h",
481 ]
482 }
483} else {
484 source_set("weblayer_lib") {
485 public_deps = [ ":weblayer_lib_base" ]
486 }
487}
488
Clark DuVall1644dbe2019-09-19 17:16:47489grit("resources") {
490 source = "weblayer_resources.grd"
491
Clark DuVall1644dbe2019-09-19 17:16:47492 outputs = [
493 "grit/weblayer_resources.h",
494 "weblayer_resources.pak",
495 ]
496 grit_flags = [
497 "-E",
498 "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
499 ]
Nico Weber4f38eb72020-01-14 03:47:52500 deps = [ "//weblayer/browser/webui:mojo_bindings_js" ]
Clark DuVall1644dbe2019-09-19 17:16:47501}
502
John Abd-El-Malek402a13f2019-08-23 07:06:40503# TODO(jam): move weblayer_shell_resources_grit and copy_shell_resources here in
504# a way that's shareable?
Bo Liu7e22c0a2019-08-26 21:44:28505
506if (is_android) {
507 shared_library("libweblayer") {
Nico Weber4f38eb72020-01-14 03:47:52508 sources = [ "app/entry_point.cc" ]
Bo Liu7e22c0a2019-08-26 21:44:28509 deps = [
Clark DuVallf0d5718a2020-03-13 17:17:55510 ":weblayer_lib_webview",
Bo Liu7e22c0a2019-08-26 21:44:28511 "//base",
512 "//content/public/app:both",
513 ]
514 configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
515 configs += [ "//build/config/android:hide_all_but_jni" ]
516 }
Bo Liu7e22c0a2019-08-26 21:44:28517}