summaryrefslogtreecommitdiff
path: root/chromium/components/cronet
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-05-15 10:20:33 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-05-15 10:28:57 +0000
commitd17ea114e5ef69ad5d5d7413280a13e6428098aa (patch)
tree2c01a75df69f30d27b1432467cfe7c1467a498da /chromium/components/cronet
parent8c5c43c7b138c9b4b0bf56d946e61d3bbc111bec (diff)
downloadqtwebengine-chromium-d17ea114e5ef69ad5d5d7413280a13e6428098aa.tar.gz
BASELINE: Update Chromium to 67.0.3396.47
Change-Id: Idcb1341782e417561a2473eeecc82642dafda5b7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/components/cronet')
-rw-r--r--chromium/components/cronet/BUILD.gn26
-rw-r--r--chromium/components/cronet/android/BUILD.gn114
-rw-r--r--chromium/components/cronet/ios/BUILD.gn1
-rw-r--r--chromium/components/cronet/ios/test/BUILD.gn1
4 files changed, 107 insertions, 35 deletions
diff --git a/chromium/components/cronet/BUILD.gn b/chromium/components/cronet/BUILD.gn
index 31d4ebf1d67..8665bc24d7a 100644
--- a/chromium/components/cronet/BUILD.gn
+++ b/chromium/components/cronet/BUILD.gn
@@ -69,8 +69,18 @@ source_set("cronet_common_unittests") {
# For platforms on which the native Cronet library is used, build the library,
# a cronet_tests binary that exercises it, and a unit-tests binary.
# Android and iOS have their own platform-specific rules to build Cronet.
-# TODO(https://crbug.com/812268): Fix Windows build, and enable it.
-if (!is_ios && !is_android && !is_win) {
+if (!is_ios && !is_android) {
+ config("shared_library_public_config") {
+ if (is_mac && !is_component_build) {
+ # Executable targets that depend on the shared libraries below need to have
+ # the rpath setup in non-component build configurations.
+ ldflags = [
+ "-rpath",
+ "@executable_path/",
+ ]
+ }
+ }
+
shared_library("cronet") {
deps = [
"//base",
@@ -86,6 +96,14 @@ if (!is_ios && !is_android && !is_win) {
sources = [
"cronet_global_state_stubs.cc",
]
+
+ if (is_mac && !is_component_build) {
+ ldflags = [
+ "-install_name",
+ "@rpath/lib${target_name}.dylib",
+ ]
+ public_configs = [ ":shared_library_public_config" ]
+ }
}
test("cronet_tests") {
@@ -99,6 +117,10 @@ if (!is_ios && !is_android && !is_win) {
sources = [
"run_all_unittests.cc",
]
+
+ if (is_linux && !is_component_build) {
+ public_configs = [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
+ }
}
test("cronet_unittests") {
diff --git a/chromium/components/cronet/android/BUILD.gn b/chromium/components/cronet/android/BUILD.gn
index f8136fa504c..7fe505ad927 100644
--- a/chromium/components/cronet/android/BUILD.gn
+++ b/chromium/components/cronet/android/BUILD.gn
@@ -27,9 +27,15 @@ generate_jni("cronet_jni_headers") {
}
generate_jni_registration("cronet_jni_registration") {
- target = ":cronet_sample_apk"
+ target = ":cronet_jni_apk"
output = "$root_gen_dir/components/cronet/android/${target_name}.h"
exception_files = jni_exception_files
+
+ exception_files += [
+ "//base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java",
+ "//base/android/java/src/org/chromium/base/process_launcher/ChildProcessService.java",
+ "//base/android/java/src/org/chromium/base/SysUtils.java",
+ ]
}
java_cpp_enum("effective_connection_type_java") {
@@ -236,7 +242,6 @@ cronet_api_srcjar_deps = [ ":cronet_api_version_srcjar" ]
# cronet_api_java.jar defines Cronet API.
android_library("cronet_api_java") {
- output_name = "cronet_api"
java_files = [
"api/src/org/chromium/net/BidirectionalStream.java",
"api/src/org/chromium/net/CronetEngine.java",
@@ -336,8 +341,8 @@ cronet_impl_native_java_deps_to_package = [
"//url:url_java",
]
-# cronet_impl_native_java.jar - native implementation of the Cronet engine.
-android_library("cronet_impl_native_java") {
+# cronet_impl_native_java_base.jar - native implementation of the Cronet engine.
+android_library("cronet_impl_native_java_base") {
java_files = [
"java/src/org/chromium/net/impl/BidirectionalStreamBuilderImpl.java",
"java/src/org/chromium/net/impl/BidirectionalStreamNetworkException.java",
@@ -376,11 +381,22 @@ android_library("cronet_impl_native_java") {
java_group("cronet_impl_all_java") {
deps = [
":cronet_impl_common_java_base",
- ":cronet_impl_native_java",
+ ":cronet_impl_native_java_base",
":cronet_impl_platform_java",
]
}
+# This target exists only to provide input to the generate_jni_registration
+# target previously declared. It contains all Java with JNI declarations.
+android_apk("cronet_jni_apk") {
+ apk_name = "CronetJni"
+ android_manifest = "sample/AndroidManifest.xml"
+ deps = [
+ ":cronet_impl_all_java",
+ "//third_party/android_tools:android_support_v7_appcompat_java",
+ ]
+}
+
android_resources("cronet_sample_apk_resources") {
resource_dirs = [ "sample/res" ]
android_manifest = "sample/AndroidManifest.xml"
@@ -396,10 +412,9 @@ android_library("cronet_sample_apk_java") {
]
deps = [
- ":cronet_api_java",
- ":cronet_impl_all_java",
":cronet_sample_apk_resources",
- "//base:base_java",
+ ":package_api_java",
+ ":package_impl_native_java",
"//third_party/android_tools:android_support_v7_appcompat_java",
]
}
@@ -413,15 +428,15 @@ android_apk("cronet_sample_apk") {
":cronet_combine_proguard_flags",
":cronet_sample_apk_java",
":cronet_sample_apk_resources",
- "//base:base_java",
- "//third_party/jsr-305:jsr_305_javalib",
]
+ # Cronet jars will include this, so don't duplicate.
+ generate_buildconfig_java = false
+
proguard_enabled = true
proguard_configs = [
"$target_gen_dir/cronet_impl_native_proguard.cfg",
"cronet_impl_common_proguard.cfg",
- "sample/javatests/proguard.cfg",
"//base/android/proguard/chromium_apk.flags",
]
}
@@ -440,25 +455,16 @@ instrumentation_test_apk("cronet_sample_test_apk") {
apk_under_test = ":cronet_sample_apk"
android_manifest = "sample/javatests/AndroidManifest.xml"
java_files = [
- "sample/javatests/src/org/chromium/cronet_sample_apk/Criteria.java",
"sample/javatests/src/org/chromium/cronet_sample_apk/CronetSampleTest.java",
]
-
deps = [
- ":cronet_api_java",
- ":cronet_impl_all_java",
- ":cronet_sample_apk_java",
- ":cronet_sample_test_apk_resources",
- "//base:base_java",
- "//base:base_java_test_support",
- "//net/android:net_java_test_support",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/junit",
]
- additional_apks = [ "//net/android:net_test_support_apk" ]
proguard_enabled = true
+ proguard_configs = [ "sample/javatests/proguard.cfg" ]
}
generate_jni("cronet_tests_jni_headers") {
@@ -508,6 +514,7 @@ shared_library("cronet_tests") {
"//base:i18n",
"//base/test:test_support",
"//components/cronet:cronet_version_header",
+ "//components/cronet/test:test_support",
"//components/prefs",
"//net",
"//net:simple_quic_tools",
@@ -851,7 +858,7 @@ test("cronet_unittests_android") {
deps = [
":cronet_android_cert_proto",
- ":cronet_impl_native_java",
+ ":cronet_impl_native_java_base",
":cronet_static",
"//base",
"//base/test:test_support",
@@ -892,7 +899,7 @@ action("extract_cronet_native_jars") {
]
deps = [
- ":cronet_impl_native_java",
+ ":cronet_impl_native_java_base",
]
deps += cronet_impl_native_java_deps_to_package
@@ -923,9 +930,20 @@ action("repackage_extracted_native_jars") {
_output_jar,
]
+ jar_excluded_patterns = [
+ # Excludes Android support libraries crbug.com/832770.
+ "android/*",
+ "*/library_loader/*.class",
+ "*/multidex/*.class",
+ "*/process_launcher/*.class",
+ "*/SysUtils.class",
+ "*/CachedMetrics.class",
+ ]
+
args = [
"--classes-dir",
rebase_path(_extract_cronet_native_jars_dir, root_build_dir),
+ "--excluded-classes=$jar_excluded_patterns",
"--jar-path",
rebase_path(_output_jar, root_build_dir),
]
@@ -1150,7 +1168,6 @@ zip("jar_cronet_sample_source") {
"sample/AndroidManifest.xml",
"sample/javatests/AndroidManifest.xml",
"sample/javatests/proguard.cfg",
- "sample/javatests/src/org/chromium/cronet_sample_apk/Criteria.java",
"sample/javatests/src/org/chromium/cronet_sample_apk/CronetSampleTest.java",
"sample/README",
"sample/res/layout/activity_main.xml",
@@ -1172,7 +1189,7 @@ jar_src("jar_cronet_impl_native_java_source") {
"//url/android/java/src",
]
source_deps = [
- ":cronet_impl_native_java",
+ ":cronet_impl_native_java_base",
"//base:base_java",
"//net/android:net_java",
"//url:url_java",
@@ -1258,10 +1275,10 @@ copy("cronet_package_copy") {
template("copy_java8_jars") {
_deps = []
- foreach(dep, invoker.deps) {
- _dep_name = get_label_info(dep, "name")
+ foreach(_dep, invoker.deps) {
+ _dep_name = get_label_info(_dep, "name")
_source_jar =
- get_label_info(dep, "target_gen_dir") + "/" + _dep_name + ".javac.jar"
+ get_label_info(_dep, "target_gen_dir") + "/" + _dep_name + ".javac.jar"
_output_jar = "$_package_dir/" + _dep_name + ".jar"
# cronet_api.jar is a special case. Its file name is
@@ -1270,7 +1287,10 @@ template("copy_java8_jars") {
_output_jar = "$_package_dir/" + "cronet_api.jar"
}
- _copy_target_name = "${target_name}_${dep}"
+ # _deps have targets which match the java target whitelist. Add a
+ # trailing X to avoid the copy() target matching the whitelist.
+ # See _java_target_whitelist in build/config/android/internal_rules.gni.
+ _copy_target_name = "${target_name}_${_dep_name}X"
copy(_copy_target_name) {
sources = [
_source_jar,
@@ -1282,6 +1302,7 @@ template("copy_java8_jars") {
":$_dep_name",
]
}
+
_deps += [ ":" + _copy_target_name ]
}
@@ -1414,6 +1435,35 @@ copy("cronet_package_copy_resources") {
]
}
+# These package_* targets represent how Cronet is used in production code.
+# Using these targets is preferred to using the underlying targets like
+# :cronet_api_java or :cronet_impl_all_java, as it better tests production
+# usage.
+android_java_prebuilt("package_api_java") {
+ jar_path = "$_package_dir/cronet_api.jar"
+ deps = [
+ ":copy_cronet_java8_jars_cronet_api_javaX",
+ ]
+}
+
+android_java_prebuilt("package_impl_common_java") {
+ jar_path = "$_package_dir/cronet_impl_common_java.jar"
+ deps = [
+ ":package_api_java",
+ ":repackage_extracted_common_jars",
+ ]
+}
+
+android_java_prebuilt("package_impl_native_java") {
+ jar_path = "$_package_dir/cronet_impl_native_java.jar"
+ deps = [
+ ":package_api_java",
+ ":package_impl_common_java",
+ ":repackage_extracted_native_jars",
+ "//third_party/jsr-305:jsr_305_javalib",
+ ]
+}
+
# Enforce that ARM Neon is not used when building for ARMv7
if (target_cpu == "arm" && arm_version == 7 && !arm_use_neon) {
action("enforce_no_neon") {
@@ -1447,7 +1497,7 @@ action("api_static_checks") {
args = [
"--api_jar",
rebase_path(
- "$root_out_dir/lib.java/components/cronet/android/cronet_api.jar",
+ "$root_out_dir/lib.java/components/cronet/android/cronet_api_java.jar",
root_build_dir),
"--impl_jar",
rebase_path(
@@ -1459,7 +1509,7 @@ action("api_static_checks") {
root_build_dir),
"--impl_jar",
rebase_path(
- "$root_out_dir/lib.java/components/cronet/android/cronet_impl_native_java.jar",
+ "$root_out_dir/lib.java/components/cronet/android/cronet_impl_native_java_base.jar",
root_build_dir),
"--stamp",
rebase_path(outputs[0], root_build_dir),
@@ -1467,7 +1517,7 @@ action("api_static_checks") {
deps = [
":cronet_api_java",
":cronet_impl_common_java_base",
- ":cronet_impl_native_java",
+ ":cronet_impl_native_java_base",
":cronet_impl_platform_java",
]
inputs = [
diff --git a/chromium/components/cronet/ios/BUILD.gn b/chromium/components/cronet/ios/BUILD.gn
index 95866b48529..b8043a2804b 100644
--- a/chromium/components/cronet/ios/BUILD.gn
+++ b/chromium/components/cronet/ios/BUILD.gn
@@ -174,6 +174,7 @@ static_library("cronet_static") {
static_library("cronet_deps_complete") {
visibility = [ ":*" ]
complete_static_lib = true
+ configs -= [ "//build/config/compiler:thin_archive" ]
deps = [
":cronet_static",
]
diff --git a/chromium/components/cronet/ios/test/BUILD.gn b/chromium/components/cronet/ios/test/BUILD.gn
index 7a074f53b53..a8da143dd9e 100644
--- a/chromium/components/cronet/ios/test/BUILD.gn
+++ b/chromium/components/cronet/ios/test/BUILD.gn
@@ -30,7 +30,6 @@ test("cronet_test") {
"//components/cronet/native/test:cronet_native_tests",
"//components/cronet/test:test_support",
"//components/grpc_support:bidirectional_stream_unittest",
- "//components/grpc_support/test:quic_test_server",
"//net",
"//net:simple_quic_tools",
"//net:test_support",