diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2021-12-03 23:31:12 +0100 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2021-12-03 23:36:26 +0100 |
commit | eb22c8d7389b4ec5159bcfefcd4043084075ce2b (patch) | |
tree | a0434c7277601a8a022a3f281608dea37a990645 | |
parent | 0e1e3d6610438aafc55cd722f5c31c3c71577c62 (diff) | |
download | aports-eb22c8d7389b4ec5159bcfefcd4043084075ce2b.tar.gz aports-eb22c8d7389b4ec5159bcfefcd4043084075ce2b.tar.bz2 aports-eb22c8d7389b4ec5159bcfefcd4043084075ce2b.tar.xz |
community/chromium: upgrade to 96.0.4664.45
enable pulseaudio and pipewire
37 files changed, 763 insertions, 1952 deletions
diff --git a/community/chromium/APKBUILD b/community/chromium/APKBUILD index 6c9254b9db..b3f45022b3 100644 --- a/community/chromium/APKBUILD +++ b/community/chromium/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Carlo Landmeter <clandmeter@alpinelinux.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=chromium -pkgver=93.0.4577.82 -pkgrel=2 +pkgver=96.0.4664.45 +pkgrel=0 pkgdesc="Chromium web browser" url="https://www.chromium.org/Home" arch="aarch64 x86_64" # x86: ./v8_context_snapshot_generator segfaults @@ -65,6 +65,8 @@ makedepends=" opus-dev pciutils-dev perl + pipewire-dev + pulseaudio-dev python3 re2-dev snappy-dev @@ -88,14 +90,14 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/chrom default-pthread-stacksize.patch musl-fixes.patch - musl-fixes-breakpad.patch + no-getcontext.patch musl-hacks.patch musl-libc++.patch musl-sandbox.patch no-execinfo.patch no-mallinfo.patch resolver.patch - swiftshader.patch + musl-stat.patch chromium-use-alpine-target.patch media-base.patch @@ -103,32 +105,31 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/chrom musl-v8-monotonic-pthread-cont_timedwait.patch nasm.patch - gcc-fno-delete-null-pointer-checks.patch gcc-arm.patch - aarch64-fixes.patch elf-arm.patch - remove-unsupported-attribute.patch - fix-missing-includes.patch - revert-2778794.patch fix-narrowing-cast.patch use-deprecated-ffmpeg-api.patch - clang-no-format.patch - disable-floc-component.patch - - fix-unittests-base.patch fix-unittests-sandbox.patch - fix-unittests-net.patch - fix-unittests-net-py2tests.patch + + chromium-revert-drop-of-system-java.patch scoped-file.patch - strip-binary.patch + remove-strip_binary.patch gdbinit.patch quiche-arena-size.patch - chromium-harfbuzz-3.0.0.patch - skia-harfbuzz-3.0.0.patch - " + unbundle-fix-visibility-of-build-config-freetype.patch + revert-use-ffile-compilation-dir.patch + chromium-96-CommandLine-include.patch + chromium-96-RestrictedCookieManager-tuple.patch + chromium-96-CouponDB-include.patch + fix-bits-stdint-intn-include.patch + chromium-VirtualCursor-standard-layout.patch + chromium-revert-ffmpeg-roll.patch +" + + # secfixes: # 93.0.4577.82-r0: @@ -339,8 +340,12 @@ else _is_component_build=false fi +upstream_version() { + curl --silent https://omahaproxy.appspot.com/all \ + | awk -F, '$1 == "linux" && $2 == "stable" {print $3}' +} + prepare() { - patch_args="-p0" default_prepare cd "$srcdir"/"chromium-$pkgver" @@ -392,6 +397,13 @@ prepare() { $use_system python3 third_party/libaddressinput/chromium/tools/update-strings.py + # prevent annoying errors when regenerating gni + sed -i 's,^update_readme$,#update_readme,' \ + third_party/libvpx/generate_gni.sh + + # allow system dependencies in "official builds" + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py } _gn_flags() { @@ -416,47 +428,53 @@ build() { local _c _ca _c=$(_gn_flags \ - blink_symbol_level=0 \ + blink_symbol_level=$_symbol_level \ + build_with_tflite_lib=false \ + chrome_pgo_phase=0 \ clang_use_chrome_plugins=false \ custom_toolchain=\"//build/toolchain/linux/unbundle:default\" \ + disable_fieldtrial_testing_config=true \ enable_hangout_services_extension=true \ - enable_nacl_nonsfi=false \ enable_nacl=false \ + enable_nacl_nonsfi=false \ enable_precompiled_headers=false \ + enable_vr=false \ fatal_linker_warnings=false \ ffmpeg_branding=\"Chrome\" \ - fieldtrial_testing_like_official_build=true \ gold_path=\"/usr/bin/ld.gold\" \ google_api_key=\"$_google_api_key\" \ google_default_client_id=\"$_google_default_client_id\" \ google_default_client_secret=\"$_google_default_client_secret\" \ host_toolchain=\"//build/toolchain/linux/unbundle:default\" \ icu_use_data_file=true \ + is_cfi=false \ is_clang=true \ is_component_build=$_is_component_build \ is_debug=$_is_debug \ + is_official_build=true\ + link_pulseaudio=true \ proprietary_codecs=true \ + rtc_use_pipewire=true \ symbol_level=$_symbol_level \ treat_warnings_as_errors=false \ - use_allocator_shim=false \ use_allocator=\"none\" \ + use_allocator_shim=false \ + use_cfi_icall=false \ use_cups=true \ use_custom_libcxx=false \ use_gnome_keyring=false \ use_gold=false \ use_lld=true \ - use_pulseaudio=false \ + use_pulseaudio=true \ use_sysroot=false \ - use_system_harfbuzz=true \ use_system_freetype=true \ use_system_harfbuzz=true \ + use_system_lcms2=true \ use_system_libdrm=true \ use_system_libjpeg=true \ use_system_libpng=true \ - use_system_lcms2=true \ use_system_zlib=true \ - build_with_tflite_lib=false \ - enable_vr=false \ + use_thin_lto=false \ ) case $CARCH in @@ -486,7 +504,7 @@ build() { ulimit -n 2048 # finish rest of the build - ninja -C out/$_buildtype chrome chrome_sandbox chromedriver + ninja -C out/$_buildtype chrome chrome_sandbox chromedriver chrome_crashpad_handler if [ -n "$CHECK" ]; then ninja -C out/$_buildtype \ @@ -606,7 +624,7 @@ package() { # binaries install -Dm755 chrome "$pkgdir"/usr/lib/$pkgname/chrome install -Dm4755 chrome_sandbox "$pkgdir"/usr/lib/$pkgname/chrome-sandbox - install -Dm755 crashpad_handler "$pkgdir"/usr/lib/$pkgname/crashpad_handler + install -Dm755 chrome_crashpad_handler "$pkgdir"/usr/lib/$pkgname/chrome_crashpad_handler # resources install -Dm644 snapshot_blob.bin "$pkgdir"/usr/lib/$pkgname/ @@ -701,46 +719,43 @@ angle() { } sha512sums=" -730e4a316fee4a5be1bf95301cf25c0c1d192ceeb661f051c1d74b7083fe928f1c5fd24c744cbbda6ef39c9edc64607a2621644e153e5e3de2201b5ac60e4d64 chromium-93.0.4577.82.tar.xz +0b1ccaf95697c14cb080dcb22e8584817ddcd98e704d081bc4f35a22dcfc8cca82dcabc4b82ad89ed0cd64752d226f389941bfab33b615e3948e2f778b9d9028 chromium-96.0.4664.45.tar.xz f554ccc5d8a5c066634357878c89944cc591809ea6f6c6ef5b35e970e9674e0b3be8fddb06c0d333ddc65211fa09ae5e0b4b483ca70048156c29607c5487c017 test_fonts-cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb.tar.gz b9a810416dd7a8ffc3a5ced85ad9acebda1665bd08a57eec7b189698cc5f74d2c3fd69044e20fcb83297a43214b2772a1312b2c6122ea0eb716abacf39524d60 chromium-launcher.sh f6d962b9e4c22dd42183df3db5d3202dab33eccecafb1bf63ca678147289581262db1e5e64cbe8f9c212beefb0a6717bb8d311e497f56b55fe95b8bab2db493f chromium.conf e182c998a43d22d1c76a86c561619afd1fca8c2be668265ad5e2f81a3806f7a154272cc027a2f8b370fb69446892c69e5967a4be76082325c14245ee7915234c chromium.desktop 2d8237a940ea691bd10b08315429677a587f7ef9692a0cca53bfd066eae82998a6c71f402a8669e9de39f94d7f3280745d1628ea6eac5d76ca7116844d4e0dac google-api.keys -7a7efd7617b0f2950ccc75293639a7bf94c6325ca69705e7fe68b8b6f679f25d47d4a2b1206ee20e911789a38d0d9bf842b98dfd7b04c492122925fa69d27f1c default-pthread-stacksize.patch -838debc14136707cb4209d5e00484392bcb06639a435c2d13e4062587cbe903ad851c9eba64c2b93263b5ed7b9e1eebec7565c844d59af74689fc0bf9138eabb musl-fixes.patch -e8675aff9fccd8b58cc839ef1d9e0e022d66aa94f72baa72e7acf92ceb2691f6a7907cc60ec3a87f894efdd639a3dec7fe702c97d446fcdea99452caec57e002 musl-fixes-breakpad.patch +832598bf84b53c0fb3f9c99359388b8ed430fc05dfc763450404b6e0127b658c6da09c08fe315bb57553114bbbc7d814f302844366fd29424dd6b469ba696505 default-pthread-stacksize.patch +e802ec47e43ffddc986a18c9855383bb41f15d721dbbca84369217bc4656e3be2e692b7a85b1d4b6c41876a4c7efef85ea00c769a88af54239e076d5d62b6c18 musl-fixes.patch +e8675aff9fccd8b58cc839ef1d9e0e022d66aa94f72baa72e7acf92ceb2691f6a7907cc60ec3a87f894efdd639a3dec7fe702c97d446fcdea99452caec57e002 no-getcontext.patch 798ed4cd9b6a1113200e5ad91073f6affebc66ed8c1bd56bc87ffbacf3117ee1fedd41889d75a2853291c01dfcc2e942b88a41209454fa359fc585b3cc2d906f musl-hacks.patch -919f13a2cd65673f267321cf95c5410e65bc5264d6704d0791b25d39111282bedb425bd9824dde3b67422cfb874c86a9383ded686e39cfd4aac239edaf41cfc8 musl-libc++.patch +a361989c7ff4a285ed36c499e4fe1e97ed8d904a9b92f8d3c01b056b469490b7d215b6edb803ba3b0955633f58f3682d4fb60cc710cba68153a6b23df3ba7ba9 musl-libc++.patch ef43fa90b05e2407b6daa822193121cdeef6ee9068175572f0928f156f186be9c77539dfa06863adfaa25afd498ec1b5081f9e476543616f9472b9033fd921dc musl-sandbox.patch -1762308e6d378fa299c841785405895545a44f71d78cd30500b0d220108d9748f2b4bb4200a82a96638ab380b8ef96bb02fe97c4092f510e20c320e4909447c6 no-execinfo.patch -2b4708a5db420c8745d7f79e18f3c4e0043cdb7d6ded2a11060fbde2fb771ca8287048470e3bdce784d6c596d2e4ee164b9ba82b61681d114c13379ef9be0487 no-mallinfo.patch -3a7810105c45c84563efb6c739d9fff8c3645ae70a168b2c47aa375c4d6960ba4287e339243cb8ec50809522ab40f57d8cc6f471ff4390b8aa747cc1a7af65aa resolver.patch -f4265df7532625070c51ac43466e3e0f21e696f90c3b6040ef62a21defa7666203ff8219d9c9a5bebc011024aff300fbcbd941cebd0df59c4bc068d8f290221e swiftshader.patch -9acaf25823b9245489bd1f04f77f529e8c69b3231d2d147fae86d140f0344029d28816e03b5705d23817fc30b97400d040d68ce13b68a5510432b5293b24cbcc chromium-use-alpine-target.patch +7aa351e79c29de63972f1f16fbab0465b2569bc0a22174780988e0cdfe4fcaff3c664dd277937bb33f2b77f108d20afa8720c427524b09d26074f9cf6807e147 no-execinfo.patch +3646907cdc6dd766eebc5c7a59302e6ae59a27467316e24bcd7632d661be7471ac444d23ffff5b46fdd83dd1f3973d154dcba4d6beba475b3d1da0b14a0321c1 no-mallinfo.patch +9f866f1e5052a5cf4bd2fc50a0bf1faa4fcd3d22983822d47296f367b399d24c4033fd679052e39d0bbf1cb895de6192273001a9f24ffad2fb4c8dc1142e953e resolver.patch +6bf334f462caea4b779b436151bfccc965c93788001ad6c42a226b3f55b6b7ddaa0f11db8dcc1b7d447ff0f10ccb83e11ebf66a6c8bd4f4463004921be5fd94f musl-stat.patch +06ee9c99d52710817f43c37c8cab0d32a7a608e973d42898e4ae208e84f34988f738a615e4ae3f111981e36ef5b9b50cd49c46c8b7712f7226e216ac206350ad chromium-use-alpine-target.patch 599f5ef338b5797e04436bdc88921c31365d2dea2613d40053be6e774f654e2889efb0c0bd55c2c5044a6805510fbc337da555971169a75d584fac93e18256ac media-base.patch 2e5a83826239849d096aead033eb519338b84e6fbbf58abfcd7cfe40d0b3070b66bcc825ec84406484d73d1a333f1b9d23a8ab44987ab5c8b187076c84cd668b musl-crashpad.patch 556cc2ba28184a75745f13c673605327f5be590be179eb3f941dc0abded854a814e5da1432a28fb8d4dcdcd66ffd4c94ee1a8824d2cd93b632f48e9310dbc3fa musl-v8-monotonic-pthread-cont_timedwait.patch 7957aae04e8ef3badbc98c982ba1acb1b9ef5e665440116c704512f11554d7b64ba3643b7ff7d00476a6686324033b0cf762deb78ce798619226380953b9dc9c nasm.patch -56a357668c0928bc488ccec8f53fd37fccbaefe0a185ceaf067c8c39e0fae3d2b61ca010ccabc785bec0f2e86b19f37cebb3ac344225aa8d7651c822e48c6064 gcc-fno-delete-null-pointer-checks.patch ad4ddc25df7aa1de2038b7adb86d27679ecdb7e3e16c0eec994e947a08c41504b6fb41166f7868ff5f58ce8191c78800cbb91d259c864840fa5af1d7ba5d43a1 gcc-arm.patch -cc67d2a77910663e5a1ad5f66606ee2544867aa1fef25e1a1bc355a8db765d5928edb72f158e6a2ece4195c9b62b875dcdcab4e4055e7611edab405e8cfd658e aarch64-fixes.patch 9b1441fe42421ef9ead86a5143bf997d989bd53a8969cdfdf4e0c45f847efc8c1d127e15fb05e2ef5dbefbb228cbdc2849404d74997ca56265599e12e5efd6e4 elf-arm.patch -51fabfc4725ab13f626653c1cc91a70df5e60477351ac1fe7f94bc9f1b1f8fb32d984ba4657f0384f53de620b7dd4aa154c6f2f104c4c42fcfe2f9721ba5ea1f remove-unsupported-attribute.patch -11876fd8c1614ff394f9e0c07982caf50b70673a29432343c9bae3523144cba02e0e61cee76444780b5ab6680037a143f609ec8eba176c7c7bc20445cc6f5efb fix-missing-includes.patch -2f976087c7f9b685d7526c6ccfe662ba642189b5044224e662e6965d9dfa5ba5b96f8bb7ebef1cb225356e7f63427288b42f12e9842d432164de9ac74642805a revert-2778794.patch -1745907170ceacafcee9f18bb4d8c5b9f97f609fd0519058546827366612a1ea05df3ef2a6f581dbeac94f85a3e537a86bd887454ff335d5c148a34e1fcb4334 fix-narrowing-cast.patch -b656e0714805a35f4fe1d727b8fb7b62c9f2ae0a29835130e211853a5472d58ab3dcae4f780c59249fe324143cfb9d41c441ed33ec7a7bc885afff8e8c62de70 use-deprecated-ffmpeg-api.patch -6e88b89d9644e3c6e4ab88d79ec7c755c1db7cea0a396aa06236635202c129dbc4f41f2cceec76174437e3446a1135b8308b5b816ab138980934438d54b39bee clang-no-format.patch -f2291a1fb233615cf0eb2e1fac61307a8e6dc1981eb60f3f4f91e4318dfbc2ce8d96660cd355d397882b06fe4d66a091247c9affc30e19d17190cfe3ac155352 disable-floc-component.patch -0b88dfe4456966e51385af08a49840ca591f66812be37c708ec5473b9f6ee18964a069ab90b1e4d009938c91c693fd48bd3950bd73d75b95e70738f8fd691e87 fix-unittests-base.patch +e60f381c557a15598d71e33b7aacc63be4a8e17b16cdd95047df5e5e9577ad925864ffd64597d5dbc9a4516de13b3f17c26099b36692165df8c66b1b4d399ce9 fix-narrowing-cast.patch +ce562436249c4caf275c59aaa4e19ac910af26d11e7e053c6fe281ddd2ad9e1f1046e2a5be9567f8880d6901879bc86a61145cf1cc604816f5e1f9afb851577c use-deprecated-ffmpeg-api.patch 54f07ee9d85577e284e04460e79132fa6769251ceb045561cea811dde0369e9e4cdbcf26566235b0d12c649be4d46fea294f7c6a4e2a75109dc3282e6e7d7993 fix-unittests-sandbox.patch -805319867214c997a262b0eee161c2efe9f46420b2d244083f186977c7ffa413526161682759fbfcc7bb5845bcf9624557c2f496dc560bd4d85ab71a9e47c305 fix-unittests-net.patch -94d48612e98063f0b4589aadbc74d681170c0672df643d7e97485e947c92bf8437e7962323dc2940a4a36b7dcb009ed25d58654877e04644c13f9a9bd13ba99c fix-unittests-net-py2tests.patch +c4654d5b23c6f5d9502507e534fe1951d6749c62251e49b6adfe10d1569431e7f7a5a6fa5ff09ec30984415ced27a5e20985df8c91295de34af3c84557fa5b91 chromium-revert-drop-of-system-java.patch 8d11b2ba811fdd6280784bfafcef073238324941b4c33e7c9a5ccfde8506242d06e5136d697f047bab3838b43a666f1da404af7b4f4ff9a0c6bf6bdb8448e5b2 scoped-file.patch -7ab510eb458c5e736237c8b0251b13677d78653c75cc693e54d0885695ce8578f65b5f96b95886c3993dcfa6987eac0c9f90309545b701005a8da20261033496 strip-binary.patch -b2684e64c7fc248ab8ddbd942326353ecfa2fa4195d2b96434d9dae52e11dadb8d81f0ecc740d13232fd73324318d8b4831ea08ce788106ec762e53df545e743 gdbinit.patch -18e642f377d5fe0c76271b7f316ee3c96304ebeb25d54cca2905bc70d676a8327594f0a11acef24be8a6994212974ac1779f1289b5d55a1c1ca2353e37516cb1 quiche-arena-size.patch -6df3b63f41d42de7d2c49f703d521659eb14151f77d07b76b2056a0a1a113dd1b9fc0ba070e7749eb659d210cade6b1052fabad4132a7def0f2a1414dcb86d91 chromium-harfbuzz-3.0.0.patch -f40566ae6a50ab522432f2c579d4825bb1ab38f8365166dd53fa4fb91f2f0eb77ccdd88c3078badd56531ed5f68f7d1dc4347f1f02c849379e41dada672c30e9 skia-harfbuzz-3.0.0.patch +91dafba2138175b6618ec4c96c7ea39f3a26f6a09b69adabad4f9355dd84d436f3de3274b31465d5f46deeb452fde64e4cfbbda0bb4ed7e9a25d953e1b73e5d2 remove-strip_binary.patch +82f2bd4aa613e792d3af6e7a8632e0920cf48504a7572fb97d5480ea182fa125fe526e7df1ce4311b5d139a3f78da0f0b54605fbd09d7cd43135906a7639e47f gdbinit.patch +ad10d3ac758b43caf034791ea50e4588f4979a07a9c4f71763d4987750db261f22cccb30279899878b14e8c9b9aef66fd81f1686e7198768db7513e340aa65ee quiche-arena-size.patch +c0d3db69dfc05939e4eaf7a4ce7945f67993b49ca7d4ec7617793ab6175bb64bd7b8624ce278101307b7c2089c8505bb0b71f0db5c7ee483d1a03e1477c6a0a3 unbundle-fix-visibility-of-build-config-freetype.patch +2fdd0b2fd403dd4440533288f7e08bb8480702c42c7571ea764aac18ba5eaf72494793c77e4244991d12f45e5acfceae0772995b11d323916c07cb53c43a2f59 revert-use-ffile-compilation-dir.patch +18ab7dbec896e13b928acb3fd70e49849bb31c0f077f69fbcf93d2c06672e90774e7058946361838eab0246b3ca4a59dda2483057ca46459c210b4fb4cd21b04 chromium-96-CommandLine-include.patch +231bd3d084f0937342f675fc3157b146c637cf3beabefc64c462860046e86a688d5e875f2f4748353c19f1564d4daf61bd615ebdd22556fcaf5608d0ec0f5344 chromium-96-RestrictedCookieManager-tuple.patch +4661b1c9bdd165d4e872489ecc4b2b8f335ea14545567f083badaa2e6d13a5c6d43e00ca6a517d0e70988ca305c1edd5f66ac2df7413eec125c9b166c36ba862 chromium-96-CouponDB-include.patch +dc8dd75fc178f12f0f13ccac7e519e6b4ce34e6815b30aca1b9660d731a5db4e81223f104611ca3d76f7b626c45c138a09c481922d595d06a00b961e99231660 fix-bits-stdint-intn-include.patch +0fc131ef4ad32964815744080f40cc2566c70da1cd4ddaf1da8456d1c86e67e3ebf38f43208d17d40b646744e8e662f5b314e236a1c90bc6f8b936313e42a3cf chromium-VirtualCursor-standard-layout.patch +9a8e17f442ff162448a7a1b36765991e7da3bfce904ba9c45618b6a78a909dc47c061bdb7d7762f93153f16685b60070c4b98b7af7544e87393c19551b064e6b chromium-revert-ffmpeg-roll.patch " diff --git a/community/chromium/aarch64-fixes.patch b/community/chromium/aarch64-fixes.patch deleted file mode 100644 index f0a73b6bfa..0000000000 --- a/community/chromium/aarch64-fixes.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h -+++ third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h -@@ -125,7 +125,7 @@ - /* #undef HAVE_MALLCTL */ - - /* Define to 1 if you have the `mallinfo' function. */ --#define HAVE_MALLINFO 1 -+// #define HAVE_MALLINFO 1 - - /* Define to 1 if you have the <malloc/malloc.h> header file. */ - /* #undef HAVE_MALLOC_MALLOC_H */ diff --git a/community/chromium/chromium-96-CommandLine-include.patch b/community/chromium/chromium-96-CommandLine-include.patch new file mode 100644 index 0000000000..2d7b7e9023 --- /dev/null +++ b/community/chromium/chromium-96-CommandLine-include.patch @@ -0,0 +1,24 @@ +From 39e6e77798d86033e5eb1fb2a2caf20a5bca2262 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <stha09@googlemail.com> +Date: Sat, 9 Oct 2021 08:27:04 +0000 +Subject: [PATCH] IWYU: add memory for std::unique_ptr in base::CommandLine + +--- + base/command_line.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/base/command_line.h b/base/command_line.h +index 706726a..ad02812 100644 +--- a/base/command_line.h ++++ b/base/command_line.h +@@ -19,6 +19,7 @@ + #include <stddef.h> + #include <functional> + #include <map> ++#include <memory> + #include <string> + #include <vector> + +-- +2.32.0 + diff --git a/community/chromium/chromium-96-CouponDB-include.patch b/community/chromium/chromium-96-CouponDB-include.patch new file mode 100644 index 0000000000..41acfb31b9 --- /dev/null +++ b/community/chromium/chromium-96-CouponDB-include.patch @@ -0,0 +1,25 @@ +From 3a7b8dd0fcceffcfd0ea7e3186d2850deed7a00b Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <stha09@googlemail.com> +Date: Wed, 6 Oct 2021 15:36:47 +0000 +Subject: [PATCH] IWYU: add vector for std::vector in CouponDB + +--- + chrome/browser/commerce/coupons/coupon_db.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/chrome/browser/commerce/coupons/coupon_db.h b/chrome/browser/commerce/coupons/coupon_db.h +index f0758f4..93e2dd3 100644 +--- a/chrome/browser/commerce/coupons/coupon_db.h ++++ b/chrome/browser/commerce/coupons/coupon_db.h +@@ -5,6 +5,8 @@ + #ifndef CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_ + #define CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_ + ++#include <vector> ++ + #include "base/callback_helpers.h" + #include "base/memory/weak_ptr.h" + #include "url/gurl.h" +-- +2.32.0 + diff --git a/community/chromium/chromium-96-RestrictedCookieManager-tuple.patch b/community/chromium/chromium-96-RestrictedCookieManager-tuple.patch new file mode 100644 index 0000000000..cbdca44b73 --- /dev/null +++ b/community/chromium/chromium-96-RestrictedCookieManager-tuple.patch @@ -0,0 +1,31 @@ +From 86b1886673c3e75d3a7b8c802b3e9fa6ea945a1e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz <jdapena@igalia.com> +Date: Fri, 08 Oct 2021 06:32:55 +0000 +Subject: [PATCH] libstdc++: no implicit conversion from tuple created with std::tie to an std::pair in restricted cookie manager. + +Fix compilation error: + ../../services/network/restricted_cookie_manager.cc:164:30: error: no match for ‘operator[]’ (operand types are ‘network::CookieAccessesByURLAndSite’ {aka ‘std::map<std::pair<GURL, net::SiteForCookies>, std::unique_ptr<std::set<net::CookieWithAccessResult, network::CookieWithAccessResultComparer> > >’} and ‘std::tuple<const GURL&, const net::SiteForCookies&>’) + +There is no conversion from tuple to pair. + +Bug: 957519 +Change-Id: Idf29c7b21895ae28f45b35d6193ab4ac555945c8 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3211752 +Reviewed-by: Robbie McElrath <rmcelrath@chromium.org> +Commit-Queue: José Dapena Paz <jdapena@igalia.com> +Cr-Commit-Position: refs/heads/main@{#929597} +--- + +diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc +index 425426f..c8c10c6 100644 +--- a/services/network/restricted_cookie_manager.cc ++++ b/services/network/restricted_cookie_manager.cc +@@ -161,7 +161,7 @@ + const GURL& url, + const net::SiteForCookies& site_for_cookies) { + std::unique_ptr<CookieAccesses>& entry = +- recent_cookie_accesses_[std::tie(url, site_for_cookies)]; ++ recent_cookie_accesses_[std::make_pair(url, site_for_cookies)]; + if (!entry) { + entry = std::make_unique<CookieAccesses>(); + } diff --git a/community/chromium/chromium-VirtualCursor-standard-layout.patch b/community/chromium/chromium-VirtualCursor-standard-layout.patch new file mode 100644 index 0000000000..721e19413b --- /dev/null +++ b/community/chromium/chromium-VirtualCursor-standard-layout.patch @@ -0,0 +1,216 @@ +diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc +index 9ecaafe..839318a 100644 +--- a/sql/recover_module/btree.cc ++++ b/sql/recover_module/btree.cc +@@ -135,16 +135,25 @@ + "Move the destructor to the .cc file if it's non-trival"); + #endif // !DCHECK_IS_ON() + +-LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept +- : page_id_(db_reader->page_id()), +- db_reader_(db_reader), +- cell_count_(ComputeCellCount(db_reader)), +- next_read_index_(0), +- last_record_size_(0) { ++void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { ++ DCHECK(db_reader); + DCHECK(IsOnValidPage(db_reader)); ++ page_id_ = db_reader->page_id(); ++ db_reader_ = db_reader; ++ cell_count_ = ComputeCellCount(db_reader); ++ next_read_index_ = 0; ++ last_record_size_ = 0; + DCHECK(DatabasePageReader::IsValidPageId(page_id_)); + } + ++void LeafPageDecoder::Reset() { ++ db_reader_ = nullptr; ++ page_id_ = 0; ++ cell_count_ = 0; ++ next_read_index_ = 0; ++ last_record_size_ = 0; ++} ++ + bool LeafPageDecoder::TryAdvance() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(CanAdvance()); +diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h +index d76d076..33114b0 100644 +--- a/sql/recover_module/btree.h ++++ b/sql/recover_module/btree.h +@@ -102,7 +102,7 @@ + // + // |db_reader| must have been used to read an inner page of a table B-tree. + // |db_reader| must outlive this instance. +- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; ++ explicit LeafPageDecoder() noexcept = default; + ~LeafPageDecoder() noexcept = default; + + LeafPageDecoder(const LeafPageDecoder&) = delete; +@@ -150,6 +150,15 @@ + // read as long as CanAdvance() returns true. + bool TryAdvance(); + ++ // Initialize with DatabasePageReader ++ void Initialize(DatabasePageReader* db_reader); ++ ++ // Reset internal DatabasePageReader ++ void Reset(); ++ ++ // True if DatabasePageReader is valid ++ bool IsValid() { return (db_reader_ != nullptr); } ++ + // True if the given reader may point to an inner page in a table B-tree. + // + // The last ReadPage() call on |db_reader| must have succeeded. +@@ -163,14 +172,14 @@ + static int ComputeCellCount(DatabasePageReader* db_reader); + + // The number of the B-tree page this reader is reading. +- const int64_t page_id_; ++ int64_t page_id_; + // Used to read the tree page. + // + // Raw pointer usage is acceptable because this instance's owner is expected + // to ensure that the DatabasePageReader outlives this. +- DatabasePageReader* const db_reader_; ++ DatabasePageReader* db_reader_; + // Caches the ComputeCellCount() value for this reader's page. +- const int cell_count_ = ComputeCellCount(db_reader_); ++ int cell_count_; + + // The reader's cursor state. + // +diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc +index 0029ff9..42548bc 100644 +--- a/sql/recover_module/cursor.cc ++++ b/sql/recover_module/cursor.cc +@@ -26,7 +26,7 @@ + int VirtualCursor::First() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + inner_decoders_.clear(); +- leaf_decoder_ = nullptr; ++ leaf_decoder_.Reset(); + + AppendPageDecoder(table_->root_page_id()); + return Next(); +@@ -36,18 +36,18 @@ + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + record_reader_.Reset(); + +- while (!inner_decoders_.empty() || leaf_decoder_.get()) { +- if (leaf_decoder_.get()) { +- if (!leaf_decoder_->CanAdvance()) { ++ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { ++ if (leaf_decoder_.IsValid()) { ++ if (!leaf_decoder_.CanAdvance()) { + // The leaf has been exhausted. Remove it from the DFS stack. +- leaf_decoder_ = nullptr; ++ leaf_decoder_.Reset(); + continue; + } +- if (!leaf_decoder_->TryAdvance()) ++ if (!leaf_decoder_.TryAdvance()) + continue; + +- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), +- leaf_decoder_->last_record_offset())) { ++ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), ++ leaf_decoder_.last_record_offset())) { + continue; + } + if (!record_reader_.Initialize()) +@@ -99,13 +99,13 @@ + int64_t VirtualCursor::RowId() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(record_reader_.IsInitialized()); +- DCHECK(leaf_decoder_.get()); +- return leaf_decoder_->last_record_rowid(); ++ DCHECK(leaf_decoder_.IsValid()); ++ return leaf_decoder_.last_record_rowid(); + } + + void VirtualCursor::AppendPageDecoder(int page_id) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +- DCHECK(leaf_decoder_.get() == nullptr) ++ DCHECK(!leaf_decoder_.IsValid()) + << __func__ + << " must only be called when the current path has no leaf decoder"; + +@@ -113,7 +113,7 @@ + return; + + if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { +- leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_); ++ leaf_decoder_.Initialize(&db_reader_); + return; + } + +diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h +index afcd690..b15c31d 100644 +--- a/sql/recover_module/cursor.h ++++ b/sql/recover_module/cursor.h +@@ -129,7 +129,7 @@ + std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_; + + // Decodes the leaf page containing records. +- std::unique_ptr<LeafPageDecoder> leaf_decoder_; ++ LeafPageDecoder leaf_decoder_; + + SEQUENCE_CHECKER(sequence_checker_); + }; +diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc +index 58e75de..5fe9620 100644 +--- a/sql/recover_module/pager.cc ++++ b/sql/recover_module/pager.cc +@@ -23,8 +23,7 @@ + "ints are not appropriate for representing page IDs"); + + DatabasePageReader::DatabasePageReader(VirtualTable* table) +- : page_data_(std::make_unique<uint8_t[]>(table->page_size())), +- table_(table) { ++ : page_data_(), table_(table) { + DCHECK(table != nullptr); + DCHECK(IsValidPageSize(table->page_size())); + } +@@ -57,8 +56,8 @@ + std::numeric_limits<int64_t>::max(), + "The |read_offset| computation above may overflow"); + +- int sqlite_status = +- RawRead(sqlite_file, read_size, read_offset, page_data_.get()); ++ int sqlite_status = RawRead(sqlite_file, read_size, read_offset, ++ const_cast<uint8_t*>(page_data_.data())); + + // |page_id_| needs to be set to kInvalidPageId if the read failed. + // Otherwise, future ReadPage() calls with the previous |page_id_| value +diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h +index 0e388ddc..99314e3 100644 +--- a/sql/recover_module/pager.h ++++ b/sql/recover_module/pager.h +@@ -5,6 +5,7 @@ + #ifndef SQL_RECOVER_MODULE_PAGER_H_ + #define SQL_RECOVER_MODULE_PAGER_H_ + ++#include <array> + #include <cstdint> + #include <memory> + +@@ -70,7 +71,7 @@ + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK_NE(page_id_, kInvalidPageId) + << "Successful ReadPage() required before accessing pager state"; +- return page_data_.get(); ++ return page_data_.data(); + } + + // The number of bytes in the page read by the last ReadPage() call. +@@ -137,7 +138,7 @@ + int page_id_ = kInvalidPageId; + // Stores the bytes of the last page successfully read by ReadPage(). + // The content is undefined if the last call to ReadPage() did not succeed. +- const std::unique_ptr<uint8_t[]> page_data_; ++ const std::array<uint8_t, kMaxPageSize> page_data_; + // Raw pointer usage is acceptable because this instance's owner is expected + // to ensure that the VirtualTable outlives this. + VirtualTable* const table_; diff --git a/community/chromium/chromium-harfbuzz-3.0.0.patch b/community/chromium/chromium-harfbuzz-3.0.0.patch deleted file mode 100644 index 9bd43fdcce..0000000000 --- a/community/chromium/chromium-harfbuzz-3.0.0.patch +++ /dev/null @@ -1,20 +0,0 @@ -# https://github.com/chromium/chromium/commit/b289f6f3fcbc - -diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc -index 8ff0540d9a..20a7d37474 100644 ---- ./components/paint_preview/common/subset_font.cc -+++ ./components/paint_preview/common/subset_font.cc -@@ -72,9 +72,11 @@ sk_sp<SkData> SubsetFont(SkTypeface* typeface, const GlyphUsage& usage) { - hb_set_t* glyphs = - hb_subset_input_glyph_set(input.get()); // Owned by |input|. - usage.ForEach(base::BindRepeating(&AddGlyphs, base::Unretained(glyphs))); -- hb_subset_input_set_retain_gids(input.get(), true); -+ hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS); - -- HbScoped<hb_face_t> subset_face(hb_subset(face.get(), input.get())); -+ HbScoped<hb_face_t> subset_face(hb_subset_or_fail(face.get(), input.get())); -+ if (!subset_face) -+ return nullptr; - HbScoped<hb_blob_t> subset_blob(hb_face_reference_blob(subset_face.get())); - if (!subset_blob) - return nullptr; diff --git a/community/chromium/revert-2778794.patch b/community/chromium/chromium-revert-drop-of-system-java.patch index 47069c7b73..117a50f8e4 100644 --- a/community/chromium/revert-2778794.patch +++ b/community/chromium/chromium-revert-drop-of-system-java.patch @@ -1,5 +1,6 @@ ---- ./third_party/closure_compiler/compiler.py.orig -+++ ./third_party/closure_compiler/compiler.py +This was dropped for some reason in 6951c37cecd05979b232a39e5c10e6346a0f74ef +--- a/third_party/closure_compiler/compiler.py 2021-05-20 04:17:53.000000000 +0200 ++++ b/third_party/closure_compiler/compiler.py 2021-05-20 04:17:53.000000000 +0200 @@ -13,8 +13,9 @@ @@ -7,7 +8,7 @@ -_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java") -assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds" +_JAVA_BIN = "java" -+_JDK_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", _JAVA_BIN) ++_JDK_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java") +_JAVA_PATH = _JDK_PATH if os.path.isfile(_JDK_PATH) else _JAVA_BIN class Compiler(object): diff --git a/community/chromium/chromium-revert-ffmpeg-roll.patch b/community/chromium/chromium-revert-ffmpeg-roll.patch new file mode 100644 index 0000000000..4257cde7b0 --- /dev/null +++ b/community/chromium/chromium-revert-ffmpeg-roll.patch @@ -0,0 +1,31 @@ +diff --git a/media/ffmpeg/ffmpeg_common.h b/media/ffmpeg/ffmpeg_common.h +index 97d6307..cede8ac 100644 +--- a/media/ffmpeg/ffmpeg_common.h ++++ b/media/ffmpeg/ffmpeg_common.h +@@ -29,7 +29,6 @@ extern "C" { + #include <libavformat/avformat.h> + #include <libavformat/avio.h> + #include <libavutil/avutil.h> +-#include <libavutil/channel_layout.h> + #include <libavutil/imgutils.h> + #include <libavutil/log.h> + #include <libavutil/mastering_display_metadata.h> +diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc +index 026c0f8..f830ce2 100644 +--- a/media/filters/ffmpeg_demuxer.cc ++++ b/media/filters/ffmpeg_demuxer.cc +@@ -106,12 +106,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) { + + // Next try to use the first DTS value, for codecs where we know PTS == DTS + // (excludes all H26x codecs). The start time must be returned in PTS. +- if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp && ++ if (stream->first_dts != kNoFFmpegTimestamp && + stream->codecpar->codec_id != AV_CODEC_ID_HEVC && + stream->codecpar->codec_id != AV_CODEC_ID_H264 && + stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) { + const base::TimeDelta first_pts = +- ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream)); ++ ConvertFromTimeBase(stream->time_base, stream->first_dts); + if (first_pts < start_time) + start_time = first_pts; + } diff --git a/community/chromium/chromium-use-alpine-target.patch b/community/chromium/chromium-use-alpine-target.patch index 05270f31a0..481583f10f 100644 --- a/community/chromium/chromium-use-alpine-target.patch +++ b/community/chromium/chromium-use-alpine-target.patch @@ -1,5 +1,5 @@ ---- build/config/compiler/BUILD.gn -+++ build/config/compiler/BUILD.gn +--- ./build/config/compiler/BUILD.gn ++++ ./build/config/compiler/BUILD.gn @@ -752,8 +752,8 @@ } } else if (current_cpu == "arm") { @@ -64,16 +64,26 @@ } else { cflags += [ "-EB", -@@ -1619,11 +1619,7 @@ - "-Wno-deprecated-copy", - - # TODO(https://crbug.com/1050281): Clean up, enable. -- "-Wno-non-c-typedef-for-linkage", -- -- # TODO(https://crbug.com/1203071): Clean up and enable. -- "-Wno-unused-but-set-parameter", -- "-Wno-unused-but-set-variable", -+ "-Wno-non-c-typedef-for-linkage" +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index c325f72..543baa2 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1516,18 +1516,6 @@ config("default_warnings") { + "-Wno-builtin-assume-aligned-alignment", ] - cflags_c += [ +- # NaCl does not support flags from ToT. +- if (!is_nacl) { +- cflags += [ +- # TODO(https://crbug.com/1203071): Clean up and enable. +- "-Wno-unused-but-set-parameter", +- "-Wno-unused-but-set-variable", +- +- # TODO(https://crbug.com/1255745): Clean up, enable. +- "-Wno-bitwise-instead-of-logical", +- ] +- } +- + if (is_fuchsia) { + # TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383) + cflags += [ "-Wno-deprecated-copy" ] diff --git a/community/chromium/clang-no-format.patch b/community/chromium/clang-no-format.patch deleted file mode 100644 index 32bd5fe36c..0000000000 --- a/community/chromium/clang-no-format.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- ./buildtools/linux64/clang-format -+++ ./buildtools/linux64/clang-format -@@ -1,10 +1,8 @@ --#!/usr/bin/env python2 -+#!/usr/bin/env python3 - # 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. - --import os --import subprocess - import sys - - args = sys.argv[1:] -@@ -13,33 +11,6 @@ - contents = '' - if '-' in args or not inputfiles: - contents = sys.stdin.read() -- --# Tarball builds may or may not have depot_tools in $PATH. In the former case, --# running 'clang-format' will call back into this script infinitely. Strip off --# directories from $PATH one-by-one until either the system clang-format is --# used or there's no usable clang-format. --env = os.environ.copy() --if 'TARBALL_CLANG_FORMAT_WRAPPER' in env: -- env['PATH'] = os.pathsep.join(env['PATH'].split(os.pathsep)[1:]) --env['TARBALL_CLANG_FORMAT_WRAPPER'] = '' -- --# Try formatting with the system clang-format. --try: -- proc = subprocess.Popen( -- ['clang-format'] + args, -- stdin=subprocess.PIPE, -- stdout=subprocess.PIPE, -- stderr=subprocess.PIPE, -- env=env) -- stdout, stderr = proc.communicate(input=contents) -- # Ignore if clang-format fails. Eg: it may be too old to support C++14. -- if proc.returncode == 0: -- sys.stdout.write(stdout) -- sys.stderr.write(stderr) -- sys.exit(0) --except OSError: -- # Ignore if clang-format is not installed. -- pass - - # If any failure happens, continue with unformatted files. - sys.stdout.write(contents) diff --git a/community/chromium/default-pthread-stacksize.patch b/community/chromium/default-pthread-stacksize.patch index a3acffe672..5c039ceac2 100644 --- a/community/chromium/default-pthread-stacksize.patch +++ b/community/chromium/default-pthread-stacksize.patch @@ -1,12 +1,12 @@ ---- base/threading/platform_thread_linux.cc -+++ base/threading/platform_thread_linux.cc +--- ./base/threading/platform_thread_linux.cc ++++ ./base/threading/platform_thread_linux.cc @@ -186,7 +186,8 @@ size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { #if !defined(THREAD_SANITIZER) - return 0; -+ // use 8mb like glibc to avoid running out of space -+ return (1 << 23); ++ // use 2mb to avoid running out of space. This is what android uses ++ return 2 * (1 << 20); #else // ThreadSanitizer bloats the stack heavily. Evidence has been that the // default stack size isn't enough for some browser tests. @@ -17,12 +17,12 @@ !defined(THREAD_SANITIZER)) || \ (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER)) - EXPECT_EQ(0u, stack_size); -+ EXPECT_EQ(1u << 23, stack_size); ++ EXPECT_EQ(2u << 20, stack_size); #else EXPECT_GT(stack_size, 0u); EXPECT_LT(stack_size, 20u * (1 << 20)); ---- chrome/browser/shutdown_signal_handlers_posix.cc -+++ chrome/browser/shutdown_signal_handlers_posix.cc +--- ./chrome/browser/shutdown_signal_handlers_posix.cc ++++ ./chrome/browser/shutdown_signal_handlers_posix.cc @@ -187,11 +187,19 @@ g_shutdown_pipe_read_fd = pipefd[0]; g_shutdown_pipe_write_fd = pipefd[1]; diff --git a/community/chromium/disable-floc-component.patch b/community/chromium/disable-floc-component.patch deleted file mode 100644 index 335a421a8a..0000000000 --- a/community/chromium/disable-floc-component.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- chrome/browser/component_updater/floc_component_installer.cc.orig -+++ chrome/browser/component_updater/floc_component_installer.cc -@@ -101,10 +101,12 @@ - ComponentUpdateService* cus, - federated_learning::FlocSortingLshClustersService* - floc_sorting_lsh_clusters_service) { -+ /* - auto installer = base::MakeRefCounted<ComponentInstaller>( - std::make_unique<FlocComponentInstallerPolicy>( - floc_sorting_lsh_clusters_service)); - installer->Register(cus, base::OnceClosure()); -+ */ - } - - } // namespace component_updater diff --git a/community/chromium/fix-bits-stdint-intn-include.patch b/community/chromium/fix-bits-stdint-intn-include.patch new file mode 100644 index 0000000000..978cd6a493 --- /dev/null +++ b/community/chromium/fix-bits-stdint-intn-include.patch @@ -0,0 +1,11 @@ +--- a/ui/ozone/platform/wayland/host/wayland_window.cc.orig ++++ b/ui/ozone/platform/wayland/host/wayland_window.cc +@@ -4,7 +4,7 @@ + + #include "ui/ozone/platform/wayland/host/wayland_window.h" + +-#include <bits/stdint-intn.h> ++#include <stdint.h> + #include <wayland-cursor.h> + #include <algorithm> + #include <memory> diff --git a/community/chromium/fix-missing-includes.patch b/community/chromium/fix-missing-includes.patch deleted file mode 100644 index f38451d850..0000000000 --- a/community/chromium/fix-missing-includes.patch +++ /dev/null @@ -1,60 +0,0 @@ ---- third_party/pdfium/core/fxcodec/png/png_decoder.h.orig -+++ third_party/pdfium/core/fxcodec/png/png_decoder.h -@@ -9,6 +9,7 @@ - - #include <memory> - -+#include "core/fxcodec/fx_codec_def.h" - #include "core/fxcodec/progressive_decoder_iface.h" - - #ifndef PDF_ENABLE_XFA_PNG ---- ./ui/base/class_property.h.orig -+++ ./ui/base/class_property.h -@@ -10,6 +10,7 @@ - #include <map> - #include <set> - #include <type_traits> -+#include <memory> - - #include "base/component_export.h" - #include "base/time/time.h" ---- ./device/bluetooth/bluetooth_low_energy_scan_filter.h.orig -+++ ./device/bluetooth/bluetooth_low_energy_scan_filter.h -@@ -8,6 +8,7 @@ - #include <stddef.h> - #include <stdint.h> - #include <vector> -+#include <memory> - - #include "base/time/time.h" - #include "device/bluetooth/bluetooth_export.h" ---- ./components/password_manager/core/browser/hash_password_manager.h.orig -+++ ./components/password_manager/core/browser/hash_password_manager.h -@@ -6,6 +6,7 @@ - #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_ - - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "base/callback_list.h" ---- ./extensions/browser/extension_dialog_auto_confirm.cc.orig -+++ ./extensions/browser/extension_dialog_auto_confirm.cc -@@ -5,6 +5,7 @@ - #include "extensions/browser/extension_dialog_auto_confirm.h" - - #include <utility> -+#include <cstring> - - #include "base/check.h" - ---- ./chrome/browser/devtools/devtools_embedder_message_dispatcher.h.orig -+++ ./chrome/browser/devtools/devtools_embedder_message_dispatcher.h -@@ -8,6 +8,7 @@ - #include <map> - #include <memory> - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "ui/gfx/geometry/insets.h" diff --git a/community/chromium/fix-narrowing-cast.patch b/community/chromium/fix-narrowing-cast.patch index 0b14d2ff03..afd42a1489 100644 --- a/community/chromium/fix-narrowing-cast.patch +++ b/community/chromium/fix-narrowing-cast.patch @@ -1,11 +1,19 @@ ---- ./base/files/file_util_linux.cc.orig -+++ ./base/files/file_util_linux.cc -@@ -30,7 +30,7 @@ +--- a/base/files/file_util_linux.cc ++++ b/base/files/file_util_linux.cc +@@ -23,14 +23,14 @@ + + // Not all possible |statfs_buf.f_type| values are in linux/magic.h. + // Missing values are copied from the statfs man page. +- switch (statfs_buf.f_type) { ++ switch (static_cast<uintmax_t>(statfs_buf.f_type)) { + case 0: + *type = FILE_SYSTEM_0; + break; case EXT2_SUPER_MAGIC: // Also ext3 and ext4 case MSDOS_SUPER_MAGIC: case REISERFS_SUPER_MAGIC: - case static_cast<int>(BTRFS_SUPER_MAGIC): -+ case static_cast<unsigned int>(BTRFS_SUPER_MAGIC): ++ case BTRFS_SUPER_MAGIC: case 0x5346544E: // NTFS case 0x58465342: // XFS case 0x3153464A: // JFS @@ -14,7 +22,7 @@ break; case SMB_SUPER_MAGIC: - case static_cast<int>(0xFF534D42): // CIFS -+ case static_cast<unsigned int>(0xFF534D42): // CIFS ++ case 0xFF534D42: // CIFS *type = FILE_SYSTEM_SMB; break; case CODA_SUPER_MAGIC: @@ -22,21 +30,24 @@ break; - case static_cast<int>(HUGETLBFS_MAGIC): - case static_cast<int>(RAMFS_MAGIC): -+ case static_cast<unsigned int>(HUGETLBFS_MAGIC): -+ case static_cast<unsigned int>(RAMFS_MAGIC): ++ case HUGETLBFS_MAGIC: ++ case RAMFS_MAGIC: case TMPFS_MAGIC: *type = FILE_SYSTEM_MEMORY; break; ---- ./base/system/sys_info_posix.cc.orig -+++ ./base/system/sys_info_posix.cc -@@ -102,8 +102,8 @@ +--- a/base/system/sys_info_posix.cc ++++ b/base/system/sys_info_posix.cc +@@ -100,10 +100,10 @@ + if (HANDLE_EINTR(statfs(path.value().c_str(), &stats)) != 0) + return false; - switch (stats.f_type) { +- switch (stats.f_type) { ++ switch (static_cast<uintmax_t>(stats.f_type)) { case TMPFS_MAGIC: - case static_cast<int>(HUGETLBFS_MAGIC): - case static_cast<int>(RAMFS_MAGIC): -+ case static_cast<unsigned int>(HUGETLBFS_MAGIC): -+ case static_cast<unsigned int>(RAMFS_MAGIC): ++ case HUGETLBFS_MAGIC: ++ case RAMFS_MAGIC: return true; } return false; diff --git a/community/chromium/fix-unittests-base.patch b/community/chromium/fix-unittests-base.patch deleted file mode 100644 index 81d3269671..0000000000 --- a/community/chromium/fix-unittests-base.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- ./base/debug/stack_trace_unittest.cc.orig -+++ ./base/debug/stack_trace_unittest.cc -@@ -33,7 +33,7 @@ - typedef testing::Test StackTraceTest; - #endif - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - // StackTrace::OutputToStream() is not implemented under uclibc, nor AIX. - // See https://crbug.com/706728 - ---- ./base/profiler/stack_sampler_posix.cc.orig -+++ ./base/profiler/stack_sampler_posix.cc -@@ -21,18 +21,7 @@ - } - - size_t StackSampler::GetStackBufferSize() { -- size_t stack_size = PlatformThread::GetDefaultThreadStackSize(); -- -- pthread_attr_t attr; -- if (stack_size == 0 && pthread_attr_init(&attr) == 0) { -- if (pthread_attr_getstacksize(&attr, &stack_size) != 0) -- stack_size = 0; -- pthread_attr_destroy(&attr); -- } -- -- // Maximum limits under NPTL implementation. -- constexpr size_t kDefaultStackLimit = 4 * (1 << 20); -- return stack_size > 0 ? stack_size : kDefaultStackLimit; -+ return 0; - } - - } // namespace base ---- ./base/test/generate_fontconfig_caches.cc.orig -+++ ./base/test/generate_fontconfig_caches.cc -@@ -58,7 +58,7 @@ - FcFini(); - - // Check existence of intended fontconfig cache file. -- CHECK(base::PathExists( -- fontconfig_caches.Append(base::StrCat({kCacheKey, "-le64.cache-7"})))); -+ //CHECK(base::PathExists( -+ // fontconfig_caches.Append(base::StrCat({kCacheKey, "-le64.cache-7"})))); - return 0; - } ---- ./base/test/gmock_move_support.h.orig -+++ ./base/test/gmock_move_support.h -@@ -10,7 +10,7 @@ - - // A similar action as testing::SaveArg, but it does an assignment with - // std::move() instead of always performing a copy. --template <size_t I = 0, typename T> -+template <std::size_t I = 0, typename T> - auto MoveArg(T* out) { - return [out](auto&&... args) { - *out = std::move(std::get<I>(std::tie(args...))); ---- ./net/base/test_data_stream.cc.orig -+++ ./net/base/test_data_stream.cc -@@ -5,6 +5,7 @@ - #include "net/base/test_data_stream.h" - - #include <algorithm> -+#include <cstring> - - namespace net { - diff --git a/community/chromium/fix-unittests-net-py2tests.patch b/community/chromium/fix-unittests-net-py2tests.patch deleted file mode 100644 index 99908e9524..0000000000 --- a/community/chromium/fix-unittests-net-py2tests.patch +++ /dev/null @@ -1,1023 +0,0 @@ ---- ./net/websockets/websocket_end_to_end_test.cc.orig -+++ ./net/websockets/websocket_end_to_end_test.cc -@@ -320,35 +320,35 @@ - - // Basic test of connectivity. If this test fails, nothing else can be expected - // to work. --TEST_F(WebSocketEndToEndTest, BasicSmokeTest) { -- SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -- GetWebSocketTestDataDirectory()); -- ASSERT_TRUE(ws_server.Start()); -- EXPECT_TRUE(ConnectAndWait(ws_server.GetURL(kEchoServer))); --} -+// TEST_F(WebSocketEndToEndTest, BasicSmokeTest) { -+// SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -+// GetWebSocketTestDataDirectory()); -+// ASSERT_TRUE(ws_server.Start()); -+// EXPECT_TRUE(ConnectAndWait(ws_server.GetURL(kEchoServer))); -+// } - - // Test for issue crbug.com/433695 "Unencrypted WebSocket connection via - // authenticated proxy times out" - // TODO(ricea): Enable this when the issue is fixed. --TEST_F(WebSocketEndToEndTest, DISABLED_HttpsProxyUnauthedFails) { -- SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, -- base::FilePath()); -- SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -- GetWebSocketTestDataDirectory()); -- ASSERT_TRUE(proxy_server.StartInBackground()); -- ASSERT_TRUE(ws_server.StartInBackground()); -- ASSERT_TRUE(proxy_server.BlockUntilStarted()); -- ASSERT_TRUE(ws_server.BlockUntilStarted()); -- std::string proxy_config = -- "https=" + proxy_server.host_port_pair().ToString(); -- std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -- ConfiguredProxyResolutionService::CreateFixed( -- proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS)); -- ASSERT_TRUE(proxy_resolution_service); -- context_.set_proxy_resolution_service(proxy_resolution_service.get()); -- EXPECT_FALSE(ConnectAndWait(ws_server.GetURL(kEchoServer))); -- EXPECT_EQ("Proxy authentication failed", event_interface_->failure_message()); --} -+// TEST_F(WebSocketEndToEndTest, DISABLED_HttpsProxyUnauthedFails) { -+// SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, -+// base::FilePath()); -+// SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -+// GetWebSocketTestDataDirectory()); -+// ASSERT_TRUE(proxy_server.StartInBackground()); -+// ASSERT_TRUE(ws_server.StartInBackground()); -+// ASSERT_TRUE(proxy_server.BlockUntilStarted()); -+// ASSERT_TRUE(ws_server.BlockUntilStarted()); -+// std::string proxy_config = -+// "https=" + proxy_server.host_port_pair().ToString(); -+// std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -+// ConfiguredProxyResolutionService::CreateFixed( -+// proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS)); -+// ASSERT_TRUE(proxy_resolution_service); -+// context_.set_proxy_resolution_service(proxy_resolution_service.get()); -+// EXPECT_FALSE(ConnectAndWait(ws_server.GetURL(kEchoServer))); -+// EXPECT_EQ("Proxy authentication failed", event_interface_->failure_message()); -+// } - - // These test are not compatible with RemoteTestServer because RemoteTestServer - // doesn't support TYPE_BASIC_AUTH_PROXY. -@@ -361,61 +361,61 @@ - #define MAYBE_HttpsProxyUsed HttpsProxyUsed - #endif - --TEST_F(WebSocketEndToEndTest, MAYBE_HttpsWssProxyUnauthedFails) { -- SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, -- base::FilePath()); -- SpawnedTestServer wss_server(SpawnedTestServer::TYPE_WSS, -- GetWebSocketTestDataDirectory()); -- ASSERT_TRUE(proxy_server.StartInBackground()); -- ASSERT_TRUE(wss_server.StartInBackground()); -- ASSERT_TRUE(proxy_server.BlockUntilStarted()); -- ASSERT_TRUE(wss_server.BlockUntilStarted()); -- ProxyConfig proxy_config; -- proxy_config.proxy_rules().ParseFromString( -- "https=" + proxy_server.host_port_pair().ToString()); -- // TODO(https://crbug.com/901896): Don't rely on proxying localhost. -- proxy_config.proxy_rules().bypass_rules.AddRulesToSubtractImplicit(); -+// TEST_F(WebSocketEndToEndTest, MAYBE_HttpsWssProxyUnauthedFails) { -+// SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, -+// base::FilePath()); -+// SpawnedTestServer wss_server(SpawnedTestServer::TYPE_WSS, -+// GetWebSocketTestDataDirectory()); -+// ASSERT_TRUE(proxy_server.StartInBackground()); -+// ASSERT_TRUE(wss_server.StartInBackground()); -+// ASSERT_TRUE(proxy_server.BlockUntilStarted()); -+// ASSERT_TRUE(wss_server.BlockUntilStarted()); -+// ProxyConfig proxy_config; -+// proxy_config.proxy_rules().ParseFromString( -+// "https=" + proxy_server.host_port_pair().ToString()); -+// // TODO(https://crbug.com/901896): Don't rely on proxying localhost. -+// proxy_config.proxy_rules().bypass_rules.AddRulesToSubtractImplicit(); - -- std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -- ConfiguredProxyResolutionService::CreateFixed(ProxyConfigWithAnnotation( -- proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS))); -- ASSERT_TRUE(proxy_resolution_service); -- context_.set_proxy_resolution_service(proxy_resolution_service.get()); -- EXPECT_FALSE(ConnectAndWait(wss_server.GetURL(kEchoServer))); -- EXPECT_EQ("Proxy authentication failed", event_interface_->failure_message()); --} -+// std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -+// ConfiguredProxyResolutionService::CreateFixed(ProxyConfigWithAnnotation( -+// proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS))); -+// ASSERT_TRUE(proxy_resolution_service); -+// context_.set_proxy_resolution_service(proxy_resolution_service.get()); -+// EXPECT_FALSE(ConnectAndWait(wss_server.GetURL(kEchoServer))); -+// EXPECT_EQ("Proxy authentication failed", event_interface_->failure_message()); -+// } - - // Regression test for crbug/426736 "WebSocket connections not using configured - // system HTTPS Proxy". --TEST_F(WebSocketEndToEndTest, MAYBE_HttpsProxyUsed) { -- SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_PROXY, -- base::FilePath()); -- SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -- GetWebSocketTestDataDirectory()); -- ASSERT_TRUE(proxy_server.StartInBackground()); -- ASSERT_TRUE(ws_server.StartInBackground()); -- ASSERT_TRUE(proxy_server.BlockUntilStarted()); -- ASSERT_TRUE(ws_server.BlockUntilStarted()); -- ProxyConfig proxy_config; -- proxy_config.proxy_rules().ParseFromString( -- "https=" + proxy_server.host_port_pair().ToString() + ";" + -- "http=" + proxy_server.host_port_pair().ToString()); -- // TODO(https://crbug.com/901896): Don't rely on proxying localhost. -- proxy_config.proxy_rules().bypass_rules.AddRulesToSubtractImplicit(); -+// TEST_F(WebSocketEndToEndTest, MAYBE_HttpsProxyUsed) { -+// SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_PROXY, -+// base::FilePath()); -+// SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -+// GetWebSocketTestDataDirectory()); -+// ASSERT_TRUE(proxy_server.StartInBackground()); -+// ASSERT_TRUE(ws_server.StartInBackground()); -+// ASSERT_TRUE(proxy_server.BlockUntilStarted()); -+// ASSERT_TRUE(ws_server.BlockUntilStarted()); -+// ProxyConfig proxy_config; -+// proxy_config.proxy_rules().ParseFromString( -+// "https=" + proxy_server.host_port_pair().ToString() + ";" + -+// "http=" + proxy_server.host_port_pair().ToString()); -+// // TODO(https://crbug.com/901896): Don't rely on proxying localhost. -+// proxy_config.proxy_rules().bypass_rules.AddRulesToSubtractImplicit(); - -- std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -- ConfiguredProxyResolutionService::CreateFixed(ProxyConfigWithAnnotation( -- proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS))); -- context_.set_proxy_resolution_service(proxy_resolution_service.get()); -- InitialiseContext(); -+// std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -+// ConfiguredProxyResolutionService::CreateFixed(ProxyConfigWithAnnotation( -+// proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS))); -+// context_.set_proxy_resolution_service(proxy_resolution_service.get()); -+// InitialiseContext(); - -- GURL ws_url = ws_server.GetURL(kEchoServer); -- EXPECT_TRUE(ConnectAndWait(ws_url)); -- const TestProxyDelegateWithProxyInfo::ResolvedProxyInfo& info = -- proxy_delegate_->resolved_proxy_info(); -- EXPECT_EQ(ws_url, info.url); -- EXPECT_TRUE(info.proxy_info.is_http()); --} -+// GURL ws_url = ws_server.GetURL(kEchoServer); -+// EXPECT_TRUE(ConnectAndWait(ws_url)); -+// const TestProxyDelegateWithProxyInfo::ResolvedProxyInfo& info = -+// proxy_delegate_->resolved_proxy_info(); -+// EXPECT_EQ(ws_url, info.url); -+// EXPECT_TRUE(info.proxy_info.is_http()); -+// } - - std::unique_ptr<HttpResponse> ProxyPacHandler(const HttpRequest& request) { - GURL url = request.GetURL(); -@@ -448,91 +448,91 @@ - #define MAYBE_ProxyPacUsed DISABLED_ProxyPacUsed - #endif - --TEST_F(WebSocketEndToEndTest, MAYBE_ProxyPacUsed) { -- EmbeddedTestServer proxy_pac_server(net::EmbeddedTestServer::Type::TYPE_HTTP); -- SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_PROXY, -- base::FilePath()); -- SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -- GetWebSocketTestDataDirectory()); -- proxy_pac_server.RegisterRequestHandler(base::BindRepeating(ProxyPacHandler)); -- proxy_server.set_redirect_connect_to_localhost(true); -+// TEST_F(WebSocketEndToEndTest, MAYBE_ProxyPacUsed) { -+// EmbeddedTestServer proxy_pac_server(net::EmbeddedTestServer::Type::TYPE_HTTP); -+// SpawnedTestServer proxy_server(SpawnedTestServer::TYPE_PROXY, -+// base::FilePath()); -+// SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -+// GetWebSocketTestDataDirectory()); -+// proxy_pac_server.RegisterRequestHandler(base::BindRepeating(ProxyPacHandler)); -+// proxy_server.set_redirect_connect_to_localhost(true); - -- ASSERT_TRUE(proxy_pac_server.Start()); -- ASSERT_TRUE(proxy_server.StartInBackground()); -- ASSERT_TRUE(ws_server.StartInBackground()); -- ASSERT_TRUE(proxy_server.BlockUntilStarted()); -- ASSERT_TRUE(ws_server.BlockUntilStarted()); -+// ASSERT_TRUE(proxy_pac_server.Start()); -+// ASSERT_TRUE(proxy_server.StartInBackground()); -+// ASSERT_TRUE(ws_server.StartInBackground()); -+// ASSERT_TRUE(proxy_server.BlockUntilStarted()); -+// ASSERT_TRUE(ws_server.BlockUntilStarted()); - -- ProxyConfig proxy_config = -- ProxyConfig::CreateFromCustomPacURL(proxy_pac_server.GetURL(base::StrCat( -- {"/proxy.pac?proxy=", proxy_server.host_port_pair().ToString()}))); -- proxy_config.set_pac_mandatory(true); -- auto proxy_config_service = std::make_unique<ProxyConfigServiceFixed>( -- ProxyConfigWithAnnotation(proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS)); -- std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -- ConfiguredProxyResolutionService::CreateUsingSystemProxyResolver( -- std::move(proxy_config_service), NetLog::Get(), -- /*quick_check_enabled=*/true)); -- ASSERT_EQ(ws_server.host_port_pair().host(), "127.0.0.1"); -- context_.set_proxy_resolution_service(proxy_resolution_service.get()); -- InitialiseContext(); -+// ProxyConfig proxy_config = -+// ProxyConfig::CreateFromCustomPacURL(proxy_pac_server.GetURL(base::StrCat( -+// {"/proxy.pac?proxy=", proxy_server.host_port_pair().ToString()}))); -+// proxy_config.set_pac_mandatory(true); -+// auto proxy_config_service = std::make_unique<ProxyConfigServiceFixed>( -+// ProxyConfigWithAnnotation(proxy_config, TRAFFIC_ANNOTATION_FOR_TESTS)); -+// std::unique_ptr<ProxyResolutionService> proxy_resolution_service( -+// ConfiguredProxyResolutionService::CreateUsingSystemProxyResolver( -+// std::move(proxy_config_service), NetLog::Get(), -+// /*quick_check_enabled=*/true)); -+// ASSERT_EQ(ws_server.host_port_pair().host(), "127.0.0.1"); -+// context_.set_proxy_resolution_service(proxy_resolution_service.get()); -+// InitialiseContext(); - -- // Use a name other than localhost, since localhost implicitly bypasses the -- // use of proxy.pac. -- HostPortPair fake_ws_host_port_pair("stealth-localhost", -- ws_server.host_port_pair().port()); -+// // Use a name other than localhost, since localhost implicitly bypasses the -+// // use of proxy.pac. -+// HostPortPair fake_ws_host_port_pair("stealth-localhost", -+// ws_server.host_port_pair().port()); - -- GURL ws_url(base::StrCat( -- {"ws://", fake_ws_host_port_pair.ToString(), "/", kEchoServer})); -- EXPECT_TRUE(ConnectAndWait(ws_url)); -- const auto& info = proxy_delegate_->resolved_proxy_info(); -- EXPECT_EQ(ws_url, info.url); -- EXPECT_TRUE(info.proxy_info.is_http()); -- EXPECT_EQ(info.proxy_info.ToPacString(), -- base::StrCat({"PROXY ", proxy_server.host_port_pair().ToString()})); --} -+// GURL ws_url(base::StrCat( -+// {"ws://", fake_ws_host_port_pair.ToString(), "/", kEchoServer})); -+// EXPECT_TRUE(ConnectAndWait(ws_url)); -+// const auto& info = proxy_delegate_->resolved_proxy_info(); -+// EXPECT_EQ(ws_url, info.url); -+// EXPECT_TRUE(info.proxy_info.is_http()); -+// EXPECT_EQ(info.proxy_info.ToPacString(), -+// base::StrCat({"PROXY ", proxy_server.host_port_pair().ToString()})); -+// } - - // This is a regression test for crbug.com/408061 Crash in - // net::WebSocketBasicHandshakeStream::Upgrade. --TEST_F(WebSocketEndToEndTest, TruncatedResponse) { -- SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -- GetWebSocketTestDataDirectory()); -- ASSERT_TRUE(ws_server.Start()); -- InitialiseContext(); -+// TEST_F(WebSocketEndToEndTest, TruncatedResponse) { -+// SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -+// GetWebSocketTestDataDirectory()); -+// ASSERT_TRUE(ws_server.Start()); -+// InitialiseContext(); - -- GURL ws_url = ws_server.GetURL("truncated-headers"); -- EXPECT_FALSE(ConnectAndWait(ws_url)); --} -+// GURL ws_url = ws_server.GetURL("truncated-headers"); -+// EXPECT_FALSE(ConnectAndWait(ws_url)); -+// } - - // Regression test for crbug.com/180504 "WebSocket handshake fails when HTTP - // headers have trailing LWS". --TEST_F(WebSocketEndToEndTest, TrailingWhitespace) { -- SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -- GetWebSocketTestDataDirectory()); -- ASSERT_TRUE(ws_server.Start()); -+// TEST_F(WebSocketEndToEndTest, TrailingWhitespace) { -+// SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -+// GetWebSocketTestDataDirectory()); -+// ASSERT_TRUE(ws_server.Start()); - -- GURL ws_url = ws_server.GetURL("trailing-whitespace"); -- sub_protocols_.push_back("sip"); -- EXPECT_TRUE(ConnectAndWait(ws_url)); -- EXPECT_EQ("sip", event_interface_->selected_subprotocol()); --} -+// GURL ws_url = ws_server.GetURL("trailing-whitespace"); -+// sub_protocols_.push_back("sip"); -+// EXPECT_TRUE(ConnectAndWait(ws_url)); -+// EXPECT_EQ("sip", event_interface_->selected_subprotocol()); -+// } - - // This is a regression test for crbug.com/169448 "WebSockets should support - // header continuations" - // TODO(ricea): HTTP continuation headers have been deprecated by RFC7230. If - // support for continuation headers is removed from Chrome, then this test will - // break and should be removed. --TEST_F(WebSocketEndToEndTest, HeaderContinuations) { -- SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -- GetWebSocketTestDataDirectory()); -- ASSERT_TRUE(ws_server.Start()); -+// TEST_F(WebSocketEndToEndTest, HeaderContinuations) { -+// SpawnedTestServer ws_server(SpawnedTestServer::TYPE_WS, -+// GetWebSocketTestDataDirectory()); -+// ASSERT_TRUE(ws_server.Start()); - -- GURL ws_url = ws_server.GetURL("header-continuation"); -+// GURL ws_url = ws_server.GetURL("header-continuation"); - -- EXPECT_TRUE(ConnectAndWait(ws_url)); -- EXPECT_EQ("permessage-deflate; server_max_window_bits=10", -- event_interface_->extensions()); --} -+// EXPECT_TRUE(ConnectAndWait(ws_url)); -+// EXPECT_EQ("permessage-deflate; server_max_window_bits=10", -+// event_interface_->extensions()); -+// } - - // These are not true end-to-end tests as the SpawnedTestServer doesn't - // support TLS 1.2. ---- ./net/socket/ssl_client_socket_unittest.cc.orig -+++ ./net/socket/ssl_client_socket_unittest.cc -@@ -2270,26 +2270,26 @@ - - // Tests that fatal alerts from the peer are processed. This is a regression - // test for https://crbug.com/466303. --TEST_P(SSLClientSocketReadTest, Read_WithFatalAlert) { -- SpawnedTestServer::SSLOptions ssl_options; -- auto tls_max_version = ProtocolVersionToSpawnedTestServer(version()); -- if (!tls_max_version) { -- return; -- } -- ssl_options.tls_max_version = *tls_max_version; -- ssl_options.alert_after_handshake = true; -- ASSERT_TRUE(StartTestServer(ssl_options)); -+// TEST_P(SSLClientSocketReadTest, Read_WithFatalAlert) { -+// SpawnedTestServer::SSLOptions ssl_options; -+// auto tls_max_version = ProtocolVersionToSpawnedTestServer(version()); -+// if (!tls_max_version) { -+// return; -+// } -+// ssl_options.tls_max_version = *tls_max_version; -+// ssl_options.alert_after_handshake = true; -+// ASSERT_TRUE(StartTestServer(ssl_options)); - -- int rv; -- ASSERT_TRUE(CreateAndConnectSSLClientSocket(SSLConfig(), &rv)); -- EXPECT_THAT(rv, IsOk()); -+// int rv; -+// ASSERT_TRUE(CreateAndConnectSSLClientSocket(SSLConfig(), &rv)); -+// EXPECT_THAT(rv, IsOk()); - -- // Receive the fatal alert. -- TestCompletionCallback callback; -- scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(4096); -- EXPECT_EQ(ERR_SSL_PROTOCOL_ERROR, -- ReadAndWaitForCompletion(sock_.get(), buf.get(), 4096)); --} -+// // Receive the fatal alert. -+// TestCompletionCallback callback; -+// scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(4096); -+// EXPECT_EQ(ERR_SSL_PROTOCOL_ERROR, -+// ReadAndWaitForCompletion(sock_.get(), buf.get(), 4096)); -+// } - - TEST_P(SSLClientSocketReadTest, Read_SmallChunks) { - ASSERT_TRUE( -@@ -2792,59 +2792,59 @@ - EXPECT_EQ(config.cert_authorities, request_info->cert_authorities); - } - --TEST_P(SSLClientSocketCertRequestInfoTest, CertKeyTypes) { -- SpawnedTestServer::SSLOptions ssl_options; -- auto tls_max_version = ProtocolVersionToSpawnedTestServer(version()); -- if (!tls_max_version) { -- return; -- } -- ssl_options.tls_max_version = *tls_max_version; -- ssl_options.request_client_certificate = true; -- ssl_options.client_cert_types.push_back(CLIENT_CERT_RSA_SIGN); -- ssl_options.client_cert_types.push_back(CLIENT_CERT_ECDSA_SIGN); -- ASSERT_TRUE(StartTestServer(ssl_options)); -- scoped_refptr<SSLCertRequestInfo> request_info = GetCertRequest(); -- ASSERT_TRUE(request_info.get()); -- ASSERT_EQ(2u, request_info->cert_key_types.size()); -- EXPECT_EQ(CLIENT_CERT_RSA_SIGN, request_info->cert_key_types[0]); -- EXPECT_EQ(CLIENT_CERT_ECDSA_SIGN, request_info->cert_key_types[1]); --} -+// TEST_P(SSLClientSocketCertRequestInfoTest, CertKeyTypes) { -+// SpawnedTestServer::SSLOptions ssl_options; -+// auto tls_max_version = ProtocolVersionToSpawnedTestServer(version()); -+// if (!tls_max_version) { -+// return; -+// } -+// ssl_options.tls_max_version = *tls_max_version; -+// ssl_options.request_client_certificate = true; -+// ssl_options.client_cert_types.push_back(CLIENT_CERT_RSA_SIGN); -+// ssl_options.client_cert_types.push_back(CLIENT_CERT_ECDSA_SIGN); -+// ASSERT_TRUE(StartTestServer(ssl_options)); -+// scoped_refptr<SSLCertRequestInfo> request_info = GetCertRequest(); -+// ASSERT_TRUE(request_info.get()); -+// ASSERT_EQ(2u, request_info->cert_key_types.size()); -+// EXPECT_EQ(CLIENT_CERT_RSA_SIGN, request_info->cert_key_types[0]); -+// EXPECT_EQ(CLIENT_CERT_ECDSA_SIGN, request_info->cert_key_types[1]); -+// } - - // Tests that the Certificate Transparency (RFC 6962) TLS extension is - // supported. --TEST_F(SSLClientSocketTest, ConnectSignedCertTimestampsTLSExtension) { -- // Encoding of SCT List containing 'test'. -- base::StringPiece sct_ext("\x00\x06\x00\x04test", 8); -+// TEST_F(SSLClientSocketTest, ConnectSignedCertTimestampsTLSExtension) { -+// // Encoding of SCT List containing 'test'. -+// base::StringPiece sct_ext("\x00\x06\x00\x04test", 8); - -- SpawnedTestServer::SSLOptions ssl_options; -- ssl_options.signed_cert_timestamps_tls_ext = std::string(sct_ext); -- ASSERT_TRUE(StartTestServer(ssl_options)); -+// SpawnedTestServer::SSLOptions ssl_options; -+// ssl_options.signed_cert_timestamps_tls_ext = std::string(sct_ext); -+// ASSERT_TRUE(StartTestServer(ssl_options)); - -- auto ct_verifier = std::make_unique<MockCTVerifier>(); -+// auto ct_verifier = std::make_unique<MockCTVerifier>(); - -- // Check that the SCT list is extracted from the TLS extension as expected, -- // while also simulating that it was an unparsable response. -- SignedCertificateTimestampAndStatusList sct_list; -- EXPECT_CALL(*ct_verifier, Verify(_, _, _, sct_ext, _, _)) -- .WillOnce(testing::SetArgPointee<4>(sct_list)); -+// // Check that the SCT list is extracted from the TLS extension as expected, -+// // while also simulating that it was an unparsable response. -+// SignedCertificateTimestampAndStatusList sct_list; -+// EXPECT_CALL(*ct_verifier, Verify(_, _, _, sct_ext, _, _)) -+// .WillOnce(testing::SetArgPointee<4>(sct_list)); - -- auto cert_and_ct_verifier = std::make_unique<CertAndCTVerifier>( -- std::move(cert_verifier_), std::move(ct_verifier)); -+// auto cert_and_ct_verifier = std::make_unique<CertAndCTVerifier>( -+// std::move(cert_verifier_), std::move(ct_verifier)); - -- context_ = std::make_unique<SSLClientContext>( -- ssl_config_service_.get(), cert_and_ct_verifier.get(), -- transport_security_state_.get(), ct_policy_enforcer_.get(), -- ssl_client_session_cache_.get(), nullptr); -+// context_ = std::make_unique<SSLClientContext>( -+// ssl_config_service_.get(), cert_and_ct_verifier.get(), -+// transport_security_state_.get(), ct_policy_enforcer_.get(), -+// ssl_client_session_cache_.get(), nullptr); - -- int rv; -- ASSERT_TRUE(CreateAndConnectSSLClientSocket(SSLConfig(), &rv)); -- EXPECT_THAT(rv, IsOk()); -+// int rv; -+// ASSERT_TRUE(CreateAndConnectSSLClientSocket(SSLConfig(), &rv)); -+// EXPECT_THAT(rv, IsOk()); - -- EXPECT_TRUE(sock_->signed_cert_timestamps_received_); -+// EXPECT_TRUE(sock_->signed_cert_timestamps_received_); - -- sock_ = nullptr; -- context_ = nullptr; --} -+// sock_ = nullptr; -+// context_ = nullptr; -+// } - - // Test that when a CT verifier and a CTPolicyEnforcer are defined, and - // the EV certificate used conforms to the CT/EV policy, its EV status -@@ -3419,17 +3419,17 @@ - } - - // Test that DHE is removed. --TEST_F(SSLClientSocketTest, NoDHE) { -- SpawnedTestServer::SSLOptions ssl_options; -- ssl_options.key_exchanges = -- SpawnedTestServer::SSLOptions::KEY_EXCHANGE_DHE_RSA; -- ASSERT_TRUE(StartTestServer(ssl_options)); -+// TEST_F(SSLClientSocketTest, NoDHE) { -+// SpawnedTestServer::SSLOptions ssl_options; -+// ssl_options.key_exchanges = -+// SpawnedTestServer::SSLOptions::KEY_EXCHANGE_DHE_RSA; -+// ASSERT_TRUE(StartTestServer(ssl_options)); - -- SSLConfig ssl_config; -- int rv; -- ASSERT_TRUE(CreateAndConnectSSLClientSocket(ssl_config, &rv)); -- EXPECT_THAT(rv, IsError(ERR_SSL_VERSION_OR_CIPHER_MISMATCH)); --} -+// SSLConfig ssl_config; -+// int rv; -+// ASSERT_TRUE(CreateAndConnectSSLClientSocket(ssl_config, &rv)); -+// EXPECT_THAT(rv, IsError(ERR_SSL_VERSION_OR_CIPHER_MISMATCH)); -+// } - - TEST_F(SSLClientSocketTest, RequireECDHE) { - // Run test server without ECDHE. -@@ -5562,51 +5562,51 @@ - bool known_root() const { return std::get<2>(GetParam()); } - }; - --INSTANTIATE_TEST_SUITE_P( -- All, -- TLS13DowngradeTest, -- Combine(Values(SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_0, -- SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_1, -- SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_2), -- Bool(), -- Bool())); -+// INSTANTIATE_TEST_SUITE_P( -+// All, -+// TLS13DowngradeTest, -+// Combine(Values(SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_0, -+// SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_1, -+// SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_2), -+// Bool(), -+// Bool())); - --TEST_P(TLS13DowngradeTest, DowngradeEnforced) { -- SpawnedTestServer::SSLOptions ssl_options; -- ssl_options.simulate_tls13_downgrade = simulate_tls13_downgrade(); -- ssl_options.tls_max_version = tls_max_version(); -- ASSERT_TRUE(StartTestServer(ssl_options)); -- scoped_refptr<X509Certificate> server_cert = -- spawned_test_server()->GetCertificate(); -+// TEST_P(TLS13DowngradeTest, DowngradeEnforced) { -+// SpawnedTestServer::SSLOptions ssl_options; -+// ssl_options.simulate_tls13_downgrade = simulate_tls13_downgrade(); -+// ssl_options.tls_max_version = tls_max_version(); -+// ASSERT_TRUE(StartTestServer(ssl_options)); -+// scoped_refptr<X509Certificate> server_cert = -+// spawned_test_server()->GetCertificate(); - -- SSLContextConfig config; -- config.version_max = SSL_PROTOCOL_VERSION_TLS1_3; -- // If the test is using legacy TLS versions, explicitly disable warnings -- // (e.g., to cover cases like post-interstitial or when legacy TLS is -- // explicitly allowed via configuration). -- if (tls_max_version() < -- SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_2) { -- config.version_min_warn = SSL_PROTOCOL_VERSION_TLS1; -- } -- ssl_config_service_->UpdateSSLConfigAndNotify(config); -+// SSLContextConfig config; -+// config.version_max = SSL_PROTOCOL_VERSION_TLS1_3; -+// // If the test is using legacy TLS versions, explicitly disable warnings -+// // (e.g., to cover cases like post-interstitial or when legacy TLS is -+// // explicitly allowed via configuration). -+// if (tls_max_version() < -+// SpawnedTestServer::SSLOptions::TLS_MAX_VERSION_TLS1_2) { -+// config.version_min_warn = SSL_PROTOCOL_VERSION_TLS1; -+// } -+// ssl_config_service_->UpdateSSLConfigAndNotify(config); - -- CertVerifyResult verify_result; -- verify_result.is_issued_by_known_root = known_root(); -- verify_result.verified_cert = server_cert; -- cert_verifier_->ClearRules(); -- cert_verifier_->AddResultForCert(server_cert.get(), verify_result, OK); -+// CertVerifyResult verify_result; -+// verify_result.is_issued_by_known_root = known_root(); -+// verify_result.verified_cert = server_cert; -+// cert_verifier_->ClearRules(); -+// cert_verifier_->AddResultForCert(server_cert.get(), verify_result, OK); - -- ssl_client_session_cache_->Flush(); -- int rv; -- ASSERT_TRUE(CreateAndConnectSSLClientSocket(SSLConfig(), &rv)); -- if (simulate_tls13_downgrade()) { -- EXPECT_THAT(rv, IsError(ERR_TLS13_DOWNGRADE_DETECTED)); -- EXPECT_FALSE(sock_->IsConnected()); -- } else { -- EXPECT_THAT(rv, IsOk()); -- EXPECT_TRUE(sock_->IsConnected()); -- } --} -+// ssl_client_session_cache_->Flush(); -+// int rv; -+// ASSERT_TRUE(CreateAndConnectSSLClientSocket(SSLConfig(), &rv)); -+// if (simulate_tls13_downgrade()) { -+// EXPECT_THAT(rv, IsError(ERR_TLS13_DOWNGRADE_DETECTED)); -+// EXPECT_FALSE(sock_->IsConnected()); -+// } else { -+// EXPECT_THAT(rv, IsOk()); -+// EXPECT_TRUE(sock_->IsConnected()); -+// } -+// } - - struct SSLHandshakeDetailsParams { - bool alpn; ---- ./net/url_request/url_request_unittest.cc.orig -+++ ./net/url_request/url_request_unittest.cc -@@ -10036,147 +10036,147 @@ - } - } - --TEST_F(HTTPSRequestTest, ResumeTest) { -- // Test that we attempt a session resume when making two connections to the -- // same host. -- SpawnedTestServer::SSLOptions ssl_options; -- ssl_options.record_resume = true; -- SpawnedTestServer test_server( -- SpawnedTestServer::TYPE_HTTPS, ssl_options, -- base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); -- ASSERT_TRUE(test_server.Start()); -+// TEST_F(HTTPSRequestTest, ResumeTest) { -+// // Test that we attempt a session resume when making two connections to the -+// // same host. -+// SpawnedTestServer::SSLOptions ssl_options; -+// ssl_options.record_resume = true; -+// SpawnedTestServer test_server( -+// SpawnedTestServer::TYPE_HTTPS, ssl_options, -+// base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); -+// ASSERT_TRUE(test_server.Start()); - -- default_context_.http_transaction_factory() -- ->GetSession() -- ->ClearSSLSessionCache(); -+// default_context_.http_transaction_factory() -+// ->GetSession() -+// ->ClearSSLSessionCache(); - -- { -- TestDelegate d; -- std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -- test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -- TRAFFIC_ANNOTATION_FOR_TESTS)); -+// { -+// TestDelegate d; -+// std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -+// test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -+// TRAFFIC_ANNOTATION_FOR_TESTS)); - -- r->Start(); -- EXPECT_TRUE(r->is_pending()); -+// r->Start(); -+// EXPECT_TRUE(r->is_pending()); - -- d.RunUntilComplete(); -+// d.RunUntilComplete(); - -- EXPECT_EQ(1, d.response_started_count()); -- } -+// EXPECT_EQ(1, d.response_started_count()); -+// } - -- reinterpret_cast<HttpCache*>(default_context_.http_transaction_factory()) -- ->CloseAllConnections(ERR_FAILED, "Very good reason"); -+// reinterpret_cast<HttpCache*>(default_context_.http_transaction_factory()) -+// ->CloseAllConnections(ERR_FAILED, "Very good reason"); - -- { -- TestDelegate d; -- std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -- test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -- TRAFFIC_ANNOTATION_FOR_TESTS)); -+// { -+// TestDelegate d; -+// std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -+// test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -+// TRAFFIC_ANNOTATION_FOR_TESTS)); - -- r->Start(); -- EXPECT_TRUE(r->is_pending()); -+// r->Start(); -+// EXPECT_TRUE(r->is_pending()); - -- d.RunUntilComplete(); -+// d.RunUntilComplete(); - -- // The response will look like; -- // lookup uvw (TLS 1.3's compatibility session ID) -- // insert abc -- // lookup abc -- // insert xyz -- // -- // With a newline at the end which makes the split think that there are -- // four lines. -+// // The response will look like; -+// // lookup uvw (TLS 1.3's compatibility session ID) -+// // insert abc -+// // lookup abc -+// // insert xyz -+// // -+// // With a newline at the end which makes the split think that there are -+// // four lines. - -- EXPECT_EQ(1, d.response_started_count()); -- std::vector<std::string> lines = base::SplitString( -- d.data_received(), "\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); -- ASSERT_EQ(5u, lines.size()) << d.data_received(); -+// EXPECT_EQ(1, d.response_started_count()); -+// std::vector<std::string> lines = base::SplitString( -+// d.data_received(), "\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); -+// ASSERT_EQ(5u, lines.size()) << d.data_received(); - -- std::string session_id; -+// std::string session_id; - -- for (size_t i = 0; i < 3; i++) { -- std::vector<std::string> parts = base::SplitString( -- lines[i], "\t", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); -- ASSERT_EQ(2u, parts.size()); -- if (i % 2 == 1) { -- EXPECT_EQ("insert", parts[0]); -- session_id = parts[1]; -- } else { -- EXPECT_EQ("lookup", parts[0]); -- if (i != 0) -- EXPECT_EQ(session_id, parts[1]); -- } -- } -- } --} -+// for (size_t i = 0; i < 3; i++) { -+// std::vector<std::string> parts = base::SplitString( -+// lines[i], "\t", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); -+// ASSERT_EQ(2u, parts.size()); -+// if (i % 2 == 1) { -+// EXPECT_EQ("insert", parts[0]); -+// session_id = parts[1]; -+// } else { -+// EXPECT_EQ("lookup", parts[0]); -+// if (i != 0) -+// EXPECT_EQ(session_id, parts[1]); -+// } -+// } -+// } -+// } - --TEST_F(HTTPSRequestTest, SSLSessionCacheShardTest) { -- // Test that sessions aren't resumed when the value of ssl_session_cache_shard -- // differs. -- SpawnedTestServer::SSLOptions ssl_options; -- ssl_options.record_resume = true; -- SpawnedTestServer test_server( -- SpawnedTestServer::TYPE_HTTPS, ssl_options, -- base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); -- ASSERT_TRUE(test_server.Start()); -+// TEST_F(HTTPSRequestTest, SSLSessionCacheShardTest) { -+// // Test that sessions aren't resumed when the value of ssl_session_cache_shard -+// // differs. -+// SpawnedTestServer::SSLOptions ssl_options; -+// ssl_options.record_resume = true; -+// SpawnedTestServer test_server( -+// SpawnedTestServer::TYPE_HTTPS, ssl_options, -+// base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); -+// ASSERT_TRUE(test_server.Start()); - -- default_context_.http_transaction_factory() -- ->GetSession() -- ->ClearSSLSessionCache(); -+// default_context_.http_transaction_factory() -+// ->GetSession() -+// ->ClearSSLSessionCache(); - -- { -- TestDelegate d; -- std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -- test_server.GetURL("/"), DEFAULT_PRIORITY, &d, -- TRAFFIC_ANNOTATION_FOR_TESTS)); -+// { -+// TestDelegate d; -+// std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -+// test_server.GetURL("/"), DEFAULT_PRIORITY, &d, -+// TRAFFIC_ANNOTATION_FOR_TESTS)); - -- r->Start(); -- EXPECT_TRUE(r->is_pending()); -+// r->Start(); -+// EXPECT_TRUE(r->is_pending()); - -- d.RunUntilComplete(); -+// d.RunUntilComplete(); - -- EXPECT_EQ(1, d.response_started_count()); -- } -+// EXPECT_EQ(1, d.response_started_count()); -+// } - -- // Now create a new HttpCache with a different ssl_session_cache_shard value. -- HttpNetworkSession::Context session_context; -- session_context.host_resolver = default_context_.host_resolver(); -- session_context.cert_verifier = default_context_.cert_verifier(); -- session_context.transport_security_state = -- default_context_.transport_security_state(); -- session_context.ct_policy_enforcer = default_context_.ct_policy_enforcer(); -- session_context.proxy_resolution_service = -- default_context_.proxy_resolution_service(); -- session_context.ssl_config_service = default_context_.ssl_config_service(); -- session_context.http_auth_handler_factory = -- default_context_.http_auth_handler_factory(); -- session_context.http_server_properties = -- default_context_.http_server_properties(); -- session_context.quic_context = default_context_.quic_context(); -+// // Now create a new HttpCache with a different ssl_session_cache_shard value. -+// HttpNetworkSession::Context session_context; -+// session_context.host_resolver = default_context_.host_resolver(); -+// session_context.cert_verifier = default_context_.cert_verifier(); -+// session_context.transport_security_state = -+// default_context_.transport_security_state(); -+// session_context.ct_policy_enforcer = default_context_.ct_policy_enforcer(); -+// session_context.proxy_resolution_service = -+// default_context_.proxy_resolution_service(); -+// session_context.ssl_config_service = default_context_.ssl_config_service(); -+// session_context.http_auth_handler_factory = -+// default_context_.http_auth_handler_factory(); -+// session_context.http_server_properties = -+// default_context_.http_server_properties(); -+// session_context.quic_context = default_context_.quic_context(); - -- HttpNetworkSession network_session(HttpNetworkSession::Params(), -- session_context); -- std::unique_ptr<HttpCache> cache( -- new HttpCache(&network_session, HttpCache::DefaultBackend::InMemory(0), -- false /* is_main_cache */)); -+// HttpNetworkSession network_session(HttpNetworkSession::Params(), -+// session_context); -+// std::unique_ptr<HttpCache> cache( -+// new HttpCache(&network_session, HttpCache::DefaultBackend::InMemory(0), -+// false /* is_main_cache */)); - -- default_context_.set_http_transaction_factory(cache.get()); -+// default_context_.set_http_transaction_factory(cache.get()); - -- { -- TestDelegate d; -- std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -- test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -- TRAFFIC_ANNOTATION_FOR_TESTS)); -+// { -+// TestDelegate d; -+// std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -+// test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -+// TRAFFIC_ANNOTATION_FOR_TESTS)); - -- r->Start(); -- EXPECT_TRUE(r->is_pending()); -+// r->Start(); -+// EXPECT_TRUE(r->is_pending()); - -- d.RunUntilComplete(); -+// d.RunUntilComplete(); - -- EXPECT_EQ(1, d.response_started_count()); -- EXPECT_EQ(SSLInfo::HANDSHAKE_FULL, r->ssl_info().handshake_type); -- } --} -+// EXPECT_EQ(1, d.response_started_count()); -+// EXPECT_EQ(SSLInfo::HANDSHAKE_FULL, r->ssl_info().handshake_type); -+// } -+// } - - // Test that sessions started with privacy mode enabled cannot be resumed when - // it is disabled, and vice versa. -@@ -10278,37 +10278,37 @@ - }; - - // Tests the TLS 1.0 fallback doesn't happen. --TEST_F(HTTPSFallbackTest, TLSv1NoFallback) { -- SpawnedTestServer::SSLOptions ssl_options( -- SpawnedTestServer::SSLOptions::CERT_OK); -- ssl_options.tls_intolerant = -- SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_1; -+// TEST_F(HTTPSFallbackTest, TLSv1NoFallback) { -+// SpawnedTestServer::SSLOptions ssl_options( -+// SpawnedTestServer::SSLOptions::CERT_OK); -+// ssl_options.tls_intolerant = -+// SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_1; - -- ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options)); -- ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH); --} -+// ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options)); -+// ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH); -+// } - - // Tests the TLS 1.1 fallback doesn't happen. --TEST_F(HTTPSFallbackTest, TLSv1_1NoFallback) { -- SpawnedTestServer::SSLOptions ssl_options( -- SpawnedTestServer::SSLOptions::CERT_OK); -- ssl_options.tls_intolerant = -- SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_2; -+// TEST_F(HTTPSFallbackTest, TLSv1_1NoFallback) { -+// SpawnedTestServer::SSLOptions ssl_options( -+// SpawnedTestServer::SSLOptions::CERT_OK); -+// ssl_options.tls_intolerant = -+// SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_2; - -- ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options)); -- ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH); --} -+// ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options)); -+// ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH); -+// } - - // Tests the TLS 1.2 fallback doesn't happen. --TEST_F(HTTPSFallbackTest, TLSv1_2NoFallback) { -- SpawnedTestServer::SSLOptions ssl_options( -- SpawnedTestServer::SSLOptions::CERT_OK); -- ssl_options.tls_intolerant = -- SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_3; -+// TEST_F(HTTPSFallbackTest, TLSv1_2NoFallback) { -+// SpawnedTestServer::SSLOptions ssl_options( -+// SpawnedTestServer::SSLOptions::CERT_OK); -+// ssl_options.tls_intolerant = -+// SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_3; - -- ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options)); -- ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH); --} -+// ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options)); -+// ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH); -+// } - - class HTTPSSessionTest : public TestWithTaskEnvironment { - public: -@@ -10329,55 +10329,55 @@ - - // Tests that session resumption is not attempted if an invalid certificate - // is presented. --TEST_F(HTTPSSessionTest, DontResumeSessionsForInvalidCertificates) { -- SpawnedTestServer::SSLOptions ssl_options; -- ssl_options.record_resume = true; -- SpawnedTestServer test_server( -- SpawnedTestServer::TYPE_HTTPS, ssl_options, -- base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); -- ASSERT_TRUE(test_server.Start()); -+// TEST_F(HTTPSSessionTest, DontResumeSessionsForInvalidCertificates) { -+// SpawnedTestServer::SSLOptions ssl_options; -+// ssl_options.record_resume = true; -+// SpawnedTestServer test_server( -+// SpawnedTestServer::TYPE_HTTPS, ssl_options, -+// base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); -+// ASSERT_TRUE(test_server.Start()); - -- default_context_.http_transaction_factory() -- ->GetSession() -- ->ClearSSLSessionCache(); -+// default_context_.http_transaction_factory() -+// ->GetSession() -+// ->ClearSSLSessionCache(); - -- // Simulate the certificate being expired and attempt a connection. -- cert_verifier_.set_default_result(ERR_CERT_DATE_INVALID); -- { -- TestDelegate d; -- std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -- test_server.GetURL("/"), DEFAULT_PRIORITY, &d, -- TRAFFIC_ANNOTATION_FOR_TESTS)); -+// // Simulate the certificate being expired and attempt a connection. -+// cert_verifier_.set_default_result(ERR_CERT_DATE_INVALID); -+// { -+// TestDelegate d; -+// std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -+// test_server.GetURL("/"), DEFAULT_PRIORITY, &d, -+// TRAFFIC_ANNOTATION_FOR_TESTS)); - -- r->Start(); -- EXPECT_TRUE(r->is_pending()); -+// r->Start(); -+// EXPECT_TRUE(r->is_pending()); - -- d.RunUntilComplete(); -+// d.RunUntilComplete(); - -- EXPECT_EQ(1, d.response_started_count()); -- } -+// EXPECT_EQ(1, d.response_started_count()); -+// } - -- reinterpret_cast<HttpCache*>(default_context_.http_transaction_factory()) -- ->CloseAllConnections(ERR_FAILED, "Very good reason"); -+// reinterpret_cast<HttpCache*>(default_context_.http_transaction_factory()) -+// ->CloseAllConnections(ERR_FAILED, "Very good reason"); - -- // Now change the certificate to be acceptable (so that the response is -- // loaded), and ensure that no session id is presented to the peer. -- cert_verifier_.set_default_result(OK); -- { -- TestDelegate d; -- std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -- test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -- TRAFFIC_ANNOTATION_FOR_TESTS)); -+// // Now change the certificate to be acceptable (so that the response is -+// // loaded), and ensure that no session id is presented to the peer. -+// cert_verifier_.set_default_result(OK); -+// { -+// TestDelegate d; -+// std::unique_ptr<URLRequest> r(default_context_.CreateRequest( -+// test_server.GetURL("ssl-session-cache"), DEFAULT_PRIORITY, &d, -+// TRAFFIC_ANNOTATION_FOR_TESTS)); - -- r->Start(); -- EXPECT_TRUE(r->is_pending()); -+// r->Start(); -+// EXPECT_TRUE(r->is_pending()); - -- d.RunUntilComplete(); -+// d.RunUntilComplete(); - -- EXPECT_EQ(1, d.response_started_count()); -- EXPECT_EQ(SSLInfo::HANDSHAKE_FULL, r->ssl_info().handshake_type); -- } --} -+// EXPECT_EQ(1, d.response_started_count()); -+// EXPECT_EQ(SSLInfo::HANDSHAKE_FULL, r->ssl_info().handshake_type); -+// } -+// } - - // Interceptor to check that secure DNS has been disabled. Secure DNS should be - // disabled for any network fetch triggered during certificate verification as diff --git a/community/chromium/fix-unittests-net.patch b/community/chromium/fix-unittests-net.patch deleted file mode 100644 index e8d9587075..0000000000 --- a/community/chromium/fix-unittests-net.patch +++ /dev/null @@ -1,259 +0,0 @@ ---- ./net/third_party/quiche/src/epoll_server/simple_epoll_server.cc.orig -+++ ./net/third_party/quiche/src/epoll_server/simple_epoll_server.cc -@@ -7,6 +7,7 @@ - #include <errno.h> // for errno and strerror_r - #include <stdlib.h> // for abort - #include <unistd.h> // For read, pipe, close and write. -+#include <string.h> - - #include <algorithm> - #include <utility> ---- ./net/third_party/quiche/src/common/quiche_endian.h.orig -+++ ./net/third_party/quiche/src/common/quiche_endian.h -@@ -8,6 +8,7 @@ - #include <algorithm> - #include <cstdint> - #include <type_traits> -+#include <array> - - #include "common/platform/api/quiche_export.h" - ---- ./net/third_party/quiche/src/common/quiche_circular_deque_test.cc.orig -+++ ./net/third_party/quiche/src/common/quiche_circular_deque_test.cc -@@ -578,130 +578,130 @@ - }; - } // namespace - --TEST_F(QuicheCircularDequeTest, RelocateNonTriviallyCopyable) { -- // When relocating non-trivially-copyable objects: -- // - Move constructor is preferred, if available. -- // - Copy constructor is used otherwise. -+// TEST_F(QuicheCircularDequeTest, RelocateNonTriviallyCopyable) { -+// // When relocating non-trivially-copyable objects: -+// // - Move constructor is preferred, if available. -+// // - Copy constructor is used otherwise. - -- { -- // Move construct in Relocate. -- using MoveConstructible = std::unique_ptr<Foo>; -- ASSERT_FALSE(std::is_trivially_copyable<MoveConstructible>::value); -- ASSERT_TRUE(std::is_move_constructible<MoveConstructible>::value); -- QuicheCircularDeque<MoveConstructible, 3, -- CountingAllocator<MoveConstructible>> -- dq1; -- dq1.resize(3); -- EXPECT_EQ(dq1.size(), dq1.capacity()); -- EXPECT_EQ(1u, dq1.get_allocator().allocate_count()); -+// { -+// // Move construct in Relocate. -+// using MoveConstructible = std::unique_ptr<Foo>; -+// ASSERT_FALSE(std::is_trivially_copyable<MoveConstructible>::value); -+// ASSERT_TRUE(std::is_move_constructible<MoveConstructible>::value); -+// QuicheCircularDeque<MoveConstructible, 3, -+// CountingAllocator<MoveConstructible>> -+// dq1; -+// dq1.resize(3); -+// EXPECT_EQ(dq1.size(), dq1.capacity()); -+// EXPECT_EQ(1u, dq1.get_allocator().allocate_count()); - -- dq1.emplace_back(new Foo(0xF1)); // Cause existing elements to relocate. -- EXPECT_EQ(4u, dq1.size()); -- EXPECT_EQ(2u, dq1.get_allocator().allocate_count()); -- EXPECT_EQ(dq1[0], nullptr); -- EXPECT_EQ(dq1[1], nullptr); -- EXPECT_EQ(dq1[2], nullptr); -- EXPECT_EQ(dq1[3]->i(), 0xF1); -- } -+// dq1.emplace_back(new Foo(0xF1)); // Cause existing elements to relocate. -+// EXPECT_EQ(4u, dq1.size()); -+// EXPECT_EQ(2u, dq1.get_allocator().allocate_count()); -+// EXPECT_EQ(dq1[0], nullptr); -+// EXPECT_EQ(dq1[1], nullptr); -+// EXPECT_EQ(dq1[2], nullptr); -+// EXPECT_EQ(dq1[3]->i(), 0xF1); -+// } - -- { -- // Copy construct in Relocate. -- using NonMoveConstructible = Foo; -- ASSERT_FALSE(std::is_trivially_copyable<NonMoveConstructible>::value); -- ASSERT_FALSE(std::is_move_constructible<NonMoveConstructible>::value); -- QuicheCircularDeque<NonMoveConstructible, 3, -- CountingAllocator<NonMoveConstructible>> -- dq2; -- dq2.resize(3); -- EXPECT_EQ(dq2.size(), dq2.capacity()); -- EXPECT_EQ(1u, dq2.get_allocator().allocate_count()); -+// { -+// // Copy construct in Relocate. -+// using NonMoveConstructible = Foo; -+// ASSERT_FALSE(std::is_trivially_copyable<NonMoveConstructible>::value); -+// ASSERT_FALSE(std::is_move_constructible<NonMoveConstructible>::value); -+// QuicheCircularDeque<NonMoveConstructible, 3, -+// CountingAllocator<NonMoveConstructible>> -+// dq2; -+// dq2.resize(3); -+// EXPECT_EQ(dq2.size(), dq2.capacity()); -+// EXPECT_EQ(1u, dq2.get_allocator().allocate_count()); - -- dq2.emplace_back(0xF1); // Cause existing elements to relocate. -- EXPECT_EQ(4u, dq2.size()); -- EXPECT_EQ(2u, dq2.get_allocator().allocate_count()); -- EXPECT_EQ(dq2[0].i(), 0xF00); -- EXPECT_EQ(dq2[1].i(), 0xF00); -- EXPECT_EQ(dq2[2].i(), 0xF00); -- EXPECT_EQ(dq2[3].i(), 0xF1); -- } --} -+// dq2.emplace_back(0xF1); // Cause existing elements to relocate. -+// EXPECT_EQ(4u, dq2.size()); -+// EXPECT_EQ(2u, dq2.get_allocator().allocate_count()); -+// EXPECT_EQ(dq2[0].i(), 0xF00); -+// EXPECT_EQ(dq2[1].i(), 0xF00); -+// EXPECT_EQ(dq2[2].i(), 0xF00); -+// EXPECT_EQ(dq2[3].i(), 0xF1); -+// } -+// } - --TEST_F(QuicheCircularDequeTest, PushPop) { -- // (push|pop|emplace)_(back|front) -+// TEST_F(QuicheCircularDequeTest, PushPop) { -+// // (push|pop|emplace)_(back|front) - -- { -- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq(4); -- for (size_t i = 0; i < dq.size(); ++i) { -- dq[i].Set(i + 1); -- } -- QUICHE_LOG(INFO) << "dq initialized to " << dq; -- EXPECT_THAT(dq, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4))); -+// { -+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq(4); -+// for (size_t i = 0; i < dq.size(); ++i) { -+// dq[i].Set(i + 1); -+// } -+// QUICHE_LOG(INFO) << "dq initialized to " << dq; -+// EXPECT_THAT(dq, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4))); - -- ShiftLeft(&dq, false); -- QUICHE_LOG(INFO) << "shift left once : " << dq; -- EXPECT_THAT(dq, ElementsAre(Foo(2), Foo(3), Foo(4), Foo(1))); -+// ShiftLeft(&dq, false); -+// QUICHE_LOG(INFO) << "shift left once : " << dq; -+// EXPECT_THAT(dq, ElementsAre(Foo(2), Foo(3), Foo(4), Foo(1))); - -- ShiftLeft(&dq, true); -- QUICHE_LOG(INFO) << "shift left twice: " << dq; -- EXPECT_THAT(dq, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2))); -- ASSERT_GT(&dq.front(), &dq.back()); -- // dq destructs with wrapped data. -- } -+// ShiftLeft(&dq, true); -+// QUICHE_LOG(INFO) << "shift left twice: " << dq; -+// EXPECT_THAT(dq, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2))); -+// ASSERT_GT(&dq.front(), &dq.back()); -+// // dq destructs with wrapped data. -+// } - -- { -- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq1(4); -- for (size_t i = 0; i < dq1.size(); ++i) { -- dq1[i].Set(i + 1); -- } -- QUICHE_LOG(INFO) << "dq1 initialized to " << dq1; -- EXPECT_THAT(dq1, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4))); -+// { -+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq1(4); -+// for (size_t i = 0; i < dq1.size(); ++i) { -+// dq1[i].Set(i + 1); -+// } -+// QUICHE_LOG(INFO) << "dq1 initialized to " << dq1; -+// EXPECT_THAT(dq1, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4))); - -- ShiftRight(&dq1, false); -- QUICHE_LOG(INFO) << "shift right once : " << dq1; -- EXPECT_THAT(dq1, ElementsAre(Foo(4), Foo(1), Foo(2), Foo(3))); -+// ShiftRight(&dq1, false); -+// QUICHE_LOG(INFO) << "shift right once : " << dq1; -+// EXPECT_THAT(dq1, ElementsAre(Foo(4), Foo(1), Foo(2), Foo(3))); - -- ShiftRight(&dq1, true); -- QUICHE_LOG(INFO) << "shift right twice: " << dq1; -- EXPECT_THAT(dq1, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2))); -- ASSERT_GT(&dq1.front(), &dq1.back()); -- // dq1 destructs with wrapped data. -- } -+// ShiftRight(&dq1, true); -+// QUICHE_LOG(INFO) << "shift right twice: " << dq1; -+// EXPECT_THAT(dq1, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2))); -+// ASSERT_GT(&dq1.front(), &dq1.back()); -+// // dq1 destructs with wrapped data. -+// } - -- { // Pop n elements from front. -- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq2(5); -- for (size_t i = 0; i < dq2.size(); ++i) { -- dq2[i].Set(i + 1); -- } -- EXPECT_THAT(dq2, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5))); -+// { // Pop n elements from front. -+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq2(5); -+// for (size_t i = 0; i < dq2.size(); ++i) { -+// dq2[i].Set(i + 1); -+// } -+// EXPECT_THAT(dq2, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5))); - -- EXPECT_EQ(2u, dq2.pop_front_n(2)); -- EXPECT_THAT(dq2, ElementsAre(Foo(3), Foo(4), Foo(5))); -+// EXPECT_EQ(2u, dq2.pop_front_n(2)); -+// EXPECT_THAT(dq2, ElementsAre(Foo(3), Foo(4), Foo(5))); - -- EXPECT_EQ(3u, dq2.pop_front_n(100)); -- EXPECT_TRUE(dq2.empty()); -- } -+// EXPECT_EQ(3u, dq2.pop_front_n(100)); -+// EXPECT_TRUE(dq2.empty()); -+// } - -- { // Pop n elements from back. -- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq3(6); -- for (size_t i = 0; i < dq3.size(); ++i) { -- dq3[i].Set(i + 1); -- } -- EXPECT_THAT(dq3, -- ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5), Foo(6))); -+// { // Pop n elements from back. -+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq3(6); -+// for (size_t i = 0; i < dq3.size(); ++i) { -+// dq3[i].Set(i + 1); -+// } -+// EXPECT_THAT(dq3, -+// ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5), Foo(6))); - -- ShiftRight(&dq3, true); -- ShiftRight(&dq3, true); -- ShiftRight(&dq3, true); -- EXPECT_THAT(dq3, -- ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1), Foo(2), Foo(3))); -+// ShiftRight(&dq3, true); -+// ShiftRight(&dq3, true); -+// ShiftRight(&dq3, true); -+// EXPECT_THAT(dq3, -+// ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1), Foo(2), Foo(3))); - -- EXPECT_EQ(2u, dq3.pop_back_n(2)); -- EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1))); -+// EXPECT_EQ(2u, dq3.pop_back_n(2)); -+// EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1))); - -- EXPECT_EQ(2u, dq3.pop_back_n(2)); -- EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5))); -- } --} -+// EXPECT_EQ(2u, dq3.pop_back_n(2)); -+// EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5))); -+// } -+// } - - TEST_F(QuicheCircularDequeTest, Allocation) { - CountingAllocator<int> alloc; diff --git a/community/chromium/gcc-fno-delete-null-pointer-checks.patch b/community/chromium/gcc-fno-delete-null-pointer-checks.patch deleted file mode 100644 index 55118fef27..0000000000 --- a/community/chromium/gcc-fno-delete-null-pointer-checks.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- ./v8/BUILD.gn -+++ ./v8/BUILD.gn -@@ -675,6 +675,14 @@ - defines += [ "V8_TARGET_OS_WIN" ] - } - -+ if (!is_win && !is_clang) { -+ # GCC 6 can optimize away pointer comparisons to null. This is -+ # problematic as V8 encodes Values through tagged pointers and comparisons -+ # with 0 are actually necessary in many cases. As a temporary Workaround -+ # we disable this optimization. See: https://crbug.com/v8/3782 -+ cflags = [ "-fno-delete-null-pointer-checks" ] -+ } -+ - # TODO(jochen): Support v8_enable_prof on Windows. - # TODO(jochen): Add support for compiling with simulators. - diff --git a/community/chromium/gdbinit.patch b/community/chromium/gdbinit.patch index 97992795d8..39d34644f3 100644 --- a/community/chromium/gdbinit.patch +++ b/community/chromium/gdbinit.patch @@ -1,5 +1,5 @@ ---- tools/gdb/gdbinit.orig -+++ tools/gdb/gdbinit +--- ./tools/gdb/gdbinit.orig ++++ ./tools/gdb/gdbinit @@ -50,17 +50,7 @@ def set_src_dir(compile_dir): diff --git a/community/chromium/musl-fixes.patch b/community/chromium/musl-fixes.patch index ef975a4180..6710d0c4a7 100644 --- a/community/chromium/musl-fixes.patch +++ b/community/chromium/musl-fixes.patch @@ -1,23 +1,8 @@ --- ./third_party/lss/linux_syscall_support.h.orig +++ ./third_party/lss/linux_syscall_support.h -@@ -139,12 +139,14 @@ - */ - #pragma push_macro("stat64") - #pragma push_macro("fstat64") -+#pragma push_macro("fstatat64") - #pragma push_macro("lstat64") - #pragma push_macro("pread64") - #pragma push_macro("pwrite64") - #pragma push_macro("getdents64") - #undef stat64 - #undef fstat64 -+#undef fstatat64 - #undef lstat64 - #undef pread64 - #undef pwrite64 -@@ -1258,6 +1260,12 @@ - #ifndef __NR_getrandom - #define __NR_getrandom 318 +@@ -1127,6 +1127,12 @@ + #ifndef __NR_fallocate + #define __NR_fallocate 285 #endif + +#undef __NR_pread @@ -28,15 +13,29 @@ /* End of x86-64 definitions */ #elif defined(__mips__) #if _MIPS_SIM == _MIPS_SIM_ABI32 -@@ -4545,6 +4553,7 @@ - * corresponding #pragma push_macro near the top of this file. */ - #pragma pop_macro("stat64") - #pragma pop_macro("fstat64") -+#pragma pop_macro("fstatat64") - #pragma pop_macro("lstat64") - #pragma pop_macro("pread64") - #pragma pop_macro("pwrite64") - +--- ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.orig ++++ ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +@@ -37,6 +37,10 @@ + #include "common/memory.h" + #include "google_breakpad/common/minidump_format.h" + ++#if !defined(__GLIBC__) ++ #define _libc_fpstate _fpstate ++#endif ++ + namespace google_breakpad { + + // Wraps platform-dependent implementations of accessors to ucontext_t structs. +--- ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h.orig ++++ ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h +@@ -36,6 +36,7 @@ + #include <elf.h> + #include <link.h> + #include <stddef.h> ++#include <limits.h> + + #include "common/memory_range.h" + --- ./sandbox/linux/suid/process_util.h.orig +++ ./sandbox/linux/suid/process_util.h @@ -11,6 +11,14 @@ @@ -65,18 +64,9 @@ #endif #if defined(__mips__) ---- ./third_party/ffmpeg/libavutil/cpu.c.orig -+++ ./third_party/ffmpeg/libavutil/cpu.c -@@ -38,7 +38,6 @@ - #include <sys/param.h> - #endif - #include <sys/types.h> --#include <sys/sysctl.h> - #endif - #if HAVE_UNISTD_H - #include <unistd.h> ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig -+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +--- ./chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-03-10 07:23:00.145810088 -0500 ++++ ./chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc 2021-03-10 10:57:19.405962671 -0500 @@ -55,7 +55,9 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. @@ -84,31 +74,31 @@ +#if defined(__GLIBC__) #include <gnu/libc-version.h> +#endif - + #include "base/linux_util.h" #include "base/strings/string_split.h" -@@ -318,7 +318,7 @@ +@@ -316,7 +318,7 @@ void RecordLinuxGlibcVersion() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS) base::Version version(gnu_get_libc_version()); - + UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE; -@@ -615,7 +617,9 @@ - - void ChromeBrowserMainExtraPartsMetrics::PostBrowserStart() { - RecordMemoryMetricsAfterDelay(); -+#if defined(__GLIBC__) - RecordLinuxGlibcVersion(); -+#endif - #if defined(USE_X11) - if (!features::IsUsingOzonePlatform()) { - // Ozone writes this histogram upon platform initialisation. +--- ./services/device/serial/serial_io_handler_posix.cc.orig 2019-07-03 10:57:32.568171835 -0400 ++++ ./services/device/serial/serial_io_handler_posix.cc 2019-07-03 10:57:16.867983031 -0400 +@@ -6,6 +6,7 @@ + + #include <sys/ioctl.h> + #include <termios.h> ++#include <asm-generic/ioctls.h> + + #include <algorithm> + #include <utility> diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/include/opentype-sanitiser.h ---- third_party/ots/src/include/opentype-sanitiser.h -+++ third_party/ots/src/include/opentype-sanitiser.h +--- ./third_party/ots/src/include/opentype-sanitiser.h ++++ ./third_party/ots/src/include/opentype-sanitiser.h @@ -20,6 +20,7 @@ typedef unsigned __int64 uint64_t; #define htonl(x) _byteswap_ulong (x) #define htons(x) _byteswap_ushort (x) @@ -117,17 +107,18 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl #include <arpa/inet.h> #include <stdint.h> #endif ---- base/logging.cc.orig -+++ base/logging.cc -@@ -557,7 +557,7 @@ - +--- ./base/logging.cc.orig 2021-01-20 12:09:54.227038757 -0500 ++++ ./base/logging.cc 2021-01-20 12:24:32.600301351 -0500 +@@ -557,8 +557,7 @@ + LogMessage::~LogMessage() { size_t stack_start = stream_.tellp(); -#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) && \ -+#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && (defined(OS_LINUX) && defined(__GLIBC__)) && \ - !defined(OS_AIX) +- !defined(OS_AIX) ++#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && defined(__GLIBC__) if (severity_ == LOGGING_FATAL && !base::debug::BeingDebugged()) { // Include a stack trace on a fatal, unless a debugger is attached. + base::debug::StackTrace stack_trace; --- ./third_party/blink/renderer/platform/wtf/stack_util.cc.orig +++ ./third_party/blink/renderer/platform/wtf/stack_util.cc @@ -28,7 +28,7 @@ @@ -138,7 +129,7 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl +#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ defined(OS_FUCHSIA) // pthread_getattr_np() can fail if the thread is not invoked by - // pthread_create() (e.g., the main thread of webkit_unit_tests). + // pthread_create() (e.g., the main thread of blink_unittests). @@ -96,7 +96,7 @@ } @@ -159,8 +150,8 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl // Note: res_ninit in glibc always returns 0 and sets RES_INIT. // res_init behaves the same way. memset(&_res, 0, sizeof(_res)); ---- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc.orig 2019-06-18 11:51:17.000000000 -0400 -+++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc 2019-07-03 12:32:50.938758186 -0400 +--- ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc.orig 2019-06-18 11:51:17.000000000 -0400 ++++ ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc 2019-07-03 12:32:50.938758186 -0400 @@ -25,7 +25,7 @@ #include "llvm/Support/raw_ostream.h" #include <algorithm> @@ -178,8 +169,8 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl #endif #endif ---- third_party/nasm/nasmlib/realpath.c.orig 2019-07-03 12:23:05.021949895 -0400 -+++ third_party/nasm/nasmlib/realpath.c 2019-07-03 12:24:24.246862665 -0400 +--- ./third_party/nasm/nasmlib/realpath.c.orig 2019-07-03 12:23:05.021949895 -0400 ++++ ./third_party/nasm/nasmlib/realpath.c 2019-07-03 12:24:24.246862665 -0400 @@ -49,7 +49,7 @@ #include "nasmlib.h" @@ -189,30 +180,23 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl /* * GNU-specific, but avoids the realpath(..., NULL) ---- ./third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig +--- ./third_party/perfetto/include/perfetto/ext/base/thread_utils.h +++ ./third_party/perfetto/include/perfetto/ext/base/thread_utils.h -@@ -61,9 +61,11 @@ - #if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +@@ -29,7 +29,7 @@ + #include <algorithm> + #endif + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if 1 + #include <sys/prctl.h> + #endif + +@@ -58,7 +58,7 @@ inline bool MaybeSetThreadName(const std::string& name) { + + inline bool GetThreadName(std::string& out_result) { + char buf[16] = {}; +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if 1 if (prctl(PR_GET_NAME, buf) != 0) return false; --#else -+#elif defined(__GLIBC__) - if (pthread_getname_np(pthread_self(), buf, sizeof(buf)) != 0) - return false; -+#else -+ return false; - #endif - out_result = std::string(buf); - return true; ---- ./base/files/file_util_posix.cc.orig -+++ ./base/files/file_util_posix.cc -@@ -845,6 +845,9 @@ - // NaCl doesn't implement system calls to open files directly. - #if !defined(OS_NACL) - FILE* FileToFILE(File file, const char* mode) { -+ if (!file.IsValid() || !(fcntl(file.GetPlatformFile(), F_GETFD) != -1 || errno != EBADF)) -+ return nullptr; -+ - FILE* stream = fdopen(file.GetPlatformFile(), mode); - if (stream) - file.TakePlatformFile();
\ No newline at end of file + #else diff --git a/community/chromium/musl-libc++.patch b/community/chromium/musl-libc++.patch index 1e26f65b69..4316a7bda8 100644 --- a/community/chromium/musl-libc++.patch +++ b/community/chromium/musl-libc++.patch @@ -1,5 +1,5 @@ ---- buildtools/third_party/libc++/trunk/include/locale -+++ buildtools/third_party/libc++/trunk/include/locale +--- ./buildtools/third_party/libc++/trunk/include/locale ++++ ./buildtools/third_party/libc++/trunk/include/locale @@ -10,6 +10,15 @@ #ifndef _LIBCPP_LOCALE #define _LIBCPP_LOCALE @@ -16,8 +16,8 @@ /* locale synopsis ---- buildtools/third_party/libc++/trunk/src/locale.cpp -+++ buildtools/third_party/libc++/trunk/src/locale.cpp +--- ./buildtools/third_party/libc++/trunk/src/locale.cpp ++++ ./buildtools/third_party/libc++/trunk/src/locale.cpp @@ -1019,11 +1019,11 @@ return low; } diff --git a/community/chromium/musl-stat.patch b/community/chromium/musl-stat.patch new file mode 100644 index 0000000000..427be1a3f4 --- /dev/null +++ b/community/chromium/musl-stat.patch @@ -0,0 +1,12 @@ +--- a/base/files/file.h.orig ++++ b/base/files/file.h +@@ -19,7 +19,8 @@ + #include "build/build_config.h" + + #if defined(OS_BSD) || defined(OS_APPLE) || defined(OS_NACL) || \ +- defined(OS_FUCHSIA) || (defined(OS_ANDROID) && __ANDROID_API__ < 21) ++ defined(OS_FUCHSIA) || (defined(OS_ANDROID) && __ANDROID_API__ < 21) || \ ++ (defined(OS_LINUX) && !defined(__GLIBC__)) + struct stat; + namespace base { + typedef struct stat stat_wrapper_t; diff --git a/community/chromium/no-execinfo.patch b/community/chromium/no-execinfo.patch index dd7ed5c16b..8cb2f796c4 100644 --- a/community/chromium/no-execinfo.patch +++ b/community/chromium/no-execinfo.patch @@ -1,5 +1,5 @@ ---- base/debug/stack_trace_posix.cc -+++ base/debug/stack_trace_posix.cc +--- ./base/debug/stack_trace_posix.cc ++++ ./base/debug/stack_trace_posix.cc @@ -27,7 +27,7 @@ #if !defined(USE_SYMBOLIZE) #include <cxxabi.h> @@ -52,8 +52,8 @@ void StackTrace::OutputToStreamWithPrefix(std::ostream* os, const char* prefix_string) const { StreamBacktraceOutputHandler handler(os); ---- v8/src/codegen/external-reference-table.cc.orig -+++ v8/src/codegen/external-reference-table.cc +--- ./v8/src/codegen/external-reference-table.cc.orig ++++ ./v8/src/codegen/external-reference-table.cc @@ -11,7 +11,9 @@ #if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID) diff --git a/community/chromium/musl-fixes-breakpad.patch b/community/chromium/no-getcontext.patch index 71c1e9122e..71c1e9122e 100644 --- a/community/chromium/musl-fixes-breakpad.patch +++ b/community/chromium/no-getcontext.patch diff --git a/community/chromium/no-mallinfo.patch b/community/chromium/no-mallinfo.patch index 22572b1eb5..8e6069f0da 100644 --- a/community/chromium/no-mallinfo.patch +++ b/community/chromium/no-mallinfo.patch @@ -1,31 +1,14 @@ ---- .base/trace_event/malloc_dump_provider.cc.orig +--- ./base/trace_event/malloc_dump_provider.cc.orig +++ ./base/trace_event/malloc_dump_provider.cc -@@ -213,24 +213,7 @@ +@@ -212,7 +212,7 @@ + &allocated_objects_count); #elif defined(OS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. - #else --#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) --#if __GLIBC_PREREQ(2, 33) --#define MALLINFO2_FOUND_IN_LIBC -- struct mallinfo2 info = mallinfo2(); --#endif --#endif // defined(__GLIBC__) && defined(__GLIBC_PREREQ) --#if !defined(MALLINFO2_FOUND_IN_LIBC) -- struct mallinfo info = mallinfo(); --#endif --#undef MALLINFO2_FOUND_IN_LIBC -- // In case of Android's jemalloc |arena| is 0 and the outer pages size is -- // reported by |hblkhd|. In case of dlmalloc the total is given by -- // |arena| + |hblkhd|. For more details see link: http://goo.gl/fMR8lF. -- total_virtual_size = info.arena + info.hblkhd; -- resident_size = info.uordblks; -- -- // Total allocated space is given by |uordblks|. -- allocated_objects_size = info.uordblks; -+// NOOP - #endif - - MemoryAllocatorDump* outer_dump = pmd->CreateAllocatorDump("malloc"); +-#else ++#elif defined(__GLIBC__) + #if defined(__GLIBC__) && defined(__GLIBC_PREREQ) + #if __GLIBC_PREREQ(2, 33) + #define MALLINFO2_FOUND_IN_LIBC --- ./base/process/process_metrics_posix.cc +++ ./base/process/process_metrics_posix.cc @@ -105,7 +105,7 @@ @@ -57,8 +40,8 @@ // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. return 0; #endif ---- third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc.orig -+++ third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc +--- ./third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc.orig ++++ ./third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc @@ -35,7 +35,7 @@ MemoryUsage GetMemoryUsage() { @@ -68,3 +51,32 @@ rusage res; if (getrusage(RUSAGE_SELF, &res) == 0) { result.max_rss_kb = res.ru_maxrss; +--- ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc ++++ ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig +@@ -86,11 +86,11 @@ + } + + size_t Process::GetMallocUsage() { +-#if defined(HAVE_MALLINFO2) ++#if defined(HAVE_MALLINFO2) && defined(__GLIBC__) + struct mallinfo2 mi; + mi = ::mallinfo2(); + return mi.uordblks; +-#elif defined(HAVE_MALLINFO) ++#elif defined(HAVE_MALLINFO) && defined(__GLIBC__) + struct mallinfo mi; + mi = ::mallinfo(); + return mi.uordblks; + +--- ./third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig 2019-09-30 13:03:42.556880537 -0400 ++++ ./third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h 2019-09-30 13:07:27.989821227 -0400 +@@ -122,7 +122,9 @@ + /* #undef HAVE_MALLCTL */ + + /* Define to 1 if you have the `mallinfo' function. */ ++#if defined(__GLIBC__) + #define HAVE_MALLINFO 1 ++#endif + + /* Define to 1 if you have the <malloc.h> header file. */ + #define HAVE_MALLOC_H 1 diff --git a/community/chromium/quiche-arena-size.patch b/community/chromium/quiche-arena-size.patch index 1770502bef..50abcaebed 100644 --- a/community/chromium/quiche-arena-size.patch +++ b/community/chromium/quiche-arena-size.patch @@ -1,13 +1,11 @@ --- ./net/third_party/quiche/src/quic/core/quic_one_block_arena.h +++ ./net/third_party/quiche/src/quic/core/quic_one_block_arena.h -@@ -69,7 +69,9 @@ +@@ -69,7 +69,7 @@ // QuicConnections currently use around 1KB of polymorphic types which would // ordinarily be on the heap. Instead, store them inline in an arena. --using QuicConnectionArena = QuicOneBlockArena<1056>; -+// On musl-based systems the QuicAlarm is larger than expected. Increase the -+// allocated memory to prevent the arena run out of space. (!23366) -+using QuicConnectionArena = QuicOneBlockArena<1408>; +-using QuicConnectionArena = QuicOneBlockArena<1152>; ++using QuicConnectionArena = QuicOneBlockArena<1504>; } // namespace quic diff --git a/community/chromium/remove-strip_binary.patch b/community/chromium/remove-strip_binary.patch new file mode 100644 index 0000000000..8b13c6a056 --- /dev/null +++ b/community/chromium/remove-strip_binary.patch @@ -0,0 +1,32 @@ +--- a/chrome/test/chromedriver/BUILD.gn.orig ++++ b/chrome/test/chromedriver/BUILD.gn +@@ -308,11 +308,7 @@ + } + } + +-if (is_linux) { +- chromedriver_output = "chromedriver.unstripped" +-} else { +- chromedriver_output = "chromedriver" +-} ++chromedriver_output = "chromedriver" + + executable("$chromedriver_output") { + testonly = true +@@ -336,16 +332,6 @@ + } + } + +-if (is_linux) { +- strip_binary("chromedriver") { +- testonly = true +- binary_input = "$root_out_dir/$chromedriver_output" +- symbol_output = "$root_out_dir/chromedriver.debug" +- stripped_binary_output = "$root_out_dir/chromedriver" +- deps = [ ":$chromedriver_output" ] +- } +-} +- + python_library("chromedriver_py_tests") { + testonly = true + deps = [ diff --git a/community/chromium/remove-unsupported-attribute.patch b/community/chromium/remove-unsupported-attribute.patch deleted file mode 100644 index f27ade4478..0000000000 --- a/community/chromium/remove-unsupported-attribute.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- ./base/check.h.orig -+++ ./base/check.h -@@ -85,7 +85,7 @@ class BASE_EXPORT CheckError { - // Stream for adding optional details to the error message. - std::ostream& stream(); - -- NOMERGE ~CheckError(); -+ ~CheckError(); - - CheckError(const CheckError& other) = delete; - CheckError& operator=(const CheckError& other) = delete; -diff --git a/base/compiler_specific.h b/base/compiler_specific.h -index 14a5d6870df43..fa961b0cee1af 100644 ---- ./base/compiler_specific.h.orig -+++ ./base/compiler_specific.h -@@ -340,11 +340,4 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { - - #endif // defined(__clang_analyzer__) - --// Use nomerge attribute to disable optimization of merging multiple same calls. --#if defined(__clang__) && __has_attribute(nomerge) --#define NOMERGE [[clang::nomerge]] --#else --#define NOMERGE --#endif -- - // Marks a type as being eligible for the "trivial" ABI despite having a diff --git a/community/chromium/resolver.patch b/community/chromium/resolver.patch index e98e0e5e8e..d981c8c007 100644 --- a/community/chromium/resolver.patch +++ b/community/chromium/resolver.patch @@ -1,17 +1,5 @@ ---- ./net/dns/dns_reloader.cc -+++ ./net/dns/dns_reloader.cc -@@ -4,8 +4,7 @@ - - #include "net/dns/dns_reloader.h" - --#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ -- !defined(OS_ANDROID) && !defined(OS_FUCHSIA) -+#if defined(__GLIBC__) - - #include <resolv.h> - ---- ./net/dns/host_resolver_manager.cc -+++ ./net/dns/host_resolver_manager.cc +--- ./net/dns/host_resolver_manager.cc.orig 2020-10-09 16:39:12.064069835 -0400 ++++ ./net/dns/host_resolver_manager.cc 2020-10-09 16:42:49.738302772 -0400 @@ -2779,8 +2779,7 @@ NetworkChangeNotifier::AddConnectionTypeObserver(this); if (system_dns_config_notifier_) @@ -22,8 +10,22 @@ EnsureDnsReloaderInit(); #endif ---- ./net/dns/host_resolver_proc.cc -+++ ./net/dns/host_resolver_proc.cc +--- ./net/dns/dns_reloader.cc.orig 2020-10-09 16:39:12.064069835 -0400 ++++ ./net/dns/dns_reloader.cc 2020-10-09 16:44:30.442419823 -0400 +@@ -4,9 +4,8 @@ + + #include "net/dns/dns_reloader.h" + +-#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ +- !defined(OS_ANDROID) && !defined(OS_FUCHSIA) +- ++#if defined(__GLIBC__) ++ + #include <resolv.h> + + #include "base/lazy_instance.h" +--- ./net/dns/host_resolver_proc.cc.orig 2020-10-09 16:39:12.065069836 -0400 ++++ ./net/dns/host_resolver_proc.cc 2020-10-09 16:45:09.641466644 -0400 @@ -159,8 +159,7 @@ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, base::BlockingType::WILL_BLOCK); @@ -36,10 +38,25 @@ base::Optional<AddressInfo> ai; --- ./net/dns/dns_config_service_linux.cc.orig +++ ./net/dns/dns_config_service_linux.cc -@@ -486,20 +480,11 @@ +@@ -432,12 +432,6 @@ + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + +- std::unique_ptr<struct __res_state> res = resolv_reader_->GetResState(); +- if (res) { +- dns_config_ = ConvertResStateToDnsConfig(*res.get()); +- resolv_reader_->CloseResState(res.get()); +- } +- + UMA_HISTOGRAM_BOOLEAN("Net.DNS.DnsConfig.Resolv.Read", + dns_config_.has_value()); + if (!dns_config_.has_value()) +--- ./net/dns/public/resolv_reader.cc.orig ++++ ./net/dns/public/resolv_reader.cc +@@ -20,19 +20,10 @@ + namespace net { - std::unique_ptr<struct __res_state> - DnsConfigServiceLinux::ResolvReader::GetResState() { + std::unique_ptr<struct __res_state> ResolvReader::GetResState() { - auto res = std::make_unique<struct __res_state>(); - memset(res.get(), 0, sizeof(struct __res_state)); - @@ -52,9 +69,8 @@ + return nullptr; } - void DnsConfigServiceLinux::ResolvReader::CloseResState( - struct __res_state* res) { + void ResolvReader::CloseResState(struct __res_state* res) { - res_nclose(res); } - DnsConfigServiceLinux::DnsConfigServiceLinux() + absl::optional<std::vector<IPEndPoint>> GetNameservers( diff --git a/community/chromium/revert-use-ffile-compilation-dir.patch b/community/chromium/revert-use-ffile-compilation-dir.patch new file mode 100644 index 0000000000..f0c110fe73 --- /dev/null +++ b/community/chromium/revert-use-ffile-compilation-dir.patch @@ -0,0 +1,48 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index f442166..c325f72 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1248,19 +1248,12 @@ config("compiler_deterministic") { + # different build directory like "out/feature_a" and "out/feature_b" if + # we build same files with same compile flag. + # Other paths are already given in relative, no need to normalize them. +- if (is_nacl) { +- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. +- cflags += [ +- "-Xclang", +- "-fdebug-compilation-dir", +- "-Xclang", +- ".", +- ] +- } else { +- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= +- # and -fcoverage-compilation-dir=. +- cflags += [ "-ffile-compilation-dir=." ] +- } ++ cflags += [ ++ "-Xclang", ++ "-fdebug-compilation-dir", ++ "-Xclang", ++ ".", ++ ] + if (!is_win) { + # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) + asmflags = [ "-Wa,-fdebug-compilation-dir,." ] +diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni +index 008a386..89e7fdf 100644 +--- a/build/config/compiler/compiler.gni ++++ b/build/config/compiler/compiler.gni +@@ -238,8 +238,11 @@ declare_args() { + # deterministic builds to reduce compile times, so this is less relevant for + # official builders. + strip_absolute_paths_from_debug_symbols_default = +- is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || +- is_chromeos || (is_apple && !enable_dsyms) ++ # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has ++ # dependency to absolute path of source files. ++ !use_clang_coverage && ++ (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || ++ is_chromeos || (is_apple && !enable_dsyms)) + + # If the platform uses stripped absolute paths by default, then we don't expose + # it as a configuration option. If this is causing problems, please file a bug. diff --git a/community/chromium/skia-harfbuzz-3.0.0.patch b/community/chromium/skia-harfbuzz-3.0.0.patch deleted file mode 100644 index f74306a81a..0000000000 --- a/community/chromium/skia-harfbuzz-3.0.0.patch +++ /dev/null @@ -1,100 +0,0 @@ -# Minimal diff for harfbuzz 3.0.0 support; based on: -# https://github.com/google/skia/commit/66684b17b382 -# https://github.com/google/skia/commit/51d83abcd24a - -diff --git a/gn/skia.gni b/gn/skia.gni -index d98fdc19ee..199335d5c4 100644 ---- ./gn/skia.gni -+++ ./third_party/skia/gn/skia.gni -@@ -34,8 +34,6 @@ declare_args() { - skia_include_multiframe_procs = false - skia_lex = false - skia_libgifcodec_path = "third_party/externals/libgifcodec" -- skia_pdf_subset_harfbuzz = -- false # TODO: set skia_pdf_subset_harfbuzz to skia_use_harfbuzz. - skia_qt_path = getenv("QT_PATH") - skia_skqp_global_error_tolerance = 0 - skia_tools_require_resources = false -@@ -99,6 +97,10 @@ declare_args() { - skia_use_libfuzzer_defaults = true - } - -+declare_args() { -+ skia_pdf_subset_harfbuzz = skia_use_harfbuzz -+} -+ - declare_args() { - skia_compile_sksl_tests = skia_compile_processors - skia_enable_fontmgr_android = skia_use_expat && skia_use_freetype -diff --git a/src/pdf/SkPDFSubsetFont.cpp b/src/pdf/SkPDFSubsetFont.cpp -index 81c37eef3a..2340a7937b 100644 ---- a/src/pdf/SkPDFSubsetFont.cpp -+++ ./third_party/skia/src/pdf/SkPDFSubsetFont.cpp -@@ -49,6 +49,37 @@ static sk_sp<SkData> to_data(HBBlob blob) { - blob.release()); - } - -+template<typename...> using void_t = void; -+template<typename T, typename = void> -+struct SkPDFHarfBuzzSubset { -+ // This is the HarfBuzz 3.0 interface. -+ // hb_subset_flags_t does not exist in 2.0. It isn't dependent on T, so inline the value of -+ // HB_SUBSET_FLAGS_RETAIN_GIDS until 2.0 is no longer supported. -+ static HBFace Make(T input, hb_face_t* face) { -+ // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY. -+ // If it isn't known if a font is 'tricky', retain the hints. -+ hb_subset_input_set_flags(input, 2/*HB_SUBSET_FLAGS_RETAIN_GIDS*/); -+ return HBFace(hb_subset_or_fail(face, input)); -+ } -+}; -+template<typename T> -+struct SkPDFHarfBuzzSubset<T, void_t< -+ decltype(hb_subset_input_set_retain_gids(std::declval<T>(), std::declval<bool>())), -+ decltype(hb_subset_input_set_drop_hints(std::declval<T>(), std::declval<bool>())), -+ decltype(hb_subset(std::declval<hb_face_t*>(), std::declval<T>())) -+ >> -+{ -+ // This is the HarfBuzz 2.0 (non-public) interface, used if it exists. -+ // This code should be removed as soon as all users are migrated to the newer API. -+ static HBFace Make(T input, hb_face_t* face) { -+ hb_subset_input_set_retain_gids(input, true); -+ // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY. -+ // If it isn't known if a font is 'tricky', retain the hints. -+ hb_subset_input_set_drop_hints(input, false); -+ return HBFace(hb_subset(face, input)); -+ } -+}; -+ - static sk_sp<SkData> subset_harfbuzz(sk_sp<SkData> fontData, - const SkPDFGlyphUse& glyphUsage, - int ttcIndex) { -@@ -71,11 +102,10 @@ static sk_sp<SkData> subset_harfbuzz(sk_sp<SkData> fontData, - hb_set_t* glyphs = hb_subset_input_glyph_set(input.get()); - glyphUsage.getSetValues([&glyphs](unsigned gid) { hb_set_add(glyphs, gid);}); - -- hb_subset_input_set_retain_gids(input.get(), true); -- // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY. -- // If it isn't known if a font is 'tricky', retain the hints. -- hb_subset_input_set_drop_hints(input.get(), false); -- HBFace subset(hb_subset(face.get(), input.get())); -+ HBFace subset = SkPDFHarfBuzzSubset<hb_subset_input_t*>::Make(input.get(), face.get()); -+ if (!subset) { -+ return nullptr; -+ } - HBBlob result(hb_face_reference_blob(subset.get())); - return to_data(std::move(result)); - } -diff --git a/third_party/harfbuzz/BUILD.gn b/third_party/harfbuzz/BUILD.gn -index 173830de62..4156607ef9 100644 ---- a/third_party/harfbuzz/BUILD.gn -+++ ./third_party/skia/third_party/harfbuzz/BUILD.gn -@@ -14,6 +14,9 @@ if (skia_use_system_harfbuzz) { - system("harfbuzz") { - include_dirs = [ "/usr/include/harfbuzz" ] - libs = [ "harfbuzz" ] -+ if (skia_pdf_subset_harfbuzz) { -+ libs += [ "harfbuzz-subset" ] -+ } - } - } else { - third_party("harfbuzz") { diff --git a/community/chromium/strip-binary.patch b/community/chromium/strip-binary.patch deleted file mode 100644 index de87bd4d55..0000000000 --- a/community/chromium/strip-binary.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- build/linux/strip_binary.gni.orig -+++ build/linux/strip_binary.gni -@@ -20,7 +20,7 @@ - "testonly", - ]) - action("${target_name}") { -- eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip" -+ eu_strip_binary = "/usr/bin/eu-strip" - script = "//build/linux/strip_binary.py" - inputs = [ - invoker.binary_input, -@@ -32,7 +32,7 @@ - ] - args = [ - "--eu-strip-binary-path", -- rebase_path(eu_strip_binary, root_build_dir), -+ eu_strip_binary, - "--symbol-output", - rebase_path(invoker.symbol_output, root_build_dir), - "--stripped-binary-output", diff --git a/community/chromium/swiftshader.patch b/community/chromium/swiftshader.patch deleted file mode 100644 index 989b83e555..0000000000 --- a/community/chromium/swiftshader.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- ./third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -+++ ./third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -@@ -14,7 +14,7 @@ - #define ENABLE_CRASH_OVERRIDES 1 - - /* Define to 1 if you have the `backtrace' function. */ --#define HAVE_BACKTRACE 1 -+/* #define HAVE_BACKTRACE 1 */ - - /* Define to 1 if you have the <CrashReporterClient.h> header file. */ - /* #undef HAVE_CRASHREPORTERCLIENT_H */ -@@ -55,7 +55,7 @@ - #define HAVE_ERRNO_H 1 - - /* Define to 1 if you have the <execinfo.h> header file. */ --#define HAVE_EXECINFO_H 1 -+/*#undef HAVE_EXECINFO_H 1 */ - - /* Define to 1 if you have the <fcntl.h> header file. */ - #define HAVE_FCNTL_H 1 -@@ -130,10 +130,10 @@ - /* #undef HAVE_MALLCTL */ - - /* Define to 1 if you have the `mallinfo' function. */ --#define HAVE_MALLINFO 1 -+/* #undef HAVE_MALLINFO 1*/ - - /* Define to 1 if you have the <malloc.h> header file. */ --#define HAVE_MALLOC_H 1 -+/* #undef HAVE_MALLOC_H 1 */ - - /* Define to 1 if you have the <malloc/malloc.h> header file. */ - /* #undef HAVE_MALLOC_MALLOC_H */ diff --git a/community/chromium/unbundle-fix-visibility-of-build-config-freetype.patch b/community/chromium/unbundle-fix-visibility-of-build-config-freetype.patch new file mode 100644 index 0000000000..d10023bc02 --- /dev/null +++ b/community/chromium/unbundle-fix-visibility-of-build-config-freetype.patch @@ -0,0 +1,31 @@ +From 271e45339b7b969e98ccef7837cb1b15480b07fc Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <stha09@googlemail.com> +Date: Thu, 4 Nov 2021 18:58:34 +0000 +Subject: [PATCH] unbundle: fix visibility of //build/config/freetype + +For system freetype //build/linux:freetype_from_pkgconfig is restricted +to //third_party:freetype_harfbuzz and //third_party/harfbuzz-ng:harfbuzz_source. +However //build/config/freetype:freetype is accessing it too. + +Bug: None +Change-Id: Ic4a37b01e4ae221372a9220cbad04c598b844c21 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3259304 +Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> +Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> +Cr-Commit-Position: refs/heads/main@{#938388} +--- + build/linux/BUILD.gn | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/build/linux/BUILD.gn b/build/linux/BUILD.gn +index 54314c7687..cd49e3d524 100644 +--- a/build/linux/BUILD.gn ++++ b/build/linux/BUILD.gn +@@ -23,6 +23,7 @@ if (use_system_freetype) { + # the system, use with caution,for details see build/config/freetype/BUILD.gn. + pkg_config("freetype_from_pkgconfig") { + visibility = [ ++ "//build/config/freetype:freetype", + "//third_party:freetype_harfbuzz", + "//third_party/harfbuzz-ng:harfbuzz_source", + ] diff --git a/community/chromium/use-deprecated-ffmpeg-api.patch b/community/chromium/use-deprecated-ffmpeg-api.patch index d0bf8a029f..f0ec736f98 100644 --- a/community/chromium/use-deprecated-ffmpeg-api.patch +++ b/community/chromium/use-deprecated-ffmpeg-api.patch @@ -1,6 +1,8 @@ ---- ./media/filters/ffmpeg_demuxer.cc.orig -+++ ./media/filters/ffmpeg_demuxer.cc -@@ -427,11 +427,11 @@ +diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc +index ac4713b07268..492a9a37d096 100644 +--- a/media/filters/ffmpeg_demuxer.cc ++++ b/media/filters/ffmpeg_demuxer.cc +@@ -427,11 +427,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { scoped_refptr<DecoderBuffer> buffer; if (type() == DemuxerStream::TEXT) { @@ -14,7 +16,7 @@ uint8_t* settings_data = av_packet_get_side_data( packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size); -@@ -443,7 +443,7 @@ +@@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { buffer = DecoderBuffer::CopyFrom(packet->data, packet->size, side_data.data(), side_data.size()); } else { @@ -23,7 +25,7 @@ uint8_t* side_data = av_packet_get_side_data( packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size); -@@ -504,7 +504,7 @@ +@@ -504,7 +504,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { packet->size - data_offset); } |