summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorjk2020-07-18 15:46:31 -0500
committerjk2020-07-18 15:48:57 -0500
commit1619e5bda076fa5a73265a2f4f9d2a299fc33add (patch)
treee0fde694dc57f87c55a7bc9564137ddb2d6439bc
parenteaa35091b9f09117931562c5481750bb0474dc76 (diff)
downloadaur-1619e5bda076fa5a73265a2f4f9d2a299fc33add.tar.gz
upgpkg: ungoogled-chromium-git 84.0.4147.89.1.r0.gdf199c0-1
upstream release
-rw-r--r--.SRCINFO42
-rw-r--r--PKGBUILD95
-rw-r--r--add-missing-algorithm-header-in-crx_install_error.cc.patch29
-rw-r--r--avoid-calling-DeleteForCurrentDocument-from-destructor.patch71
-rw-r--r--avoid-double-destruction-of-ServiceWorkerObjectHost.patch138
-rw-r--r--chromium-83-gcc-10.patch64
-rw-r--r--chromium-ffmpeg-4.3.patch21
-rw-r--r--clean-up-a-call-to-set_utf8.patch34
-rw-r--r--fix-intel-vaapi-wayland.patch21
-rw-r--r--include-memory-header-to-get-the-definition-of-std-u.patch32
-rw-r--r--intel-vp9-quirk.patch12
-rw-r--r--iwyu-std-numeric_limits-is-defined-in-limits.patch29
-rw-r--r--libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch62
-rw-r--r--make-some-of-blink-custom-iterators-STL-compatible.patch95
-rw-r--r--remove-NotifyError-calls-and-just-send-a-normal-message.patch42
-rw-r--r--v8-remove-soon-to-be-removed-getAllFieldPositions.patch172
-rw-r--r--vdpau-support.patch74
17 files changed, 196 insertions, 837 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 57c4420b0a01..074bffc09be6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ungoogled-chromium-git
pkgdesc = A lightweight approach to removing Google web service dependency (master branch)
- pkgver = 83.0.4103.116.1.r3.gd089bbc
- pkgrel = 3
+ pkgver = 84.0.4147.89.1.r0.gdf199c0
+ pkgrel = 1
url = https://github.com/Eloston/ungoogled-chromium
install = chromium.install
arch = x86_64
@@ -9,13 +9,12 @@ pkgbase = ungoogled-chromium-git
makedepends = python
makedepends = python2
makedepends = gperf
- makedepends = yasm
makedepends = mesa
makedepends = ninja
makedepends = nodejs
makedepends = git
- makedepends = libpipewire02
makedepends = libva
+ makedepends = libpipewire02
makedepends = clang
makedepends = lld
makedepends = gn
@@ -42,6 +41,7 @@ pkgbase = ungoogled-chromium-git
depends = harfbuzz
depends = libvpx
depends = libjpeg
+ depends = libpng
depends = re2
depends = snappy
depends = ffmpeg
@@ -53,47 +53,37 @@ pkgbase = ungoogled-chromium-git
depends = opus
optdepends = pepper-flash: support for Flash content
optdepends = libpipewire02: WebRTC desktop sharing under Wayland
- optdepends = libva: hardware-accelerated video decode (experimental)
+ optdepends = libva: hardware-accelerated video decode [experimental]
optdepends = kdialog: needed for file dialogs in KDE
optdepends = org.freedesktop.secrets: password storage backend on GNOME / Xfce
optdepends = kwallet: for storing passwords in KWallet on KDE desktops
provides = chromium
conflicts = chromium
- source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-83.0.4103.116.tar.xz
+ source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-84.0.4147.89.tar.xz
source = ungoogled-chromium-master::git://github.com/Eloston/ungoogled-chromium.git
source = chromium-launcher-6.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v6.tar.gz
source = chromium-drirc-disable-10bpc-color-configs.conf
- source = clean-up-a-call-to-set_utf8.patch
- source = iwyu-std-numeric_limits-is-defined-in-limits.patch
- source = add-missing-algorithm-header-in-crx_install_error.cc.patch
- source = libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
- source = include-memory-header-to-get-the-definition-of-std-u.patch
- source = make-some-of-blink-custom-iterators-STL-compatible.patch
- source = avoid-double-destruction-of-ServiceWorkerObjectHost.patch
+ source = https://github.com/stha09/chromium-patches/releases/download/chromium-84-patchset-3/chromium-84-patchset-3.tar.xz
+ source = remove-NotifyError-calls-and-just-send-a-normal-message.patch
+ source = avoid-calling-DeleteForCurrentDocument-from-destructor.patch
source = force-mp3-files-to-have-a-start-time-of-zero.patch
- source = v8-remove-soon-to-be-removed-getAllFieldPositions.patch
+ source = chromium-ffmpeg-4.3.patch
source = intel-vp9-quirk.patch
source = wayland-egl.patch
source = nvidia-vdpau.patch
- source = chromium-83-gcc-10.patch
source = chromium-skia-harmony.patch
- sha256sums = bb0c7e8dfee9f3a5e30eca7f34fc9f21caefa82a86c058c552f52b1ae2da2ac3
+ sha256sums = 17970d998c125b40765141f2cd346d1674f05dbd4a28fdcf31f9e3540890c679
sha256sums = SKIP
sha256sums = 04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1
sha256sums = babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb
- sha256sums = 58c41713eb6fb33b6eef120f4324fa1fb8123b1fbc4ecbe5662f1f9779b9b6af
- sha256sums = 675fb3d6276cce569a641436465f58d5709d1d4a5f62b7052989479fd4aaea24
- sha256sums = 0e2a78e4aa7272ab0ff4a4c467750e01bad692a026ad9828aaf06d2a9418b9d8
- sha256sums = 50687079426094f2056d1f4806dc30fc8d6bad16190520e57ba087ec5db1d778
- sha256sums = 071326135bc25226aa165639dff80a03670a17548f2d2ff5cc4f40982b39c52a
- sha256sums = 3d7f20e1d2ee7d73ed25e708c0d59a0cb215fcce10a379e3d48a856533c4b0b7
- sha256sums = d793842e9584bf75e3779918297ba0ffa6dd05394ef5b2bf5fb73aa9c86a7e2f
+ sha256sums = f77088dd59b170b767ba91c6b410abb778ff2e68553433b24124d398fa4d3ce7
+ sha256sums = 3b10917f646f88ae988ca18be9cbef82025abb6a6e5cb00b77a11077192ce32c
+ sha256sums = 4e41cb637e96bcef98c119ed052ba1aeab45fca5b89d65955583dab002de783e
sha256sums = abc3fad113408332c3b187b083bf33eba59eb5c87fa3ce859023984b5804623c
- sha256sums = e042024423027ad3ef729a7e4709bdf9714aea49d64cfbbf46a645a05703abc2
- sha256sums = 326b8ad8f1100ad11213ee916effab43dfd7b0229ee8bed2c1c8c3132866bcae
+ sha256sums = 5390304b5f544868985ce00a3ec082d4ece2dacb1c73cdb35dd4facfea12449a
+ sha256sums = a25fc6fccb84fd0a58a799661cd9c4ffeb2731fa49268f43aa7108f1542c5af6
sha256sums = 34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574
sha256sums = 8095bf73afbca7c2b07306c5b4dd8f79b66e1053fa4e58b07f71ef938be603f1
- sha256sums = 3e5ba8c0a70a4bc673deec0c61eb2b58f05a4c784cbdb7c8118be1eb6580db6d
sha256sums = 771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1
pkgname = ungoogled-chromium-git
diff --git a/PKGBUILD b/PKGBUILD
index 1bdebc80b50e..1227a26e9259 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,16 +8,17 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=ungoogled-chromium-git
-pkgver=83.0.4103.116.1.r3.gd089bbc
-pkgrel=3
+pkgver=84.0.4147.89.1.r0.gdf199c0
+pkgrel=1
_pkgname=ungoogled-chromium
-_pkgver=83.0.4103.116
+_pkgver=84.0.4147.89
# sometimes an ungoogled patches can be combined with a new chromium release
# only if the release only includes security fixes
_ungoogled_ver=master
_uc_url="$_pkgname-$_ungoogled_ver::git://github.com/Eloston/ungoogled-chromium.git"
_uc_sum="SKIP"
_launcher_ver=6
+_gcc_patchset=3
pkgdesc="A lightweight approach to removing Google web service dependency (master branch)"
arch=('x86_64')
url="https://github.com/Eloston/ungoogled-chromium"
@@ -25,12 +26,12 @@ license=('BSD')
depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
'desktop-file-utils' 'hicolor-icon-theme')
-makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git'
- 'libpipewire02' 'libva' 'clang' 'lld' 'gn' 'java-runtime-headless'
+makedepends=('python' 'python2' 'gperf' 'mesa' 'ninja' 'nodejs' 'git' 'libva'
+ 'libpipewire02' 'clang' 'lld' 'gn' 'java-runtime-headless'
'python2-setuptools')
optdepends=('pepper-flash: support for Flash content'
'libpipewire02: WebRTC desktop sharing under Wayland'
- 'libva: hardware-accelerated video decode (experimental)'
+ 'libva: hardware-accelerated video decode [experimental]'
'kdialog: needed for file dialogs in KDE'
'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
'kwallet: for storing passwords in KWallet on KDE desktops')
@@ -41,37 +42,27 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom
$_uc_url
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
chromium-drirc-disable-10bpc-color-configs.conf
- clean-up-a-call-to-set_utf8.patch
- iwyu-std-numeric_limits-is-defined-in-limits.patch
- add-missing-algorithm-header-in-crx_install_error.cc.patch
- libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
- include-memory-header-to-get-the-definition-of-std-u.patch
- make-some-of-blink-custom-iterators-STL-compatible.patch
- avoid-double-destruction-of-ServiceWorkerObjectHost.patch
+ https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
+ remove-NotifyError-calls-and-just-send-a-normal-message.patch
+ avoid-calling-DeleteForCurrentDocument-from-destructor.patch
force-mp3-files-to-have-a-start-time-of-zero.patch
- v8-remove-soon-to-be-removed-getAllFieldPositions.patch
+ chromium-ffmpeg-4.3.patch
intel-vp9-quirk.patch
wayland-egl.patch
nvidia-vdpau.patch
- chromium-83-gcc-10.patch
chromium-skia-harmony.patch)
-sha256sums=('bb0c7e8dfee9f3a5e30eca7f34fc9f21caefa82a86c058c552f52b1ae2da2ac3'
+sha256sums=('17970d998c125b40765141f2cd346d1674f05dbd4a28fdcf31f9e3540890c679'
$_uc_sum
'04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
'babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb'
- '58c41713eb6fb33b6eef120f4324fa1fb8123b1fbc4ecbe5662f1f9779b9b6af'
- '675fb3d6276cce569a641436465f58d5709d1d4a5f62b7052989479fd4aaea24'
- '0e2a78e4aa7272ab0ff4a4c467750e01bad692a026ad9828aaf06d2a9418b9d8'
- '50687079426094f2056d1f4806dc30fc8d6bad16190520e57ba087ec5db1d778'
- '071326135bc25226aa165639dff80a03670a17548f2d2ff5cc4f40982b39c52a'
- '3d7f20e1d2ee7d73ed25e708c0d59a0cb215fcce10a379e3d48a856533c4b0b7'
- 'd793842e9584bf75e3779918297ba0ffa6dd05394ef5b2bf5fb73aa9c86a7e2f'
+ 'f77088dd59b170b767ba91c6b410abb778ff2e68553433b24124d398fa4d3ce7'
+ '3b10917f646f88ae988ca18be9cbef82025abb6a6e5cb00b77a11077192ce32c'
+ '4e41cb637e96bcef98c119ed052ba1aeab45fca5b89d65955583dab002de783e'
'abc3fad113408332c3b187b083bf33eba59eb5c87fa3ce859023984b5804623c'
- 'e042024423027ad3ef729a7e4709bdf9714aea49d64cfbbf46a645a05703abc2'
- '326b8ad8f1100ad11213ee916effab43dfd7b0229ee8bed2c1c8c3132866bcae'
+ '5390304b5f544868985ce00a3ec082d4ece2dacb1c73cdb35dd4facfea12449a'
+ 'a25fc6fccb84fd0a58a799661cd9c4ffeb2731fa49268f43aa7108f1542c5af6'
'34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574'
'8095bf73afbca7c2b07306c5b4dd8f79b66e1053fa4e58b07f71ef938be603f1'
- '3e5ba8c0a70a4bc673deec0c61eb2b58f05a4c784cbdb7c8118be1eb6580db6d'
'771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1')
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
@@ -85,7 +76,7 @@ declare -gA _system_libs=(
[icu]=icu
[libdrm]=
[libjpeg]=libjpeg
- #[libpng]=libpng # https://crbug.com/752403#c10
+ [libpng]=libpng
[libvpx]=libvpx
[libwebp]=libwebp
[libxml]=libxml2
@@ -93,7 +84,6 @@ declare -gA _system_libs=(
[opus]=opus
[re2]=re2
[snappy]=snappy
- [yasm]=
[zlib]=minizip
)
_unwanted_bundled_libs=(
@@ -119,39 +109,30 @@ prepare() {
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/*.cc
- # https://chromium-review.googlesource.com/c/chromium/src/+/2145261
- patch -Np1 -i ../clean-up-a-call-to-set_utf8.patch
-
- # https://chromium-review.googlesource.com/c/chromium/src/+/2153111
- patch -Np1 -F3 -i ../iwyu-std-numeric_limits-is-defined-in-limits.patch
-
- # https://chromium-review.googlesource.com/c/chromium/src/+/2152333
- patch -Np1 -i ../add-missing-algorithm-header-in-crx_install_error.cc.patch
-
- # https://chromium-review.googlesource.com/c/chromium/src/+/2132403
- patch -Np1 -i ../libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
-
- # https://chromium-review.googlesource.com/c/chromium/src/+/2164645
- patch -Np1 -i ../include-memory-header-to-get-the-definition-of-std-u.patch
-
- # https://chromium-review.googlesource.com/c/chromium/src/+/2174199
- patch -Np1 -i ../make-some-of-blink-custom-iterators-STL-compatible.patch
-
- # https://chromium-review.googlesource.com/c/chromium/src/+/2094496
- patch -Np1 -i ../avoid-double-destruction-of-ServiceWorkerObjectHost.patch
+ # https://chromium-review.googlesource.com/c/chromium/src/+/2223010
+ patch -Np1 -i ../remove-NotifyError-calls-and-just-send-a-normal-message.patch
+ # https://chromium-review.googlesource.com/c/chromium/src/+/2224737
+ patch -Np1 -i ../avoid-calling-DeleteForCurrentDocument-from-destructor.patch
+
# https://chromium-review.googlesource.com/c/chromium/src/+/2268221
patch -Np1 -i ../force-mp3-files-to-have-a-start-time-of-zero.patch
- # https://crbug.com/v8/10393
- patch -Np1 -d v8 <../v8-remove-soon-to-be-removed-getAllFieldPositions.patch
+ # Fixes for building with libstdc++ instead of libc++
+ patch -Np1 -i ../patches/chromium-84-AXObject-stl-iterator.patch
+ patch -Np1 -i ../patches/chromium-84-ListContainerHelper-include-cstring.patch
+ patch -Np1 -i ../patches/chromium-84-crashpad-include-cstring.patch
+ patch -Np1 -i ../patches/chromium-84-gcc-10-include-stddef.patch
+ patch -Np1 -i ../patches/chromium-84-gcc-10-webrtc-include-stddef.patch
+ patch -Np1 -i ../patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch
+ patch -Np1 -i ../patches/chromium-84-std-vector-const.patch
+
+ # https://crbug.com/1095962
+ patch -Np1 -i ../chromium-ffmpeg-4.3.patch
# https://crbug.com/skia/6663#c10
patch -Np0 -i ../chromium-skia-harmony.patch
- # Fixes from Gentoo
- patch -Np1 -i ../chromium-83-gcc-10.patch
-
# Intel KabyLake/GeminiLake VP9 quirk
patch -Np1 -i ../intel-vp9-quirk.patch
@@ -175,6 +156,9 @@ prepare() {
# Force script incompatible with Python 3 to use /usr/bin/python2
sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py
+ # Make xcbgen available to ui/gfx/x/gen_xproto.py running under Python 2
+ ln -s /usr/lib/python3.*/site-packages/xcbgen "$srcdir/"
+
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
@@ -187,7 +171,6 @@ prepare() {
\! -path "third_party/$_lib/chromium/*" \
\! -path "third_party/$_lib/google/*" \
\! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \
- \! -path 'third_party/yasm/run_yasm.py' \
\! -regex '.*\.\(gn\|gni\|isolate\)' \
-delete
done
@@ -206,6 +189,9 @@ build() {
export CCACHE_SLOPPINESS=time_macros
fi
+ # ui/gfx/x/gen_xproto.py needs xcbgen
+ export PYTHONPATH=$srcdir
+
export CC=clang
export CXX=clang++
export AR=ar
@@ -221,7 +207,6 @@ build() {
'link_pulseaudio=true'
'use_gnome_keyring=false'
'use_sysroot=false'
- 'linux_use_bundled_binutils=false'
'use_custom_libcxx=false'
'use_vaapi=true'
'enable_swiftshader=false'
diff --git a/add-missing-algorithm-header-in-crx_install_error.cc.patch b/add-missing-algorithm-header-in-crx_install_error.cc.patch
deleted file mode 100644
index 570f7b319534..000000000000
--- a/add-missing-algorithm-header-in-crx_install_error.cc.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 2b9d6daa0ab5ce45ec5555466d5a5a583a020ea8 Mon Sep 17 00:00:00 2001
-From: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
-Date: Sat, 18 Apr 2020 00:27:38 +0000
-Subject: [PATCH] Add missing algorithm header in crx_install_error.cc
-
-This is needed for the use of std::find.
-
-Change-Id: I2dc43b3887c467986c5346be5a9e27a987e1e5b3
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2152333
-Reviewed-by: Ken Rockot <rockot@google.com>
-Commit-Queue: Ken Rockot <rockot@google.com>
-Cr-Commit-Position: refs/heads/master@{#760272}
----
- extensions/browser/install/crx_install_error.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc
-index a9765bb0a5a..bd0d3e35a16 100644
---- a/extensions/browser/install/crx_install_error.cc
-+++ b/extensions/browser/install/crx_install_error.cc
-@@ -4,6 +4,8 @@
-
- #include "extensions/browser/install/crx_install_error.h"
-
-+#include <algorithm>
-+
- #include "base/logging.h"
- #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h"
-
diff --git a/avoid-calling-DeleteForCurrentDocument-from-destructor.patch b/avoid-calling-DeleteForCurrentDocument-from-destructor.patch
new file mode 100644
index 000000000000..30a3b33456ec
--- /dev/null
+++ b/avoid-calling-DeleteForCurrentDocument-from-destructor.patch
@@ -0,0 +1,71 @@
+From 128869693a2519578896b41765df029d7adc4ae0 Mon Sep 17 00:00:00 2001
+From: Yuzu Saijo <yuzus@chromium.org>
+Date: Tue, 2 Jun 2020 04:51:11 +0000
+Subject: [PATCH] [content] Avoid calling DeleteForCurrentDocument from
+ destructor
+
+This CL removes the call to DeleteForCurrentDocument from the destructor
+of ManifestManagerHost.
+
+This intends to fix a crash which happens from time to time using
+RenderDocumentHostUserData.
+
+Change-Id: I1336fb62328dcb0cf9991499f399bf3665d29b75
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2224737
+Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
+Reviewed-by: Alexander Timin <altimin@chromium.org>
+Reviewed-by: Sreeja Kamishetty <sreejakshetty@chromium.org>
+Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
+Commit-Queue: Yuzu Saijo <yuzus@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#774006}
+---
+ content/browser/manifest/manifest_manager_host.cc | 7 +++++--
+ content/browser/manifest/manifest_manager_host.h | 2 ++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc
+index 3a2efba889a..1bd88d91edc 100644
+--- a/content/browser/manifest/manifest_manager_host.cc
++++ b/content/browser/manifest/manifest_manager_host.cc
+@@ -22,7 +22,7 @@ ManifestManagerHost::ManifestManagerHost(RenderFrameHost* render_frame_host)
+ }
+
+ ManifestManagerHost::~ManifestManagerHost() {
+- OnConnectionError();
++ DispatchPendingCallbacks();
+ }
+
+ void ManifestManagerHost::BindObserver(
+@@ -55,7 +55,7 @@ blink::mojom::ManifestManager& ManifestManagerHost::GetManifestManager() {
+ return *manifest_manager_;
+ }
+
+-void ManifestManagerHost::OnConnectionError() {
++void ManifestManagerHost::DispatchPendingCallbacks() {
+ std::vector<GetManifestCallback> callbacks;
+ for (CallbackMap::iterator it(&callbacks_); !it.IsAtEnd(); it.Advance()) {
+ callbacks.push_back(std::move(*it.GetCurrentValue()));
+@@ -63,7 +63,10 @@ void ManifestManagerHost::OnConnectionError() {
+ callbacks_.Clear();
+ for (auto& callback : callbacks)
+ std::move(callback).Run(GURL(), blink::Manifest());
++}
+
++void ManifestManagerHost::OnConnectionError() {
++ DispatchPendingCallbacks();
+ if (GetForCurrentDocument(manifest_manager_frame_)) {
+ DeleteForCurrentDocument(manifest_manager_frame_);
+ }
+diff --git a/content/browser/manifest/manifest_manager_host.h b/content/browser/manifest/manifest_manager_host.h
+index 96951ae30bc..f706c20bdb8 100644
+--- a/content/browser/manifest/manifest_manager_host.h
++++ b/content/browser/manifest/manifest_manager_host.h
+@@ -55,6 +55,8 @@ class ManifestManagerHost
+ using CallbackMap = base::IDMap<std::unique_ptr<GetManifestCallback>>;
+
+ blink::mojom::ManifestManager& GetManifestManager();
++
++ void DispatchPendingCallbacks();
+ void OnConnectionError();
+
+ void OnRequestManifestResponse(int request_id,
diff --git a/avoid-double-destruction-of-ServiceWorkerObjectHost.patch b/avoid-double-destruction-of-ServiceWorkerObjectHost.patch
deleted file mode 100644
index 5e1df005c961..000000000000
--- a/avoid-double-destruction-of-ServiceWorkerObjectHost.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From bd59ce32629ef684624821419c43967b73d2989e Mon Sep 17 00:00:00 2001
-From: Hiroki Nakagawa <nhiroki@chromium.org>
-Date: Fri, 8 May 2020 08:25:31 +0000
-Subject: [PATCH] ServiceWorker: Avoid double destruction of
- ServiceWorkerObjectHost on connection error
-
-This CL avoids the case where ServiceWorkerObjectHost is destroyed twice
-on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built
-with the GCC build toolchain.
-
-> How does the issue happen?
-
-ServiceWorkerObjectHost has a cyclic reference like this:
-
-ServiceWorkerObjectHost
- --([1] scoped_refptr)--> ServiceWorkerVersion
- --([2] std::unique_ptr)--> ServiceWorkerProviderHost
- --([3] std::unique_ptr)--> ServiceWorkerContainerHost
- --([4] std::unique_ptr)--> ServiceWorkerObjectHost
-
-Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in
-map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>.
-
-When ServiceWorkerObjectHost::OnConnectionError() is called, the
-function removes the reference [4] from the map, and destroys
-ServiceWorkerObjectHost. If the object host has the last reference [1]
-to ServiceWorkerVersion, the destruction also cuts off the references
-[2] and [3], and destroys ServiceWorkerProviderHost and
-ServiceWorkerContainerHost.
-
-This seems to work well on the Chromium's default toolchain, but not
-work on the GCC toolchain. According to the report, destruction of
-ServiceWorkerContainerHost happens while the map owned by the container
-host is erasing the ServiceWorkerObjectHost, and this results in crash
-due to double destruction of the object host.
-
-I don't know the reason why this happens only on the GCC toolchain, but
-I suspect the order of object destruction on std::map::erase() could be
-different depending on the toolchains.
-
-> How does this CL fix this?
-
-The ideal fix is to redesign the ownership model of
-ServiceWorkerVersion, but it's not feasible in the short term.
-
-Instead, this CL avoids destruction of ServiceWorkerObjectHost on
-std::map::erase(). The new code takes the ownership of the object host
-from the map first, and then erases the entry from the map. This
-separates timings to erase the map entry and to destroy the object host,
-so the crash should no longer happen.
-
-Bug: 1056598
-Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2094496
-Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
-Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#766770}
----
- .../service_worker_container_host.cc | 10 +++++
- .../service_worker_object_host_unittest.cc | 38 +++++++++++++++++++
- 2 files changed, 48 insertions(+)
-
-diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc
-index ec7fb1449af..98c62093b0e 100644
---- a/content/browser/service_worker/service_worker_container_host.cc
-+++ b/content/browser/service_worker/service_worker_container_host.cc
-@@ -669,6 +669,16 @@ void ServiceWorkerContainerHost::RemoveServiceWorkerObjectHost(
- int64_t version_id) {
- DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
- DCHECK(base::Contains(service_worker_object_hosts_, version_id));
-+
-+ // ServiceWorkerObjectHost to be deleted may have the last reference to
-+ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost.
-+ // If we erase the object host directly from the map, |this| could be deleted
-+ // during the map operation and may crash. To avoid the case, we take the
-+ // ownership of the object host from the map first, and then erase the entry
-+ // from the map. See https://crbug.com/1056598 for details.
-+ std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted =
-+ std::move(service_worker_object_hosts_[version_id]);
-+ DCHECK(to_be_deleted);
- service_worker_object_hosts_.erase(version_id);
- }
-
-diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc
-index 408d7c1f9d1..6eab59040ab 100644
---- a/content/browser/service_worker/service_worker_object_host_unittest.cc
-+++ b/content/browser/service_worker/service_worker_object_host_unittest.cc
-@@ -200,6 +200,19 @@ class ServiceWorkerObjectHostTest : public testing::Test {
- return registration_info;
- }
-
-+ void CallOnConnectionError(ServiceWorkerContainerHost* container_host,
-+ int64_t version_id) {
-+ // ServiceWorkerObjectHost has the last reference to the version.
-+ ServiceWorkerObjectHost* object_host =
-+ GetServiceWorkerObjectHost(container_host, version_id);
-+ EXPECT_TRUE(object_host->version_->HasOneRef());
-+
-+ // Make sure that OnConnectionError induces destruction of the version and
-+ // the object host.
-+ object_host->receivers_.Clear();
-+ object_host->OnConnectionError();
-+ }
-+
- BrowserTaskEnvironment task_environment_;
- std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
- scoped_refptr<ServiceWorkerRegistration> registration_;
-@@ -409,5 +422,30 @@ TEST_F(ServiceWorkerObjectHostTest, DispatchExtendableMessageEvent_FromClient) {
- events[0]->source_info_for_client->client_type);
- }
-
-+// This is a regression test for https://crbug.com/1056598.
-+TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) {
-+ const GURL scope("https://www.example.com/");
-+ const GURL script_url("https://www.example.com/service_worker.js");
-+ Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()));
-+ SetUpRegistration(scope, script_url);
-+
-+ // Create the provider host.
-+ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk,
-+ StartServiceWorker(version_.get()));
-+
-+ // Set up the case where the last reference to the version is owned by the
-+ // service worker object host.
-+ ServiceWorkerContainerHost* container_host =
-+ version_->provider_host()->container_host();
-+ ServiceWorkerVersion* version_rawptr = version_.get();
-+ version_ = nullptr;
-+ ASSERT_TRUE(version_rawptr->HasOneRef());
-+
-+ // Simulate the connection error that induces the object host destruction.
-+ // This shouldn't crash.
-+ CallOnConnectionError(container_host, version_rawptr->version_id());
-+ base::RunLoop().RunUntilIdle();
-+}
-+
- } // namespace service_worker_object_host_unittest
- } // namespace content
diff --git a/chromium-83-gcc-10.patch b/chromium-83-gcc-10.patch
deleted file mode 100644
index 974b49cde703..000000000000
--- a/chromium-83-gcc-10.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From e473f41284ccc8fa4bc4622d087194b18a1ec23a Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Tue, 7 Apr 2020 16:37:10 +0000
-Subject: [PATCH] GCC: fix includes for gcc-10
-
----
- chrome/browser/search/background/ntp_backgrounds.h | 1 +
- third_party/webrtc/call/rtx_receive_stream.h | 1 +
- .../webrtc/modules/audio_processing/aec3/clockdrift_detector.h | 1 +
- ui/gfx/linux/drm_util_linux.h | 2 ++
- 5 files changed, 6 insertions(+)
-
-diff --git a/chrome/browser/search/background/ntp_backgrounds.h b/chrome/browser/search/background/ntp_backgrounds.h
-index 7afc0a2..ea5818e 100644
---- a/chrome/browser/search/background/ntp_backgrounds.h
-+++ b/chrome/browser/search/background/ntp_backgrounds.h
-@@ -6,6 +6,7 @@
- #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
-
- #include <array>
-+#include <cstddef>
-
- class GURL;
-
-diff --git a/third_party/webrtc/call/rtx_receive_stream.h b/third_party/webrtc/call/rtx_receive_stream.h
-index 8ffa440..113a816 100644
---- a/third_party/webrtc/call/rtx_receive_stream.h
-+++ b/third_party/webrtc/call/rtx_receive_stream.h
-@@ -12,6 +12,7 @@
- #define CALL_RTX_RECEIVE_STREAM_H_
-
- #include <map>
-+#include <cstdint>
-
- #include "call/rtp_packet_sink_interface.h"
-
-diff --git a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
-index 22528c9..69e624e 100644
---- a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
-+++ b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
-@@ -12,6 +12,7 @@
- #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
-
- #include <array>
-+#include <cstddef>
-
- namespace webrtc {
-
-diff --git a/ui/gfx/linux/drm_util_linux.h b/ui/gfx/linux/drm_util_linux.h
-index 86ff2eb..990f12c 100644
---- a/ui/gfx/linux/drm_util_linux.h
-+++ b/ui/gfx/linux/drm_util_linux.h
-@@ -7,6 +7,8 @@
-
- #include "ui/gfx/buffer_types.h"
-
-+#include <cstdint>
-+
- namespace ui {
-
- int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
---
-2.24.1
-
diff --git a/chromium-ffmpeg-4.3.patch b/chromium-ffmpeg-4.3.patch
new file mode 100644
index 000000000000..6abb886ab990
--- /dev/null
+++ b/chromium-ffmpeg-4.3.patch
@@ -0,0 +1,21 @@
+diff --git a/media/base/media.cc b/media/base/media.cc
+index c282ee49a03..a298b40c79b 100644
+--- a/media/base/media.cc
++++ b/media/base/media.cc
+@@ -14,6 +14,7 @@
+ #include "third_party/libyuv/include/libyuv.h"
+
+ #if BUILDFLAG(ENABLE_FFMPEG)
++#include <limits>
+ #include "third_party/ffmpeg/ffmpeg_features.h" // nogncheck
+ extern "C" {
+ #include <libavutil/cpu.h>
+@@ -41,7 +42,7 @@ class MediaInitializer {
+
+ #if BUILDFLAG(USE_ALLOCATOR_SHIM)
+ // Remove allocation limit from ffmpeg, so calls go down to shim layer.
+- av_max_alloc(0);
++ av_max_alloc(std::numeric_limits<size_t>::max());
+ #endif // BUILDFLAG(USE_ALLOCATOR_SHIM)
+
+ #endif // BUILDFLAG(ENABLE_FFMPEG)
diff --git a/clean-up-a-call-to-set_utf8.patch b/clean-up-a-call-to-set_utf8.patch
deleted file mode 100644
index 01384c039417..000000000000
--- a/clean-up-a-call-to-set_utf8.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ede390a0b18e4565abf8ac1e1ff717e1d43fc320 Mon Sep 17 00:00:00 2001
-From: Paul Wankadia <junyer@chromium.org>
-Date: Tue, 14 Apr 2020 16:54:51 +0000
-Subject: [PATCH] Clean up a call to set_utf8().
-
-This is part of an effort to rewrite calls to utf8() and set_utf8()
-(in RE2::Options) as calls to encoding() and set_encoding(),
-respectively. utf8() and set_utf8() have been marked as the "legacy"
-interface since 2008, so it is long past time that we get rid of them.
-
-R=parastoog@google.com
-
-Change-Id: I62c48cd575a55b519d5264ed857f927c163068b2
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2145261
-Reviewed-by: Parastoo Geranmayeh <parastoog@google.com>
-Commit-Queue: Paul Wankadia <junyer@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#758886}
----
- components/autofill/core/browser/address_rewriter.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/components/autofill/core/browser/address_rewriter.cc b/components/autofill/core/browser/address_rewriter.cc
-index 1b85a50974c..030a5aba146 100644
---- a/components/autofill/core/browser/address_rewriter.cc
-+++ b/components/autofill/core/browser/address_rewriter.cc
-@@ -57,7 +57,7 @@ void CompileRulesFromData(const std::string& data_string,
- CompiledRuleVector* compiled_rules) {
- base::StringPiece data = data_string;
- re2::RE2::Options options;
-- options.set_utf8(true);
-+ options.set_encoding(RE2::Options::EncodingUTF8);
- options.set_word_boundary(true);
-
- size_t token_end = 0;
diff --git a/fix-intel-vaapi-wayland.patch b/fix-intel-vaapi-wayland.patch
deleted file mode 100644
index 8e87b1084221..000000000000
--- a/fix-intel-vaapi-wayland.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/ui/gl/gl_image_native_pixmap.cc
-+++ b/ui/gl/gl_image_native_pixmap.cc
-@@ -288,6 +288,8 @@
- std::move(scoped_fd));
- }
-
-+ handle.planes[0].size = size_.GetArea();
-+
- return handle;
- #endif // !defined(OS_FUCHSIA)
- }
---- a/gpu/command_buffer/service/error_state.cc
-+++ b/gpu/command_buffer/service/error_state.cc
-@@ -115,6 +115,8 @@
- // buffer.
- error = GL_NO_ERROR;
- }
-+ if (error == GL_INVALID_ENUM)
-+ error = GL_NO_ERROR;
- return error;
- }
diff --git a/include-memory-header-to-get-the-definition-of-std-u.patch b/include-memory-header-to-get-the-definition-of-std-u.patch
deleted file mode 100644
index eb30ad2437f1..000000000000
--- a/include-memory-header-to-get-the-definition-of-std-u.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 40d994e4aa2e4d5077c1810e4623549618a19c05 Mon Sep 17 00:00:00 2001
-From: Piotr Tworek <ptworek@vewd.com>
-Date: Mon, 27 Apr 2020 16:31:46 +0000
-Subject: [PATCH] Include "memory" header to get the definition of
- std::unique_ptr.
-
-Right now the code im the affected fails to build when using libstdc++
-instead of bundled libcxx. Apparently libcxx pulls the necessary header
-indirectly.
-
-Change-Id: Ie5e86f228434ab16d622ae7a912d9ce607258931
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2164645
-Reviewed-by: Jochen Eisinger <jochen@chromium.org>
-Commit-Queue: Jochen Eisinger <jochen@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#762881}
----
- .../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
-index f5a7ab03892..ef19cfaf680 100644
---- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
-+++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
-@@ -5,6 +5,8 @@
- #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
- #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
-
-+#include <memory>
-+
- #include "base/optional.h"
- #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h"
- #include "third_party/blink/renderer/core/core_export.h"
diff --git a/intel-vp9-quirk.patch b/intel-vp9-quirk.patch
index 27820a5d81d5..d39e0e207cfe 100644
--- a/intel-vp9-quirk.patch
+++ b/intel-vp9-quirk.patch
@@ -1,12 +1,12 @@
---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-06-15 11:58:38.000000000 -0700
-+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-06-23 17:18:20.219862776 -0700
-@@ -1163,6 +1163,9 @@
- // of frames needed by the client pipeline (see b/133733739).
+--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-07-13 11:40:37.000000000 -0700
++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-07-14 23:59:45.986297984 -0700
+@@ -1175,6 +1175,9 @@
+ // allocations.
// TODO(crbug.com/911754): Enable for VP9 Profile 2.
if (IsGeminiLakeOrLater() &&
+#if defined(OS_LINUX)
+ false &&
+#endif
- (profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY)) {
+ (profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY ||
+ (profile_ >= H264PROFILE_MIN && profile_ <= H264PROFILE_MAX))) {
// Add one to the reference frames for the one being currently egressed, and
- // an extra allocation for both |client_| and |decoder_|, see
diff --git a/iwyu-std-numeric_limits-is-defined-in-limits.patch b/iwyu-std-numeric_limits-is-defined-in-limits.patch
deleted file mode 100644
index e270242afd86..000000000000
--- a/iwyu-std-numeric_limits-is-defined-in-limits.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 74f76a6be385ef056b0be2362c32c728141cca16 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Fri, 17 Apr 2020 16:04:12 +0000
-Subject: [PATCH] IWYU: std::numeric_limits is defined in limits
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Change-Id: Ifbc379adc5bb7242c21e7da0bcfc28f49e4dd06f
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2153111
-Reviewed-by: François Doray <fdoray@chromium.org>
-Commit-Queue: François Doray <fdoray@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#760075}
----
- .../graph/policies/background_tab_loading_policy_helpers.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
-index 4881c010bb9..593501d16a7 100644
---- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
-+++ b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
-@@ -5,6 +5,7 @@
- #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
-
- #include <math.h>
-+#include <limits>
-
- #include "base/logging.h"
-
diff --git a/libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch b/libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
deleted file mode 100644
index 5e9d37aae54f..000000000000
--- a/libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From aeef68888d4c00b69facead2b934095a8cd17329 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Mon, 20 Apr 2020 18:21:43 +0000
-Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for
- NodeSetSizePosInSetInfo
-
-has only forward declaration of NodeSetSizePosInSetInfo. Therefore,
-move declaration from ax_tree.cc.
-
-std: :unordered_map<T, U> requires U to be fully declared. ax_tree.h
-Bug: 957519
-Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132403
-Reviewed-by: David Tseng <dtseng@chromium.org>
-Commit-Queue: David Tseng <dtseng@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#760588}
----
- ui/accessibility/ax_tree.cc | 10 ++--------
- ui/accessibility/ax_tree.h | 9 ++++++++-
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
-index 7b8d9b1b161..e9154028d66 100644
---- a/ui/accessibility/ax_tree.cc
-+++ b/ui/accessibility/ax_tree.cc
-@@ -567,14 +567,8 @@ struct AXTreeUpdateState {
- const AXTree& tree;
- };
-
--struct AXTree::NodeSetSizePosInSetInfo {
-- NodeSetSizePosInSetInfo() = default;
-- ~NodeSetSizePosInSetInfo() = default;
--
-- int32_t pos_in_set = 0;
-- int32_t set_size = 0;
-- base::Optional<int> lowest_hierarchical_level;
--};
-+AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default;
-+AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default;
-
- struct AXTree::OrderedSetContent {
- explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
-diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h
-index a51ca8de4c8..8c1c57517ac 100644
---- a/ui/accessibility/ax_tree.h
-+++ b/ui/accessibility/ax_tree.h
-@@ -328,7 +328,14 @@ class AX_EXPORT AXTree : public AXNode::OwnerTree {
- bool enable_extra_mac_nodes_ = false;
-
- // Contains pos_in_set and set_size data for an AXNode.
-- struct NodeSetSizePosInSetInfo;
-+ struct NodeSetSizePosInSetInfo {
-+ NodeSetSizePosInSetInfo();
-+ ~NodeSetSizePosInSetInfo();
-+
-+ int32_t pos_in_set = 0;
-+ int32_t set_size = 0;
-+ base::Optional<int> lowest_hierarchical_level;
-+ };
-
- // Represents the content of an ordered set which includes the ordered set
- // items and the ordered set container if it exists.
diff --git a/make-some-of-blink-custom-iterators-STL-compatible.patch b/make-some-of-blink-custom-iterators-STL-compatible.patch
deleted file mode 100644
index 30cbdefcc65f..000000000000
--- a/make-some-of-blink-custom-iterators-STL-compatible.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From d3cabbc7321d349a9bffda482df5afc0d4df1ac2 Mon Sep 17 00:00:00 2001
-From: Piotr Tworek <ptworek@vewd.com>
-Date: Thu, 30 Apr 2020 21:33:47 +0000
-Subject: [PATCH] Make some of blink custom iterators STL compatible.
-
-Blink has recently started using functions like std::any_of with some of
-the custom iterators it provides. On Linux this works in the default
-setup using libcxx, but fails with even the most recent versions of
-libstdc++. In all cases the error message (text in bug report) complains
-about lack of matching std::__iterator_category definition.
-
-From what I understand the error message is basically saying those
-iterators are not STL compatible due to missing traits as described
-in https://en.cppreference.com/w/cpp/iterator/iterator_traits. Such
-traits are provided by custom iterators defined in //base, or //cc.
-
-This patch adds the necessary traits to iterators that are currently
-affected by this problem.
-
-Bug: 1076869
-Change-Id: I9950a7100c32499ba96647317fa70b87dc22eaf9
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2174199
-Reviewed-by: Kentaro Hara <haraken@chromium.org>
-Commit-Queue: Piotr Tworek <ptworek@vewd.com>
-Cr-Commit-Position: refs/heads/master@{#764426}
----
- .../core/layout/ng/ng_physical_container_fragment.h | 6 ++++++
- .../blink/renderer/platform/wtf/hash_iterators.h | 12 ++++++++++++
- third_party/blink/renderer/platform/wtf/hash_table.h | 6 ++++++
- 3 files changed, 24 insertions(+)
-
-diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
-index 1256e77c146..8b93107f2fc 100644
---- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
-+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
-@@ -38,6 +38,12 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment {
- STACK_ALLOCATED();
-
- public:
-+ using iterator_category = std::bidirectional_iterator_tag;
-+ using value_type = NGLink;
-+ using difference_type = ptrdiff_t;
-+ using pointer = value_type*;
-+ using reference = value_type&;
-+
- ConstIterator(const NGLink* current) : current_(current) {}
-
- const NGLink& operator*() const { return *PostLayoutOrCurrent(); }
-diff --git a/third_party/blink/renderer/platform/wtf/hash_iterators.h b/third_party/blink/renderer/platform/wtf/hash_iterators.h
-index f8e66e6be85..6003d02c509 100644
---- a/third_party/blink/renderer/platform/wtf/hash_iterators.h
-+++ b/third_party/blink/renderer/platform/wtf/hash_iterators.h
-@@ -53,6 +53,12 @@ struct HashTableConstIteratorAdapter<HashTableType,
- typedef HashTableConstValuesIterator<HashTableType, KeyType, MappedType>
- ValuesIterator;
-
-+ using iterator_category = std::bidirectional_iterator_tag;
-+ using value_type = HashTableType;
-+ using difference_type = ptrdiff_t;
-+ using pointer = value_type*;
-+ using reference = value_type&;
-+
- HashTableConstIteratorAdapter() = default;
- HashTableConstIteratorAdapter(
- const typename HashTableType::const_iterator& impl)
-@@ -94,6 +100,12 @@ struct HashTableIteratorAdapter<HashTableType,
- typedef HashTableValuesIterator<HashTableType, KeyType, MappedType>
- ValuesIterator;
-
-+ using iterator_category = std::bidirectional_iterator_tag;
-+ using value_type = HashTableType;
-+ using difference_type = ptrdiff_t;
-+ using pointer = value_type*;
-+ using reference = value_type&;
-+
- HashTableIteratorAdapter() = default;
- HashTableIteratorAdapter(const typename HashTableType::iterator& impl)
- : impl_(impl) {}
-diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h
-index f596fb5d41e..5a4468d6bd1 100644
---- a/third_party/blink/renderer/platform/wtf/hash_table.h
-+++ b/third_party/blink/renderer/platform/wtf/hash_table.h
-@@ -2204,6 +2204,12 @@ struct HashTableConstIteratorAdapter {
- STACK_ALLOCATED();
-
- public:
-+ using iterator_category = std::bidirectional_iterator_tag;
-+ using value_type = HashTableType;
-+ using difference_type = ptrdiff_t;
-+ using pointer = value_type*;
-+ using reference = value_type&;
-+
- HashTableConstIteratorAdapter() = default;
- HashTableConstIteratorAdapter(
- const typename HashTableType::const_iterator& impl)
diff --git a/remove-NotifyError-calls-and-just-send-a-normal-message.patch b/remove-NotifyError-calls-and-just-send-a-normal-message.patch
new file mode 100644
index 000000000000..ab638bbef026
--- /dev/null
+++ b/remove-NotifyError-calls-and-just-send-a-normal-message.patch
@@ -0,0 +1,42 @@
+From 3bfec15358b788a2b7e1beefaa177ba84a6da328 Mon Sep 17 00:00:00 2001
+From: Ted Meyer <tmathmeyer@chromium.org>
+Date: Mon, 1 Jun 2020 19:31:18 +0000
+Subject: [PATCH] Remove NotifyError calls and just send a normal message
+ instead
+
+rewrote the TODO as well.
+
+Bug: 1088055
+Change-Id: If83ceeb3a786a1813e41bd3ac6c7309791e92400
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2223010
+Auto-Submit: Ted Meyer <tmathmeyer@chromium.org>
+Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
+Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#773776}
+---
+ media/filters/decoder_selector.cc | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/media/filters/decoder_selector.cc b/media/filters/decoder_selector.cc
+index bb06378b92d..9f510bb578c 100644
+--- a/media/filters/decoder_selector.cc
++++ b/media/filters/decoder_selector.cc
+@@ -165,13 +165,11 @@ void DecoderSelector<StreamType>::OnDecoderInitializeDone(Status status) {
+ DCHECK(task_runner_->BelongsToCurrentThread());
+
+ if (!status.is_ok()) {
+- // TODO(tmathmeyer) this might be noisy in media log. Consider batching
+- // all failures as causes to a single Status object and only surfacing it if
+- // decoder selection fails entirely.
+- media_log_->NotifyError(
+- Status(StatusCode::kDecoderFailedInitialization)
+- .WithData("Decoder name", decoder_->GetDisplayName())
+- .AddCause(std::move(status)));
++ // TODO(tmathmeyer) this was too noisy in media log. Batch all the logs
++ // together and then send them as an informational notice instead of
++ // using NotifyError.
++ MEDIA_LOG(INFO, media_log_)
++ << "Failed to initialize " << decoder_->GetDisplayName();
+
+ // Try the next decoder on the list.
+ decoder_.reset();
diff --git a/v8-remove-soon-to-be-removed-getAllFieldPositions.patch b/v8-remove-soon-to-be-removed-getAllFieldPositions.patch
deleted file mode 100644
index 41d1aced2607..000000000000
--- a/v8-remove-soon-to-be-removed-getAllFieldPositions.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001
-From: Frank Tang <ftang@chromium.org>
-Date: Fri, 3 Apr 2020 23:13:54 -0700
-Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions
-
-Needed to land ICU67.1 soon.
-
-Bug: v8:10393
-Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
-Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
-Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
-Commit-Queue: Frank Tang <ftang@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#67027}
----
- src/objects/js-number-format.cc | 77 +++++++++++++++++----------------
- 1 file changed, 39 insertions(+), 38 deletions(-)
-
-diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc
-index ad831c5c36..bcd44031d5 100644
---- a/src/objects/js-number-format.cc
-+++ b/src/objects/js-number-format.cc
-@@ -1241,44 +1241,33 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate,
- }
-
- namespace {
--Maybe<icu::UnicodeString> IcuFormatNumber(
-+Maybe<bool> IcuFormatNumber(
- Isolate* isolate,
- const icu::number::LocalizedNumberFormatter& number_format,
-- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
-+ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
- // If it is BigInt, handle it differently.
- UErrorCode status = U_ZERO_ERROR;
-- icu::number::FormattedNumber formatted;
- if (numeric_obj->IsBigInt()) {
- Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
- Handle<String> big_int_string;
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
- BigInt::ToString(isolate, big_int),
-- Nothing<icu::UnicodeString>());
-- formatted = number_format.formatDecimal(
-+ Nothing<bool>());
-+ *formatted = number_format.formatDecimal(
- {big_int_string->ToCString().get(), big_int_string->length()}, status);
- } else {
- double number = numeric_obj->IsNaN()
- ? std::numeric_limits<double>::quiet_NaN()
- : numeric_obj->Number();
-- formatted = number_format.formatDouble(number, status);
-+ *formatted = number_format.formatDouble(number, status);
- }
- if (U_FAILURE(status)) {
- // This happen because of icu data trimming trim out "unit".
- // See https://bugs.chromium.org/p/v8/issues/detail?id=8641
-- THROW_NEW_ERROR_RETURN_VALUE(isolate,
-- NewTypeError(MessageTemplate::kIcuError),
-- Nothing<icu::UnicodeString>());
-- }
-- if (fp_iter) {
-- formatted.getAllFieldPositions(*fp_iter, status);
-- }
-- icu::UnicodeString result = formatted.toString(status);
-- if (U_FAILURE(status)) {
-- THROW_NEW_ERROR_RETURN_VALUE(isolate,
-- NewTypeError(MessageTemplate::kIcuError),
-- Nothing<icu::UnicodeString>());
-+ THROW_NEW_ERROR_RETURN_VALUE(
-+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
- }
-- return Just(result);
-+ return Just(true);
- }
-
- } // namespace
-@@ -1289,10 +1278,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric(
- Handle<Object> numeric_obj) {
- DCHECK(numeric_obj->IsNumeric());
-
-- Maybe<icu::UnicodeString> maybe_format =
-- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
-+ icu::number::FormattedNumber formatted;
-+ Maybe<bool> maybe_format =
-+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
- MAYBE_RETURN(maybe_format, Handle<String>());
-- return Intl::ToString(isolate, maybe_format.FromJust());
-+ UErrorCode status = U_ZERO_ERROR;
-+ icu::UnicodeString result = formatted.toString(status);
-+ if (U_FAILURE(status)) {
-+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
-+ }
-+ return Intl::ToString(isolate, result);
- }
-
- namespace {
-@@ -1405,12 +1400,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts(
- }
-
- namespace {
--Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
-- icu::FieldPositionIterator* fp_iter,
-+Maybe<int> ConstructParts(Isolate* isolate,
-+ icu::number::FormattedNumber* formatted,
- Handle<JSArray> result, int start_index,
- Handle<Object> numeric_obj, bool style_is_unit) {
-+ UErrorCode status = U_ZERO_ERROR;
-+ icu::UnicodeString formatted_text = formatted->toString(status);
-+ if (U_FAILURE(status)) {
-+ THROW_NEW_ERROR_RETURN_VALUE(
-+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
-+ }
- DCHECK(numeric_obj->IsNumeric());
-- int32_t length = formatted.length();
-+ int32_t length = formatted_text.length();
- int index = start_index;
- if (length == 0) return Just(index);
-
-@@ -1419,13 +1420,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
- // other region covers some part of the formatted string. It's possible
- // there's another field with exactly the same begin and end as this backdrop,
- // in which case the backdrop's field_id of -1 will give it lower priority.
-- regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
-+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
-
- {
-- icu::FieldPosition fp;
-- while (fp_iter->next(fp)) {
-- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
-- fp.getEndIndex()));
-+ icu::ConstrainedFieldPosition cfp;
-+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
-+ while (formatted->nextPosition(cfp, status)) {
-+ regions.push_back(
-+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
- }
- }
-
-@@ -1447,7 +1449,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
- Handle<String> substring;
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate, substring,
-- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
-+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
- Nothing<int>());
- Intl::AddElement(isolate, result, index, field_type_string, substring);
- ++index;
-@@ -1467,20 +1469,19 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts(
- number_format->icu_number_formatter().raw();
- CHECK_NOT_NULL(fmt);
-
-- icu::FieldPositionIterator fp_iter;
-- Maybe<icu::UnicodeString> maybe_format =
-- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
-+ icu::number::FormattedNumber formatted;
-+ Maybe<bool> maybe_format =
-+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
- MAYBE_RETURN(maybe_format, Handle<JSArray>());
--
- UErrorCode status = U_ZERO_ERROR;
-+
- bool style_is_unit =
- Style::UNIT == StyleFromSkeleton(fmt->toSkeleton(status));
- CHECK(U_SUCCESS(status));
-
- Handle<JSArray> result = factory->NewJSArray(0);
-- Maybe<int> maybe_format_to_parts =
-- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0,
-- numeric_obj, style_is_unit);
-+ Maybe<int> maybe_format_to_parts = ConstructParts(
-+ isolate, &formatted, result, 0, numeric_obj, style_is_unit);
- MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
-
- return result;
diff --git a/vdpau-support.patch b/vdpau-support.patch
deleted file mode 100644
index b5372d1a2556..000000000000
--- a/vdpau-support.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
-+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
-@@ -641,6 +641,7 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers(
- // |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
- // internal decoded frame.
- if (buffer_allocation_mode_ != BufferAllocationMode::kNone &&
-+ buffer_allocation_mode_ != BufferAllocationMode::kWrapVdpau &&
- !vpp_vaapi_wrapper_) {
- vpp_vaapi_wrapper_ = VaapiWrapper::Create(
- VaapiWrapper::kVideoProcess, VAProfileNone,
-@@ -665,7 +666,8 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers(
- PictureBuffer buffer = buffers[i];
- buffer.set_size(requested_pic_size_);
- std::unique_ptr<VaapiPicture> picture = vaapi_picture_factory_->Create(
-- (buffer_allocation_mode_ == BufferAllocationMode::kNone)
-+ ((buffer_allocation_mode_ == BufferAllocationMode::kNone) ||
-+ (buffer_allocation_mode_ == BufferAllocationMode::kWrapVdpau))
- ? vaapi_wrapper_
- : vpp_vaapi_wrapper_,
- make_context_current_cb_, bind_image_cb_, buffer);
-@@ -1093,6 +1095,12 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() {
-
- VaapiVideoDecodeAccelerator::BufferAllocationMode
- VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
-+ // NVIDIA blobs use VDPAU
-+ if (VaapiWrapper::GetImplementationType() == VAImplementation::kNVIDIAVDPAU) {
-+ LOG(INFO) << "VA-API driver on VDPAU backend";
-+ return BufferAllocationMode::kWrapVdpau;
-+ }
-+
- // TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT
- // |output_mode_| as well.
- if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
-@@ -1105,7 +1113,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
- // depends on the bitstream and sometimes it's not enough to cover the amount
- // of frames needed by the client pipeline (see b/133733739).
- // TODO(crbug.com/911754): Enable for VP9 Profile 2.
-- if (IsGeminiLakeOrLater() &&
-+ if (false && IsGeminiLakeOrLater() &&
- (profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY)) {
- // Add one to the reference frames for the one being currently egressed, and
- // an extra allocation for both |client_| and |decoder_|, see
---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.h
-+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.h
-@@ -204,6 +204,7 @@ class MEDIA_GPU_EXPORT VaapiVideoDecodeAccelerator
- // Using |client_|s provided PictureBuffers and as many internally
- // allocated.
- kNormal,
-+ kWrapVdpau,
- };
-
- // Decides the concrete buffer allocation mode, depending on the hardware
---- a/media/gpu/vaapi/vaapi_wrapper.cc
-+++ b/media/gpu/vaapi/vaapi_wrapper.cc
-@@ -131,6 +131,9 @@ media::VAImplementation VendorStringToImplementationType(
- } else if (base::StartsWith(va_vendor_string, "Intel iHD driver",
- base::CompareCase::SENSITIVE)) {
- return media::VAImplementation::kIntelIHD;
-+ } else if (base::StartsWith(va_vendor_string, "Splitted-Desktop Systems VDPAU",
-+ base::CompareCase::SENSITIVE)) {
-+ return media::VAImplementation::kNVIDIAVDPAU;
- }
- return media::VAImplementation::kOther;
- }
---- a/media/gpu/vaapi/vaapi_wrapper.h
-+++ b/media/gpu/vaapi/vaapi_wrapper.h
-@@ -79,6 +79,7 @@ enum class VAImplementation {
- kIntelIHD,
- kOther,
- kInvalid,
-+ kNVIDIAVDPAU,
- };
-
- // This class handles VA-API calls and ensures proper locking of VA-API calls