Commit a2897b6b authored by Christopher Grant's avatar Christopher Grant Committed by Commit Bot

Webview: Add a pure 32-bit Webview target on 64-bit configs

This should have been added along with Monochrome32 and Trichrome32.
The intent is to be able to build anything that used to use APK merging,
on a 64-bit build config. Adding this target should make this possible.

Bug: 1027573
Change-Id: I43da067abed0fec524841faf9cb086d22a1c71ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1964534
Commit-Queue: Christopher Grant <cjgrant@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Reviewed-by: default avatarRichard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#724602}
parent 2cba7fba
......@@ -24,14 +24,30 @@ if (enable_resource_whitelist_generation) {
}
if (public_android_sdk) {
template("standalone_system_webview_apk_tmpl") {
system_webview_apk_tmpl(target_name) {
forward_variables_from(invoker, "*")
android_manifest = system_webview_android_manifest
android_manifest_dep =
"//android_webview/nonembedded:system_webview_manifest"
deps = upstream_only_webview_deps
min_sdk_version = 21
}
}
# Standalone WebView APK.
system_webview_apk_tmpl("system_webview_apk") {
android_manifest = system_webview_android_manifest
android_manifest_dep =
"//android_webview/nonembedded:system_webview_manifest"
deps = upstream_only_webview_deps
standalone_system_webview_apk_tmpl("system_webview_apk") {
apk_name = "SystemWebView"
min_sdk_version = 21
}
if (android_64bit_target_cpu) {
# This target builds a 32-bit only Webview on a 64-bit config, analogous to
# what's built on a 32-bit config. This lets all Webviews build on a single
# configuration.
standalone_system_webview_apk_tmpl("system_webview_32_apk") {
apk_name = "SystemWebView32"
include_64_bit_webview = false
}
}
android_resource_sizes_test("resource_sizes_system_webview_apk") {
......@@ -618,17 +634,15 @@ if (android_64bit_target_cpu) {
}
}
android_assets("standalone_webview_assets") {
deps = [
"//third_party/icu:icu_assets",
]
android_assets("webview_primary_abi_assets") {
if (use_v8_context_snapshot) {
deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
deps = [
"//tools/v8_context_snapshot:v8_context_snapshot_assets",
]
} else {
deps += [ "//v8:v8_external_startup_data_assets" ]
}
if (android_64bit_target_cpu) {
deps += [ ":v8_snapshot_secondary_abi_assets" ]
deps = [
"//v8:v8_external_startup_data_assets",
]
}
}
......@@ -644,6 +658,12 @@ android_assets("monochrome_webview_primary_abi_assets") {
}
if (android_64bit_target_cpu) {
android_assets("webview_secondary_abi_assets") {
deps = [
":v8_snapshot_secondary_abi_assets",
]
}
android_assets("monochrome_webview_secondary_abi_assets") {
deps = [
"//third_party/icu:icu_assets",
......@@ -652,6 +672,16 @@ if (android_64bit_target_cpu) {
}
}
android_assets("weblayer_webview_assets") {
deps = [
":webview_primary_abi_assets",
"//third_party/icu:icu_assets",
]
if (android_64bit_target_cpu) {
deps += [ ":webview_secondary_abi_assets" ]
}
}
android_assets("stub_assets") {
renaming_sources = [ "$root_gen_dir/components/resources/about_credits.html" ]
renaming_destinations = [ "webview_licenses.notice" ]
......
......@@ -55,22 +55,27 @@ template("system_webview_apk_tmpl") {
_use_trichrome_library =
defined(use_trichrome_library) && use_trichrome_library
if (!_use_trichrome_library) {
deps += [ "//android_webview:standalone_webview_assets" ]
}
# Pure 32-bit implies a 32-bit only Webview built on a 64-bit configuration.
_pure_32_bit =
android_64bit_target_cpu && defined(invoker.include_64_bit_webview) &&
!invoker.include_64_bit_webview
not_needed([ "_pure_32_bit" ])
# Flag whether additional deps and libs should be included for each ABI.
_include_primary_support = false
_include_secondary_support = false
if (!_use_trichrome_library) {
shared_libraries = [ "//android_webview:libwebviewchromium" ]
_include_primary_support = true
shared_resources = true
if (!android_64bit_target_cpu || !_pure_32_bit) {
shared_libraries = [ "//android_webview:libwebviewchromium" ]
_include_primary_support = true
}
if (android_64bit_target_cpu) {
secondary_abi_shared_libraries = [ "//android_webview:libwebviewchromium($android_secondary_abi_toolchain)" ]
_include_secondary_support = true
}
deps += [ "//third_party/icu:icu_assets" ]
shared_resources = true
} else {
uncompress_shared_libraries = true
app_as_shared_lib = true
......@@ -82,19 +87,12 @@ template("system_webview_apk_tmpl") {
native_lib_placeholders = [ "libdummy.so" ]
if (invoker.include_32_bit_webview) {
secondary_abi_shared_libraries = [ "//android_webview:monochrome_64($android_secondary_abi_toolchain)" ]
deps += [ "//android_webview:v8_snapshot_secondary_abi_assets" ]
_include_secondary_support = true
}
} else {
if (invoker.include_64_bit_webview) {
shared_libraries = [ "//android_webview:monochrome" ]
_include_primary_support = true
if (use_v8_context_snapshot) {
deps +=
[ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
} else {
deps += [ "//v8:v8_external_startup_data_assets" ]
}
}
secondary_native_lib_placeholders = [ "libdummy.so" ]
}
......@@ -105,13 +103,17 @@ template("system_webview_apk_tmpl") {
if (_include_primary_support) {
deps += [
"//android_webview:webview_primary_abi_assets",
"//third_party/crashpad/crashpad/handler:crashpad_handler_trampoline",
]
loadable_modules = [ "$root_out_dir/libcrashpad_handler_trampoline.so" ]
}
if (_include_secondary_support) {
_trampoline = "//third_party/crashpad/crashpad/handler:crashpad_handler_trampoline($android_secondary_abi_toolchain)"
deps += [ _trampoline ]
deps += [
"//android_webview:webview_secondary_abi_assets",
_trampoline,
]
_secondary_out_dir = get_label_info(_trampoline, "root_out_dir")
secondary_abi_loadable_modules =
[ "$_secondary_out_dir/libcrashpad_handler_trampoline.so" ]
......@@ -180,12 +182,26 @@ template("system_webview_apk_tmpl") {
} else {
version_code = trichrome_version_code
}
} else if (android_channel == "dev") {
version_code = webview_dev_version_code
} else if (android_channel == "beta") {
version_code = webview_beta_version_code
} else {
version_code = webview_stable_version_code
if (android_channel == "dev") {
if (_pure_32_bit) {
version_code = webview_32_dev_version_code
} else {
version_code = webview_dev_version_code
}
} else if (android_channel == "beta") {
if (_pure_32_bit) {
version_code = webview_32_beta_version_code
} else {
version_code = webview_beta_version_code
}
} else {
if (_pure_32_bit) {
version_code = webview_32_stable_version_code
} else {
version_code = webview_stable_version_code
}
}
}
}
if (!defined(version_name)) {
......
......@@ -90,6 +90,9 @@ _APKS = {
('WEBVIEW_STABLE', 'WEBVIEW_STABLE', '32_64'),
('WEBVIEW_BETA', 'WEBVIEW_BETA', '32_64'),
('WEBVIEW_DEV', 'WEBVIEW_DEV', '32_64'),
('WEBVIEW_32_STABLE', 'WEBVIEW_STABLE', '32'),
('WEBVIEW_32_BETA', 'WEBVIEW_BETA', '32'),
('WEBVIEW_32_DEV', 'WEBVIEW_DEV', '32'),
]
}
......
......@@ -56,7 +56,10 @@ if (is_mac) {
"trichrome_32_version_code = \"@TRICHROME_32_VERSION_CODE@\" " +
"trichrome_32_64_version_code = \"@TRICHROME_32_64_VERSION_CODE@\" " +
"trichrome_64_32_version_code = \"@TRICHROME_64_32_VERSION_CODE@\" " +
"trichrome_64_version_code = \"@TRICHROME_64_VERSION_CODE@\" "
"trichrome_64_version_code = \"@TRICHROME_64_VERSION_CODE@\" " +
"webview_32_stable_version_code = \"@WEBVIEW_32_STABLE_VERSION_CODE@\" " +
"webview_32_beta_version_code = \"@WEBVIEW_32_BETA_VERSION_CODE@\" " +
"webview_32_dev_version_code = \"@WEBVIEW_32_DEV_VERSION_CODE@\" "
}
_script_arguments += [
......@@ -119,6 +122,9 @@ if (is_mac) {
"webview_beta_version_code",
"webview_dev_version_code",
"webview_stable_version_code",
"webview_32_beta_version_code",
"webview_32_dev_version_code",
"webview_32_stable_version_code",
])
chrome_version_name = chrome_version_full
......@@ -144,6 +150,9 @@ if (is_mac) {
"TrichromeChrome3264: $trichrome_32_64_version_code",
"TrichromeChrome6432: $trichrome_64_32_version_code",
"TrichromeChrome64: $trichrome_64_version_code",
"AndroidWebview32Stable: $webview_32_stable_version_code",
"AndroidWebview32Beta: $webview_32_beta_version_code",
"AndroidWebview32Dev: $webview_32_dev_version_code",
]
}
......
......@@ -159,7 +159,7 @@ android_apk("weblayer_support_apk") {
":weblayer_support_manifest",
"//android_webview:locale_pak_assets",
"//android_webview:pak_file_assets",
"//android_webview:standalone_webview_assets",
"//android_webview:weblayer_webview_assets",
"//base:base_java",
"//weblayer:locale_pak_assets",
"//weblayer/browser/java",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment