summaryrefslogtreecommitdiff
path: root/chromium/android_webview
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-07-16 11:45:35 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-07-17 08:59:23 +0000
commit552906b0f222c5d5dd11b9fd73829d510980461a (patch)
tree3a11e6ed0538a81dd83b20cf3a4783e297f26d91 /chromium/android_webview
parent1b05827804eaf047779b597718c03e7d38344261 (diff)
downloadqtwebengine-chromium-552906b0f222c5d5dd11b9fd73829d510980461a.tar.gz
BASELINE: Update Chromium to 83.0.4103.122
Change-Id: Ie3a82f5bb0076eec2a7c6a6162326b4301ee291e Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/android_webview')
-rw-r--r--chromium/android_webview/BUILD.gn498
-rw-r--r--chromium/android_webview/browser/BUILD.gn35
-rw-r--r--chromium/android_webview/browser/gfx/BUILD.gn9
-rw-r--r--chromium/android_webview/browser/lifecycle/BUILD.gn17
-rw-r--r--chromium/android_webview/browser/metrics/BUILD.gn13
-rw-r--r--chromium/android_webview/common/BUILD.gn18
-rw-r--r--chromium/android_webview/common/aw_origin_matcher.mojom10
-rw-r--r--chromium/android_webview/common/js_java_interaction/interfaces.mojom8
-rw-r--r--chromium/android_webview/glue/BUILD.gn4
-rw-r--r--chromium/android_webview/lib/BUILD.gn6
-rw-r--r--chromium/android_webview/nonembedded/BUILD.gn78
-rw-r--r--chromium/android_webview/renderer/BUILD.gn12
-rw-r--r--chromium/android_webview/support_library/BUILD.gn2
-rw-r--r--chromium/android_webview/support_library/boundary_interfaces/BUILD.gn6
-rw-r--r--chromium/android_webview/support_library/callback/BUILD.gn2
-rw-r--r--chromium/android_webview/system_webview_apk_tmpl.gni116
-rw-r--r--chromium/android_webview/system_webview_bundle.gni34
-rw-r--r--chromium/android_webview/test/BUILD.gn119
-rw-r--r--chromium/android_webview/test/embedded_test_server/BUILD.gn6
-rw-r--r--chromium/android_webview/tools/automated_ui_tests/BUILD.gn16
-rw-r--r--chromium/android_webview/tools/system_webview_shell/BUILD.gn51
-rw-r--r--chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn22
-rw-r--r--chromium/android_webview/variables.gni17
23 files changed, 720 insertions, 379 deletions
diff --git a/chromium/android_webview/BUILD.gn b/chromium/android_webview/BUILD.gn
index 153f6c0a2ad..93b9fb2c0e9 100644
--- a/chromium/android_webview/BUILD.gn
+++ b/chromium/android_webview/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//android_webview/system_webview_apk_tmpl.gni")
+import("//android_webview/system_webview_bundle.gni")
import("//android_webview/variables.gni")
import("//android_webview/webview_repack_locales.gni")
import("//build/android/resource_sizes.gni")
@@ -23,63 +24,192 @@ if (enable_resource_whitelist_generation) {
"$target_gen_dir/system_webview_pak_whitelist.txt"
}
-if (public_android_sdk) {
+if (define_upstream_webview_targets) {
+ template("standalone_system_webview_apk_tmpl") {
+ system_webview_apk_or_module_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
+ }
+
+ # This version of the WebView APK doesn't include WebLayer java and resources.
+ # It's used to define the whitelist of resources to be pulled out of language
+ # splits. See |shared_resources_allowlist_target|.
+ standalone_system_webview_apk_tmpl("system_webview_no_weblayer_apk") {
+ exclude_weblayer_java = true
+ apk_name = "SystemWebViewNoWebLayer"
+ }
+
+ if (enable_webview_bundles) {
+ standalone_system_webview_apk_tmpl("system_webview_base_bundle_module") {
+ target_type = "android_app_bundle_module"
+ is_base_module = true
+ }
+
+ system_webview_bundle("system_webview_bundle") {
+ base_module_target = ":system_webview_base_bundle_module"
+ bundle_name = "SystemWebView"
+ min_sdk_version = 21
+ }
+ }
+
+ if (android_64bit_target_cpu) {
+ # These targets 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
+ }
+
+ if (enable_webview_bundles) {
+ standalone_system_webview_apk_tmpl(
+ "system_webview_32_base_bundle_module") {
+ target_type = "android_app_bundle_module"
+ include_64_bit_webview = false
+ is_base_module = true
+ }
+
+ system_webview_bundle("system_webview_32_bundle") {
+ base_module_target = ":system_webview_32_base_bundle_module"
+ bundle_name = "SystemWebView32"
+ include_64_bit_webview = false
+ min_sdk_version = 21
+ }
+ }
}
android_resource_sizes_test("resource_sizes_system_webview_apk") {
apk_name = "SystemWebView"
- data_deps = [
- ":system_webview_apk",
- ]
+ data_deps = [ ":system_webview_apk" ]
}
# Trichrome WebView APK.
- system_webview_apk_tmpl("trichrome_webview_apk") {
- android_manifest = trichrome_webview_android_manifest
- android_manifest_dep =
- "//android_webview/nonembedded:trichrome_webview_manifest"
- min_sdk_version = 29
+ template("trichrome_webview_tmpl") {
+ system_webview_apk_or_module_tmpl(target_name) {
+ forward_variables_from(invoker, "*")
+ android_manifest = trichrome_webview_android_manifest
+ android_manifest_dep =
+ "//android_webview/nonembedded:trichrome_webview_manifest"
+ min_sdk_version = 29
- deps = upstream_only_webview_deps
- apk_name = "TrichromeWebView"
- use_trichrome_library = true
+ deps = upstream_only_webview_deps
+ use_trichrome_library = true
- if (android_64bit_target_cpu) {
- is_64_bit_browser = false
- include_64_bit_webview = true
+ if (android_64bit_target_cpu) {
+ is_64_bit_browser = false
+ include_64_bit_webview = true
+ }
+ static_library_provider = "//chrome/android:trichrome_library_apk"
}
+ }
+ trichrome_webview_tmpl("trichrome_webview_apk") {
+ apk_name = "TrichromeWebView"
uncompress_dex = true
- if (trichrome_synchronized_proguard) {
+ if (!is_java_debug) {
+ static_library_synchronized_proguard = trichrome_synchronized_proguard
+ }
+ }
+
+ if (enable_webview_bundles) {
+ trichrome_webview_tmpl("trichrome_webview_base_bundle_module") {
+ target_type = "android_app_bundle_module"
+ is_base_module = true
+ }
+
+ system_webview_bundle("trichrome_webview_bundle") {
+ base_module_target = ":trichrome_webview_base_bundle_module"
+ bundle_name = "TrichromeWebView"
+ uncompress_dex = true
+ min_sdk_version = 29
static_library_provider = "//chrome/android:trichrome_library_apk"
}
}
# Trichrome WebView APK for a 64-bit Chrome.
if (android_64bit_target_cpu) {
- system_webview_apk_tmpl("trichrome_webview_64_32_apk") {
- android_manifest = trichrome_webview_64_32_android_manifest
- android_manifest_dep =
- "//android_webview/nonembedded:trichrome_webview_64_32_manifest"
- use_trichrome_library = true
- is_64_bit_browser = true
- include_32_bit_webview = true
-
- min_sdk_version = 29
+ template("trichrome_webview_64_32_tmpl") {
+ system_webview_apk_or_module_tmpl(target_name) {
+ forward_variables_from(invoker, "*")
+ android_manifest = trichrome_webview_64_32_android_manifest
+ android_manifest_dep =
+ "//android_webview/nonembedded:trichrome_webview_64_32_manifest"
+ use_trichrome_library = true
+ is_64_bit_browser = true
+ include_32_bit_webview = true
+
+ min_sdk_version = 29
+
+ deps = upstream_only_webview_deps
+ static_library_provider = "//chrome/android:trichrome_library_64_32_apk"
+ }
+ }
- deps = upstream_only_webview_deps
+ trichrome_webview_64_32_tmpl("trichrome_webview_64_32_apk") {
apk_name = "TrichromeWebView6432"
uncompress_dex = true
- if (trichrome_synchronized_proguard) {
- static_library_provider = "//chrome/android:trichrome_library_apk"
+ }
+
+ if (enable_webview_bundles) {
+ trichrome_webview_64_32_tmpl(
+ "trichrome_webview_64_32_base_bundle_module") {
+ target_type = "android_app_bundle_module"
+ is_base_module = true
+ }
+
+ system_webview_bundle("trichrome_webview_64_32_bundle") {
+ base_module_target = ":trichrome_webview_64_32_base_bundle_module"
+ bundle_name = "TrichromeWebView6432"
+ uncompress_dex = true
+ min_sdk_version = 29
+ static_library_provider = "//chrome/android:trichrome_library_64_32_apk"
+ }
+ }
+
+ template("trichrome_webview_32_tmpl") {
+ system_webview_apk_or_module_tmpl(target_name) {
+ forward_variables_from(invoker, "*")
+ android_manifest = trichrome_webview_32_android_manifest
+ android_manifest_dep =
+ "//android_webview/nonembedded:trichrome_webview_32_manifest"
+ use_trichrome_library = true
+ is_64_bit_browser = false
+ include_64_bit_webview = false
+
+ min_sdk_version = 29
+
+ deps = upstream_only_webview_deps
+ static_library_provider = "//chrome/android:trichrome_library_32_apk"
+ }
+ }
+
+ trichrome_webview_32_tmpl("trichrome_webview_32_apk") {
+ apk_name = "TrichromeWebView32"
+ uncompress_dex = true
+ }
+
+ if (enable_webview_bundles) {
+ trichrome_webview_32_tmpl("trichrome_webview_32_base_bundle_module") {
+ target_type = "android_app_bundle_module"
+ is_base_module = true
+ }
+
+ system_webview_bundle("trichrome_webview_32_bundle") {
+ base_module_target = ":trichrome_webview_32_base_bundle_module"
+ bundle_name = "TrichromeWebView32"
+ uncompress_dex = true
+ min_sdk_version = 29
+ static_library_provider = "//chrome/android:trichrome_library_32_apk"
}
}
}
@@ -139,11 +269,7 @@ if (defined(android_secondary_abi_toolchain)) {
}
}
-# Contains all Java dependencies used by WebView.
-# TODO(crbug.com/934152): Rename this to android_webview_java. It has a
-# temporary name because GN doesn't allow the direction
-# of existing dependencies to be reversed.
-java_group("android_webview_step1_java") {
+java_group("android_webview_no_weblayer_java") {
deps = [
":browser_java",
@@ -155,6 +281,11 @@ java_group("android_webview_step1_java") {
"//android_webview/nonembedded:nonembedded_java",
"//android_webview/support_library:support_lib_glue_java",
]
+}
+
+# Contains all Java dependencies used by WebView.
+java_group("android_webview_java") {
+ deps = [ ":android_webview_no_weblayer_java" ]
if (webview_includes_weblayer) {
deps += [
@@ -194,6 +325,7 @@ generate_jni("browser_jni_headers") {
"java/src/org/chromium/android_webview/AwFeatureList.java",
"java/src/org/chromium/android_webview/AwFormDatabase.java",
"java/src/org/chromium/android_webview/AwHttpAuthHandler.java",
+ "java/src/org/chromium/android_webview/AwPacProcessor.java",
"java/src/org/chromium/android_webview/AwPdfExporter.java",
"java/src/org/chromium/android_webview/AwProxyController.java",
"java/src/org/chromium/android_webview/AwQuotaManagerBridge.java",
@@ -208,18 +340,18 @@ generate_jni("browser_jni_headers") {
"java/src/org/chromium/android_webview/JsReplyProxy.java",
"java/src/org/chromium/android_webview/PopupTouchHandleDrawable.java",
"java/src/org/chromium/android_webview/WebMessageListenerHolder.java",
+ "java/src/org/chromium/android_webview/WebMessageListenerInfo.java",
"java/src/org/chromium/android_webview/gfx/AwDrawFnImpl.java",
"java/src/org/chromium/android_webview/gfx/AwGLFunctor.java",
"java/src/org/chromium/android_webview/gfx/AwPicture.java",
"java/src/org/chromium/android_webview/gfx/JavaBrowserViewRendererHelper.java",
- "java/src/org/chromium/android_webview/metrics/AwMetricsLogUploader.java",
+ "java/src/org/chromium/android_webview/gfx/RootBeginFrameSourceWebView.java",
"java/src/org/chromium/android_webview/metrics/AwMetricsServiceClient.java",
"java/src/org/chromium/android_webview/permission/AwPermissionRequest.java",
+ "java/src/org/chromium/android_webview/safe_browsing/AwSafeBrowsingConfigHelper.java",
]
- deps = [
- ":cancellation_signal_android_jar_jni_headers",
- ]
+ deps = [ ":cancellation_signal_android_jar_jni_headers" ]
}
generate_jar_jni("cancellation_signal_android_jar_jni_headers") {
@@ -227,14 +359,10 @@ generate_jar_jni("cancellation_signal_android_jar_jni_headers") {
}
android_library("browser_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/android_webview/AndroidProtocolHandler.java",
- "java/src/org/chromium/android_webview/AutofillActionModeCallback.java",
"java/src/org/chromium/android_webview/AwActionModeCallback.java",
"java/src/org/chromium/android_webview/AwAutofillClient.java",
- "java/src/org/chromium/android_webview/AwAutofillManager.java",
- "java/src/org/chromium/android_webview/AwAutofillProvider.java",
- "java/src/org/chromium/android_webview/AwAutofillUMA.java",
"java/src/org/chromium/android_webview/AwBrowserContext.java",
"java/src/org/chromium/android_webview/AwBrowserProcess.java",
"java/src/org/chromium/android_webview/AwConsoleMessage.java",
@@ -247,10 +375,11 @@ android_library("browser_java") {
"java/src/org/chromium/android_webview/AwContentsLifecycleNotifier.java",
"java/src/org/chromium/android_webview/AwContentsStatics.java",
"java/src/org/chromium/android_webview/AwCookieManager.java",
+ "java/src/org/chromium/android_webview/AwDataDirLock.java",
"java/src/org/chromium/android_webview/AwDebug.java",
"java/src/org/chromium/android_webview/AwDevToolsServer.java",
- "java/src/org/chromium/android_webview/AwFeatures.java",
"java/src/org/chromium/android_webview/AwFeatureList.java",
+ "java/src/org/chromium/android_webview/AwFeatures.java",
"java/src/org/chromium/android_webview/AwFirebaseConfig.java",
"java/src/org/chromium/android_webview/AwFormDatabase.java",
"java/src/org/chromium/android_webview/AwGeolocationPermissions.java",
@@ -258,6 +387,7 @@ android_library("browser_java") {
"java/src/org/chromium/android_webview/AwHttpAuthHandler.java",
"java/src/org/chromium/android_webview/AwLayoutSizer.java",
"java/src/org/chromium/android_webview/AwNetworkChangeNotifierRegistrationPolicy.java",
+ "java/src/org/chromium/android_webview/AwPacProcessor.java",
"java/src/org/chromium/android_webview/AwPdfExporter.java",
"java/src/org/chromium/android_webview/AwPrintDocumentAdapter.java",
"java/src/org/chromium/android_webview/AwProxyController.java",
@@ -270,7 +400,6 @@ android_library("browser_java") {
"java/src/org/chromium/android_webview/AwServiceWorkerSettings.java",
"java/src/org/chromium/android_webview/AwSettings.java",
"java/src/org/chromium/android_webview/AwSupportLibIsomorphic.java",
- "java/src/org/chromium/android_webview/AwSwitches.java",
"java/src/org/chromium/android_webview/AwTracingController.java",
"java/src/org/chromium/android_webview/AwVariationsSeedBridge.java",
"java/src/org/chromium/android_webview/AwViewAndroidDelegate.java",
@@ -302,28 +431,28 @@ android_library("browser_java") {
"java/src/org/chromium/android_webview/ViewPositionObserver.java",
"java/src/org/chromium/android_webview/WebMessageListener.java",
"java/src/org/chromium/android_webview/WebMessageListenerHolder.java",
+ "java/src/org/chromium/android_webview/WebMessageListenerInfo.java",
"java/src/org/chromium/android_webview/WebViewChromiumRunQueue.java",
"java/src/org/chromium/android_webview/gfx/AwDrawFnImpl.java",
"java/src/org/chromium/android_webview/gfx/AwFunctor.java",
"java/src/org/chromium/android_webview/gfx/AwGLFunctor.java",
"java/src/org/chromium/android_webview/gfx/AwPicture.java",
"java/src/org/chromium/android_webview/gfx/JavaBrowserViewRendererHelper.java",
- "java/src/org/chromium/android_webview/metrics/AwMetricsLogUploader.java",
+ "java/src/org/chromium/android_webview/gfx/RootBeginFrameSourceWebView.java",
"java/src/org/chromium/android_webview/metrics/AwMetricsServiceClient.java",
- "java/src/org/chromium/android_webview/safe_browsing/AwSafeBrowsingConfigHelper.java",
- "java/src/org/chromium/android_webview/safe_browsing/AwSafeBrowsingConversionHelper.java",
- "java/src/org/chromium/android_webview/safe_browsing/AwSafeBrowsingResponse.java",
"java/src/org/chromium/android_webview/permission/AwGeolocationCallback.java",
"java/src/org/chromium/android_webview/permission/AwPermissionRequest.java",
"java/src/org/chromium/android_webview/policy/AwPolicyProvider.java",
+ "java/src/org/chromium/android_webview/safe_browsing/AwSafeBrowsingConfigHelper.java",
+ "java/src/org/chromium/android_webview/safe_browsing/AwSafeBrowsingConversionHelper.java",
+ "java/src/org/chromium/android_webview/safe_browsing/AwSafeBrowsingResponse.java",
]
deps = [
":common_aidl_java",
- ":common_commandline_java",
":common_crash_java",
":common_java",
":common_platform_services_java",
- ":common_variations_utils_java",
+ ":common_variations_java",
":resources",
"//android_webview/nonembedded:system_webview_manifest",
"//base:base_java",
@@ -334,7 +463,9 @@ android_library("browser_java") {
"//components/content_capture/android:java",
"//components/crash/android:handler_java",
"//components/crash/android:java",
+ "//components/embedder_support/android:util_java",
"//components/embedder_support/android:web_contents_delegate_java",
+ "//components/embedder_support/android/metrics:java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/navigation_interception/android:navigation_interception_java",
"//components/policy/android:policy_java",
@@ -352,6 +483,7 @@ android_library("browser_java") {
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/blink/public:blink_headers_java",
"//ui/android:ui_java",
+ "//url:gurl_java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
@@ -361,20 +493,23 @@ android_library("browser_java") {
srcjar_deps = [
"//android_webview/browser:browser_enums",
- "//components/safe_browsing/db:sb_threat_values",
+ "//components/safe_browsing/core/db:sb_threat_values",
]
android_manifest_for_lint = system_webview_android_manifest
min_sdk_version = 21
}
-android_library("common_variations_utils_java") {
- java_files = [ "java/src/org/chromium/android_webview/common/variations/VariationsUtils.java" ]
+android_library("common_variations_java") {
+ sources = [
+ "java/src/org/chromium/android_webview/common/variations/VariationsServiceMetricsHelper.java",
+ "java/src/org/chromium/android_webview/common/variations/VariationsUtils.java",
+ ]
deps = [
"//android_webview/proto:aw_variations_seed_proto_java",
"//base:base_java",
"//components/variations/android:variations_java",
- "//third_party/android_deps:com_google_protobuf_protobuf_lite_java",
+ "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java",
]
}
@@ -382,13 +517,14 @@ android_library("common_variations_utils_java") {
# android_webview_java. It compiles the abstract class; implementations are
# compiled separately.
android_library("common_platform_services_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/android_webview/common/PlatformServiceBridge.java",
"java/src/org/chromium/android_webview/common/PlatformServiceBridgeImpl.java",
]
deps = [
"//base:base_java",
+ "//components/embedder_support/android/metrics:java",
"//third_party/android_deps:androidx_annotation_annotation_java",
]
@@ -400,30 +536,37 @@ android_library("common_platform_services_java") {
# This target compiles the implementation of PlatformServiceBridge for AOSP targets.
android_library("platform_service_bridge_upstream_implementation_java") {
- java_files = [ "java/src/org/chromium/android_webview/common/PlatformServiceBridgeImpl.java" ]
- deps = [
- ":common_platform_services_java",
- ]
+ sources = [ "java/src/org/chromium/android_webview/common/PlatformServiceBridgeImpl.java" ]
+ deps = [ ":common_platform_services_java" ]
}
android_library("common_crash_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/android_webview/common/crash/AwCrashReporterClient.java",
"java/src/org/chromium/android_webview/common/crash/CrashInfo.java",
+ "java/src/org/chromium/android_webview/common/crash/CrashUploadUtil.java",
"java/src/org/chromium/android_webview/common/crash/SystemWideCrashDirectories.java",
]
deps = [
+ ":common_java",
"//base:base_java",
"//base:jni_java",
+ "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
+ "//components/minidump_uploader:minidump_uploader_java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
+ min_sdk_version = 21
}
android_library("common_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/android_webview/common/AwResource.java",
+ "java/src/org/chromium/android_webview/common/AwSwitches.java",
+ "java/src/org/chromium/android_webview/common/CommandLineUtil.java",
+ "java/src/org/chromium/android_webview/common/DeveloperModeUtils.java",
"java/src/org/chromium/android_webview/common/Flag.java",
+ "java/src/org/chromium/android_webview/common/FlagOverrideHelper.java",
"java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java",
"java/src/org/chromium/android_webview/common/services/ServiceNames.java",
]
@@ -433,21 +576,13 @@ android_library("common_java") {
]
}
-android_library("common_commandline_java") {
- java_files =
- [ "java/src/org/chromium/android_webview/common/CommandLineUtil.java" ]
-
- deps = [
- "//base:base_java",
- ]
-}
-
android_aidl("common_aidl") {
import_include = [ "java/src" ]
sources = [
"java/src/org/chromium/android_webview/common/services/ICrashReceiverService.aidl",
"java/src/org/chromium/android_webview/common/services/IDeveloperUiService.aidl",
"java/src/org/chromium/android_webview/common/services/IVariationsSeedServer.aidl",
+ "java/src/org/chromium/android_webview/common/services/IVariationsSeedServerCallback.aidl",
]
}
@@ -466,19 +601,16 @@ generate_product_config_srcjar("webview_product_config") {
# level - with the list of pak locales populated by looking at the assets that
# are listed in the final APK's .build_config.
android_library("android_webview_product_config_java") {
- java_files = [ "java/src/org/chromium/android_webview/AwLocaleConfig.java" ]
+ sources = [ "java/src/org/chromium/android_webview/AwLocaleConfig.java" ]
srcjar_deps = [ ":webview_product_config" ]
jar_excluded_patterns = [ "*/ProductConfig.class" ]
}
if (enable_resource_whitelist_generation) {
generate_resource_whitelist("system_webview_pak_whitelist") {
- deps = [
- ":libwebviewchromium",
- ]
- inputs = [
- "$root_out_dir/lib.unstripped/libwebviewchromium$shlib_extension",
- ]
+ deps = [ ":libwebviewchromium" ]
+ inputs =
+ [ "$root_out_dir/lib.unstripped/libwebviewchromium$shlib_extension" ]
output = system_webview_pak_whitelist
}
}
@@ -489,9 +621,7 @@ webview_repack_locales("repack_locales") {
if (enable_resource_whitelist_generation) {
repack_whitelist = system_webview_pak_whitelist
- deps = [
- ":system_webview_pak_whitelist",
- ]
+ deps = [ ":system_webview_pak_whitelist" ]
}
}
@@ -504,9 +634,7 @@ android_assets("locale_pak_assets") {
renaming_destinations += [ "stored-locales/$_locale.pak" ]
}
treat_as_locale_paks = true
- deps = [
- ":repack_locales",
- ]
+ deps = [ ":repack_locales" ]
}
repack("repack_pack") {
@@ -524,7 +652,7 @@ repack("repack_pack") {
":generate_components_resources",
":generate_mojo_resources",
":generate_webui_resources",
- "//content:resources",
+ "//content:content_resources",
"//net:net_resources",
"//third_party/blink/public:resources",
]
@@ -594,36 +722,60 @@ if (android_64bit_target_cpu) {
}
}
-# These assets are needed by both monochrome and stand alone WebView, but not by
-# Chrome or TrichromeWebView.
-android_assets("monochrome_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" ]
+ } else {
+ deps = [ "//v8:v8_external_startup_data_assets" ]
+ }
+}
+
+android_assets("monochrome_webview_primary_abi_assets") {
+ deps = [ "//third_party/icu:icu_assets" ]
if (use_v8_context_snapshot) {
deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
} else {
deps += [ "//v8:v8_external_startup_data_assets" ]
}
- if (android_64bit_target_cpu) {
+}
+
+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" ]
deps += [ ":v8_snapshot_secondary_abi_assets" ]
}
}
+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" ]
- deps = [
- "//components/resources:about_credits",
- ]
+ deps = [ "//components/resources:about_credits" ]
}
android_resources("resources") {
- resource_dirs = [ "java/res" ]
- custom_package = "org.chromium.android_webview"
- deps = [
- ":strings_grd",
+ sources = [
+ "java/res/drawable-hdpi/ic_play_circle_outline_black_48dp.png",
+ "java/res/drawable-mdpi/ic_play_circle_outline_black_48dp.png",
+ "java/res/drawable-xhdpi/ic_play_circle_outline_black_48dp.png",
+ "java/res/drawable-xxhdpi/ic_play_circle_outline_black_48dp.png",
+ "java/res/drawable-xxxhdpi/ic_play_circle_outline_black_48dp.png",
]
+ custom_package = "org.chromium.android_webview"
+ deps = [ ":strings_grd" ]
}
grit("generate_aw_resources") {
@@ -636,9 +788,7 @@ grit("generate_aw_resources") {
grit("generate_aw_strings") {
source = "ui/aw_strings.grd"
- outputs = [
- "grit/aw_strings.h",
- ]
+ outputs = [ "grit/aw_strings.h" ]
foreach(_locale, locales) {
outputs += [ "aw_strings_${_locale}.pak" ]
}
@@ -647,18 +797,15 @@ grit("generate_aw_strings") {
grit("generate_webui_resources") {
source = "../ui/webui/resources/webui_resources.grd"
- # The .grd contains references to generated files.
- source_is_generated = true
-
- # webui/resources has way too many resources. The whitelist is trim this down
+ # webui/resources has way too many resources. The allowlist is trim this down
# to a reasonable size
- _whitelist = "ui/grit_resources_whitelist.txt"
- inputs = [
- _whitelist,
- ]
+ _allowlist = "ui/grit_resources_allowlist.txt"
+ inputs = [ _allowlist ]
grit_flags = [
"-w",
- rebase_path(_whitelist, root_build_dir),
+ rebase_path(_allowlist, root_build_dir),
+ "-E",
+ "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
]
outputs = [
"grit/webui_resources.h",
@@ -666,22 +813,22 @@ grit("generate_webui_resources") {
"grit/webui_resources_map.h",
"webui_resources.pak",
]
+ deps = [
+ "//ui/webui/resources/js:modulize",
+ "//ui/webui/resources/js/cr:modulize",
+ "//ui/webui/resources/js/cr/ui:modulize",
+ ]
}
grit("generate_mojo_resources") {
source = "../mojo/public/js/mojo_bindings_resources.grd"
- # The .grd contains references to generated files.
- source_is_generated = true
-
- # See :generate_webui_resources for an explanation of the whitelist
- _whitelist = "ui/grit_resources_whitelist.txt"
- inputs = [
- _whitelist,
- ]
+ # See :generate_webui_resources for an explanation of the allowlist
+ _allowlist = "ui/grit_resources_allowlist.txt"
+ inputs = [ _allowlist ]
grit_flags = [
"-w",
- rebase_path(_whitelist, root_build_dir),
+ rebase_path(_allowlist, root_build_dir),
"-E",
"root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
]
@@ -693,30 +840,29 @@ grit("generate_mojo_resources") {
]
deps = [
"//mojo/public/js:bindings_lite",
+ "//mojo/public/mojom/base:base_js",
]
}
grit("generate_components_resources") {
+ # Note that dev_ui_components_resources.grd is Chrome-only, so excluded.
source = "../components/resources/components_resources.grd"
- # The .grd contains references to generated files.
- source_is_generated = true
-
use_brotli = true
- # See :generate_webui_resources for an explanation of the whitelist
- _whitelist = "ui/grit_resources_whitelist.txt"
- inputs = [
- _whitelist,
- ]
+ # See :generate_webui_resources for an explanation of the allowlist
+ _allowlist = "ui/grit_resources_allowlist.txt"
+ inputs = [ _allowlist ]
_about_credits_file = get_label_info("//components/resources",
"target_gen_dir") + "/about_credits.html"
grit_flags = [
"-w",
- rebase_path(_whitelist, root_build_dir),
+ rebase_path(_allowlist, root_build_dir),
"-E",
"about_credits_file=" + rebase_path(_about_credits_file, root_build_dir),
+ "-E",
+ "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
]
outputs = [
"grit/components_resources.h",
@@ -725,6 +871,7 @@ grit("generate_components_resources") {
deps = [
"//components/resources:about_credits",
+ "//components/resources/ssl/ssl_error_assistant:make_ssl_error_assistant_protobuf",
]
}
@@ -733,75 +880,24 @@ grit("generate_components_strings") {
# components_strings contains strings from all components. WebView
# will never display most of them, so we try to limit the included
- # strings. This whitelist trims about 50% more than the compile-based
- # whitelist generated by :system_webview_pak_whitelist.
- whitelist = rebase_path("ui/grit_strings_whitelist.txt", root_build_dir)
- inputs = [
- "//android_webview/ui/grit_strings_whitelist.txt",
- ]
+ # strings. This allowlist trims about 50% more than the compile-based
+ # allowlist generated by :system_webview_pak_whitelist.
+ _allowlist = rebase_path("ui/grit_strings_allowlist.txt", root_build_dir)
+ inputs = [ "//android_webview/ui/grit_strings_allowlist.txt" ]
grit_flags = [
"-w",
- whitelist,
- ]
- outputs = [
- "grit/components_strings.h",
- "java/res/values-am/components_strings.xml",
- "java/res/values-ar/components_strings.xml",
- "java/res/values-bg/components_strings.xml",
- "java/res/values-bn/components_strings.xml",
- "java/res/values-ca/components_strings.xml",
- "java/res/values-cs/components_strings.xml",
- "java/res/values-da/components_strings.xml",
- "java/res/values-de/components_strings.xml",
- "java/res/values-el/components_strings.xml",
- "java/res/values-en-rGB/components_strings.xml",
- "java/res/values-es/components_strings.xml",
- "java/res/values-es-rUS/components_strings.xml",
- "java/res/values-et/components_strings.xml",
- "java/res/values-fa/components_strings.xml",
- "java/res/values-fi/components_strings.xml",
- "java/res/values-fr/components_strings.xml",
- "java/res/values-gu/components_strings.xml",
- "java/res/values-hi/components_strings.xml",
- "java/res/values-hr/components_strings.xml",
- "java/res/values-hu/components_strings.xml",
- "java/res/values-in/components_strings.xml",
- "java/res/values-it/components_strings.xml",
- "java/res/values-iw/components_strings.xml",
- "java/res/values-ja/components_strings.xml",
- "java/res/values-kn/components_strings.xml",
- "java/res/values-ko/components_strings.xml",
- "java/res/values-lt/components_strings.xml",
- "java/res/values-lv/components_strings.xml",
- "java/res/values-ml/components_strings.xml",
- "java/res/values-mr/components_strings.xml",
- "java/res/values-ms/components_strings.xml",
- "java/res/values-nb/components_strings.xml",
- "java/res/values-nl/components_strings.xml",
- "java/res/values-pl/components_strings.xml",
- "java/res/values-pt-rBR/components_strings.xml",
- "java/res/values-pt-rPT/components_strings.xml",
- "java/res/values-ro/components_strings.xml",
- "java/res/values-ru/components_strings.xml",
- "java/res/values-sk/components_strings.xml",
- "java/res/values-sl/components_strings.xml",
- "java/res/values-sr/components_strings.xml",
- "java/res/values-sv/components_strings.xml",
- "java/res/values-sw/components_strings.xml",
- "java/res/values-ta/components_strings.xml",
- "java/res/values-te/components_strings.xml",
- "java/res/values-th/components_strings.xml",
- "java/res/values-tl/components_strings.xml",
- "java/res/values-tr/components_strings.xml",
- "java/res/values-uk/components_strings.xml",
- "java/res/values-vi/components_strings.xml",
- "java/res/values-zh-rCN/components_strings.xml",
- "java/res/values-zh-rTW/components_strings.xml",
- "java/res/values/components_strings.xml",
- ]
- foreach(_locale, locales_with_fake_bidi) {
- outputs += [ "components_strings_${_locale}.pak" ]
- }
+ _allowlist,
+ ]
+ outputs =
+ [
+ "grit/components_strings.h",
+ "java/res/values/components_strings.xml",
+ ] +
+ process_file_template(
+ android_bundle_locales_as_resources,
+ [ "java/res/values-{{source_name_part}}/components_strings.xml" ]) +
+ process_file_template(locales_with_fake_bidi,
+ [ "components_strings_{{source_name_part}}.pak" ])
}
java_strings_grd("strings_grd") {
diff --git a/chromium/android_webview/browser/BUILD.gn b/chromium/android_webview/browser/BUILD.gn
index 643e623bb51..207926d3039 100644
--- a/chromium/android_webview/browser/BUILD.gn
+++ b/chromium/android_webview/browser/BUILD.gn
@@ -42,8 +42,6 @@ source_set("browser") {
"aw_contents_client_bridge.h",
"aw_contents_io_thread_client.cc",
"aw_contents_io_thread_client.h",
- "aw_contents_lifecycle_notifier.cc",
- "aw_contents_lifecycle_notifier.h",
"aw_contents_statics.cc",
"aw_cookie_access_policy.cc",
"aw_cookie_access_policy.h",
@@ -66,6 +64,8 @@ source_set("browser") {
"aw_javascript_dialog_manager.h",
"aw_media_url_interceptor.cc",
"aw_media_url_interceptor.h",
+ "aw_pac_processor.cc",
+ "aw_pac_processor.h",
"aw_pdf_exporter.cc",
"aw_pdf_exporter.h",
"aw_permission_manager.cc",
@@ -187,6 +187,7 @@ source_set("browser") {
"//android_webview:browser_jni_headers",
"//android_webview:generate_components_strings",
"//android_webview/browser/gfx",
+ "//android_webview/browser/lifecycle",
"//android_webview/browser/metrics",
"//android_webview/common",
"//android_webview/common:common_mojom",
@@ -199,9 +200,10 @@ source_set("browser") {
# Called via JNI in CrashpadMain
"//components/crash/android:crashpad_main",
- "//components/crash/content/app",
"//components/crash/content/browser",
+ "//components/crash/core/app",
"//components/embedder_support/android:web_contents_delegate",
+ "//components/embedder_support/android/metrics",
"//components/google/core/common",
"//components/heap_profiling",
"//components/metrics",
@@ -215,18 +217,20 @@ source_set("browser") {
"//components/printing/browser",
"//components/printing/common",
"//components/printing/common:mojo_interfaces",
- "//components/safe_browsing",
- "//components/safe_browsing:features",
- "//components/safe_browsing:ping_manager",
"//components/safe_browsing/android:remote_database_manager",
- "//components/safe_browsing/browser",
- "//components/safe_browsing/browser:network_context",
- "//components/safe_browsing/common",
- "//components/safe_browsing/db:database_manager",
- "//components/safe_browsing/db:safebrowsing_proto",
- "//components/safe_browsing/triggers",
- "//components/safe_browsing/web_ui",
- "//components/safe_browsing/web_ui:constants",
+ "//components/safe_browsing/content",
+ "//components/safe_browsing/content/browser",
+ "//components/safe_browsing/content/common:interfaces",
+ "//components/safe_browsing/content/web_ui",
+ "//components/safe_browsing/core:features",
+ "//components/safe_browsing/core:ping_manager",
+ "//components/safe_browsing/core/browser",
+ "//components/safe_browsing/core/browser:network_context",
+ "//components/safe_browsing/core/common",
+ "//components/safe_browsing/core/db:database_manager",
+ "//components/safe_browsing/core/db:safebrowsing_proto",
+ "//components/safe_browsing/core/triggers",
+ "//components/safe_browsing/core/web_ui:constants",
"//components/security_interstitials/content:security_interstitial_page",
"//components/security_interstitials/core",
"//components/services/heap_profiling/public/cpp",
@@ -244,10 +248,11 @@ source_set("browser") {
"//media/mojo:buildflags",
"//printing",
"//services/preferences/tracked",
+ "//services/proxy_resolver:lib",
+ "//third_party/blink/public/mojom/frame",
"//third_party/crashpad/crashpad/client",
"//ui/android",
"//ui/gl",
- "//ui/native_theme",
"//ui/resources",
"//ui/touch_selection",
]
diff --git a/chromium/android_webview/browser/gfx/BUILD.gn b/chromium/android_webview/browser/gfx/BUILD.gn
index 227523bece4..5b0d2358fdc 100644
--- a/chromium/android_webview/browser/gfx/BUILD.gn
+++ b/chromium/android_webview/browser/gfx/BUILD.gn
@@ -7,18 +7,24 @@ import("//build/config/android/rules.gni")
source_set("gfx") {
sources = [
+ "aw_attaching_to_window_recorder.cc",
+ "aw_attaching_to_window_recorder.h",
"aw_draw_fn_impl.cc",
"aw_draw_fn_impl.h",
"aw_gl_functor.cc",
"aw_gl_functor.h",
"aw_gl_surface.cc",
"aw_gl_surface.h",
+ "aw_gl_surface_external_stencil.cc",
+ "aw_gl_surface_external_stencil.h",
"aw_picture.cc",
"aw_picture.h",
"aw_render_thread_context_provider.cc",
"aw_render_thread_context_provider.h",
"aw_vulkan_context_provider.cc",
"aw_vulkan_context_provider.h",
+ "begin_frame_source_webview.cc",
+ "begin_frame_source_webview.h",
"browser_view_renderer.cc",
"browser_view_renderer.h",
"browser_view_renderer_client.h",
@@ -28,6 +34,8 @@ source_set("gfx") {
"compositor_frame_producer.h",
"deferred_gpu_command_service.cc",
"deferred_gpu_command_service.h",
+ "display_scheduler_webview.cc",
+ "display_scheduler_webview.h",
"gpu_service_web_view.cc",
"gpu_service_web_view.h",
"hardware_renderer.cc",
@@ -67,6 +75,7 @@ source_set("gfx") {
deps = [
"//android_webview:browser_jni_headers",
"//android_webview/common",
+ "//android_webview/public",
"//base",
"//components/ui_devtools:buildflags",
"//components/viz/service",
diff --git a/chromium/android_webview/browser/lifecycle/BUILD.gn b/chromium/android_webview/browser/lifecycle/BUILD.gn
new file mode 100644
index 00000000000..a7f4f47a46e
--- /dev/null
+++ b/chromium/android_webview/browser/lifecycle/BUILD.gn
@@ -0,0 +1,17 @@
+# Copyright 2020 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("lifecycle") {
+ sources = [
+ "aw_contents_lifecycle_notifier.cc",
+ "aw_contents_lifecycle_notifier.h",
+ "webview_app_state_observer.cc",
+ "webview_app_state_observer.h",
+ ]
+ deps = [
+ "//android_webview:browser_jni_headers",
+ "//base",
+ "//content/public/browser",
+ ]
+}
diff --git a/chromium/android_webview/browser/metrics/BUILD.gn b/chromium/android_webview/browser/metrics/BUILD.gn
index 3283d27db92..c2610878a63 100644
--- a/chromium/android_webview/browser/metrics/BUILD.gn
+++ b/chromium/android_webview/browser/metrics/BUILD.gn
@@ -4,25 +4,20 @@
source_set("metrics") {
sources = [
- "aw_metrics_log_uploader.cc",
- "aw_metrics_log_uploader.h",
"aw_metrics_service_client.cc",
"aw_metrics_service_client.h",
- "memory_metrics_logger.cc",
- "memory_metrics_logger.h",
+ "aw_stability_metrics_provider.cc",
+ "aw_stability_metrics_provider.h",
]
deps = [
"//android_webview:browser_jni_headers",
+ "//android_webview/browser/lifecycle",
"//android_webview/common",
"//base",
+ "//components/embedder_support/android/metrics",
"//components/metrics",
- "//components/metrics:gpu",
- "//components/metrics:net",
- "//components/metrics:ui",
"//components/prefs",
- "//components/version_info",
"//components/version_info/android:channel_getter",
"//content/public/browser",
- "//services/resource_coordinator/public/cpp/memory_instrumentation:browser",
]
}
diff --git a/chromium/android_webview/common/BUILD.gn b/chromium/android_webview/common/BUILD.gn
index c4f4c5af2a0..f7ba133f517 100644
--- a/chromium/android_webview/common/BUILD.gn
+++ b/chromium/android_webview/common/BUILD.gn
@@ -7,6 +7,7 @@ import("//mojo/public/tools/bindings/mojom.gni")
mojom("common_mojom") {
sources = [
+ "aw_origin_matcher.mojom",
"js_java_interaction/interfaces.mojom",
]
@@ -14,6 +15,19 @@ mojom("common_mojom") {
"//mojo/public/mojom/base",
"//services/network/public/mojom:mojom",
]
+
+ cpp_typemaps = [
+ {
+ types = [
+ {
+ mojom = "android_webview.mojom.AwOriginMatcher"
+ cpp = "::android_webview::AwOriginMatcher"
+ },
+ ]
+ traits_headers =
+ [ "//android_webview/common/aw_origin_matcher_mojom_traits.h" ]
+ },
+ ]
}
source_set("common") {
@@ -29,6 +43,8 @@ source_set("common") {
"aw_hit_test_data.h",
"aw_media_drm_bridge_client.cc",
"aw_media_drm_bridge_client.h",
+ "aw_origin_matcher.cc",
+ "aw_origin_matcher.h",
"aw_paths.cc",
"aw_paths.h",
"aw_resource.cc",
@@ -51,7 +67,7 @@ source_set("common") {
"//android_webview:common_jni_headers",
"//base",
"//components/cdm/common",
- "//components/crash/content/app",
+ "//components/crash/core/app",
"//components/crash/core/common:crash_key",
"//components/gwp_asan/common",
"//components/services/heap_profiling/public/cpp",
diff --git a/chromium/android_webview/common/aw_origin_matcher.mojom b/chromium/android_webview/common/aw_origin_matcher.mojom
new file mode 100644
index 00000000000..453aa6693e0
--- /dev/null
+++ b/chromium/android_webview/common/aw_origin_matcher.mojom
@@ -0,0 +1,10 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module android_webview.mojom;
+
+// This corresponds to the string representation of AwOriginMatcher.
+struct AwOriginMatcher {
+ array<string> rules;
+}; \ No newline at end of file
diff --git a/chromium/android_webview/common/js_java_interaction/interfaces.mojom b/chromium/android_webview/common/js_java_interaction/interfaces.mojom
index ee295d5772a..9ee34677f68 100644
--- a/chromium/android_webview/common/js_java_interaction/interfaces.mojom
+++ b/chromium/android_webview/common/js_java_interaction/interfaces.mojom
@@ -4,18 +4,18 @@
module android_webview.mojom;
+import "android_webview/common/aw_origin_matcher.mojom";
import "mojo/public/mojom/base/string16.mojom";
-import "services/network/public/mojom/proxy_config.mojom";
// JsObject struct represents a JavaScript object we will inject in the main
// JavaScript world of a frame. |js_object_name| will be used as the name
// of the JavaScript object. We will inject the object if the frame's origin
-// matches |allowed_origin_rules|. |js_to_java_messaging| will be used for
-// that JavaScript object to send message back to browser (hence Java) side.
+// matches |origin_matcher|. |js_to_java_messaging| will be used for that
+// JavaScript object to send message back to browser (hence Java) side.
struct JsObject {
mojo_base.mojom.String16 js_object_name;
pending_associated_remote<JsToJavaMessaging> js_to_java_messaging;
- network.mojom.ProxyBypassRules allowed_origin_rules;
+ android_webview.mojom.AwOriginMatcher origin_matcher;
};
// For JavaScript postMessage() API, implemented by browser.
diff --git a/chromium/android_webview/glue/BUILD.gn b/chromium/android_webview/glue/BUILD.gn
index 8eccad0a0bc..4074afa7650 100644
--- a/chromium/android_webview/glue/BUILD.gn
+++ b/chromium/android_webview/glue/BUILD.gn
@@ -11,7 +11,6 @@ android_library("glue") {
deps = [
"//android_webview:android_webview_product_config_java",
"//android_webview:browser_java",
- "//android_webview:common_commandline_java",
"//android_webview:common_java",
"//android_webview/nonembedded:system_webview_manifest",
"//android_webview/support_library/boundary_interfaces:boundary_interface_java",
@@ -25,13 +24,14 @@ android_library("glue") {
"//content/public/android:content_java",
"//net/android:net_java",
"//ui/android:ui_java",
+ "//url:gurl_java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
alternative_android_sdk_dep =
"//third_party/android_sdk:public_framework_system_java"
- java_files = [
+ sources = [
"java/src/com/android/webview/chromium/CallbackConverter.java",
"java/src/com/android/webview/chromium/ContentSettingsAdapter.java",
"java/src/com/android/webview/chromium/CookieManagerAdapter.java",
diff --git a/chromium/android_webview/lib/BUILD.gn b/chromium/android_webview/lib/BUILD.gn
index 7ae4858e2c6..b018c8b2240 100644
--- a/chromium/android_webview/lib/BUILD.gn
+++ b/chromium/android_webview/lib/BUILD.gn
@@ -59,12 +59,10 @@ source_set("webview_entry_point") {
":lib",
"//base",
]
- sources = [
- "webview_entry_point.cc",
- ]
+ sources = [ "webview_entry_point.cc" ]
if (webview_includes_weblayer) {
defines = [ "WEBVIEW_INCLUDES_WEBLAYER" ]
- deps += [ "//weblayer:weblayer_lib" ]
+ deps += [ "//weblayer:weblayer_lib_webview" ]
}
}
diff --git a/chromium/android_webview/nonembedded/BUILD.gn b/chromium/android_webview/nonembedded/BUILD.gn
index fca87703ead..5deebb9bd4c 100644
--- a/chromium/android_webview/nonembedded/BUILD.gn
+++ b/chromium/android_webview/nonembedded/BUILD.gn
@@ -7,15 +7,13 @@ import("//android_webview/variables.gni")
import("//build/config/android/rules.gni")
generate_jni("nonembedded_jni_headers") {
- sources = [
- "java/src/org/chromium/android_webview/nonembedded/WebViewApkApplication.java",
- ]
+ sources = [ "java/src/org/chromium/android_webview/nonembedded/WebViewApkApplication.java" ]
}
# Contains classes needed by the webview apk, but not used when loading the apk
# as a library.
android_library("nonembedded_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/android_webview/nonembedded/LicenseActivity.java",
"java/src/org/chromium/android_webview/nonembedded/LicenseContentProvider.java",
"java/src/org/chromium/android_webview/nonembedded/WebViewApkApplication.java",
@@ -24,7 +22,7 @@ android_library("nonembedded_java") {
":devui_java",
":services_java",
"//android_webview:android_webview_product_config_java",
- "//android_webview:common_commandline_java",
+ "//android_webview:common_java",
"//base:base_java",
"//base:jni_java",
"//components/about_ui/android:aboutui_java",
@@ -35,14 +33,14 @@ android_library("nonembedded_java") {
}
android_library("devui_java") {
- java_files = [
- "java/src/org/chromium/android_webview/devui/CrashesListActivity.java",
- "java/src/org/chromium/android_webview/devui/FlagsActivity.java",
+ sources = [
+ "java/src/org/chromium/android_webview/devui/CrashesListFragment.java",
+ "java/src/org/chromium/android_webview/devui/FlagsFragment.java",
+ "java/src/org/chromium/android_webview/devui/HomeFragment.java",
"java/src/org/chromium/android_webview/devui/MainActivity.java",
"java/src/org/chromium/android_webview/devui/PersistentErrorView.java",
"java/src/org/chromium/android_webview/devui/WebViewPackageError.java",
"java/src/org/chromium/android_webview/devui/util/CrashInfoLoader.java",
- "java/src/org/chromium/android_webview/devui/util/NavigationMenuHelper.java",
"java/src/org/chromium/android_webview/devui/util/UnuploadedFilesStateLoader.java",
"java/src/org/chromium/android_webview/devui/util/UploadedCrashesInfoLoader.java",
"java/src/org/chromium/android_webview/devui/util/WebViewCrashInfoCollector.java",
@@ -53,13 +51,13 @@ android_library("devui_java") {
":devui_resources",
":system_webview_manifest",
"//android_webview:common_aidl_java",
- "//android_webview:common_commandline_java",
"//android_webview:common_crash_java",
"//android_webview:common_java",
"//android_webview:common_platform_services_java",
"//base:base_java",
"//components/minidump_uploader:minidump_uploader_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
+ "//third_party/android_deps:com_android_support_support_fragment_java",
"//ui/android:ui_java",
]
android_manifest_for_lint = system_webview_android_manifest
@@ -67,11 +65,12 @@ android_library("devui_java") {
}
android_library("services_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java",
"java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java",
"java/src/org/chromium/android_webview/services/AwVariationsSeedFetcher.java",
"java/src/org/chromium/android_webview/services/CrashReceiverService.java",
+ "java/src/org/chromium/android_webview/services/DeveloperModeContentProvider.java",
"java/src/org/chromium/android_webview/services/DeveloperUiService.java",
"java/src/org/chromium/android_webview/services/VariationsSeedHolder.java",
"java/src/org/chromium/android_webview/services/VariationsSeedServer.java",
@@ -79,11 +78,10 @@ android_library("services_java") {
deps = [
":system_webview_manifest",
"//android_webview:common_aidl_java",
- "//android_webview:common_commandline_java",
"//android_webview:common_crash_java",
"//android_webview:common_java",
"//android_webview:common_platform_services_java",
- "//android_webview:common_variations_utils_java",
+ "//android_webview:common_variations_java",
"//base:base_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/minidump_uploader:minidump_uploader_java",
@@ -95,9 +93,7 @@ android_library("services_java") {
}
source_set("nonembedded") {
- sources = [
- "webview_apk_application.cc",
- ]
+ sources = [ "webview_apk_application.cc" ]
deps = [
":nonembedded_jni_headers",
"//android_webview/common",
@@ -110,21 +106,55 @@ source_set("nonembedded") {
# WebView icon used by upstream SystemWebView and Trichrome.
android_resources("icon_resources") {
- resource_dirs = [ "java/res_icon" ]
+ sources = [
+ "java/res_icon/drawable-hdpi/icon_webview.png",
+ "java/res_icon/drawable-mdpi/icon_webview.png",
+ "java/res_icon/drawable-xhdpi/icon_webview.png",
+ "java/res_icon/drawable-xxhdpi/icon_webview.png",
+ ]
custom_package = "org.chromium.android_webview.icon"
}
android_resources("devui_resources") {
- resource_dirs = [ "java/res_devui" ]
+ sources = [
+ "java/res_devui/drawable/blue_circle.xml",
+ "java/res_devui/drawable/ic_action_home.xml",
+ "java/res_devui/drawable/ic_alert_error.xml",
+ "java/res_devui/drawable/ic_flag.xml",
+ "java/res_devui/layout/activity_main.xml",
+ "java/res_devui/layout/crashes_list_item_body.xml",
+ "java/res_devui/layout/crashes_list_item_header.xml",
+ "java/res_devui/layout/flag_states.xml",
+ "java/res_devui/layout/fragment_crashes_list.xml",
+ "java/res_devui/layout/fragment_flags.xml",
+ "java/res_devui/layout/fragment_home.xml",
+ "java/res_devui/layout/persistent_error_message.xml",
+ "java/res_devui/layout/toggleable_flag.xml",
+ "java/res_devui/layout/two_line_list_item.xml",
+ "java/res_devui/layout/two_line_sublist_item.xml",
+ "java/res_devui/menu/crashes_options_menu.xml",
+ "java/res_devui/menu/options_menu.xml",
+ "java/res_devui/values-night/colors.xml",
+ "java/res_devui/values-night/styles.xml",
+ "java/res_devui/values/colors.xml",
+ "java/res_devui/values/strings.xml",
+ "java/res_devui/values/styles.xml",
+ ]
custom_package = "org.chromium.android_webview.devui"
}
android_resources("devui_launcher_icon_resources") {
- resource_dirs = []
+ sources = []
custom_package = "org.chromium.android_webview.devui.icon"
android_manifest = "java/DeveloperUiLauncherManifest.xml"
}
+android_resources("monochrome_devui_launcher_icon_resources") {
+ sources = []
+ android_manifest = "java/MonochromeDeveloperUiLauncherManifest.xml"
+ custom_package = "org.chromium.android_webview.devui.icon"
+}
+
jinja_template("system_webview_manifest") {
input = "java/AndroidManifest.xml"
output = system_webview_android_manifest
@@ -152,4 +182,14 @@ if (android_64bit_target_cpu) {
"library=libmonochrome_64.so",
]
}
+
+ jinja_template("trichrome_webview_32_manifest") {
+ input = "java/AndroidManifest.xml"
+ output = trichrome_webview_32_android_manifest
+ variables = trichrome_jinja_variables + [
+ "trichrome_version=$trichrome_32_version_code",
+ "manifest_package=$system_webview_package_name",
+ "library=libmonochrome.so",
+ ]
+ }
}
diff --git a/chromium/android_webview/renderer/BUILD.gn b/chromium/android_webview/renderer/BUILD.gn
index 6b0d011f25c..720bd42c0a5 100644
--- a/chromium/android_webview/renderer/BUILD.gn
+++ b/chromium/android_webview/renderer/BUILD.gn
@@ -30,8 +30,6 @@ source_set("renderer") {
"js_java_interaction/js_binding.h",
"js_java_interaction/js_java_configurator.cc",
"js_java_interaction/js_java_configurator.h",
- "print_render_frame_observer.cc",
- "print_render_frame_observer.h",
]
deps = [
@@ -40,6 +38,7 @@ source_set("renderer") {
"//android_webview/common",
"//android_webview/common:common_mojom",
"//base",
+ "//components/android_system_error_page",
"//components/autofill/content/renderer",
"//components/cdm/renderer",
"//components/content_capture/common",
@@ -47,14 +46,17 @@ source_set("renderer") {
"//components/page_load_metrics/renderer",
"//components/printing/common",
"//components/printing/renderer",
- "//components/safe_browsing:features",
- "//components/safe_browsing/common",
- "//components/safe_browsing/renderer:throttles",
+ "//components/resources",
+ "//components/safe_browsing/content/common:interfaces",
+ "//components/safe_browsing/content/renderer:throttles",
+ "//components/safe_browsing/core:features",
+ "//components/safe_browsing/core/common",
"//components/security_interstitials/content/renderer:security_interstitial_page_controller",
"//components/security_interstitials/core",
"//components/security_interstitials/core/common/mojom",
"//components/spellcheck:buildflags",
"//components/spellcheck/renderer",
+ "//components/strings",
"//components/visitedlink/renderer",
"//content/public/child",
"//content/public/common",
diff --git a/chromium/android_webview/support_library/BUILD.gn b/chromium/android_webview/support_library/BUILD.gn
index f6e2d235e02..22155c24b92 100644
--- a/chromium/android_webview/support_library/BUILD.gn
+++ b/chromium/android_webview/support_library/BUILD.gn
@@ -6,7 +6,7 @@ import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
android_library("support_lib_glue_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/support_lib_glue/IsomorphicAdapter.java",
"java/src/org/chromium/support_lib_glue/SupportLibJsReplyProxyAdapter.java",
"java/src/org/chromium/support_lib_glue/SupportLibProxyControllerAdapter.java",
diff --git a/chromium/android_webview/support_library/boundary_interfaces/BUILD.gn b/chromium/android_webview/support_library/boundary_interfaces/BUILD.gn
index a6cc4b5649b..e3ed180d1ac 100644
--- a/chromium/android_webview/support_library/boundary_interfaces/BUILD.gn
+++ b/chromium/android_webview/support_library/boundary_interfaces/BUILD.gn
@@ -6,7 +6,7 @@ import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
android_library("boundary_interface_java") {
- java_files = [
+ sources = [
"src/org/chromium/support_lib_boundary/FeatureFlagHolderBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/IsomorphicObjectBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java",
@@ -41,9 +41,7 @@ android_library("boundary_interface_java") {
# build when we mirror this into AndroidX. We are only permitted to depend on
# core Android classes and other AndroidX classes (must be in the androidx.*
# package name).
- deps = [
- "//third_party/android_deps:androidx_annotation_annotation_java",
- ]
+ deps = [ "//third_party/android_deps:androidx_annotation_annotation_java" ]
# This is to verify the boundary interfaces compile and lint correctly against
# the minSdkVersion of the webkit support library module. As the minSdkVersion
diff --git a/chromium/android_webview/support_library/callback/BUILD.gn b/chromium/android_webview/support_library/callback/BUILD.gn
index f02fb205a69..a700cc8282b 100644
--- a/chromium/android_webview/support_library/callback/BUILD.gn
+++ b/chromium/android_webview/support_library/callback/BUILD.gn
@@ -6,7 +6,7 @@ import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
android_library("callback_java") {
- java_files = [
+ sources = [
"java/src/org/chromium/support_lib_callback_glue/SupportLibSafeBrowsingResponse.java",
"java/src/org/chromium/support_lib_callback_glue/SupportLibWebResourceError.java",
"java/src/org/chromium/support_lib_callback_glue/SupportLibWebViewContentsClientAdapter.java",
diff --git a/chromium/android_webview/system_webview_apk_tmpl.gni b/chromium/android_webview/system_webview_apk_tmpl.gni
index a8ba27fd891..30cab847096 100644
--- a/chromium/android_webview/system_webview_apk_tmpl.gni
+++ b/chromium/android_webview/system_webview_apk_tmpl.gni
@@ -3,7 +3,6 @@
# found in the LICENSE file.
import("//android_webview/variables.gni")
-import("//base/android/proguard/proguard.gni")
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("//build/config/locales.gni")
@@ -18,10 +17,22 @@ declare_args() {
# on which you are going to install WebView is configured to load a
# different package name than the default used in AOSP.
system_webview_package_name = "com.android.webview"
+
+ # Whether to enable standalone and trichrome WebView bundle build targets.
+ enable_webview_bundles = false
}
-template("system_webview_apk_tmpl") {
- android_apk(target_name) {
+template("system_webview_apk_or_module_tmpl") {
+ if (!defined(invoker.target_type)) {
+ _is_bundle_module = false
+ _target_type = "android_apk"
+ } else {
+ _is_bundle_module = invoker.target_type == "android_app_bundle_module"
+ _target_type = invoker.target_type
+ }
+ _exclude_weblayer_java =
+ defined(invoker.exclude_weblayer_java) && invoker.exclude_weblayer_java
+ target(_target_type, target_name) {
forward_variables_from(invoker,
"*",
[
@@ -31,16 +42,30 @@ template("system_webview_apk_tmpl") {
])
deps += [
- "//android_webview:android_webview_step1_java",
"//android_webview:locale_pak_assets",
"//android_webview:pak_file_assets",
]
+ # If the R SDK isn't public yet, include the downstream code to support R.
+ if (!public_android_sdk && android_sdk_release == "r") {
+ deps += [ "//clank/android_webview/next:r_sdk_java" ]
+ }
+
+ if (_exclude_weblayer_java) {
+ deps += [ "//android_webview:android_webview_no_weblayer_java" ]
+ } else {
+ deps += [ "//android_webview:android_webview_java" ]
+ }
+
target_sdk_version = android_sdk_version
product_config_java_packages = [ webview_product_config_java_package ]
if (webview_includes_weblayer) {
- deps += [ "//weblayer:locale_pak_assets" ]
+ if (_is_bundle_module) {
+ deps += [ "//weblayer:bundle_locale_pak_assets" ]
+ } else {
+ deps += [ "//weblayer:locale_pak_assets" ]
+ }
product_config_java_packages += [ weblayer_product_config_java_package ]
}
@@ -54,23 +79,33 @@ template("system_webview_apk_tmpl") {
_use_trichrome_library =
defined(use_trichrome_library) && use_trichrome_library
+ assert(
+ _use_trichrome_library == defined(invoker.static_library_provider),
+ "If trichrome library is used, static_library_provider must be set " +
+ "so that a dep can be added on the library APK.")
- if (!_use_trichrome_library) {
- deps += [ "//android_webview:monochrome_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" ]
} else {
uncompress_shared_libraries = true
app_as_shared_lib = true
@@ -82,19 +117,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,16 +133,30 @@ 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 (webview_includes_weblayer) {
+ deps += [ "//base/android/linker:chromium_android_linker" ]
+ loadable_modules +=
+ [ "$root_out_dir/libchromium_android_linker$shlib_extension" ]
+ }
}
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" ]
+ if (webview_includes_weblayer) {
+ deps += [ "//base/android/linker:chromium_android_linker($android_secondary_abi_toolchain)" ]
+ secondary_abi_loadable_modules +=
+ [ "$_secondary_out_dir/libchromium_android_linker$shlib_extension" ]
+ }
}
if (!_use_trichrome_library || android_64bit_target_cpu) {
@@ -126,19 +168,22 @@ template("system_webview_apk_tmpl") {
native_lib_version_arg = "@FileArg($_native_lib_file:full-quoted)"
}
- aapt_locale_whitelist = locales
+ aapt_locale_allowlist = locales
# Match drawables, but not mipmaps.
- resource_blacklist_regex = "drawable[^/]*-xxxhdpi"
+ resource_exclusion_regex = "drawable[^/]*-xxxhdpi"
# Exception rationale in https://crbug.com/691733.
- resource_blacklist_exceptions = [
+ resource_exclusion_exceptions = [
"*shadow*", # Combination of gradient & transparency cause pixelation.
"*.9.*", # Most nine-patches contain shadows.
]
- # Used as an additional apk in test scripts.
- never_incremental = true
+ if (!_is_bundle_module) {
+ # Used as an additional apk in test scripts.
+ never_incremental = true
+ command_line_flags_file = "webview-command-line"
+ }
if (!is_java_debug) {
proguard_enabled = true
@@ -159,7 +204,6 @@ template("system_webview_apk_tmpl") {
}
png_to_webp = true
}
- command_line_flags_file = "webview-command-line"
if (!defined(version_code)) {
if (_use_trichrome_library) {
@@ -180,12 +224,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)) {
diff --git a/chromium/android_webview/system_webview_bundle.gni b/chromium/android_webview/system_webview_bundle.gni
new file mode 100644
index 00000000000..aa7b683fefc
--- /dev/null
+++ b/chromium/android_webview/system_webview_bundle.gni
@@ -0,0 +1,34 @@
+# Copyright 2019 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/android/rules.gni")
+import("//build/config/locales.gni")
+
+template("system_webview_bundle") {
+ android_app_bundle(target_name) {
+ command_line_flags_file = "webview-command-line"
+ proguard_enabled = !is_java_debug
+ enable_language_splits = true
+ system_image_locale_allowlist = locales
+ is_multi_abi =
+ android_64bit_target_cpu && (!defined(invoker.include_64_bit_webview) ||
+ invoker.include_64_bit_webview) &&
+ (!defined(invoker.include_32_bit_webview) ||
+ invoker.include_32_bit_webview)
+
+ if (!defined(proguard_android_sdk_dep)) {
+ proguard_android_sdk_dep = webview_framework_dep
+ }
+
+ # NOTE: Only sign bundle for official builds since this is very slow.
+ if (enable_chrome_android_internal && use_signing_keys &&
+ is_official_build) {
+ sign_bundle = true
+ keystore_path = webview_keystore_path
+ keystore_name = webview_keystore_name
+ keystore_password = webview_keystore_password
+ }
+ forward_variables_from(invoker, "*")
+ }
+}
diff --git a/chromium/android_webview/test/BUILD.gn b/chromium/android_webview/test/BUILD.gn
index 4a356ce0a53..80513511dce 100644
--- a/chromium/android_webview/test/BUILD.gn
+++ b/chromium/android_webview/test/BUILD.gn
@@ -4,6 +4,7 @@
import("//android_webview/variables.gni")
import("//build/config/android/rules.gni")
+import("//build/config/python.gni")
import("//device/vr/buildflags/buildflags.gni")
import("//testing/test.gni")
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
@@ -19,39 +20,27 @@ group("test") {
]
}
-if (public_android_sdk) {
- group("webview_cts_tests") {
- _py_files =
- read_file("//android_webview/tools/run_cts.pydeps", "list lines")
- deps = [
- "//android_webview:system_webview_apk",
- ]
-
+if (define_upstream_webview_targets) {
+ python_library("webview_cts_tests") {
+ pydeps_file = "//android_webview/tools/run_cts.pydeps"
+ deps = [ "//android_webview:system_webview_apk" ]
data_deps = [
"//build/android:logdog_wrapper_py",
"//build/android:test_runner_py",
"//testing/buildbot/filters:webview_cts_tests_filters",
]
-
- # Filter out comments.
- set_sources_assignment_filter([ "#*" ])
- sources = _py_files
-
- data = sources
- data += [ "//android_webview/tools/cts_config/" ]
+ data = [ "//android_webview/tools/cts_config/" ]
}
- group("system_webview_wpt") {
+ python_library("system_webview_wpt") {
testonly = true
+ pydeps_file = "//testing/scripts/run_android_wpt.pydeps"
data_deps = [
"//android_webview:system_webview_apk",
"//android_webview/tools/system_webview_shell:system_webview_shell_layout_test_apk",
+ "//chrome/test/chromedriver:chromedriver($host_toolchain)",
+ "//third_party/blink/tools:wpt_tests_android_isolate",
]
- set_sources_assignment_filter([ "#*" ])
- sources =
- read_file("//testing/scripts/run_android_wpt.pydeps", "list lines")
- data = sources
- data += [ "//third_party/blink/web_tests/external/" ]
}
}
@@ -60,8 +49,8 @@ android_apk("webview_instrumentation_apk") {
":webview_instrumentation_apk_assets",
":webview_instrumentation_apk_resources",
":webview_instrumentation_test_utils_java",
+ "//android_webview:android_webview_java",
"//android_webview:android_webview_product_config_java",
- "//android_webview:android_webview_step1_java",
"//android_webview:common_java",
"//android_webview:locale_pak_assets",
"//android_webview:platform_service_bridge_upstream_implementation_java",
@@ -73,22 +62,23 @@ android_apk("webview_instrumentation_apk") {
"//third_party/android_support_test_runner:runner_java",
"//third_party/junit",
"//ui/android:ui_java",
+ "//url:gurl_java",
]
apk_name = "WebViewInstrumentation"
android_manifest = "shell/AndroidManifest.xml"
- java_files = [
+ sources = [
"shell/src/org/chromium/android_webview/shell/AwShellActivity.java",
"shell/src/org/chromium/android_webview/shell/AwShellApplication.java",
"shell/src/org/chromium/android_webview/shell/AwShellResourceProvider.java",
"shell/src/org/chromium/android_webview/shell/AwShellSwitches.java",
"shell/src/org/chromium/android_webview/shell/DrawFn.java",
+ "shell/src/org/chromium/android_webview/test/AwJUnit4ClassRunner.java",
"shell/src/org/chromium/android_webview/test/AwTestContainerView.java",
"shell/src/org/chromium/android_webview/test/AwTestRunnerActivity.java",
- "shell/src/org/chromium/android_webview/test/AwJUnit4ClassRunner.java",
"shell/src/org/chromium/android_webview/test/NullContentsClient.java",
- "shell/src/org/chromium/android_webview/test/SecondBrowserProcess.java",
"shell/src/org/chromium/android_webview/test/OnlyRunIn.java",
+ "shell/src/org/chromium/android_webview/test/SecondBrowserProcess.java",
"shell/src/org/chromium/android_webview/test/TestContentProvider.java",
]
product_config_java_packages = [ webview_product_config_java_package ]
@@ -104,7 +94,12 @@ android_apk("webview_instrumentation_apk") {
}
android_resources("webview_instrumentation_apk_resources") {
- resource_dirs = [ "shell/res" ]
+ sources = [
+ "shell/res/layout/testshell_activity.xml",
+ "shell/res/raw/resource_file.html",
+ "shell/res/raw/resource_icon.png",
+ "shell/res/values/config.xml",
+ ]
custom_package = "org.chromium.android_webview.shell"
}
@@ -144,15 +139,14 @@ android_assets("webview_instrumentation_apk_assets") {
shared_library("libstandalonelibwebviewchromium") {
testonly = true
- sources = [
- "shell/src/draw_gl/draw_fn.cc",
- ]
+ sources = [ "shell/src/draw_gl/draw_fn.cc" ]
ldflags = [ "-Wl,-shared,-Bsymbolic" ]
deps = [
":webview_instrumentation_test_native_jni_impl",
"//android_webview/lib",
"//android_webview/lib:webview_entry_point",
"//android_webview/nonembedded",
+ "//android_webview/public",
"//base",
"//components/heap_profiling:test_support",
"//content/public/test/android:content_native_test_support",
@@ -168,7 +162,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
min_sdk_version = 21
deps = [
":webview_instrumentation_test_utils_java",
- "//android_webview:android_webview_step1_java",
+ "//android_webview:android_webview_java",
"//android_webview/test/embedded_test_server:aw_net_java_test_support",
"//base:base_java",
"//base:base_java_test_support",
@@ -193,8 +187,9 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"//third_party/junit",
"//third_party/metrics_proto:metrics_proto_java",
"//ui/android:ui_java",
+ "//url:gurl_java",
]
- java_files = [
+ sources = [
"../javatests/src/org/chromium/android_webview/test/AcceptLanguageTest.java",
"../javatests/src/org/chromium/android_webview/test/AndroidProtocolHandlerTest.java",
"../javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java",
@@ -211,8 +206,8 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"../javatests/src/org/chromium/android_webview/test/AwContentsClientFullScreenTest.java",
"../javatests/src/org/chromium/android_webview/test/AwContentsClientGetDefaultVideoPosterTest.java",
"../javatests/src/org/chromium/android_webview/test/AwContentsClientOnFormResubmissionTest.java",
- "../javatests/src/org/chromium/android_webview/test/AwContentsClientOnRendererUnresponsiveTest.java",
"../javatests/src/org/chromium/android_webview/test/AwContentsClientOnRenderProcessGoneTest.java",
+ "../javatests/src/org/chromium/android_webview/test/AwContentsClientOnRendererUnresponsiveTest.java",
"../javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java",
"../javatests/src/org/chromium/android_webview/test/AwContentsClientOnUnhandledKeyEventTest.java",
"../javatests/src/org/chromium/android_webview/test/AwContentsClientShouldInterceptRequestTest.java",
@@ -238,7 +233,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"../javatests/src/org/chromium/android_webview/test/AwSecondBrowserProcessTest.java",
"../javatests/src/org/chromium/android_webview/test/AwServiceWorkerClientTest.java",
"../javatests/src/org/chromium/android_webview/test/AwSettingsTest.java",
- "../javatests/src/org/chromium/android_webview/test/AwStrictModeTest.java",
+ "../javatests/src/org/chromium/android_webview/test/AwUncaughtExceptionTest.java",
"../javatests/src/org/chromium/android_webview/test/AwVariationsSeedFetcherTest.java",
"../javatests/src/org/chromium/android_webview/test/AwWebContentsObserverTest.java",
"../javatests/src/org/chromium/android_webview/test/AwZoomTest.java",
@@ -254,6 +249,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"../javatests/src/org/chromium/android_webview/test/ContentViewMiscTest.java",
"../javatests/src/org/chromium/android_webview/test/CookieManagerStartupTest.java",
"../javatests/src/org/chromium/android_webview/test/CookieManagerTest.java",
+ "../javatests/src/org/chromium/android_webview/test/DarkModeTest.java",
"../javatests/src/org/chromium/android_webview/test/DisableHardwareAccelerationForTest.java",
"../javatests/src/org/chromium/android_webview/test/FullScreenVideoTestAwContentsClient.java",
"../javatests/src/org/chromium/android_webview/test/GeolocationTest.java",
@@ -273,9 +269,8 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"../javatests/src/org/chromium/android_webview/test/PopupWindowTest.java",
"../javatests/src/org/chromium/android_webview/test/PostMessageTest.java",
"../javatests/src/org/chromium/android_webview/test/RenderProcessGoneHelper.java",
- "../javatests/src/org/chromium/android_webview/test/SaveRestoreStateTest.java",
"../javatests/src/org/chromium/android_webview/test/SafeBrowsingTest.java",
- "../javatests/src/org/chromium/android_webview/test/AwUncaughtExceptionTest.java",
+ "../javatests/src/org/chromium/android_webview/test/SaveRestoreStateTest.java",
"../javatests/src/org/chromium/android_webview/test/SslPreferencesTest.java",
"../javatests/src/org/chromium/android_webview/test/StandaloneAwQuotaManagerBridgeTest.java",
"../javatests/src/org/chromium/android_webview/test/TestAwContents.java",
@@ -295,7 +290,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"../javatests/src/org/chromium/android_webview/test/devui/util/WebViewCrashInfoCollectorTest.java",
"../javatests/src/org/chromium/android_webview/test/devui/util/WebViewCrashLogParserTest.java",
"../javatests/src/org/chromium/android_webview/test/services/CrashReceiverServiceTest.java",
- "../javatests/src/org/chromium/android_webview/test/services/MinidumpUploaderTest.java",
+ "../javatests/src/org/chromium/android_webview/test/services/MinidumpUploadJobTest.java",
"../javatests/src/org/chromium/android_webview/test/services/MockVariationsSeedServer.java",
"../javatests/src/org/chromium/android_webview/test/services/VariationsSeedServerTest.java",
"../javatests/src/org/chromium/android_webview/test/services/VisualStateCallbackTest.java",
@@ -312,12 +307,14 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"../javatests/src/org/chromium/android_webview/test/util/VideoTestUtil.java",
"../javatests/src/org/chromium/android_webview/test/util/VideoTestWebServer.java",
]
- data = [
- "data/",
- ]
- data_deps = [
- "//testing/buildbot/filters:webview_instrumentation_test_apk_filters",
- ]
+
+ if (!use_jacoco_coverage) {
+ # Jacoco requires strict mode to be turned off since it writes coverage data to files.
+ sources += [ "../javatests/src/org/chromium/android_webview/test/AwStrictModeTest.java" ]
+ }
+ data = [ "data/" ]
+ data_deps =
+ [ "//testing/buildbot/filters:webview_instrumentation_test_apk_filters" ]
if (enable_chrome_android_internal) {
data_deps +=
@@ -339,7 +336,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
android_library("webview_instrumentation_test_utils_java") {
testonly = true
- java_files = [ "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java" ]
+ sources = [ "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java" ]
deps = [
"//base:base_java",
"//base:jni_java",
@@ -349,22 +346,17 @@ android_library("webview_instrumentation_test_utils_java") {
generate_jni("webview_instrumentation_test_native_jni") {
testonly = true
- sources = [
- "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java",
- ]
+ sources = [ "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java" ]
}
source_set("webview_instrumentation_test_native_jni_impl") {
- sources = [
- "shell/memory_metrics_logger_utils.cc",
- ]
+ sources = [ "shell/memory_metrics_logger_utils.cc" ]
deps = [
":webview_instrumentation_test_native_jni",
- "//android_webview/browser",
- "//android_webview/browser/metrics",
"//base",
"//base/test:test_support",
+ "//components/embedder_support/android/metrics",
]
}
@@ -375,7 +367,9 @@ test("android_webview_unittests") {
":android_webview_unittests_jni",
"//android_webview/browser",
"//android_webview/browser/gfx",
+ "//android_webview/browser/lifecycle",
"//android_webview/browser/metrics",
+ "//android_webview/common",
"//base/test:test_support",
"//components/autofill/core/browser",
"//components/metrics",
@@ -398,14 +392,19 @@ test("android_webview_unittests") {
"../browser/aw_contents_client_bridge_unittest.cc",
"../browser/aw_form_database_service_unittest.cc",
"../browser/aw_media_url_interceptor_unittest.cc",
+ "../browser/aw_pac_processor_unittest.cc",
"../browser/aw_permission_manager_unittest.cc",
+ "../browser/gfx/aw_attaching_to_window_recorder_unittest.cc",
+ "../browser/gfx/begin_frame_source_webview_unittest.cc",
"../browser/gfx/browser_view_renderer_unittest.cc",
"../browser/gfx/test/fake_window.cc",
"../browser/gfx/test/fake_window.h",
"../browser/gfx/test/rendering_test.cc",
"../browser/gfx/test/rendering_test.h",
"../browser/input_stream_unittest.cc",
+ "../browser/lifecycle/aw_contents_lifecycle_notifier_unittest.cc",
"../browser/metrics/aw_metrics_service_client_unittest.cc",
+ "../browser/metrics/aw_stability_metrics_provider_unittest.cc",
"../browser/network_service/android_stream_reader_url_loader_unittest.cc",
"../browser/network_service/input_stream_reader_unittest.cc",
"../browser/permission/media_access_permission_request_unittest.cc",
@@ -414,24 +413,25 @@ test("android_webview_unittests") {
"../browser/safe_browsing/aw_safe_browsing_whitelist_manager_unittest.cc",
"../browser/scoped_add_feature_flags_unittests.cc",
"../browser/state_serializer_unittest.cc",
+ "../common/aw_origin_matcher_unittest.cc",
"../lib/webview_tests.cc",
]
+
+ deps += [ "//v8:v8_external_startup_data_assets" ]
}
android_assets("android_webview_unittests_assets") {
- sources = [
- "unittest/assets/asset_file.ogg",
- ]
+ sources = [ "unittest/assets/asset_file.ogg" ]
}
android_library("android_webview_unittests_java") {
testonly = true
deps = [
- "//android_webview:android_webview_step1_java",
+ "//android_webview:android_webview_java",
"//base:base_java",
"//content/public/test/android:content_java_test_support",
]
- java_files = [
+ sources = [
"../unittestjava/src/org/chromium/android_webview/unittest/InputStreamUnittest.java",
"../unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java",
]
@@ -447,15 +447,16 @@ generate_jni("android_webview_unittests_jni") {
# robolectric tests
junit_binary("android_webview_junit_tests") {
- java_files = [
+ sources = [
"../junit/src/org/chromium/android_webview/robolectric/AwLayoutSizerTest.java",
- "../junit/src/org/chromium/android_webview/robolectric/FindAddressTest.java",
"../junit/src/org/chromium/android_webview/robolectric/AwScrollOffsetManagerTest.java",
+ "../junit/src/org/chromium/android_webview/robolectric/FindAddressTest.java",
+ "../junit/src/org/chromium/android_webview/robolectric/common/FlagOverrideHelperTest.java",
"../junit/src/org/chromium/android_webview/robolectric/common/services/ServiceNamesTest.java",
]
deps = [
- "//android_webview:android_webview_step1_java",
+ "//android_webview:android_webview_java",
"//base:base_java_test_support",
"//content/public/test/android:content_java_test_support",
"//third_party/android_support_test_runner:runner_java",
diff --git a/chromium/android_webview/test/embedded_test_server/BUILD.gn b/chromium/android_webview/test/embedded_test_server/BUILD.gn
index e6252b64d77..e9807d77a65 100644
--- a/chromium/android_webview/test/embedded_test_server/BUILD.gn
+++ b/chromium/android_webview/test/embedded_test_server/BUILD.gn
@@ -7,7 +7,7 @@ import("//build/config/android/rules.gni")
android_library("aw_net_java_test_support") {
testonly = true
- java_files = [
+ sources = [
"java/src/org/chromium/android_webview/test/AwEmbeddedTestServer.java",
"java/src/org/chromium/android_webview/test/AwEmbeddedTestServerImpl.java",
"java/src/org/chromium/android_webview/test/AwEmbeddedTestServerService.java",
@@ -37,9 +37,7 @@ source_set("aw_java_test_native_support") {
"aw_embedded_test_server.cc",
"aw_test_entry_point.cc",
]
- deps = [
- "//net:test_support",
- ]
+ deps = [ "//net:test_support" ]
public_deps = [
":aw_net_jni_headers",
"//net:net_test_jni_headers",
diff --git a/chromium/android_webview/tools/automated_ui_tests/BUILD.gn b/chromium/android_webview/tools/automated_ui_tests/BUILD.gn
index 03b3c41b9a7..47fb5daf6d7 100644
--- a/chromium/android_webview/tools/automated_ui_tests/BUILD.gn
+++ b/chromium/android_webview/tools/automated_ui_tests/BUILD.gn
@@ -23,7 +23,7 @@ android_apk("webview_ui_test_app_apk") {
}
android_library("webview_ui_test_app_java") {
- java_files =
+ sources =
[ "java/src/org/chromium/webview_ui_test/WebViewUiTestActivity.java" ]
deps = [
":webview_ui_test_app_apk_resources",
@@ -34,7 +34,11 @@ android_library("webview_ui_test_app_java") {
}
android_resources("webview_ui_test_app_apk_resources") {
- resource_dirs = [ "java/res" ]
+ sources = [
+ "java/res/layout/edittext_webview.xml",
+ "java/res/layout/fullscreen_webview.xml",
+ "java/res/values/strings.xml",
+ ]
custom_package = "org.chromium.webview_ui_test"
}
@@ -42,15 +46,15 @@ instrumentation_test_apk("webview_ui_test_app_test_apk") {
apk_name = "WebViewUiTestAppTest"
apk_under_test = ":webview_ui_test_app_apk"
android_manifest = "javatests/AndroidManifest.xml"
- java_files = [
+ sources = [
"javatests/src/org/chromium/webview_ui_test/test/ActionModeTest.java",
"javatests/src/org/chromium/webview_ui_test/test/DropDownListTest.java",
"javatests/src/org/chromium/webview_ui_test/test/WebViewJSTest.java",
"javatests/src/org/chromium/webview_ui_test/test/util/Actions.java",
"javatests/src/org/chromium/webview_ui_test/test/util/Atoms.java",
"javatests/src/org/chromium/webview_ui_test/test/util/UseLayout.java",
- "javatests/src/org/chromium/webview_ui_test/test/util/WebViewUiTestRule.java",
"javatests/src/org/chromium/webview_ui_test/test/util/WebViewSyncWrapper.java",
+ "javatests/src/org/chromium/webview_ui_test/test/util/WebViewUiTestRule.java",
]
deps = [
":webview_ui_test_app_apk_resources",
@@ -66,8 +70,6 @@ instrumentation_test_apk("webview_ui_test_app_test_apk") {
"//third_party/junit",
"//third_party/ub-uiautomator:ub_uiautomator_java",
]
- data = [
- "test/data/",
- ]
+ data = [ "test/data/" ]
use_webview_provider = system_webview_apk_target
}
diff --git a/chromium/android_webview/tools/system_webview_shell/BUILD.gn b/chromium/android_webview/tools/system_webview_shell/BUILD.gn
index 0db7ef53825..454403c5601 100644
--- a/chromium/android_webview/tools/system_webview_shell/BUILD.gn
+++ b/chromium/android_webview/tools/system_webview_shell/BUILD.gn
@@ -16,9 +16,20 @@ group("system_webview_shell") {
]
}
+declare_args() {
+ # Android package name to use for system_webview_shell_apk (the WebView shell
+ # browser). You can change this package name to work around signing key
+ # conflicts (INSTALL_FAILED_UPDATE_INCOMPATIBLE) on devices/emulators which
+ # have the shell browser preinstalled under the default package name.
+ system_webview_shell_package_name = "org.chromium.webview_shell"
+}
+
+system_webview_shell_android_manifest =
+ "$root_gen_dir/android_webview/system_webview_shell_apk/AndroidManifest.xml"
+
android_apk("system_webview_shell_apk") {
apk_name = "SystemWebViewShell"
- java_files = [
+ sources = [
"apk/src/org/chromium/webview_shell/JankActivity.java",
"apk/src/org/chromium/webview_shell/PageCyclerTestActivity.java",
"apk/src/org/chromium/webview_shell/StartupTimeActivity.java",
@@ -27,13 +38,16 @@ android_apk("system_webview_shell_apk") {
"apk/src/org/chromium/webview_shell/WebPlatformTestsActivity.java",
"apk/src/org/chromium/webview_shell/WebViewAnimationTestActivity.java",
"apk/src/org/chromium/webview_shell/WebViewBrowserActivity.java",
+ "apk/src/org/chromium/webview_shell/WebViewBrowserSecondProcessActivity.java",
"apk/src/org/chromium/webview_shell/WebViewCreateDestroyActivity.java",
"apk/src/org/chromium/webview_shell/WebViewLayoutTestActivity.java",
"apk/src/org/chromium/webview_shell/WebViewPackageHelper.java",
"apk/src/org/chromium/webview_shell/WebViewThreadTestActivity.java",
"apk/src/org/chromium/webview_shell/WebViewTracingActivity.java",
+ "apk/src/org/chromium/webview_shell/WebViewWithClipPath.java",
]
- android_manifest = "apk/AndroidManifest.xml"
+ android_manifest = system_webview_shell_android_manifest
+ android_manifest_dep = ":system_webview_shell_manifest"
target_sdk_version = 29
deps = [
":system_webview_shell_apk_resources",
@@ -43,19 +57,40 @@ android_apk("system_webview_shell_apk") {
]
}
+jinja_template("system_webview_shell_manifest") {
+ input = "apk/AndroidManifest.xml"
+ output = system_webview_shell_android_manifest
+ variables = [ "manifest_package=$system_webview_shell_package_name" ]
+}
+
android_resources("system_webview_shell_apk_resources") {
- resource_dirs = [ "apk/res" ]
- custom_package = "org.chromium.webview_shell"
- deps = [
- "//third_party/android_deps:android_support_v7_appcompat_java",
+ sources = [
+ "apk/res/drawable-mdpi/breadcrumb_arrow_black.png",
+ "apk/res/drawable-mdpi/ic_launcher.png",
+ "apk/res/layout/activity_empty.xml",
+ "apk/res/layout/activity_web_platform_tests.xml",
+ "apk/res/layout/activity_web_platform_tests_child.xml",
+ "apk/res/layout/activity_webview.xml",
+ "apk/res/layout/activity_webview_animation_test.xml",
+ "apk/res/layout/activity_webview_browser.xml",
+ "apk/res/menu/main_menu.xml",
+ "apk/res/values-night/colors.xml",
+ "apk/res/values-v17/styles.xml",
+ "apk/res/values-v29/styles.xml",
+ "apk/res/values/colors.xml",
+ "apk/res/values/strings.xml",
+ "apk/res/values/styles.xml",
+ "apk/res/xml/network_security_config.xml",
]
+ custom_package = "org.chromium.webview_shell"
+ deps = [ "//third_party/android_deps:android_support_v7_appcompat_java" ]
}
instrumentation_test_apk("system_webview_shell_page_cycler_apk") {
apk_name = "SystemWebViewShellPageCycler"
apk_under_test = ":system_webview_shell_apk"
android_manifest = "page_cycler/AndroidManifest.xml"
- java_files = [ "page_cycler/src/org/chromium/webview_shell/page_cycler/PageCyclerTest.java" ]
+ sources = [ "page_cycler/src/org/chromium/webview_shell/page_cycler/PageCyclerTest.java" ]
deps = [
"//base:base_java",
"//base:base_java_test_support",
@@ -72,7 +107,7 @@ instrumentation_test_apk("system_webview_shell_layout_test_apk") {
apk_name = "SystemWebViewShellLayoutTest"
apk_under_test = ":system_webview_shell_apk"
android_manifest = "layout_tests/AndroidManifest.xml"
- java_files = [
+ sources = [
"layout_tests/src/org/chromium/webview_shell/test/WebPlatformTestsActivityTest.java",
"layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java",
"layout_tests/src/org/chromium/webview_shell/test/WebViewThreadTest.java",
diff --git a/chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn b/chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn
index aca64663bf1..082186ebf39 100644
--- a/chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn
+++ b/chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn
@@ -7,14 +7,28 @@ import("//build/config/android/rules.gni")
android_apk("webview_log_verbosifier_apk") {
apk_name = "WebViewLogVerbosifier"
android_manifest = "AndroidManifest.xml"
- deps = [
- ":webview_log_verbosifier_resources",
- ]
+ deps = [ ":webview_log_verbosifier_resources" ]
min_sdk_version = 21
target_sdk_version = 28
}
android_resources("webview_log_verbosifier_resources") {
- resource_dirs = [ "res" ]
+ sources = [
+ "res/drawable-v24/ic_launcher_foreground.xml",
+ "res/drawable/ic_launcher_background.xml",
+ "res/mipmap-anydpi-v26/ic_launcher.xml",
+ "res/mipmap-anydpi-v26/ic_launcher_round.xml",
+ "res/mipmap-hdpi/ic_launcher.png",
+ "res/mipmap-hdpi/ic_launcher_round.png",
+ "res/mipmap-mdpi/ic_launcher.png",
+ "res/mipmap-mdpi/ic_launcher_round.png",
+ "res/mipmap-xhdpi/ic_launcher.png",
+ "res/mipmap-xhdpi/ic_launcher_round.png",
+ "res/mipmap-xxhdpi/ic_launcher.png",
+ "res/mipmap-xxhdpi/ic_launcher_round.png",
+ "res/mipmap-xxxhdpi/ic_launcher.png",
+ "res/mipmap-xxxhdpi/ic_launcher_round.png",
+ "res/values/ic_launcher_background.xml",
+ ]
custom_package = "org.chromium.webview_log_verbosifier"
}
diff --git a/chromium/android_webview/variables.gni b/chromium/android_webview/variables.gni
index 299b2092e01..3b6ec8010ae 100644
--- a/chromium/android_webview/variables.gni
+++ b/chromium/android_webview/variables.gni
@@ -2,11 +2,16 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/android/channel.gni")
+import("//build/config/android/config.gni")
import("//weblayer/variables.gni")
declare_args() {
- # Show a launcher icon to open WebView developer UI, off by default.
- webview_devui_show_icon = false
+ # Show a launcher icon to open WebView developer UI. This is enabled by
+ # default for all prestable builds. The icon for Monochrome is shown
+ # dynamically at runtime if Monochrome is the current selected system WebView
+ # implementation or hidden otherwise.
+ webview_devui_show_icon = android_channel != "stable"
}
system_webview_android_manifest =
@@ -14,6 +19,14 @@ system_webview_android_manifest =
trichrome_webview_android_manifest =
"$root_gen_dir/android_webview/trichrome_webview_apk/AndroidManifest.xml"
trichrome_webview_64_32_android_manifest = "$root_gen_dir/android_webview/trichrome_webview_64_32_apk/AndroidManifest.xml"
+trichrome_webview_32_android_manifest =
+ "$root_gen_dir/android_webview/trichrome_webview_32_apk/AndroidManifest.xml"
+
+# TODO(crbug/760187): We're in the process of migrating to always defining the
+# WebView targets upstream. Remove this once it's always true.
+if (!defined(define_upstream_webview_targets)) {
+ define_upstream_webview_targets = public_android_sdk
+}
upstream_only_webview_deps = [
"//android_webview:platform_service_bridge_upstream_implementation_java",