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",
-     ]
-   }
- 

Reply via email to