[arch-commits] Commit in chromium/repos/extra-x86_64 (22 files)

Evangelos Foutras foutrelis at archlinux.org
Tue Jul 14 18:21:12 UTC 2020


    Date: Tuesday, July 14, 2020 @ 18:21:12
  Author: foutrelis
Revision: 391914

archrelease: copy trunk to extra-x86_64

Added:
  chromium/repos/extra-x86_64/PKGBUILD
    (from rev 391913, chromium/trunk/PKGBUILD)
  chromium/repos/extra-x86_64/avoid-calling-DeleteForCurrentDocument-from-destructor.patch
    (from rev 391913, chromium/trunk/avoid-calling-DeleteForCurrentDocument-from-destructor.patch)
  chromium/repos/extra-x86_64/chromium-ffmpeg-4.3.patch
    (from rev 391913, chromium/trunk/chromium-ffmpeg-4.3.patch)
  chromium/repos/extra-x86_64/chromium-fix-vaapi-on-intel.patch
    (from rev 391913, chromium/trunk/chromium-fix-vaapi-on-intel.patch)
  chromium/repos/extra-x86_64/chromium-skia-harmony.patch
    (from rev 391913, chromium/trunk/chromium-skia-harmony.patch)
  chromium/repos/extra-x86_64/chromium.install
    (from rev 391913, chromium/trunk/chromium.install)
  chromium/repos/extra-x86_64/force-mp3-files-to-have-a-start-time-of-zero.patch
    (from rev 391913, chromium/trunk/force-mp3-files-to-have-a-start-time-of-zero.patch)
  chromium/repos/extra-x86_64/remove-NotifyError-calls-and-just-send-a-normal-message.patch
    (from rev 391913, chromium/trunk/remove-NotifyError-calls-and-just-send-a-normal-message.patch)
Deleted:
  chromium/repos/extra-x86_64/PKGBUILD
  chromium/repos/extra-x86_64/add-missing-algorithm-header-in-crx_install_error.cc.patch
  chromium/repos/extra-x86_64/avoid-double-destruction-of-ServiceWorkerObjectHost.patch
  chromium/repos/extra-x86_64/chromium-83-gcc-10.patch
  chromium/repos/extra-x86_64/chromium-fix-vaapi-on-intel.patch
  chromium/repos/extra-x86_64/chromium-skia-harmony.patch
  chromium/repos/extra-x86_64/chromium.install
  chromium/repos/extra-x86_64/clean-up-a-call-to-set_utf8.patch
  chromium/repos/extra-x86_64/force-mp3-files-to-have-a-start-time-of-zero.patch
  chromium/repos/extra-x86_64/include-memory-header-to-get-the-definition-of-std-u.patch
  chromium/repos/extra-x86_64/iwyu-std-numeric_limits-is-defined-in-limits.patch
  chromium/repos/extra-x86_64/libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
  chromium/repos/extra-x86_64/make-some-of-blink-custom-iterators-STL-compatible.patch
  chromium/repos/extra-x86_64/v8-remove-soon-to-be-removed-getAllFieldPositions.patch

---------------------------------------------------------------+
 PKGBUILD                                                      |  564 ++++------
 add-missing-algorithm-header-in-crx_install_error.cc.patch    |   29 
 avoid-calling-DeleteForCurrentDocument-from-destructor.patch  |   71 +
 avoid-double-destruction-of-ServiceWorkerObjectHost.patch     |  138 --
 chromium-83-gcc-10.patch                                      |   64 -
 chromium-ffmpeg-4.3.patch                                     |   21 
 chromium-fix-vaapi-on-intel.patch                             |   80 -
 chromium-skia-harmony.patch                                   |   28 
 chromium.install                                              |   32 
 clean-up-a-call-to-set_utf8.patch                             |   34 
 force-mp3-files-to-have-a-start-time-of-zero.patch            |   76 -
 include-memory-header-to-get-the-definition-of-std-u.patch    |   32 
 iwyu-std-numeric_limits-is-defined-in-limits.patch            |   29 
 libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch    |   62 -
 make-some-of-blink-custom-iterators-STL-compatible.patch      |   95 -
 remove-NotifyError-calls-and-just-send-a-normal-message.patch |   42 
 v8-remove-soon-to-be-removed-getAllFieldPositions.patch       |  172 ---
 17 files changed, 517 insertions(+), 1052 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2020-07-14 18:21:02 UTC (rev 391913)
