diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/android_webview | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-c30a6232df03e1efbd9f3b226777b07e087a1122.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/android_webview')
-rw-r--r-- | chromium/android_webview/BUILD.gn | 164 | ||||
-rw-r--r-- | chromium/android_webview/browser/BUILD.gn | 26 | ||||
-rw-r--r-- | chromium/android_webview/common/BUILD.gn | 28 | ||||
-rw-r--r-- | chromium/android_webview/common/aw_origin_matcher.mojom | 10 | ||||
-rw-r--r-- | chromium/android_webview/common/js_java_interaction/interfaces.mojom | 65 | ||||
-rw-r--r-- | chromium/android_webview/glue/BUILD.gn | 4 | ||||
-rw-r--r-- | chromium/android_webview/lib/BUILD.gn | 2 | ||||
-rw-r--r-- | chromium/android_webview/nonembedded/BUILD.gn | 9 | ||||
-rw-r--r-- | chromium/android_webview/proto/BUILD.gn | 5 | ||||
-rw-r--r-- | chromium/android_webview/renderer/BUILD.gn | 9 | ||||
-rw-r--r-- | chromium/android_webview/support_library/BUILD.gn | 2 | ||||
-rw-r--r-- | chromium/android_webview/system_webview_apk_tmpl.gni | 10 | ||||
-rw-r--r-- | chromium/android_webview/test/BUILD.gn | 57 | ||||
-rw-r--r-- | chromium/android_webview/tools/automated_ui_tests/BUILD.gn | 2 | ||||
-rw-r--r-- | chromium/android_webview/tools/system_webview_shell/BUILD.gn | 1 | ||||
-rw-r--r-- | chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn | 34 |
16 files changed, 191 insertions, 237 deletions
diff --git a/chromium/android_webview/BUILD.gn b/chromium/android_webview/BUILD.gn index 5d31c91f68e..455910c1d10 100644 --- a/chromium/android_webview/BUILD.gn +++ b/chromium/android_webview/BUILD.gn @@ -24,6 +24,13 @@ if (enable_resource_whitelist_generation) { "$target_gen_dir/system_webview_pak_whitelist.txt" } +# Having //clank present causes different flags because of how play services +# is wired up. +# The channel is required because manifest entries vary based on channel. +_verify_android_configuration = + !is_java_debug && !enable_chrome_android_internal && + android_channel == "stable" + template("standalone_system_webview_apk_tmpl") { system_webview_apk_or_module_tmpl(target_name) { forward_variables_from(invoker, "*") @@ -32,27 +39,12 @@ template("standalone_system_webview_apk_tmpl") { "//android_webview/nonembedded:system_webview_manifest" deps = upstream_only_webview_deps min_sdk_version = 21 - - # Material design is a large dependency that pulls in a lot of res/ files. - # At time of this comment, adding this dep even when unused adds 220kb. - assert_no_deps = [ - "//third_party/android_deps:com_google_android_material_material_java", - ] } } # Standalone WebView APK. standalone_system_webview_apk_tmpl("system_webview_apk") { apk_name = "SystemWebView" - - # Having //clank present causes different flags because of how play services - # is wired up. - # The channel is required because manifest entries vary based on channel. - _verify_android_configuration = - !enable_chrome_android_internal && android_channel == "stable" - if (_verify_android_configuration) { - verify_manifest = true - } } # This version of the WebView APK doesn't include WebLayer java and resources. @@ -67,6 +59,11 @@ if (enable_webview_bundles) { standalone_system_webview_apk_tmpl("system_webview_base_bundle_module") { target_type = "android_app_bundle_module" is_base_module = true + + if (_verify_android_configuration) { + expected_android_manifest = + "expectations/system_webview_bundle.AndroidManifest.expected" + } } system_webview_bundle("system_webview_bundle") { @@ -75,6 +72,19 @@ if (enable_webview_bundles) { min_sdk_version = 21 compress_shared_libraries = true } + + if (is_official_build) { + # Used for binary size monitoring. + create_app_bundle_minimal_apks("system_webview_minimal_apks") { + deps = [ ":system_webview_bundle" ] + bundle_path = "$root_build_dir/apks/SystemWebView.aab" + } + + android_resource_sizes_test("resource_sizes_system_webview_bundle") { + file_path = "$root_build_dir/apks/SystemWebView.minimal.apks" + data_deps = [ ":system_webview_minimal_apks" ] + } + } } if (android_64bit_target_cpu) { @@ -103,11 +113,6 @@ if (android_64bit_target_cpu) { } } -android_resource_sizes_test("resource_sizes_system_webview_apk") { - apk_name = "SystemWebView" - data_deps = [ ":system_webview_apk" ] -} - # Trichrome WebView APK. template("trichrome_webview_tmpl") { system_webview_apk_or_module_tmpl(target_name) { @@ -134,21 +139,17 @@ trichrome_webview_tmpl("trichrome_webview_apk") { if (!is_java_debug) { static_library_synchronized_proguard = trichrome_synchronized_proguard } - - # Having //clank present causes different flags because of how play services - # is wired up. - # The channel is required because manifest entries vary based on channel. - _verify_android_configuration = - !enable_chrome_android_internal && android_channel == "stable" - if (_verify_android_configuration) { - verify_manifest = true - } } if (enable_webview_bundles) { trichrome_webview_tmpl("trichrome_webview_base_bundle_module") { target_type = "android_app_bundle_module" is_base_module = true + + if (_verify_android_configuration) { + expected_android_manifest = + "expectations/trichrome_webview_bundle.AndroidManifest.expected" + } } system_webview_bundle("trichrome_webview_bundle") { @@ -158,6 +159,19 @@ if (enable_webview_bundles) { min_sdk_version = 29 static_library_provider = "//chrome/android:trichrome_library_apk" } + + if (is_official_build) { + # Used for binary size monitoring. + create_app_bundle_minimal_apks("trichrome_webview_minimal_apks") { + deps = [ ":trichrome_webview_bundle" ] + bundle_path = "$root_build_dir/apks/TrichromeWebView.aab" + } + + android_resource_sizes_test("resource_sizes_trichrome_webview_bundle") { + file_path = "$root_build_dir/apks/TrichromeWebView.minimal.apks" + data_deps = [ ":trichrome_webview_minimal_apks" ] + } + } } # Trichrome WebView APK for a 64-bit Chrome. @@ -238,15 +252,21 @@ if (android_64bit_target_cpu) { } # The shared library used by standalone WebView. -shared_library("libwebviewchromium") { - deps = [ - "//android_webview/lib", - "//android_webview/lib:webview_entry_point", - "//android_webview/nonembedded", - "//third_party/blink/public:blink", - ] - configs -= [ "//build/config/android:hide_all_but_jni_onload" ] - configs += [ "//build/config/android:hide_all_but_jni" ] +template("libwebviewchromium_tmpl") { + shared_library(target_name) { + forward_variables_from(invoker, "*") + deps = [ + "//android_webview/lib", + "//android_webview/lib:webview_entry_point", + "//android_webview/nonembedded", + "//third_party/blink/public:blink", + ] + configs -= [ "//build/config/android:hide_all_but_jni_onload" ] + configs += [ "//build/config/android:hide_all_but_jni" ] + } +} + +libwebviewchromium_tmpl("libwebviewchromium") { } # This template is used to define WebView's alternate-ABI libraries, which are @@ -300,7 +320,7 @@ java_group("android_webview_no_weblayer_java") { # here because there's currently no good way to enforce that it gets included # when it's depended on via JNI. ":common_java", - "//android_webview/glue", + "//android_webview/glue:glue_java", "//android_webview/nonembedded:nonembedded_java", "//android_webview/support_library:support_lib_glue_java", ] @@ -311,10 +331,7 @@ java_group("android_webview_java") { deps = [ ":android_webview_no_weblayer_java" ] if (webview_includes_weblayer) { - deps += [ - "//components/viz/service:service_java", - "//weblayer/browser/java", - ] + deps += [ "//weblayer/browser/java" ] } } @@ -355,13 +372,13 @@ generate_jni("browser_jni_headers") { "java/src/org/chromium/android_webview/AwRenderProcess.java", "java/src/org/chromium/android_webview/AwSettings.java", "java/src/org/chromium/android_webview/AwTracingController.java", - "java/src/org/chromium/android_webview/AwVariationsSeedBridge.java", "java/src/org/chromium/android_webview/AwWebContentsDelegate.java", "java/src/org/chromium/android_webview/AwWebResourceInterceptResponse.java", "java/src/org/chromium/android_webview/AwWebResourceResponse.java", "java/src/org/chromium/android_webview/InputStreamUtil.java", "java/src/org/chromium/android_webview/JsReplyProxy.java", "java/src/org/chromium/android_webview/PopupTouchHandleDrawable.java", + "java/src/org/chromium/android_webview/VariationsSeedLoader.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", @@ -402,7 +419,6 @@ android_library("browser_java") { "java/src/org/chromium/android_webview/AwDebug.java", "java/src/org/chromium/android_webview/AwDevToolsServer.java", "java/src/org/chromium/android_webview/AwFeatureList.java", - "java/src/org/chromium/android_webview/AwFeatures.java", "java/src/org/chromium/android_webview/AwFormDatabase.java", "java/src/org/chromium/android_webview/AwGeolocationPermissions.java", "java/src/org/chromium/android_webview/AwHistogramRecorder.java", @@ -424,7 +440,6 @@ android_library("browser_java") { "java/src/org/chromium/android_webview/AwSupportLibIsomorphic.java", "java/src/org/chromium/android_webview/AwThreadUtils.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", "java/src/org/chromium/android_webview/AwViewMethods.java", "java/src/org/chromium/android_webview/AwWebContentsDelegate.java", @@ -464,6 +479,7 @@ android_library("browser_java") { "java/src/org/chromium/android_webview/gfx/JavaBrowserViewRendererHelper.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/metrics/AwNonembeddedUmaReplayer.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", @@ -475,15 +491,15 @@ android_library("browser_java") { ":common_aidl_java", ":common_crash_java", ":common_java", - ":common_metrics_java", ":common_platform_services_java", ":common_variations_java", ":resources", "//android_webview/nonembedded:system_webview_manifest", + "//android_webview/proto:metrics_bridge_records_proto_java", "//base:base_java", "//base:jni_java", "//components/autofill/android:autofill_java", - "//components/autofill/android:provider_java", + "//components/autofill/android/provider:java", "//components/background_task_scheduler:background_task_scheduler_task_ids_java", "//components/content_capture/android:java", "//components/crash/android:handler_java", @@ -499,6 +515,7 @@ android_library("browser_java") { "//components/variations/android:variations_java", "//components/version_info/android:version_constants_java", "//components/viz/common:common_java", + "//components/viz/service:service_java", "//content/public/android:content_java", "//device/gamepad:java", "//mojo/public/java:system_java", @@ -506,6 +523,7 @@ android_library("browser_java") { "//net/android:net_java", "//services/network/public/mojom:mojom_java", "//third_party/android_deps:androidx_annotation_annotation_java", + "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java", "//third_party/blink/public:blink_headers_java", "//ui/android:ui_java", "//url:gurl_java", @@ -522,20 +540,6 @@ android_library("browser_java") { ] } -android_library("common_metrics_java") { - sources = [ - "java/src/org/chromium/android_webview/common/metrics/AwNonembeddedUmaRecorder.java", - "java/src/org/chromium/android_webview/common/metrics/AwNonembeddedUmaReplayer.java", - ] - deps = [ - ":common_aidl_java", - ":common_java", - "//android_webview/proto:metrics_bridge_records_proto_java", - "//base:base_java", - "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java", - ] -} - android_library("common_variations_java") { sources = [ "java/src/org/chromium/android_webview/common/variations/VariationsServiceMetricsHelper.java", @@ -596,6 +600,7 @@ android_library("common_crash_java") { android_library("common_java") { sources = [ + "java/src/org/chromium/android_webview/common/AwFeatures.java", "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", @@ -644,10 +649,12 @@ android_library("android_webview_product_config_java") { } if (enable_resource_whitelist_generation) { + libwebviewchromium_tmpl("system_webview_pak_whitelist_inputs") { + ldflags = [ "--collect-inputs-only" ] + } generate_resource_whitelist("system_webview_pak_whitelist") { - deps = [ ":libwebviewchromium" ] - inputs = - [ "$root_out_dir/lib.unstripped/libwebviewchromium$shlib_extension" ] + deps = [ ":system_webview_pak_whitelist_inputs" ] + inputs = [ "$root_out_dir/lib.unstripped/libsystem_webview_pak_whitelist_inputs$shlib_extension" ] output = system_webview_pak_whitelist } } @@ -723,6 +730,10 @@ repack("repack_100_percent") { repack_whitelist = system_webview_pak_whitelist deps += [ ":system_webview_pak_whitelist" ] } + if (webview_includes_weblayer) { + sources += [ "$target_gen_dir/components_resources_100_percent.pak" ] + deps += [ ":generate_components_scaled_resources" ] + } } android_assets("pak_file_assets") { @@ -926,6 +937,29 @@ grit("generate_components_resources") { ] } +grit("generate_components_scaled_resources") { + source = "../components/resources/components_scaled_resources.grd" + + # See :generate_webui_resources for an explanation of the allowlist + _allowlist = rebase_path("$target_gen_dir/grit_resources_allowlist.txt", + root_build_dir) + + grit_flags = [ + "-w", + _allowlist, + ] + outputs = [ + "grit/components_scaled_resources.h", + "grit/components_scaled_resources_map.cc", + "grit/components_scaled_resources_map.h", + "components_resources_100_percent.pak", + "components_resources_200_percent.pak", + "components_resources_300_percent.pak", + ] + + deps = [ ":concatenate_resources_allowlists" ] +} + grit("generate_components_strings") { source = "../components/components_strings.grd" diff --git a/chromium/android_webview/browser/BUILD.gn b/chromium/android_webview/browser/BUILD.gn index 5ffbfd442b6..f9072a45be0 100644 --- a/chromium/android_webview/browser/BUILD.gn +++ b/chromium/android_webview/browser/BUILD.gn @@ -56,6 +56,8 @@ source_set("browser") { "aw_feature_list.cc", "aw_feature_list_creator.cc", "aw_feature_list_creator.h", + "aw_field_trials.cc", + "aw_field_trials.h", "aw_form_database.cc", "aw_form_database_service.cc", "aw_form_database_service.h", @@ -73,8 +75,6 @@ source_set("browser") { "aw_pdf_exporter.h", "aw_permission_manager.cc", "aw_permission_manager.h", - "aw_pref_names.cc", - "aw_pref_names.h", "aw_print_manager.cc", "aw_print_manager.h", "aw_proxy_controller.cc", @@ -94,8 +94,6 @@ source_set("browser") { "aw_speech_recognition_manager_delegate.h", "aw_ssl_host_state_delegate.cc", "aw_ssl_host_state_delegate.h", - "aw_variations_seed_bridge.cc", - "aw_variations_seed_bridge.h", "aw_variations_service_client.cc", "aw_variations_service_client.h", "aw_web_contents_delegate.cc", @@ -112,12 +110,10 @@ source_set("browser") { "icon_helper.h", "input_stream.cc", "input_stream.h", - "js_java_interaction/js_java_configurator_host.cc", - "js_java_interaction/js_java_configurator_host.h", + "js_java_interaction/aw_web_message_host_factory.cc", + "js_java_interaction/aw_web_message_host_factory.h", "js_java_interaction/js_reply_proxy.cc", "js_java_interaction/js_reply_proxy.h", - "js_java_interaction/js_to_java_messaging.cc", - "js_java_interaction/js_to_java_messaging.h", "network_service/android_stream_reader_url_loader.cc", "network_service/android_stream_reader_url_loader.h", "network_service/aw_network_change_notifier.cc", @@ -180,12 +176,14 @@ source_set("browser") { "scoped_add_feature_flags.h", "state_serializer.cc", "state_serializer.h", - "tracing/aw_trace_event_args_whitelist.cc", - "tracing/aw_trace_event_args_whitelist.h", + "tracing/aw_trace_event_args_allowlist.cc", + "tracing/aw_trace_event_args_allowlist.h", "tracing/aw_tracing_controller.cc", "tracing/aw_tracing_controller.h", "tracing/aw_tracing_delegate.cc", "tracing/aw_tracing_delegate.h", + "variations_seed_loader.cc", + "variations_seed_loader.h", ] deps = [ @@ -195,13 +193,14 @@ source_set("browser") { "//android_webview/browser/lifecycle", "//android_webview/browser/metrics", "//android_webview/common", - "//android_webview/common:common_mojom", + "//android_webview/proto:aw_variations_seed_proto", "//base", - "//components/autofill/android:provider", + "//components/autofill/android/provider", "//components/autofill/content/browser", "//components/cdm/browser", "//components/content_capture/android", "//components/content_capture/browser", + "//components/flags_ui", # Called via JNI in CrashpadMain "//components/crash/android:crashpad_main", @@ -211,6 +210,9 @@ source_set("browser") { "//components/embedder_support/android/metrics", "//components/google/core/common", "//components/heap_profiling/multi_process", + "//components/js_injection/browser", + "//components/js_injection/common", + "//components/js_injection/common:common_mojom", "//components/metrics", "//components/minidump_uploader", "//components/navigation_interception", diff --git a/chromium/android_webview/common/BUILD.gn b/chromium/android_webview/common/BUILD.gn index 9d3b358a7a7..79d6b32c19a 100644 --- a/chromium/android_webview/common/BUILD.gn +++ b/chromium/android_webview/common/BUILD.gn @@ -5,32 +5,6 @@ import("//build/config/android/rules.gni") import("//mojo/public/tools/bindings/mojom.gni") -mojom("common_mojom") { - sources = [ - "aw_origin_matcher.mojom", - "js_java_interaction/interfaces.mojom", - ] - - public_deps = [ - "//mojo/public/mojom/base", - "//services/network/public/mojom:mojom", - "//third_party/blink/public/mojom:mojom_core", - ] - - 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") { sources = [ "android_webview_message_generator.cc", @@ -44,8 +18,6 @@ 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", diff --git a/chromium/android_webview/common/aw_origin_matcher.mojom b/chromium/android_webview/common/aw_origin_matcher.mojom deleted file mode 100644 index 453aa6693e0..00000000000 --- a/chromium/android_webview/common/aw_origin_matcher.mojom +++ /dev/null @@ -1,10 +0,0 @@ -// 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 deleted file mode 100644 index 1434bbafa44..00000000000 --- a/chromium/android_webview/common/js_java_interaction/interfaces.mojom +++ /dev/null @@ -1,65 +0,0 @@ -// 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. - -module android_webview.mojom; - -import "android_webview/common/aw_origin_matcher.mojom"; -import "mojo/public/mojom/base/string16.mojom"; -import "third_party/blink/public/mojom/messaging/message_port_descriptor.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 |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; - android_webview.mojom.AwOriginMatcher origin_matcher; -}; - -// DocumentStartJavascript struct contains the JavaScript snippet |script| and -// the corresponding |origin_matcher|. We will run the script if the frame's -// origin matches any rules in the |origin_matcher|. -struct DocumentStartJavascript { - int32 script_id; - mojo_base.mojom.String16 script; - android_webview.mojom.AwOriginMatcher origin_matcher; -}; - -// For JavaScript postMessage() API, implemented by browser. -interface JsToJavaMessaging { - // Called from renderer, browser receives |message| and possible |ports|, - // The |message| is an opaque type and the contents are defined by the client - // of this API. - PostMessage(mojo_base.mojom.String16 message, - array<blink.mojom.MessagePortDescriptor> ports); - - // When there is a new JavaToJsMessaging created in renderer, we need to send - // it to browser, so browser could send message back to Js. - SetJavaToJsMessaging( - pending_associated_remote<JavaToJsMessaging> java_to_js_messaging); -}; - -// For Java to reply back to injected JavaScript object. Implemented by -// renderer. -interface JavaToJsMessaging { - // Called from browser, to send message from Java to JavaScript. - OnPostMessage(mojo_base.mojom.String16 message); -}; - -// For browser to configure renderer, implemented by renderer. -interface JsJavaConfigurator { - // Called from browser, to tell renderer that if we need to inject - // JavaScript objects to the frame based on the |js_objects| array. - SetJsObjects(array<android_webview.mojom.JsObject> js_objects); - - // Called from browser, to add a script for a frame to run at document start - // stage. The script will run only if the frame's origin matches any of the - // allowed_origin_rules. - AddDocumentStartScript(android_webview.mojom.DocumentStartJavascript script); - - // Called from browser, to remove the script by the given script_id. - RemoveDocumentStartScript(int32 script_id); -}; diff --git a/chromium/android_webview/glue/BUILD.gn b/chromium/android_webview/glue/BUILD.gn index 3bd85ac1f57..7c3b1406e45 100644 --- a/chromium/android_webview/glue/BUILD.gn +++ b/chromium/android_webview/glue/BUILD.gn @@ -7,7 +7,7 @@ import("//android_webview/variables.gni") import("//build/config/android/config.gni") import("//build/config/android/rules.gni") -android_library("glue") { +android_library("glue_java") { deps = [ "//android_webview:android_webview_product_config_java", "//android_webview:browser_java", @@ -18,7 +18,7 @@ android_library("glue") { "//base:base_java", "//base:jni_java", "//components/autofill/android:autofill_java", - "//components/autofill/android:provider_java", + "//components/autofill/android/provider:java", "//components/content_capture/android:java", "//components/embedder_support/android:application_java", "//content/public/android:content_java", diff --git a/chromium/android_webview/lib/BUILD.gn b/chromium/android_webview/lib/BUILD.gn index 935d6979206..babccd9f9a8 100644 --- a/chromium/android_webview/lib/BUILD.gn +++ b/chromium/android_webview/lib/BUILD.gn @@ -25,6 +25,7 @@ source_set("lib") { "//components/autofill/core/common", "//components/crash/core/common", "//components/gwp_asan/buildflags", + "//components/metrics", "//components/safe_browsing/android:safe_browsing_api_handler", "//components/services/heap_profiling/public/cpp", "//components/spellcheck:buildflags", @@ -35,6 +36,7 @@ source_set("lib") { "//content/public/browser", "//content/public/common", "//content/public/common:content_descriptor_keys", + "//content/public/common:service_names", "//gin", "//gpu/command_buffer/service", "//gpu/config", diff --git a/chromium/android_webview/nonembedded/BUILD.gn b/chromium/android_webview/nonembedded/BUILD.gn index 3c88eaa0d9e..782bad9d169 100644 --- a/chromium/android_webview/nonembedded/BUILD.gn +++ b/chromium/android_webview/nonembedded/BUILD.gn @@ -14,6 +14,7 @@ generate_jni("nonembedded_jni_headers") { # as a library. android_library("nonembedded_java") { sources = [ + "java/src/org/chromium/android_webview/nonembedded/AwNonembeddedUmaRecorder.java", "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", @@ -22,11 +23,14 @@ android_library("nonembedded_java") { ":devui_java", ":services_java", "//android_webview:android_webview_product_config_java", + "//android_webview:common_aidl_java", "//android_webview:common_java", + "//android_webview/proto:metrics_bridge_records_proto_java", "//base:base_java", "//base:jni_java", "//components/about_ui/android:aboutui_java", "//components/embedder_support/android:application_java", + "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java", "//ui/android:ui_java", ] annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] @@ -55,10 +59,10 @@ android_library("devui_java") { "//android_webview:common_aidl_java", "//android_webview:common_crash_java", "//android_webview:common_java", - "//android_webview:common_metrics_java", "//android_webview:common_platform_services_java", "//base:base_java", "//components/minidump_uploader:minidump_uploader_java", + "//components/version_info/android:version_constants_java", "//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:androidx_fragment_fragment_java", "//ui/android:ui_java", @@ -82,14 +86,15 @@ android_library("services_java") { "//android_webview:common_aidl_java", "//android_webview:common_crash_java", "//android_webview:common_java", - "//android_webview:common_metrics_java", "//android_webview:common_platform_services_java", "//android_webview:common_variations_java", + "//android_webview/proto:metrics_bridge_records_proto_java", "//base:base_java", "//components/background_task_scheduler:background_task_scheduler_task_ids_java", "//components/minidump_uploader:minidump_uploader_java", "//components/variations/android:variations_java", "//components/version_info/android:version_constants_java", + "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java", ] } diff --git a/chromium/android_webview/proto/BUILD.gn b/chromium/android_webview/proto/BUILD.gn index 1a5177b76b2..2e395a63f53 100644 --- a/chromium/android_webview/proto/BUILD.gn +++ b/chromium/android_webview/proto/BUILD.gn @@ -3,6 +3,11 @@ # found in the LICENSE file. import("//build/config/android/rules.gni") +import("//third_party/protobuf/proto_library.gni") + +proto_library("aw_variations_seed_proto") { + sources = [ "aw_variations_seed.proto" ] +} proto_java_library("aw_variations_seed_proto_java") { proto_path = "." diff --git a/chromium/android_webview/renderer/BUILD.gn b/chromium/android_webview/renderer/BUILD.gn index 720bd42c0a5..2c5d250abc3 100644 --- a/chromium/android_webview/renderer/BUILD.gn +++ b/chromium/android_webview/renderer/BUILD.gn @@ -26,23 +26,20 @@ source_set("renderer") { "aw_websocket_handshake_throttle_provider.h", "browser_exposed_renderer_interfaces.cc", "browser_exposed_renderer_interfaces.h", - "js_java_interaction/js_binding.cc", - "js_java_interaction/js_binding.h", - "js_java_interaction/js_java_configurator.cc", - "js_java_interaction/js_java_configurator.h", ] deps = [ "//android_webview:generate_aw_resources", "//android_webview:generate_aw_strings", "//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", "//components/content_capture/renderer", + "//components/js_injection/common", + "//components/js_injection/renderer", "//components/page_load_metrics/renderer", "//components/printing/common", "//components/printing/renderer", @@ -61,10 +58,8 @@ source_set("renderer") { "//content/public/child", "//content/public/common", "//content/public/renderer", - "//gin", "//third_party/blink/public:blink", "//ui/base", "//url", - "//v8", ] } diff --git a/chromium/android_webview/support_library/BUILD.gn b/chromium/android_webview/support_library/BUILD.gn index c6aac0a882d..d8f31146087 100644 --- a/chromium/android_webview/support_library/BUILD.gn +++ b/chromium/android_webview/support_library/BUILD.gn @@ -31,7 +31,7 @@ android_library("support_lib_glue_java") { deps = [ "//android_webview:browser_java", - "//android_webview/glue:glue", + "//android_webview/glue:glue_java", "//android_webview/support_library/boundary_interfaces:boundary_interface_java", "//android_webview/support_library/callback:callback_java", "//base:base_java", diff --git a/chromium/android_webview/system_webview_apk_tmpl.gni b/chromium/android_webview/system_webview_apk_tmpl.gni index 299ce5a669f..f72da5fe8bb 100644 --- a/chromium/android_webview/system_webview_apk_tmpl.gni +++ b/chromium/android_webview/system_webview_apk_tmpl.gni @@ -11,6 +11,7 @@ import("//build/util/version.gni") import("//chrome/android/trichrome.gni") import("//tools/v8_context_snapshot/v8_context_snapshot.gni") import("//weblayer/variables.gni") +import("//weblayer/weblayer_resource_exclusions.gni") declare_args() { # Android package name to use when compiling the system_webview_apk and @@ -181,6 +182,15 @@ template("system_webview_apk_or_module_tmpl") { resource_exclusion_regex = common_resource_exclusion_regex resource_exclusion_exceptions = common_resource_exclusion_exceptions + if (webview_includes_weblayer) { + resource_values_filter_rules = weblayer_resource_values_filter_rules + resource_exclusion_exceptions += weblayer_resource_exclusion_exceptions + + # Note: WebLayer's resource exclusion regex deliberately does not start + # with "|". + resource_exclusion_regex += "|" + weblayer_resource_exclusion_regex + } + if (!_is_bundle_module) { # Used as an additional apk in test scripts. never_incremental = true diff --git a/chromium/android_webview/test/BUILD.gn b/chromium/android_webview/test/BUILD.gn index e54b98e2ca2..1921db0a627 100644 --- a/chromium/android_webview/test/BUILD.gn +++ b/chromium/android_webview/test/BUILD.gn @@ -112,6 +112,7 @@ android_assets("webview_instrumentation_apk_assets") { "shell/assets/asset_icon.png", "shell/assets/autofill.html", "shell/assets/cookie_test.html", + "shell/assets/cors.html", "shell/assets/full_screen_video.js", "shell/assets/full_screen_video_inside_div_test.html", "shell/assets/full_screen_video_test.html", @@ -159,17 +160,33 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { deps = [ ":webview_instrumentation_test_utils_java", "//android_webview:android_webview_java", + "//android_webview:common_aidl_java", + "//android_webview:common_crash_java", + "//android_webview:common_platform_services_java", + "//android_webview:common_variations_java", + "//android_webview/nonembedded:devui_java", + "//android_webview/nonembedded:services_java", + "//android_webview/proto:aw_variations_seed_proto_java", + "//android_webview/proto:metrics_bridge_records_proto_java", "//android_webview/test/embedded_test_server:aw_net_java_test_support", "//base:base_java", "//base:base_java_test_support", - "//components/autofill/android:provider_java", + "//components/autofill/android:autofill_java", + "//components/autofill/android/provider:java", + "//components/autofill/core/common/mojom:mojo_types_java", + "//components/background_task_scheduler:background_task_scheduler_task_ids_java", + "//components/content_capture/android:java", "//components/embedder_support/android:web_contents_delegate_java", + "//components/heap_profiling/multi_process:heap_profiling_java_test_support", "//components/metrics:metrics_java", "//components/minidump_uploader:minidump_uploader_java", "//components/minidump_uploader:minidump_uploader_javatests", "//components/policy/android:policy_java", "//components/policy/android:policy_java_test_support", "//components/safe_browsing/android:safe_browsing_java", + "//components/variations/android:variations_java", + "//components/variations/proto:proto_java", + "//components/version_info/android:version_constants_java", "//content/public/android:content_java", "//content/public/test/android:content_java_test_support", "//mojo/public/java:bindings_java", @@ -179,12 +196,16 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { "//services/device/public/java:geolocation_java", "//services/device/public/java:geolocation_java_test_support", "//third_party/android_deps:com_google_guava_failureaccess_java", + "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java", + "//third_party/android_deps:espresso_java", "//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:runner_java", - "//third_party/espresso:espresso_all_java", + "//third_party/blink/public/mojom:web_feature_mojo_bindings_java", + "//third_party/guava:guava_android_java", "//third_party/hamcrest:hamcrest_java", "//third_party/junit", "//third_party/metrics_proto:metrics_proto_java", + "//third_party/mockito:mockito_java", "//ui/android:ui_java", "//url:gurl_java", ] @@ -218,7 +239,6 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { "../javatests/src/org/chromium/android_webview/test/AwContentsRenderTest.java", "../javatests/src/org/chromium/android_webview/test/AwContentsStaticsTest.java", "../javatests/src/org/chromium/android_webview/test/AwContentsTest.java", - "../javatests/src/org/chromium/android_webview/test/AwDebugTest.java", "../javatests/src/org/chromium/android_webview/test/AwFormDatabaseTest.java", "../javatests/src/org/chromium/android_webview/test/AwImeTest.java", "../javatests/src/org/chromium/android_webview/test/AwJavaBridgeTest.java", @@ -277,6 +297,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { "../javatests/src/org/chromium/android_webview/test/UserAgentTest.java", "../javatests/src/org/chromium/android_webview/test/VariationsSeedHolderTest.java", "../javatests/src/org/chromium/android_webview/test/VariationsSeedLoaderTest.java", + "../javatests/src/org/chromium/android_webview/test/VariationsTest.java", "../javatests/src/org/chromium/android_webview/test/VisualStateTest.java", "../javatests/src/org/chromium/android_webview/test/WebKitHitTestTest.java", "../javatests/src/org/chromium/android_webview/test/WebViewAsynchronousFindApisTest.java", @@ -284,8 +305,8 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { "../javatests/src/org/chromium/android_webview/test/WebViewModalDialogOverrideTest.java", "../javatests/src/org/chromium/android_webview/test/common/crash/CrashInfoEqualityMatcher.java", "../javatests/src/org/chromium/android_webview/test/common/crash/CrashInfoTest.java", - "../javatests/src/org/chromium/android_webview/test/common/metrics/AwNonembeddedUmaRecorderTest.java", "../javatests/src/org/chromium/android_webview/test/common/variations/VariationsUtilsTest.java", + "../javatests/src/org/chromium/android_webview/test/devui/AwNonembeddedUmaRecorderTest.java", "../javatests/src/org/chromium/android_webview/test/devui/DeveloperUiTest.java", "../javatests/src/org/chromium/android_webview/test/devui/util/CrashBugUrlFactoryTest.java", "../javatests/src/org/chromium/android_webview/test/devui/util/UnuploadedFilesStateLoaderTest.java", @@ -308,7 +329,6 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { "../javatests/src/org/chromium/android_webview/test/util/ImagePageGenerator.java", "../javatests/src/org/chromium/android_webview/test/util/JSUtils.java", "../javatests/src/org/chromium/android_webview/test/util/JavascriptEventObserver.java", - "../javatests/src/org/chromium/android_webview/test/util/VariationsTestUtils.java", "../javatests/src/org/chromium/android_webview/test/util/VideoSurfaceViewUtils.java", "../javatests/src/org/chromium/android_webview/test/util/VideoTestUtil.java", "../javatests/src/org/chromium/android_webview/test/util/VideoTestWebServer.java", @@ -342,27 +362,41 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { android_library("webview_instrumentation_test_utils_java") { testonly = true - sources = [ "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java" ] + sources = [ + "../javatests/src/org/chromium/android_webview/test/util/VariationsTestUtils.java", + "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java", + ] deps = [ + "//android_webview:common_variations_java", "//base:base_java", "//base:jni_java", + "//components/variations/android:variations_java", + "//third_party/junit", ] annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] } generate_jni("webview_instrumentation_test_native_jni") { testonly = true - sources = [ "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java" ] + sources = [ + "../javatests/src/org/chromium/android_webview/test/util/VariationsTestUtils.java", + "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 = [ + "browser/variations_test_utils.cc", + "shell/memory_metrics_logger_utils.cc", + ] deps = [ ":webview_instrumentation_test_native_jni", + "//android_webview/browser", "//base", "//base/test:test_support", "//components/embedder_support/android/metrics", + "//third_party/protobuf:protobuf_lite", ] } @@ -419,7 +453,6 @@ 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", ] @@ -458,15 +491,19 @@ junit_binary("android_webview_junit_tests") { "../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/metrics/AwNonembeddedUmaReplayerTest.java", "../junit/src/org/chromium/android_webview/robolectric/common/services/ServiceNamesTest.java", + "../junit/src/org/chromium/android_webview/robolectric/metrics/AwNonembeddedUmaReplayerTest.java", ] deps = [ "//android_webview:android_webview_java", + "//android_webview/nonembedded:services_java", + "//android_webview/proto:metrics_bridge_records_proto_java", + "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", "//content/public/test/android:content_java_test_support", + "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java", "//third_party/android_support_test_runner:runner_java", ] diff --git a/chromium/android_webview/tools/automated_ui_tests/BUILD.gn b/chromium/android_webview/tools/automated_ui_tests/BUILD.gn index 8c4d2052476..65159817753 100644 --- a/chromium/android_webview/tools/automated_ui_tests/BUILD.gn +++ b/chromium/android_webview/tools/automated_ui_tests/BUILD.gn @@ -60,10 +60,10 @@ instrumentation_test_apk("webview_ui_test_app_test_apk") { "//base:base_java", "//base:base_java_test_support", "//third_party/android_deps:androidx_annotation_annotation_java", + "//third_party/android_deps:espresso_java", "//third_party/android_sdk:android_test_base_java", "//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:runner_java", - "//third_party/espresso:espresso_all_java", "//third_party/hamcrest:hamcrest_java", "//third_party/junit", "//third_party/ub-uiautomator:ub_uiautomator_java", diff --git a/chromium/android_webview/tools/system_webview_shell/BUILD.gn b/chromium/android_webview/tools/system_webview_shell/BUILD.gn index 454403c5601..bb540814f9b 100644 --- a/chromium/android_webview/tools/system_webview_shell/BUILD.gn +++ b/chromium/android_webview/tools/system_webview_shell/BUILD.gn @@ -116,6 +116,7 @@ instrumentation_test_apk("system_webview_shell_layout_test_apk") { "//base:base_java", "//base:base_java_test_support", "//testing/android/reporter:reporter_java", + "//third_party/android_sdk:android_test_base_java", "//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:runner_java", "//third_party/junit", diff --git a/chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn b/chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn deleted file mode 100644 index 082186ebf39..00000000000 --- a/chromium/android_webview/tools/webview_log_verbosifier/BUILD.gn +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 2018 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") - -android_apk("webview_log_verbosifier_apk") { - apk_name = "WebViewLogVerbosifier" - android_manifest = "AndroidManifest.xml" - deps = [ ":webview_log_verbosifier_resources" ] - min_sdk_version = 21 - target_sdk_version = 28 -} - -android_resources("webview_log_verbosifier_resources") { - 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" -} |