blob: 79eca5e537c7059b688098c33f5e4e88930c7558 [file] [log] [blame]
Avi Drissman4a6ec7e2022-09-08 20:26:461# Copyright 2019 The Chromium Authors
Clark DuVallebd41cb2019-12-19 23:14:162# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/android/rules.gni")
6import("//build/config/locales.gni")
Sam Maierfb196b22022-09-06 17:48:517import("//components/crash/android/silent_java_assert_reporting.gni")
Andrew Grievefad06ed2023-04-21 02:55:108import("//device/vr/buildflags/buildflags.gni")
Clark DuVallebd41cb2019-12-19 23:14:169
10template("system_webview_bundle") {
Andrew Grievecdcd217b2023-03-14 13:45:3011 _is_trichrome = defined(invoker.is_trichrome) && invoker.is_trichrome
Sky Malice8e9ca1b2023-07-12 21:16:0712
Andrew Grieve5d9b90f2023-03-16 21:09:4713 assert(_is_trichrome == defined(invoker.static_library_provider))
Andrew Grievecdcd217b2023-03-14 13:45:3014
Clark DuVallebd41cb2019-12-19 23:14:1615 android_app_bundle(target_name) {
16 command_line_flags_file = "webview-command-line"
Andrew Grievea8c26a12023-04-28 19:22:2417 if (!is_java_debug) {
18 proguard_enabled = true
19 repackage_classes = "WV"
20 }
Alex Mitra1ffbbb62024-10-22 19:00:0821
22 # TODO(crbug.com/41486995): Set this back to true once split translations
23 # are working again.
24 enable_language_splits = false
Andrew Grievecdcd217b2023-03-14 13:45:3025 if (_is_trichrome) {
26 min_sdk_version = 29
Andrew Grievecdcd217b2023-03-14 13:45:3027 }
Trevor Perrierc8f7da5b2022-02-08 17:29:4628 system_image_locale_allowlist = platform_pak_locales
Andrew Grieve77f78d92025-02-19 23:33:3029 if (android_64bit_target_cpu) {
30 _include_32_bit_webview = !defined(invoker.include_32_bit_webview) ||
31 invoker.include_32_bit_webview
32 _include_64_bit_webview = !defined(invoker.include_64_bit_webview) ||
33 invoker.include_64_bit_webview
34 is_multi_abi = _include_32_bit_webview && _include_64_bit_webview
35 not_needed([ "_include_64_bit_webview" ])
36 if (!defined(android_app_secondary_abi)) {
Andrew Grieve81222772025-03-14 20:01:0037 assert(!is_multi_abi, "target should not be enabled: $target_name")
Andrew Grieve77f78d92025-02-19 23:33:3038 }
39 }
Clark DuVallebd41cb2019-12-19 23:14:1640
41 if (!defined(proguard_android_sdk_dep)) {
42 proguard_android_sdk_dep = webview_framework_dep
43 }
44
Sam Maierfb196b22022-09-06 17:48:5145 if (enable_silent_java_assert_reporting) {
46 custom_assertion_handler = crash_reporting_assertion_handler
47 }
48
Fergal Dalyebb80592022-03-24 03:30:4849 # For this to be respected, it must also be set on the base module target.
50 strip_unused_resources = is_official_build
51
Clark DuVallebd41cb2019-12-19 23:14:1652 forward_variables_from(invoker, "*")
53 }
54}