+++ PKGBUILD	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,289 +0,0 @@
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
-# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
-
-pkgname=chromium
-pkgver=83.0.4103.116
-pkgrel=3
-_launcher_ver=6
-pkgdesc="A web browser built for speed, simplicity, and security"
-arch=('x86_64')
-url="https://www.chromium.org/Home"
-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'
-             'python2-setuptools')
-optdepends=('pepper-flash: support for Flash content'
-            'libpipewire02: WebRTC desktop sharing under Wayland'
-            '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')
-install=chromium.install
-source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
-        chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
-        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
-        force-mp3-files-to-have-a-start-time-of-zero.patch
-        v8-remove-soon-to-be-removed-getAllFieldPositions.patch
-        chromium-fix-vaapi-on-intel.patch
-        chromium-83-gcc-10.patch
-        chromium-skia-harmony.patch)
-sha256sums=('bb0c7e8dfee9f3a5e30eca7f34fc9f21caefa82a86c058c552f52b1ae2da2ac3'
-            '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
-            '58c41713eb6fb33b6eef120f4324fa1fb8123b1fbc4ecbe5662f1f9779b9b6af'
-            '675fb3d6276cce569a641436465f58d5709d1d4a5f62b7052989479fd4aaea24'
-            '0e2a78e4aa7272ab0ff4a4c467750e01bad692a026ad9828aaf06d2a9418b9d8'
-            '50687079426094f2056d1f4806dc30fc8d6bad16190520e57ba087ec5db1d778'
-            '071326135bc25226aa165639dff80a03670a17548f2d2ff5cc4f40982b39c52a'
-            '3d7f20e1d2ee7d73ed25e708c0d59a0cb215fcce10a379e3d48a856533c4b0b7'
-            'd793842e9584bf75e3779918297ba0ffa6dd05394ef5b2bf5fb73aa9c86a7e2f'
-            'abc3fad113408332c3b187b083bf33eba59eb5c87fa3ce859023984b5804623c'
-            'e042024423027ad3ef729a7e4709bdf9714aea49d64cfbbf46a645a05703abc2'
-            'e495f2477091557b15bff2c99831e0a3db64ea2ebde7dcb22857a6469c944b9a'
-            '3e5ba8c0a70a4bc673deec0c61eb2b58f05a4c784cbdb7c8118be1eb6580db6d'
-            '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1')
-
-# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
-# Keys are the names in the above script; values are the dependencies in Arch
-declare -gA _system_libs=(
-  [ffmpeg]=ffmpeg
-  [flac]=flac
-  [fontconfig]=fontconfig
-  [freetype]=freetype2
-  [harfbuzz-ng]=harfbuzz
-  [icu]=icu
-  [libdrm]=
-  [libjpeg]=libjpeg
-  #[libpng]=libpng    # https://crbug.com/752403#c10
-  [libvpx]=libvpx
-  [libwebp]=libwebp
-  [libxml]=libxml2
-  [libxslt]=libxslt
-  [opus]=opus
-  [re2]=re2
-  [snappy]=snappy
-  [yasm]=
-  [zlib]=minizip
-)
-_unwanted_bundled_libs=(
-  $(printf "%s\n" ${!_system_libs[@]} | sed 's/^libjpeg$/&_turbo/')
-)
-depends+=(${_system_libs[@]})
-
-# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
-# Note: These are for Arch Linux use ONLY. For your own distribution, please
-# get your own set of keys.
-_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
-_google_default_client_id=413772536636.apps.googleusercontent.com
-_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
-
-prepare() {
-  cd "$srcdir/$pkgname-$pkgver"
-
-  # Allow building against system libraries in official builds
-  sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
-    tools/generate_shim_headers/generate_shim_headers.py
-
-  # https://crbug.com/893950
-  sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
-    third_party/blink/renderer/core/xml/*.cc \
-    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/+/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 from Gentoo
-  patch -Np1 -i ../chromium-83-gcc-10.patch
-
-  # https://crbug.com/skia/6663#c10
-  patch -Np0 -i ../chromium-skia-harmony.patch
-
-  # Patch from rpmfusion: chromium-freeworld
-  patch -Np1 -i ../chromium-fix-vaapi-on-intel.patch
-
-  # Force script incompatible with Python 3 to use /usr/bin/python2
-  sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py
-
-  mkdir -p third_party/node/linux/node-linux-x64/bin
-  ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
-
-  # Remove bundled libraries for which we will use the system copies; this
-  # *should* do what the remove_bundled_libraries.py script does, with the
-  # added benefit of not having to list all the remaining libraries
-  local _lib
-  for _lib in ${_unwanted_bundled_libs[@]}; do
-    find "third_party/$_lib" -type f \
-      \! -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
-
-  python2 build/linux/unbundle/replace_gn_files.py \
-    --system-libraries "${!_system_libs[@]}"
-}
-
-build() {
-  make -C chromium-launcher-$_launcher_ver
-
-  cd "$srcdir/$pkgname-$pkgver"
-
-  if check_buildoption ccache y; then
-    # Avoid falling back to preprocessor mode when sources contain time macros
-    export CCACHE_SLOPPINESS=time_macros
-  fi
-
-  export CC=clang
-  export CXX=clang++
-  export AR=ar
-  export NM=nm
-
-  local _flags=(
-    'custom_toolchain="//build/toolchain/linux/unbundle:default"'
-    'host_toolchain="//build/toolchain/linux/unbundle:default"'
-    'clang_use_chrome_plugins=false'
-    'is_official_build=true' # implies is_cfi=true on x86_64
-    'treat_warnings_as_errors=false'
-    'fieldtrial_testing_like_official_build=true'
-    'ffmpeg_branding="Chrome"'
-    'proprietary_codecs=true'
-    'rtc_use_pipewire=true'
-    'link_pulseaudio=true'
-    'use_gnome_keyring=false'
-    'use_sysroot=false'
-    'linux_use_bundled_binutils=false'
-    'use_custom_libcxx=false'
-    'enable_hangout_services_extension=true'
-    'enable_widevine=true'
-    'use_vaapi=true'
-    'enable_nacl=false'
-    "google_api_key=\"${_google_api_key}\""
-    "google_default_client_id=\"${_google_default_client_id}\""
-    "google_default_client_secret=\"${_google_default_client_secret}\""
-  )
-
-  if [[ -n ${_system_libs[icu]+set} ]]; then
-    _flags+=('icu_use_data_file=false')
-  fi
-
-  if check_option strip y; then
-    _flags+=('symbol_level=0')
-  fi
-
-  # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
-  CFLAGS+='   -Wno-builtin-macro-redefined'
-  CXXFLAGS+=' -Wno-builtin-macro-redefined'
-  CPPFLAGS+=' -D__DATE__=  -D__TIME__=  -D__TIMESTAMP__='
-
-  # Do not warn about unknown warning options
-  CFLAGS+='   -Wno-unknown-warning-option'
-  CXXFLAGS+=' -Wno-unknown-warning-option'
-
-  gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2
-  ninja -C out/Release chrome chrome_sandbox chromedriver
-}
-
-package() {
-  cd chromium-launcher-$_launcher_ver
-  make PREFIX=/usr DESTDIR="$pkgdir" install
-  install -Dm644 LICENSE \
-    "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
-
-  cd "$srcdir/$pkgname-$pkgver"
-
-  install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
-  install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
-  ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
-
-  install -Dm644 chrome/installer/linux/common/desktop.template \
-    "$pkgdir/usr/share/applications/chromium.desktop"
-  install -Dm644 chrome/app/resources/manpage.1.in \
-    "$pkgdir/usr/share/man/man1/chromium.1"
-  sed -i \
-    -e 's/@@MENUNAME@@/Chromium/g' \
-    -e 's/@@PACKAGE@@/chromium/g' \
-    -e 's/@@USR_BIN_SYMLINK_NAME@@/chromium/g' \
-    "$pkgdir/usr/share/applications/chromium.desktop" \
-    "$pkgdir/usr/share/man/man1/chromium.1"
-
-  install -Dm644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \
-    "$pkgdir/usr/share/metainfo/chromium.appdata.xml"
-  sed -ni \
-    -e 's/chromium-browser\.desktop/chromium.desktop/' \
-    -e '/<update_contact>/d' \
-    -e '/<p>/N;/<p>\n.*\(We invite\|Chromium supports Vorbis\)/,/<\/p>/d' \
-    -e '/^<?xml/,$p' \
-    "$pkgdir/usr/share/metainfo/chromium.appdata.xml"
-
-  local toplevel_files=(
-    chrome_100_percent.pak
-    chrome_200_percent.pak
-    resources.pak
-    v8_context_snapshot.bin
-
-    # ANGLE
-    libEGL.so
-    libGLESv2.so
-
-    chromedriver
-  )
-
-  if [[ -z ${_system_libs[icu]+set} ]]; then
-    toplevel_files+=(icudtl.dat)
-  fi
-
-  cp "${toplevel_files[@]/#/out/Release/}" "$pkgdir/usr/lib/chromium/"
-  install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak
-  install -Dm755 -t "$pkgdir/usr/lib/chromium/swiftshader" out/Release/swiftshader/*.so
-
-  for size in 24 48 64 128 256; do
-    install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
-      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
-  done
-
-  for size in 16 32; do
-    install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
-      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
-  done
-
-  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
-}
-
-# vim:set ts=2 sw=2 et:

Copied: chromium/repos/extra-x86_64/PKGBUILD (from rev 391913, chromium/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2020-07-14 18:21:12 UTC (rev 391914)
@@ -0,0 +1,275 @@
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+pkgname=chromium
+pkgver=84.0.4147.89
+pkgrel=1
+_launcher_ver=6
+_gcc_patchset=3
+pkgdesc="A web browser built for speed, simplicity, and security"
+arch=('x86_64')
+url="https://www.chromium.org/Home"
+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' '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]'
+            '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')
+install=chromium.install
+source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
+        chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
+        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
+        chromium-ffmpeg-4.3.patch
+        chromium-fix-vaapi-on-intel.patch
+        chromium-skia-harmony.patch)
+sha256sums=('17970d998c125b40765141f2cd346d1674f05dbd4a28fdcf31f9e3540890c679'
+            '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
+            'f77088dd59b170b767ba91c6b410abb778ff2e68553433b24124d398fa4d3ce7'
+            '3b10917f646f88ae988ca18be9cbef82025abb6a6e5cb00b77a11077192ce32c'
+            '4e41cb637e96bcef98c119ed052ba1aeab45fca5b89d65955583dab002de783e'
+            'abc3fad113408332c3b187b083bf33eba59eb5c87fa3ce859023984b5804623c'
+            '5390304b5f544868985ce00a3ec082d4ece2dacb1c73cdb35dd4facfea12449a'
+            'e495f2477091557b15bff2c99831e0a3db64ea2ebde7dcb22857a6469c944b9a'
+            '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1')
+
+# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
+# Keys are the names in the above script; values are the dependencies in Arch
+declare -gA _system_libs=(
+  [ffmpeg]=ffmpeg
+  [flac]=flac
+  [fontconfig]=fontconfig
+  [freetype]=freetype2
+  [harfbuzz-ng]=harfbuzz
+  [icu]=icu
+  [libdrm]=
+  [libjpeg]=libjpeg
+  [libpng]=libpng
+  [libvpx]=libvpx
+  [libwebp]=libwebp
+  [libxml]=libxml2
+  [libxslt]=libxslt
+  [opus]=opus
+  [re2]=re2
+  [snappy]=snappy
+  [zlib]=minizip
+)
+_unwanted_bundled_libs=(
+  $(printf "%s\n" ${!_system_libs[@]} | sed 's/^libjpeg$/&_turbo/')
+)
+depends+=(${_system_libs[@]})
+
+# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys.
+_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
+_google_default_client_id=413772536636.apps.googleusercontent.com
+_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
+
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  # Allow building against system libraries in official builds
+  sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+    tools/generate_shim_headers/generate_shim_headers.py
+
+  # https://crbug.com/893950
+  sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
+    third_party/blink/renderer/core/xml/*.cc \
+    third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
+    third_party/libxml/chromium/*.cc
+
+  # 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
+
+  # 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
+
+  # Patch from rpmfusion: chromium-freeworld
+  patch -Np1 -i ../chromium-fix-vaapi-on-intel.patch
+
+  # https://crbug.com/skia/6663#c10
+  patch -Np0 -i ../chromium-skia-harmony.patch
+
+  # 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/
+
+  # Remove bundled libraries for which we will use the system copies; this
+  # *should* do what the remove_bundled_libraries.py script does, with the
+  # added benefit of not having to list all the remaining libraries
+  local _lib
+  for _lib in ${_unwanted_bundled_libs[@]}; do
+    find "third_party/$_lib" -type f \
+      \! -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
+
+  python2 build/linux/unbundle/replace_gn_files.py \
+    --system-libraries "${!_system_libs[@]}"
+}
+
+build() {
+  make -C chromium-launcher-$_launcher_ver
+
+  cd "$srcdir/$pkgname-$pkgver"
+
+  if check_buildoption ccache y; then
+    # Avoid falling back to preprocessor mode when sources contain time macros
+    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
+  export NM=nm
+
+  local _flags=(
+    'custom_toolchain="//build/toolchain/linux/unbundle:default"'
+    'host_toolchain="//build/toolchain/linux/unbundle:default"'
+    'clang_use_chrome_plugins=false'
+    'is_official_build=true' # implies is_cfi=true on x86_64
+    'treat_warnings_as_errors=false'
+    'fieldtrial_testing_like_official_build=true'
+    'ffmpeg_branding="Chrome"'
+    'proprietary_codecs=true'
+    'rtc_use_pipewire=true'
+    'link_pulseaudio=true'
+    'use_gnome_keyring=false'
+    'use_sysroot=false'
+    'use_custom_libcxx=false'
+    'enable_hangout_services_extension=true'
+    'enable_widevine=true'
+    'use_vaapi=true'
+    'enable_nacl=false'
+    "google_api_key=\"${_google_api_key}\""
+    "google_default_client_id=\"${_google_default_client_id}\""
+    "google_default_client_secret=\"${_google_default_client_secret}\""
+  )
+
+  if [[ -n ${_system_libs[icu]+set} ]]; then
+    _flags+=('icu_use_data_file=false')
+  fi
+
+  if check_option strip y; then
+    _flags+=('symbol_level=0')
+  fi
+
+  # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
+  CFLAGS+='   -Wno-builtin-macro-redefined'
+  CXXFLAGS+=' -Wno-builtin-macro-redefined'
+  CPPFLAGS+=' -D__DATE__=  -D__TIME__=  -D__TIMESTAMP__='
+
+  # Do not warn about unknown warning options
+  CFLAGS+='   -Wno-unknown-warning-option'
+  CXXFLAGS+=' -Wno-unknown-warning-option'
+
+  gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2
+  ninja -C out/Release chrome chrome_sandbox chromedriver
+}
+
+package() {
+  cd chromium-launcher-$_launcher_ver
+  make PREFIX=/usr DESTDIR="$pkgdir" install
+  install -Dm644 LICENSE \
+    "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
+
+  cd "$srcdir/$pkgname-$pkgver"
+
+  install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
+  install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
+  ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
+
+  install -Dm644 chrome/installer/linux/common/desktop.template \
+    "$pkgdir/usr/share/applications/chromium.desktop"
+  install -Dm644 chrome/app/resources/manpage.1.in \
+    "$pkgdir/usr/share/man/man1/chromium.1"
+  sed -i \
+    -e 's/@@MENUNAME@@/Chromium/g' \
+    -e 's/@@PACKAGE@@/chromium/g' \
+    -e 's/@@USR_BIN_SYMLINK_NAME@@/chromium/g' \
+    "$pkgdir/usr/share/applications/chromium.desktop" \
+    "$pkgdir/usr/share/man/man1/chromium.1"
+
+  install -Dm644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \
+    "$pkgdir/usr/share/metainfo/chromium.appdata.xml"
+  sed -ni \
+    -e 's/chromium-browser\.desktop/chromium.desktop/' \
+    -e '/<update_contact>/d' \
+    -e '/<p>/N;/<p>\n.*\(We invite\|Chromium supports Vorbis\)/,/<\/p>/d' \
+    -e '/^<?xml/,$p' \
+    "$pkgdir/usr/share/metainfo/chromium.appdata.xml"
+
+  local toplevel_files=(
+    chrome_100_percent.pak
+    chrome_200_percent.pak
+    resources.pak
+    v8_context_snapshot.bin
+
+    # ANGLE
+    libEGL.so
+    libGLESv2.so
+
+    chromedriver
+  )
+
+  if [[ -z ${_system_libs[icu]+set} ]]; then
+    toplevel_files+=(icudtl.dat)
+  fi
+
+  cp "${toplevel_files[@]/#/out/Release/}" "$pkgdir/usr/lib/chromium/"
+  install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak
+  install -Dm755 -t "$pkgdir/usr/lib/chromium/swiftshader" out/Release/swiftshader/*.so
+
+  for size in 24 48 64 128 256; do
+    install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
+      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+  done
+
+  for size in 16 32; do
+    install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
+      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+  done
+
+  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Deleted: add-missing-algorithm-header-in-crx_install_error.cc.patch
===================================================================
--- add-missing-algorithm-header-in-crx_install_error.cc.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ add-missing-algorithm-header-in-crx_install_error.cc.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,29 +0,0 @@
-From 2b9d6daa0ab5ce45ec5555466d5a5a583a020ea8 Mon Sep 17 00:00:00 2001
-From: Daniel Playfair Cal <daniel.playfair.cal at 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 at google.com>
-Commit-Queue: Ken Rockot <rockot at 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"
- 

Copied: chromium/repos/extra-x86_64/avoid-calling-DeleteForCurrentDocument-from-destructor.patch (from rev 391913, chromium/trunk/avoid-calling-DeleteForCurrentDocument-from-destructor.patch)
===================================================================
--- avoid-calling-DeleteForCurrentDocument-from-destructor.patch	                        (rev 0)
+++ avoid-calling-DeleteForCurrentDocument-from-destructor.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -0,0 +1,71 @@
+From 128869693a2519578896b41765df029d7adc4ae0 Mon Sep 17 00:00:00 2001
+From: Yuzu Saijo <yuzus at 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 at chromium.org>
+Reviewed-by: Alexander Timin <altimin at chromium.org>
+Reviewed-by: Sreeja Kamishetty <sreejakshetty at chromium.org>
+Reviewed-by: Kinuko Yasuda <kinuko at chromium.org>
+Commit-Queue: Yuzu Saijo <yuzus at 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,

Deleted: avoid-double-destruction-of-ServiceWorkerObjectHost.patch
===================================================================
--- avoid-double-destruction-of-ServiceWorkerObjectHost.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ avoid-double-destruction-of-ServiceWorkerObjectHost.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,138 +0,0 @@
-From bd59ce32629ef684624821419c43967b73d2989e Mon Sep 17 00:00:00 2001
-From: Hiroki Nakagawa <nhiroki at 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 at chromium.org>
-Commit-Queue: Hiroki Nakagawa <nhiroki at 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

Deleted: chromium-83-gcc-10.patch
===================================================================
--- chromium-83-gcc-10.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ chromium-83-gcc-10.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,64 +0,0 @@
-From e473f41284ccc8fa4bc4622d087194b18a1ec23a Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09 at 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
-

Copied: chromium/repos/extra-x86_64/chromium-ffmpeg-4.3.patch (from rev 391913, chromium/trunk/chromium-ffmpeg-4.3.patch)
===================================================================
--- chromium-ffmpeg-4.3.patch	                        (rev 0)
+++ chromium-ffmpeg-4.3.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -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)

Deleted: chromium-fix-vaapi-on-intel.patch
===================================================================
--- chromium-fix-vaapi-on-intel.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ chromium-fix-vaapi-on-intel.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,40 +0,0 @@
-From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001
-From: Akarshan Biswas <akarshanbiswas at fedoraproject.org>
-Date: Sat, 26 Oct 2019 10:06:30 +0530
-Subject: [PATCH] Move offending function to chromeos only
-
---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
-+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
-@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai
-                             VAVDA_DECODER_FAILURES_MAX + 1);
- }
- 
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
- // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
- // Lake) Cpu platform id's are referenced from the following file in kernel
- // source arch/x86/include/asm/intel-family.h
-@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() {
-       cpuid.model() >= kGeminiLakeModelId;
-   return is_geminilake_or_later;
- }
-+#endif 
- 
- }  // namespace
- 
-@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
-   if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
-     return BufferAllocationMode::kNormal;
- 
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+  // Move this to chromeOs only as it is causing problem in some intel linux drivers
-   // On Gemini Lake, Kaby Lake and later we can pass to libva the client's
-   // PictureBuffers to decode onto, which skips the use of the Vpp unit and its
-   // associated format reconciliation copy, avoiding all internal buffer
-@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
-       num_extra_pics_ = 3;
-     return BufferAllocationMode::kNone;
-   }
-+#endif 
- 
-   // If we're here, we have to use the Vpp unit and allocate buffers for
-   // |decoder_|; usually we'd have to allocate the |decoder_|s

Copied: chromium/repos/extra-x86_64/chromium-fix-vaapi-on-intel.patch (from rev 391913, chromium/trunk/chromium-fix-vaapi-on-intel.patch)
===================================================================
--- chromium-fix-vaapi-on-intel.patch	                        (rev 0)
+++ chromium-fix-vaapi-on-intel.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -0,0 +1,40 @@
+From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshanbiswas at fedoraproject.org>
+Date: Sat, 26 Oct 2019 10:06:30 +0530
+Subject: [PATCH] Move offending function to chromeos only
+
+--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai
+                             VAVDA_DECODER_FAILURES_MAX + 1);
+ }
+ 
++#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
+ // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
+ // Lake) Cpu platform id's are referenced from the following file in kernel
+ // source arch/x86/include/asm/intel-family.h
+@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() {
+       cpuid.model() >= kGeminiLakeModelId;
+   return is_geminilake_or_later;
+ }
++#endif 
+ 
+ }  // namespace
+ 
+@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
+   if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
+     return BufferAllocationMode::kNormal;
+ 
++#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
++  // Move this to chromeOs only as it is causing problem in some intel linux drivers
+   // On Gemini Lake, Kaby Lake and later we can pass to libva the client's
+   // PictureBuffers to decode onto, which skips the use of the Vpp unit and its
+   // associated format reconciliation copy, avoiding all internal buffer
+@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
+       num_extra_pics_ = 3;
+     return BufferAllocationMode::kNone;
+   }
++#endif 
+ 
+   // If we're here, we have to use the Vpp unit and allocate buffers for
+   // |decoder_|; usually we'd have to allocate the |decoder_|s

Deleted: chromium-skia-harmony.patch
===================================================================
--- chromium-skia-harmony.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ chromium-skia-harmony.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,14 +0,0 @@
---- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig	2019-07-19 11:08:34.770972665 +0000
-+++ third_party/skia/src/ports/SkFontHost_FreeType.cpp	2019-07-19 11:08:44.274442065 +0000
-@@ -128,9 +128,9 @@ public:
-         : fGetVarDesignCoordinates(nullptr)
-         , fGetVarAxisFlags(nullptr)
-         , fLibrary(nullptr)
--        , fIsLCDSupported(false)
-+        , fIsLCDSupported(true)
-         , fLightHintingIsYOnly(false)
--        , fLCDExtra(0)
-+        , fLCDExtra(2)
-     {
-         if (FT_New_Library(&gFTMemory, &fLibrary)) {
-             return;

Copied: chromium/repos/extra-x86_64/chromium-skia-harmony.patch (from rev 391913, chromium/trunk/chromium-skia-harmony.patch)
===================================================================
--- chromium-skia-harmony.patch	                        (rev 0)
+++ chromium-skia-harmony.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -0,0 +1,14 @@
+--- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig	2019-07-19 11:08:34.770972665 +0000
++++ third_party/skia/src/ports/SkFontHost_FreeType.cpp	2019-07-19 11:08:44.274442065 +0000
+@@ -128,9 +128,9 @@ public:
+         : fGetVarDesignCoordinates(nullptr)
+         , fGetVarAxisFlags(nullptr)
+         , fLibrary(nullptr)
+-        , fIsLCDSupported(false)
++        , fIsLCDSupported(true)
+         , fLightHintingIsYOnly(false)
+-        , fLCDExtra(0)
++        , fLCDExtra(2)
+     {
+         if (FT_New_Library(&gFTMemory, &fLibrary)) {
+             return;

Deleted: chromium.install
===================================================================
--- chromium.install	2020-07-14 18:21:02 UTC (rev 391913)
+++ chromium.install	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,16 +0,0 @@
-post_upgrade() {
-  if (($(vercmp $2 42.0.2311.90-1) < 0)); then
-    echo ':: This Chromium package no longer supports custom flags passed via the'
-    echo '   /etc/chromium/default file (or any other files under /etc/chromium/).'
-    echo
-    echo '   The new /usr/bin/chromium launcher script will automatically detect'
-    echo '   Pepper Flash (if installed) and pass the correct flags to Chromium.'
-    echo
-    echo '   If you need to pass extra command-line arguments to Chromium, you'
-    echo '   can put them in a "chromium-flags.conf" file under $HOME/.config/'
-    echo '   (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
-    echo '   quoting rules apply but no further parsing is performed.'
-  fi
-}
-
-# vim:set ts=2 sw=2 et:

Copied: chromium/repos/extra-x86_64/chromium.install (from rev 391913, chromium/trunk/chromium.install)
===================================================================
--- chromium.install	                        (rev 0)
+++ chromium.install	2020-07-14 18:21:12 UTC (rev 391914)
@@ -0,0 +1,16 @@
+post_upgrade() {
+  if (($(vercmp $2 42.0.2311.90-1) < 0)); then
+    echo ':: This Chromium package no longer supports custom flags passed via the'
+    echo '   /etc/chromium/default file (or any other files under /etc/chromium/).'
+    echo
+    echo '   The new /usr/bin/chromium launcher script will automatically detect'
+    echo '   Pepper Flash (if installed) and pass the correct flags to Chromium.'
+    echo
+    echo '   If you need to pass extra command-line arguments to Chromium, you'
+    echo '   can put them in a "chromium-flags.conf" file under $HOME/.config/'
+    echo '   (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
+    echo '   quoting rules apply but no further parsing is performed.'
+  fi
+}
+
+# vim:set ts=2 sw=2 et:

Deleted: clean-up-a-call-to-set_utf8.patch
===================================================================
--- clean-up-a-call-to-set_utf8.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ clean-up-a-call-to-set_utf8.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,34 +0,0 @@
-From ede390a0b18e4565abf8ac1e1ff717e1d43fc320 Mon Sep 17 00:00:00 2001
-From: Paul Wankadia <junyer at 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 at google.com
-
-Change-Id: I62c48cd575a55b519d5264ed857f927c163068b2
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2145261
-Reviewed-by: Parastoo Geranmayeh <parastoog at google.com>
-Commit-Queue: Paul Wankadia <junyer at 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;

Deleted: force-mp3-files-to-have-a-start-time-of-zero.patch
===================================================================
--- force-mp3-files-to-have-a-start-time-of-zero.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ force-mp3-files-to-have-a-start-time-of-zero.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,38 +0,0 @@
-From 192fc3899f76e9487d77895f31df8d2d13bf9619 Mon Sep 17 00:00:00 2001
-From: Dale Curtis <dalecurtis at chromium.org>
-Date: Fri, 26 Jun 2020 01:10:55 +0000
-Subject: [PATCH] Force mp3 files to have a start time of zero.
-
-This will allow us to remove our custom patch which breaks upstream
-ffmpeg functionality for unknown reasons.
-
-R=sandersd
-
-Fixed: 1062037
-Change-Id: I253011843dee4dd6a8c958b14990ad836a9f1dca
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268221
-Auto-Submit: Dale Curtis <dalecurtis at chromium.org>
-Reviewed-by: Dan Sanders <sandersd at chromium.org>
-Commit-Queue: Dale Curtis <dalecurtis at chromium.org>
-Cr-Commit-Position: refs/heads/master@{#782792}
----
- media/filters/ffmpeg_demuxer.cc | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
-index 01266e1a072..a7ed542b5fc 100644
---- a/media/filters/ffmpeg_demuxer.cc
-+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -1522,6 +1522,12 @@ void FFmpegDemuxer::OnFindStreamInfoDone(int result) {
-   if (glue_->container() == container_names::CONTAINER_AVI)
-     format_context->flags |= AVFMT_FLAG_GENPTS;
- 
-+  // FFmpeg will incorrectly adjust the start time of MP3 files into the future
-+  // based on discard samples. We were unable to fix this upstream without
-+  // breaking ffmpeg functionality. https://crbug.com/1062037
-+  if (glue_->container() == container_names::CONTAINER_MP3)
-+    start_time_ = base::TimeDelta();
-+
-   // For testing purposes, don't overwrite the timeline offset if set already.
-   if (timeline_offset_.is_null()) {
-     timeline_offset_ =

Copied: chromium/repos/extra-x86_64/force-mp3-files-to-have-a-start-time-of-zero.patch (from rev 391913, chromium/trunk/force-mp3-files-to-have-a-start-time-of-zero.patch)
===================================================================
--- force-mp3-files-to-have-a-start-time-of-zero.patch	                        (rev 0)
+++ force-mp3-files-to-have-a-start-time-of-zero.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -0,0 +1,38 @@
+From 192fc3899f76e9487d77895f31df8d2d13bf9619 Mon Sep 17 00:00:00 2001
+From: Dale Curtis <dalecurtis at chromium.org>
+Date: Fri, 26 Jun 2020 01:10:55 +0000
+Subject: [PATCH] Force mp3 files to have a start time of zero.
+
+This will allow us to remove our custom patch which breaks upstream
+ffmpeg functionality for unknown reasons.
+
+R=sandersd
+
+Fixed: 1062037
+Change-Id: I253011843dee4dd6a8c958b14990ad836a9f1dca
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268221
+Auto-Submit: Dale Curtis <dalecurtis at chromium.org>
+Reviewed-by: Dan Sanders <sandersd at chromium.org>
+Commit-Queue: Dale Curtis <dalecurtis at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#782792}
+---
+ media/filters/ffmpeg_demuxer.cc | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
+index 01266e1a072..a7ed542b5fc 100644
+--- a/media/filters/ffmpeg_demuxer.cc
++++ b/media/filters/ffmpeg_demuxer.cc
+@@ -1522,6 +1522,12 @@ void FFmpegDemuxer::OnFindStreamInfoDone(int result) {
+   if (glue_->container() == container_names::CONTAINER_AVI)
+     format_context->flags |= AVFMT_FLAG_GENPTS;
+ 
++  // FFmpeg will incorrectly adjust the start time of MP3 files into the future
++  // based on discard samples. We were unable to fix this upstream without
++  // breaking ffmpeg functionality. https://crbug.com/1062037
++  if (glue_->container() == container_names::CONTAINER_MP3)
++    start_time_ = base::TimeDelta();
++
+   // For testing purposes, don't overwrite the timeline offset if set already.
+   if (timeline_offset_.is_null()) {
+     timeline_offset_ =

Deleted: include-memory-header-to-get-the-definition-of-std-u.patch
===================================================================
--- include-memory-header-to-get-the-definition-of-std-u.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ include-memory-header-to-get-the-definition-of-std-u.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,32 +0,0 @@
-From 40d994e4aa2e4d5077c1810e4623549618a19c05 Mon Sep 17 00:00:00 2001
-From: Piotr Tworek <ptworek at 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 at chromium.org>
-Commit-Queue: Jochen Eisinger <jochen at 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"

Deleted: iwyu-std-numeric_limits-is-defined-in-limits.patch
===================================================================
--- iwyu-std-numeric_limits-is-defined-in-limits.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ iwyu-std-numeric_limits-is-defined-in-limits.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,29 +0,0 @@
-From 74f76a6be385ef056b0be2362c32c728141cca16 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09 at 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 at chromium.org>
-Commit-Queue: François Doray <fdoray at 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"
- 

Deleted: libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
===================================================================
--- libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,62 +0,0 @@
-From aeef68888d4c00b69facead2b934095a8cd17329 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09 at 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 at chromium.org>
-Commit-Queue: David Tseng <dtseng at 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.

Deleted: make-some-of-blink-custom-iterators-STL-compatible.patch
===================================================================
--- make-some-of-blink-custom-iterators-STL-compatible.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ make-some-of-blink-custom-iterators-STL-compatible.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,95 +0,0 @@
-From d3cabbc7321d349a9bffda482df5afc0d4df1ac2 Mon Sep 17 00:00:00 2001
-From: Piotr Tworek <ptworek at 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 at chromium.org>
-Commit-Queue: Piotr Tworek <ptworek at 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)

Copied: chromium/repos/extra-x86_64/remove-NotifyError-calls-and-just-send-a-normal-message.patch (from rev 391913, chromium/trunk/remove-NotifyError-calls-and-just-send-a-normal-message.patch)
===================================================================
--- remove-NotifyError-calls-and-just-send-a-normal-message.patch	                        (rev 0)
+++ remove-NotifyError-calls-and-just-send-a-normal-message.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -0,0 +1,42 @@
+From 3bfec15358b788a2b7e1beefaa177ba84a6da328 Mon Sep 17 00:00:00 2001
+From: Ted Meyer <tmathmeyer at 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 at chromium.org>
+Commit-Queue: Dale Curtis <dalecurtis at chromium.org>
+Reviewed-by: Dale Curtis <dalecurtis at 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();

Deleted: v8-remove-soon-to-be-removed-getAllFieldPositions.patch
===================================================================
--- v8-remove-soon-to-be-removed-getAllFieldPositions.patch	2020-07-14 18:21:02 UTC (rev 391913)
+++ v8-remove-soon-to-be-removed-getAllFieldPositions.patch	2020-07-14 18:21:12 UTC (rev 391914)
@@ -1,172 +0,0 @@
-From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001
-From: Frank Tang <ftang at 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 at chromium.org>
-Commit-Queue: Frank Tang <ftang at 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;



More information about the arch-commits mailing list