Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chromium for openSUSE:Factory checked in at 2021-09-21 21:12:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Tue Sep 21 21:12:23 2021 rev:304 rq:919574 version:93.0.4577.82 Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2021-09-03 21:26:33.606201049 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new.1899/chromium.changes 2021-09-21 21:12:53.786621928 +0200 @@ -1,0 +2,51 @@ +Wed Sep 15 21:00:27 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Chromium 93.0.4577.63 (boo#1190096): + * CVE-2021-30606: Use after free in Blink + * CVE-2021-30607: Use after free in Permissions + * CVE-2021-30608: Use after free in Web Share + * CVE-2021-30609: Use after free in Sign-In + * CVE-2021-30610: Use after free in Extensions API + * CVE-2021-30611: Use after free in WebRTC + * CVE-2021-30612: Use after free in WebRTC + * CVE-2021-30613: Use after free in Base internals + * CVE-2021-30614: Heap buffer overflow in TabStrip + * CVE-2021-30615: Cross-origin data leak in Navigation + * CVE-2021-30616: Use after free in Media + * CVE-2021-30617: Policy bypass in Blink + * CVE-2021-30618: Inappropriate implementation in DevTools + * CVE-2021-30619: UI Spoofing in Autofill + * CVE-2021-30620: Insufficient policy enforcement in Blink + * CVE-2021-30621: UI Spoofing in Autofill + * CVE-2021-30622: Use after free in WebApp Installs + * CVE-2021-30623: Use after free in Bookmarks + * CVE-2021-30624: Use after free in Autofill +- Chromium 93.0.4577.82 (boo#1190476): + * CVE-2021-30625: Use after free in Selection API + * CVE-2021-30626: Out of bounds memory access in ANGLE + * CVE-2021-30627: Type Confusion in Blink layout + * CVE-2021-30628: Stack buffer overflow in ANGLE + * CVE-2021-30629: Use after free in Permissions + * CVE-2021-30630: Inappropriate implementation in Blink + * CVE-2021-30631: Type Confusion in Blink layout + * CVE-2021-30632: Out of bounds write in V8 + * CVE-2021-30633: Use after free in Indexed DB API +- Removed patches: + * chromium-88-gcc-fix-swiftshader-libEGL-visibility.patch + * chromium-92-v8-constexpr.patch + * chromium-no-writeprotection.patch + * chromium-92-EnumTable-crash.patch +- Added patches: + * chromium-93-ContextSet-permissive.patch + * chromium-93-ClassProperty-include.patch + * chromium-93-BluetoothLowEnergyScanFilter-include.patch + * chromium-93-HashPasswordManager-include.patch + * chromium-93-pdfium-include.patch + * chromium-93-DevToolsEmbedderMessageDispatcher-include.patch + * chromium-93-FormForest-constexpr.patch + * chromium-93-ScopedTestDialogAutoConfirm-include.patch + * chromium-93-InkDropHost-crash.patch + * chromium-93-ffmpeg-4.4.patch + * chromium-93-EnumTable-crash.patch + +------------------------------------------------------------------- Old: ---- chromium-88-gcc-fix-swiftshader-libEGL-visibility.patch chromium-92-EnumTable-crash.patch chromium-92-v8-constexpr.patch chromium-92.0.4515.159.tar.xz chromium-browser.desktop chromium-browser.sh chromium-browser.xml chromium-no-writeprotection.patch chromium.default New: ---- INSTALL.sh chromium-93-BluetoothLowEnergyScanFilter-include.patch chromium-93-ClassProperty-include.patch chromium-93-ContextSet-permissive.patch chromium-93-DevToolsEmbedderMessageDispatcher-include.patch chromium-93-EnumTable-crash.patch chromium-93-FormForest-constexpr.patch chromium-93-HashPasswordManager-include.patch chromium-93-InkDropHost-crash.patch chromium-93-ScopedTestDialogAutoConfirm-include.patch chromium-93-ffmpeg-4.4.patch chromium-93-pdfium-include.patch chromium-93.0.4577.82.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.Z13AKu/_old 2021-09-21 21:13:04.162633662 +0200 +++ /var/tmp/diff_new_pack.Z13AKu/_new 2021-09-21 21:13:04.162633662 +0200 @@ -16,15 +16,6 @@ # -%if 0%{?suse_version} >= 1550 -%define clang_version %{nil} -%endif -%if 0%{?sle_version} >= 150300 -%define clang_version 11 -%endif -%if 0%{?sle_version} == 150200 -%define clang_version 9 -%endif %define rname chromium # bsc#1108175 %define __provides_exclude ^lib.*\\.so.*$ @@ -42,6 +33,11 @@ %bcond_with system_harfbuzz %bcond_with pipewire %endif +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300 +%bcond_without system_ffmpeg +%else +%bcond_with system_ffmpeg +%endif %ifarch %{arm} aarch64 %bcond_with swiftshader %else @@ -50,7 +46,7 @@ %bcond_with lto %bcond_without clang Name: chromium -Version: 92.0.4515.159 +Version: 93.0.4577.82 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -60,11 +56,10 @@ Source2: https://github.com/google/highway/archive/refs/tags/0.12.2.tar.gz#/highway-0.12.2.tar.gz # Toolchain definitions Source30: master_preferences -Source100: chromium-browser.sh -Source101: chromium-browser.desktop -Source102: chromium-browser.xml -Source103: chromium.default Source104: chromium-symbolic.svg +# https://github.com/chromium/chromium/tree/%{version}/chrome/installer/linux/common/installer.include +Source105: INSTALL.sh +# Patch0: chromium-libusb_interrupt_event_handler.patch # PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059] Patch1: exclude_ymp.patch @@ -93,19 +88,26 @@ Patch21: chromium-gcc11.patch Patch23: chromium-glibc-2.33.patch Patch25: chromium-90-fseal.patch -Patch29: chromium-92-EnumTable-crash.patch +Patch29: chromium-93-EnumTable-crash.patch Patch30: chromium-shim_headers.patch Patch31: chromium-89-missing-cstring-header.patch -Patch33: chromium-88-gcc-fix-swiftshader-libEGL-visibility.patch Patch36: chromium-90-ruy-include.patch Patch40: chromium-91-java-only-allowed-in-android-builds.patch Patch44: chromium-91-libyuv-aarch64.patch Patch46: chromium-91-sql-standard-layout-type.patch -Patch47: chromium-92-v8-constexpr.patch Patch49: chromium-freetype-2.11.patch Patch50: chromium-clang-nomerge.patch Patch51: chromium-glibc-2.34.patch -Patch52: chromium-no-writeprotection.patch +Patch53: chromium-93-ContextSet-permissive.patch +Patch54: chromium-93-ClassProperty-include.patch +Patch55: chromium-93-BluetoothLowEnergyScanFilter-include.patch +Patch56: chromium-93-HashPasswordManager-include.patch +Patch57: chromium-93-pdfium-include.patch +Patch58: chromium-93-DevToolsEmbedderMessageDispatcher-include.patch +Patch59: chromium-93-FormForest-constexpr.patch +Patch60: chromium-93-ScopedTestDialogAutoConfirm-include.patch +Patch61: chromium-93-InkDropHost-crash.patch +Patch62: chromium-93-ffmpeg-4.4.patch # Google seem not too keen on merging this but GPU accel is quite important # https://chromium-review.googlesource.com/c/chromium/src/+/532294 # https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches @@ -141,8 +143,8 @@ BuildRequires: pam-devel BuildRequires: pkgconfig BuildRequires: python -BuildRequires: python-xml -BuildRequires: python2-setuptools +BuildRequires: python3 +BuildRequires: python3-setuptools BuildRequires: snappy-devel BuildRequires: update-desktop-files BuildRequires: util-linux @@ -194,7 +196,7 @@ BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(opus) >= 1.3.1 -BuildRequires: pkgconfig(python) +BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(re2) BuildRequires: pkgconfig(schroedinger-1.0) BuildRequires: pkgconfig(slang) @@ -223,7 +225,6 @@ BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zlib) -Requires: hicolor-icon-theme Requires: xdg-utils Requires(pre): permissions Recommends: noto-coloremoji-fonts @@ -261,9 +262,9 @@ BuildRequires: pkgconfig(vpx) >= 1.8.2 %endif %if %{with clang} -BuildRequires: clang%{clang_version} -BuildRequires: lld%{clang_version} -BuildRequires: llvm%{clang_version} +BuildRequires: clang +BuildRequires: lld +BuildRequires: llvm %else BuildRequires: binutils-gold %if %{?suse_version} > 1500 @@ -305,6 +306,12 @@ rm buildtools/third_party/eu-strip/bin/eu-strip ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip +# python3 +mkdir $HOME/bin +export PYTHON=python3 +ln -sfn %{_bindir}/$PYTHON $HOME/bin/python +export PATH="$HOME/bin/:$PATH" + # Remove bundled libs keeplibs=( base/third_party/cityhash @@ -332,7 +339,6 @@ third_party/angle/src/common/third_party/base third_party/angle/src/common/third_party/smhasher third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/compiler third_party/angle/src/third_party/libXNVCtrl third_party/angle/src/third_party/trace_event third_party/angle/src/third_party/volk @@ -348,6 +354,7 @@ third_party/catapult/common/py_vulcanize/third_party/rcssmin third_party/catapult/common/py_vulcanize/third_party/rjsmin third_party/catapult/third_party/beautifulsoup4 + third_party/catapult/third_party/html5lib-1.1/ third_party/catapult/third_party/html5lib-python third_party/catapult/third_party/polymer third_party/catapult/third_party/six @@ -521,7 +528,6 @@ third_party/xcbproto third_party/zlib/google third_party/zxcvbn-cpp - tools/grit/third_party/six url/third_party/mozilla v8/src/third_party/siphash v8/src/third_party/utf8-decoder @@ -538,6 +544,9 @@ %if !%{with system_icu} keeplibs+=( third_party/icu ) %endif +%if !%{with system_ffmpeg} +keeplibs+=( third_party/ffmpeg ) +%endif %if !%{with system_vpx} keeplibs+=( third_party/libvpx @@ -563,7 +572,6 @@ export AR=ar export NM=nm %if 0%{?suse_version} <= 1500 -mkdir -p "$HOME/bin/" export CC=gcc-10 export CXX=g++-10 # some still call gcc/g++ @@ -623,7 +631,6 @@ # Set system libraries to be used gn_system_libraries=( - ffmpeg flac fontconfig libdrm @@ -651,6 +658,9 @@ %if %{with system_vpx} gn_system_libraries+=( libvpx ) %endif +%if %{with system_ffmpeg} +gn_system_libraries+=( ffmpeg ) +%endif build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries[@]} # Create the configuration for GN @@ -697,6 +707,8 @@ myconf_gn+=" use_dbus=true" myconf_gn+=" media_use_openh264=false" myconf_gn+=" rtc_use_h264=false" +myconf_gn+=" use_v8_context_snapshot=true" +myconf_gn+=" v8_use_external_startup_data=true" # See dependency logic in third_party/BUILD.gn %if %{with system_harfbuzz} myconf_gn+=" use_system_harfbuzz=true" @@ -751,77 +763,25 @@ ninja -v %{?_smp_mflags} -C out/Release chrome chromedriver %install -mkdir -p %{buildroot}%{_libdir}/chromium -mkdir -p %{buildroot}%{_prefix}/lib/ -mkdir -p %{buildroot}%{_bindir} -install -m 755 %{SOURCE100} %{buildroot}%{_bindir}/chromium - -# x86_64 capable systems need this -sed -i "s|%{_prefix}/lib/chromium|%{_libdir}/chromium|g" %{buildroot}%{_bindir}/chromium - -mkdir -p %{buildroot}%{_mandir}/man1/ -pushd out/Release - -# Install the file %{_sysconfdir}/default/chromium which defines the chromium flags -mkdir -p %{buildroot}%{_sysconfdir}/default -install -m 644 %{SOURCE103} %{buildroot}%{_sysconfdir}/default/chromium - -cp -a *.bin *.pak locales %{buildroot}%{_libdir}/chromium/ - -# This is ANGLE, not to be confused with the similarly named files under swiftshader/ -cp -a libEGL.so* libGLESv2.so* %{buildroot}%{_libdir}/chromium/ -rm %{buildroot}%{_libdir}/chromium/*.so.TOC - -%if !%{with system_icu} -cp -a icudtl.dat %{buildroot}%{_libdir}/chromium/ -%endif - -%if %{with swiftshader} -# general folder for these is swiftshader bsc#1176450 -mkdir -p %{buildroot}%{_libdir}/chromium/swiftshader -cp -a swiftshader/*.so %{buildroot}%{_libdir}/chromium/swiftshader/ -%endif - +export OUTPUTDIR="out/Release" +bash %{SOURCE105} -s %{buildroot} -l %{_libdir} %{!?with_system_icu:-i true} # chromedriver -cp -a chromedriver.unstripped %{buildroot}%{_libdir}/chromium/chromedriver +cp -a ${OUTPUTDIR}/chromedriver.unstripped %{buildroot}%{_libdir}/chromium/chromedriver ln -s %{_libdir}/chromium/chromedriver %{buildroot}%{_bindir}/chromedriver - -cp -a crashpad_handler %{buildroot}%{_libdir}/chromium/crashpad_handler - -cp -a resources.pak %{buildroot}%{_libdir}/chromium/ -cp -a chrome %{buildroot}%{_libdir}/chromium/chromium -popd - -install -Dm 0644 chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/chromium-browser.png -install -Dm 0644 chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/chromium-browser.png -install -Dm 0644 chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/chromium-browser.png -install -Dm 0644 chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/chromium-browser.png -install -Dm 0644 chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/chromium-browser.png -install -Dm 0644 %{SOURCE104} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/chromium-browser-symbolic.svg - -mkdir -p %{buildroot}%{_datadir}/applications/ -desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE101} - -install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml %{buildroot}%{_datadir}/metainfo/chromium-browser.appdata.xml - -mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ -cp -a %{SOURCE102} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ - # link to browser plugin path. Plugin patch doesn't work. Why? mkdir -p %{buildroot}%{_libdir}/browser-plugins -pushd %{buildroot}%{_libdir}/chromium ln -s %{_libdir}/browser-plugins %{buildroot}%{_libdir}/chromium/plugins -popd - # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/chromium install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/chromium - -# install manpages -mkdir -p %{buildroot}%{_mandir}/man1/ -cp -a chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/chromium.1 -sed -i "s|@@PACKAGE@@|chromium|g" %{buildroot}%{_mandir}/man1/chromium.1 -sed -i "s|@@MENUNAME@@|Chromium|g" %{buildroot}%{_mandir}/man1/chromium.1 +# Compat link +ln -s %{_bindir}/chromium-browser %{buildroot}%{_bindir}/chromium +# Policy dirs +mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies +mkdir %{buildroot}%{_sysconfdir}/chromium/policies/managed +mkdir %{buildroot}%{_sysconfdir}/chromium/policies/recommended +# SVG +install -Dm 0644 %{SOURCE104} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/chromium-browser.svg %fdupes -s %{buildroot} @@ -829,17 +789,14 @@ %license LICENSE %doc AUTHORS %config %{_sysconfdir}/chromium -%config(noreplace) %{_sysconfdir}/default/chromium -%dir %{_datadir}/gnome-control-center -%dir %{_datadir}/gnome-control-center/default-apps -%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml %{_libdir}/chromium %{_datadir}/applications/*.desktop %{_datadir}/metainfo/chromium-browser.appdata.xml %{_datadir}/icons/hicolor %exclude %{_libdir}/chromium/chromedriver +%{_bindir}/chromium-browser %{_bindir}/chromium -%{_mandir}/man1/chromium.1%{?ext_man} +%{_mandir}/man1/chromium-browser.1%{?ext_man} %files -n chromedriver %{_libdir}/chromium/chromedriver ++++++ INSTALL.sh ++++++ #!/bin/bash set -x while getopts s:l:i: option do case "${option}" in s) STAGEDIR=${OPTARG};; l) LIBDIR=${OPTARG};; i) ICUDATAFILE=${OPTARG};; esac done OUTPUTDIR="out/Release" SHLIB_PERMS="755" PROGNAME="chrome" PACKAGE="chromium-browser" MENUNAME="Chromium Web Browser" CHANNEL="stable" INSTALLDIR="${LIBDIR}/chromium" install -m 755 -d \ "${STAGEDIR}/${INSTALLDIR}" \ "${STAGEDIR}/usr/bin" \ "${STAGEDIR}/usr/share/applications" \ "${STAGEDIR}/usr/share/metainfo" \ "${STAGEDIR}/usr/share/man/man1" # app buildfile="${OUTPUTDIR}/${PROGNAME}" install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${PROGNAME}" # crashpad buildfile="${OUTPUTDIR}/crashpad_handler" install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/crashpad_handler" # resources install -m 644 "${OUTPUTDIR}/resources.pak" "${STAGEDIR}/${INSTALLDIR}/" install -m 644 "${OUTPUTDIR}/chrome_100_percent.pak" "${STAGEDIR}/${INSTALLDIR}/" install -m 644 "${OUTPUTDIR}/chrome_200_percent.pak" "${STAGEDIR}/${INSTALLDIR}/" # ICU data file; Necessary when the GN icu_use_data_file flag is true. if [ "x$ICUDATAFILE" == "xtrue" ]; then install -m 644 "${OUTPUTDIR}/icudtl.dat" "${STAGEDIR}/${INSTALLDIR}/" fi # V8 snapshot files; Necessary when the GN v8_use_external_startup_data flag # is true. # Use v8_context_snapshot.bin instead of snapshot_blob.bin if it is available. # TODO(crbug.com/764576): Unship snapshot_blob.bin on ChromeOS and drop this branch install -m 644 "${OUTPUTDIR}/v8_context_snapshot.bin" "${STAGEDIR}/${INSTALLDIR}/" # l10n paks install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/locales/" find "${OUTPUTDIR}/locales" -type f -name '*.pak' -print -exec \ cp -a {} "${STAGEDIR}/${INSTALLDIR}/locales/" \; find "${STAGEDIR}/${INSTALLDIR}/locales" -type f -print -exec chmod 644 {} \; # MEI Preload if [ -f "${OUTPUTDIR}/MEIPreload/manifest.json" ]; then install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/MEIPreload/" install -m 644 "${OUTPUTDIR}/MEIPreload/manifest.json" "${STAGEDIR}/${INSTALLDIR}/MEIPreload/" install -m 644 "${OUTPUTDIR}/MEIPreload/preloaded_data.pb" "${STAGEDIR}/${INSTALLDIR}/MEIPreload/" fi # ANGLE if [ -f "${OUTPUTDIR}/libEGL.so" ]; then for file in libEGL.so libGLESv2.so; do buildfile="${OUTPUTDIR}/${file}" install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}" done fi # ANGLE's libvulkan library if [ -f "${OUTPUTDIR}/libvulkan.so.1" ]; then file="libvulkan.so.1" buildfile="${OUTPUTDIR}/${file}" install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}" fi # SwiftShader ES if [ -f "${OUTPUTDIR}/swiftshader/libEGL.so" ]; then install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/swiftshader/" for file in libEGL.so libGLESv2.so; do buildfile="${OUTPUTDIR}/swiftshader/${file}" install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/swiftshader/${file}" done fi # SwiftShader VK if [ -f "${OUTPUTDIR}/libvk_swiftshader.so" ]; then install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/" file="libvk_swiftshader.so" buildfile="${OUTPUTDIR}/${file}" install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}" fi if [ -f "${OUTPUTDIR}/vk_swiftshader_icd.json" ]; then # Install the ICD json file to point ANGLE to libvk_swiftshader.so install -m 644 "${OUTPUTDIR}/vk_swiftshader_icd.json" "${STAGEDIR}/${INSTALLDIR}/" fi # default apps if [ -d "${OUTPUTDIR}/default_apps" ]; then cp -a "${OUTPUTDIR}/default_apps" "${STAGEDIR}/${INSTALLDIR}/" find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type d -exec chmod 755 '{}' \; find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type f -exec chmod 644 '{}' \; fi # launcher script and symlink sed \ -e "s#@@PROGNAME@@#${PROGNAME}#g" \ -e "s#@@CHANNEL@@#${CHANNEL}#g" \ "chrome/installer/linux/common/wrapper" > "${STAGEDIR}/${INSTALLDIR}/${PACKAGE}" chmod 755 "${STAGEDIR}/${INSTALLDIR}/${PACKAGE}" ln -s "${INSTALLDIR}/${PACKAGE}" "${STAGEDIR}/usr/bin/${PACKAGE}" # app icons for size in 16 32; do icon="chrome/app/theme/default_100_percent/chromium/product_logo_${size}.png" installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png" install -D -m 644 ${icon} ${installpath} done for size in 24 48 64 128 256; do icon="chrome/app/theme/chromium/product_logo_${size}.png" installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png" install -D -m 644 ${icon} ${installpath} done # desktop integration ## AppData install -m 644 "chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml" \ "${STAGEDIR}/usr/share/metainfo/${PACKAGE}.appdata.xml" ## Desktop file sed \ -e "s#@@MENUNAME@@#${MENUNAME}#g" \ -e "s#@@USR_BIN_SYMLINK_NAME@@#${PACKAGE}#g" \ -e "s#@@PACKAGE@@#${PACKAGE}#g" \ "chrome/installer/linux/common/desktop.template" > "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop" chmod 644 "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop" # documentation sed \ -e "s#@@MENUNAME@@#${MENUNAME}#g" \ -e "s#@@PACKAGE@@#${PACKAGE}#g" \ "chrome/app/resources/manpage.1.in" > "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1" gzip -9n "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1" chmod 644 "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1.gz" ++++++ chromium-93-BluetoothLowEnergyScanFilter-include.patch ++++++ >From 2f5514051210388bfcff605570d33f08cfa7bcaa Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jdap...@igalia.com> Date: Wed, 21 Jul 2021 08:34:58 +0000 Subject: [PATCH] IWYU: usage of unique_ptr requires including <memory> in bluetooth low energy scan filter. Fix build because of missing include: ../../device/bluetooth/bluetooth_low_energy_scan_filter.h:57:15: error: ???unique_ptr??? in namespace ???std??? does not name a template type 57 | static std::unique_ptr<BluetoothLowEnergyScanFilter> Create( | ^~~~~~~~~~ Bug: 819294 Change-Id: I347953a083f1bcdf744fd86e1a73954c6f86b32e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041155 Reviewed-by: Reilly Grant <reil...@chromium.org> Commit-Queue: Jos?? Dapena Paz <jdap...@igalia.com> Cr-Commit-Position: refs/heads/master@{#903819} --- diff --git a/device/bluetooth/bluetooth_low_energy_scan_filter.h b/device/bluetooth/bluetooth_low_energy_scan_filter.h index a0436c1..7ae606c 100644 --- a/device/bluetooth/bluetooth_low_energy_scan_filter.h +++ b/device/bluetooth/bluetooth_low_energy_scan_filter.h @@ -7,6 +7,7 @@ #include <stddef.h> #include <stdint.h> +#include <memory> #include <vector> #include "base/time/time.h" ++++++ chromium-93-ClassProperty-include.patch ++++++ >From 8ae99ee447cf5f0160ea4ae978cdf37f5dcecd1e Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jdap...@igalia.com> Date: Wed, 21 Jul 2021 08:36:20 +0000 Subject: [PATCH] IWYU: missing memory include for unique_ptr usage in class_property.h Fix GCC build breakage because of missing inclide: ./../ui/base/class_property.h:120:58: error: ???std::unique_ptr??? has not been declared 120 | T* SetProperty(const ClassProperty<T*>* property, std::unique_ptr<T> value); | ^~~~~~~~~~ Bug: 819294 Change-Id: I46b921876702b8d44674689bbb5acdc107db21e5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041030 Reviewed-by: Peter Bostr??m <p...@chromium.org> Commit-Queue: Jos?? Dapena Paz <jdap...@igalia.com> Cr-Commit-Position: refs/heads/master@{#903820} --- diff --git a/ui/base/class_property.h b/ui/base/class_property.h index f7b2f55..88b4938 100644 --- a/ui/base/class_property.h +++ b/ui/base/class_property.h @@ -8,6 +8,7 @@ #include <stdint.h> #include <map> +#include <memory> #include <set> #include <type_traits> ++++++ chromium-93-ContextSet-permissive.patch ++++++ >From 7108f83c8ad1bad4072e4f32da3db6d59cf51400 Mon Sep 17 00:00:00 2001 From: Ivan Murashov <ivan.muras...@lge.com> Date: Tue, 20 Jul 2021 13:16:44 +0300 Subject: [PATCH] GCC: Remove double declaration of ContextSet After the CL https://chromium-review.googlesource.com/c/angle/angle/+/2965780 the build with GCC failed with error: /third_party/angle/src/libANGLE/Display.h:325:37: error: declaration of 'typedef class std::__1::set<gl::Context*> egl::Display::ContextSet' changes meaning of 'ContextSet' [-fpermissive] /third_party/angle/src/libANGLE/Display.h:75:7: note: 'ContextSet' declared here as 'using ContextSet = class std::__1::set<gl::Context*>' To fix the error the double declaration of ContextSet is removed. Bug: angleproject:5878, chromium:819294 Change-Id: Id9e52061af53ea18dd5d13b960daaa67a14f61ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3038804 Reviewed-by: Jamie Madill <jmad...@chromium.org> Commit-Queue: Jamie Madill <jmad...@chromium.org> --- diff --git a/third_party/angle/CONTRIBUTORS b/third_party/angle/CONTRIBUTORS index 887ddc2..94b1b4d 100644 --- a/third_party/angle/CONTRIBUTORS +++ b/third_party/angle/CONTRIBUTORS @@ -154,6 +154,7 @@ LG Electronics, Inc. Jani Hautakangas + Ivan Murashov IBM Inc. Junliang Yan diff --git a/third_party/angle/src/libANGLE/Display.h b/third_party/angle/src/libANGLE/Display.h index f33123b..f0c0910 100644 --- a/third_party/angle/src/libANGLE/Display.h +++ b/third_party/angle/src/libANGLE/Display.h @@ -322,7 +322,6 @@ ConfigSet mConfigSet; - typedef std::set<gl::Context *> ContextSet; ContextSet mContextSet; typedef std::set<Image *> ImageSet; ++++++ chromium-93-DevToolsEmbedderMessageDispatcher-include.patch ++++++ >From 409859ad9ba763a4267fb3457df7cd8eb0b7387b Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sun, 25 Jul 2021 19:43:45 +0000 Subject: [PATCH] IWYU: add vector for std::vector --- chrome/browser/devtools/devtools_embedder_message_dispatcher.h | 1 + 1 file changed, 1 insertion(+) diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h index 12f8500..4007112 100644 --- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h +++ b/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" -- 2.31.1 ++++++ chromium-92-EnumTable-crash.patch -> chromium-93-EnumTable-crash.patch ++++++ --- /work/SRC/openSUSE:Factory/chromium/chromium-92-EnumTable-crash.patch 2021-08-04 22:28:36.637822177 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new.1899/chromium-93-EnumTable-crash.patch 2021-09-21 21:12:36.274602124 +0200 @@ -1,8 +1,16 @@ diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index e3130c7..2ad16ea 100644 +index a63ae86..83ada65 100644 --- a/components/cast_channel/enum_table.h +++ b/components/cast_channel/enum_table.h -@@ -212,7 +212,7 @@ class +@@ -8,6 +8,7 @@ + #include <cstdint> + #include <cstring> + #include <ostream> ++#include <vector> + + #include "base/check_op.h" + #include "base/macros.h" +@@ -213,7 +214,7 @@ class template <typename E> friend class EnumTable; @@ -11,7 +19,7 @@ }; // Yes, these constructors really needs to be inlined. Even though they look -@@ -250,8 +250,7 @@ class EnumTable { +@@ -251,8 +252,7 @@ class EnumTable { // Constructor for regular entries. constexpr Entry(E value, base::StringPiece str) : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} @@ -21,7 +29,7 @@ }; static_assert(sizeof(E) <= sizeof(int32_t), -@@ -306,15 +305,14 @@ class EnumTable { +@@ -307,15 +307,14 @@ class EnumTable { if (is_sorted_) { const std::size_t index = static_cast<std::size_t>(value); if (ANALYZER_ASSUME_TRUE(index < data_.size())) { @@ -39,7 +47,7 @@ } // This overload of GetString is designed for cases where the argument is a -@@ -342,8 +340,7 @@ class EnumTable { +@@ -343,8 +342,7 @@ class EnumTable { // enum value directly. absl::optional<E> GetEnum(base::StringPiece str) const { auto* entry = GenericEnumTableEntry::FindByString( @@ -49,7 +57,7 @@ return entry ? static_cast<E>(entry->value) : absl::optional<E>(); } -@@ -358,7 +355,7 @@ class EnumTable { +@@ -359,7 +357,7 @@ class EnumTable { // Align the data on a cache line boundary. alignas(64) #endif @@ -58,7 +66,7 @@ bool is_sorted_; constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted) -@@ -370,8 +367,8 @@ class EnumTable { +@@ -371,8 +369,8 @@ class EnumTable { for (std::size_t i = 0; i < data.size(); i++) { for (std::size_t j = i + 1; j < data.size(); j++) { ++++++ chromium-93-FormForest-constexpr.patch ++++++ >From 802150d7be94e5317b257df545d55ce5b007ae65 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jdap...@igalia.com> Date: Tue, 20 Jul 2021 18:50:11 +0000 Subject: [PATCH] libstdc++: do not use unique_ptr bool() operator in a constexpr in form_forest.h Fix build breakage in GCC, because of calling non constexpr functions from a constexpr function. In this case, libstdc++ unique_ptr bool() operator is not constexpr, so it cannot be used inside CompareByFrameToken. An example of build breakage caused by this: ../../components/autofill/content/browser/form_forest.h:157:21: error: call to non-???constexpr??? function ???std::unique_ptr<_Tp, _Dp>::operator bool() const [with _Tp = autofill::internal::FormForest::FrameData; _Dp = std::default_delete<autofill::internal::FormForest::FrameData>]??? 157 | return f && g ? f->frame_token < g->frame_token : f.get() < g.get(); | ^ Bug: 957519 Change-Id: I3c49559084fe58886a03520729873b7c4ac89bbf Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041050 Commit-Queue: Dominic Battr?? <bat...@chromium.org> Reviewed-by: Dominic Battr?? <bat...@chromium.org> Cr-Commit-Position: refs/heads/master@{#903595} --- diff --git a/components/autofill/content/browser/form_forest.h b/components/autofill/content/browser/form_forest.h index c89a8eb..f414ab8 100644 --- a/components/autofill/content/browser/form_forest.h +++ b/components/autofill/content/browser/form_forest.h @@ -152,16 +152,16 @@ // used by FrameData sets. struct CompareByFrameToken { using is_transparent = void; - constexpr bool operator()(const std::unique_ptr<FrameData>& f, - const std::unique_ptr<FrameData>& g) const { + bool operator()(const std::unique_ptr<FrameData>& f, + const std::unique_ptr<FrameData>& g) const { return f && g ? f->frame_token < g->frame_token : f.get() < g.get(); } - constexpr bool operator()(const std::unique_ptr<FrameData>& f, - const LocalFrameToken& g) const { + bool operator()(const std::unique_ptr<FrameData>& f, + const LocalFrameToken& g) const { return f ? f->frame_token < g : true; } - constexpr bool operator()(const LocalFrameToken& f, - const std::unique_ptr<FrameData>& g) const { + bool operator()(const LocalFrameToken& f, + const std::unique_ptr<FrameData>& g) const { return g ? f < g->frame_token : false; } }; ++++++ chromium-93-HashPasswordManager-include.patch ++++++ >From 17d0e3dfcd0690df0e7b212fedcb95402f16935d Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jdap...@igalia.com> Date: Fri, 23 Jul 2021 10:17:49 +0000 Subject: [PATCH] IWYU: missing include for using std::vector in hash password manager. Fix build breakage: ../../components/password_manager/core/browser/hash_password_manager.h:44:8: error: ???vector??? in namespace ???std??? does not name a template type 44 | std::vector<PasswordHashData> RetrieveAllPasswordHashes(); | ^~~~~~ Bug: 819294 Change-Id: I8c8a4ec3972eedb87a312c5ec56adf4a21b1b2a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041046 Commit-Queue: Vasilii Sukhanov <vasi...@chromium.org> Reviewed-by: Vasilii Sukhanov <vasi...@chromium.org> Cr-Commit-Position: refs/heads/master@{#904696} --- diff --git a/components/password_manager/core/browser/hash_password_manager.h b/components/password_manager/core/browser/hash_password_manager.h index c762c5a..85e656ed 100644 --- a/components/password_manager/core/browser/hash_password_manager.h +++ b/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" ++++++ chromium-93-InkDropHost-crash.patch ++++++ diff --git a/ui/views/animation/ink_drop_host_view.h b/ui/views/animation/ink_drop_host_view.h index bd0975b..e5df288 100644 --- a/ui/views/animation/ink_drop_host_view.h +++ b/ui/views/animation/ink_drop_host_view.h @@ -238,6 +238,11 @@ class VIEWS_EXPORT InkDropHost { // Used to observe View and inform the InkDrop of host-transform changes. ViewLayerTransformObserver host_view_transform_observer_; + // Declared before |ink_drop_|, because InkDropImpl may call + // RemoveInkDropLayer on partly destructed InkDropHost. In + // that case |ink_drop_mask_| must be still valid. + std::unique_ptr<views::InkDropMask> ink_drop_mask_; + // Should not be accessed directly. Use GetInkDrop() instead. std::unique_ptr<InkDrop> ink_drop_; @@ -261,8 +266,6 @@ class VIEWS_EXPORT InkDropHost { int ink_drop_small_corner_radius_ = 2; int ink_drop_large_corner_radius_ = 4; - std::unique_ptr<views::InkDropMask> ink_drop_mask_; - base::RepeatingCallback<std::unique_ptr<InkDrop>()> create_ink_drop_callback_; base::RepeatingCallback<std::unique_ptr<InkDropRipple>()> create_ink_drop_ripple_callback_; ++++++ chromium-93-ScopedTestDialogAutoConfirm-include.patch ++++++ >From 92fc089d50fc81b9903cd0573c95749e41081474 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sun, 25 Jul 2021 21:38:26 +0000 Subject: [PATCH] IWYU: add cstring for std::strcpy --- extensions/browser/extension_dialog_auto_confirm.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/browser/extension_dialog_auto_confirm.cc b/extensions/browser/extension_dialog_auto_confirm.cc index adb4ac3..be8b161 100644 --- a/extensions/browser/extension_dialog_auto_confirm.cc +++ b/extensions/browser/extension_dialog_auto_confirm.cc @@ -4,6 +4,7 @@ #include "extensions/browser/extension_dialog_auto_confirm.h" +#include <cstring> #include <utility> #include "base/check.h" -- 2.31.1 ++++++ chromium-93-ffmpeg-4.4.patch ++++++ From: 52c3e9c0f140a8742034e107fb0f371c0d73bf1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <ka...@kernel.org> Date: Sun, 12 Sep 2021 04:20:11 +0200 Subject: [PATCH] chromium-93: fix building with system-ffmpeg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The version of ffmpeg bundled in Chromium changed ABI a little, which affected the code in that the type of the last parameter of av_packet_get_side_data() is now size_t instead of int. This causes Chromium to fail to build with system-ffmpeg if the system ffmpeg's version does not yet have this ABI change. Fix the code to be able to compile with older ffmpeg as well. Signed-off-by: Marek Beh??n <ka...@kernel.org> --- media/filters/audio_decoder_unittest.cc | 4 ++++ media/filters/ffmpeg_demuxer.cc | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/media/filters/audio_decoder_unittest.cc b/media/filters/audio_decoder_unittest.cc --- a/media/filters/audio_decoder_unittest.cc +++ b/media/filters/audio_decoder_unittest.cc @@ -109,7 +109,11 @@ void SetDiscardPadding(AVPacket* packet, } // If the timestamp is positive, try to use FFmpeg's discard data. +#if LIBAVUTIL_VERSION_MAJOR < 57 + int skip_samples_size = 0; +#else size_t skip_samples_size = 0; +#endif const uint32_t* skip_samples_ptr = reinterpret_cast<const uint32_t*>(av_packet_get_side_data( packet, AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size)); diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc --- a/media/filters/ffmpeg_demuxer.cc +++ b/media/filters/ffmpeg_demuxer.cc @@ -427,11 +427,19 @@ void FFmpegDemuxerStream::EnqueuePacket( scoped_refptr<DecoderBuffer> buffer; if (type() == DemuxerStream::TEXT) { +#if LIBAVUTIL_VERSION_MAJOR < 57 + int id_size = 0; +#else size_t id_size = 0; +#endif uint8_t* id_data = av_packet_get_side_data( packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size); +#if LIBAVUTIL_VERSION_MAJOR < 57 + int settings_size = 0; +#else size_t settings_size = 0; +#endif uint8_t* settings_data = av_packet_get_side_data( packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size); @@ -443,7 +451,11 @@ void FFmpegDemuxerStream::EnqueuePacket( buffer = DecoderBuffer::CopyFrom(packet->data, packet->size, side_data.data(), side_data.size()); } else { +#if LIBAVUTIL_VERSION_MAJOR < 57 + int side_data_size = 0; +#else size_t side_data_size = 0; +#endif uint8_t* side_data = av_packet_get_side_data( packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size); @@ -504,7 +516,11 @@ void FFmpegDemuxerStream::EnqueuePacket( packet->size - data_offset); } +#if LIBAVUTIL_VERSION_MAJOR < 57 + int skip_samples_size = 0; +#else size_t skip_samples_size = 0; +#endif const uint32_t* skip_samples_ptr = reinterpret_cast<const uint32_t*>(av_packet_get_side_data( packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size)); ++++++ chromium-93-pdfium-include.patch ++++++ >From 7a6289c5ace52cf88f0e19caa5f78b7c15d0e7a6 Mon Sep 17 00:00:00 2001 From: Miklos Vajna <vmik...@collabora.co.uk> Date: Wed, 21 Jul 2021 17:42:30 +0000 Subject: [PATCH] fxcodec, fxge: fix missing includes with libstdc++ These missing includes break the build with gcc/libstdc++, they were not a problem in practice with clang/libc++. Change-Id: I40013f97ba7ab06f32aa59f87b04aec06a19478c Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83210 Commit-Queue: Lei Zhang <thes...@chromium.org> Reviewed-by: Lei Zhang <thes...@chromium.org> --- diff --git a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp index cea0679..036f250 100644 --- a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp +++ b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp @@ -7,6 +7,7 @@ #include "core/fxcodec/jpeg/jpegmodule.h" #include <setjmp.h> +#include <string.h> #include <memory> #include <utility> diff --git a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp index c66985a..9c1122b 100644 --- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp +++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp @@ -6,6 +6,8 @@ #include "core/fxcodec/jpx/cjpx_decoder.h" +#include <string.h> + #include <algorithm> #include <limits> #include <utility> diff --git a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp index 5369d52..d198852 100644 --- a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp +++ b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp @@ -6,6 +6,8 @@ #include "core/fxge/cfx_cliprgn.h" +#include <string.h> + #include <utility> #include "core/fxge/dib/cfx_dibitmap.h" diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp index 6f9b420..0f1ffae 100644 --- a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp +++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp @@ -6,6 +6,8 @@ #include "core/fxge/dib/cfx_bitmapcomposer.h" +#include <string.h> + #include "core/fxge/cfx_cliprgn.h" #include "core/fxge/dib/cfx_dibitmap.h" diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp index f57c00e..45a0a18 100644 --- a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp +++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp @@ -6,6 +6,8 @@ #include "core/fxge/dib/cfx_bitmapstorer.h" +#include <string.h> + #include <utility> #include "core/fxge/dib/cfx_dibitmap.h" diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp index 4ec0ddb..a1de2fb 100644 --- a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp +++ b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp @@ -6,6 +6,8 @@ #include "core/fxge/dib/cfx_dibbase.h" +#include <string.h> + #include <algorithm> #include <memory> #include <utility> diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp index d7ccf6c..94e8acc 100644 --- a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp +++ b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp @@ -6,6 +6,8 @@ #include "core/fxge/dib/cfx_dibitmap.h" +#include <string.h> + #include <limits> #include <memory> #include <utility> diff --git a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp index e8362d7..c04c6dc 100644 --- a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp +++ b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp @@ -6,6 +6,8 @@ #include "core/fxge/dib/cfx_scanlinecompositor.h" +#include <string.h> + #include <algorithm> #include "core/fxge/dib/fx_dib.h" ++++++ chromium-92.0.4515.159.tar.xz -> chromium-93.0.4577.82.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-92.0.4515.159.tar.xz /work/SRC/openSUSE:Factory/.chromium.new.1899/chromium-93.0.4577.82.tar.xz differ: char 26, line 1 ++++++ chromium-freetype-2.11.patch ++++++ --- /var/tmp/diff_new_pack.Z13AKu/_old 2021-09-21 21:13:04.374633902 +0200 +++ /var/tmp/diff_new_pack.Z13AKu/_new 2021-09-21 21:13:04.374633902 +0200 @@ -1,50 +1,52 @@ ---- a/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp -+++ b/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp +diff -up chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11 chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp +--- chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11 2021-09-02 08:49:18.996863417 -0400 ++++ chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp 2021-09-02 08:56:07.716626801 -0400 @@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas, canvas->drawPaint(colrPaint); break; } +#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 -+ case FT_COLR_PAINTFORMAT_TRANSFORM: + case FT_COLR_PAINTFORMAT_TRANSFORM: +#else - case FT_COLR_PAINTFORMAT_TRANSFORMED: ++ case FT_COLR_PAINTFORMAT_TRANSFORMED: +#endif case FT_COLR_PAINTFORMAT_TRANSLATE: + case FT_COLR_PAINTFORMAT_SCALE: case FT_COLR_PAINTFORMAT_ROTATE: - case FT_COLR_PAINTFORMAT_SKEW: -@@ -759,10 +763,17 @@ void colrv1_transform(SkCanvas* canvas, FT_Face face, FT_COLR_Paint colrv1_paint +@@ -760,10 +764,17 @@ void colrv1_transform(SkCanvas* canvas, SkMatrix transform; switch (colrv1_paint.format) { +#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 -+ case FT_COLR_PAINTFORMAT_TRANSFORM: { -+ transform = ToSkMatrix(colrv1_paint.u.transform.affine); -+ break; -+ } -+#else - case FT_COLR_PAINTFORMAT_TRANSFORMED: { - transform = ToSkMatrix(colrv1_paint.u.transformed.affine); + case FT_COLR_PAINTFORMAT_TRANSFORM: { + transform = ToSkMatrix(colrv1_paint.u.transform.affine); break; } ++#else ++ case FT_COLR_PAINTFORMAT_TRANSFORMED: { ++ transform = ToSkMatrix(colrv1_paint.u.transformed.affine); ++ break; ++ } +#endif case FT_COLR_PAINTFORMAT_TRANSLATE: { transform = SkMatrix::Translate( SkFixedToScalar(colrv1_paint.u.translate.dx), -@@ -880,10 +891,17 @@ bool colrv1_traverse_paint(SkCanvas* canvas, +@@ -889,11 +900,18 @@ bool colrv1_traverse_paint(SkCanvas* can traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID, FT_COLOR_NO_ROOT_TRANSFORM); break; +#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 -+ case FT_COLR_PAINTFORMAT_TRANSFORM: -+ colrv1_transform(canvas, face, paint); -+ traverse_result = colrv1_traverse_paint(canvas, palette, face, -+ paint.u.transform.paint, visited_set); -+#else - case FT_COLR_PAINTFORMAT_TRANSFORMED: + case FT_COLR_PAINTFORMAT_TRANSFORM: colrv1_transform(canvas, face, paint); traverse_result = colrv1_traverse_paint(canvas, palette, face, - paint.u.transformed.paint, visited_set); -+#endif + paint.u.transform.paint, visited_set); break; ++#else ++ case FT_COLR_PAINTFORMAT_TRANSFORMED: ++ colrv1_transform(canvas, face, paint); ++ traverse_result = colrv1_traverse_paint(canvas, palette, face, ++ paint.u.transformed.paint, visited_set); ++#endif case FT_COLR_PAINTFORMAT_TRANSLATE: colrv1_transform(canvas, face, paint); + traverse_result = colrv1_traverse_paint(canvas, palette, face, ++++++ chromium-glibc-2.34.patch ++++++ --- /var/tmp/diff_new_pack.Z13AKu/_old 2021-09-21 21:13:04.390633920 +0200 +++ /var/tmp/diff_new_pack.Z13AKu/_new 2021-09-21 21:13:04.394633925 +0200 @@ -1,45 +1,3 @@ -From 218438259dd795456f0a48f67cbe5b4e520db88b Mon Sep 17 00:00:00 2001 -From: Matthew Denton <mpden...@chromium.org> -Date: Thu, 3 Jun 2021 20:06:13 +0000 -Subject: [PATCH] Linux sandbox: return ENOSYS for clone3 - -Because clone3 uses a pointer argument rather than a flags argument, we -cannot examine the contents with seccomp, which is essential to -preventing sandboxed processes from starting other processes. So, we -won't be able to support clone3 in Chromium. This CL modifies the -BPF policy to return ENOSYS for clone3 so glibc always uses the fallback -to clone. - -Bug: 1213452 -Change-Id: I7c7c585a319e0264eac5b1ebee1a45be2d782303 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2936184 -Reviewed-by: Robert Sesek <rse...@chromium.org> -Commit-Queue: Matthew Denton <mpden...@chromium.org> -Cr-Commit-Position: refs/heads/master@{#888980} ---- - sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -index 05c39f0f564e3..086c56a2be461 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -@@ -178,6 +178,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, - return RestrictCloneToThreadsAndEPERMFork(); - } - -+ // clone3 takes a pointer argument which we cannot examine, so return ENOSYS -+ // to force the libc to use clone. See https://crbug.com/1213452. -+ #if defined(__NR_clone3) -+ if (sysno == __NR_clone3) { -+ return Error(ENOSYS); -+ } -+ #endif -+ - if (sysno == __NR_fcntl) - return RestrictFcntlCommands(); - -diff -up chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc diff -up chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc --- chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix 2021-07-19 14:47:20.000000000 -0400 +++ chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-07-26 17:28:50.155924005 -0400 ++++++ chromium-norar.patch ++++++ --- /var/tmp/diff_new_pack.Z13AKu/_old 2021-09-21 21:13:04.418633952 +0200 +++ /var/tmp/diff_new_pack.Z13AKu/_new 2021-09-21 21:13:04.422633956 +0200 @@ -1,11 +1,10 @@ -Index: chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn -=================================================================== ---- chromium-86.0.4240.75.orig/chrome/common/safe_browsing/BUILD.gn -+++ chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn -@@ -43,38 +43,6 @@ - public_deps = [ "//components/safe_browsing/core:csd_proto" ] +diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn +--- chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-09-02 08:22:31.280927364 -0400 ++++ chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn 2021-09-02 08:23:32.143189935 -0400 +@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) { + public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ] } - + - source_set("rar_analyzer") { - sources = [ - "rar_analyzer.cc", @@ -17,8 +16,8 @@ - ":download_type_util", - "//base", - "//base:i18n", -- "//components/safe_browsing/core:features", -- "//components/safe_browsing/core:file_type_policies", +- "//components/safe_browsing/content/common:file_type_policies", +- "//components/safe_browsing/core/common", - "//third_party/unrar:unrar", - ] - @@ -36,34 +35,44 @@ - "UNRAR_NO_EXCEPTIONS", - ] - -- public_deps = [ "//components/safe_browsing/core:csd_proto" ] +- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ] - } - +- if (is_mac) { source_set("disk_image_type_sniffer_mac") { -@@ -138,7 +105,6 @@ source_set("safe_browsing") { + sources = [ +@@ -149,7 +116,6 @@ source_set("safe_browsing") { ":archive_analyzer_results", ":binary_feature_extractor", ":download_type_util", - ":rar_analyzer", - "//components/safe_browsing/core:features", + "//components/safe_browsing/core/common", ] -Index: chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS -=================================================================== ---- chromium-86.0.4240.75.orig/chrome/common/safe_browsing/DEPS -+++ chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", +diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS +--- chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar 2021-09-02 08:22:31.280927364 -0400 ++++ chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS 2021-09-02 08:23:56.092293262 -0400 +@@ -2,6 +2,5 @@ include_rules = [ + "+components/safe_browsing/content/common", + "+components/safe_browsing/core/common", "+third_party/protobuf", - "+third_party/unrar", "+third_party/zlib", ] -Index: chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc -=================================================================== ---- chromium-86.0.4240.75.orig/chrome/services/file_util/safe_archive_analyzer.cc -+++ chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc +diff -up chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn +--- chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar 2021-08-31 21:39:29.000000000 -0400 ++++ chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn 2021-09-02 08:22:31.280927364 -0400 +@@ -50,7 +50,6 @@ source_set("file_util") { + deps += [ + "//chrome/common/safe_browsing", + "//chrome/common/safe_browsing:archive_analyzer_results", +- "//chrome/common/safe_browsing:rar_analyzer", + ] + } + +diff -up chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc +--- chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-08-31 21:39:29.000000000 -0400 ++++ chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc 2021-09-02 08:22:31.281927369 -0400 @@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, base::File temporary_file, @@ -79,15 +88,3 @@ + NOTREACHED(); +#endif } -Index: chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn -=================================================================== ---- chromium-86.0.4240.75.orig/chrome/services/file_util/BUILD.gn -+++ chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn -@@ -15,7 +15,6 @@ source_set("file_util") { - deps += [ - "//chrome/common/safe_browsing", - "//chrome/common/safe_browsing:archive_analyzer_results", -- "//chrome/common/safe_browsing:rar_analyzer", - ] - } -