commit 13ea22cdb3bf37484836e362fca4d796a8287be6
Author: Akarshan Biswas <akarshanbiswas(a)fedoraproject.org>
Date: Thu Oct 31 13:25:17 2019 +0530
IMPORT: rename package; add back Fedora build flags
.gitignore | 1 +
Add-missing-header-to-fix-webrtc-build.patch | 16 +
LICENSE | 29 +
brand.patch | 25 +
cert-trans-google.patch | 13 +
chromium-73.0.3683.75-pipewire-cstring-fix.patch | 11 +
chromium-base-location.patch | 13 +
chromium-freeworld.appdata.xml | 38 +
chromium-freeworld.sh | 63 +
chromium-freeworld.spec | 738 +++++++++++
chromium-gcc9-dns_util-ambiguous-ctor.patch | 20 +
chromium-gcc9-r688676.patch | 1471 ++++++++++++++++++++++
chromium-gcc9-r694853.patch | 51 +
chromium-gcc9-r696834.patch | 89 ++
chromium-gcc9-r706467.patch | 48 +
chromium-system-icu.patch | 14 +
chromium-unbundle-zlib.patch | 13 +
chromium-v8-gcc9.patch | 32 +
enable-vaapi.patch | 115 ++
fixvaapionintel.patch | 49 +
py2-bootstrap.patch | 33 +
sources | 1 +
widevine.patch | 22 +
23 files changed, 2905 insertions(+)
---
diff --git a/.gitignore b/.gitignore
index e69de29..e912076 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+chromium-*.tar.xz
diff --git a/Add-missing-header-to-fix-webrtc-build.patch
b/Add-missing-header-to-fix-webrtc-build.patch
new file mode 100644
index 0000000..b500700
--- /dev/null
+++ b/Add-missing-header-to-fix-webrtc-build.patch
@@ -0,0 +1,16 @@
+diff -up
chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP
chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h
+---
chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP 2019-06-06
10:04:57.050403639 -0400
++++ chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h 2019-06-06
10:06:03.975121688 -0400
+@@ -16,6 +16,11 @@
+ #define WEBRTC_USE_EPOLL 1
+ #endif
+
++// for SIOCGSTAMP in Linux 5.2
++#if defined(WEBRTC_LINUX)
++#include <linux/sockios.h>
++#endif
++
+ #include <memory>
+ #include <set>
+ #include <vector>
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..1c5664f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,29 @@
+BSD 3-Clause License
+
+Copyright (c) 2018, Akarshan Biswas
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/brand.patch b/brand.patch
new file mode 100644
index 0000000..0a3e2f9
--- /dev/null
+++ b/brand.patch
@@ -0,0 +1,25 @@
+From bfff7b95bb4d9ff20a3a67191dfffe25334f9dca Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
+Date: Wed, 7 Nov 2018 16:29:01 +0530
+Subject: [PATCH] Let's brand chromium-vaapi
+
+---
+ components/version_ui_strings.grdp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/components/version_ui_strings.grdp b/components/version_ui_strings.grdp
+index 6278a8a38..1611b4c80 100644
+--- a/components/version_ui_strings.grdp
++++ b/components/version_ui_strings.grdp
+@@ -7,7 +7,7 @@
+ Official Build
+ </message>
+ <message name="IDS_VERSION_UI_UNOFFICIAL" desc="unofficial build on
the about:version page">
+- Developer Build
++ RPM Fusion Build
+ </message>
+ <message name="IDS_VERSION_UI_32BIT" desc="32-bit on the
chrome://version page">
+ (32-bit)
+--
+2.19.1
+
diff --git a/cert-trans-google.patch b/cert-trans-google.patch
new file mode 100644
index 0000000..60a7b8c
--- /dev/null
+++ b/cert-trans-google.patch
@@ -0,0 +1,13 @@
+---
chromium-76.0.3809.87/components/certificate_transparency/chrome_ct_policy_enforcer.cc.orig 2019-07-30
04:35:59.000000000 +0800
++++
chromium-76.0.3809.87/components/certificate_transparency/chrome_ct_policy_enforcer.cc 2019-08-09
11:55:35.123756411 +0800
+@@ -159,8 +159,8 @@
+
+ bool ChromeCTPolicyEnforcer::IsLogOperatedByGoogle(
+ base::StringPiece log_id) const {
+- return std::binary_search(std::begin(operated_by_google_logs_),
+- std::end(operated_by_google_logs_), log_id);
++ return std::find(operated_by_google_logs_.begin(),
++ operated_by_google_logs_.end(), log_id) !=
operated_by_google_logs_.end();
+ }
+
+ bool ChromeCTPolicyEnforcer::IsLogDataTimely() const {
diff --git a/chromium-73.0.3683.75-pipewire-cstring-fix.patch
b/chromium-73.0.3683.75-pipewire-cstring-fix.patch
new file mode 100644
index 0000000..ce8b70b
--- /dev/null
+++ b/chromium-73.0.3683.75-pipewire-cstring-fix.patch
@@ -0,0 +1,11 @@
+diff -up
chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix
chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
+---
chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix 2019-03-13
13:04:25.290842447 -0400
++++
chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2019-03-13
13:05:13.234897441 -0400
+@@ -18,6 +18,7 @@
+ #include <spa/param/video/raw-utils.h>
+ #include <spa/support/type-map.h>
+
++#include <cstring>
+ #include <memory>
+ #include <utility>
+
diff --git a/chromium-base-location.patch b/chromium-base-location.patch
new file mode 100644
index 0000000..a57b5a4
--- /dev/null
+++ b/chromium-base-location.patch
@@ -0,0 +1,13 @@
+diff --git a/base/location.h b/base/location.h
+index c07e747..924db1c 100644
+--- a/base/location.h
++++ b/base/location.h
+@@ -18,7 +18,7 @@
+
+ namespace base {
+
+-#if defined(__has_builtin)
++#if defined(__clang__)
+ // Clang allows detection of these builtins.
+ #define SUPPORTS_LOCATION_BUILTINS \
+ (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) &&
\
diff --git a/chromium-freeworld.appdata.xml b/chromium-freeworld.appdata.xml
new file mode 100644
index 0000000..b2543b6
--- /dev/null
+++ b/chromium-freeworld.appdata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Referenced from
https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#...
-->
+<component type="desktop">
+ <id>chromium-freeworld.desktop</id>
+ <update_contact>chromium-freeworld-owner(a)rpmfusion.org</update_contact>
+ <metadata_license>CC0-1.0</metadata_license>
+ <project_license>BSD-3-Clause and LGPL-2.1+ and Apache-2.0 and IJG and MIT and
GPL-2.0+ and ISC and OpenSSL and (MPL-1.1 or GPL-2.0 or LGPL-2.0)</project_license>
+ <name>Chromium Freeworld</name>
+ <summary>Web Browser</summary>
+ <description>
+ <p>
+ Chromium is an open-source browser project that aims to build a safer, faster,
+ and more stable way to experience the web.
+ </p>
+ <p>
+ We invite you to join our effort to build a powerful platform for developing a
+ new generation of web applications.
+ </p>
+ <p>
+ Chromium supports Vorbis, Theora, WebM and HTML5 audio and video standards, but
+ does not include the non-free AAC, H.264, MP3 or Adobe Flash code that is found
+ in Chrome.
+ </p>
+ <p>
+ This package comes with all freeworld codecs and vaapi acceleration enabled!
+ </p>
+ </description>
+ <url
type="homepage">https://www.chromium.org/Home</url>
+ <screenshots>
+ <screenshot type="default">
+ <
image>https://www.gstatic.com/chrome/appstream/chrome-2.png</image>
+ <caption/>
+ </screenshot>
+ </screenshots>
+ <developer_name>Google</developer_name>
+ <url type="bugtracker">https://bugzilla.rpmfusion.org</url>
+ <url
type="help">https://chromium.googlesource.com/chromium/src/+...
+</component>
diff --git a/chromium-freeworld.sh b/chromium-freeworld.sh
new file mode 100644
index 0000000..68efad3
--- /dev/null
+++ b/chromium-freeworld.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+#
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file is obtained from
https://src.fedoraproject.org/rpms/chromium/
+# and modified by Akarshan Biswas <akarshanbiswas(a)fedoraproject.org>. All
modifications are also
+# licensed under 3-clause BSD license.
+CHROMIUM_DISTRO_FLAGS=()
+
+# Let the wrapped binary know that it has been run through the wrapper.
+export CHROME_WRAPPER="$(readlink -f "$0")"
+
+HERE="`dirname "$CHROME_WRAPPER"`"
+export CHROME_DESKTOP="chromium-freeworld.desktop"
+# We include some xdg utilities next to the binary, and we want to prefer them
+# over the system versions when we know the system versions are very old. We
+# detect whether the system xdg utilities are sufficiently new to be likely to
+# work for us by looking for xdg-settings. If we find it, we leave $PATH alone,
+# so that the system xdg utilities (including any distro patches) will be used.
+if ! which xdg-settings &> /dev/null; then
+ # Old xdg utilities. Prepend $HERE to $PATH to use ours instead.
+ export PATH="$HERE:$PATH"
+else
+ # Use system xdg utilities. But first create mimeapps.list if it doesn't
+ # exist; some systems have bugs in xdg-mime that make it fail without it.
+ xdg_app_dir="${XDG_DATA_HOME:-$HOME/.local/share/applications}"
+ mkdir -p "$xdg_app_dir"
+ [ -f "$xdg_app_dir/mimeapps.list" ] || touch
"$xdg_app_dir/mimeapps.list"
+fi
+
+# Always use our versions of ffmpeg libs.
+# This also makes RPMs find the compatibly-named library symlinks.
+if [[ -n "$LD_LIBRARY_PATH" ]]; then
+ LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
+else
+ LD_LIBRARY_PATH="$HERE:$HERE/lib"
+fi
+export LD_LIBRARY_PATH
+
+#On wayland pass the correct GDK_BACKEND
+# In future this will be used for running chromium natively on Wayland
+if [ $XDG_SESSION_TYPE == "wayland" ]; then
+export GDK_BACKEND=x11
+fi
+
+
+# Sanitize std{in,out,err} because they'll be shared with untrusted child
+# processes (
http://crbug.com/376567).
+exec < /dev/null
+exec > >(exec cat)
+exec 2> >(exec cat >&2)
+
+
+CHROMIUM_DISTRO_FLAGS+=" --enable-plugins \
+ --enable-extensions \
+ --enable-user-scripts \
+ --enable-features=WebRTCPipeWireCapturer \
+ --enable-printing \
+ --enable-sync"
+
+exec -a "$0" "@@CHROMIUMDIR@@/$(basename "$0" | sed
's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
new file mode 100644
index 0000000..ca3458c
--- /dev/null
+++ b/chromium-freeworld.spec
@@ -0,0 +1,738 @@
+#Global Libraries
+#Do not turn it on in Fedora copr!
+%global freeworld 1
+#This can be any folder on out
+%global target out/Release
+### Google API keys (see
http://www.chromium.org/developers/how-tos/api-keys)
+### Note: These are for Fedora use ONLY.
+### For your own distribution, please get your own set of keys.
+###
http://lists.debian.org/debian-legal/2013/11/msg00006.html
+%global api_key AIzaSyDUIXvzVrt5OkVsgXhQ6NFfvWlA44by-aw
+%global default_client_id
449907151817.apps.googleusercontent.com
+%global default_client_secret miEreAep8nuvTdvLums6qyLK
+###############################Exclude Private chromium libs###########################
+%global __requires_exclude %{chromiumdir}/.*\\.so
+%global __provides_exclude_from %{chromiumdir}/.*\\.so
+#######################################CONFIGS###########################################
+# Fedora's Python 2 stack is being removed, we use the bundled Python libraries
+# This can be revisited once we upgrade to Python 3
+%global bundlepylibs 1
+%if 0%{bundlepylibs}
+%bcond_with system_ply
+%else
+%bcond_without system_ply
+%endif
+# This package depends on automagic byte compilation
+#
https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
+%global _python_bytecompile_extra 1
+#Require harfbuzz >= 2.4.0 for hb_subset_input_set_retain_gids
+%if 0%{?fedora} >= 31
+%bcond_without system_harfbuzz
+%else
+%bcond_with system_harfbuzz
+%endif
+# Require libxml2 > 2.9.4 for XML_PARSE_NOXXE
+%bcond_without system_libxml2
+
+
+# Allow testing whether icu can be unbundled
+# A patch fix building so enabled by default for Fedora 30
+# Need icu version >= 64
+%bcond_with system_libicu
+%if 0%{?fedora} >= 30
+# Allow testing whether libvpx can be unbundled
+%bcond_with system_libvpx
+# Allow testing whether ffmpeg can be unbundled
+%bcond_with system_ffmpeg
+#Allow minizip to be unbundled
+#mini-compat is going to be removed from fedora 30!
+%bcond_without system_minizip
+%else
+%bcond_with system_libvpx
+%bcond_with system_ffmpeg
+#Allow minizip to be unbundled
+#mini-compat is going to be removed from fedora 30!
+%bcond_with system_minizip
+%endif
+
+# Need re2 ver. 2016.07.21 for re2::LazyRE2
+%bcond_with system_re2
+
+#Turn on verbose mode
+%global debug_logs 0
+#Allow jumbo builds
+# Enabled by default
+%global jumbo 1
+#------------------------------------------------------
+#Build debug packages for debugging
+%global debug_pkg 1
+# Enable building with ozone support
+%global ozone 0
+##############################Package Definitions######################################
+Name: chromium-freeworld
+Version: 78.0.3904.70
+Release: 1%{?dist}
+Summary: Chromium-freeworld is an open-source web browser, powered by WebKit (Blink).
It comes with all freeworld codecs and video acceleration enabled.
+License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL
and (MPLv1.1 or GPLv2 or LGPLv2)
+URL:
https://www.chromium.org/Home
+%if %{freeworld}
+Source0:
https://commondatastorage.googleapis.com/chromium-browser-official/chromi...
+%else
+# Unfortunately, Fedora & Copr forbids uploading sources with patent-encumbered
+# ffmpeg code even if they are never compiled and linked to target binaries,
+# so we must repackage upstream tarballs to satisfy this requirement. However,
+# we cannot simply delete all code of ffmpeg because this will disable support
+# for some commonly-used free codecs such as Ogg Theora. Instead, helper
+# scripts included in official Fedora packages are copied, modified, and used
+# to automate the repackaging work.
+# Get those helper scripts from
https://src.fedoraproject.org/rpms/chromium
+# If you don't use Fedora services, Just set the value of freeworld in this spec
file
+# to 1 to use the upstreanm packaged source.
+# The repackaged source tarball used here is produced by:
+# ./chromium-latest.py --stable --ffmpegclean --ffmpegarm --deleteunrar
+Source0: chromium-%{version}-clean.tar.xz
+%endif
+# The following two source files are copied and modified from the chromium source
+Source10: %{name}.sh
+#Add our own appdata file.
+Source11: %{name}.appdata.xml
+#Personal stuff
+Source15: LICENSE
+######################## Installation Folder
#################################################
+#Our installation folder
+%global chromiumdir %{_libdir}/%{name}
+########################################################################################
+#Compiler settings
+# Make sure we don't encounter any bug
+BuildRequires: gcc-c++
+# Basic tools and libraries needed for building
+BuildRequires: ninja-build, nodejs, bison, gperf, hwdata
+BuildRequires: libgcc, glibc, libatomic
+BuildRequires: libcap-devel, cups-devel, alsa-lib-devel
+BuildRequires: mesa-libGL-devel, mesa-libEGL-devel
+%if %{with system_minizip}
+BuildRequires: minizip-compat-devel
+%endif
+# Pipewire need this.
+%if 0%{?fedora} >= 29
+BuildRequires: pkgconfig(libpipewire-0.2)
+%endif
+BuildRequires: pkgconfig(gtk+-2.0), pkgconfig(gtk+-3.0)
+BuildRequires: pkgconfig(libexif), pkgconfig(nss)
+BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
+BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
+BuildRequires: pkgconfig(gnome-keyring-1)
+BuildRequires: pkgconfig(libffi)
+#for vaapi
+BuildRequires: pkgconfig(libva)
+%if %{ozone}
+BuildRequires: pkgconfig(gbm)
+BuildRequires: pkgconfig(wayland-client)
+BuildRequires: pkgconfig(wayland-cursor)
+BuildRequires: pkgconfig(wayland-scanner)
+BuildRequires: pkgconfig(wayland-server)
+%endif
+
+#Python stuffs
+%if 0%{?bundlepylibs}
+
+# Using bundled bits, do nothing.
+#This is needed for remove_bundled_libraries.py
+BuildRequires: /usr/bin/python2
+
+%else
+BuildRequires: python2-rpm-macros
+BuildRequires: python2-beautifulsoup4
+BuildRequires: python2-lxml
+BuildRequires: python2-html5lib
+BuildRequires: python2-markupsafe
+Buildrequires: python2-six
+%if %{with system_ply}
+BuildRequires: python2-ply
+%endif
+%endif
+%if %{with system_re2}
+BuildRequires: re2-devel
+%endif
+# replace_gn_files.py --system-libraries
+BuildRequires: flac-devel
+BuildRequires: freetype-devel
+%if %{with system_harfbuzz}
+BuildRequires: harfbuzz-devel
+%endif
+%if %{with system_libicu}
+BuildRequires: libicu-devel
+%endif
+BuildRequires: libdrm-devel
+BuildRequires: libjpeg-turbo-devel
+BuildRequires: libpng-devel
+# Chromium requires libvpx 1.5.0 and some non-default options
+%if %{with system_libvpx}
+BuildRequires: libvpx-devel
+%endif
+%if %{with system_ffmpeg}
+BuildRequires: ffmpeg-devel
+%endif
+BuildRequires: libwebp-devel
+%if %{with system_libxml2}
+BuildRequires: pkgconfig(libxml-2.0)
+%endif
+BuildRequires: pkgconfig(libxslt)
+BuildRequires: opus-devel
+BuildRequires: snappy-devel
+BuildRequires: yasm
+BuildRequires: pciutils-devel
+BuildRequires: speech-dispatcher-devel
+BuildRequires: pulseaudio-libs-devel
+# install desktop files
+BuildRequires: desktop-file-utils
+# install AppData files
+BuildRequires: libappstream-glib
+# Mojojojo need this >:(
+BuildRequires: java-1.8.0-openjdk
+# Libstdc++ static needed for linker
+BuildRequires: libstdc++-static
+#Runtime Requirements
+Requires: hicolor-icon-theme
+# Make sure chromium-freeworld replaces chromium-vaapi
+Provides: chromium-vaapi = %{version}-%{release}
+Obsoletes: chromium-vaapi < %{version}-%{release}
+#Some recommendations
+Recommends: libva-utils
+%if !%{debug_pkg}
+%global debug_package %{nil}
+%endif
+# This build should be only available to amd64
+ExclusiveArch: x86_64
+# Define Patches here ##
+# Enable video acceleration on chromium for Linux
+Patch1: enable-vaapi.patch
+# Enable support for widevine
+Patch2: widevine.patch
+# Fix vaapi on Intel
+Patch3: fixvaapionintel.patch
+#Fix certificare transperancy error introduced by the current stable version of chromium
+Patch5: cert-trans-google.patch
+# Bootstrap still uses python command
+Patch51: py2-bootstrap.patch
+# Fix building with system icu
+Patch52: chromium-system-icu.patch
+# Let's brand chromium!
+Patch54: brand.patch
+#Stolen from Fedora to fix building with pipewire
+#
https://src.fedoraproject.org/rpms/chromium/blob/master/f/chromium-73.0.3...
+Patch65: chromium-73.0.3683.75-pipewire-cstring-fix.patch
+# Fix header
+Patch68: Add-missing-header-to-fix-webrtc-build.patch
+Patch69: chromium-unbundle-zlib.patch
+Patch70: chromium-base-location.patch
+# GCC patches
+Patch73: chromium-gcc9-r688676.patch
+Patch74: chromium-gcc9-r694853.patch
+Patch75: chromium-gcc9-r696834.patch
+Patch76: chromium-gcc9-r706467.patch
+Patch77: chromium-v8-gcc9.patch
+Patch78: chromium-gcc9-dns_util-ambiguous-ctor.patch
+
+%description
+%{name} is an open-source web browser, powered by WebKit (Blink)
+############################################PREP###########################################################
+%prep
+%autosetup -n chromium-%{version} -p1
+%if !%{with system_libicu}
+%patch52 -p1 -R
+%endif
+%if !%{freeworld}
+%patch54 -p1 -R
+%endif
+
+
+#Let's change the default shebang of python files.
+find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#!
*/usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
+./build/linux/unbundle/remove_bundled_libraries.py --do-remove \
+ base/third_party/cityhash \
+ base/third_party/double_conversion \
+ base/third_party/dynamic_annotations \
+ base/third_party/icu \
+ base/third_party/libevent \
+ base/third_party/nspr \
+ base/third_party/superfasthash \
+ base/third_party/symbolize \
+ base/third_party/valgrind \
+ base/third_party/xdg_mime \
+ base/third_party/xdg_user_dirs \
+ buildtools/third_party/libc++ \
+ buildtools/third_party/libc++abi \
+ chrome/third_party/mozilla_security_manager \
+ courgette/third_party \
+ native_client/src/third_party/dlmalloc \
+ native_client/src/third_party/valgrind \
+ net/third_party/mozilla_security_manager \
+ net/third_party/nss \
+ net/third_party/quic \
+ net/third_party/uri_template \
+ third_party/abseil-cpp \
+ third_party/adobe \
+ third_party/angle \
+ third_party/angle/src/common/third_party/base \
+ third_party/angle/src/common/third_party/smhasher \
+ third_party/angle/src/common/third_party/xxhash \
+ third_party/angle/src/third_party/compiler \
+ third_party/angle/src/third_party/libXNVCtrl \
+ third_party/angle/src/third_party/trace_event \
+ third_party/glslang \
+ third_party/angle/third_party/spirv-headers \
+ third_party/angle/third_party/spirv-tools \
+ third_party/angle/third_party/vulkan-headers \
+ third_party/angle/third_party/vulkan-loader \
+ third_party/angle/third_party/vulkan-tools \
+ third_party/angle/third_party/vulkan-validation-layers \
+ third_party/apple_apsl \
+ third_party/axe-core \
+ third_party/boringssl \
+ third_party/boringssl/src/third_party/fiat \
+ third_party/boringssl/src/third_party/sike \
+ third_party/boringssl/linux-aarch64/crypto/third_party/sike \
+ third_party/boringssl/linux-x86_64/crypto/third_party/sike \
+ third_party/blink \
+ third_party/breakpad \
+ third_party/breakpad/breakpad/src/third_party/curl \
+ third_party/brotli \
+ third_party/cacheinvalidation \
+ third_party/catapult \
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin \
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin \
+ %if 0%{?bundlepylibs}
+ third_party/catapult/third_party/beautifulsoup4 \
+ third_party/catapult/third_party/html5lib-python \
+ %endif
+ third_party/catapult/third_party/polymer \
+ third_party/catapult/third_party/six \
+ third_party/catapult/tracing/third_party/d3 \
+ third_party/catapult/tracing/third_party/gl-matrix \
+ third_party/catapult/tracing/third_party/jpeg-js \
+ third_party/catapult/tracing/third_party/jszip \
+ third_party/catapult/tracing/third_party/mannwhitneyu \
+ third_party/catapult/tracing/third_party/oboe \
+ third_party/catapult/tracing/third_party/pako \
+ third_party/ced \
+ third_party/cld_3 \
+ third_party/closure_compiler \
+ third_party/crashpad \
+ third_party/crashpad/crashpad/third_party/lss \
+ third_party/crashpad/crashpad/third_party/zlib \
+ third_party/crc32c \
+ third_party/cros_system_api \
+ third_party/dawn \
+ third_party/depot_tools \
+ third_party/dav1d \
+ third_party/devscripts \
+ third_party/dom_distiller_js \
+ third_party/emoji-segmenter \
+%if !%{with system_ffmpeg}
+ third_party/ffmpeg \
+%endif
+ third_party/flatbuffers \
+ third_party/flot \
+ third_party/freetype \
+ third_party/google_input_tools \
+ third_party/google_input_tools/third_party/closure_library \
+ third_party/google_input_tools/third_party/closure_library/third_party/closure \
+ third_party/googletest \
+%if !%{with system_harfbuzz}
+ third_party/harfbuzz-ng \
+%endif
+ third_party/hunspell \
+ third_party/iccjpeg \
+%if !%{with system_libicu}
+ third_party/icu \
+%endif
+ third_party/inspector_protocol \
+ third_party/jinja2 \
+ third_party/jsoncpp \
+ third_party/jstemplate \
+ third_party/khronos \
+ third_party/leveldatabase \
+ third_party/libaddressinput \
+ third_party/libaom \
+ third_party/libaom/source/libaom/third_party/vector \
+ third_party/libaom/source/libaom/third_party/x86inc \
+ third_party/libjingle \
+ third_party/libphonenumber \
+ third_party/libsecret \
+ third_party/libsrtp \
+ third_party/libsync \
+ third_party/libudev \
+%if !%{with system_libvpx}
+ third_party/libvpx \
+ third_party/libvpx/source/libvpx/third_party/x86inc \
+%endif
+ third_party/libwebm \
+%if %{with system_libxml2}
+ third_party/libxml/chromium \
+%else
+ third_party/libxml \
+%endif
+ third_party/libXNVCtrl \
+ third_party/libyuv \
+ third_party/lss \
+ third_party/lzma_sdk \
+%if 0%{?bundlepylibs}
+ third_party/markupsafe \
+%endif
+ third_party/mesa \
+ third_party/metrics_proto \
+%if %{ozone}
+ third_party/minigbm \
+%endif
+%if !%{with system_minizip}
+ third_party/minizip/ \
+%endif
+ third_party/modp_b64 \
+ third_party/nasm \
+ third_party/node \
+ third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 \
+ third_party/one_euro_filter \
+ third_party/openh264 \
+ third_party/openscreen \
+ third_party/openscreen/src/third_party/tinycbor/src/src \
+ third_party/ots \
+ third_party/pdfium \
+ third_party/pdfium/third_party/agg23 \
+ third_party/pdfium/third_party/base \
+ third_party/pdfium/third_party/bigint \
+ third_party/pdfium/third_party/freetype \
+ third_party/pdfium/third_party/lcms \
+ third_party/pdfium/third_party/libopenjpeg20 \
+ third_party/pdfium/third_party/libpng16 \
+ third_party/pdfium/third_party/libtiff \
+ third_party/pdfium/third_party/skia_shared \
+ third_party/perfetto \
+ third_party/pffft \
+%if !%{with system_ply}
+ third_party/ply \
+%endif
+ third_party/polymer \
+ third_party/private-join-and-compute \
+ third_party/protobuf \
+ third_party/protobuf/third_party/six \
+ third_party/pyjson5 \
+ third_party/qcms \
+%if !%{with system_re2}
+ third_party/re2 \
+%endif
+ third_party/rnnoise \
+ third_party/s2cellid \
+ third_party/sfntly \
+ third_party/skia \
+ third_party/skia/include/third_party/skcms \
+ third_party/skia/include/third_party/vulkan \
+ third_party/skia/third_party/gif \
+ third_party/skia/third_party/vulkan \
+ third_party/skia/third_party/skcms \
+ third_party/smhasher \
+ third_party/speech-dispatcher \
+ third_party/spirv-headers \
+ third_party/SPIRV-Tools \
+ third_party/sqlite \
+ third_party/swiftshader \
+ third_party/swiftshader/third_party/llvm-7.0 \
+ third_party/swiftshader/third_party/llvm-subzero \
+ third_party/swiftshader/third_party/subzero \
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 \
+ third_party/tcmalloc \
+ third_party/unrar \
+ third_party/usb_ids \
+ third_party/usrsctp \
+ third_party/vulkan \
+%if %{ozone}
+ third_party/wayland \
+%endif
+ third_party/web-animations-js \
+ third_party/webdriver \
+ third_party/webrtc \
+ third_party/webrtc/common_audio/third_party/fft4g \
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor \
+ third_party/webrtc/modules/third_party/fft \
+ third_party/webrtc/modules/third_party/g711 \
+ third_party/webrtc/modules/third_party/g722 \
+ third_party/webrtc/rtc_base/third_party/base64 \
+ third_party/webrtc/rtc_base/third_party/sigslot \
+ third_party/widevine \
+ third_party/woff2 \
+ third_party/xdg-utils \
+ third_party/yasm/run_yasm.py \
+ third_party/zlib/google \
+ tools/grit/third_party/six \
+%if !%{with system_minizip}
+ third_party/zlib \
+%endif
+ tools/gn/base/third_party/icu \
+ url/third_party/mozilla \
+ v8/src/third_party/siphash \
+ v8/src/third_party/valgrind \
+ v8/src/third_party/utf8-decoder \
+ v8/third_party/inspector_protocol \
+ v8/third_party/v8
+
+./build/linux/unbundle/replace_gn_files.py --system-libraries \
+%if %{with system_ffmpeg}
+ ffmpeg \
+%endif
+ flac \
+ freetype \
+ fontconfig \
+%if %{with system_libicu}
+ icu \
+%endif
+ libdrm \
+ libjpeg \
+ libpng \
+%if %{with system_libvpx}
+ libvpx \
+%endif
+ libwebp \
+%if %{with system_libxml2}
+ libxml \
+%endif
+ libxslt \
+ opus \
+%if %{with system_re2}
+ re2 \
+%endif
+ snappy \
+ yasm \
+%if %{with system_minizip}
+ zlib
+%endif
+
+sed -i 's|//third_party/usb_ids|/usr/share/hwdata|g' \
+ services/device/public/cpp/usb/BUILD.gn
+
+%if !0%{?bundlepylibs}
+rmdir third_party/markupsafe
+ln -s %{python2_sitearch}/markupsafe third_party/markupsafe
+%if %{with system_ply}
+rmdir third_party/ply
+ln -s %{python2_sitelib}/ply third_party/ply
+%endif
+%endif
+
+# Fix the path to nodejs binary
+mkdir -p third_party/node/linux/node-linux-x64/bin
+ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
+# Hard code extra version
+FILE=chrome/common/channel_info_posix.cc
+sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"%{name}"/'
$FILE
+#####################################BUILD#############################################
+%build
+#export compilar variables
+export AR=ar NM=nm AS=as
+export CC=gcc CXX=g++
+
+# GN needs gold to bootstrap
+export LDFLAGS="$LDFLAGS -fuse-ld=gold"
+# Set proper cflags, cxxflags
+export CFLAGS="$(echo '%{__global_cflags}' |sed -e
's/-fexceptions//' \
+ -e 's/-Werror=format-security//'
\
+ -e 's/-pipe//' \
+ -e 's/-g/-g1/g' \
+ -e 's/-g1record-g1cc-switches//'
)"
+export CXXFLAGS="$(echo
'%{?__global_cxxflags}%{!?__global_cxxflags:%{__global_cflags}}' | sed -e
's/-fexceptions//' \
+
-e 's/-Werror=format-security//' \
+
-e 's/-pipe//' \
+
-e 's/-g/-g1/g' \
+
-e 's/-g1record-g1cc-switches//' )"
+
+export CXXFLAGS="$CXXFLAGS -fpermissive"
+%if 0%{?fedora} <= 29
+export CXXFLAGS="$CXXFLAGS -fno-ipa-cp-clone"
+%endif
+
+gn_args=(
+ is_debug=false
+ use_vaapi=true
+ is_component_build=false
+ use_sysroot=false
+ use_custom_libcxx=false
+ use_aura=true
+ 'system_libdir="%{_lib}"'
+ use_cups=true
+ use_gnome_keyring=true
+ use_gio=true
+ use_kerberos=true
+ use_libpci=true
+ use_pulseaudio=true
+ link_pulseaudio=true
+ use_system_freetype=true
+ enable_widevine=true
+%if %{with system_harfbuzz}
+ use_system_harfbuzz=true
+%endif
+%if %{freeworld}
+ 'ffmpeg_branding="Chrome"'
+ proprietary_codecs=true
+%else
+ 'ffmpeg_branding="Chromium"'
+ proprietary_codecs=false
+%endif
+ enable_nacl=false
+ enable_hangout_services_extension=false
+ fatal_linker_warnings=false
+ treat_warnings_as_errors=false
+ linux_use_bundled_binutils=false
+ fieldtrial_testing_like_official_build=true
+ 'custom_toolchain="//build/toolchain/linux/unbundle:default"'
+ 'host_toolchain="//build/toolchain/linux/unbundle:default"'
+ 'google_api_key="%{api_key}"'
+ 'google_default_client_id="%{default_client_id}"'
+ 'google_default_client_secret="%{default_client_secret}"'
+)
+
+# Optimizations
+gn_args+=(
+ enable_vr=false
+)
+
+
+gn_args+=(
+ is_clang=false
+)
+
+#Jumbo stuff
+gn_args+=(
+%if %{jumbo}
+ use_jumbo_build=true
+ jumbo_file_merge_limit=8
+ concurrent_links=1
+%endif
+)
+
+#Pipewire
+gn_args+=(
+%if 0%{?fedora} >= 29
+ rtc_use_pipewire=true
+ rtc_link_pipewire=true
+%endif
+)
+
+# Ozone stuff : Whole work is done completely upstream.
+gn_args+=(
+%if %{ozone}
+ use_ozone=true
+ use_system_minigbm=true
+ use_xkbcommon=true
+%endif
+)
+
+
+#symbol
+gn_args+=(
+%if %{debug_pkg}
+ symbol_level=1
+%endif
+)
+tools/gn/bootstrap/bootstrap.py --gn-gen-args "${gn_args[*]}"
+%{target}/gn --script-executable=%{__python2} gen --args="${gn_args[*]}"
%{target}
+%if %{debug_logs}
+ninja %{_smp_mflags} -C %{target} -v chrome chrome_sandbox chromedriver
+%else
+ninja %{_smp_mflags} -C %{target} chrome chrome_sandbox chromedriver
+%endif
+######################################Install####################################
+%install
+mkdir -p %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{chromiumdir}/locales
+mkdir -p %{buildroot}%{chromiumdir}/MEIPreload
+mkdir -p %{buildroot}%{chromiumdir}/swiftshader
+mkdir -p %{buildroot}%{_mandir}/man1
+mkdir -p %{buildroot}%{_metainfodir}
+mkdir -p %{buildroot}%{_datadir}/applications
+mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps
+sed -e "s|@@CHROMIUMDIR@@|%{chromiumdir}|" %{SOURCE10} > %{name}.sh
+install -m 755 %{name}.sh %{buildroot}%{_bindir}/%{name}
+install -m 644 %{SOURCE11} %{buildroot}%{_metainfodir}
+sed -e "s|@@MENUNAME@@|%{name}|g" -e "s|@@PACKAGE@@|%{name}|g" \
+ chrome/app/resources/manpage.1.in > chrome.1
+install -m 644 chrome.1 %{buildroot}%{_mandir}/man1/%{name}.1
+sed -e "s|@@MENUNAME@@|%{name}|g" -e "s|@@PACKAGE@@|%{name}|g" -e
"s|@@USR_BIN_SYMLINK_NAME@@|%{name}|g" \
+ chrome/installer/linux/common/desktop.template > %{name}.desktop
+desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{name}.desktop
+sed -e "s|@@MENUNAME@@|%{name}|g" -e "s|@@PACKAGE@@|%{name}|g" -e
"s|@@INSTALLDIR@@|%{_bindir}|g" \
+chrome/installer/linux/common/default-app.template > %{name}.xml
+install -m 644 %{name}.xml %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+install -m 755 %{target}/chrome %{buildroot}%{chromiumdir}/%{name}
+install -m 4755 %{target}/chrome_sandbox %{buildroot}%{chromiumdir}/chrome-sandbox
+install -m 755 %{target}/chromedriver %{buildroot}%{chromiumdir}/
+%if !%{with system_libicu}
+install -m 644 %{target}/icudtl.dat %{buildroot}%{chromiumdir}/
+%endif
+install -m 644 %{target}/natives_blob.bin %{buildroot}%{chromiumdir}/
+install -m 644 %{target}/v8_context_snapshot.bin %{buildroot}%{chromiumdir}/
+install -m 644 %{target}/*.pak %{buildroot}%{chromiumdir}/
+install -m 644 %{target}/locales/*.pak %{buildroot}%{chromiumdir}/locales/
+install -m 644 %{target}/xdg* %{buildroot}%{chromiumdir}/
+install -m 644 %{target}/MEIPreload/* %{buildroot}%{chromiumdir}/MEIPreload/
+install -m 755 %{target}/swiftshader/*.so %{buildroot}%{chromiumdir}/swiftshader/
+
+# Icons
+for i in 16 32; do
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
+ install -m 644 chrome/app/theme/default_100_percent/chromium/product_logo_$i.png \
+ %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png
+done
+for i in 24 32 48 64 128 256; do
+ if [ ${i} = 32 ]; then ext=xpm; else ext=png; fi
+ if [ ${i} = 32 ]; then dir=linux/; else dir=; fi
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
+ install -m 644 chrome/app/theme/chromium/${dir}product_logo_$i.${ext} \
+ %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.${ext}
+done
+####################################check##################################################
+%check
+appstream-util validate-relax --nonet
"%{buildroot}%{_metainfodir}/%{name}.appdata.xml"
+######################################files################################################
+%files
+%license LICENSE
+%doc AUTHORS
+%{_bindir}/%{name}
+%{_metainfodir}/%{name}.appdata.xml
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/gnome-control-center/default-apps/%{name}.xml
+%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
+%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
+%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
+%{_datadir}/icons/hicolor/32x32/apps/%{name}.xpm
+%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
+%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
+%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
+%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
+%{_mandir}/man1/%{name}.1.gz
+%dir %{chromiumdir}
+%{chromiumdir}/%{name}
+%{chromiumdir}/chrome-sandbox
+%{chromiumdir}/chromedriver
+%if !%{with system_libicu}
+%{chromiumdir}/icudtl.dat
+%endif
+%{chromiumdir}/natives_blob.bin
+%{chromiumdir}/v8_context_snapshot.bin
+%{chromiumdir}/*.pak
+%{chromiumdir}/xdg-mime
+%{chromiumdir}/xdg-settings
+%dir %{chromiumdir}/MEIPreload
+%{chromiumdir}/MEIPreload/manifest.json
+%{chromiumdir}/MEIPreload/preloaded_data.pb
+%dir %{chromiumdir}/locales
+%{chromiumdir}/locales/*.pak
+%dir %{chromiumdir}/swiftshader
+%{chromiumdir}/swiftshader/libEGL.so
+%{chromiumdir}/swiftshader/libGLESv2.so
+%{chromiumdir}/swiftshader/libvk_swiftshader.so
+#########################################changelogs#################################################
+%changelog
+* Thu Oct 31 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> -
78.0.3904.70-1
+- IMPORT: rename package; add back Fedora build flags
+
+
+
diff --git a/chromium-gcc9-dns_util-ambiguous-ctor.patch
b/chromium-gcc9-dns_util-ambiguous-ctor.patch
new file mode 100644
index 0000000..16bb7b7
--- /dev/null
+++ b/chromium-gcc9-dns_util-ambiguous-ctor.patch
@@ -0,0 +1,20 @@
+--- chromium-78.0.3904.70/net/dns/dns_util.cc.orig
++++ chromium-78.0.3904.70/net/dns/dns_util.cc
+@@ -144,7 +144,7 @@
+ // DohProviderId histogram suffix list in
+ // tools/metrics/histograms/histograms.xml.
+ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
+- upgradable_servers({
++ upgradable_servers(std::vector<DohUpgradeEntry>({
+ DohUpgradeEntry(
+ "CleanBrowsingAdult",
+ {"185.228.168.10", "185.228.169.11",
"2a0d:2a00:1::1",
+@@ -215,7 +215,7 @@
+ {"9.9.9.9", "149.112.112.112",
"2620:fe::fe", "2620:fe::9"},
+ {"dns.quad9.net", "dns9.quad9.net"} /* DoT hostname
*/,
+ {"https://dns.quad9.net/dns-query", true /* use_post */}),
+- });
++ }));
+ return *upgradable_servers;
+ }
+
diff --git a/chromium-gcc9-r688676.patch b/chromium-gcc9-r688676.patch
new file mode 100644
index 0000000..408d618
--- /dev/null
+++ b/chromium-gcc9-r688676.patch
@@ -0,0 +1,1471 @@
+From 37a95dd93e553888c00cf9443a5ec738ce658e65 Mon Sep 17 00:00:00 2001
+From: Zinovy Nis <zynis(a)yandex-team.ru>
+Date: Mon, 16 Sep 2019 13:08:17 +0000
+Subject: [PATCH] Revert "[clang-tidy] add noexcept for move ctors and operator= in
blink"
+
+This reverts commit 8f3eea10fe63a64ac67dc21542ebee6b896156a3.
+
+Reason for revert: code bloating
+
+Original change's description:
+> [clang-tidy] add noexcept for move ctors and operator= in blink
+>
+> Bug: 994915
+> Change-Id: I2e1bcf286a2d2fa6613e18b5268098a0d258fb2e
+> Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/1759163
+> Commit-Queue: Zinovy Nis <zynis(a)yandex-team.ru>
+> Reviewed-by: Jeremy Roman <jbroman(a)chromium.org>
+> Reviewed-by: Mike West <mkwst(a)chromium.org>
+> Cr-Commit-Position: refs/heads/master@{#688676}
+
+TBR=jbroman@chromium.org,foolip@chromium.org,mkwst@chromium.org,zynis(a)yandex-team.ru
+
+# Not skipping CQ checks because original CL landed > 1 day ago.
+
+Bug: 994915
+Change-Id: I12b3ecc1186e27809082dc399c6d6864109ce307
+---
+
+diff --git a/third_party/blink/common/indexeddb/indexeddb_key_path.cc
b/third_party/blink/common/indexeddb/indexeddb_key_path.cc
+index ec2b618..552d541 100644
+--- a/third_party/blink/common/indexeddb/indexeddb_key_path.cc
++++ b/third_party/blink/common/indexeddb/indexeddb_key_path.cc
+@@ -18,12 +18,12 @@
+ : type_(mojom::IDBKeyPathType::Array), array_(array) {}
+
+ IndexedDBKeyPath::IndexedDBKeyPath(const IndexedDBKeyPath& other) = default;
+-IndexedDBKeyPath::IndexedDBKeyPath(IndexedDBKeyPath&& other) noexcept =
default;
++IndexedDBKeyPath::IndexedDBKeyPath(IndexedDBKeyPath&& other) = default;
+ IndexedDBKeyPath::~IndexedDBKeyPath() = default;
+ IndexedDBKeyPath& IndexedDBKeyPath::operator=(const IndexedDBKeyPath& other) =
+ default;
+-IndexedDBKeyPath& IndexedDBKeyPath::operator=(
+- IndexedDBKeyPath&& other) noexcept = default;
++IndexedDBKeyPath& IndexedDBKeyPath::operator=(IndexedDBKeyPath&& other) =
++ default;
+
+ const std::vector<base::string16>& IndexedDBKeyPath::array() const {
+ DCHECK(type_ == blink::mojom::IDBKeyPathType::Array);
+diff --git a/third_party/blink/common/indexeddb/indexeddb_metadata.cc
b/third_party/blink/common/indexeddb/indexeddb_metadata.cc
+index 50d5845..9349732 100644
+--- a/third_party/blink/common/indexeddb/indexeddb_metadata.cc
++++ b/third_party/blink/common/indexeddb/indexeddb_metadata.cc
+@@ -23,15 +23,15 @@
+
+ IndexedDBIndexMetadata::IndexedDBIndexMetadata(
+ const IndexedDBIndexMetadata& other) = default;
+-IndexedDBIndexMetadata::IndexedDBIndexMetadata(
+- IndexedDBIndexMetadata&& other) noexcept = default;
++IndexedDBIndexMetadata::IndexedDBIndexMetadata(IndexedDBIndexMetadata&& other)
=
++ default;
+
+ IndexedDBIndexMetadata::~IndexedDBIndexMetadata() = default;
+
+ IndexedDBIndexMetadata& IndexedDBIndexMetadata::operator=(
+ const IndexedDBIndexMetadata& other) = default;
+ IndexedDBIndexMetadata& IndexedDBIndexMetadata::operator=(
+- IndexedDBIndexMetadata&& other) noexcept = default;
++ IndexedDBIndexMetadata&& other) = default;
+
+ bool IndexedDBIndexMetadata::operator==(
+ const IndexedDBIndexMetadata& other) const {
+@@ -56,14 +56,14 @@
+ IndexedDBObjectStoreMetadata::IndexedDBObjectStoreMetadata(
+ const IndexedDBObjectStoreMetadata& other) = default;
+ IndexedDBObjectStoreMetadata::IndexedDBObjectStoreMetadata(
+- IndexedDBObjectStoreMetadata&& other) noexcept = default;
++ IndexedDBObjectStoreMetadata&& other) = default;
+
+ IndexedDBObjectStoreMetadata::~IndexedDBObjectStoreMetadata() = default;
+
+ IndexedDBObjectStoreMetadata& IndexedDBObjectStoreMetadata::operator=(
+ const IndexedDBObjectStoreMetadata& other) = default;
+ IndexedDBObjectStoreMetadata& IndexedDBObjectStoreMetadata::operator=(
+- IndexedDBObjectStoreMetadata&& other) noexcept = default;
++ IndexedDBObjectStoreMetadata&& other) = default;
+
+ bool IndexedDBObjectStoreMetadata::operator==(
+ const IndexedDBObjectStoreMetadata& other) const {
+@@ -87,14 +87,14 @@
+ IndexedDBDatabaseMetadata::IndexedDBDatabaseMetadata(
+ const IndexedDBDatabaseMetadata& other) = default;
+ IndexedDBDatabaseMetadata::IndexedDBDatabaseMetadata(
+- IndexedDBDatabaseMetadata&& other) noexcept = default;
++ IndexedDBDatabaseMetadata&& other) = default;
+
+ IndexedDBDatabaseMetadata::~IndexedDBDatabaseMetadata() = default;
+
+ IndexedDBDatabaseMetadata& IndexedDBDatabaseMetadata::operator=(
+ const IndexedDBDatabaseMetadata& other) = default;
+ IndexedDBDatabaseMetadata& IndexedDBDatabaseMetadata::operator=(
+- IndexedDBDatabaseMetadata&& other) noexcept = default;
++ IndexedDBDatabaseMetadata&& other) = default;
+
+ bool IndexedDBDatabaseMetadata::operator==(
+ const IndexedDBDatabaseMetadata& other) const {
+diff --git a/third_party/blink/common/mediastream/media_devices.cc
b/third_party/blink/common/mediastream/media_devices.cc
+index 93df201..3661b4b 100644
+--- a/third_party/blink/common/mediastream/media_devices.cc
++++ b/third_party/blink/common/mediastream/media_devices.cc
+@@ -13,8 +13,7 @@
+ WebMediaDeviceInfo::WebMediaDeviceInfo(const WebMediaDeviceInfo& other) =
+ default;
+
+-WebMediaDeviceInfo::WebMediaDeviceInfo(WebMediaDeviceInfo&& other) noexcept =
+- default;
++WebMediaDeviceInfo::WebMediaDeviceInfo(WebMediaDeviceInfo&& other) = default;
+
+ WebMediaDeviceInfo::WebMediaDeviceInfo(const std::string& device_id,
+ const std::string& label,
+@@ -36,8 +35,8 @@
+ WebMediaDeviceInfo& WebMediaDeviceInfo::operator=(
+ const WebMediaDeviceInfo& other) = default;
+
+-WebMediaDeviceInfo& WebMediaDeviceInfo::operator=(
+- WebMediaDeviceInfo&& other) noexcept = default;
++WebMediaDeviceInfo& WebMediaDeviceInfo::operator=(WebMediaDeviceInfo&&
other) =
++ default;
+
+ bool operator==(const WebMediaDeviceInfo& first,
+ const WebMediaDeviceInfo& second) {
+diff --git a/third_party/blink/common/messaging/cloneable_message.cc
b/third_party/blink/common/messaging/cloneable_message.cc
+index 2984fd1..5c3ee7e 100644
+--- a/third_party/blink/common/messaging/cloneable_message.cc
++++ b/third_party/blink/common/messaging/cloneable_message.cc
+@@ -12,9 +12,8 @@
+ namespace blink {
+
+ CloneableMessage::CloneableMessage() = default;
+-CloneableMessage::CloneableMessage(CloneableMessage&&) noexcept = default;
+-CloneableMessage& CloneableMessage::operator=(CloneableMessage&&) noexcept
=
+- default;
++CloneableMessage::CloneableMessage(CloneableMessage&&) = default;
++CloneableMessage& CloneableMessage::operator=(CloneableMessage&&) =
default;
+ CloneableMessage::~CloneableMessage() = default;
+
+ CloneableMessage CloneableMessage::ShallowClone() const {
+diff --git a/third_party/blink/common/messaging/transferable_message.cc
b/third_party/blink/common/messaging/transferable_message.cc
+index 07ac9bb..4a69d0a 100644
+--- a/third_party/blink/common/messaging/transferable_message.cc
++++ b/third_party/blink/common/messaging/transferable_message.cc
+@@ -9,10 +9,9 @@
+ namespace blink {
+
+ TransferableMessage::TransferableMessage() = default;
+-TransferableMessage::TransferableMessage(TransferableMessage&&) noexcept =
++TransferableMessage::TransferableMessage(TransferableMessage&&) = default;
++TransferableMessage& TransferableMessage::operator=(TransferableMessage&&)
=
+ default;
+-TransferableMessage& TransferableMessage::operator=(
+- TransferableMessage&&) noexcept = default;
+ TransferableMessage::~TransferableMessage() = default;
+
+ } // namespace blink
+diff --git a/third_party/blink/public/common/indexeddb/indexeddb_key_path.h
b/third_party/blink/public/common/indexeddb/indexeddb_key_path.h
+index 8ebe10c..9f5422c 100644
+--- a/third_party/blink/public/common/indexeddb/indexeddb_key_path.h
++++ b/third_party/blink/public/common/indexeddb/indexeddb_key_path.h
+@@ -22,10 +22,10 @@
+ explicit IndexedDBKeyPath(const base::string16&);
+ explicit IndexedDBKeyPath(const std::vector<base::string16>&);
+ IndexedDBKeyPath(const IndexedDBKeyPath& other);
+- IndexedDBKeyPath(IndexedDBKeyPath&& other) noexcept;
++ IndexedDBKeyPath(IndexedDBKeyPath&& other);
+ ~IndexedDBKeyPath();
+ IndexedDBKeyPath& operator=(const IndexedDBKeyPath& other);
+- IndexedDBKeyPath& operator=(IndexedDBKeyPath&& other) noexcept;
++ IndexedDBKeyPath& operator=(IndexedDBKeyPath&& other);
+
+ bool IsNull() const { return type_ == blink::mojom::IDBKeyPathType::Null; }
+ bool operator==(const IndexedDBKeyPath& other) const;
+diff --git a/third_party/blink/public/common/indexeddb/indexeddb_metadata.h
b/third_party/blink/public/common/indexeddb/indexeddb_metadata.h
+index 15663f6..7bb37c9 100644
+--- a/third_party/blink/public/common/indexeddb/indexeddb_metadata.h
++++ b/third_party/blink/public/common/indexeddb/indexeddb_metadata.h
+@@ -26,10 +26,10 @@
+ bool unique,
+ bool multi_entry);
+ IndexedDBIndexMetadata(const IndexedDBIndexMetadata& other);
+- IndexedDBIndexMetadata(IndexedDBIndexMetadata&& other) noexcept;
++ IndexedDBIndexMetadata(IndexedDBIndexMetadata&& other);
+ ~IndexedDBIndexMetadata();
+ IndexedDBIndexMetadata& operator=(const IndexedDBIndexMetadata& other);
+- IndexedDBIndexMetadata& operator=(IndexedDBIndexMetadata&& other)
noexcept;
++ IndexedDBIndexMetadata& operator=(IndexedDBIndexMetadata&& other);
+ bool operator==(const IndexedDBIndexMetadata& other) const;
+
+ base::string16 name;
+@@ -50,12 +50,11 @@
+ bool auto_increment,
+ int64_t max_index_id);
+ IndexedDBObjectStoreMetadata(const IndexedDBObjectStoreMetadata& other);
+- IndexedDBObjectStoreMetadata(IndexedDBObjectStoreMetadata&& other) noexcept;
++ IndexedDBObjectStoreMetadata(IndexedDBObjectStoreMetadata&& other);
+ ~IndexedDBObjectStoreMetadata();
+ IndexedDBObjectStoreMetadata& operator=(
+ const IndexedDBObjectStoreMetadata& other);
+- IndexedDBObjectStoreMetadata& operator=(
+- IndexedDBObjectStoreMetadata&& other) noexcept;
++ IndexedDBObjectStoreMetadata& operator=(IndexedDBObjectStoreMetadata&&
other);
+ bool operator==(const IndexedDBObjectStoreMetadata& other) const;
+
+ base::string16 name;
+@@ -77,11 +76,10 @@
+ int64_t version,
+ int64_t max_object_store_id);
+ IndexedDBDatabaseMetadata(const IndexedDBDatabaseMetadata& other);
+- IndexedDBDatabaseMetadata(IndexedDBDatabaseMetadata&& other) noexcept;
++ IndexedDBDatabaseMetadata(IndexedDBDatabaseMetadata&& other);
+ ~IndexedDBDatabaseMetadata();
+ IndexedDBDatabaseMetadata& operator=(const IndexedDBDatabaseMetadata& other);
+- IndexedDBDatabaseMetadata& operator=(
+- IndexedDBDatabaseMetadata&& other) noexcept;
++ IndexedDBDatabaseMetadata& operator=(IndexedDBDatabaseMetadata&& other);
+ bool operator==(const IndexedDBDatabaseMetadata& other) const;
+
+ base::string16 name;
+diff --git a/third_party/blink/public/common/mediastream/media_devices.h
b/third_party/blink/public/common/mediastream/media_devices.h
+index 0d63e575..d87affe 100644
+--- a/third_party/blink/public/common/mediastream/media_devices.h
++++ b/third_party/blink/public/common/mediastream/media_devices.h
+@@ -27,7 +27,7 @@
+ struct BLINK_COMMON_EXPORT WebMediaDeviceInfo {
+ WebMediaDeviceInfo();
+ WebMediaDeviceInfo(const WebMediaDeviceInfo& other);
+- WebMediaDeviceInfo(WebMediaDeviceInfo&& other) noexcept;
++ WebMediaDeviceInfo(WebMediaDeviceInfo&& other);
+ WebMediaDeviceInfo(
+ const std::string& device_id,
+ const std::string& label,
+@@ -37,7 +37,7 @@
+ const media::VideoCaptureDeviceDescriptor& descriptor);
+ ~WebMediaDeviceInfo();
+ WebMediaDeviceInfo& operator=(const WebMediaDeviceInfo& other);
+- WebMediaDeviceInfo& operator=(WebMediaDeviceInfo&& other) noexcept;
++ WebMediaDeviceInfo& operator=(WebMediaDeviceInfo&& other);
+
+ std::string device_id;
+ std::string label;
+diff --git a/third_party/blink/public/common/messaging/cloneable_message.h
b/third_party/blink/public/common/messaging/cloneable_message.h
+index de9952d..8dbd910 100644
+--- a/third_party/blink/public/common/messaging/cloneable_message.h
++++ b/third_party/blink/public/common/messaging/cloneable_message.h
+@@ -21,8 +21,8 @@
+ // This type can be serialized as a blink::mojom::CloneableMessage struct.
+ struct BLINK_COMMON_EXPORT CloneableMessage {
+ CloneableMessage();
+- CloneableMessage(CloneableMessage&&) noexcept;
+- CloneableMessage& operator=(CloneableMessage&&) noexcept;
++ CloneableMessage(CloneableMessage&&);
++ CloneableMessage& operator=(CloneableMessage&&);
+ ~CloneableMessage();
+
+ // Returns a shallow clone of this message. |encoded_message| in the clone
+diff --git a/third_party/blink/public/common/messaging/transferable_message.h
b/third_party/blink/public/common/messaging/transferable_message.h
+index 5eef63c..2d87363 100644
+--- a/third_party/blink/public/common/messaging/transferable_message.h
++++ b/third_party/blink/public/common/messaging/transferable_message.h
+@@ -22,8 +22,8 @@
+ // type can be serialized as a blink::mojom::TransferableMessage struct.
+ struct BLINK_COMMON_EXPORT TransferableMessage : public CloneableMessage {
+ TransferableMessage();
+- TransferableMessage(TransferableMessage&&) noexcept;
+- TransferableMessage& operator=(TransferableMessage&&) noexcept;
++ TransferableMessage(TransferableMessage&&);
++ TransferableMessage& operator=(TransferableMessage&&);
+ ~TransferableMessage();
+
+ // Any ports being transferred as part of this message.
+diff --git a/third_party/blink/public/platform/scheduler/web_scoped_virtual_time_pauser.h
b/third_party/blink/public/platform/scheduler/web_scoped_virtual_time_pauser.h
+index 75f3ae16..81edd69 100644
+--- a/third_party/blink/public/platform/scheduler/web_scoped_virtual_time_pauser.h
++++ b/third_party/blink/public/platform/scheduler/web_scoped_virtual_time_pauser.h
+@@ -42,9 +42,8 @@
+ WebScopedVirtualTimePauser();
+ ~WebScopedVirtualTimePauser();
+
+- WebScopedVirtualTimePauser(WebScopedVirtualTimePauser&& other) noexcept;
+- WebScopedVirtualTimePauser& operator=(
+- WebScopedVirtualTimePauser&& other) noexcept;
++ WebScopedVirtualTimePauser(WebScopedVirtualTimePauser&& other);
++ WebScopedVirtualTimePauser& operator=(WebScopedVirtualTimePauser&&
other);
+
+ WebScopedVirtualTimePauser(const WebScopedVirtualTimePauser&) = delete;
+ WebScopedVirtualTimePauser& operator=(const WebScopedVirtualTimePauser&) =
+diff --git a/third_party/blink/public/platform/web_string.h
b/third_party/blink/public/platform/web_string.h
+index e4fda4f..ffd1da0 100644
+--- a/third_party/blink/public/platform/web_string.h
++++ b/third_party/blink/public/platform/web_string.h
+@@ -102,10 +102,10 @@
+ BLINK_PLATFORM_EXPORT WebString(const WebUChar* data, size_t len);
+
+ BLINK_PLATFORM_EXPORT WebString(const WebString&);
+- BLINK_PLATFORM_EXPORT WebString(WebString&&) noexcept;
++ BLINK_PLATFORM_EXPORT WebString(WebString&&);
+
+ BLINK_PLATFORM_EXPORT WebString& operator=(const WebString&);
+- BLINK_PLATFORM_EXPORT WebString& operator=(WebString&&) noexcept;
++ BLINK_PLATFORM_EXPORT WebString& operator=(WebString&&);
+
+ BLINK_PLATFORM_EXPORT void Reset();
+
+diff --git
a/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h
b/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h
+index 99f47f5..8451b86 100644
+--- a/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h
++++ b/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h
+@@ -73,8 +73,8 @@
+
+ VideoCaptureSettings(const VideoCaptureSettings& other);
+ VideoCaptureSettings& operator=(const VideoCaptureSettings& other);
+- VideoCaptureSettings(VideoCaptureSettings&& other) noexcept;
+- VideoCaptureSettings& operator=(VideoCaptureSettings&& other) noexcept;
++ VideoCaptureSettings(VideoCaptureSettings&& other);
++ VideoCaptureSettings& operator=(VideoCaptureSettings&& other);
+ ~VideoCaptureSettings();
+
+ bool HasValue() const { return !failed_constraint_name_; }
+@@ -193,8 +193,8 @@
+ const AudioProcessingProperties& audio_processing_properties);
+ AudioCaptureSettings(const AudioCaptureSettings& other);
+ AudioCaptureSettings& operator=(const AudioCaptureSettings& other);
+- AudioCaptureSettings(AudioCaptureSettings&& other) noexcept;
+- AudioCaptureSettings& operator=(AudioCaptureSettings&& other) noexcept;
++ AudioCaptureSettings(AudioCaptureSettings&& other);
++ AudioCaptureSettings& operator=(AudioCaptureSettings&& other);
+
+ bool HasValue() const { return !failed_constraint_name_; }
+
+diff --git
a/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_sets.h
b/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_sets.h
+index 199bdeb..c89e6e9 100644
+---
a/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_sets.h
++++
b/third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_sets.h
+@@ -159,8 +159,8 @@
+
+ DiscreteSet(const DiscreteSet& other) = default;
+ DiscreteSet& operator=(const DiscreteSet& other) = default;
+- DiscreteSet(DiscreteSet&& other) noexcept = default;
+- DiscreteSet& operator=(DiscreteSet&& other) noexcept = default;
++ DiscreteSet(DiscreteSet&& other) = default;
++ DiscreteSet& operator=(DiscreteSet&& other) = default;
+ ~DiscreteSet() = default;
+
+ bool Contains(const T& value) const {
+diff --git a/third_party/blink/public/web/modules/mediastream/media_stream_video_source.h
b/third_party/blink/public/web/modules/mediastream/media_stream_video_source.h
+index 5e50d1b..ed5967f 100644
+--- a/third_party/blink/public/web/modules/mediastream/media_stream_video_source.h
++++ b/third_party/blink/public/web/modules/mediastream/media_stream_video_source.h
+@@ -285,8 +285,8 @@
+ const VideoTrackFormatCallback& format_callback,
+ std::unique_ptr<VideoTrackAdapterSettings> adapter_settings,
+ const ConstraintsCallback& callback);
+- PendingTrackInfo(PendingTrackInfo&& other) noexcept;
+- PendingTrackInfo& operator=(PendingTrackInfo&& other) noexcept;
++ PendingTrackInfo(PendingTrackInfo&& other);
++ PendingTrackInfo& operator=(PendingTrackInfo&& other);
+ ~PendingTrackInfo();
+
+ MediaStreamVideoTrack* track;
+diff --git a/third_party/blink/renderer/core/animation/interpolation_value.h
b/third_party/blink/renderer/core/animation/interpolation_value.h
+index 75c5d35..17ccf02 100644
+--- a/third_party/blink/renderer/core/animation/interpolation_value.h
++++ b/third_party/blink/renderer/core/animation/interpolation_value.h
+@@ -27,11 +27,11 @@
+
+ InterpolationValue(std::nullptr_t) {}
+
+- InterpolationValue(InterpolationValue&& other) noexcept
++ InterpolationValue(InterpolationValue&& other)
+ : interpolable_value(std::move(other.interpolable_value)),
+ non_interpolable_value(std::move(other.non_interpolable_value)) {}
+
+- void operator=(InterpolationValue&& other) noexcept {
++ void operator=(InterpolationValue&& other) {
+ interpolable_value = std::move(other.interpolable_value);
+ non_interpolable_value = std::move(other.non_interpolable_value);
+ }
+diff --git a/third_party/blink/renderer/core/animation/pairwise_interpolation_value.h
b/third_party/blink/renderer/core/animation/pairwise_interpolation_value.h
+index 39e6c57..87bb431 100644
+--- a/third_party/blink/renderer/core/animation/pairwise_interpolation_value.h
++++ b/third_party/blink/renderer/core/animation/pairwise_interpolation_value.h
+@@ -28,7 +28,7 @@
+
+ PairwiseInterpolationValue(std::nullptr_t) {}
+
+- PairwiseInterpolationValue(PairwiseInterpolationValue&& other) noexcept
++ PairwiseInterpolationValue(PairwiseInterpolationValue&& other)
+ : start_interpolable_value(std::move(other.start_interpolable_value)),
+ end_interpolable_value(std::move(other.end_interpolable_value)),
+ non_interpolable_value(std::move(other.non_interpolable_value)) {}
+diff --git a/third_party/blink/renderer/core/css/css_selector_list.h
b/third_party/blink/renderer/core/css/css_selector_list.h
+index 4d38b09..51f354b 100644
+--- a/third_party/blink/renderer/core/css/css_selector_list.h
++++ b/third_party/blink/renderer/core/css/css_selector_list.h
+@@ -67,8 +67,7 @@
+ public:
+ CSSSelectorList() : selector_array_(nullptr) {}
+
+- CSSSelectorList(CSSSelectorList&& o) noexcept
+- : selector_array_(o.selector_array_) {
++ CSSSelectorList(CSSSelectorList&& o) : selector_array_(o.selector_array_) {
+ o.selector_array_ = nullptr;
+ }
+
+@@ -82,7 +81,7 @@
+ bool HasPseudoWhere() const;
+ bool RequiresExpansion() const;
+
+- CSSSelectorList& operator=(CSSSelectorList&& o) noexcept {
++ CSSSelectorList& operator=(CSSSelectorList&& o) {
+ DCHECK(this != &o);
+ DeleteSelectorsIfNeeded();
+ selector_array_ = o.selector_array_;
+diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context.cc
b/third_party/blink/renderer/core/display_lock/display_lock_context.cc
+index 0e6b6cb..79f281a 100644
+--- a/third_party/blink/renderer/core/display_lock/display_lock_context.cc
++++ b/third_party/blink/renderer/core/display_lock/display_lock_context.cc
+@@ -1033,7 +1033,7 @@
+ : context_(context) {}
+
+ DisplayLockContext::ScopedForcedUpdate::ScopedForcedUpdate(
+- ScopedForcedUpdate&& other) noexcept
++ ScopedForcedUpdate&& other)
+ : context_(other.context_) {
+ other.context_ = nullptr;
+ }
+diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context.h
b/third_party/blink/renderer/core/display_lock/display_lock_context.h
+index 1a38b2af..f890b432 100644
+--- a/third_party/blink/renderer/core/display_lock/display_lock_context.h
++++ b/third_party/blink/renderer/core/display_lock/display_lock_context.h
+@@ -76,7 +76,7 @@
+ DISALLOW_NEW();
+
+ public:
+- ScopedForcedUpdate(ScopedForcedUpdate&&) noexcept;
++ ScopedForcedUpdate(ScopedForcedUpdate&&);
+ ~ScopedForcedUpdate();
+
+ private:
+diff --git a/third_party/blink/renderer/core/editing/layout_selection.cc
b/third_party/blink/renderer/core/editing/layout_selection.cc
+index 00040d2..73cfe0f 100644
+--- a/third_party/blink/renderer/core/editing/layout_selection.cc
++++ b/third_party/blink/renderer/core/editing/layout_selection.cc
+@@ -178,7 +178,7 @@
+ public:
+ OldSelectedNodes()
+ : paint_range(MakeGarbageCollected<SelectionPaintRange>()) {}
+- OldSelectedNodes(OldSelectedNodes&& other) noexcept {
++ OldSelectedNodes(OldSelectedNodes&& other) {
+ paint_range = other.paint_range;
+ selected_map = std::move(other.selected_map);
+ }
+@@ -205,8 +205,7 @@
+ HeapHashSet<Member<const Node>>&& passed_selected_objects)
+ : paint_range(passed_paint_range),
+ selected_objects(std::move(passed_selected_objects)) {}
+- NewPaintRangeAndSelectedNodes(
+- NewPaintRangeAndSelectedNodes&& other) noexcept {
++ NewPaintRangeAndSelectedNodes(NewPaintRangeAndSelectedNodes&& other) {
+ paint_range = other.paint_range;
+ selected_objects = std::move(other.selected_objects);
+ }
+diff --git a/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.cc
b/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.cc
+index f0ac3c4..81f47ab 100644
+--- a/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.cc
++++ b/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.cc
+@@ -24,7 +24,7 @@
+ start_time_(clock_->NowTicks()) {}
+
+ LocalFrameUkmAggregator::ScopedUkmHierarchicalTimer::ScopedUkmHierarchicalTimer(
+- ScopedUkmHierarchicalTimer&& other) noexcept
++ ScopedUkmHierarchicalTimer&& other)
+ : aggregator_(other.aggregator_),
+ metric_index_(other.metric_index_),
+ clock_(other.clock_),
+diff --git a/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.h
b/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.h
+index 44c3f87..dc06091 100644
+--- a/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.h
++++ b/third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.h
+@@ -195,7 +195,7 @@
+ STACK_ALLOCATED();
+
+ public:
+- ScopedUkmHierarchicalTimer(ScopedUkmHierarchicalTimer&&) noexcept;
++ ScopedUkmHierarchicalTimer(ScopedUkmHierarchicalTimer&&);
+ ~ScopedUkmHierarchicalTimer();
+
+ private:
+diff --git
a/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
b/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
+index 2af19ca..498e42e 100644
+--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
++++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
+@@ -181,7 +181,7 @@
+
+ public:
+ ChildList() = default;
+- void operator=(ChildList&& other) noexcept {
++ void operator=(ChildList&& other) {
+ children_ = std::move(other.children_);
+ }
+
+diff --git a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
+index 8f77b90..833b0d2 100644
+--- a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
++++ b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
+@@ -86,7 +86,7 @@
+ else
+ bfc_offset_ = other.bfc_offset_;
+ }
+- NGConstraintSpace(NGConstraintSpace&& other) noexcept
++ NGConstraintSpace(NGConstraintSpace&& other)
+ : available_size_(other.available_size_),
+ exclusion_space_(std::move(other.exclusion_space_)),
+ bitfields_(other.bitfields_) {
+@@ -110,7 +110,7 @@
+ bitfields_ = other.bitfields_;
+ return *this;
+ }
+- NGConstraintSpace& operator=(NGConstraintSpace&& other) noexcept {
++ NGConstraintSpace& operator=(NGConstraintSpace&& other) {
+ available_size_ = other.available_size_;
+ if (HasRareData())
+ delete rare_data_;
+diff --git a/third_party/blink/renderer/core/messaging/blink_cloneable_message.cc
b/third_party/blink/renderer/core/messaging/blink_cloneable_message.cc
+index b6c8768..7423930 100644
+--- a/third_party/blink/renderer/core/messaging/blink_cloneable_message.cc
++++ b/third_party/blink/renderer/core/messaging/blink_cloneable_message.cc
+@@ -9,9 +9,8 @@
+ BlinkCloneableMessage::BlinkCloneableMessage() = default;
+ BlinkCloneableMessage::~BlinkCloneableMessage() = default;
+
+-BlinkCloneableMessage::BlinkCloneableMessage(BlinkCloneableMessage&&) noexcept
=
+- default;
++BlinkCloneableMessage::BlinkCloneableMessage(BlinkCloneableMessage&&) =
default;
+ BlinkCloneableMessage& BlinkCloneableMessage::operator=(
+- BlinkCloneableMessage&&) noexcept = default;
++ BlinkCloneableMessage&&) = default;
+
+ } // namespace blink
+diff --git a/third_party/blink/renderer/core/messaging/blink_cloneable_message.h
b/third_party/blink/renderer/core/messaging/blink_cloneable_message.h
+index 337b0f8..a51e888 100644
+--- a/third_party/blink/renderer/core/messaging/blink_cloneable_message.h
++++ b/third_party/blink/renderer/core/messaging/blink_cloneable_message.h
+@@ -21,8 +21,8 @@
+ BlinkCloneableMessage();
+ ~BlinkCloneableMessage();
+
+- BlinkCloneableMessage(BlinkCloneableMessage&&) noexcept;
+- BlinkCloneableMessage& operator=(BlinkCloneableMessage&&) noexcept;
++ BlinkCloneableMessage(BlinkCloneableMessage&&);
++ BlinkCloneableMessage& operator=(BlinkCloneableMessage&&);
+
+ scoped_refptr<blink::SerializedScriptValue> message;
+ v8_inspector::V8StackTraceId sender_stack_trace_id;
+diff --git a/third_party/blink/renderer/core/messaging/blink_transferable_message.cc
b/third_party/blink/renderer/core/messaging/blink_transferable_message.cc
+index 909ddb0..b5cdfda 100644
+--- a/third_party/blink/renderer/core/messaging/blink_transferable_message.cc
++++ b/third_party/blink/renderer/core/messaging/blink_transferable_message.cc
+@@ -16,10 +16,10 @@
+ BlinkTransferableMessage::BlinkTransferableMessage() = default;
+ BlinkTransferableMessage::~BlinkTransferableMessage() = default;
+
+-BlinkTransferableMessage::BlinkTransferableMessage(
+- BlinkTransferableMessage&&) noexcept = default;
++BlinkTransferableMessage::BlinkTransferableMessage(BlinkTransferableMessage&&)
=
++ default;
+ BlinkTransferableMessage& BlinkTransferableMessage::operator=(
+- BlinkTransferableMessage&&) noexcept = default;
++ BlinkTransferableMessage&&) = default;
+
+ scoped_refptr<blink::StaticBitmapImage> ToStaticBitmapImage(
+ const SkBitmap& sk_bitmap) {
+diff --git a/third_party/blink/renderer/core/messaging/blink_transferable_message.h
b/third_party/blink/renderer/core/messaging/blink_transferable_message.h
+index edf4fab..3957bed 100644
+--- a/third_party/blink/renderer/core/messaging/blink_transferable_message.h
++++ b/third_party/blink/renderer/core/messaging/blink_transferable_message.h
+@@ -24,8 +24,8 @@
+ BlinkTransferableMessage();
+ ~BlinkTransferableMessage();
+
+- BlinkTransferableMessage(BlinkTransferableMessage&&) noexcept;
+- BlinkTransferableMessage& operator=(BlinkTransferableMessage&&) noexcept;
++ BlinkTransferableMessage(BlinkTransferableMessage&&);
++ BlinkTransferableMessage& operator=(BlinkTransferableMessage&&);
+
+ Vector<MessagePortChannel> ports;
+
+diff --git
a/third_party/blink/renderer/modules/imagecapture/image_capture_frame_grabber.h
b/third_party/blink/renderer/modules/imagecapture/image_capture_frame_grabber.h
+index 85b46e1..f050a85 100644
+--- a/third_party/blink/renderer/modules/imagecapture/image_capture_frame_grabber.h
++++ b/third_party/blink/renderer/modules/imagecapture/image_capture_frame_grabber.h
+@@ -92,10 +92,10 @@
+ std::move(destruction_callback_).Run(std::move(callbacks_));
+ }
+
+- ScopedWebCallbacks(ScopedWebCallbacks&& other) noexcept = default;
++ ScopedWebCallbacks(ScopedWebCallbacks&& other) = default;
+ ScopedWebCallbacks(const ScopedWebCallbacks& other) = delete;
+
+- ScopedWebCallbacks& operator=(ScopedWebCallbacks&& other) noexcept =
default;
++ ScopedWebCallbacks& operator=(ScopedWebCallbacks&& other) = default;
+ ScopedWebCallbacks& operator=(const ScopedWebCallbacks& other) = delete;
+
+ std::unique_ptr<CallbacksType> PassCallbacks() {
+diff --git a/third_party/blink/renderer/modules/indexeddb/idb_request.h
b/third_party/blink/renderer/modules/indexeddb/idb_request.h
+index f85b864..d3f1132 100644
+--- a/third_party/blink/renderer/modules/indexeddb/idb_request.h
++++ b/third_party/blink/renderer/modules/indexeddb/idb_request.h
+@@ -110,13 +110,13 @@
+ ~AsyncTraceState();
+
+ // Used to transfer the trace end event state to an IDBRequest.
+- AsyncTraceState(AsyncTraceState&& other) noexcept {
++ AsyncTraceState(AsyncTraceState&& other) {
+ DCHECK(IsEmpty());
+ this->trace_event_name_ = other.trace_event_name_;
+ this->id_ = other.id_;
+ other.trace_event_name_ = nullptr;
+ }
+- AsyncTraceState& operator=(AsyncTraceState&& rhs) noexcept {
++ AsyncTraceState& operator=(AsyncTraceState&& rhs) {
+ DCHECK(IsEmpty());
+ this->trace_event_name_ = rhs.trace_event_name_;
+ this->id_ = rhs.id_;
+diff --git a/third_party/blink/renderer/modules/indexeddb/idb_request_test.cc
b/third_party/blink/renderer/modules/indexeddb/idb_request_test.cc
+index 84de726..2d3d4de5 100644
+--- a/third_party/blink/renderer/modules/indexeddb/idb_request_test.cc
++++ b/third_party/blink/renderer/modules/indexeddb/idb_request_test.cc
+@@ -434,10 +434,9 @@
+ class AsyncTraceStateForTesting : public IDBRequest::AsyncTraceState {
+ public:
+ AsyncTraceStateForTesting() : IDBRequest::AsyncTraceState() {}
+- AsyncTraceStateForTesting(AsyncTraceStateForTesting&& other) noexcept
++ AsyncTraceStateForTesting(AsyncTraceStateForTesting&& other)
+ : IDBRequest::AsyncTraceState(std::move(other)) {}
+- AsyncTraceStateForTesting& operator=(
+- AsyncTraceStateForTesting&& rhs) noexcept {
++ AsyncTraceStateForTesting& operator=(AsyncTraceStateForTesting&& rhs) {
+ AsyncTraceState::operator=(std::move(rhs));
+ return *this;
+ }
+diff --git
a/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util.cc
b/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util.cc
+index 24499bd..3bf00e9 100644
+--- a/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util.cc
++++ b/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util.cc
+@@ -134,13 +134,13 @@
+
+ VideoCaptureSettings::VideoCaptureSettings(const VideoCaptureSettings& other) =
+ default;
+-VideoCaptureSettings::VideoCaptureSettings(
+- VideoCaptureSettings&& other) noexcept = default;
++VideoCaptureSettings::VideoCaptureSettings(VideoCaptureSettings&& other) =
++ default;
+ VideoCaptureSettings::~VideoCaptureSettings() = default;
+ VideoCaptureSettings& VideoCaptureSettings::operator=(
+ const VideoCaptureSettings& other) = default;
+ VideoCaptureSettings& VideoCaptureSettings::operator=(
+- VideoCaptureSettings&& other) noexcept = default;
++ VideoCaptureSettings&& other) = default;
+
+ AudioCaptureSettings::AudioCaptureSettings() : AudioCaptureSettings("") {}
+
+@@ -166,10 +166,10 @@
+ default;
+ AudioCaptureSettings& AudioCaptureSettings::operator=(
+ const AudioCaptureSettings& other) = default;
+-AudioCaptureSettings::AudioCaptureSettings(
+- AudioCaptureSettings&& other) noexcept = default;
++AudioCaptureSettings::AudioCaptureSettings(AudioCaptureSettings&& other) =
++ default;
+ AudioCaptureSettings& AudioCaptureSettings::operator=(
+- AudioCaptureSettings&& other) noexcept = default;
++ AudioCaptureSettings&& other) = default;
+
+ bool GetConstraintValueAsBoolean(
+ const WebMediaConstraints& constraints,
+diff --git
a/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.cc
b/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.cc
+index 96992217..67c8bab 100644
+---
a/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.cc
++++
b/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.cc
+@@ -529,9 +529,9 @@
+ facing_mode(facing_mode) {}
+
+ VideoInputDeviceCapabilities::VideoInputDeviceCapabilities(
+- VideoInputDeviceCapabilities&& other) noexcept = default;
++ VideoInputDeviceCapabilities&& other) = default;
+ VideoInputDeviceCapabilities& VideoInputDeviceCapabilities::operator=(
+- VideoInputDeviceCapabilities&& other) noexcept = default;
++ VideoInputDeviceCapabilities&& other) = default;
+
+ VideoInputDeviceCapabilities::~VideoInputDeviceCapabilities() = default;
+
+@@ -557,10 +557,10 @@
+
+ VideoDeviceCaptureCapabilities::VideoDeviceCaptureCapabilities() = default;
+ VideoDeviceCaptureCapabilities::VideoDeviceCaptureCapabilities(
+- VideoDeviceCaptureCapabilities&& other) noexcept = default;
++ VideoDeviceCaptureCapabilities&& other) = default;
+ VideoDeviceCaptureCapabilities::~VideoDeviceCaptureCapabilities() = default;
+ VideoDeviceCaptureCapabilities& VideoDeviceCaptureCapabilities::operator=(
+- VideoDeviceCaptureCapabilities&& other) noexcept = default;
++ VideoDeviceCaptureCapabilities&& other) = default;
+
+ VideoCaptureSettings SelectSettingsVideoDeviceCapture(
+ const VideoDeviceCaptureCapabilities& capabilities,
+diff --git
a/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h
b/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h
+index 66ae103..94d8ed9 100644
+---
a/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h
++++
b/third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h
+@@ -34,9 +34,8 @@
+ Vector<media::VideoCaptureFormat> formats,
+ media::VideoFacingMode facing_mode);
+ VideoInputDeviceCapabilities();
+- VideoInputDeviceCapabilities(VideoInputDeviceCapabilities&& other) noexcept;
+- VideoInputDeviceCapabilities& operator=(
+- VideoInputDeviceCapabilities&& other) noexcept;
++ VideoInputDeviceCapabilities(VideoInputDeviceCapabilities&& other);
++ VideoInputDeviceCapabilities& operator=(VideoInputDeviceCapabilities&&
other);
+ ~VideoInputDeviceCapabilities();
+
+ String device_id;
+@@ -47,11 +46,10 @@
+
+ struct MODULES_EXPORT VideoDeviceCaptureCapabilities {
+ VideoDeviceCaptureCapabilities();
+- VideoDeviceCaptureCapabilities(
+- VideoDeviceCaptureCapabilities&& other) noexcept;
++ VideoDeviceCaptureCapabilities(VideoDeviceCaptureCapabilities&& other);
+ ~VideoDeviceCaptureCapabilities();
+ VideoDeviceCaptureCapabilities& operator=(
+- VideoDeviceCaptureCapabilities&& other) noexcept;
++ VideoDeviceCaptureCapabilities&& other);
+
+ // Each capabilities field is independent of each other.
+ //
TODO(crbug.com/704136): Replace VideoInputDeviceCapabilities in the
+diff --git a/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc
b/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc
+index 7651e47..99759c1 100644
+--- a/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc
++++ b/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc
+@@ -461,10 +461,10 @@
+ callback(callback) {}
+
+ MediaStreamVideoSource::PendingTrackInfo::PendingTrackInfo(
+- PendingTrackInfo&& other) noexcept = default;
++ PendingTrackInfo&& other) = default;
+ MediaStreamVideoSource::PendingTrackInfo&
+ MediaStreamVideoSource::PendingTrackInfo::operator=(
+- MediaStreamVideoSource::PendingTrackInfo&& other) noexcept = default;
++ MediaStreamVideoSource::PendingTrackInfo&& other) = default;
+
+ MediaStreamVideoSource::PendingTrackInfo::~PendingTrackInfo() {}
+
+diff --git a/third_party/blink/renderer/platform/bindings/dom_data_store.h
b/third_party/blink/renderer/platform/bindings/dom_data_store.h
+index d660b67..0660dd18 100644
+--- a/third_party/blink/renderer/platform/bindings/dom_data_store.h
++++ b/third_party/blink/renderer/platform/bindings/dom_data_store.h
+@@ -230,12 +230,11 @@
+ : TraceWrapperV8Reference(isolate, handle) {}
+
+ // Move support without write barrier.
+- DOMWorldWrapperReference(DOMWorldWrapperReference&& other) noexcept
++ DOMWorldWrapperReference(DOMWorldWrapperReference&& other)
+ : TraceWrapperV8Reference() {
+ handle_ = std::move(other.handle_);
+ }
+- DOMWorldWrapperReference& operator=(
+- DOMWorldWrapperReference&& rhs) noexcept {
++ DOMWorldWrapperReference& operator=(DOMWorldWrapperReference&& rhs) {
+ handle_ = std::move(rhs.handle_);
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/exported/web_string.cc
b/third_party/blink/renderer/platform/exported/web_string.cc
+index 71d4c07..fbe4828 100644
+--- a/third_party/blink/renderer/platform/exported/web_string.cc
++++ b/third_party/blink/renderer/platform/exported/web_string.cc
+@@ -51,9 +51,9 @@
+ WebString::~WebString() = default;
+ WebString::WebString() = default;
+ WebString::WebString(const WebString&) = default;
+-WebString::WebString(WebString&&) noexcept = default;
++WebString::WebString(WebString&&) = default;
+ WebString& WebString::operator=(const WebString&) = default;
+-WebString& WebString::operator=(WebString&&) noexcept = default;
++WebString& WebString::operator=(WebString&&) = default;
+
+ WebString::WebString(const WebUChar* data, size_t len)
+ : impl_(StringImpl::Create8BitIfPossible(data, len)) {}
+diff --git a/third_party/blink/renderer/platform/graphics/contiguous_container.cc
b/third_party/blink/renderer/platform/graphics/contiguous_container.cc
+index fd01c00..19cb6f2 100644
+--- a/third_party/blink/renderer/platform/graphics/contiguous_container.cc
++++ b/third_party/blink/renderer/platform/graphics/contiguous_container.cc
+@@ -69,7 +69,7 @@
+ : end_index_(0), max_object_size_(max_object_size) {}
+
+ ContiguousContainerBase::ContiguousContainerBase(
+- ContiguousContainerBase&& source) noexcept
++ ContiguousContainerBase&& source)
+ : ContiguousContainerBase(source.max_object_size_) {
+ Swap(source);
+ }
+@@ -77,7 +77,7 @@
+ ContiguousContainerBase::~ContiguousContainerBase() = default;
+
+ ContiguousContainerBase& ContiguousContainerBase::operator=(
+- ContiguousContainerBase&& source) noexcept {
++ ContiguousContainerBase&& source) {
+ Swap(source);
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/graphics/contiguous_container.h
b/third_party/blink/renderer/platform/graphics/contiguous_container.h
+index 867e59c..3eee558 100644
+--- a/third_party/blink/renderer/platform/graphics/contiguous_container.h
++++ b/third_party/blink/renderer/platform/graphics/contiguous_container.h
+@@ -42,10 +42,10 @@
+
+ protected:
+ explicit ContiguousContainerBase(size_t max_object_size);
+- ContiguousContainerBase(ContiguousContainerBase&&) noexcept;
++ ContiguousContainerBase(ContiguousContainerBase&&);
+ ~ContiguousContainerBase();
+
+- ContiguousContainerBase& operator=(ContiguousContainerBase&&) noexcept;
++ ContiguousContainerBase& operator=(ContiguousContainerBase&&);
+
+ size_t size() const { return elements_.size(); }
+ bool IsEmpty() const { return !size(); }
+@@ -147,7 +147,7 @@
+ WTF_HEAP_PROFILER_TYPE_NAME(BaseElementType));
+ }
+
+- ContiguousContainer(ContiguousContainer&& source) noexcept
++ ContiguousContainer(ContiguousContainer&& source)
+ : ContiguousContainerBase(std::move(source)) {}
+
+ ~ContiguousContainer() {
+@@ -157,7 +157,7 @@
+ }
+ }
+
+- ContiguousContainer& operator=(ContiguousContainer&& source) noexcept {
++ ContiguousContainer& operator=(ContiguousContainer&& source) {
+ // Must clear in the derived class to ensure that element destructors
+ // care called.
+ Clear();
+diff --git a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
+index ad10c54..4edbf7f 100644
+--- a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
++++ b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
+@@ -247,9 +247,9 @@
+ }
+
+ ImageLayerBridge::RegisteredBitmap::RegisteredBitmap() = default;
+-ImageLayerBridge::RegisteredBitmap::RegisteredBitmap(
+- RegisteredBitmap&& other) noexcept = default;
++ImageLayerBridge::RegisteredBitmap::RegisteredBitmap(RegisteredBitmap&& other)
=
++ default;
+ ImageLayerBridge::RegisteredBitmap& ImageLayerBridge::RegisteredBitmap::
+-operator=(RegisteredBitmap&& other) noexcept = default;
++operator=(RegisteredBitmap&& other) = default;
+
+ } // namespace blink
+diff --git a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.h
b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.h
+index bea81dfb..b6879f9 100644
+--- a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.h
++++ b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.h
+@@ -65,8 +65,8 @@
+ // only with software compositing.
+ struct RegisteredBitmap {
+ RegisteredBitmap();
+- RegisteredBitmap(RegisteredBitmap&& other) noexcept;
+- RegisteredBitmap& operator=(RegisteredBitmap&& other) noexcept;
++ RegisteredBitmap(RegisteredBitmap&& other);
++ RegisteredBitmap& operator=(RegisteredBitmap&& other);
+
+ scoped_refptr<cc::CrossThreadSharedBitmap> bitmap;
+ cc::SharedBitmapIdRegistration registration;
+diff --git a/third_party/blink/renderer/platform/graphics/paint/display_item_list.h
b/third_party/blink/renderer/platform/graphics/paint/display_item_list.h
+index cd3ed2f..9ee2571 100644
+--- a/third_party/blink/renderer/platform/graphics/paint/display_item_list.h
++++ b/third_party/blink/renderer/platform/graphics/paint/display_item_list.h
+@@ -28,10 +28,10 @@
+ public:
+ DisplayItemList(size_t initial_size_bytes)
+ : ContiguousContainer(kMaximumDisplayItemSize, initial_size_bytes) {}
+- DisplayItemList(DisplayItemList&& source) noexcept
++ DisplayItemList(DisplayItemList&& source)
+ : ContiguousContainer(std::move(source)) {}
+
+- DisplayItemList& operator=(DisplayItemList&& source) noexcept {
++ DisplayItemList& operator=(DisplayItemList&& source) {
+ ContiguousContainer::operator=(std::move(source));
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/heap/heap_test.cc
b/third_party/blink/renderer/platform/heap/heap_test.cc
+index dad0ca0..e94cbc95 100644
+--- a/third_party/blink/renderer/platform/heap/heap_test.cc
++++ b/third_party/blink/renderer/platform/heap/heap_test.cc
+@@ -145,7 +145,7 @@
+ }
+ KeyWithCopyingMoveConstructor(const KeyWithCopyingMoveConstructor&) = default;
+ // The move constructor delegates to the copy constructor intentionally.
+- KeyWithCopyingMoveConstructor(KeyWithCopyingMoveConstructor&& x) noexcept
++ KeyWithCopyingMoveConstructor(KeyWithCopyingMoveConstructor&& x)
+ : KeyWithCopyingMoveConstructor(x) {}
+ KeyWithCopyingMoveConstructor& operator=(
+ const KeyWithCopyingMoveConstructor&) = default;
+diff --git a/third_party/blink/renderer/platform/image-decoders/segment_stream.cc
b/third_party/blink/renderer/platform/image-decoders/segment_stream.cc
+index 4024f9c..5a98701 100644
+--- a/third_party/blink/renderer/platform/image-decoders/segment_stream.cc
++++ b/third_party/blink/renderer/platform/image-decoders/segment_stream.cc
+@@ -10,10 +10,10 @@
+
+ SegmentStream::SegmentStream() = default;
+
+-SegmentStream::SegmentStream(SegmentStream&& rhs) noexcept
++SegmentStream::SegmentStream(SegmentStream&& rhs)
+ : reader_(std::move(rhs.reader_)), position_(rhs.position_) {}
+
+-SegmentStream& SegmentStream::operator=(SegmentStream&& rhs) noexcept {
++SegmentStream& SegmentStream::operator=(SegmentStream&& rhs) {
+ reader_ = std::move(rhs.reader_);
+ position_ = rhs.position_;
+
+diff --git a/third_party/blink/renderer/platform/image-decoders/segment_stream.h
b/third_party/blink/renderer/platform/image-decoders/segment_stream.h
+index f49f551..fa1ccf2 100644
+--- a/third_party/blink/renderer/platform/image-decoders/segment_stream.h
++++ b/third_party/blink/renderer/platform/image-decoders/segment_stream.h
+@@ -19,8 +19,8 @@
+ SegmentStream();
+ SegmentStream(const SegmentStream&) = delete;
+ SegmentStream& operator=(const SegmentStream&) = delete;
+- SegmentStream(SegmentStream&&) noexcept;
+- SegmentStream& operator=(SegmentStream&&) noexcept;
++ SegmentStream(SegmentStream&&);
++ SegmentStream& operator=(SegmentStream&&);
+
+ ~SegmentStream() override;
+
+diff --git a/third_party/blink/renderer/platform/mojo/revocable_interface_ptr.h
b/third_party/blink/renderer/platform/mojo/revocable_interface_ptr.h
+index 555be28..34bad3f 100644
+--- a/third_party/blink/renderer/platform/mojo/revocable_interface_ptr.h
++++ b/third_party/blink/renderer/platform/mojo/revocable_interface_ptr.h
+@@ -41,7 +41,7 @@
+ RevocableInterfacePtr(std::nullptr_t) {}
+
+ // Takes over the binding of another RevocableInterfacePtr.
+- RevocableInterfacePtr(RevocableInterfacePtr&& other) noexcept {
++ RevocableInterfacePtr(RevocableInterfacePtr&& other) {
+ interface_ptr_ = std::move(other.interface_ptr_);
+ SetInvalidator(other.invalidator_.get());
+ // Reset the other interface ptr to remove it as an observer of the
+@@ -58,7 +58,7 @@
+
+ // Takes over the binding of another RevocableInterfacePtr, and closes any
+ // message pipe already bound to this pointer.
+- RevocableInterfacePtr& operator=(RevocableInterfacePtr&& other) noexcept
{
++ RevocableInterfacePtr& operator=(RevocableInterfacePtr&& other) {
+ reset();
+ interface_ptr_ = std::move(other.interface_ptr_);
+ SetInvalidator(other.invalidator_.get());
+diff --git a/third_party/blink/renderer/platform/network/encoded_form_data.cc
b/third_party/blink/renderer/platform/network/encoded_form_data.cc
+index bc4ec14..1b660e6 100644
+--- a/third_party/blink/renderer/platform/network/encoded_form_data.cc
++++ b/third_party/blink/renderer/platform/network/encoded_form_data.cc
+@@ -61,11 +61,10 @@
+ : type_(kDataPipe), data_pipe_getter_(std::move(data_pipe_getter)) {}
+
+ FormDataElement::FormDataElement(const FormDataElement&) = default;
+-FormDataElement::FormDataElement(FormDataElement&&) noexcept = default;
++FormDataElement::FormDataElement(FormDataElement&&) = default;
+ FormDataElement::~FormDataElement() = default;
+ FormDataElement& FormDataElement::operator=(const FormDataElement&) = default;
+-FormDataElement& FormDataElement::operator=(FormDataElement&&) noexcept =
+- default;
++FormDataElement& FormDataElement::operator=(FormDataElement&&) = default;
+
+ bool operator==(const FormDataElement& a, const FormDataElement& b) {
+ if (&a == &b)
+diff --git a/third_party/blink/renderer/platform/network/encoded_form_data.h
b/third_party/blink/renderer/platform/network/encoded_form_data.h
+index 48f84c8..865f664 100644
+--- a/third_party/blink/renderer/platform/network/encoded_form_data.h
++++ b/third_party/blink/renderer/platform/network/encoded_form_data.h
+@@ -61,12 +61,12 @@
+ explicit FormDataElement(scoped_refptr<WrappedDataPipeGetter>);
+
+ FormDataElement(const FormDataElement&);
+- FormDataElement(FormDataElement&&) noexcept;
++ FormDataElement(FormDataElement&&);
+
+ ~FormDataElement();
+
+ FormDataElement& operator=(const FormDataElement&);
+- FormDataElement& operator=(FormDataElement&&) noexcept;
++ FormDataElement& operator=(FormDataElement&&);
+
+ bool IsSafeToSendToAnotherThread() const;
+
+diff --git
a/third_party/blink/renderer/platform/scheduler/common/frame_or_worker_scheduler.cc
b/third_party/blink/renderer/platform/scheduler/common/frame_or_worker_scheduler.cc
+index ebe99ff..e971856 100644
+--- a/third_party/blink/renderer/platform/scheduler/common/frame_or_worker_scheduler.cc
++++ b/third_party/blink/renderer/platform/scheduler/common/frame_or_worker_scheduler.cc
+@@ -28,15 +28,14 @@
+ }
+
+ FrameOrWorkerScheduler::SchedulingAffectingFeatureHandle::
+- SchedulingAffectingFeatureHandle(
+- SchedulingAffectingFeatureHandle&& other) noexcept
++ SchedulingAffectingFeatureHandle(SchedulingAffectingFeatureHandle&& other)
+ : feature_(other.feature_), scheduler_(std::move(other.scheduler_)) {
+ other.scheduler_ = nullptr;
+ }
+
+ FrameOrWorkerScheduler::SchedulingAffectingFeatureHandle&
+ FrameOrWorkerScheduler::SchedulingAffectingFeatureHandle::operator=(
+- SchedulingAffectingFeatureHandle&& other) noexcept {
++ SchedulingAffectingFeatureHandle&& other) {
+ feature_ = other.feature_;
+ policy_ = std::move(other.policy_);
+ scheduler_ = std::move(other.scheduler_);
+diff --git
a/third_party/blink/renderer/platform/scheduler/common/post_cancellable_task.cc
b/third_party/blink/renderer/platform/scheduler/common/post_cancellable_task.cc
+index 2c84d70..fad56ee1 100644
+--- a/third_party/blink/renderer/platform/scheduler/common/post_cancellable_task.cc
++++ b/third_party/blink/renderer/platform/scheduler/common/post_cancellable_task.cc
+@@ -103,9 +103,9 @@
+ Cancel();
+ }
+
+-TaskHandle::TaskHandle(TaskHandle&&) noexcept = default;
++TaskHandle::TaskHandle(TaskHandle&&) = default;
+
+-TaskHandle& TaskHandle::operator=(TaskHandle&& other) noexcept {
++TaskHandle& TaskHandle::operator=(TaskHandle&& other) {
+ TaskHandle tmp(std::move(other));
+ runner_.swap(tmp.runner_);
+ return *this;
+diff --git
a/third_party/blink/renderer/platform/scheduler/main_thread/web_scoped_virtual_time_pauser.cc
b/third_party/blink/renderer/platform/scheduler/main_thread/web_scoped_virtual_time_pauser.cc
+index f55730a..b64ec9d 100644
+---
a/third_party/blink/renderer/platform/scheduler/main_thread/web_scoped_virtual_time_pauser.cc
++++
b/third_party/blink/renderer/platform/scheduler/main_thread/web_scoped_virtual_time_pauser.cc
+@@ -28,7 +28,7 @@
+ }
+
+ WebScopedVirtualTimePauser::WebScopedVirtualTimePauser(
+- WebScopedVirtualTimePauser&& other) noexcept {
++ WebScopedVirtualTimePauser&& other) {
+ virtual_time_when_paused_ = other.virtual_time_when_paused_;
+ paused_ = other.paused_;
+ duration_ = other.duration_;
+@@ -39,7 +39,7 @@
+ }
+
+ WebScopedVirtualTimePauser& WebScopedVirtualTimePauser::operator=(
+- WebScopedVirtualTimePauser&& other) noexcept {
++ WebScopedVirtualTimePauser&& other) {
+ if (scheduler_ && paused_)
+ DecrementVirtualTimePauseCount();
+ virtual_time_when_paused_ = other.virtual_time_when_paused_;
+diff --git
a/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h
b/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h
+index 56915ee..3fdb8cf 100644
+--- a/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h
++++ b/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h
+@@ -57,12 +57,11 @@
+
+ public:
+ SchedulingAffectingFeatureHandle() = default;
+- SchedulingAffectingFeatureHandle(
+- SchedulingAffectingFeatureHandle&&) noexcept;
++ SchedulingAffectingFeatureHandle(SchedulingAffectingFeatureHandle&&);
+ inline ~SchedulingAffectingFeatureHandle() { reset(); }
+
+ SchedulingAffectingFeatureHandle& operator=(
+- SchedulingAffectingFeatureHandle&&) noexcept;
++ SchedulingAffectingFeatureHandle&&);
+
+ inline void reset() {
+ if (scheduler_)
+diff --git a/third_party/blink/renderer/platform/scheduler/public/post_cancellable_task.h
b/third_party/blink/renderer/platform/scheduler/public/post_cancellable_task.h
+index 38cbf63..ae66c73 100644
+--- a/third_party/blink/renderer/platform/scheduler/public/post_cancellable_task.h
++++ b/third_party/blink/renderer/platform/scheduler/public/post_cancellable_task.h
+@@ -28,8 +28,8 @@
+ TaskHandle();
+ ~TaskHandle();
+
+- TaskHandle(TaskHandle&&) noexcept;
+- TaskHandle& operator=(TaskHandle&&) noexcept;
++ TaskHandle(TaskHandle&&);
++ TaskHandle& operator=(TaskHandle&&);
+
+ // Returns true if the task will run later. Returns false if the task is
+ // cancelled or the task is run already.
+diff --git a/third_party/blink/renderer/platform/weborigin/origin_access_entry.cc
b/third_party/blink/renderer/platform/weborigin/origin_access_entry.cc
+index 2e9a9d1..c9d777e7 100644
+--- a/third_party/blink/renderer/platform/weborigin/origin_access_entry.cc
++++ b/third_party/blink/renderer/platform/weborigin/origin_access_entry.cc
+@@ -59,8 +59,7 @@
+ network::mojom::CorsPortMatchMode::kAllowOnlySpecifiedPort,
+ priority) {}
+
+-OriginAccessEntry::OriginAccessEntry(OriginAccessEntry&& from) noexcept =
+- default;
++OriginAccessEntry::OriginAccessEntry(OriginAccessEntry&& from) = default;
+
+ network::cors::OriginAccessEntry::MatchResult OriginAccessEntry::MatchesOrigin(
+ const SecurityOrigin& origin) const {
+diff --git a/third_party/blink/renderer/platform/weborigin/origin_access_entry.h
b/third_party/blink/renderer/platform/weborigin/origin_access_entry.h
+index b3e5674..5113a40 100644
+--- a/third_party/blink/renderer/platform/weborigin/origin_access_entry.h
++++ b/third_party/blink/renderer/platform/weborigin/origin_access_entry.h
+@@ -58,7 +58,7 @@
+ network::mojom::CorsDomainMatchMode,
+ network::mojom::CorsOriginAccessMatchPriority priority =
+ network::mojom::CorsOriginAccessMatchPriority::kDefaultPriority);
+- OriginAccessEntry(OriginAccessEntry&& from) noexcept;
++ OriginAccessEntry(OriginAccessEntry&& from);
+
+ network::cors::OriginAccessEntry::MatchResult MatchesOrigin(
+ const SecurityOrigin&) const;
+diff --git a/third_party/blink/renderer/platform/wtf/deque.h
b/third_party/blink/renderer/platform/wtf/deque.h
+index c6fe1b9..4a98ffb 100644
+--- a/third_party/blink/renderer/platform/wtf/deque.h
++++ b/third_party/blink/renderer/platform/wtf/deque.h
+@@ -64,8 +64,8 @@ class Deque {
+ Deque();
+ Deque(const Deque&);
+ Deque& operator=(const Deque&);
+- Deque(Deque&&) noexcept;
+- Deque& operator=(Deque&&) noexcept;
++ Deque(Deque&&);
++ Deque& operator=(Deque&&);
+ ~Deque();
+
+ void FinalizeGarbageCollectedObject() { NOTREACHED(); }
+@@ -343,14 +343,14 @@
+ }
+
+ template <typename T, wtf_size_t inlineCapacity, typename Allocator>
+-inline Deque<T, inlineCapacity, Allocator>::Deque(Deque&& other) noexcept
++inline Deque<T, inlineCapacity, Allocator>::Deque(Deque&& other)
+ : start_(0), end_(0) {
+ Swap(other);
+ }
+
+ template <typename T, wtf_size_t inlineCapacity, typename Allocator>
+ inline Deque<T, inlineCapacity, Allocator>&
+-Deque<T, inlineCapacity, Allocator>::operator=(Deque&& other) noexcept {
++Deque<T, inlineCapacity, Allocator>::operator=(Deque&& other) {
+ Swap(other);
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/wtf/functional.h
b/third_party/blink/renderer/platform/wtf/functional.h
+index 2c5aeea..5e4b373 100644
+--- a/third_party/blink/renderer/platform/wtf/functional.h
++++ b/third_party/blink/renderer/platform/wtf/functional.h
+@@ -117,8 +117,7 @@
+ class PassedWrapper final {
+ public:
+ explicit PassedWrapper(T&& scoper) : scoper_(std::move(scoper)) {}
+- PassedWrapper(PassedWrapper&& other) noexcept
+- : scoper_(std::move(other.scoper_)) {}
++ PassedWrapper(PassedWrapper&& other) : scoper_(std::move(other.scoper_)) {}
+ T MoveOut() const { return std::move(scoper_); }
+
+ private:
+@@ -319,9 +318,8 @@
+ CrossThreadFunction(const CrossThreadFunction&) = delete;
+ CrossThreadFunction& operator=(const CrossThreadFunction&) = delete;
+
+- CrossThreadFunction(CrossThreadFunction&& other) noexcept = default;
+- CrossThreadFunction& operator=(CrossThreadFunction&& other) noexcept =
+- default;
++ CrossThreadFunction(CrossThreadFunction&& other) = default;
++ CrossThreadFunction& operator=(CrossThreadFunction&& other) = default;
+
+ R Run(Args... args) const & {
+ return callback_.Run(std::forward<Args>(args)...);
+@@ -356,9 +354,8 @@
+ CrossThreadOnceFunction(const CrossThreadOnceFunction&) = delete;
+ CrossThreadOnceFunction& operator=(const CrossThreadOnceFunction&) = delete;
+
+- CrossThreadOnceFunction(CrossThreadOnceFunction&& other) noexcept = default;
+- CrossThreadOnceFunction& operator=(CrossThreadOnceFunction&& other)
noexcept =
+- default;
++ CrossThreadOnceFunction(CrossThreadOnceFunction&& other) = default;
++ CrossThreadOnceFunction& operator=(CrossThreadOnceFunction&& other) =
default;
+
+ R Run(Args... args) && {
+ return std::move(callback_).Run(std::forward<Args>(args)...);
+diff --git a/third_party/blink/renderer/platform/wtf/hash_map.h
b/third_party/blink/renderer/platform/wtf/hash_map.h
+index 8a002a8..46b39e0 100644
+--- a/third_party/blink/renderer/platform/wtf/hash_map.h
++++ b/third_party/blink/renderer/platform/wtf/hash_map.h
+@@ -106,8 +106,8 @@
+ #endif
+ HashMap(const HashMap&) = default;
+ HashMap& operator=(const HashMap&) = default;
+- HashMap(HashMap&&) noexcept = default;
+- HashMap& operator=(HashMap&&) noexcept = default;
++ HashMap(HashMap&&) = default;
++ HashMap& operator=(HashMap&&) = default;
+
+ // For example, HashMap<int, int>({{1, 11}, {2, 22}, {3, 33}}) will give you
+ // a HashMap containing a mapping {1 -> 11, 2 -> 22, 3 -> 33}.
+diff --git a/third_party/blink/renderer/platform/wtf/hash_set.h
b/third_party/blink/renderer/platform/wtf/hash_set.h
+index c79e45f1..d7cdeed 100644
+--- a/third_party/blink/renderer/platform/wtf/hash_set.h
++++ b/third_party/blink/renderer/platform/wtf/hash_set.h
+@@ -74,8 +74,8 @@
+ }
+ HashSet(const HashSet&) = default;
+ HashSet& operator=(const HashSet&) = default;
+- HashSet(HashSet&&) noexcept = default;
+- HashSet& operator=(HashSet&&) noexcept = default;
++ HashSet(HashSet&&) = default;
++ HashSet& operator=(HashSet&&) = default;
+
+ HashSet(std::initializer_list<ValueType> elements);
+ HashSet& operator=(std::initializer_list<ValueType> elements);
+diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h
b/third_party/blink/renderer/platform/wtf/hash_table.h
+index 373280f..52483ec5 100644
+--- a/third_party/blink/renderer/platform/wtf/hash_table.h
++++ b/third_party/blink/renderer/platform/wtf/hash_table.h
+@@ -747,10 +747,10 @@
+ }
+
+ HashTable(const HashTable&);
+- HashTable(HashTable&&) noexcept;
++ HashTable(HashTable&&);
+ void swap(HashTable&);
+ HashTable& operator=(const HashTable&);
+- HashTable& operator=(HashTable&&) noexcept;
++ HashTable& operator=(HashTable&&);
+
+ // When the hash table is empty, just return the same iterator for end as
+ // for begin. This is more efficient because we don't have to skip all the
+@@ -1929,7 +1929,7 @@
+ typename KeyTraits,
+ typename Allocator>
+ HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits, Allocator>::
+- HashTable(HashTable&& other) noexcept
++ HashTable(HashTable&& other)
+ : table_(nullptr),
+ table_size_(0),
+ key_count_(0),
+@@ -2008,7 +2008,7 @@
+ typename Allocator>
+ HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits,
Allocator>&
+ HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits, Allocator>::
+-operator=(HashTable&& other) noexcept {
++operator=(HashTable&& other) {
+ swap(other);
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h
b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
+index 79c3d76d..71ef37a 100644
+--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h
++++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
+@@ -121,7 +121,7 @@
+ LinkedHashSetNodeBase(const LinkedHashSetNodeBase& other)
+ : prev_(nullptr), next_(nullptr) {}
+
+- LinkedHashSetNodeBase(LinkedHashSetNodeBase&& other) noexcept
++ LinkedHashSetNodeBase(LinkedHashSetNodeBase&& other)
+ : prev_(other.prev_), next_(other.next_) {
+ other.prev_ = nullptr;
+ other.next_ = nullptr;
+@@ -151,7 +151,7 @@
+ LinkedHashSetNodeBase* next)
+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {}
+
+- LinkedHashSetNode(LinkedHashSetNode&& other) noexcept
++ LinkedHashSetNode(LinkedHashSetNode&& other)
+ : LinkedHashSetNodeBase(std::move(other)),
+ value_(std::move(other.value_)) {}
+
+@@ -214,9 +214,9 @@
+
+ LinkedHashSet();
+ LinkedHashSet(const LinkedHashSet&);
+- LinkedHashSet(LinkedHashSet&&) noexcept;
++ LinkedHashSet(LinkedHashSet&&);
+ LinkedHashSet& operator=(const LinkedHashSet&);
+- LinkedHashSet& operator=(LinkedHashSet&&) noexcept;
++ LinkedHashSet& operator=(LinkedHashSet&&);
+
+ // Needs finalization. The anchor needs to unlink itself from the chain.
+ ~LinkedHashSet();
+@@ -748,7 +748,7 @@
+ }
+
+ template <typename T, typename U, typename V, typename W>
+-inline LinkedHashSet<T, U, V, W>::LinkedHashSet(LinkedHashSet&& other)
noexcept
++inline LinkedHashSet<T, U, V, W>::LinkedHashSet(LinkedHashSet&& other)
+ : anchor_() {
+ Swap(other);
+ }
+@@ -763,7 +763,7 @@
+
+ template <typename T, typename U, typename V, typename W>
+ inline LinkedHashSet<T, U, V, W>& LinkedHashSet<T, U, V, W>::operator=(
+- LinkedHashSet&& other) noexcept {
++ LinkedHashSet&& other) {
+ Swap(other);
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set.h
b/third_party/blink/renderer/platform/wtf/list_hash_set.h
+index ead6a87..78bd279 100644
+--- a/third_party/blink/renderer/platform/wtf/list_hash_set.h
++++ b/third_party/blink/renderer/platform/wtf/list_hash_set.h
+@@ -145,9 +145,9 @@ class ListHashSet {
+
+ ListHashSet();
+ ListHashSet(const ListHashSet&);
+- ListHashSet(ListHashSet&&) noexcept;
++ ListHashSet(ListHashSet&&);
+ ListHashSet& operator=(const ListHashSet&);
+- ListHashSet& operator=(ListHashSet&&) noexcept;
++ ListHashSet& operator=(ListHashSet&&);
+ ~ListHashSet();
+
+ void Swap(ListHashSet&);
+@@ -780,8 +780,7 @@
+ }
+
+ template <typename T, size_t inlineCapacity, typename U, typename V>
+-inline ListHashSet<T, inlineCapacity, U, V>::ListHashSet(
+- ListHashSet&& other) noexcept
++inline ListHashSet<T, inlineCapacity, U, V>::ListHashSet(ListHashSet&&
other)
+ : head_(nullptr), tail_(nullptr) {
+ Swap(other);
+ }
+@@ -796,7 +795,7 @@
+
+ template <typename T, size_t inlineCapacity, typename U, typename V>
+ inline ListHashSet<T, inlineCapacity, U, V>&
+-ListHashSet<T, inlineCapacity, U, V>::operator=(ListHashSet&& other)
noexcept {
++ListHashSet<T, inlineCapacity, U, V>::operator=(ListHashSet&& other) {
+ Swap(other);
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/wtf/type_traits_test.cc
b/third_party/blink/renderer/platform/wtf/type_traits_test.cc
+index 0930b73..1b45d55 100644
+--- a/third_party/blink/renderer/platform/wtf/type_traits_test.cc
++++ b/third_party/blink/renderer/platform/wtf/type_traits_test.cc
+@@ -158,7 +158,7 @@
+ STACK_ALLOCATED();
+
+ public:
+- CopyAssignmentDeleted& operator=(CopyAssignmentDeleted&&) noexcept;
++ CopyAssignmentDeleted& operator=(CopyAssignmentDeleted&&);
+
+ private:
+ CopyAssignmentDeleted& operator=(const CopyAssignmentDeleted&) = delete;
+@@ -173,7 +173,7 @@
+ STACK_ALLOCATED();
+
+ public:
+- CopyAssignmentPrivate& operator=(CopyAssignmentPrivate&&) noexcept;
++ CopyAssignmentPrivate& operator=(CopyAssignmentPrivate&&);
+
+ private:
+ CopyAssignmentPrivate& operator=(const CopyAssignmentPrivate&);
+@@ -188,7 +188,7 @@
+ STACK_ALLOCATED();
+
+ public:
+- CopyAssignmentUndeclared& operator=(CopyAssignmentUndeclared&&) noexcept;
++ CopyAssignmentUndeclared& operator=(CopyAssignmentUndeclared&&);
+ };
+
+ static_assert(!std::is_copy_assignable<CopyAssignmentUndeclared>::value,
+diff --git a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
+index 3f44cd2..ee7c89a 100644
+--- a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
++++ b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
+@@ -68,7 +68,7 @@
+ deleter_(deleter),
+ deleter_info_(deleter_info) {}
+ // Move constructor
+- DataHandle(DataHandle&& other) noexcept { *this = std::move(other); }
++ DataHandle(DataHandle&& other) { *this = std::move(other); }
+ ~DataHandle() {
+ if (!data_)
+ return;
+diff --git a/third_party/blink/renderer/platform/wtf/vector.h
b/third_party/blink/renderer/platform/wtf/vector.h
+index 2783c2b..43a27f7 100644
+--- a/third_party/blink/renderer/platform/wtf/vector.h
++++ b/third_party/blink/renderer/platform/wtf/vector.h
+@@ -1018,8 +1018,8 @@
+ Vector& operator=(const Vector<T, otherCapacity, Allocator>&);
+
+ // Moving.
+- Vector(Vector&&) noexcept;
+- Vector& operator=(Vector&&) noexcept;
++ Vector(Vector&&);
++ Vector& operator=(Vector&&);
+
+ // Construct with an initializer list. You can do e.g.
+ // Vector<int> v({1, 2, 3});
+@@ -1459,7 +1459,7 @@
+
+ template <typename T, wtf_size_t inlineCapacity, typename Allocator>
+ Vector<T, inlineCapacity, Allocator>::Vector(
+- Vector<T, inlineCapacity, Allocator>&& other) noexcept {
++ Vector<T, inlineCapacity, Allocator>&& other) {
+ size_ = 0;
+ // It's a little weird to implement a move constructor using swap but this
+ // way we don't have to add a move constructor to VectorBuffer.
+@@ -1468,7 +1468,7 @@
+
+ template <typename T, wtf_size_t inlineCapacity, typename Allocator>
+ Vector<T, inlineCapacity, Allocator>& Vector<T, inlineCapacity,
Allocator>::
+-operator=(Vector<T, inlineCapacity, Allocator>&& other) noexcept {
++operator=(Vector<T, inlineCapacity, Allocator>&& other) {
+ swap(other);
+ return *this;
+ }
+diff --git a/third_party/blink/renderer/platform/wtf/vector_test.cc
b/third_party/blink/renderer/platform/wtf/vector_test.cc
+index aa8a138..788cc2bb 100644
+--- a/third_party/blink/renderer/platform/wtf/vector_test.cc
++++ b/third_party/blink/renderer/platform/wtf/vector_test.cc
+@@ -420,8 +420,8 @@
+ class MojoMoveOnlyType final {
+ public:
+ MojoMoveOnlyType();
+- MojoMoveOnlyType(MojoMoveOnlyType&&) noexcept;
+- MojoMoveOnlyType& operator=(MojoMoveOnlyType&&) noexcept;
++ MojoMoveOnlyType(MojoMoveOnlyType&&);
++ MojoMoveOnlyType& operator=(MojoMoveOnlyType&&);
+ ~MojoMoveOnlyType();
+
+ private:
+diff --git a/third_party/blink/renderer/platform/wtf/wtf_test_helper.h
b/third_party/blink/renderer/platform/wtf/wtf_test_helper.h
+index e797445..8f31365 100644
+--- a/third_party/blink/renderer/platform/wtf/wtf_test_helper.h
++++ b/third_party/blink/renderer/platform/wtf/wtf_test_helper.h
+@@ -36,9 +36,9 @@
+ public:
+ explicit MoveOnly(int i = 0) : i_(i) {}
+
+- MoveOnly(MoveOnly&& other) noexcept : i_(other.i_) { other.i_ = 0; }
++ MoveOnly(MoveOnly&& other) : i_(other.i_) { other.i_ = 0; }
+
+- MoveOnly& operator=(MoveOnly&& other) noexcept {
++ MoveOnly& operator=(MoveOnly&& other) {
+ if (this != &other) {
+ i_ = other.i_;
+ other.i_ = 0;
+@@ -62,12 +62,12 @@
+
+ explicit MoveOnlyHashValue(int value = kEmpty, int id = 0)
+ : value_(value), id_(id) {}
+- MoveOnlyHashValue(MoveOnlyHashValue&& other) noexcept
++ MoveOnlyHashValue(MoveOnlyHashValue&& other)
+ : value_(other.value_), id_(other.id_) {
+ other.value_ = kMovedOut;
+ other.id_ = 0;
+ }
+- MoveOnlyHashValue& operator=(MoveOnlyHashValue&& other) noexcept {
++ MoveOnlyHashValue& operator=(MoveOnlyHashValue&& other) {
+ value_ = other.value_;
+ id_ = other.id_;
+ other.value_ = kMovedOut;
diff --git a/chromium-gcc9-r694853.patch b/chromium-gcc9-r694853.patch
new file mode 100644
index 0000000..9a77a30
--- /dev/null
+++ b/chromium-gcc9-r694853.patch
@@ -0,0 +1,51 @@
+From 9662ec844017690d5fd56bf0f05ef6a540dd29c1 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson(a)chromium.org>
+Date: Mon, 9 Sep 2019 19:06:01 +0000
+Subject: [PATCH] Fix GCC build error
+
+Fixes this error:
+[ 375s] In file included from ../../base/task/common/intrusive_heap.h:8,
+[ 375s] from ../../base/task/thread_pool/task_source.h:17,
+[ 375s] from ../../base/task/thread_pool/task_tracker.h:27,
+[ 375s] from ./../../base/task/thread_pool/service_thread.cc:14,
+[ 375s] from gen/base/base_jumbo_28.cc:5:
+[ 375s] ../../base/containers/intrusive_heap.h:152:36: error: enumerator value
+ '-1' is outside the range of underlying type 'size_t' {aka
'long unsigned int'}
+[ 375s] 152 | enum : size_t { kInvalidIndex = -1 };
+[ 375s] |
+
+Change-Id: I6044fb704931b2f8416f6b19a247ae297cd7b0d6
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/1792763
+Commit-Queue: Thomas Anderson <thomasanderson(a)chromium.org>
+Commit-Queue: Lei Zhang <thestig(a)chromium.org>
+Reviewed-by: Lei Zhang <thestig(a)chromium.org>
+Auto-Submit: Thomas Anderson <thomasanderson(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#694853}
+---
+ base/containers/intrusive_heap.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/base/containers/intrusive_heap.h b/base/containers/intrusive_heap.h
+index 53d3909560c7..d7626bbc3986 100644
+--- a/base/containers/intrusive_heap.h
++++ b/base/containers/intrusive_heap.h
+@@ -131,6 +131,7 @@
+
+ #include <algorithm>
+ #include <functional>
++#include <limits>
+ #include <type_traits>
+ #include <utility>
+ #include <vector>
+@@ -149,7 +150,7 @@ namespace base {
+ // in place.
+ class BASE_EXPORT HeapHandle {
+ public:
+- enum : size_t { kInvalidIndex = -1 };
++ enum : size_t { kInvalidIndex = std::numeric_limits<size_t>::max() };
+
+ constexpr HeapHandle() = default;
+ constexpr HeapHandle(const HeapHandle& other) = default;
+--
+2.21.0
+
diff --git a/chromium-gcc9-r696834.patch b/chromium-gcc9-r696834.patch
new file mode 100644
index 0000000..217c66e
--- /dev/null
+++ b/chromium-gcc9-r696834.patch
@@ -0,0 +1,89 @@
+From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Date: Mon, 16 Sep 2019 17:05:42 +0000
+Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with
+ std::vector<>
+
+This fixes the build with libstdc++ (with most other standard libraries
+other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH
+during automatic mode"):
+
+../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7:
error: static_assert failed due to requirement 'is_same<typename remove_cv<const
DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must
have a non-const, non-volatile value_type"
+ static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
+ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../base/no_destructor.h:77:28: note: in instantiation of template class
'std::vector<const net::(anonymous namespace)::DohUpgradeEntry,
std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'
requested here
+ alignas(T) char storage_[sizeof(T)];
+ ^
+../../net/dns/dns_util.cc:147:7: note: in instantiation of template class
'base::NoDestructor<std::vector<const net::(anonymous
namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous
namespace)::DohUpgradeEntry> > >' requested here
+ upgradable_servers({
+ ^
+../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const
std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const
net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin'
function available
+ for (const auto& upgrade_entry : upgradable_servers) {
+ ^ ~~~~~~~~~~~~~~~~~~
+
+The C++ standard forbids containers of const elements. Callers of
+GetDohUpgradeList() use it in a safe way anyway, and most of
+DohUpgradeEntry's members are const.
+
+Bug: 957519
+Change-Id: I826a51823edb1184c0fae27105101e2894efe568
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/1805636
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Commit-Queue: Eric Orth <ericorth(a)chromium.org>
+Reviewed-by: Eric Orth <ericorth(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#696834}
+---
+ net/dns/dns_util.cc | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
+index d83ff7c15024..14997c48b23c 100644
+--- a/net/dns/dns_util.cc
++++ b/net/dns/dns_util.cc
+@@ -139,11 +139,11 @@ struct DohUpgradeEntry {
+ const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
+ };
+
+-const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
++const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
+ // The provider names in these entries should be kept in sync with the
+ // DohProviderId histogram suffix list in
+ // tools/metrics/histograms/histograms.xml.
+- static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
++ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
+ upgradable_servers({
+ DohUpgradeEntry(
+ "CleanBrowsingAdult",
+@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>&
GetDohUpgradeList() {
+ std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
+ const std::vector<IPEndPoint>& dns_servers,
+ const std::vector<std::string>& excluded_providers) {
+- const std::vector<const DohUpgradeEntry>& upgradable_servers =
+- GetDohUpgradeList();
++ const std::vector<DohUpgradeEntry>& upgradable_servers =
GetDohUpgradeList();
+ std::vector<const DohUpgradeEntry*> entries;
+
+ for (const auto& server : dns_servers) {
+@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig>
+ GetDohUpgradeServersFromDotHostname(
+ const std::string& dot_server,
+ const std::vector<std::string>& excluded_providers) {
+- const std::vector<const DohUpgradeEntry>& upgradable_servers =
+- GetDohUpgradeList();
++ const std::vector<DohUpgradeEntry>& upgradable_servers =
GetDohUpgradeList();
+ std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers;
+
+ if (dot_server.empty())
+@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers(
+
+ std::string GetDohProviderIdForHistogramFromDohConfig(
+ const DnsConfig::DnsOverHttpsServerConfig& doh_server) {
+- const std::vector<const DohUpgradeEntry>& upgradable_servers =
+- GetDohUpgradeList();
++ const std::vector<DohUpgradeEntry>& upgradable_servers =
GetDohUpgradeList();
+ for (const auto& upgrade_entry : upgradable_servers) {
+ if (doh_server.server_template ==
+ upgrade_entry.dns_over_https_config.server_template) {
+--
+2.21.0
+
diff --git a/chromium-gcc9-r706467.patch b/chromium-gcc9-r706467.patch
new file mode 100644
index 0000000..a71381d
--- /dev/null
+++ b/chromium-gcc9-r706467.patch
@@ -0,0 +1,48 @@
+From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
+From: Evan Stade <estade(a)chromium.org>
+Date: Wed, 16 Oct 2019 16:01:32 +0000
+Subject: [PATCH] Fix shutdown crash in ProfileManager.
+
+OnProfileMarkedForPermanentDeletion should move from
+ProfileManagerObserver to ProfileObserver, which would also
+fix this bug. However, changing the order of members is the
+quickest and most cherry-pick-able way to avoid the crash.
+
+Bug: 1005244
+Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/1863518
+Auto-Submit: Evan Stade <estade(a)chromium.org>
+Reviewed-by: David Roger <droger(a)chromium.org>
+Commit-Queue: Evan Stade <estade(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#706467}
+---
+ chrome/browser/profiles/profile_manager.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/chrome/browser/profiles/profile_manager.h
b/chrome/browser/profiles/profile_manager.h
+index b60df76d59c1..7d02af7f8f60 100644
+--- a/chrome/browser/profiles/profile_manager.h
++++ b/chrome/browser/profiles/profile_manager.h
+@@ -410,6 +410,10 @@ class ProfileManager : public content::NotificationObserver,
+ const base::FilePath& profile_dir);
+ #endif // !defined(OS_ANDROID)
+
++ // Destroy after |profile_info_cache_| since Profile destruction may trigger
++ // some observers to unregister themselves.
++ base::ObserverList<ProfileManagerObserver> observers_;
++
+ // Object to cache various information about profiles. Contains information
+ // about every profile which has been created for this instance of Chrome,
+ // if it has not been explicitly deleted. It must be destroyed after
+@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver,
+ // Controls whether to initialize some services. Only disabled for testing.
+ bool do_final_services_init_ = true;
+
+- base::ObserverList<ProfileManagerObserver> observers_;
+-
+ // TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc
+ // should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for
+ // consistency with surrounding code in the same file but that wasn't trivial
+--
+2.21.0
+
diff --git a/chromium-system-icu.patch b/chromium-system-icu.patch
new file mode 100644
index 0000000..f00330b
--- /dev/null
+++ b/chromium-system-icu.patch
@@ -0,0 +1,14 @@
+Index:
chromium-76.0.3800.0/third_party/blink/renderer/platform/text/character_property_data.h
+===================================================================
+---
chromium-76.0.3800.0.orig/third_party/blink/renderer/platform/text/character_property_data.h
++++
chromium-76.0.3800.0/third_party/blink/renderer/platform/text/character_property_data.h
+@@ -258,7 +258,7 @@ static const UChar32 kIsHangulRanges[] =
+ 0xFFA0, 0xFFDC,
+ };
+
+-static const UChar32 kIsHangulArray[] = {};
++static const UChar32 kIsHangulArray[] = {0xFFDC,};
+
+ // Freezed trie tree, see character_property_data_generator.cc.
+ extern const int32_t kSerializedCharacterDataSize;
+
diff --git a/chromium-unbundle-zlib.patch b/chromium-unbundle-zlib.patch
new file mode 100644
index 0000000..951a2ad
--- /dev/null
+++ b/chromium-unbundle-zlib.patch
@@ -0,0 +1,13 @@
+diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn
+index 3bc618a..e0ddf6d 100644
+--- a/third_party/perfetto/gn/BUILD.gn
++++ b/third_party/perfetto/gn/BUILD.gn
+@@ -244,7 +244,7 @@ if (enable_perfetto_trace_processor || perfetto_build_standalone ||
+ "//buildtools:zlib",
+ ]
+ } else {
+- public_configs = [ "//third_party/zlib:zlib_config" ]
++ public_configs = [ "//third_party/zlib:system_zlib" ]
+ public_deps = [
+ "//third_party/zlib",
+ ]
diff --git a/chromium-v8-gcc9.patch b/chromium-v8-gcc9.patch
new file mode 100644
index 0000000..8ddb53f
--- /dev/null
+++ b/chromium-v8-gcc9.patch
@@ -0,0 +1,32 @@
+From d16cda8fc3476cc534a756873cc8aa2692a57054 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Thu, 22 Aug 2019 13:13:36 +0200
+Subject: [PATCH] GCC: declare noexcept move constructor/assign operators of
V8StackTraceId
+
+blink::BlinkCloneableMessage declares default implementation of
+move operator/assign operator that requires v8_inspector::V8StackTraceId
+to declare its move constructor/assign operator too.
+
+Bug: chromium:819294
+Change-Id: Iaf626ee8245efcba372a17cdf2de448e691d41d6
+Reviewed-on:
https://chromium-review.googlesource.com/c/v8/v8/+/1796062
+Commit-Queue: José Dapena Paz <jose.dapena(a)lge.com>
+Reviewed-by: Yang Guo <yangguo(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#63799}
+---
+
+diff --git a/v8/include/v8-inspector.h b/v8/include/v8-inspector.h
+index ce5b777..ed4cdec 100644
+--- a/v8/include/v8-inspector.h
++++ b/v8/include/v8-inspector.h
+@@ -231,7 +231,10 @@ struct V8_EXPORT V8StackTraceId {
+ std::pair<int64_t, int64_t> debugger_id;
+
+ V8StackTraceId();
++ V8StackTraceId(const V8StackTraceId&) = default;
+ V8StackTraceId(uintptr_t id, const std::pair<int64_t, int64_t> debugger_id);
++ V8StackTraceId& operator=(const V8StackTraceId&) = default;
++ V8StackTraceId& operator=(V8StackTraceId&&) noexcept = default;
+ ~V8StackTraceId() = default;
+
+ bool IsInvalid() const;
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
new file mode 100644
index 0000000..1dd612a
--- /dev/null
+++ b/enable-vaapi.patch
@@ -0,0 +1,115 @@
+From e04b52fc9b12f0725e76b889161ea45c776e6da5 Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshanbiswas(a)fedoraproject.org>
+Date: Fri, 20 Sep 2019 19:55:45 +0530
+Subject: [PATCH] Enable VAAPI on Linux
+
+---
+ chrome/browser/about_flags.cc | 8 ++++----
+ chrome/browser/flag_descriptions.cc | 9 ++++++---
+ chrome/browser/flag_descriptions.h | 10 ++++++++--
+ gpu/config/software_rendering_list.json | 3 ++-
+ 4 files changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+index e608f06a2..c0776db45 100644
+--- a/chrome/browser/about_flags.cc
++++ b/chrome/browser/about_flags.cc
+@@ -1738,7 +1738,7 @@ const FeatureEntry kFeatureEntries[] = {
+ "disable-accelerated-video-decode",
+ flag_descriptions::kAcceleratedVideoDecodeName,
+ flag_descriptions::kAcceleratedVideoDecodeDescription,
+- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
++ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
+ },
+ {
+@@ -2216,12 +2216,12 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
+ #endif // !defined(OS_ANDROID)
+ #endif // ENABLE_VR
+-#if defined(OS_CHROMEOS)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX)
+ {"disable-accelerated-mjpeg-decode",
+ flag_descriptions::kAcceleratedMjpegDecodeName,
+- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
++ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
+-#endif // OS_CHROMEOS
++#endif // OS_CHROMEOS | OS_LINUX
+ {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
+ flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
+diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
+index d27bbb28f..1c6542bdd 100644
+--- a/chrome/browser/flag_descriptions.cc
++++ b/chrome/browser/flag_descriptions.cc
+@@ -3071,16 +3071,19 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] =
+
+ #endif
+
+-// Chrome OS -------------------------------------------------------------------
+-
+-#if defined(OS_CHROMEOS)
++// Chrome OS and Linux
-------------------------------------------------------------------
+
++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
+ const char kAcceleratedMjpegDecodeName[] =
+ "Hardware-accelerated mjpeg decode for captured frame";
+ const char kAcceleratedMjpegDecodeDescription[] =
+ "Enable hardware-accelerated mjpeg decode for captured frame where "
+ "available.";
++#endif
+
++// Chrome OS
-----------------------------------------------------------------------------
++
++#if defined(OS_CHROMEOS)
+ const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
+ const char kAggregatedMlAppRankingDescription[] =
+ "Use the aggregated ML model to rank the suggested apps.";
+diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
+index 1f8899de1..06544e079 100644
+--- a/chrome/browser/flag_descriptions.h
++++ b/chrome/browser/flag_descriptions.h
+@@ -1822,13 +1822,19 @@ extern const char
kPermissionPromptPersistenceToggleDescription[];
+
+ #endif // defined(OS_MACOSX)
+
+-// Chrome OS ------------------------------------------------------------------
++// Chrome OS and Linux ---------------------------------------------------------
+
+-#if defined(OS_CHROMEOS)
++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
+
+ extern const char kAcceleratedMjpegDecodeName[];
+ extern const char kAcceleratedMjpegDecodeDescription[];
+
++#endif
++
++// Chrome OS -------------------------------------------------------------------
++
++#if defined(OS_CHROMEOS)
++
+ extern const char kAggregatedMlAppRankingName[];
+ extern const char kAggregatedMlAppRankingDescription[];
+
+diff --git a/gpu/config/software_rendering_list.json
b/gpu/config/software_rendering_list.json
+index ea1294e4c..bc52cbc8f 100644
+--- a/gpu/config/software_rendering_list.json
++++ b/gpu/config/software_rendering_list.json
+@@ -334,11 +334,12 @@
+ },
+ {
+ "id": 48,
+- "description": "Accelerated video decode is unavailable on
Linux",
++ "description": "Accelerated VA-API video decode is not supported on
NVIDIA platforms",
+ "cr_bugs": [137247],
+ "os": {
+ "type": "linux"
+ },
++ "vendor_id": "0x10de",
+ "features": [
+ "accelerated_video_decode"
+ ]
+--
+2.21.0
+
diff --git a/fixvaapionintel.patch b/fixvaapionintel.patch
new file mode 100644
index 0000000..a94886a
--- /dev/null
+++ b/fixvaapionintel.patch
@@ -0,0 +1,49 @@
+From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshanbiswas(a)fedoraproject.org>
+Date: Sat, 26 Oct 2019 10:06:30 +0530
+Subject: [PATCH] Move offending function to chromeos only
+
+---
+ media/gpu/vaapi/vaapi_video_decode_accelerator.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+index f04b60f58..3e7865503 100644
+--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+@@ -63,6 +63,7 @@ void ReportToUMA(VAVDADecoderFailure failure) {
+ 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
+@@ -75,6 +76,7 @@ bool IsGeminiLakeOrLater() {
+ cpuid.model() >= kGeminiLakeModelId;
+ return is_geminilake_or_later;
+ }
++#endif
+
+ } // namespace
+
+@@ -1091,6 +1093,8 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
+ 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
+@@ -1107,6 +1111,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
+ 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
+--
+2.21.0
+
diff --git a/py2-bootstrap.patch b/py2-bootstrap.patch
new file mode 100644
index 0000000..9d83256
--- /dev/null
+++ b/py2-bootstrap.patch
@@ -0,0 +1,33 @@
+diff -urN
chromium-71.0.3578.30.orig/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
chromium-71.0.3578.30/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
+---
chromium-71.0.3578.30.orig/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-11-08
14:32:09.783181849 +0300
++++
chromium-71.0.3578.30/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-11-08
14:32:47.160705794 +0300
+@@ -58,7 +58,7 @@
+
+ with tempfile.NamedTemporaryFile() as _:
+ args = [
+- 'python',
++ 'python2',
+ rjsmin_path
+ ]
+ p = subprocess.Popen(args,
+@@ -177,7 +177,7 @@
+ os.path.join(py_vulcanize_path, 'third_party', 'rcssmin',
'rcssmin.py'))
+
+ with tempfile.NamedTemporaryFile() as _:
+- rcssmin_args = ['python', rcssmin_path]
++ rcssmin_args = ['python2', rcssmin_path]
+ p = subprocess.Popen(rcssmin_args,
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+diff -urN chromium-71.0.3578.30.orig/tools/gn/bootstrap/bootstrap.py
chromium-71.0.3578.30/tools/gn/bootstrap/bootstrap.py
+--- chromium-71.0.3578.30.orig/tools/gn/bootstrap/bootstrap.py 2018-11-08
14:33:17.817140200 +0300
++++ chromium-71.0.3578.30/tools/gn/bootstrap/bootstrap.py 2018-11-08 14:33:21.274189185
+0300
+@@ -93,7 +93,7 @@
+ if not options.debug:
+ gn_gen_args += ' is_debug=false'
+ subprocess.check_call([
+- gn_path, 'gen', out_dir,
++ gn_path, 'gen', '--script-executable=/usr/bin/python2',
out_dir,
+ '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
+ ])
+
diff --git a/sources b/sources
index e69de29..9e9cab3 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (chromium-78.0.3904.70.tar.xz) =
95d926ea92a0e744284a4c5fca619e3a067dd0fdfaa7c05b5a069d2a8d1159bf849335e21e5803bd28175c1994bd4ff15337ad0a3063445fab74eef113275545
diff --git a/widevine.patch b/widevine.patch
new file mode 100644
index 0000000..3ecf0e7
--- /dev/null
+++ b/widevine.patch
@@ -0,0 +1,22 @@
+diff -upr chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc
chromium-71.0.3578.80/chrome/common/chrome_content_client.cc
+--- chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc 2018-12-21
20:16:43.000000000 +0000
++++ chromium-71.0.3578.80/chrome/common/chrome_content_client.cc 2018-12-21
21:34:28.658206942 +0000
+@@ -99,7 +99,7 @@
+ // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is
+ // bundled and not a component. When the Widevine CDM is a component, it is
+ // registered in widevine_cdm_component_installer.cc.
+-#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
++#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
+ #define REGISTER_BUNDLED_WIDEVINE_CDM
+ #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck
+ //
TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support
+diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h
chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h
+--- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-03
20:18:01.000000000 +0000
++++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-04
21:37:45.635374949 +0000
+@@ -12,4 +12,6 @@
+ // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
+ // as a string, e.g., "1.0.123.456").
+
++#define WIDEVINE_CDM_VERSION_STRING "unknown"
++
+ #endif // WIDEVINE_CDM_VERSION_H_