summaryrefslogtreecommitdiff
path: root/chromium/android_webview
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-09-18 14:34:04 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-10-04 11:15:27 +0000
commite6430e577f105ad8813c92e75c54660c4985026e (patch)
tree88115e5d1fb471fea807111924dcccbeadbf9e4f /chromium/android_webview
parent53d399fe6415a96ea6986ec0d402a9c07da72453 (diff)
downloadqtwebengine-chromium-e6430e577f105ad8813c92e75c54660c4985026e.tar.gz
BASELINE: Update Chromium to 61.0.3163.99
Change-Id: I8452f34574d88ca2b27af9bd56fc9ff3f16b1367 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/android_webview')
-rw-r--r--chromium/android_webview/BUILD.gn71
-rw-r--r--chromium/android_webview/apk/BUILD.gn15
-rw-r--r--chromium/android_webview/glue/BUILD.gn32
-rw-r--r--chromium/android_webview/glue/glue.gni2
-rw-r--r--chromium/android_webview/system_webview_apk_tmpl.gni13
-rw-r--r--chromium/android_webview/test/BUILD.gn20
-rw-r--r--chromium/android_webview/test/embedded_test_server/BUILD.gn76
-rw-r--r--chromium/android_webview/tools/system_webview_shell/BUILD.gn3
8 files changed, 174 insertions, 58 deletions
diff --git a/chromium/android_webview/BUILD.gn b/chromium/android_webview/BUILD.gn
index 3f9ce2754e0..11e8f1fe7b4 100644
--- a/chromium/android_webview/BUILD.gn
+++ b/chromium/android_webview/BUILD.gn
@@ -99,6 +99,12 @@ java_cpp_enum("aw_error_ui") {
]
}
+java_cpp_enum("aw_safe_browsing_action") {
+ sources = [
+ "browser/aw_safe_browsing_resource_throttle.h",
+ ]
+}
+
jinja_template("system_webview_manifest") {
input = "apk/java/AndroidManifest.xml"
output = system_webview_android_manifest
@@ -174,8 +180,6 @@ repack("repack_100_percent") {
}
}
-webview_license_path = "$target_gen_dir/webview_licenses.notice"
-
android_assets("pak_file_assets") {
sources = [
"$target_gen_dir/chrome_100_percent.pak",
@@ -191,11 +195,7 @@ android_assets("pak_file_assets") {
# These assets are needed by both monochrome and stand alone WebView, but not by
# Chrome.
android_assets("monochrome_webview_assets") {
- sources = [
- webview_license_path,
- ]
deps = [
- ":generate_webview_license_notice",
"//third_party/icu:icu_assets",
"//v8:v8_external_startup_data_assets",
]
@@ -206,35 +206,24 @@ android_assets("monochrome_webview_assets") {
android_assets("assets") {
deps = [
+ ":license_assets",
":locale_pak_assets",
":monochrome_webview_assets",
":pak_file_assets",
]
}
-android_assets("stub_assets") {
- sources = [
- webview_license_path,
- ]
+java_group("stub_assets") {
deps = [
- ":generate_webview_license_notice",
+ ":license_assets",
]
}
-action("generate_webview_license_notice") {
- script = "tools/webview_licenses.py"
- depfile = "$target_gen_dir/$target_name.d"
- inputs = [
- "tools/licenses_notice.tmpl",
- ]
- outputs = [
- webview_license_path,
- ]
- args = [
- "notice",
- rebase_path(webview_license_path, root_build_dir),
- "--depfile",
- rebase_path(depfile, root_build_dir),
+android_assets("license_assets") {
+ renaming_sources = [ "$root_gen_dir/components/resources/about_credits.html" ]
+ renaming_destinations = [ "webview_licenses.notice" ]
+ deps = [
+ "//components/resources:about_credits",
]
}
@@ -272,6 +261,9 @@ 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
# to a reasonable size
whitelist = rebase_path("ui/grit_resources_whitelist.txt")
@@ -293,6 +285,9 @@ grit("generate_webui_resources") {
grit("generate_components_resources") {
source = "../components/resources/components_resources.grd"
+ # The .grd contains references to generated files.
+ source_is_generated = true
+
# See :generate_webui_resources for an explanation of the whitelist
whitelist = rebase_path("ui/grit_resources_whitelist.txt")
inputs = [
@@ -306,6 +301,10 @@ grit("generate_components_resources") {
"grit/components_resources.h",
"components_resources.pak",
]
+
+ deps = [
+ "//components/resources:components_resources",
+ ]
}
grit("generate_components_strings") {
@@ -523,6 +522,8 @@ source_set("common") {
"browser/aw_safe_browsing_resource_throttle.h",
"browser/aw_safe_browsing_ui_manager.cc",
"browser/aw_safe_browsing_ui_manager.h",
+ "browser/aw_safe_browsing_whitelist_manager.cc",
+ "browser/aw_safe_browsing_whitelist_manager.h",
"browser/aw_settings.cc",
"browser/aw_settings.h",
"browser/aw_ssl_host_state_delegate.cc",
@@ -531,6 +532,8 @@ source_set("common") {
"browser/aw_web_contents_delegate.h",
"browser/aw_web_contents_view_delegate.cc",
"browser/aw_web_contents_view_delegate.h",
+ "browser/aw_web_ui_controller_factory.cc",
+ "browser/aw_web_ui_controller_factory.h",
"browser/browser_view_renderer.cc",
"browser/browser_view_renderer.h",
"browser/browser_view_renderer_client.h",
@@ -683,6 +686,7 @@ source_set("common") {
"//base",
"//base/third_party/dynamic_annotations:dynamic_annotations",
"//cc/surfaces",
+ "//components/autofill/android:provider",
"//components/autofill/content/browser",
"//components/autofill/content/renderer",
"//components/cdm/browser",
@@ -695,6 +699,7 @@ source_set("common") {
"//components/metrics:profiler",
"//components/metrics:ui",
"//components/navigation_interception",
+ "//components/network_session_configurator/common",
"//components/policy:generated",
"//components/policy/core/browser",
"//components/prefs",
@@ -702,13 +707,20 @@ source_set("common") {
"//components/printing/common",
"//components/printing/renderer",
"//components/safe_browsing",
+ "//components/safe_browsing/browser",
+ "//components/safe_browsing/common",
+ "//components/safe_browsing/renderer:websocket_sb_handshake_throttle",
+ "//components/safe_browsing/triggers",
+ "//components/safe_browsing/web_ui",
"//components/safe_browsing_db:safe_browsing_db_mobile",
"//components/spellcheck:build_features",
"//components/supervised_user_error_page",
"//components/supervised_user_error_page:gin",
+ "//components/url_matcher",
"//components/version_info",
"//components/visitedlink/browser",
"//components/visitedlink/renderer",
+ "//components/viz/service",
"//components/web_contents_delegate_android:web_contents_delegate_android",
"//components/web_restrictions:browser",
"//content",
@@ -722,6 +734,7 @@ source_set("common") {
"//gpu/command_buffer/client:gles2_implementation",
"//gpu/command_buffer/common:gles2_utils",
"//gpu/command_buffer/service",
+ "//gpu/config:crash_keys",
"//gpu/ipc:gl_in_process_context",
"//gpu/skia_bindings",
"//media",
@@ -758,6 +771,7 @@ source_set("common") {
android_library("android_webview_java") {
java_files = [
"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/AwBrowserContext.java",
@@ -786,10 +800,12 @@ android_library("android_webview_java") {
"java/src/org/chromium/android_webview/AwPicture.java",
"java/src/org/chromium/android_webview/AwPrintDocumentAdapter.java",
"java/src/org/chromium/android_webview/AwSafeBrowsingConfigHelper.java",
+ "java/src/org/chromium/android_webview/AwSafeBrowsingResponse.java",
"java/src/org/chromium/android_webview/AwQuotaManagerBridge.java",
"java/src/org/chromium/android_webview/AwRendererPriorityManager.java",
"java/src/org/chromium/android_webview/AwRenderProcessGoneDetail.java",
"java/src/org/chromium/android_webview/AwResource.java",
+ "java/src/org/chromium/android_webview/AwSafeBrowsingConversionHelper.java",
"java/src/org/chromium/android_webview/AwScrollOffsetManager.java",
"java/src/org/chromium/android_webview/AwServiceWorkerClient.java",
"java/src/org/chromium/android_webview/AwServiceWorkerController.java",
@@ -833,13 +849,14 @@ android_library("android_webview_java") {
":strings_grd",
"//base:base_java",
"//components/autofill/android:autofill_java",
+ "//components/autofill/android:provider_java",
"//components/crash/android:java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/navigation_interception/android:navigation_interception_java",
"//components/policy/android:policy_java",
"//components/safe_browsing_db/android:safe_browsing_java",
"//components/web_contents_delegate_android:web_contents_delegate_android_java",
- "//components/web_restrictions:web_restrictions_java",
+ "//components/web_restrictions:client_java",
"//content/public/android:content_java",
"//device/gamepad:java",
"//device/geolocation:geolocation_java",
@@ -856,6 +873,8 @@ android_library("android_webview_java") {
":aw_permission_request_resource",
":aw_renderer_priority_manager_renderer_priority",
":aw_error_ui",
+ ":aw_safe_browsing_action",
+ "//components/safe_browsing_db:sb_threat_values",
]
}
diff --git a/chromium/android_webview/apk/BUILD.gn b/chromium/android_webview/apk/BUILD.gn
new file mode 100644
index 00000000000..a846f82f1a5
--- /dev/null
+++ b/chromium/android_webview/apk/BUILD.gn
@@ -0,0 +1,15 @@
+# Copyright 2017 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")
+
+# Since Monochrome has its own content provider, these two files are put
+# in two different targets.
+android_library("webview_license_provider_java") {
+ java_files = [ "//android_webview/apk/java/src/com/android/webview/chromium/LicenseContentProvider.java" ]
+}
+
+android_library("webview_license_activity_java") {
+ java_files = [ "//android_webview/apk/java/src/com/android/webview/chromium/LicenseActivity.java" ]
+}
diff --git a/chromium/android_webview/glue/BUILD.gn b/chromium/android_webview/glue/BUILD.gn
index ab529541f9b..d2218ecbd2c 100644
--- a/chromium/android_webview/glue/BUILD.gn
+++ b/chromium/android_webview/glue/BUILD.gn
@@ -7,26 +7,8 @@ import("//build/config/android/rules.gni")
import("generate_resource_rewriter.gni")
import("glue.gni")
-# There are two copies of this file: one upstream and one downstream,
-# all targets defined in this file will finally generate two targets.
-# is_upstream could be used to differentiate those two targets, see
-# 'glue' target for details.
-is_upstream = rebase_path(".", "//android_webview/glue") == "."
-
-webview_framework_ijar = "frameworks.interface.jar"
webview_public_framework_ijar = "frameworks.public.interface.jar"
-# Mark webview_framework_ijar is used, otherwise it isn't used if there
-# is no internal code.
-assert(webview_framework_ijar != "")
-
-if (defined(webview_internal_framework_jar)) {
- generate_interface_jar("framework_ijar") {
- input_jar = webview_internal_framework_jar
- output_jar = "$target_out_dir/$webview_framework_ijar"
- }
-}
-
generate_interface_jar("public_framework_ijar") {
input_jar = webview_public_framework_jar
output_jar = "$target_out_dir/$webview_public_framework_ijar"
@@ -43,16 +25,8 @@ android_library("glue") {
deps = glue_library_deps
srcjar_deps = [ ":glue_resource_rewriter" ]
- # Always build upstream or downstream target with public or internal
- # framework jar respectively.
- if (is_upstream) {
- alternative_android_sdk_ijar_dep = ":public_framework_ijar"
- _ijar = webview_public_framework_ijar
- } else {
- assert(defined(webview_internal_framework_jar))
- alternative_android_sdk_ijar_dep = ":framework_ijar"
- _ijar = webview_framework_ijar
- }
+ alternative_android_sdk_ijar_dep = ":public_framework_ijar"
+ _ijar = webview_public_framework_ijar
_ijar_dir = get_label_info(alternative_android_sdk_ijar_dep, "target_out_dir")
alternative_android_sdk_ijar = "$_ijar_dir/$_ijar"
java_files = [
@@ -61,8 +35,6 @@ android_library("glue") {
"java/src/com/android/webview/chromium/DrawGLFunctor.java",
"java/src/com/android/webview/chromium/GeolocationPermissionsAdapter.java",
"java/src/com/android/webview/chromium/GraphicsUtils.java",
- "java/src/com/android/webview/chromium/LicenseActivity.java",
- "java/src/com/android/webview/chromium/LicenseContentProvider.java",
"java/src/com/android/webview/chromium/MonochromeLibraryPreloader.java",
"java/src/com/android/webview/chromium/ServiceWorkerClientAdapter.java",
"java/src/com/android/webview/chromium/ServiceWorkerControllerAdapter.java",
diff --git a/chromium/android_webview/glue/glue.gni b/chromium/android_webview/glue/glue.gni
index 7da54cfc227..cdc293d445e 100644
--- a/chromium/android_webview/glue/glue.gni
+++ b/chromium/android_webview/glue/glue.gni
@@ -9,6 +9,8 @@ glue_library_deps = [
"//android_webview:android_webview_commandline_java",
"//android_webview:android_webview_platform_services_java",
"//base:base_java",
+ "//components/autofill/android:autofill_java",
+ "//components/autofill/android:provider_java",
"//content/public/android:content_java",
"//net/android:net_java",
"//ui/android:ui_java",
diff --git a/chromium/android_webview/system_webview_apk_tmpl.gni b/chromium/android_webview/system_webview_apk_tmpl.gni
index b222511eb6d..46aea90128d 100644
--- a/chromium/android_webview/system_webview_apk_tmpl.gni
+++ b/chromium/android_webview/system_webview_apk_tmpl.gni
@@ -12,6 +12,8 @@ template("system_webview_apk_tmpl") {
deps += [
"//android_webview:assets",
+ "//android_webview/apk:webview_license_activity_java",
+ "//android_webview/apk:webview_license_provider_java",
"//base:base_java",
]
@@ -30,6 +32,16 @@ template("system_webview_apk_tmpl") {
}
aapt_locale_whitelist = locales
+ # Whitelist rationale in https://crbug.com/691733.
+ exclude_xxxhdpi = true
+ xxxhdpi_whitelist = [
+ "*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_java_debug) {
enable_multidex = true
} else {
@@ -42,6 +54,7 @@ template("system_webview_apk_tmpl") {
"//base/android/proguard/chromium_apk.flags",
"//base/android/proguard/chromium_code.flags",
]
+ png_to_webp = true
}
}
}
diff --git a/chromium/android_webview/test/BUILD.gn b/chromium/android_webview/test/BUILD.gn
index 4a770649451..741a8e32d45 100644
--- a/chromium/android_webview/test/BUILD.gn
+++ b/chromium/android_webview/test/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//build/config/android/rules.gni")
+import("//device/vr/features/features.gni")
import("//testing/test.gni")
# Mark all targets as test only.
@@ -54,6 +55,8 @@ android_apk("webview_instrumentation_apk") {
native_lib_version_arg = "@FileArg($_native_lib_file:full-quoted)"
enable_multidex = true
+
+ command_line_flags_file = "android-webview-command-line"
}
android_resources("android_webview_apk_resources") {
@@ -83,6 +86,7 @@ android_assets("android_webview_apk_assets") {
"shell/assets/visual_state_on_page_commit_visible_test.html",
"shell/assets/visual_state_waits_for_js_detached_test.html",
"shell/assets/visual_state_waits_for_js_test.html",
+ "shell/assets/webvr_not_functional_test.html",
]
}
@@ -106,6 +110,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"//android_webview:android_webview_crash_services_java",
"//android_webview:android_webview_java",
"//android_webview:android_webview_platform_services_java",
+ "//android_webview/test/embedded_test_server:aw_net_java_test_support",
"//base:base_java",
"//base:base_java_test_support",
"//components/minidump_uploader:minidump_uploader_java",
@@ -203,6 +208,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"../javatests/src/org/chromium/android_webview/test/WebViewAsynchronousFindApisTest.java",
"../javatests/src/org/chromium/android_webview/test/WebViewFindApisTestBase.java",
"../javatests/src/org/chromium/android_webview/test/WebViewModalDialogOverrideTest.java",
+ "../javatests/src/org/chromium/android_webview/test/WebViewWebVrTest.java",
"../javatests/src/org/chromium/android_webview/test/crash/CrashReceiverServiceTest.java",
"../javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java",
"../javatests/src/org/chromium/android_webview/test/crash/VisualStateCallbackTest.java",
@@ -221,7 +227,18 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
data = [
"data/",
]
- additional_apks = [ "//net/android:net_test_support_apk" ]
+
+ # We only want to bother including these on bots set up for VR testing
+ if (include_vr_data) {
+ data += [
+ "//chrome/android/shared_preference_files/test/",
+ "//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk",
+ ]
+ }
+ additional_apks = [
+ "//android_webview/test/embedded_test_server:aw_net_test_support_apk",
+ "//net/android:net_test_support_apk",
+ ]
}
test("android_webview_unittests") {
@@ -250,6 +267,7 @@ test("android_webview_unittests") {
"../browser/aw_form_database_service_unittest.cc",
"../browser/aw_media_url_interceptor_unittest.cc",
"../browser/aw_permission_manager_unittest.cc",
+ "../browser/aw_safe_browsing_whitelist_manager_unittest.cc",
"../browser/aw_static_cookie_policy_unittest.cc",
"../browser/browser_view_renderer_unittest.cc",
"../browser/command_line_helper_unittest.cc",
diff --git a/chromium/android_webview/test/embedded_test_server/BUILD.gn b/chromium/android_webview/test/embedded_test_server/BUILD.gn
new file mode 100644
index 00000000000..f9d6dbf9fb6
--- /dev/null
+++ b/chromium/android_webview/test/embedded_test_server/BUILD.gn
@@ -0,0 +1,76 @@
+# Copyright 2017 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/config.gni")
+import("//build/config/android/rules.gni")
+
+android_library("aw_net_java_test_support") {
+ testonly = true
+ java_files = [
+ "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",
+ ]
+ deps = [
+ "//base:base_java",
+ "//base:base_java_test_support",
+ "//net/android:embedded_test_server_aidl_java",
+ "//net/android:net_java",
+ "//net/android:net_java_test_support",
+ "//net/android:net_java_test_support_provider",
+ ]
+}
+
+generate_jni("aw_net_jni_headers") {
+ sources = [
+ "java/src/org/chromium/android_webview/test/AwEmbeddedTestServerImpl.java",
+ ]
+ jni_package = "android_webview/test"
+}
+
+source_set("aw_java_test_native_support") {
+ testonly = true
+ sources = [
+ "../../../net/test/android/net_test_jni_onload.cc",
+ "../../../net/test/android/net_test_jni_onload.h",
+ "../../../net/test/embedded_test_server/android/embedded_test_server_android.cc",
+ "../../../net/test/embedded_test_server/android/embedded_test_server_android.h",
+ "aw_embedded_test_server.cc",
+ "aw_embedded_test_server.h",
+ "aw_test_entry_point.cc",
+ "aw_test_jni_onload.cc",
+ "aw_test_jni_onload.h",
+ ]
+ deps = [
+ "//net:test_support",
+ ]
+ public_deps = [
+ ":aw_net_jni_headers",
+ "//net:net_test_jni_headers",
+ ]
+}
+
+shared_library("aw_net_java_test_native_support") {
+ testonly = true
+ deps = [
+ ":aw_java_test_native_support",
+ "//net:test_support",
+ ]
+ configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
+ configs += [ "//build/config/android:hide_all_but_jni" ]
+}
+
+android_apk("aw_net_test_support_apk") {
+ testonly = true
+
+ # Used as an additional_apk in test scripts.
+ never_incremental = true
+ deps = [
+ ":aw_net_java_test_support",
+ "//base:base_java",
+ ]
+ android_manifest = "java/AndroidManifest.xml"
+ apk_name = "ChromiumNetTestAwSupport"
+ shared_libraries = [ ":aw_net_java_test_native_support" ]
+}
diff --git a/chromium/android_webview/tools/system_webview_shell/BUILD.gn b/chromium/android_webview/tools/system_webview_shell/BUILD.gn
index e79f5e79a67..5fb6ab16006 100644
--- a/chromium/android_webview/tools/system_webview_shell/BUILD.gn
+++ b/chromium/android_webview/tools/system_webview_shell/BUILD.gn
@@ -80,9 +80,10 @@ instrumentation_test_apk("system_webview_shell_layout_test_apk") {
"//third_party/WebKit/LayoutTests/platform/linux/virtual/stable/webexposed/",
"//third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/",
"//third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/",
+ "//third_party/WebKit/LayoutTests/resources/global-interface-listing.js",
"//third_party/WebKit/LayoutTests/virtual/stable/webexposed/",
"//third_party/WebKit/LayoutTests/webexposed/global-interface-listing.html",
"//third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt",
- "//third_party/WebKit/LayoutTests/webexposed/resources/global-interface-listing.js",
]
+ additional_apks = [ system_webview_apk_target ]
}