diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-15 10:20:33 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-15 10:28:57 +0000 |
commit | d17ea114e5ef69ad5d5d7413280a13e6428098aa (patch) | |
tree | 2c01a75df69f30d27b1432467cfe7c1467a498da /chromium/components/cronet | |
parent | 8c5c43c7b138c9b4b0bf56d946e61d3bbc111bec (diff) | |
download | qtwebengine-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.gn | 26 | ||||
-rw-r--r-- | chromium/components/cronet/android/BUILD.gn | 114 | ||||
-rw-r--r-- | chromium/components/cronet/ios/BUILD.gn | 1 | ||||
-rw-r--r-- | chromium/components/cronet/ios/test/BUILD.gn | 1 |
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", |