blob: f93c868f974e30c8431e9441616e44539ed997c2 [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
Mugdha Lakhanifed9e7a2020-04-30 08:22:3062 grit("generate_components_chromium_strings") {
63 source = "../components/components_chromium_strings.grd"
64
65 # components_chromium_strings contains Chromium-specific strings. WebLayer
66 # will never display most of them, so we try to limit the included
67 # strings.
68 whitelist = rebase_path("grit_strings_whitelist.txt", root_build_dir)
69 inputs = [ "//weblayer/grit_strings_whitelist.txt" ]
70 grit_flags = [
71 "-w",
72 whitelist,
73 ]
74 outputs = [ "grit/components_chromium_strings.h" ] +
75 process_file_template(
76 locales_with_fake_bidi,
77 [ "components_chromium_strings_{{source_name_part}}.pak" ])
78 }
79
Clark DuVallebd41cb2019-12-19 23:14:1680 repack_locales("weblayer_locales") {
81 input_locales = locales
82 output_locales = locales
Bo Liu89a7b342020-04-16 20:08:1383 source_patterns = [
84 "${root_gen_dir}/components/strings/components_locale_settings_",
Mugdha Lakhanifed9e7a2020-04-30 08:22:3085 "${root_gen_dir}/weblayer/components_chromium_strings_",
Bo Liu89a7b342020-04-16 20:08:1386 "${root_gen_dir}/weblayer/components_strings_",
87 ]
88 deps = [
Mugdha Lakhanifed9e7a2020-04-30 08:22:3089 ":generate_components_chromium_strings",
Bo Liu89a7b342020-04-16 20:08:1390 ":generate_components_strings",
91 "//components/strings:components_locale_settings",
92 ]
Clark DuVallebd41cb2019-12-19 23:14:1693 output_dir = "$root_out_dir/weblayer/locales"
Clark DuVallc75c5d22019-11-12 23:00:3894 }
95
96 android_assets("locale_pak_assets") {
97 disable_compression = true
98 renaming_sources = [ "$root_out_dir/weblayer/locales/en-US.pak" ]
99 renaming_destinations = [ "stored-locales/weblayer/en-US.pak" ]
100 treat_as_locale_paks = true
Nico Weber4f38eb72020-01-14 03:47:52101 deps = [ ":weblayer_locales" ]
Clark DuVallc75c5d22019-11-12 23:00:38102 }
Clark DuVallebd41cb2019-12-19 23:14:16103
104 android_assets("bundle_locale_pak_assets") {
105 disable_compression = true
106 renaming_sources = []
107 renaming_destinations = []
108 foreach(_locale, locales) {
109 renaming_sources += [ "$root_out_dir/weblayer/locales/$_locale.pak" ]
110 renaming_destinations += [ "locales/$_locale.pak" ]
111 }
112 treat_as_locale_paks = true
Nico Weber4f38eb72020-01-14 03:47:52113 deps = [ ":weblayer_locales" ]
Clark DuVallebd41cb2019-12-19 23:14:16114 }
Evan Stade45a57822020-03-27 20:14:12115
116 java_strings_grd_prebuilt("components_java_strings") {
117 grit_output_dir = "$root_gen_dir/weblayer/java/res"
118 generated_files =
119 rebase_path(weblayer_components_strings_java_resources, "java/res", ".")
120 deps = [ ":generate_components_strings" ]
121 }
Clark DuVallc75c5d22019-11-12 23:00:38122}
123
Clark DuVallfa3f12042020-04-17 19:52:50124mojom("common_mojom") {
125 disable_variants = true
126
127 sources = [ "common/renderer_configuration.mojom" ]
128 deps = [ "//components/content_settings/core/common:mojo_bindings" ]
129}
130
Clark DuVallf0d5718a2020-03-13 17:17:55131source_set("weblayer_lib_base") {
John Abd-El-Malek402a13f2019-08-23 07:06:40132 sources = [
John Abd-El-Malekc0b023c2019-08-24 20:46:29133 "app/content_main_delegate_impl.cc",
134 "app/content_main_delegate_impl.h",
135 "app/main.cc",
Colin Blundellcd741aa2019-12-30 10:24:52136 "browser/autofill_client_impl.cc",
137 "browser/autofill_client_impl.h",
John Abd-El-Malekbc16a6672019-12-27 23:18:32138 "browser/browser_context_impl.cc",
139 "browser/browser_context_impl.h",
Scott Violet009c09c2020-01-18 00:57:18140 "browser/browser_impl.cc",
141 "browser/browser_impl.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29142 "browser/browser_main_parts_impl.cc",
143 "browser/browser_main_parts_impl.h",
Colin Blundell5c4f8122020-01-10 08:25:08144 "browser/browser_process.cc",
145 "browser/browser_process.h",
Clark DuVall417f6922020-04-15 20:44:24146 "browser/client_hints_factory.cc",
147 "browser/client_hints_factory.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29148 "browser/content_browser_client_impl.cc",
149 "browser/content_browser_client_impl.h",
Clark DuVallc12d5622020-04-15 22:17:26150 "browser/content_browser_client_impl_receiver_bindings.cc",
Clark DuVall06dea022020-04-21 17:07:31151 "browser/content_settings_manager_delegate.cc",
152 "browser/content_settings_manager_delegate.h",
Evan Staded26b27c2020-02-07 19:46:20153 "browser/controls_visibility_reason.h",
Clark DuVall54aecd62020-03-30 20:29:57154 "browser/cookie_manager_impl.cc",
155 "browser/cookie_manager_impl.h",
Clark DuVallbac8e1e2020-03-30 23:26:40156 "browser/cookie_settings_factory.cc",
157 "browser/cookie_settings_factory.h",
John Abd-El-Maleke31712a2020-01-15 01:20:05158 "browser/download_impl.cc",
159 "browser/download_impl.h",
John Abd-El-Malek6c46bcd92019-12-17 06:27:27160 "browser/download_manager_delegate_impl.cc",
161 "browser/download_manager_delegate_impl.h",
Alex Clarke97088b92020-01-30 16:47:48162 "browser/feature_list_creator.cc",
163 "browser/feature_list_creator.h",
Clark DuVall0c63dda2019-10-22 21:01:46164 "browser/file_select_helper.cc",
165 "browser/file_select_helper.h",
Colin Blundell19d639c2020-02-21 18:20:48166 "browser/host_content_settings_map_factory.cc",
167 "browser/host_content_settings_map_factory.h",
Evan Stade47692792019-11-14 22:20:52168 "browser/i18n_util.cc",
169 "browser/i18n_util.h",
Evan Stadec120222b2020-02-20 21:04:38170 "browser/javascript_tab_modal_dialog_manager_delegate_android.cc",
171 "browser/javascript_tab_modal_dialog_manager_delegate_android.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29172 "browser/navigation_controller_impl.cc",
173 "browser/navigation_controller_impl.h",
John Abd-El-Malek63ea6962019-08-27 00:49:31174 "browser/navigation_impl.cc",
175 "browser/navigation_impl.h",
John Abd-El-Maleke75729c2020-04-24 17:35:20176 "browser/page_load_metrics_initialize.cc",
177 "browser/page_load_metrics_initialize.h",
Clark DuVall29fb8fa2020-03-23 17:20:18178 "browser/permissions/geolocation_permission_context_delegate.cc",
179 "browser/permissions/geolocation_permission_context_delegate.h",
Clark DuVall204ef8f42020-03-12 18:24:08180 "browser/permissions/permission_decision_auto_blocker_factory.cc",
181 "browser/permissions/permission_decision_auto_blocker_factory.h",
Clark DuVall2c6c8672020-03-18 18:41:20182 "browser/permissions/permission_manager_factory.cc",
183 "browser/permissions/permission_manager_factory.h",
Clark DuVall42354a02020-03-12 21:26:38184 "browser/permissions/weblayer_permissions_client.cc",
185 "browser/permissions/weblayer_permissions_client.h",
Scott Violet343f4ec2020-01-30 02:58:08186 "browser/persistence/browser_persistence_common.cc",
187 "browser/persistence/browser_persistence_common.h",
Scott Violet9843d0a2020-02-11 22:38:07188 "browser/persistence/browser_persister.cc",
189 "browser/persistence/browser_persister.h",
Scott Violet343f4ec2020-01-30 02:58:08190 "browser/persistence/minimal_browser_persister.cc",
191 "browser/persistence/minimal_browser_persister.h",
Bo Liu3b6b0e82020-04-09 17:12:30192 "browser/profile_disk_operations.cc",
193 "browser/profile_disk_operations.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29194 "browser/profile_impl.cc",
195 "browser/profile_impl.h",
Colin Blundell2ae70152019-11-25 12:32:31196 "browser/ssl_error_controller_client.cc",
197 "browser/ssl_error_controller_client.h",
Colin Blundell7657b402020-02-25 09:46:50198 "browser/stateful_ssl_host_state_delegate_factory.cc",
199 "browser/stateful_ssl_host_state_delegate_factory.h",
Colin Blundell5c4f8122020-01-10 08:25:08200 "browser/system_network_context_manager.cc",
201 "browser/system_network_context_manager.h",
Scott Violet72fad2602019-11-06 16:42:16202 "browser/tab_impl.cc",
203 "browser/tab_impl.h",
Clark DuVallfa3f12042020-04-17 19:52:50204 "browser/tab_specific_content_settings_delegate.cc",
205 "browser/tab_specific_content_settings_delegate.h",
Colin Blundell28e27c12020-04-20 09:51:59206 "browser/translate_accept_languages_factory.cc",
207 "browser/translate_accept_languages_factory.h",
Colin Blundelle92bb0c2020-04-22 09:01:51208 "browser/translate_client_impl.cc",
209 "browser/translate_client_impl.h",
Colin Blundell0d0155d2020-04-20 12:28:17210 "browser/translate_ranker_factory.cc",
211 "browser/translate_ranker_factory.h",
Mugdha Lakhani35fa2a02020-03-10 20:57:55212 "browser/url_bar/autocomplete_scheme_classifier_impl.cc",
213 "browser/url_bar/autocomplete_scheme_classifier_impl.h",
Mugdha Lakhani4b10b6512020-04-27 19:52:12214 "browser/url_bar/page_info_delegate_impl.cc",
215 "browser/url_bar/page_info_delegate_impl.h",
Mugdha Lakhani35fa2a02020-03-10 20:57:55216 "browser/url_bar/url_bar_controller_impl.cc",
217 "browser/url_bar/url_bar_controller_impl.h",
Scott Violet5e2ee552020-04-28 20:17:57218 "browser/user_agent.cc",
219 "browser/user_agent.h",
Bo Liu28a2f552020-02-22 01:28:56220 "browser/web_contents_view_delegate_impl.cc",
221 "browser/web_contents_view_delegate_impl.h",
Miyoung Shin2abdeb62020-01-07 04:31:47222 "browser/weblayer_browser_interface_binders.cc",
223 "browser/weblayer_browser_interface_binders.h",
Clark DuVall1644dbe2019-09-19 17:16:47224 "browser/weblayer_content_browser_overlay_manifest.cc",
225 "browser/weblayer_content_browser_overlay_manifest.h",
Scott Violet5b449992020-05-18 22:31:24226 "browser/weblayer_features.cc",
227 "browser/weblayer_features.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20228 "browser/weblayer_field_trials.h",
Colin Blundella9285342020-02-03 18:34:23229 "browser/weblayer_security_blocking_page_factory.cc",
230 "browser/weblayer_security_blocking_page_factory.h",
Tim Volodine224f47772020-05-11 22:26:07231 "browser/weblayer_speech_recognition_manager_delegate.cc",
232 "browser/weblayer_speech_recognition_manager_delegate.h",
Alex Clarke2f9dc9d2020-02-05 11:08:20233 "browser/weblayer_variations_service_client.cc",
234 "browser/weblayer_variations_service_client.h",
Clark DuVall1644dbe2019-09-19 17:16:47235 "browser/webui/web_ui_controller_factory.cc",
236 "browser/webui/web_ui_controller_factory.h",
237 "browser/webui/weblayer_internals_ui.cc",
238 "browser/webui/weblayer_internals_ui.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29239 "common/content_client_impl.cc",
240 "common/content_client_impl.h",
Tim Volodine805894b2019-10-23 17:41:57241 "common/features.cc",
242 "common/features.h",
Colin Blundellb81adfaf2020-04-16 16:18:42243 "common/isolated_world_ids.h",
Tobias Sargeantf3261002019-10-28 10:48:21244 "common/weblayer_paths.cc",
245 "common/weblayer_paths.h",
Scott Violetbf8b8aa72020-01-28 19:37:32246 "public/browser.cc",
Scott Violet009c09c2020-01-18 00:57:18247 "public/browser.h",
248 "public/browser_observer.h",
Bo Liu1cf15442019-11-23 02:36:50249 "public/common/switches.cc",
250 "public/common/switches.h",
Clark DuVall54aecd62020-03-30 20:29:57251 "public/cookie_manager.h",
John Abd-El-Maleke31712a2020-01-15 01:20:05252 "public/download.h",
Evan Stadedb1404e2019-10-18 00:16:26253 "public/download_delegate.h",
Evan Stade94c2a5652019-11-14 16:32:24254 "public/error_page_delegate.h",
Scott Violet47bd2942019-10-16 21:35:38255 "public/fullscreen_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29256 "public/main.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31257 "public/navigation.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29258 "public/navigation_controller.h",
John Abd-El-Malek795fbea2019-08-23 21:57:31259 "public/navigation_observer.h",
Scott Violet72fad2602019-11-06 16:42:16260 "public/new_tab_delegate.h",
John Abd-El-Malekc0b023c2019-08-24 20:46:29261 "public/profile.h",
Scott Violet72fad2602019-11-06 16:42:16262 "public/tab.h",
263 "public/tab_observer.h",
Mugdha Lakhani93363739e82020-02-03 22:12:15264 "public/url_bar_controller.h",
Evan Stadec36cdbc62019-10-31 23:28:47265 "renderer/content_renderer_client_impl.cc",
266 "renderer/content_renderer_client_impl.h",
Tim Volodine86e9ad42020-02-08 01:55:29267 "renderer/error_page_helper.cc",
268 "renderer/error_page_helper.h",
Colin Blundellcd741aa2019-12-30 10:24:52269 "renderer/weblayer_render_frame_observer.cc",
270 "renderer/weblayer_render_frame_observer.h",
Clark DuVallfa3f12042020-04-17 19:52:50271 "renderer/weblayer_render_thread_observer.cc",
272 "renderer/weblayer_render_thread_observer.h",
Colin Blundell030a2632019-10-18 13:40:49273 "utility/content_utility_client_impl.cc",
274 "utility/content_utility_client_impl.h",
John Abd-El-Malek402a13f2019-08-23 07:06:40275 ]
276
277 configs += [
278 "//build/config:precompiled_headers",
279
280 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
281 "//build/config/compiler:no_size_t_to_int_warning",
282 ]
283
Nico Weber4f38eb72020-01-14 03:47:52284 public_deps = [ ":android_descriptors" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40285 deps = [
Clark DuVallfa3f12042020-04-17 19:52:50286 ":common_mojom",
John Abd-El-Malek402a13f2019-08-23 07:06:40287 "//base",
288 "//base:base_static",
289 "//base/third_party/dynamic_annotations",
290 "//cc",
Colin Blundellcd741aa2019-12-30 10:24:52291 "//components/autofill/content/browser",
292 "//components/autofill/content/renderer",
293 "//components/autofill/core/browser",
Scott Violet87450ce2020-01-23 01:56:25294 "//components/base32",
Mugdha Lakhani4b10b6512020-04-27 19:52:12295 "//components/browsing_data/content",
Colin Blundell1fa65d22020-01-30 09:29:29296 "//components/captive_portal/core:buildflags",
Scott Violete2370ff2020-03-20 20:15:55297 "//components/cdm/renderer",
Clark DuVall417f6922020-04-15 20:44:24298 "//components/client_hints/browser",
Clark DuVallfa3f12042020-04-17 19:52:50299 "//components/content_settings/browser",
300 "//components/content_settings/common:mojom",
Clark DuVallc12d5622020-04-15 22:17:26301 "//components/content_settings/common:mojom",
Colin Blundell19d639c2020-02-21 18:20:48302 "//components/content_settings/core/browser",
Clark DuVall417f6922020-04-15 20:44:24303 "//components/content_settings/renderer",
Tobias Sargeant13eb3662019-10-31 09:18:36304 "//components/crash/content/browser",
Rohit Rao92f84b6a2020-03-25 14:57:50305 "//components/crash/core/app",
Joshua Peraza4b66ae62020-02-26 20:31:40306 "//components/crash/core/common",
Colin Blundellab45f552020-01-22 15:08:40307 "//components/embedder_support",
Clark DuVall3d4e89b92020-04-03 23:07:32308 "//components/embedder_support/origin_trials",
Clark DuVall67648ea62020-04-22 22:44:24309 "//components/error_page/common",
Evan Stade46a3fc72020-01-27 21:28:14310 "//components/find_in_page",
Colin Blundelle92bb0c2020-04-22 09:01:51311 "//components/infobars/core",
Colin Blundell1fa65d22020-01-30 09:29:29312 "//components/keyed_service/content",
Colin Blundell28e27c12020-04-20 09:51:59313 "//components/language/core/browser",
Alex Clarke97088b92020-01-30 16:47:48314 "//components/metrics",
Colin Blundell5c4f8122020-01-10 08:25:08315 "//components/network_time",
Mugdha Lakhani93363739e82020-02-03 22:12:15316 "//components/omnibox/browser",
Mugdha Lakhani4b10b6512020-04-27 19:52:12317 "//components/page_info",
John Abd-El-Maleke75729c2020-04-24 17:35:20318 "//components/page_load_metrics/browser",
319 "//components/page_load_metrics/renderer",
Clark DuVall204ef8f42020-03-12 18:24:08320 "//components/permissions",
Alex Clarke97088b92020-01-30 16:47:48321 "//components/policy/core/browser",
322 "//components/pref_registry:pref_registry",
Colin Blundell35a923c42019-11-26 09:41:20323 "//components/prefs",
Tim Volodinefc29229e2020-01-23 17:01:44324 "//components/safe_browsing/core:features",
Evan Stadec36cdbc62019-10-31 23:28:47325 "//components/security_interstitials/content:security_interstitial_page",
326 "//components/security_interstitials/content/renderer:security_interstitial_page_controller",
327 "//components/security_interstitials/core",
Mugdha Lakhanie07342bd2020-02-14 15:29:35328 "//components/security_state/content",
Clark DuVallfa3f12042020-04-17 19:52:50329 "//components/services/storage/public/mojom",
Scott Violet87450ce2020-01-23 01:56:25330 "//components/sessions",
Evan Stadec61efb02019-12-04 22:37:47331 "//components/spellcheck:buildflags",
Colin Blundell40121f82020-01-10 15:01:50332 "//components/ssl_errors",
Francois Doray1fc6d012020-01-10 17:47:52333 "//components/startup_metric_utils/browser",
Bo Liu89a7b342020-04-16 20:08:13334 "//components/strings",
Colin Blundelle92bb0c2020-04-22 09:01:51335 "//components/translate/content/browser",
336 "//components/translate/content/renderer",
Colin Blundell28e27c12020-04-20 09:51:59337 "//components/translate/core/browser",
Colin Blundelle92bb0c2020-04-22 09:01:51338 "//components/translate/core/common",
Colin Blundell35a923c42019-11-26 09:41:20339 "//components/user_prefs",
Alex Clarke97088b92020-01-30 16:47:48340 "//components/variations",
Alex Clarke58d942fb2020-02-28 12:48:30341 "//components/variations/net",
Alex Clarke97088b92020-01-30 16:47:48342 "//components/variations/service",
Doug Turner17eff5f8a2019-11-13 16:03:13343 "//components/version_info",
Pavel Shmakovb4aa4172019-11-05 17:45:15344 "//components/web_cache/browser",
Evan Stade32d635a2020-04-03 18:51:25345 "//components/webrtc",
Samuel Huangd0b0e062020-01-20 06:32:12346 "//content:content_resources",
347 "//content:dev_ui_content_resources",
John Abd-El-Malek402a13f2019-08-23 07:06:40348 "//content/app/resources",
Nico Weber73db2f532020-04-21 19:40:18349 "//content/public/app",
Scott Violet5844e4112019-09-10 21:11:46350 "//content/public/browser",
351 "//content/public/child",
John Abd-El-Malek402a13f2019-08-23 07:06:40352 "//content/public/common",
Clark DuVall417f6922020-04-15 20:44:24353 "//content/public/common:client_hints_mojom",
John Abd-El-Malek402a13f2019-08-23 07:06:40354 "//content/public/common:service_names",
Evan Stadec36cdbc62019-10-31 23:28:47355 "//content/public/renderer",
Colin Blundell030a2632019-10-18 13:40:49356 "//content/public/utility",
Tobias Sargeant947aec472020-03-27 10:00:54357 "//gpu/config",
John Abd-El-Malek402a13f2019-08-23 07:06:40358 "//net",
359 "//net:net_resources",
360 "//sandbox",
Colin Blundell0d0155d2020-04-20 12:28:17361 "//services/metrics/public/cpp:metrics_cpp",
Pavel Shmakov6eb4340f2019-10-17 11:02:14362 "//services/network/public/mojom",
Alex Clarke97088b92020-01-30 16:47:48363 "//services/preferences/tracked",
Scott Violet5844e4112019-09-10 21:11:46364 "//services/service_manager/embedder:embedder_result_codes",
John Abd-El-Malek402a13f2019-08-23 07:06:40365 "//skia",
Colin Blundelle92bb0c2020-04-22 09:01:51366 "//third_party/blink/public:blink_headers",
Evan Stade47692792019-11-14 22:20:52367 "//third_party/blink/public/common",
Gyuyoung Kim8c5d0772019-09-18 15:41:39368 "//third_party/blink/public/strings",
John Abd-El-Malek402a13f2019-08-23 07:06:40369 "//third_party/icu",
370 "//ui/base",
371 "//ui/base/clipboard",
372 "//ui/base/ime/init",
373 "//ui/display",
374 "//ui/events:events_base",
375 "//ui/gfx",
376 "//ui/gfx/geometry",
377 "//ui/gfx/ipc",
378 "//ui/gfx/ipc/geometry",
379 "//ui/gfx/ipc/skia",
380 "//ui/gl",
381 "//ui/platform_window",
Clark DuVall0c63dda2019-10-22 21:01:46382 "//ui/shell_dialogs",
Clark DuVall1644dbe2019-09-19 17:16:47383 "//ui/webui",
John Abd-El-Malek402a13f2019-08-23 07:06:40384 "//url",
385 "//v8",
Clark DuVall1644dbe2019-09-19 17:16:47386 "//weblayer:resources",
387 "//weblayer/browser/webui:mojo_bindings",
John Abd-El-Malek402a13f2019-08-23 07:06:40388 ]
389
Colin Blundell1fa65d22020-01-30 09:29:29390 if (enable_captive_portal_detection) {
Clark DuVall7733cb232020-03-11 23:41:27391 sources += [
392 "browser/captive_portal_service_factory.cc",
393 "browser/captive_portal_service_factory.h",
394 ]
Colin Blundell1fa65d22020-01-30 09:29:29395 deps += [ "//components/captive_portal/content" ]
396 }
397
Evan Stadec61efb02019-12-04 22:37:47398 if (use_browser_spellchecker) {
399 deps += [
400 "//components/spellcheck/browser",
401 "//components/spellcheck/renderer",
402 ]
403 }
404
Tim Volodine805894b2019-10-23 17:41:57405 if (is_android) {
Tobias Sargeant13eb3662019-10-31 09:18:36406 sources += [
Clark DuVall7733cb232020-03-11 23:41:27407 "app/jni_onload.cc",
408 "app/jni_onload.h",
409 "browser/android/exception_filter.cc",
410 "browser/android/exception_filter.h",
411 "browser/android/metrics/uma_utils.cc",
412 "browser/android/metrics/uma_utils.h",
Tobias Sargeante5d38e1b2020-05-14 19:57:30413 "browser/android/metrics/weblayer_metrics_service_accessor.h",
Clark DuVall7733cb232020-03-11 23:41:27414 "browser/android/metrics/weblayer_metrics_service_client.cc",
415 "browser/android/metrics/weblayer_metrics_service_client.h",
Clark DuVall29fb8fa2020-03-23 17:20:18416 "browser/android/permission_request_utils.cc",
417 "browser/android/permission_request_utils.h",
Clark DuVall3b77b532020-03-12 20:55:02418 "browser/android/resource_mapper.cc",
419 "browser/android/resource_mapper.h",
Scott Violeteb09af92020-05-01 15:10:22420 "browser/browser_controls_container_view.cc",
421 "browser/browser_controls_container_view.h",
Scott Violet153d5c32020-05-14 17:39:42422 "browser/browser_controls_navigation_state_handler.cc",
423 "browser/browser_controls_navigation_state_handler.h",
424 "browser/browser_controls_navigation_state_handler_delegate.h",
Clark DuVall7733cb232020-03-11 23:41:27425 "browser/content_view_render_view.cc",
426 "browser/content_view_render_view.h",
427 "browser/devtools_manager_delegate_android.cc",
428 "browser/devtools_manager_delegate_android.h",
429 "browser/devtools_server_android.cc",
430 "browser/devtools_server_android.h",
431 "browser/download_callback_proxy.cc",
432 "browser/download_callback_proxy.h",
433 "browser/error_page_callback_proxy.cc",
434 "browser/error_page_callback_proxy.h",
435 "browser/fullscreen_callback_proxy.cc",
436 "browser/fullscreen_callback_proxy.h",
437 "browser/new_tab_callback_proxy.cc",
438 "browser/new_tab_callback_proxy.h",
439 "browser/tab_callback_proxy.cc",
440 "browser/tab_callback_proxy.h",
Mugdha Lakhani4b10b6512020-04-27 19:52:12441 "browser/url_bar/page_info_client_impl.cc",
442 "browser/url_bar/page_info_client_impl.h",
Colin Blundellaeac6ec2020-04-16 15:45:51443 "browser/weblayer_factory_impl_android.cc",
444 "browser/weblayer_factory_impl_android.h",
Clark DuVall7733cb232020-03-11 23:41:27445 "browser/weblayer_impl_android.cc",
Mugdha Lakhani2c21fc662020-05-06 15:33:12446 "browser/weblayer_impl_android.h",
Robbie McElrath93266822020-05-20 21:36:46447 "browser/weblayer_site_settings_client.cc",
Evan Stade507e9332020-04-08 21:15:14448 "browser/webrtc/media_stream_manager.cc",
449 "browser/webrtc/media_stream_manager.h",
Tobias Sargeant939390e62019-11-15 14:12:04450 "common/crash_reporter/crash_keys.cc",
451 "common/crash_reporter/crash_keys.h",
452 "common/crash_reporter/crash_reporter_client.cc",
453 "common/crash_reporter/crash_reporter_client.h",
Clark DuVall7733cb232020-03-11 23:41:27454 "renderer/url_loader_throttle_provider.cc",
455 "renderer/url_loader_throttle_provider.h",
Tobias Sargeant13eb3662019-10-31 09:18:36456 ]
457 deps += [
Colin Blundelle6c6234c2019-11-13 18:50:20458 "//android_webview:generate_aw_resources",
459 "//android_webview:generate_aw_strings",
Colin Blundell49f165d62020-01-14 14:08:53460 "//components/android_system_error_page",
Colin Blundell1efbffd02020-01-14 16:29:33461 "//components/autofill/android:provider",
Mugdha Lakhani292cb1502020-05-13 19:06:53462 "//components/browser_ui/site_settings/android",
Scott Violete2370ff2020-03-20 20:15:55463 "//components/cdm/browser",
Mugdha Lakhani87f3765a2020-04-28 17:37:10464 "//components/content_settings/android",
Clark DuVallf0d5718a2020-03-13 17:17:55465 "//components/crash/android:crash_android",
Tobias Sargeant13eb3662019-10-31 09:18:36466 "//components/crash/android:crashpad_main",
Robbie McElrath93266822020-05-20 21:36:46467 "//components/embedder_support/android:browser_context",
Bo Liu28a2f552020-02-22 01:28:56468 "//components/embedder_support/android:context_menu",
Clark DuVallf0d5718a2020-03-13 17:17:55469 "//components/embedder_support/android:util",
Clark DuVall7733cb232020-03-11 23:41:27470 "//components/embedder_support/android:web_contents_delegate",
Alex Clarke97088b92020-01-30 16:47:48471 "//components/embedder_support/android/metrics",
Colin Blundell05ac5802020-03-17 19:15:47472 "//components/external_intents/android",
Evan Stadef7ad46e72020-02-13 20:02:35473 "//components/javascript_dialogs",
Clark DuVall29fb8fa2020-03-23 17:20:18474 "//components/location/android:settings",
Alex Clarkea85a1b282019-11-28 09:22:04475 "//components/metrics",
Tobias Sargeantf7ab2ada2019-12-03 01:23:44476 "//components/minidump_uploader",
Colin Blundell877ff8e2020-03-17 15:33:08477 "//components/navigation_interception",
Mugdha Lakhani4b10b6512020-04-27 19:52:12478 "//components/page_info/android",
Clark DuVallf0d5718a2020-03-13 17:17:55479 "//components/permissions/android:native",
Mugdha Lakhanib6762162020-03-30 10:23:25480 "//components/resources:android_resources",
Ali Jumaee99171292020-01-30 23:09:25481 "//components/safe_browsing/content/common:interfaces",
Ali Jumafb3dc1f2020-01-07 17:33:47482 "//components/safe_browsing/content/renderer:throttles",
Ali Jumafb3dc1f2020-01-07 17:33:47483 "//components/safe_browsing/core/common",
Mugdha Lakhani87f3765a2020-04-28 17:37:10484 "//components/security_state/content/android",
Tobias Sargeant13eb3662019-10-31 09:18:36485 "//components/version_info/android:channel_getter",
Clark DuVall7733cb232020-03-11 23:41:27486 "//services/resource_coordinator/public/cpp/memory_instrumentation:browser",
487 "//ui/android",
488 "//weblayer/browser/java:jni",
Tim Volodinede9b64b2020-01-13 15:44:25489 "//weblayer/browser/safe_browsing:safe_browsing",
Tobias Sargeant13eb3662019-10-31 09:18:36490 ]
Clark DuVall7733cb232020-03-11 23:41:27491 } else {
492 deps += [ "//ui/views/controls/webview" ]
Tim Volodine805894b2019-10-23 17:41:57493 }
494
John Abd-El-Malek402a13f2019-08-23 07:06:40495 if (enable_vulkan) {
496 deps += [ "//gpu/vulkan/init" ]
497 }
498 if (mojo_media_host == "browser") {
Ken Rockot965b4772019-12-12 23:23:01499 deps += [ "//media/mojo/services" ]
John Abd-El-Malek402a13f2019-08-23 07:06:40500 }
501
502 if (is_win) {
503 deps += [ "//content:sandbox_helper_win" ]
Reid Kleckner06e12bf2019-08-23 20:54:23504 if (win_console_app) {
505 defines = [ "WIN_CONSOLE_APP" ]
506 }
John Abd-El-Malek402a13f2019-08-23 07:06:40507 }
508
509 if (is_linux) {
510 deps += [
511 "//build/config/freetype",
512 "//third_party/fontconfig",
513 ]
514 }
515
John Abd-El-Malek402a13f2019-08-23 07:06:40516 if (toolkit_views) {
517 deps += [ "//ui/views" ]
518 }
519
520 if (use_aura) {
521 deps += [
522 "//ui/aura",
523 "//ui/events",
524 "//ui/strings",
525 "//ui/wm",
526 ]
527 }
528}
Bo Liu7e22c0a2019-08-26 21:44:28529
Clark DuVallf0d5718a2020-03-13 17:17:55530if (is_android) {
Scott Violet5b449992020-05-18 22:31:24531 source_set("weblayer_android_test_jni_impl") {
532 testonly = true
533 sources = [ "browser/test/test_weblayer_impl.cc" ]
534 deps = [
535 ":weblayer_lib_base",
536 "//base",
537 "//content/public/browser",
538 "//content/test:test_support",
539 "//testing/gtest",
540 "//weblayer/browser/java:test_jni",
541 ]
542 }
543
Clark DuVallf0d5718a2020-03-13 17:17:55544 # Lib used in standalone WebView which allows manual JNI registration.
545 static_library("weblayer_lib_webview") {
546 public_deps = [ ":weblayer_lib_base" ]
547 deps = [
548 "//base",
549 "//weblayer/browser/java:jni",
550 "//weblayer/browser/java:weblayer_jni_registration",
551 ]
552 sources = [
553 "$target_gen_dir/browser/java/weblayer_jni_registration.h",
554 "browser/web_view_compatibility_helper_impl.cc",
555 "browser/web_view_compatibility_helper_impl.h",
556 ]
557 defines = [ "WEBLAYER_MANUAL_JNI_REGISTRATION" ]
558
559 # Explicit dependency required for JNI registration to be able to
560 # find the native side functions.
561 if (is_component_build) {
562 deps += [
563 "//device/gamepad",
564 "//media/midi",
565 "//ui/events/devices",
566 ]
567 }
568 }
569
Scott Violet5b449992020-05-18 22:31:24570 static_library("weblayer_lib_webview_test") {
571 testonly = true
572 public_deps = [ ":weblayer_lib_base" ]
573 deps = [
574 ":weblayer_android_test_jni_impl",
575 "//base",
576 "//weblayer/browser/java:jni",
577 "//weblayer/browser/java:weblayer_jni_registration",
578 ]
579 sources = [
580 "$target_gen_dir/browser/java/weblayer_jni_registration.h",
581 "browser/web_view_compatibility_helper_impl.cc",
582 "browser/web_view_compatibility_helper_impl.h",
583 ]
584 defines = [ "WEBLAYER_MANUAL_JNI_REGISTRATION" ]
585
586 # Explicit dependency required for JNI registration to be able to
587 # find the native side functions.
588 if (is_component_build) {
589 deps += [
590 "//device/gamepad",
591 "//media/midi",
592 "//ui/events/devices",
593 ]
594 }
595 }
596
Clark DuVallf0d5718a2020-03-13 17:17:55597 # Lib used in Monochrome which does not support manual JNI registration.
598 # Separate from the standalone WebView version to reduce APK size.
599 static_library("weblayer_lib") {
600 public_deps = [ ":weblayer_lib_base" ]
601 deps = [ "//weblayer/browser/java:jni" ]
602 sources = [
603 "browser/web_view_compatibility_helper_impl.cc",
604 "browser/web_view_compatibility_helper_impl.h",
605 ]
606 }
Scott Violet5b449992020-05-18 22:31:24607
608 shared_library("libweblayer_test") {
609 testonly = true
610 sources = [ "app/entry_point.cc" ]
611 deps = [
612 ":weblayer_lib_webview_test",
613 "//base",
614 "//content/public/app",
615 ]
616 configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
617 configs += [ "//build/config/android:hide_all_but_jni" ]
618 }
Clark DuVallf0d5718a2020-03-13 17:17:55619} else {
620 source_set("weblayer_lib") {
621 public_deps = [ ":weblayer_lib_base" ]
622 }
623}
624
Clark DuVall1644dbe2019-09-19 17:16:47625grit("resources") {
626 source = "weblayer_resources.grd"
627
Clark DuVall1644dbe2019-09-19 17:16:47628 outputs = [
629 "grit/weblayer_resources.h",
630 "weblayer_resources.pak",
631 ]
632 grit_flags = [
633 "-E",
634 "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
635 ]
Nico Weber4f38eb72020-01-14 03:47:52636 deps = [ "//weblayer/browser/webui:mojo_bindings_js" ]
Clark DuVall1644dbe2019-09-19 17:16:47637}
John Abd-El-Malek402a13f2019-08-23 07:06:40638# TODO(jam): move weblayer_shell_resources_grit and copy_shell_resources here in
639# a way that's shareable?