diff --git a/Ahem.ttf b/Ahem.ttf deleted file mode 100644 index 4d4785a4123287a5ca08439a6230514de91df0e7..0000000000000000000000000000000000000000 Binary files a/Ahem.ttf and /dev/null differ diff --git a/Arimo-Bold.ttf b/Arimo-Bold.ttf deleted file mode 100644 index eef6ebb2e8140fb33eb5a1002dbf6d7b2761ea91..0000000000000000000000000000000000000000 Binary files a/Arimo-Bold.ttf and /dev/null differ diff --git a/Arimo-BoldItalic.ttf b/Arimo-BoldItalic.ttf deleted file mode 100644 index 2ea1a3328d46bf621ef89b771422efc9991c774f..0000000000000000000000000000000000000000 Binary files a/Arimo-BoldItalic.ttf and /dev/null differ diff --git a/Arimo-Italic.ttf b/Arimo-Italic.ttf deleted file mode 100644 index eb78c138eec5100c8e595519ed3b8ac19c47cfec..0000000000000000000000000000000000000000 Binary files a/Arimo-Italic.ttf and /dev/null differ diff --git a/Arimo-Regular.ttf b/Arimo-Regular.ttf deleted file mode 100644 index 22d58b65bdd0f5d24b1111fb15cf1dffc9341b7e..0000000000000000000000000000000000000000 Binary files a/Arimo-Regular.ttf and /dev/null differ diff --git a/Cousine-Bold.ttf b/Cousine-Bold.ttf deleted file mode 100644 index 6280c7cefb3fa00e3e1f463a214498b8d9e54fe5..0000000000000000000000000000000000000000 Binary files a/Cousine-Bold.ttf and /dev/null differ diff --git a/Cousine-BoldItalic.ttf b/Cousine-BoldItalic.ttf deleted file mode 100644 index 11510a9552a1d56030ebd2c3b746698b824e27bc..0000000000000000000000000000000000000000 Binary files a/Cousine-BoldItalic.ttf and /dev/null differ diff --git a/Cousine-Italic.ttf b/Cousine-Italic.ttf deleted file mode 100644 index 12e0652894843b25b763b7bd842991d72c8bdea1..0000000000000000000000000000000000000000 Binary files a/Cousine-Italic.ttf and /dev/null differ diff --git a/Cousine-Regular.ttf b/Cousine-Regular.ttf deleted file mode 100644 index f67a6c8f82a6419ee066816f28891d010595e43c..0000000000000000000000000000000000000000 Binary files a/Cousine-Regular.ttf and /dev/null differ diff --git a/GardinerModBug.ttf b/GardinerModBug.ttf deleted file mode 100644 index 09f4c3e10f7d3e668dc1181ef4d5155f5295a1ff..0000000000000000000000000000000000000000 Binary files a/GardinerModBug.ttf and /dev/null differ diff --git a/GardinerModCat.ttf b/GardinerModCat.ttf deleted file mode 100644 index 6f6e560961facbb24b48d0ee5f8ef07326924fbc..0000000000000000000000000000000000000000 Binary files a/GardinerModCat.ttf and /dev/null differ diff --git a/INSTALL.sh b/INSTALL.sh new file mode 100644 index 0000000000000000000000000000000000000000..849175325b27b332d6c5fb698782a4cba38801b1 --- /dev/null +++ b/INSTALL.sh @@ -0,0 +1,148 @@ +#!/bin/bash +set -x +while getopts s:o:l:i: option +do +case "${option}" in +s) STAGEDIR=${OPTARG};; +o) OUTPUTDIR=${OPTARG};; +l) LIBDIR=${OPTARG};; +i) ICUDATAFILE=${OPTARG};; +esac +done +SHLIB_PERMS="755" +PROGNAME="chrome" +PACKAGE="chromium-browser" +MENUNAME="Chromium Web Browser" +CHANNEL="stable" +INSTALLDIR="${LIBDIR}/chromium" + +install -m 755 -d \ + "${STAGEDIR}/${INSTALLDIR}" \ + "${STAGEDIR}/usr/bin" \ + "${STAGEDIR}/usr/share/applications" \ + "${STAGEDIR}/usr/share/metainfo" \ + "${STAGEDIR}/usr/share/man/man1" + +# app +buildfile="${OUTPUTDIR}/${PROGNAME}" +install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${PROGNAME}" + +# crashpad +buildfile="${OUTPUTDIR}/chrome_crashpad_handler" +install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/chrome_crashpad_handler" + +# resources +install -m 644 "${OUTPUTDIR}/resources.pak" "${STAGEDIR}/${INSTALLDIR}/" +install -m 644 "${OUTPUTDIR}/chrome_100_percent.pak" "${STAGEDIR}/${INSTALLDIR}/" +install -m 644 "${OUTPUTDIR}/chrome_200_percent.pak" "${STAGEDIR}/${INSTALLDIR}/" + +# ICU data file; Necessary when the GN icu_use_data_file flag is true. +if [ "x$ICUDATAFILE" == "xtrue" ]; then + install -m 644 "${OUTPUTDIR}/icudtl.dat" "${STAGEDIR}/${INSTALLDIR}/" +fi + +# V8 snapshot files; Necessary when the GN v8_use_external_startup_data flag + # is true. + # Use v8_context_snapshot.bin instead of snapshot_blob.bin if it is available. + # TODO(crbug.com/764576): Unship snapshot_blob.bin on ChromeOS and drop this branch +install -m 644 "${OUTPUTDIR}/v8_context_snapshot.bin" "${STAGEDIR}/${INSTALLDIR}/" + +# l10n paks +install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/locales/" +find "${OUTPUTDIR}/locales" -type f -name '*.pak' -print -exec \ + cp -a {} "${STAGEDIR}/${INSTALLDIR}/locales/" \; +find "${STAGEDIR}/${INSTALLDIR}/locales" -type f -print -exec chmod 644 {} \; + +# ANGLE +if [ -f "${OUTPUTDIR}/libEGL.so" ]; then + for file in libEGL.so libGLESv2.so; + do + buildfile="${OUTPUTDIR}/${file}" + install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}" + done +fi + +# ANGLE's libvulkan library +if [ -f "${OUTPUTDIR}/libvulkan.so.1" ]; then + file="libvulkan.so.1" + buildfile="${OUTPUTDIR}/${file}" + install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}" +fi + +# SwiftShader ES +if [ -f "${OUTPUTDIR}/swiftshader/libEGL.so" ]; then + install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/swiftshader/" + for file in libEGL.so libGLESv2.so; + do + buildfile="${OUTPUTDIR}/swiftshader/${file}" + install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/swiftshader/${file}" + done +fi + +# SwiftShader VK +if [ -f "${OUTPUTDIR}/libvk_swiftshader.so" ]; then + install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/" + file="libvk_swiftshader.so" + buildfile="${OUTPUTDIR}/${file}" + install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}" +fi +sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > ${OUTPUTDIR}/vk_swiftshader_icd.json +# Install the ICD json file to point ANGLE to libvk_swiftshader.so +install -m 644 "${OUTPUTDIR}/vk_swiftshader_icd.json" "${STAGEDIR}/${INSTALLDIR}/" + +# QT shim +if [ -f "${OUTPUTDIR}/libqt5_shim.so" ]; then + file="libqt5_shim.so" + buildfile="${OUTPUTDIR}/${file}" + install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}" +fi + +# default apps +if [ -d "${OUTPUTDIR}/default_apps" ]; then + cp -a "${OUTPUTDIR}/default_apps" "${STAGEDIR}/${INSTALLDIR}/" + find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type d -exec chmod 755 '{}' \; + find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type f -exec chmod 644 '{}' \; +fi + +# launcher script and symlink +sed \ + -e "s#@@PROGNAME@@#${PROGNAME}#g" \ + -e "s#@@CHANNEL@@#${CHANNEL}#g" \ + "chrome/installer/linux/common/wrapper" > "${STAGEDIR}/${INSTALLDIR}/chrome-wrapper" +chmod 755 "${STAGEDIR}/${INSTALLDIR}/chrome-wrapper" +ln -s "${INSTALLDIR}/chrome-wrapper" "${STAGEDIR}/usr/bin/${PACKAGE}" + +# app icons +for size in 16 32; +do + icon="chrome/app/theme/default_100_percent/chromium/product_logo_${size}.png" + installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png" + install -D -m 644 ${icon} ${installpath} +done +for size in 24 48 64 128 256; +do + icon="chrome/app/theme/chromium/product_logo_${size}.png" + installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png" + install -D -m 644 ${icon} ${installpath} +done + +# desktop integration +## AppData +install -m 644 "chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml" \ +"${STAGEDIR}/usr/share/metainfo/${PACKAGE}.appdata.xml" + +## Desktop file +sed \ + -e "s#@@MENUNAME@@#${MENUNAME}#g" \ + -e "s#@@USR_BIN_SYMLINK_NAME@@#${PACKAGE}#g" \ + -e "s#@@PACKAGE@@#${PACKAGE}#g" \ + "chrome/installer/linux/common/desktop.template" > "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop" +chmod 644 "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop" + +# documentation +sed \ + -e "s#@@MENUNAME@@#${MENUNAME}#g" \ + -e "s#@@PACKAGE@@#${PACKAGE}#g" \ + "chrome/app/resources/manpage.1.in" > "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1" +gzip -9n "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1" +chmod 644 "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1.gz" diff --git a/MuktiNarrow-0.94.tar.bz2 b/MuktiNarrow-0.94.tar.bz2 deleted file mode 100644 index ff03cc7aed3c0b214e34240529a448ed56f605f3..0000000000000000000000000000000000000000 Binary files a/MuktiNarrow-0.94.tar.bz2 and /dev/null differ diff --git a/Tinos-Bold.ttf b/Tinos-Bold.ttf deleted file mode 100644 index ba009aac25cdb1bbb001809e1aa717fc8dfd0753..0000000000000000000000000000000000000000 Binary files a/Tinos-Bold.ttf and /dev/null differ diff --git a/Tinos-BoldItalic.ttf b/Tinos-BoldItalic.ttf deleted file mode 100644 index 44cf6a70783404ea09df25fb063c924472fc3714..0000000000000000000000000000000000000000 Binary files a/Tinos-BoldItalic.ttf and /dev/null differ diff --git a/Tinos-Italic.ttf b/Tinos-Italic.ttf deleted file mode 100644 index 851621eae8253e5e9890910a87ddbc766e7aa485..0000000000000000000000000000000000000000 Binary files a/Tinos-Italic.ttf and /dev/null differ diff --git a/Tinos-Regular.ttf b/Tinos-Regular.ttf deleted file mode 100644 index 5af0b9e274eb0de89a6870f7b831f5bb0620d9e7..0000000000000000000000000000000000000000 Binary files a/Tinos-Regular.ttf and /dev/null differ diff --git a/chrome-remote-desktop@.service b/chrome-remote-desktop@.service deleted file mode 100644 index 4b5b1fcbfd58d3d23350165ffefb4bff9f7f1918..0000000000000000000000000000000000000000 --- a/chrome-remote-desktop@.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description="Chrome Remote Desktop host daemon" - -[Service] -User=%i -Environment=HOME=%h -ExecStart=@@CRD_PATH@@/chrome-remote-desktop --start --foreground -ExecStop=@@CRD_PATH@@/chrome-remote-desktop --stop -ExecReload=@@CRD_PATH@@/chrome-remote-desktop --reload -Restart=always -TimeoutStopSec=10 - -[Install] -WantedBy=multi-user.target diff --git a/chrome-wrapper b/chrome-wrapper new file mode 100644 index 0000000000000000000000000000000000000000..0f8f5125ded8d8537d660e7f48eb3182d4e8a1da --- /dev/null +++ b/chrome-wrapper @@ -0,0 +1,34 @@ +#!/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. + +# Let the wrapped binary know that it has been run through the wrapper. +export CHROME_WRAPPER="`readlink -f "$0"`" + +HERE="`dirname "$CHROME_WRAPPER"`" + +# Always use our versions of ffmpeg libs. +# This also makes RPMs find the compatibly-named library symlinks. +export LD_LIBRARY_PATH="$HERE${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + +export CHROME_VERSION_EXTRA="stable" + +# We don't want bug-buddy intercepting our crashes. http://crbug.com/24120 +export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME + +# Allow root usage +no_sandbox= +if [ "`id -u`" == "0" ]; then + no_sandbox=--no-sandbox +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) + +# Note: exec -a below is a bashism. +exec -a "$0" "$HERE/chrome" $no_sandbox "$@" diff --git a/chromium-102-regex_pattern-array.patch b/chromium-102-regex_pattern-array.patch new file mode 100644 index 0000000000000000000000000000000000000000..18058b1faa45e4759f23a77f9c1ceed777ce42be --- /dev/null +++ b/chromium-102-regex_pattern-array.patch @@ -0,0 +1,14 @@ +--- a/components/autofill/core/browser/BUILD.gn ++++ b/components/autofill/core/browser/BUILD.gn +@@ -54,6 +54,11 @@ action("regex_patterns_inl_h") { + } + + static_library("browser") { ++ if (is_clang) { ++ cflags = [ ++ "-fbracket-depth=1000", ++ ] ++ } + sources = [ + "address_normalization_manager.cc", + "address_normalization_manager.h", diff --git a/chromium-107-wayland-libffi.patch b/chromium-107-wayland-libffi.patch new file mode 100644 index 0000000000000000000000000000000000000000..d9d8c8a3b220d43ca92c31815c16395a4cce2655 --- /dev/null +++ b/chromium-107-wayland-libffi.patch @@ -0,0 +1,11 @@ +--- chromium-110.0.5481.177/build/config/linux/libffi/BUILD.gn ++++ chromium-110.0.5481.177/build/config/linux/libffi/BUILD.gn.fix-bundled +@@ -10,7 +10,7 @@ + # on Linux, libffi must be statically linked to prevent a situation where the + # runtime version of libffi is different from the build-time version from the + # sysroot. +- use_system_libffi = default_toolchain == "//build/toolchain/cros:target" ++ use_system_libffi = true + } + + if (use_system_libffi) { diff --git a/chromium-114-revert-av1enc.patch b/chromium-114-revert-av1enc.patch new file mode 100644 index 0000000000000000000000000000000000000000..3a01083559d5855e8ba06159873ad4430845f413 --- /dev/null +++ b/chromium-114-revert-av1enc.patch @@ -0,0 +1,121 @@ +diff -up chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc +--- chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me 2023-05-21 10:05:00.357860329 +0200 ++++ chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc 2023-05-21 10:18:09.665432735 +0200 +@@ -41,7 +41,6 @@ + #include "media/gpu/gpu_video_encode_accelerator_helpers.h" + #include "media/gpu/h264_dpb.h" + #include "media/gpu/macros.h" +-#include "media/gpu/vaapi/av1_vaapi_video_encoder_delegate.h" + #include "media/gpu/vaapi/h264_vaapi_video_encoder_delegate.h" + #include "media/gpu/vaapi/va_surface.h" + #include "media/gpu/vaapi/vaapi_common.h" +@@ -200,7 +199,7 @@ bool VaapiVideoEncodeAccelerator::Initia + + const VideoCodec codec = VideoCodecProfileToVideoCodec(config.output_profile); + if (codec != VideoCodec::kH264 && codec != VideoCodec::kVP8 && +- codec != VideoCodec::kVP9 && codec != VideoCodec::kAV1) { ++ codec != VideoCodec::kVP9) { + MEDIA_LOG(ERROR, media_log.get()) + << "Unsupported profile: " << GetProfileName(config.output_profile); + return false; +@@ -293,7 +292,6 @@ void VaapiVideoEncodeAccelerator::Initia + break; + case VideoCodec::kVP8: + case VideoCodec::kVP9: +- case VideoCodec::kAV1: + mode = VaapiWrapper::kEncodeConstantQuantizationParameter; + break; + default: +@@ -356,12 +354,6 @@ void VaapiVideoEncodeAccelerator::Initia + vaapi_wrapper_, error_cb); + } + break; +- case VideoCodec::kAV1: +- if (!IsConfiguredForTesting()) { +- encoder_ = std::make_unique( +- vaapi_wrapper_, error_cb); +- } +- break; + default: + NOTREACHED() << "Unsupported codec type " << GetCodecName(output_codec_); + return; +@@ -835,10 +827,6 @@ VaapiVideoEncodeAccelerator::CreateEncod + case VideoCodec::kVP9: + picture = new VaapiVP9Picture(std::move(reconstructed_surface)); + break; +- case VideoCodec::kAV1: +- picture = new VaapiAV1Picture(/*display_va_surface=*/nullptr, +- std::move(reconstructed_surface)); +- break; + default: + return nullptr; + } +diff -up chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/BUILD.gn +--- chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200 ++++ chromium-114.0.5735.35/media/gpu/BUILD.gn 2023-05-20 13:14:10.755183630 +0200 +@@ -373,10 +373,7 @@ source_set("common") { + "vp9_svc_layers.h", + ] + configs += [ "//third_party/libvpx:libvpx_config" ] +- deps += [ +- "//third_party/libaom:libaomrc", +- "//third_party/libvpx:libvpxrc", +- ] ++ deps += [ "//third_party/libvpx:libvpxrc" ] + } + if (use_libgav1_parser) { + sources += [ +diff -up chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn +--- chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200 ++++ chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn 2023-05-20 13:14:10.756183626 +0200 +@@ -38,8 +38,6 @@ source_set("vaapi") { + sources = [ + "av1_vaapi_video_decoder_delegate.cc", + "av1_vaapi_video_decoder_delegate.h", +- "av1_vaapi_video_encoder_delegate.cc", +- "av1_vaapi_video_encoder_delegate.h", + "h264_vaapi_video_decoder_delegate.cc", + "h264_vaapi_video_decoder_delegate.h", + "h264_vaapi_video_encoder_delegate.cc", +@@ -107,7 +105,6 @@ source_set("vaapi") { + "//media/gpu/chromeos:common", + "//media/parsers", + "//mojo/public/cpp/bindings", +- "//third_party/libaom:libaomrc", + "//third_party/libvpx:libvpxrc", + "//third_party/libyuv", + "//ui/gfx", +diff -up chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc.me chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc +--- chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc.me 2023-11-02 15:08:30.921325747 +0100 ++++ chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc 2023-11-02 15:09:46.123692602 +0100 +@@ -3124,6 +3124,7 @@ bool VaapiWrapper::GetSupportedPackedHea + return true; + } + ++#if 0 //disable AV1 due to old libva + bool VaapiWrapper::GetMinAV1SegmentSize(VideoCodecProfile profile, + uint32_t& min_seg_size) { + CHECK(!enforce_sequence_affinity_ || +@@ -3141,6 +3142,7 @@ bool VaapiWrapper::GetMinAV1SegmentSize( + + return true; + } ++#endif + + bool VaapiWrapper::BlitSurface(const VASurface& va_surface_src, + const VASurface& va_surface_dest, +diff -up chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h.me chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h +--- chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h.me 2023-11-02 15:09:58.973928395 +0100 ++++ chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h 2023-11-02 15:10:45.990791114 +0100 +@@ -553,9 +553,11 @@ class MEDIA_GPU_EXPORT VaapiWrapper + bool& packed_pps, + bool& packed_slice); + ++#if 0 //disable AV1 due to old libva + // Gets the minimum segment block size supported for AV1 encoding. + [[nodiscard]] bool GetMinAV1SegmentSize(VideoCodecProfile profile, + uint32_t& min_seg_size); ++#endif + + // Blits a VASurface |va_surface_src| into another VASurface + // |va_surface_dest| applying pixel format conversion, cropping diff --git a/chromium-114-rxvk-MemoryTracking.patch b/chromium-114-rxvk-MemoryTracking.patch new file mode 100644 index 0000000000000000000000000000000000000000..3b4e543ce57e60c6acc9637d9254ab912cdeb613 --- /dev/null +++ b/chromium-114-rxvk-MemoryTracking.patch @@ -0,0 +1,40 @@ +diff --git a/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.h b/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.h +index 3852dc5eea..dd0a38743d 100644 +--- a/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.h ++++ b/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.h +@@ -122,7 +122,20 @@ class MemoryReport final : angle::NonCopyable + angle::HashMap mUniqueIDCounts; + }; + } // namespace vk ++} // namespace rx ++ ++// Introduce std::hash for MemoryAllocInfoMapKey. ++namespace std ++{ ++template <> ++struct hash ++{ ++ size_t operator()(const rx::vk::MemoryAllocInfoMapKey &key) const { return key.hash(); } ++}; ++} // namespace std + ++namespace rx ++{ + // Memory tracker for allocations and deallocations, which is used in RendererVk. + class MemoryAllocationTracker : angle::NonCopyable + { +@@ -202,14 +215,4 @@ class MemoryAllocationTracker : angle::NonCopyable + }; + } // namespace rx + +-// Introduce std::hash for MemoryAllocInfoMapKey. +-namespace std +-{ +-template <> +-struct hash +-{ +- size_t operator()(const rx::vk::MemoryAllocInfoMapKey &key) const { return key.hash(); } +-}; +-} // namespace std +- + #endif // LIBANGLE_RENDERER_VULKAN_MEMORYTRACKING_H_ diff --git a/chromium-115-compiler-SkColor4f.patch b/chromium-115-compiler-SkColor4f.patch new file mode 100644 index 0000000000000000000000000000000000000000..7e17cb0f66e32c34021ca9a4020b0a07ee4c3d3c --- /dev/null +++ b/chromium-115-compiler-SkColor4f.patch @@ -0,0 +1,26 @@ +diff -up chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc +--- chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me 2023-06-24 10:38:11.011511463 +0200 ++++ chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc 2023-06-24 13:07:35.865375884 +0200 +@@ -84,6 +84,7 @@ CanvasStyle::CanvasStyle(const CanvasSty + + void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags, + float global_alpha) const { ++ SkColor4f custom_color = SkColor4f{0.0f, 0.0f, 0.0f, global_alpha}; + switch (type_) { + case kColor: + ApplyColorToFlags(flags, global_alpha); +@@ -91,12 +92,12 @@ void CanvasStyle::ApplyToFlags(cc::Paint + case kGradient: + GetCanvasGradient()->GetGradient()->ApplyToFlags(flags, SkMatrix::I(), + ImageDrawOptions()); +- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha)); ++ flags.setColor(custom_color); + break; + case kImagePattern: + GetCanvasPattern()->GetPattern()->ApplyToFlags( + flags, AffineTransformToSkMatrix(GetCanvasPattern()->GetTransform())); +- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha)); ++ flags.setColor(custom_color); + break; + default: + NOTREACHED(); diff --git a/chromium-117-string-convert.patch b/chromium-117-string-convert.patch new file mode 100644 index 0000000000000000000000000000000000000000..cb48e4b21a617d9de0de7d13313e32e39e3a920c --- /dev/null +++ b/chromium-117-string-convert.patch @@ -0,0 +1,21 @@ +diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc +diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me chromium-117.0.5938.62/net/dns/host_resolver_cache.h +--- chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me 2023-09-14 15:21:24.632965004 +0200 ++++ chromium-117.0.5938.62/net/dns/host_resolver_cache.h 2023-09-15 09:15:48.511300845 +0200 +@@ -143,12 +143,14 @@ class NET_EXPORT HostResolverCache final + } + + bool operator()(const Key& lhs, const KeyRef& rhs) const { ++ const std::string rhs_domain_name{rhs.domain_name}; + return std::tie(lhs.domain_name, lhs.network_anonymization_key) < +- std::tie(rhs.domain_name, *rhs.network_anonymization_key); ++ std::tie(rhs_domain_name, *rhs.network_anonymization_key); + } + + bool operator()(const KeyRef& lhs, const Key& rhs) const { +- return std::tie(lhs.domain_name, *lhs.network_anonymization_key) < ++ const std::string lhs_domain_name{lhs.domain_name}; ++ return std::tie(lhs_domain_name, *lhs.network_anonymization_key) < + std::tie(rhs.domain_name, rhs.network_anonymization_key); + } + }; diff --git a/chromium-119-compiler.patch b/chromium-119-compiler.patch new file mode 100644 index 0000000000000000000000000000000000000000..563f4154840201a582f415e81c5d3d99577c2180 --- /dev/null +++ b/chromium-119-compiler.patch @@ -0,0 +1,278 @@ +From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Tue, 15 Nov 2022 10:27:58 +0000 +Subject: [PATCH] Disable various compiler configs + +--- + build/config/compiler/BUILD.gn | 134 +++++---------------------------- + 1 file changed, 17 insertions(+), 117 deletions(-) + +Index: chromium-119.0.6045.123/build/config/compiler/BUILD.gn +=================================================================== +--- chromium-119.0.6045.123.orig/build/config/compiler/BUILD.gn ++++ chromium-119.0.6045.123/build/config/compiler/BUILD.gn +@@ -314,9 +314,7 @@ config("compiler") { + + configs += [ + # See the definitions below. +- ":clang_revision", + ":rustc_revision", +- ":compiler_cpu_abi", + ":compiler_codegen", + ":compiler_deterministic", + ] +@@ -580,37 +578,6 @@ config("compiler") { + ldflags += [ "-Wl,-z,keep-text-section-prefix" ] + } + +- if (is_clang && !is_nacl && current_os != "zos") { +- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] +- if (save_reproducers_on_lld_crash && use_lld) { +- ldflags += [ +- "-fcrash-diagnostics=all", +- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, +- ] +- } +- +- # TODO(hans): Remove this once Clang generates better optimized debug info +- # by default. https://crbug.com/765793 +- cflags += [ +- "-mllvm", +- "-instcombine-lower-dbg-declare=0", +- ] +- if (!is_debug && use_thin_lto && is_a_target_toolchain) { +- if (is_win) { +- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] +- } else { +- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] +- } +- } +- +- # TODO(crbug.com/1235145): Investigate why/if this should be needed. +- if (is_win) { +- cflags += [ "/clang:-ffp-contract=off" ] +- } else { +- cflags += [ "-ffp-contract=off" ] +- } +- } +- + # C11/C++11 compiler flags setup. + # --------------------------- + if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || +@@ -1474,46 +1441,6 @@ config("compiler_deterministic") { + } + } + +- # Makes builds independent of absolute file path. +- if (is_clang && strip_absolute_paths_from_debug_symbols) { +- # If debug option is given, clang includes $cwd in debug info by default. +- # For such build, this flag generates reproducible obj files even we use +- # different build directory like "out/feature_a" and "out/feature_b" if +- # we build same files with same compile flag. +- # Other paths are already given in relative, no need to normalize them. +- if (is_nacl) { +- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. +- cflags += [ +- "-Xclang", +- "-fdebug-compilation-dir", +- "-Xclang", +- ".", +- ] +- } else { +- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= +- # and -fcoverage-compilation-dir=. +- cflags += [ "-ffile-compilation-dir=." ] +- swiftflags += [ "-file-compilation-dir=." ] +- } +- if (!is_win) { +- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) +- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] +- } +- +- if (is_win && use_lld) { +- if (symbol_level == 2 || (is_clang && using_sanitizer)) { +- # Absolutize source file paths for PDB. Pass the real build directory +- # if the pdb contains source-level debug information and if linker +- # reproducibility is not critical. +- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] +- } else { +- # Use a fake fixed base directory for paths in the pdb to make the pdb +- # output fully deterministic and independent of the build directory. +- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] +- } +- } +- } +- + # Tells the compiler not to use absolute paths when passing the default + # paths to the tools it invokes. We don't want this because we don't + # really need it and it can mess up the goma cache entries. +@@ -1532,27 +1459,6 @@ config("compiler_deterministic") { + } + } + +-config("clang_revision") { +- if (is_clang && clang_base_path == default_clang_base_path) { +- update_args = [ +- "--print-revision", +- "--verify-version=$clang_version", +- ] +- if (llvm_force_head_revision) { +- update_args += [ "--llvm-force-head-revision" ] +- } +- clang_revision = exec_script("//tools/clang/scripts/update.py", +- update_args, +- "trim string") +- +- # This is here so that all files get recompiled after a clang roll and +- # when turning clang on or off. (defines are passed via the command line, +- # and build system rebuild things when their commandline changes). Nothing +- # should ever read this define. +- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] +- } +-} +- + config("rustc_revision") { + if (rustc_revision != "") { + # Similar to the above config, this is here so that all files get recompiled +@@ -1915,10 +1821,6 @@ config("chromium_code") { + } + } else { + cflags = [ "-Wall" ] +- if (is_clang) { +- # Enable extra warnings for chromium_code when we control the compiler. +- cflags += [ "-Wextra" ] +- } + + # In Chromium code, we define __STDC_foo_MACROS in order to get the + # C99 macros on Mac and Linux. +@@ -1927,23 +1829,6 @@ config("chromium_code") { + "__STDC_FORMAT_MACROS", + ] + +- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && +- current_cpu != "s390" && current_cpu != "ppc64" && +- current_cpu != "mips" && current_cpu != "mips64" && +- current_cpu != "riscv64" && current_cpu != "loong64") { +- # Non-chromium code is not guaranteed to compile cleanly with +- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are +- # disabled, so only do that for Release build. +- fortify_level = "2" +- +- # ChromeOS supports a high-quality _FORTIFY_SOURCE=3 implementation +- # with a few custom glibc patches. Use that if it's available. +- if (is_chromeos_ash) { +- fortify_level = "3" +- } +- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] +- } +- + if (is_apple) { + cflags_objc = [ "-Wimplicit-retain-self" ] + cflags_objcc = [ "-Wimplicit-retain-self" ] +@@ -2326,7 +2211,8 @@ config("default_stack_frames") { + } + + # Default "optimization on" config. +-config("optimize") { ++config("optimize") { } ++config("xoptimize") { + if (is_win) { + if (chrome_pgo_phase != 2) { + # Favor size over speed, /O1 must be before the common flags. +@@ -2385,7 +2271,8 @@ config("optimize") { + } + + # Turn off optimizations. +-config("no_optimize") { ++config("no_optimize") { } ++config("xno_optimize") { + if (is_win) { + cflags = [ + "/Od", # Disable optimization. +@@ -2425,7 +2312,8 @@ config("no_optimize") { + # Turns up the optimization level. On Windows, this implies whole program + # optimization and link-time code generation which is very expensive and should + # be used sparingly. +-config("optimize_max") { ++config("optimize_max") { } ++config("xoptimize_max") { + if (is_nacl && is_nacl_irt) { + # The NaCl IRT is a special case and always wants its own config. + # Various components do: +@@ -2458,7 +2346,8 @@ config("optimize_max") { + # + # TODO(crbug.com/621335) - rework how all of these configs are related + # so that we don't need this disclaimer. +-config("optimize_speed") { ++config("optimize_speed") { } ++config("xoptimize_speed") { + if (is_nacl && is_nacl_irt) { + # The NaCl IRT is a special case and always wants its own config. + # Various components do: +@@ -2484,7 +2373,8 @@ config("optimize_speed") { + } + } + +-config("optimize_fuzzing") { ++config("optimize_fuzzing") { } ++config("xoptimize_fuzzing") { + cflags = [ "-O1" ] + common_optimize_on_cflags + rustflags = [ "-Copt-level=1" ] + ldflags = common_optimize_on_ldflags +@@ -2617,7 +2507,8 @@ config("win_pdbaltpath") { + } + + # Full symbols. +-config("symbols") { ++config("symbols") { } ++config("xsymbols") { + rustflags = [] + if (is_win) { + if (is_clang) { +@@ -2766,7 +2657,8 @@ config("symbols") { + # Minimal symbols. + # This config guarantees to hold symbol for stack trace which are shown to user + # when crash happens in unittests running on buildbot. +-config("minimal_symbols") { ++config("minimal_symbols") { } ++config("xminimal_symbols") { + rustflags = [] + if (is_win) { + # Functions, files, and line tables only. +@@ -2851,7 +2743,8 @@ config("minimal_symbols") { + # This configuration contains function names only. That is, the compiler is + # told to not generate debug information and the linker then just puts function + # names in the final debug information. +-config("no_symbols") { ++config("no_symbols") { } ++config("xno_symbols") { + if (is_win) { + ldflags = [ "/DEBUG" ] + +Index: chromium-117.0.5938.22/third_party/blink/renderer/core/BUILD.gn +=================================================================== +--- chromium-117.0.5938.22.orig/third_party/blink/renderer/core/BUILD.gn ++++ chromium-117.0.5938.22/third_party/blink/renderer/core/BUILD.gn +@@ -1694,8 +1694,6 @@ action_foreach("element_locator_test_pro + python_path_root = "${root_out_dir}/pyproto" + python_path_proto = "${python_path_root}/third_party/blink/renderer/core/lcp_critical_path_predictor" + +- mnemonic = "ELOC_PROTO" +- + source_dir = "lcp_critical_path_predictor/test_proto" + sources = rebase_path([ "lcp_image_id.asciipb" ], "", source_dir) + +Index: chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn +=================================================================== +--- chromium-120.0.6099.35.orig/build/config/linux/atspi2/BUILD.gn ++++ chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn +@@ -21,6 +21,9 @@ if (use_atk) { + minor = atspi_version[1] + micro = atspi_version[2] + ++ # gn workaround for the error: Assignment had no effect ++ print("ATSPI Version: $major.$minor.$micro") ++ + # ATSPI 2.49.90 now defines these for us and it's an error for us to + # redefine them on the compiler command line. + # See ATSPI 927344a34cd5bf81fc64da4968241735ecb4f03b diff --git a/chromium-119-nullptr_t-without-namespace-std.patch b/chromium-119-nullptr_t-without-namespace-std.patch new file mode 100644 index 0000000000000000000000000000000000000000..5cb969f4f40cf72e909b1517b73d891b829185cd --- /dev/null +++ b/chromium-119-nullptr_t-without-namespace-std.patch @@ -0,0 +1,21 @@ +diff -up chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h +--- chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me 2023-10-27 20:07:16.421230815 +0200 ++++ chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-10-27 20:07:36.883600085 +0200 +@@ -52,7 +52,7 @@ class FragmentDataIterator + public: + explicit FragmentDataIterator(const LayoutObject& object) + : FragmentDataIteratorBase(&object.FirstFragment()) {} +- explicit FragmentDataIterator(nullptr_t) ++ explicit FragmentDataIterator(std::nullptr_t) + : FragmentDataIteratorBase(nullptr) {} + }; + +@@ -63,7 +63,7 @@ class MutableFragmentDataIterator + explicit MutableFragmentDataIterator(const LayoutObject& object) + : FragmentDataIteratorBase( + &object.GetMutableForPainting().FirstFragment()) {} +- explicit MutableFragmentDataIterator(nullptr_t) ++ explicit MutableFragmentDataIterator(std::nullptr_t) + : FragmentDataIteratorBase(nullptr) {} + }; + diff --git a/chromium-119.0.6045.159.tar.xz b/chromium-119.0.6045.159.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..d96c7efbfec2814ae0301ad054dc8d9fc416c9b5 --- /dev/null +++ b/chromium-119.0.6045.159.tar.xz @@ -0,0 +1 @@ +FOO \ No newline at end of file diff --git a/chromium-120-emplace-struct.patch b/chromium-120-emplace-struct.patch new file mode 100644 index 0000000000000000000000000000000000000000..66ca82ded70e247b4c8d2592d9cf1aafade957e6 --- /dev/null +++ b/chromium-120-emplace-struct.patch @@ -0,0 +1,42 @@ +diff --git a/shared_image_backing.h b/shared_image_backing.h.new +index 97ebd0b..fc6179c 100644 +--- a/gpu/command_buffer/service/shared_image/shared_image_backing.h ++++ b/gpu/command_buffer/service/shared_image/shared_image_backing.h +@@ -338,7 +338,7 @@ class GPU_GLES2_EXPORT SharedImageBacking { + private: + class ScopedWriteUMA { + public: +- ScopedWriteUMA() = default; ++ ScopedWriteUMA() : content_consumed_(false) {} + + ScopedWriteUMA(const ScopedWriteUMA&) = delete; + ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete; +@@ -352,7 +352,7 @@ class GPU_GLES2_EXPORT SharedImageBacking { + void SetConsumed() { content_consumed_ = true; } + + private: +- bool content_consumed_ = false; ++ bool content_consumed_; + }; + + const Mailbox mailbox_; +diff --git a/history_item.h b/history_item.h.new +index 15fea48..ba59305 100644 +--- a/third_party/blink/renderer/core/loader/history_item.h ++++ b/third_party/blink/renderer/core/loader/history_item.h +@@ -77,13 +77,13 @@ class CORE_EXPORT HistoryItem final : public GarbageCollected { + DISALLOW_NEW(); + + public: +- ViewState() = default; ++ ViewState() : page_scale_factor_(0) {} + ViewState(const ViewState&) = default; + ViewState& operator=(const ViewState&) = default; + + ScrollOffset visual_viewport_scroll_offset_; + ScrollOffset scroll_offset_; +- float page_scale_factor_ = 0; ++ float page_scale_factor_; + ScrollAnchorData scroll_anchor_data_; + }; + diff --git a/chromium-120-emplace.patch b/chromium-120-emplace.patch new file mode 100644 index 0000000000000000000000000000000000000000..459cf0ced313a5adcad0dc5144b45cfa6e48a67b --- /dev/null +++ b/chromium-120-emplace.patch @@ -0,0 +1,476 @@ +Index: chromium-120.0.6099.129/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc +=================================================================== +--- chromium-120.0.6099.129.orig/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc ++++ chromium-120.0.6099.129/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc +@@ -508,7 +508,7 @@ absl::optional L + if (!enabled.Get()) { + return config; + } +- config.emplace(); ++ config.emplace(Config()); + config->bandwidth_rampup_upper_bound_factor = + bandwidth_rampup_upper_bound_factor.Get(); + config->rampup_acceleration_max_factor = rampup_acceleration_max_factor.Get(); +Index: chromium-120.0.6099.129/ui/gfx/x/generated_protos/randr.cc +=================================================================== +--- chromium-120.0.6099.129.orig/ui/gfx/x/generated_protos/randr.cc ++++ chromium-120.0.6099.129/ui/gfx/x/generated_protos/randr.cc +@@ -304,7 +304,7 @@ void ReadEvent(RandR::NotifyEvent* event_, + // data + auto data_expr = subCode; + if (CaseEq(data_expr, RandR::Notify::CrtcChange)) { +- data.cc.emplace(); ++ data.cc.emplace(RandR::NotifyEvent::Cc()); + auto& timestamp = (*data.cc).timestamp; + auto& window = (*data.cc).window; + auto& crtc = (*data.cc).crtc; +@@ -348,7 +348,7 @@ void ReadEvent(RandR::NotifyEvent* event_, + Read(&height, &buf); + } + if (CaseEq(data_expr, RandR::Notify::OutputChange)) { +- data.oc.emplace(); ++ data.oc.emplace(RandR::NotifyEvent::Oc()); + auto& timestamp = (*data.oc).timestamp; + auto& config_timestamp = (*data.oc).config_timestamp; + auto& window = (*data.oc).window; +@@ -393,7 +393,7 @@ void ReadEvent(RandR::NotifyEvent* event_, + subpixel_order = static_cast(tmp6); + } + if (CaseEq(data_expr, RandR::Notify::OutputProperty)) { +- data.op.emplace(); ++ data.op.emplace(RandR::NotifyEvent::Op()); + auto& window = (*data.op).window; + auto& output = (*data.op).output; + auto& atom = (*data.op).atom; +@@ -421,7 +421,7 @@ void ReadEvent(RandR::NotifyEvent* event_, + Pad(&buf, 11); + } + if (CaseEq(data_expr, RandR::Notify::ProviderChange)) { +- data.pc.emplace(); ++ data.pc.emplace(RandR::NotifyEvent::Pc()); + auto& timestamp = (*data.pc).timestamp; + auto& window = (*data.pc).window; + auto& provider = (*data.pc).provider; +@@ -439,7 +439,7 @@ void ReadEvent(RandR::NotifyEvent* event_, + Pad(&buf, 16); + } + if (CaseEq(data_expr, RandR::Notify::ProviderProperty)) { +- data.pp.emplace(); ++ data.pp.emplace(RandR::NotifyEvent::Pp()); + auto& window = (*data.pp).window; + auto& provider = (*data.pp).provider; + auto& atom = (*data.pp).atom; +@@ -465,7 +465,7 @@ void ReadEvent(RandR::NotifyEvent* event_, + Pad(&buf, 11); + } + if (CaseEq(data_expr, RandR::Notify::ResourceChange)) { +- data.rc.emplace(); ++ data.rc.emplace(RandR::NotifyEvent::Rc()); + auto& timestamp = (*data.rc).timestamp; + auto& window = (*data.rc).window; + +@@ -479,7 +479,7 @@ void ReadEvent(RandR::NotifyEvent* event_, + Pad(&buf, 20); + } + if (CaseEq(data_expr, RandR::Notify::Lease)) { +- data.lc.emplace(); ++ data.lc.emplace(RandR::NotifyEvent::Lc()); + auto& timestamp = (*data.lc).timestamp; + auto& window = (*data.lc).window; + auto& lease = (*data.lc).lease; +Index: chromium-120.0.6099.129/ui/gfx/x/generated_protos/xkb.cc +=================================================================== +--- chromium-120.0.6099.129.orig/ui/gfx/x/generated_protos/xkb.cc ++++ chromium-120.0.6099.129/ui/gfx/x/generated_protos/xkb.cc +@@ -5284,7 +5284,7 @@ std::unique_ptr detail::ReadReply< + if (CaseAnd(replies_expr, Xkb::GBNDetail::Types) || + CaseAnd(replies_expr, Xkb::GBNDetail::ClientSymbols) || + CaseAnd(replies_expr, Xkb::GBNDetail::ServerSymbols)) { +- replies.types.emplace(); ++ replies.types.emplace(Xkb::GetKbdByNameReply::Types()); + auto& getmap_type = (*replies.types).getmap_type; + auto& typeDeviceID = (*replies.types).typeDeviceID; + auto& getmap_sequence = (*replies.types).getmap_sequence; +@@ -5716,7 +5716,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseAnd(replies_expr, Xkb::GBNDetail::CompatMap)) { +- replies.compat_map.emplace(); ++ replies.compat_map.emplace(Xkb::GetKbdByNameReply::CompatMap()); + auto& compatmap_type = (*replies.compat_map).compatmap_type; + auto& compatDeviceID = (*replies.compat_map).compatDeviceID; + auto& compatmap_sequence = (*replies.compat_map).compatmap_sequence; +@@ -5840,7 +5840,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseAnd(replies_expr, Xkb::GBNDetail::IndicatorMaps)) { +- replies.indicator_maps.emplace(); ++ replies.indicator_maps.emplace(Xkb::GetKbdByNameReply::IndicatorMaps()); + auto& indicatormap_type = (*replies.indicator_maps).indicatormap_type; + auto& indicatorDeviceID = (*replies.indicator_maps).indicatorDeviceID; + auto& indicatormap_sequence = +@@ -5934,7 +5934,7 @@ std::unique_ptr detail::ReadReply< + } + if (CaseAnd(replies_expr, Xkb::GBNDetail::KeyNames) || + CaseAnd(replies_expr, Xkb::GBNDetail::OtherNames)) { +- replies.key_names.emplace(); ++ replies.key_names.emplace(Xkb::GetKbdByNameReply::KeyNames()); + auto& keyname_type = (*replies.key_names).keyname_type; + auto& keyDeviceID = (*replies.key_names).keyDeviceID; + auto& keyname_sequence = (*replies.key_names).keyname_sequence; +@@ -6193,7 +6193,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseAnd(replies_expr, Xkb::GBNDetail::Geometry)) { +- replies.geometry.emplace(); ++ replies.geometry.emplace(Xkb::GetKbdByNameReply::Geometry()); + auto& geometry_type = (*replies.geometry).geometry_type; + auto& geometryDeviceID = (*replies.geometry).geometryDeviceID; + auto& geometry_sequence = (*replies.geometry).geometry_sequence; +Index: chromium-120.0.6099.129/mojo/public/cpp/bindings/lib/multiplex_router.cc +=================================================================== +--- chromium-120.0.6099.129.orig/mojo/public/cpp/bindings/lib/multiplex_router.cc ++++ chromium-120.0.6099.129/mojo/public/cpp/bindings/lib/multiplex_router.cc +@@ -870,7 +870,7 @@ bool MultiplexRouter::ExclusiveSyncWaitForReply(InterfaceId interface_id, + DCHECK(!exclusive_sync_wait_); + + scoped_refptr keep_alive(this); +- exclusive_sync_wait_.emplace(); ++ exclusive_sync_wait_.emplace(MultiplexRouter::ExclusiveSyncWaitInfo()); + exclusive_sync_wait_->interface_id = interface_id; + exclusive_sync_wait_->request_id = request_id; + while (!exclusive_sync_wait_->finished) { +Index: chromium-120.0.6099.129/ui/gfx/x/generated_protos/xinput.cc +=================================================================== +--- chromium-120.0.6099.129.orig/ui/gfx/x/generated_protos/xinput.cc ++++ chromium-120.0.6099.129/ui/gfx/x/generated_protos/xinput.cc +@@ -566,7 +566,7 @@ void ReadEvent(Input::DeviceChangedEvent* event_, + // data + auto data_expr = type; + if (CaseEq(data_expr, Input::DeviceClassType::Key)) { +- data.key.emplace(); ++ data.key.emplace(Input::DeviceClass::Key()); + uint16_t num_keys{}; + auto& keys = (*data.key).keys; + size_t keys_len = keys.size(); +@@ -582,7 +582,7 @@ void ReadEvent(Input::DeviceChangedEvent* event_, + } + } + if (CaseEq(data_expr, Input::DeviceClassType::Button)) { +- data.button.emplace(); ++ data.button.emplace(Input::DeviceClass::Button()); + uint16_t num_buttons{}; + auto& state = (*data.button).state; + size_t state_len = state.size(); +@@ -607,7 +607,7 @@ void ReadEvent(Input::DeviceChangedEvent* event_, + } + } + if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) { +- data.valuator.emplace(); ++ data.valuator.emplace(Input::DeviceClass::Valuator()); + auto& number = (*data.valuator).number; + auto& label = (*data.valuator).label; + auto& min = (*data.valuator).min; +@@ -670,7 +670,7 @@ void ReadEvent(Input::DeviceChangedEvent* event_, + Pad(&buf, 3); + } + if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) { +- data.scroll.emplace(); ++ data.scroll.emplace(Input::DeviceClass::Scroll()); + auto& number = (*data.scroll).number; + auto& scroll_type = (*data.scroll).scroll_type; + auto& flags = (*data.scroll).flags; +@@ -705,7 +705,7 @@ void ReadEvent(Input::DeviceChangedEvent* event_, + } + } + if (CaseEq(data_expr, Input::DeviceClassType::Touch)) { +- data.touch.emplace(); ++ data.touch.emplace(Input::DeviceClass::Touch()); + auto& mode = (*data.touch).mode; + auto& num_touches = (*data.touch).num_touches; + +@@ -718,7 +718,7 @@ void ReadEvent(Input::DeviceChangedEvent* event_, + Read(&num_touches, &buf); + } + if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) { +- data.gesture.emplace(); ++ data.gesture.emplace(Input::DeviceClass::Gesture()); + auto& num_touches = (*data.gesture).num_touches; + + // num_touches +@@ -2205,7 +2205,7 @@ std::unique_ptr detail::ReadReply< + // info + auto info_expr = class_id; + if (CaseEq(info_expr, Input::InputClass::Key)) { +- info.key.emplace(); ++ info.key.emplace(Input::InputInfo::Key()); + auto& min_keycode = (*info.key).min_keycode; + auto& max_keycode = (*info.key).max_keycode; + auto& num_keys = (*info.key).num_keys; +@@ -2223,14 +2223,14 @@ std::unique_ptr detail::ReadReply< + Pad(&buf, 2); + } + if (CaseEq(info_expr, Input::InputClass::Button)) { +- info.button.emplace(); ++ info.button.emplace(Input::InputInfo::Button()); + auto& num_buttons = (*info.button).num_buttons; + + // num_buttons + Read(&num_buttons, &buf); + } + if (CaseEq(info_expr, Input::InputClass::Valuator)) { +- info.valuator.emplace(); ++ info.valuator.emplace(Input::InputInfo::Valuator()); + uint8_t axes_len{}; + auto& mode = (*info.valuator).mode; + auto& motion_size = (*info.valuator).motion_size; +@@ -3843,7 +3843,7 @@ std::unique_ptr detail::ReadReply< + // data + auto data_expr = class_id; + if (CaseEq(data_expr, Input::FeedbackClass::Keyboard)) { +- data.keyboard.emplace(); ++ data.keyboard.emplace(Input::FeedbackState::Keyboard()); + auto& pitch = (*data.keyboard).pitch; + auto& duration = (*data.keyboard).duration; + auto& led_mask = (*data.keyboard).led_mask; +@@ -3885,7 +3885,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::FeedbackClass::Pointer)) { +- data.pointer.emplace(); ++ data.pointer.emplace(Input::FeedbackState::Pointer()); + auto& accel_num = (*data.pointer).accel_num; + auto& accel_denom = (*data.pointer).accel_denom; + auto& threshold = (*data.pointer).threshold; +@@ -3903,7 +3903,7 @@ std::unique_ptr detail::ReadReply< + Read(&threshold, &buf); + } + if (CaseEq(data_expr, Input::FeedbackClass::String)) { +- data.string.emplace(); ++ data.string.emplace(Input::FeedbackState::String()); + auto& max_symbols = (*data.string).max_symbols; + uint16_t num_keysyms{}; + auto& keysyms = (*data.string).keysyms; +@@ -3923,7 +3923,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::FeedbackClass::Integer)) { +- data.integer.emplace(); ++ data.integer.emplace(Input::FeedbackState::Integer()); + auto& resolution = (*data.integer).resolution; + auto& min_value = (*data.integer).min_value; + auto& max_value = (*data.integer).max_value; +@@ -3938,7 +3938,7 @@ std::unique_ptr detail::ReadReply< + Read(&max_value, &buf); + } + if (CaseEq(data_expr, Input::FeedbackClass::Led)) { +- data.led.emplace(); ++ data.led.emplace(Input::FeedbackState::Led()); + auto& led_mask = (*data.led).led_mask; + auto& led_values = (*data.led).led_values; + +@@ -3949,7 +3949,7 @@ std::unique_ptr detail::ReadReply< + Read(&led_values, &buf); + } + if (CaseEq(data_expr, Input::FeedbackClass::Bell)) { +- data.bell.emplace(); ++ data.bell.emplace(Input::FeedbackState::Bell()); + auto& percent = (*data.bell).percent; + auto& pitch = (*data.bell).pitch; + auto& duration = (*data.bell).duration; +@@ -4769,7 +4769,7 @@ std::unique_ptr detail::ReadReply< + // data + auto data_expr = class_id; + if (CaseEq(data_expr, Input::InputClass::Key)) { +- data.key.emplace(); ++ data.key.emplace(Input::InputState::Key()); + auto& num_keys = (*data.key).num_keys; + auto& keys = (*data.key).keys; + size_t keys_len = keys.size(); +@@ -4787,7 +4787,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::InputClass::Button)) { +- data.button.emplace(); ++ data.button.emplace(Input::InputState::Button()); + auto& num_buttons = (*data.button).num_buttons; + auto& buttons = (*data.button).buttons; + size_t buttons_len = buttons.size(); +@@ -4805,7 +4805,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::InputClass::Valuator)) { +- data.valuator.emplace(); ++ data.valuator.emplace(Input::InputState::Valuator()); + uint8_t num_valuators{}; + auto& mode = (*data.valuator).mode; + auto& valuators = (*data.valuator).valuators; +@@ -5076,7 +5076,7 @@ std::unique_ptr detail::ReadReply< + // data + auto data_expr = control_id; + if (CaseEq(data_expr, Input::DeviceControl::resolution)) { +- data.resolution.emplace(); ++ data.resolution.emplace(Input::DeviceState::Resolution()); + uint32_t num_valuators{}; + auto& resolution_values = (*data.resolution).resolution_values; + size_t resolution_values_len = resolution_values.size(); +@@ -5110,7 +5110,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::DeviceControl::abs_calib)) { +- data.abs_calib.emplace(); ++ data.abs_calib.emplace(Input::DeviceState::AbsCalib()); + auto& min_x = (*data.abs_calib).min_x; + auto& max_x = (*data.abs_calib).max_x; + auto& min_y = (*data.abs_calib).min_y; +@@ -5145,7 +5145,7 @@ std::unique_ptr detail::ReadReply< + Read(&button_threshold, &buf); + } + if (CaseEq(data_expr, Input::DeviceControl::core)) { +- data.core.emplace(); ++ data.core.emplace(Input::DeviceState::Core()); + auto& status = (*data.core).status; + auto& iscore = (*data.core).iscore; + +@@ -5159,7 +5159,7 @@ std::unique_ptr detail::ReadReply< + Pad(&buf, 2); + } + if (CaseEq(data_expr, Input::DeviceControl::enable)) { +- data.enable.emplace(); ++ data.enable.emplace(Input::DeviceState::Enable()); + auto& enable = (*data.enable).enable; + + // enable +@@ -5169,7 +5169,7 @@ std::unique_ptr detail::ReadReply< + Pad(&buf, 3); + } + if (CaseEq(data_expr, Input::DeviceControl::abs_area)) { +- data.abs_area.emplace(); ++ data.abs_area.emplace(Input::DeviceState::AbsArea()); + auto& offset_x = (*data.abs_area).offset_x; + auto& offset_y = (*data.abs_area).offset_y; + auto& width = (*data.abs_area).width; +@@ -6661,7 +6661,7 @@ std::unique_ptr detail::ReadReply< + // data + auto data_expr = type; + if (CaseEq(data_expr, Input::DeviceClassType::Key)) { +- data.key.emplace(); ++ data.key.emplace(Input::DeviceClass::Key()); + uint16_t num_keys{}; + auto& keys = (*data.key).keys; + size_t keys_len = keys.size(); +@@ -6677,7 +6677,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::DeviceClassType::Button)) { +- data.button.emplace(); ++ data.button.emplace(Input::DeviceClass::Button()); + uint16_t num_buttons{}; + auto& state = (*data.button).state; + size_t state_len = state.size(); +@@ -6702,7 +6702,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) { +- data.valuator.emplace(); ++ data.valuator.emplace(Input::DeviceClass::Valuator()); + auto& number = (*data.valuator).number; + auto& label = (*data.valuator).label; + auto& min = (*data.valuator).min; +@@ -6765,7 +6765,7 @@ std::unique_ptr detail::ReadReply< + Pad(&buf, 3); + } + if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) { +- data.scroll.emplace(); ++ data.scroll.emplace(Input::DeviceClass::Scroll()); + auto& number = (*data.scroll).number; + auto& scroll_type = (*data.scroll).scroll_type; + auto& flags = (*data.scroll).flags; +@@ -6800,7 +6800,7 @@ std::unique_ptr detail::ReadReply< + } + } + if (CaseEq(data_expr, Input::DeviceClassType::Touch)) { +- data.touch.emplace(); ++ data.touch.emplace(Input::DeviceClass::Touch()); + auto& mode = (*data.touch).mode; + auto& num_touches = (*data.touch).num_touches; + +@@ -6813,7 +6813,7 @@ std::unique_ptr detail::ReadReply< + Read(&num_touches, &buf); + } + if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) { +- data.gesture.emplace(); ++ data.gesture.emplace(Input::DeviceClass::Gesture()); + auto& num_touches = (*data.gesture).num_touches; + + // num_touches +Index: chromium-120.0.6099.129/components/viz/service/display/surface_aggregator.cc +=================================================================== +--- chromium-120.0.6099.129.orig/components/viz/service/display/surface_aggregator.cc ++++ chromium-120.0.6099.129/components/viz/service/display/surface_aggregator.cc +@@ -2228,7 +2228,7 @@ AggregatedFrame SurfaceAggregator::Aggregate( + root_surface_id_ = surface_id; + + // Start recording new stats for this aggregation. +- stats_.emplace(); ++ stats_.emplace(SurfaceAggregator::AggregateStatistics()); + + base::ElapsedTimer prewalk_timer; + ResolvedFrameData* resolved_frame = GetResolvedFrame(surface_id); +Index: chromium-120.0.6099.129/chrome/browser/ui/web_applications/diagnostics/web_app_icon_diagnostic.cc +=================================================================== +--- chromium-120.0.6099.129.orig/chrome/browser/ui/web_applications/diagnostics/web_app_icon_diagnostic.cc ++++ chromium-120.0.6099.129/chrome/browser/ui/web_applications/diagnostics/web_app_icon_diagnostic.cc +@@ -37,7 +37,7 @@ void WebAppIconDiagnostic::Run( + if (!downloaded_icon_sizes.empty()) + icon_size_ = *downloaded_icon_sizes.begin(); + +- result_.emplace(); ++ result_.emplace(WebAppIconDiagnostic::Result()); + result_->has_empty_downloaded_icon_sizes = downloaded_icon_sizes.empty(); + result_->has_generated_icon_flag = app_->is_generated_icon(); + +Index: chromium-120.0.6099.129/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc +=================================================================== +--- chromium-120.0.6099.129.orig/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc ++++ chromium-120.0.6099.129/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc +@@ -101,7 +101,7 @@ void MediaControlTimelineElement::UpdateAria() { + void MediaControlTimelineElement::SetPosition(double current_time, + bool suppress_aria) { + if (is_live_ && !live_anchor_time_ && current_time != 0) { +- live_anchor_time_.emplace(); ++ live_anchor_time_.emplace(MediaControlTimelineElement::LiveAnchorTime()); + live_anchor_time_->clock_time_ = base::TimeTicks::Now(); + live_anchor_time_->media_time_ = MediaElement().currentTime(); + } +Index: chromium-120.0.6099.129/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc +=================================================================== +--- chromium-120.0.6099.129.orig/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc ++++ chromium-120.0.6099.129/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc +@@ -70,7 +70,7 @@ void GeometryMapperTransformCache::Update( + to_2d_translation_root_ += translation; + + if (parent.plane_root_transform_) { +- plane_root_transform_.emplace(); ++ plane_root_transform_.emplace(GeometryMapperTransformCache::PlaneRootTransform()); + plane_root_transform_->plane_root = parent.plane_root(); + plane_root_transform_->to_plane_root = parent.to_plane_root(); + plane_root_transform_->to_plane_root.Translate(translation.x(), +@@ -98,7 +98,7 @@ void GeometryMapperTransformCache::Update( + // as the 2d translation root. + plane_root_transform_ = absl::nullopt; + } else { +- plane_root_transform_.emplace(); ++ plane_root_transform_.emplace(GeometryMapperTransformCache::PlaneRootTransform()); + plane_root_transform_->plane_root = parent.plane_root(); + plane_root_transform_->to_plane_root.MakeIdentity(); + parent.ApplyToPlaneRoot(plane_root_transform_->to_plane_root); +@@ -140,7 +140,7 @@ void GeometryMapperTransformCache::UpdateScreenTransform( + parent_node->UpdateScreenTransform(); + const auto& parent = parent_node->GetTransformCache(); + +- screen_transform_.emplace(); ++ screen_transform_.emplace(GeometryMapperTransformCache::ScreenTransform()); + parent.ApplyToScreen(screen_transform_->to_screen); + if (node.FlattensInheritedTransform()) + screen_transform_->to_screen.Flatten(); diff --git a/chromium-120-include.patch b/chromium-120-include.patch new file mode 100644 index 0000000000000000000000000000000000000000..87bc6066614aad866262aefff2980024ac175ef4 --- /dev/null +++ b/chromium-120-include.patch @@ -0,0 +1,48 @@ +Index: chromium-118.0.5993.18/third_party/material_color_utilities/src/cpp/palettes/tones.cc +=================================================================== +--- chromium-118.0.5993.18.orig/third_party/material_color_utilities/src/cpp/palettes/tones.cc ++++ chromium-118.0.5993.18/third_party/material_color_utilities/src/cpp/palettes/tones.cc +@@ -18,6 +18,7 @@ + + #include "cpp/cam/cam.h" + #include "cpp/cam/hct.h" ++#include + + namespace material_color_utilities { + +Index: chromium-118.0.5993.18/third_party/ipcz/src/ipcz/router_link.h +=================================================================== +--- chromium-118.0.5993.18.orig/third_party/ipcz/src/ipcz/router_link.h ++++ chromium-118.0.5993.18/third_party/ipcz/src/ipcz/router_link.h +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + #include "ipcz/fragment_ref.h" + #include "ipcz/link_type.h" +Index: chromium-120.0.6099.216/sandbox/linux/syscall_broker/remote_syscall_arg_handler.h +=================================================================== +--- chromium-120.0.6099.216.orig/sandbox/linux/syscall_broker/remote_syscall_arg_handler.h ++++ chromium-120.0.6099.216/sandbox/linux/syscall_broker/remote_syscall_arg_handler.h +@@ -6,6 +6,7 @@ + #define SANDBOX_LINUX_SYSCALL_BROKER_REMOTE_SYSCALL_ARG_HANDLER_H_ + + #include ++#include + + #include "base/containers/span.h" + #include "sandbox/sandbox_export.h" +Index: chromium-120.0.6099.129/chrome/test/chromedriver/chrome/chrome_finder.h +=================================================================== +--- chromium-120.0.6099.129.orig/chrome/test/chromedriver/chrome/chrome_finder.h ++++ chromium-120.0.6099.129/chrome/test/chromedriver/chrome/chrome_finder.h +@@ -6,6 +6,7 @@ + #define CHROME_TEST_CHROMEDRIVER_CHROME_CHROME_FINDER_H_ + + #include ++#include + + #include "base/functional/callback_forward.h" + diff --git a/chromium-120-make_unique-struct.patch b/chromium-120-make_unique-struct.patch new file mode 100644 index 0000000000000000000000000000000000000000..c848f46f6fec796eac5ce31c9f762d42628410b6 --- /dev/null +++ b/chromium-120-make_unique-struct.patch @@ -0,0 +1,12 @@ +diff --git a/service_worker_global_scope.h b/service_worker_global_scope.h.new +index ac4cac0..8c7d744 100644 +--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h ++++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h +@@ -777,6 +777,7 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final + blink::BlinkStorageKey storage_key_; + + struct RaceNetworkRequestInfo { ++ RaceNetworkRequestInfo(int _fetch_event_id, String _token, mojo::PendingRemote _url_loader_factory) : fetch_event_id{_fetch_event_id}, token{_token}, url_loader_factory{std::move(_url_loader_factory)} {} + int fetch_event_id; + String token; + mojo::PendingRemote diff --git a/chromium-120-typenames-constructors.patch b/chromium-120-typenames-constructors.patch new file mode 100644 index 0000000000000000000000000000000000000000..c5bed6d10870fa7e692a90baf6bfbf3a6c09f74d --- /dev/null +++ b/chromium-120-typenames-constructors.patch @@ -0,0 +1,772 @@ +diff -up chromium-120.0.6099.56/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor chromium-120.0.6099.56/base/metrics/persistent_histogram_allocator.cc +--- chromium-120.0.6099.56/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor 2023-11-29 22:39:40.000000000 +0100 ++++ chromium-120.0.6099.56/base/metrics/persistent_histogram_allocator.cc 2023-12-03 17:31:25.748420189 +0100 +@@ -218,13 +218,13 @@ PersistentSparseHistogramDataManager::Lo + // The sample-record could be for any sparse histogram. Add the reference + // to the appropriate collection for later use. + if (found_id == match_id) { +- found_records.emplace_back(ref, value); ++ found_records.emplace_back() = {ref, value}; + found = true; + } else { + std::vector* samples = + GetSampleMapRecordsWhileLocked(found_id); + CHECK(samples); +- samples->emplace_back(ref, value); ++ samples->emplace_back() = {ref, value}; + } + } + +diff -up chromium-120.0.6099.56/base/trace_event/trace_log.cc.no_matching_constructor chromium-120.0.6099.56/base/trace_event/trace_log.cc +--- chromium-120.0.6099.56/base/trace_event/trace_log.cc.no_matching_constructor 2023-11-29 22:39:40.000000000 +0100 ++++ chromium-120.0.6099.56/base/trace_event/trace_log.cc 2023-12-03 17:31:25.749420208 +0100 +@@ -2191,8 +2191,8 @@ void TraceLog::SetTraceBufferForTesting( + #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) + void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) { + AutoLock lock(track_event_lock_); +- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config, +- args.backend_type); ++ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config, ++ args.backend_type}; + } + + void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) { +diff -up chromium-120.0.6099.56/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-120.0.6099.56/chrome/browser/content_settings/one_time_permission_provider.cc +--- chromium-120.0.6099.56/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2023-11-29 22:39:47.000000000 +0100 ++++ chromium-120.0.6099.56/chrome/browser/content_settings/one_time_permission_provider.cc 2023-12-03 17:31:25.749420208 +0100 +@@ -226,8 +226,8 @@ void OneTimePermissionProvider::OnSuspen + + while (rule_iterator && rule_iterator->HasNext()) { + auto rule = rule_iterator->Next(); +- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern, +- rule->secondary_pattern); ++ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern, ++ rule->secondary_pattern}; + permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( + setting_type, + permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND); +@@ -329,8 +329,8 @@ void OneTimePermissionProvider::DeleteEn + auto rule = rule_iterator->Next(); + if (rule->primary_pattern.Matches(origin_gurl) && + rule->secondary_pattern.Matches(origin_gurl)) { +- patterns_to_delete.emplace_back( +- content_setting_type, rule->primary_pattern, rule->secondary_pattern); ++ patterns_to_delete.emplace_back() = { ++ content_setting_type, rule->primary_pattern, rule->secondary_pattern}; + permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( + content_setting_type, trigger_event); + } +diff -up chromium-120.0.6099.56/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-120.0.6099.56/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc +--- chromium-120.0.6099.56/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2023-11-29 22:39:48.000000000 +0100 ++++ chromium-120.0.6099.56/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-12-03 17:31:25.749420208 +0100 +@@ -67,8 +67,8 @@ base::flat_mapinsert(std::make_pair( + "supported.test", +- SAMLProfileAttributes("placeholderName", "placeholderDomain", +- "placeholderToken"))); ++ SAMLProfileAttributes{"placeholderName", "placeholderDomain", ++ "placeholderToken"})); + + // Extract domains and attributes from the command line switch. + const base::CommandLine& command_line = +diff -up chromium-120.0.6099.56/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-120.0.6099.56/chrome/browser/ui/omnibox/chrome_omnibox_client.cc +--- chromium-120.0.6099.56/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2023-11-29 22:39:52.000000000 +0100 ++++ chromium-120.0.6099.56/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-12-03 17:31:25.749420208 +0100 +@@ -474,10 +474,10 @@ void ChromeOmniboxClient::OnAutocomplete + alternative_nav_match); + + // Store the details necessary to open the omnibox match via browser commands. +- location_bar_->set_navigation_params(LocationBar::NavigationParams( ++ location_bar_->set_navigation_params(LocationBar::NavigationParams{ + destination_url, disposition, transition, match_selection_timestamp, + destination_url_entered_without_scheme, +- destination_url_entered_with_http_scheme)); ++ destination_url_entered_with_http_scheme}); + + if (browser_) { + auto navigation = chrome::OpenCurrentURL(browser_); +diff -up chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc +--- chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2023-11-29 22:39:54.000000000 +0100 ++++ chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc 2023-12-03 17:31:25.750420227 +0100 +@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base:: + "'version' field of type string"); + } + +- brands.emplace_back(*brand, *version); ++ brands.emplace_back() = {*brand, *version}; + } + + client_hints.brands = std::move(brands); +@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base:: + "a 'version' field of type string"); + } + +- full_version_list.emplace_back(*brand, *version); ++ full_version_list.emplace_back() = {*brand, *version}; + } + + client_hints.full_version_list = std::move(full_version_list); +diff -up chromium-120.0.6099.56/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor chromium-120.0.6099.56/components/autofill/core/browser/contact_info_sync_util.cc +--- chromium-120.0.6099.56/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor 2023-11-29 22:39:57.000000000 +0100 ++++ chromium-120.0.6099.56/components/autofill/core/browser/contact_info_sync_util.cc 2023-12-03 17:31:25.750420227 +0100 +@@ -197,9 +197,9 @@ class ContactInfoProfileSetter { + CHECK(observations.empty()); + for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation : + metadata.observations()) { +- observations.emplace_back(proto_observation.type(), ++ observations.emplace_back() = {static_cast(proto_observation.type()), + ProfileTokenQuality::FormSignatureHash( +- proto_observation.form_hash())); ++ proto_observation.form_hash())}; + } + } + } +diff -up chromium-120.0.6099.56/components/autofill/core/browser/webdata/autofill_table.cc.no_matching_constructor chromium-120.0.6099.56/components/autofill/core/browser/webdata/autofill_table.cc +--- chromium-120.0.6099.56/components/autofill/core/browser/webdata/autofill_table.cc.no_matching_constructor 2023-11-29 22:39:57.000000000 +0100 ++++ chromium-120.0.6099.56/components/autofill/core/browser/webdata/autofill_table.cc 2023-12-03 17:31:25.751420246 +0100 +@@ -1763,10 +1763,10 @@ std::unique_ptr Autofil + } + + base::span observations_data = s.ColumnBlob(3); +- field_type_values.emplace_back( ++ field_type_values.emplace_back() = { + type, s.ColumnString16(1), s.ColumnInt(2), + std::vector(observations_data.begin(), +- observations_data.end())); ++ observations_data.end())}; + + if (type == ADDRESS_HOME_COUNTRY) { + country_code = base::UTF16ToUTF8(s.ColumnString16(1)); +diff -up chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc.no_matching_constructor chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc +--- chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc.no_matching_constructor 2023-11-29 22:39:58.000000000 +0100 ++++ chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc 2023-12-03 17:31:25.751420246 +0100 +@@ -630,7 +630,7 @@ void PasswordManager::OnUserModifiedNonP + // |driver| might be empty on iOS or in tests. + int driver_id = driver ? driver->GetId() : 0; + possible_usernames_.Put( +- PossibleUsernameFieldIdentifier(driver_id, renderer_id), ++ PossibleUsernameFieldIdentifier{driver_id, renderer_id}, + PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()), + renderer_id, value, base::Time::Now(), driver_id, + autocomplete_attribute_has_username, is_likely_otp)); +diff -up chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc +--- chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2023-11-29 22:40:01.000000000 +0100 ++++ chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2023-12-03 17:31:25.751420246 +0100 +@@ -1567,7 +1567,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut + + // Issue readbacks from the surfaces: + for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) { +- SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height()); ++ SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()}; + SkImageInfo dst_info = SkImageInfo::Make( + size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType, + kUnpremul_SkAlphaType); +diff -up chromium-120.0.6099.56/content/browser/download/save_package.cc.no_matching_constructor chromium-120.0.6099.56/content/browser/download/save_package.cc +--- chromium-120.0.6099.56/content/browser/download/save_package.cc.no_matching_constructor 2023-11-29 22:40:01.000000000 +0100 ++++ chromium-120.0.6099.56/content/browser/download/save_package.cc 2023-12-03 17:31:25.752420265 +0100 +@@ -767,8 +767,8 @@ void SavePackage::Finish() { + if (download_) { + std::vector files; + for (auto& item : saved_success_items_) { +- files.emplace_back(item.second->full_path(), item.second->url(), +- item.second->referrer().url); ++ files.emplace_back() = {item.second->full_path(), item.second->url(), ++ item.second->referrer().url}; + } + download::DownloadSaveItemData::AttachItemData(download_, std::move(files)); + } +diff -up chromium-120.0.6099.56/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor chromium-120.0.6099.56/content/browser/interest_group/interest_group_storage.cc +--- chromium-120.0.6099.56/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor 2023-11-29 22:40:01.000000000 +0100 ++++ chromium-120.0.6099.56/content/browser/interest_group/interest_group_storage.cc 2023-12-03 17:31:25.752420265 +0100 +@@ -3002,10 +3002,10 @@ DoGetKAnonymityData(sql::Database& db, + + std::vector k_anon_data; + while (interest_group_kanon_query.Step()) { +- k_anon_data.emplace_back( ++ k_anon_data.emplace_back() = { + /*key=*/interest_group_kanon_query.ColumnString(0), + /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1), +- /*last_updated=*/interest_group_kanon_query.ColumnTime(2)); ++ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)}; + } + if (!interest_group_kanon_query.Succeeded()) { + return absl::nullopt; +diff -up chromium-120.0.6099.56/net/dns/host_resolver_cache.cc.no_matching_constructor chromium-120.0.6099.56/net/dns/host_resolver_cache.cc +--- chromium-120.0.6099.56/net/dns/host_resolver_cache.cc.no_matching_constructor 2023-11-29 22:40:07.000000000 +0100 ++++ chromium-120.0.6099.56/net/dns/host_resolver_cache.cc 2023-12-03 17:31:25.754420303 +0100 +@@ -368,7 +368,7 @@ void HostResolverCache::Set( + + std::string domain_name = result->domain_name(); + entries_.emplace( +- Key(std::move(domain_name), network_anonymization_key), ++ Key{std::move(domain_name), network_anonymization_key}, + Entry(std::move(result), source, secure, staleness_generation)); + + if (entries_.size() > max_entries_) { +diff -up chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/font_palette.h +--- chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2023-11-29 22:40:12.000000000 +0100 ++++ chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/font_palette.h 2023-12-03 17:31:25.754420303 +0100 +@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ + Color::ColorSpace color_interpolation_space, + absl::optional hue_interpolation_method) { + return base::AdoptRef(new FontPalette( +- start, end, NonNormalizedPercentages(start_percentage, end_percentage), ++ start, end, NonNormalizedPercentages{start_percentage, end_percentage}, + normalized_percentage, alpha_multiplier, color_interpolation_space, + hue_interpolation_method)); + } +@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ + double normalized_percentage) { + double end_percentage = normalized_percentage * 100.0; + double start_percentage = 100.0 - end_percentage; +- return NonNormalizedPercentages(start_percentage, end_percentage); ++ return NonNormalizedPercentages{start_percentage, end_percentage}; + } + + double GetAlphaMultiplier() const { +diff -up chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/palette_interpolation.cc +--- chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2023-11-29 22:40:12.000000000 +0100 ++++ chromium-120.0.6099.56/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2023-12-03 17:31:25.755420323 +0100 +@@ -31,7 +31,7 @@ Vector + color_interpolation_space, hue_interpolation_method, start_color, + end_color, percentage, alpha_multiplier); + +- FontPalette::FontPaletteOverride result_color_record(i, result_color); ++ FontPalette::FontPaletteOverride result_color_record{static_cast(i), result_color}; + result_color_records.push_back(result_color_record); + } + return result_color_records; +diff -up chromium-120.0.6099.56/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor chromium-120.0.6099.56/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp +--- chromium-120.0.6099.56/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor 2023-11-29 22:41:46.000000000 +0100 ++++ chromium-120.0.6099.56/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp 2023-12-03 17:31:25.756420342 +0100 +@@ -491,7 +491,7 @@ void CPDF_RenderStatus::ProcessClipPath( + } else { + m_pDevice->SetClip_PathFill( + *pPath, &mtObj2Device, +- CFX_FillRenderOptions(ClipPath.GetClipType(i))); ++ CFX_FillRenderOptions{ClipPath.GetClipType(i)}); + } + } + +diff -up chromium-120.0.6099.56/ui/base/wayland/color_manager_util.h.no_matching_constructor chromium-120.0.6099.56/ui/base/wayland/color_manager_util.h +--- chromium-120.0.6099.56/ui/base/wayland/color_manager_util.h.no_matching_constructor 2023-11-29 22:40:44.000000000 +0100 ++++ chromium-120.0.6099.56/ui/base/wayland/color_manager_util.h 2023-12-03 17:31:25.755420323 +0100 +@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base:: + zcr_color_manager_v1_chromaticity_names, + PrimaryVersion>( + {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M, +- kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG, +- kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M, +- kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB, +- PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB, +- kDefaultSinceVersion)}, ++ PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN, +- PrimaryVersion( ++ PrimaryVersion{ + gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN, +- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M, +- PrimaryVersion( ++ PrimaryVersion{ + gfx::ColorSpace::PrimaryID::BT470M, +- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M, +- PrimaryVersion( ++ PrimaryVersion{ + gfx::ColorSpace::PrimaryID::SMPTE240M, +- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50, +- PrimaryVersion( ++ PrimaryVersion{ + gfx::ColorSpace::PrimaryID::XYZ_D50, +- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1, +- PrimaryVersion( ++ PrimaryVersion{ + gfx::ColorSpace::PrimaryID::SMPTEST428_1, +- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2, +- PrimaryVersion( ++ PrimaryVersion{ + gfx::ColorSpace::PrimaryID::SMPTEST431_2, +- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM, +- PrimaryVersion( ++ PrimaryVersion{ + gfx::ColorSpace::PrimaryID::FILM, +- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}}); ++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}}); + + // A map from the zcr_color_manager_v1 eotf_names enum values + // representing well-known EOTFs, to their equivalent TransferIDs. +@@ -107,68 +107,68 @@ constexpr auto kEotfMap = base::MakeFixe + zcr_color_manager_v1_eotf_names, + TransferVersion>({ + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, +- TransferVersion(gfx::ColorSpace::TransferID::LINEAR, +- kDefaultSinceVersion)}, ++ TransferVersion{gfx::ColorSpace::TransferID::LINEAR, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB, +- TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)}, ++ TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, +- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709, +- TransferVersion(gfx::ColorSpace::TransferID::BT709, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::BT709, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087, +- TransferVersion(gfx::ColorSpace::TransferID::GAMMA24, +- kDefaultSinceVersion)}, ++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA24, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB, + // This is ever so slightly inaccurate. The number ought to be + // 2.19921875f, not 2.2 +- TransferVersion(gfx::ColorSpace::TransferID::GAMMA22, +- kDefaultSinceVersion)}, ++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA22, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, +- TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)}, ++ TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, +- TransferVersion(gfx::ColorSpace::TransferID::HLG, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::HLG, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M, +- TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M, +- TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1, +- TransferVersion( ++ TransferVersion{ + gfx::ColorSpace::TransferID::SMPTEST428_1, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG, +- TransferVersion(gfx::ColorSpace::TransferID::LOG, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::LOG, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT, +- TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4, +- TransferVersion( ++ TransferVersion{ + gfx::ColorSpace::TransferID::IEC61966_2_4, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG, +- TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10, +- TransferVersion(gfx::ColorSpace::TransferID::BT2020_10, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::BT2020_10, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12, +- TransferVersion(gfx::ColorSpace::TransferID::BT2020_12, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::BT2020_12, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS, +- TransferVersion( ++ TransferVersion{ + gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18, +- TransferVersion(gfx::ColorSpace::TransferID::GAMMA18, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA18, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28, +- TransferVersion(gfx::ColorSpace::TransferID::GAMMA28, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)}, ++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA28, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}}, + }); + + // A map from the SDR zcr_color_manager_v1 eotf_names enum values +@@ -177,18 +177,18 @@ constexpr auto kEotfMap = base::MakeFixe + constexpr auto kTransferMap = + base::MakeFixedFlatMap({ + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, +- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB, +- TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kRec709, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087, +- TransferFnVersion(gamma24, kDefaultSinceVersion)}, ++ TransferFnVersion{gamma24, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB, +- TransferFnVersion(SkNamedTransferFnExt::kA98RGB, +- kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFnExt::kA98RGB, ++ kDefaultSinceVersion}}, + }); + + // A map from the HDR zcr_color_manager_v1 eotf_names enum values +@@ -197,70 +197,70 @@ constexpr auto kTransferMap = + constexpr auto kHDRTransferMap = + base::MakeFixedFlatMap( + {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, +- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kSRGB, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, +- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, +- TransferFnVersion(SkNamedTransferFn::kHLG, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, ++ TransferFnVersion{SkNamedTransferFn::kHLG, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kSRGBExtended1023Over510, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}}); ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}}); + + // A map from zcr_color_manager_v1 matrix_names enum values to + // gfx::ColorSpace::MatrixIDs. + constexpr auto kMatrixMap = + base::MakeFixedFlatMap( + {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB, +- MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT709, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT709, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG, +- MatrixVersion( ++ MatrixVersion{ + gfx::ColorSpace::MatrixID::BT470BG, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC, +- MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG, +- MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX, +- MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR, +- MatrixVersion(gfx::ColorSpace::MatrixID::GBR, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::GBR, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M, +- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M, +- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M, +- kDefaultSinceVersion)}}); ++ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M, ++ kDefaultSinceVersion}}}); + + // A map from zcr_color_manager_v1 range_names enum values to + // gfx::ColorSpace::RangeIDs. + constexpr auto kRangeMap = + base::MakeFixedFlatMap( + {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED, +- RangeVersion(gfx::ColorSpace::RangeID::LIMITED, +- kDefaultSinceVersion)}, ++ RangeVersion{gfx::ColorSpace::RangeID::LIMITED, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL, +- RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)}, ++ RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED, +- RangeVersion(gfx::ColorSpace::RangeID::DERIVED, +- kDefaultSinceVersion)}}); ++ RangeVersion{gfx::ColorSpace::RangeID::DERIVED, ++ kDefaultSinceVersion}}}); + + zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity( + gfx::ColorSpace::PrimaryID primaryID, +@@ -283,4 +283,4 @@ zcr_color_manager_v1_eotf_names ToColorM + + } // namespace ui::wayland + +-#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ +\ Kein Zeilenumbruch am Dateiende. ++#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ +diff -up chromium-120.0.6099.56/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-120.0.6099.56/ui/gtk/gtk_ui.cc +--- chromium-120.0.6099.56/ui/gtk/gtk_ui.cc.no_matching_constructor 2023-11-29 22:40:44.000000000 +0100 ++++ chromium-120.0.6099.56/ui/gtk/gtk_ui.cc 2023-12-03 17:31:25.756420342 +0100 +@@ -1013,11 +1013,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi + GdkRectangle geometry; + gdk_monitor_get_geometry(monitor, &geometry); + int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor)); +- config.display_geometries.emplace_back( ++ config.display_geometries.emplace_back() = { + gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y, + monitor_scale * geometry.width, + monitor_scale * geometry.height), +- monitor_scale * font_scale); ++ static_cast(monitor_scale * font_scale)}; + } + return config; + } +--- chromium-120.0.6099.216/chrome/browser/ui/views/tabs/tab_style_views.cc.me ++++ chromium-120.0.6099.216/chrome/browser/ui/views/tabs/tab_style_views.cc +@@ -490,7 +490,7 @@ float GM2TabStyleViews::GetCurrentActive + if (!IsHoverAnimationActive()) { + return base_opacity; + } +- return std::lerp(base_opacity, GetHoverOpacity(), GetHoverAnimationValue()); ++ return std::lerp(base_opacity, GetHoverOpacity(), static_cast(GetHoverAnimationValue())); + } + + TabActive GM2TabStyleViews::GetApparentActiveState() const { +diff -up chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h.me chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h +--- chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h.me 2023-09-15 10:22:51.889698402 +0200 ++++ chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h 2023-09-15 10:28:26.702716224 +0200 +@@ -234,7 +234,7 @@ class TFLiteModelExecutor : public Model + // Starts the synchronous execution of the model. Returns model outputs. + // Model needs to be loaded. Synchronous calls do not load or unload model. + std::vector> SendForBatchExecutionSync( +- ModelExecutor::ConstRefInputVector inputs) ++ typename ModelExecutor::ConstRefInputVector inputs) + override { + DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +@@ -389,7 +389,7 @@ class TFLiteModelExecutor : public Model + // executes it on the model execution thread. + void LoadModelFileAndBatchExecute( + BatchExecutionCallback callback_on_complete, +- ModelExecutor::ConstRefInputVector inputs) { ++ typename ModelExecutor::ConstRefInputVector inputs) { + DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + +@@ -406,7 +406,7 @@ class TFLiteModelExecutor : public Model + + // Batch executes the loaded model for inputs. + void BatchExecuteLoadedModel( +- ModelExecutor::ConstRefInputVector inputs, ++ typename ModelExecutor::ConstRefInputVector inputs, + std::vector>* outputs) { + DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +@@ -466,7 +466,7 @@ class TFLiteModelExecutor : public Model + // Unloads the model if needed. + void BatchExecuteLoadedModelAndRunCallback( + BatchExecutionCallback callback_on_complete, +- ModelExecutor::ConstRefInputVector inputs, ++ typename ModelExecutor::ConstRefInputVector inputs, + ExecutionStatus execution_status) { + DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +diff -up chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc.me chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc +--- chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc.me 2023-09-15 17:20:22.550657586 +0200 ++++ chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc 2023-09-15 17:24:11.396716734 +0200 +@@ -399,7 +399,7 @@ class RetryingFetcherImpl final : public + RetryingFetcherImpl(const RetryingFetcherImpl&) = delete; + RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete; + +- void Start(ProtoFetcher::Callback callback) override { ++ void Start(typename ProtoFetcher::Callback callback) override { + callback_ = std::move(callback); + Retry(); + } +@@ -435,7 +435,7 @@ class RetryingFetcherImpl final : public + } + + // Client callback. +- ProtoFetcher::Callback callback_; ++ typename ProtoFetcher::Callback callback_; + + // Retry controls. + base::OneShotTimer timer_; +@@ -578,7 +578,7 @@ ParallelFetchManager: + template + void ParallelFetchManager::Fetch( + const Request& request, +- Fetcher::Callback callback) { ++ typename Fetcher::Callback callback) { + CHECK(callback) << "Use base::DoNothing() instead of empty callback."; + KeyType key = requests_in_flight_.Add(MakeFetcher(request)); + requests_in_flight_.Lookup(key)->Start( +diff -up chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h.me chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h +--- chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h.me 2023-09-15 17:20:56.540460391 +0200 ++++ chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h 2023-09-15 17:22:18.246237817 +0200 +@@ -165,10 +165,10 @@ class ParallelFetchManager { + + // Starts the fetch. Underlying fetcher is stored internally, and will be + // cleaned up after finish or when this manager is destroyed. +- void Fetch(const Request& request, Fetcher::Callback callback); ++ void Fetch(const Request& request, typename Fetcher::Callback callback); + + private: +- using KeyType = base::IDMap>::KeyType; ++ using KeyType = typename base::IDMap>::KeyType; + + // Remove fetcher under key from requests_in_flight_. + void Remove(KeyType key); +diff -up chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc +--- chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2023-06-17 14:50:56.342591702 +0200 ++++ chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc 2023-06-17 14:57:48.024377375 +0200 +@@ -91,7 +91,7 @@ ItemSortKey GetSortKey(const Item& item) + // Helper to get an iterator to the last element in the cache. The cache + // must not be empty. + template +-SortedItems::const_iterator GetLastIter(const SortedItems& cache) { ++typename SortedItems::const_iterator GetLastIter(const SortedItems& cache) { + CHECK(!cache.empty()); + auto it = cache.end(); + return std::prev(it); +@@ -967,9 +967,9 @@ bool DownloadBubbleUpdateService::CacheM + } + + template +-SortedItems::iterator ++typename SortedItems::iterator + DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter( +- SortedItems::iterator iter, ++ typename SortedItems::iterator iter, + SortedItems& cache, + IterMap& iter_map) { + CHECK(iter != cache.end()); +diff -up chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h +--- chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me 2023-06-18 21:52:53.515625237 +0200 ++++ chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h 2023-06-18 21:53:06.881881293 +0200 +@@ -189,7 +189,7 @@ class TFLiteModelExecutor : public Model + void SendForBatchExecution( + BatchExecutionCallback callback_on_complete, + base::TimeTicks start_time, +- ModelExecutor::ConstRefInputVector inputs) ++ typename ModelExecutor::ConstRefInputVector inputs) + override { + DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +diff -up chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me1 chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc +--- chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me1 2023-06-19 10:03:32.319218678 +0200 ++++ chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2023-06-19 10:04:12.023942232 +0200 +@@ -169,7 +169,7 @@ class HTMLFastPathParser { + using Span = base::span; + using USpan = base::span; + // 32 matches that used by HTMLToken::Attribute. +- typedef std::conditional, ++ typedef typename std::conditional, + UCharLiteralBuffer<32>, + LCharLiteralBuffer<32>>::type LiteralBufferType; + typedef UCharLiteralBuffer<32> UCharLiteralBufferType; +Index: chromium-116.0.5845.96/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h +=================================================================== +--- chromium-116.0.5845.96.orig/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h ++++ chromium-116.0.5845.96/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h +@@ -270,8 +270,8 @@ class CORE_EXPORT ObjectPaintPropertiesS + NodeList& nodes, + NodeId node_id, + const ParentType& parent, +- NodeType::State&& state, +- const NodeType::AnimationState& animation_state = ++ typename NodeType::State&& state, ++ const typename NodeType::AnimationState& animation_state = + NodeType::AnimationState()) { + // First, check if we need to add a new node. + if (!nodes.HasField(node_id)) { +Index: chromium-116.0.5845.96/content/public/browser/web_ui_browser_interface_broker_registry.h +=================================================================== +--- chromium-116.0.5845.96.orig/content/public/browser/web_ui_browser_interface_broker_registry.h ++++ chromium-116.0.5845.96/content/public/browser/web_ui_browser_interface_broker_registry.h +@@ -127,10 +127,10 @@ class CONTENT_EXPORT WebUIBrowserInterfa + // + // TODO(crbug.com/1407936): Point to WebUIJsBridge documentation. + template +- JsBridgeTraits::BinderInitializer& ForWebUIWithJsBridge() { ++ typename JsBridgeTraits::BinderInitializer& ForWebUIWithJsBridge() { + using Traits = JsBridgeTraits; +- using Interface = Traits::Interface; +- using JsBridgeBinderInitializer = Traits::BinderInitializer; ++ using Interface = typename Traits::Interface; ++ using JsBridgeBinderInitializer = typename Traits::BinderInitializer; + + // WebUIController::GetType() requires an instantiated WebUIController + // (because it's a virtual method and can't be static). Here we only have diff --git a/chromium-120-workaround_clang_bug-structured_binding.patch b/chromium-120-workaround_clang_bug-structured_binding.patch new file mode 100644 index 0000000000000000000000000000000000000000..f4f053a23624452d0efbd68a7ba69c8f947c387f --- /dev/null +++ b/chromium-120-workaround_clang_bug-structured_binding.patch @@ -0,0 +1,27 @@ +diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc +--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200 ++++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200 +@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui + void CdmPromiseAdapter::Clear(ClearReason reason) { + // Reject all outstanding promises. + DCHECK(thread_checker_.CalledOnValidThread()); +- for (auto& [promise_id, promise] : promises_) { ++ for (auto& [p_i, p_e] : promises_) { ++ auto& promise_id = p_i; ++ auto& promise = p_e; + TRACE_EVENT_NESTABLE_ASYNC_END1( + "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id), + "status", "cleared"); +diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc +--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200 ++++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200 +@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP + return; + } + +- auto [document_url, key, callback] = std::move(*request); ++ auto [d_u, key, callback] = std::move(*request); ++ auto document_url = d_u; + + DCHECK(document_url.is_valid()); + TRACE_EVENT1("ServiceWorker", diff --git a/chromium-53-ffmpeg-no-deprecation-errors.patch b/chromium-53-ffmpeg-no-deprecation-errors.patch deleted file mode 100644 index d5e41e3e191afa939bc9b1b63da2b427f1fdf2ef..0000000000000000000000000000000000000000 --- a/chromium-53-ffmpeg-no-deprecation-errors.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn.ffmpeg-deprecation 2017-06-25 13:24:47.390218631 +0200 -+++ chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn 2017-06-25 13:32:48.528583949 +0200 -@@ -19,6 +19,12 @@ - flags = [ "USE_SYSTEM_FFMPEG=true" ] - } - -+config("ffmpeg_deprecations") { -+ if (is_linux) { -+ cflags = [ "-Wno-error=deprecated-declarations" ] -+ } -+} -+ - shim_headers("ffmpeg_shim") { - root_path = "." - headers = [ -@@ -33,5 +39,5 @@ - ":ffmpeg_features", - ":ffmpeg_shim", - ] -- public_configs = [ ":system_ffmpeg" ] -+ public_configs = [ ":system_ffmpeg", ":ffmpeg_deprecations" ] - } diff --git a/chromium-60.0.3112.78-jpeg-nomangle.patch b/chromium-60.0.3112.78-jpeg-nomangle.patch deleted file mode 100644 index 0b758a4350102047dfc664913e6529652c2b1bc1..0000000000000000000000000000000000000000 --- a/chromium-60.0.3112.78-jpeg-nomangle.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h ---- chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle 2017-08-01 15:29:00.870759406 -0400 -+++ chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h 2017-08-01 15:29:09.326593414 -0400 -@@ -18,10 +18,6 @@ - #ifndef JPEGLIB_H - #define JPEGLIB_H - --/* Begin chromium edits */ --#include "jpeglibmangler.h" --/* End chromium edits */ -- - /* - * First we include the configuration files that record how this - * installation of the JPEG library is set up. jconfig.h can be diff --git a/chromium-60.0.3112.78-no-libpng-prefix.patch b/chromium-60.0.3112.78-no-libpng-prefix.patch deleted file mode 100644 index 0dbdcf97bc6cd5976ffeac08f5209787b2195043..0000000000000000000000000000000000000000 --- a/chromium-60.0.3112.78-no-libpng-prefix.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix chromium-60.0.3112.78/third_party/libpng/pnglibconf.h ---- chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix 2017-08-01 14:42:54.321986758 -0400 -+++ chromium-60.0.3112.78/third_party/libpng/pnglibconf.h 2017-08-01 14:43:01.493845832 -0400 -@@ -225,13 +225,4 @@ - #define PNG_USER_CHUNK_MALLOC_MAX 4000000L - /* end of chromium settings */ - --/* chromium prefixing */ --/* -- * This is necessary to build multiple copies of libpng. We need this while pdfium builds -- * its own copy of libpng. -- */ --#define PNG_PREFIX --#include "pngprefix.h" --/* end of chromium prefixing */ -- - #endif /* PNGLCONF_H */ diff --git a/chromium-67.0.3396.62-gn-system.patch b/chromium-67.0.3396.62-gn-system.patch deleted file mode 100644 index 4a08e94c113428b4d883228f6d061e3c96166ae9..0000000000000000000000000000000000000000 --- a/chromium-67.0.3396.62-gn-system.patch +++ /dev/null @@ -1,208 +0,0 @@ -diff -up chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn -diff -up chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libusb.gn ---- chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem 2018-05-30 12:18:36.949488683 -0400 -+++ chromium-67.0.3396.62/build/linux/unbundle/libusb.gn 2018-05-30 12:18:36.949488683 -0400 -@@ -0,0 +1,24 @@ -+# Copyright 2016 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. -+ -+import("//build/config/linux/pkg_config.gni") -+import("//build/shim_headers.gni") -+ -+pkg_config("system_libusb") { -+ packages = [ "libusb-1.0" ] -+} -+ -+shim_headers("libusb_shim") { -+ root_path = "src/libusb" -+ headers = [ -+ "libusb.h", -+ ] -+} -+ -+source_set("libusb") { -+ deps = [ -+ ":libusb_shim", -+ ] -+ public_configs = [ ":system_libusb" ] -+} -diff -up chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/opus.gn ---- chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem 2018-05-30 04:43:03.000000000 -0400 -+++ chromium-67.0.3396.62/build/linux/unbundle/opus.gn 2018-05-30 12:18:36.950488661 -0400 -@@ -1,3 +1,164 @@ -+# Copyright 2016 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. -+ -+import("//build/config/linux/pkg_config.gni") -+import("//build/shim_headers.gni") -+import("//testing/test.gni") -+ -+pkg_config("system_opus") { -+ packages = [ "opus" ] -+} -+ -+shim_headers("opus_shim") { -+ root_path = "src/include" -+ headers = [ -+ "opus_custom.h", -+ "opus_defines.h", -+ "opus_multistream.h", -+ "opus_types.h", -+ "opus.h", -+ ] -+} -+ -+source_set("opus") { -+ deps = [ -+ ":opus_shim", -+ ] -+ public_configs = [ ":system_opus" ] -+} -+ -+config("opus_test_config") { -+ include_dirs = [ -+ "src/celt", -+ "src/silk", -+ ] -+ -+ if (is_win) { -+ defines = [ "inline=__inline" ] -+ } -+ if (is_android) { -+ libs = [ "log" ] -+ } -+ if (is_clang) { -+ cflags = [ "-Wno-absolute-value" ] -+ } -+} -+ -+executable("opus_compare") { -+ sources = [ -+ "src/src/opus_compare.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+executable("opus_demo") { -+ sources = [ -+ "src/src/opus_demo.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+test("test_opus_api") { -+ sources = [ -+ "src/tests/test_opus_api.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_encode") { -+ sources = [ -+ "src/tests/test_opus_encode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+# GN orders flags on a target before flags from configs. The default config -+# adds -Wall, and this flag have to be after -Wall -- so they need to -+# come from a config and can't be on the target directly. -+config("test_opus_decode_config") { -+ # test_opus_decode passes a null pointer to opus_decode() for an argument -+ # marked as requiring a non-null value by the nonnull function attribute, -+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid -+ # a compilation error if -Werror is specified. -+ if (is_posix) { -+ cflags = [ "-Wno-nonnull" ] -+ } -+} -+ -+test("test_opus_decode") { -+ sources = [ -+ "src/tests/test_opus_decode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ":test_opus_decode_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_padding") { -+ sources = [ -+ "src/tests/test_opus_padding.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ - # Copyright 2017 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. -diff -up chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py ---- chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem 2018-05-30 12:18:36.951488638 -0400 -+++ chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py 2018-05-30 12:20:02.542534270 -0400 -@@ -27,6 +27,7 @@ REPLACEMENTS = { - 'libevent': 'base/third_party/libevent/BUILD.gn', - 'libjpeg': 'third_party/libjpeg.gni', - 'libpng': 'third_party/libpng/BUILD.gn', -+ 'libusb': 'third_party/libusb/BUILD.gn', - 'libvpx': 'third_party/libvpx/BUILD.gn', - 'libwebp': 'third_party/libwebp/BUILD.gn', - 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/chromium-70.0.3538.67-sandbox-pie.patch b/chromium-70.0.3538.67-sandbox-pie.patch deleted file mode 100644 index 0f104e923ea9d90666c15da7aece3272bec403b6..0000000000000000000000000000000000000000 --- a/chromium-70.0.3538.67-sandbox-pie.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-70.0.3538.67/sandbox/linux/BUILD.gn.sandboxpie chromium-70.0.3538.67/sandbox/linux/BUILD.gn ---- chromium-70.0.3538.67/sandbox/linux/BUILD.gn.sandboxpie 2018-10-18 12:14:05.766939769 -0400 -+++ chromium-70.0.3538.67/sandbox/linux/BUILD.gn 2018-10-18 12:16:37.820027182 -0400 -@@ -315,10 +315,16 @@ if (is_linux) { - # For ULLONG_MAX - "-std=gnu99", - -+ "-fPIE", -+ - # These files have a suspicious comparison. - # TODO fix this and re-enable this warning. - "-Wno-sign-compare", - ] -+ -+ ldflags = [ -+ "-pie", -+ ] - } - } - diff --git a/chromium-71.0.3578.98-py2-bootstrap.patch b/chromium-71.0.3578.98-py2-bootstrap.patch deleted file mode 100644 index d575dff2bfa4df5cbd4a5e88791c22b7e69d7076..0000000000000000000000000000000000000000 --- a/chromium-71.0.3578.98-py2-bootstrap.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py ---- chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-12-12 17:02:58.000000000 -0500 -+++ chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-12-14 11:48:22.150229631 -0500 -@@ -58,7 +58,7 @@ def _MinifyJS(input_js): - - with tempfile.NamedTemporaryFile() as _: - args = [ -- 'python', -+ 'python2', - rjsmin_path - ] - p = subprocess.Popen(args, -@@ -177,7 +177,7 @@ def _MinifyCSS(css_text): - 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 -up chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py ---- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 2018-12-14 11:48:22.155229522 -0500 -+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 11:49:31.043728244 -0500 -@@ -93,7 +93,7 @@ def main(argv): - if not options.debug: - gn_gen_args += ' is_debug=false' - subprocess.check_call([ -- gn_path, 'gen', out_dir, -+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2', - '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT - ]) - diff --git a/chromium-75.0.3770.100-epel7-stdc++.patch b/chromium-75.0.3770.100-epel7-stdc++.patch deleted file mode 100644 index e4d62a0e5e63f87a08acf770bd1e7ed27d9d8dee..0000000000000000000000000000000000000000 --- a/chromium-75.0.3770.100-epel7-stdc++.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-75.0.3770.100/build/config/BUILD.gn.epel7 chromium-75.0.3770.100/build/config/BUILD.gn ---- chromium-75.0.3770.100/build/config/BUILD.gn.epel7 2019-06-20 10:10:03.099549006 -0400 -+++ chromium-75.0.3770.100/build/config/BUILD.gn 2019-06-20 10:10:21.483158162 -0400 -@@ -267,6 +267,7 @@ config("default_libs") { - "dl", - "pthread", - "rt", -+ "stdc++", - ] - } - } diff --git a/chromium-75.0.3770.80-grpc-gettid-fix.patch b/chromium-75.0.3770.80-grpc-gettid-fix.patch deleted file mode 100644 index c526f4aaab3fb6b6a2e6d90d0b11617e7127439d..0000000000000000000000000000000000000000 --- a/chromium-75.0.3770.80-grpc-gettid-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc.gettid-fix chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc ---- chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc.gettid-fix 2019-06-12 17:05:01.720907204 -0400 -+++ chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc 2019-06-12 17:06:01.000671370 -0400 -@@ -40,7 +40,8 @@ - #include - #include - --static long gettid(void) { return syscall(__NR_gettid); } -+/* renamed to avoid conflict with glibc 'gettid()' */ -+static long gettid_gpr(void) { return syscall(__NR_gettid); } - - void gpr_log(const char* file, int line, gpr_log_severity severity, - const char* format, ...) { -@@ -70,7 +71,7 @@ void gpr_default_log(gpr_log_func_args* - gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME); - struct tm tm; - static __thread long tid = 0; -- if (tid == 0) tid = gettid(); -+ if (tid == 0) tid = gettid_gpr(); - - timer = static_cast(now.tv_sec); - final_slash = strrchr(args->file, '/'); diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch deleted file mode 100644 index aec3107f76095b2d518c0e6c12fbd048c10b435e..0000000000000000000000000000000000000000 --- a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200 -+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200 -@@ -9,8 +9,7 @@ - namespace remoting { - - // static --const base::TimeDelta MessageTracker::kCleanupInterval = -- base::TimeDelta::FromMinutes(2); -+constexpr base::TimeDelta MessageTracker::kCleanupInterval; - - MessageTracker::MessageTracker() = default; - -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200 -+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 -@@ -36,7 +36,8 @@ class MessageTracker final { - - // All IDs older than now - kCleanupInterval will be eventually removed, but - // they are not guaranteed to be immediately removed after the interval. -- static const base::TimeDelta kCleanupInterval; -+ static constexpr base::TimeDelta kCleanupInterval = -+ base::TimeDelta::FromMinutes(2); - - void RemoveExpiredIds(); - -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc diff --git a/chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch b/chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch deleted file mode 100644 index ff6c52361fd499f93544390293ed95df5e8c09db..0000000000000000000000000000000000000000 --- a/chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -up chromium-76.0.3809.132/components/os_crypt/features.gni.rhel8 chromium-76.0.3809.132/components/os_crypt/features.gni ---- chromium-76.0.3809.132/components/os_crypt/features.gni.rhel8 2019-09-06 17:08:01.242314126 -0400 -+++ chromium-76.0.3809.132/components/os_crypt/features.gni 2019-09-06 17:08:10.139134707 -0400 -@@ -7,5 +7,5 @@ import("//build/config/ui.gni") - declare_args() { - # Whether to use libgnome-keyring (deprecated by libsecret). - # See http://crbug.com/466975 and http://crbug.com/355223. -- use_gnome_keyring = is_desktop_linux && use_glib -+ use_gnome_keyring = false - } diff --git a/chromium-77-clang.patch b/chromium-77-clang.patch deleted file mode 100644 index a57b5a458a4da6ff12921277875c254669ba035d..0000000000000000000000000000000000000000 --- a/chromium-77-clang.patch +++ /dev/null @@ -1,13 +0,0 @@ -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-77.0.3865.75-gcc-include-memory.patch b/chromium-77.0.3865.75-gcc-include-memory.patch deleted file mode 100644 index 67b3b44ce04208890d233812ed440bfae44a75fd..0000000000000000000000000000000000000000 --- a/chromium-77.0.3865.75-gcc-include-memory.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h ---- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200 -+++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200 -@@ -3,6 +3,8 @@ - - #include "low_pass_filter.h" - -+#include -+ - namespace one_euro_filter { - namespace test { - class OneEuroFilterTest; -diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h ---- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory 2020-02-21 12:25:17.206021379 -0500 -+++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h 2020-02-21 12:25:31.613759976 -0500 -@@ -12,6 +12,7 @@ - #define MODULES_AUDIO_PROCESSING_AEC3_REVERB_MODEL_ESTIMATOR_H_ - - #include -+#include - #include - - #include "absl/types/optional.h" diff --git a/chromium-77.0.3865.75-no-zlib-mangle.patch b/chromium-77.0.3865.75-no-zlib-mangle.patch deleted file mode 100644 index c32d22649bfd8e3b71bc1f51ee1661174eeb7780..0000000000000000000000000000000000000000 --- a/chromium-77.0.3865.75-no-zlib-mangle.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle chromium-77.0.3865.75/third_party/zlib/zconf.h ---- chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle 2019-09-12 09:36:37.924086850 +0200 -+++ chromium-77.0.3865.75/third_party/zlib/zconf.h 2019-09-12 09:53:01.623958551 +0200 -@@ -9,18 +9,6 @@ - #define ZCONF_H - - /* -- * This library is also built as a part of AOSP, which does not need to include -- * chromeconf.h. This config does not want chromeconf.h, so it can set this -- * macro to opt out. While this works today, there's no guarantee that building -- * zlib outside of Chromium keeps working in the future. -- */ --#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) --/* This include does prefixing as below, but with an updated set of names. Also -- * sets up export macros in component builds. */ --#include "chromeconf.h" --#endif -- --/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - * Even better than compiling with -DZ_PREFIX would be to use configure to set diff --git a/chromium-78-protobuf-RepeatedPtrField-export.patch b/chromium-78-protobuf-RepeatedPtrField-export.patch deleted file mode 100644 index ddb9e80eefe4de2a444cbfcdf57d9f7b075f3978..0000000000000000000000000000000000000000 --- a/chromium-78-protobuf-RepeatedPtrField-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h -index b5b193c..4434854 100644 ---- a/third_party/protobuf/src/google/protobuf/repeated_field.h -+++ b/third_party/protobuf/src/google/protobuf/repeated_field.h -@@ -804,7 +804,7 @@ class StringTypeHandler { - // RepeatedPtrField is like RepeatedField, but used for repeated strings or - // Messages. - template --class RepeatedPtrField final : private internal::RepeatedPtrFieldBase { -+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase { - public: - RepeatedPtrField(); - explicit RepeatedPtrField(Arena* arena); diff --git a/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch b/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch deleted file mode 100644 index 6785b09245900773ba86b359eb71d356b9601e32..0000000000000000000000000000000000000000 --- a/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ---- chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:16.153251961 -0400 -+++ chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2019-10-23 08:58:36.896862347 -0400 -@@ -1486,7 +1486,7 @@ struct kernel_stat { - "d"(LSS_SYSCALL_ARG(parent_tidptr)), - "r"(LSS_SYSCALL_ARG(newtls)), - "r"(LSS_SYSCALL_ARG(child_tidptr)) -- : "rsp", "memory", "r8", "r10", "r11", "rcx"); -+ : "memory", "r8", "r10", "r11", "rcx"); - } - LSS_RETURN(int, __res); - } -diff -up chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h ---- chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:59.623435488 -0400 -+++ chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2019-10-23 08:59:16.113125772 -0400 -@@ -1485,7 +1485,7 @@ struct kernel_stat { - "d"(LSS_SYSCALL_ARG(parent_tidptr)), - "r"(LSS_SYSCALL_ARG(newtls)), - "r"(LSS_SYSCALL_ARG(child_tidptr)) -- : "rsp", "memory", "r8", "r10", "r11", "rcx"); -+ : "memory", "r8", "r10", "r11", "rcx"); - } - LSS_RETURN(int, __res); - } diff --git a/chromium-79-gcc-protobuf-alignas.patch b/chromium-79-gcc-protobuf-alignas.patch deleted file mode 100644 index 20180c473dccb4dba9465f2eac61aa171f7f1058..0000000000000000000000000000000000000000 --- a/chromium-79-gcc-protobuf-alignas.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 5d66d5907ac3e76d1e382b8a8e8afe653bd00f4c Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sun, 31 May 2020 13:59:15 +0000 -Subject: [PATCH] Fix GCC build with PROTOBUF_USE_DLLS enabled - -GCC does not allow mixing __attribute__(()) syntax and alignas() -syntax. Re-use approach from chromium base/compiler_specific.h ---- - .../protobuf/src/google/protobuf/arena.h | 2 +- - .../protobuf/src/google/protobuf/port_def.inc | 29 +++++++++++++++++++ - .../src/google/protobuf/port_undef.inc | 1 + - 3 files changed, 31 insertions(+), 1 deletion(-) - -diff --git a/third_party/protobuf/src/google/protobuf/arena.h b/third_party/protobuf/src/google/protobuf/arena.h -index dedc221..a8515ce 100644 ---- a/third_party/protobuf/src/google/protobuf/arena.h -+++ b/third_party/protobuf/src/google/protobuf/arena.h -@@ -245,7 +245,7 @@ struct ArenaOptions { - // well as protobuf container types like RepeatedPtrField and Map. The protocol - // is internal to protobuf and is not guaranteed to be stable. Non-proto types - // should not rely on this protocol. --class PROTOBUF_EXPORT alignas(8) Arena final { -+class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final { - public: - // Arena constructor taking custom options. See ArenaOptions below for - // descriptions of the options available. -diff --git a/third_party/protobuf/src/google/protobuf/port_def.inc b/third_party/protobuf/src/google/protobuf/port_def.inc -index f1bd85d..6d02b53 100644 ---- a/third_party/protobuf/src/google/protobuf/port_def.inc -+++ b/third_party/protobuf/src/google/protobuf/port_def.inc -@@ -528,6 +528,35 @@ PROTOBUF_EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport)); - #undef IN - #endif // _MSC_VER - -+// Specify memory alignment for structs, classes, etc. -+// Use like: -+// class PROTOBUF_ALIGNAS(16) MyClass { ... } -+// PROTOBUF_ALIGNAS(16) int array[4]; -+// -+// In most places you can use the C++11 keyword "alignas", which is preferred. -+// -+// But compilers have trouble mixing __attribute__((...)) syntax with -+// alignas(...) syntax. -+// -+// Doesn't work in clang or gcc: -+// struct alignas(16) __attribute__((packed)) S { char c; }; -+// Works in clang but not gcc: -+// struct __attribute__((packed)) alignas(16) S2 { char c; }; -+// Works in clang and gcc: -+// struct alignas(16) S3 { char c; } __attribute__((packed)); -+// -+// There are also some attributes that must be specified *before* a class -+// definition: visibility (used for exporting functions/classes) is one of -+// these attributes. This means that it is not possible to use alignas() with a -+// class that is marked as exported. -+#if defined(_MSC_VER) -+#define PROTOBUF_ALIGNAS(byte_alignment) __declspec(align(byte_alignment)) -+#elif defined(__GNUC__) -+#define PROTOBUF_ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment))) -+#else -+#define PROTOBUF_ALIGNAS(byte_alignment) alignas(byte_alignment) -+#endif -+ - #if defined(__clang__) - #pragma clang diagnostic push - // TODO(gerbens) ideally we cleanup the code. But a cursory try shows many -diff --git a/third_party/protobuf/src/google/protobuf/port_undef.inc b/third_party/protobuf/src/google/protobuf/port_undef.inc -index b7e67fe..ba1fffc 100644 ---- a/third_party/protobuf/src/google/protobuf/port_undef.inc -+++ b/third_party/protobuf/src/google/protobuf/port_undef.inc -@@ -80,6 +80,7 @@ - #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec - #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport - #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport -+#undef PROTOBUF_ALIGNAS - - - --- -2.26.2 - diff --git a/chromium-80.0.3987.106-missing-cstring-header.patch b/chromium-80.0.3987.106-missing-cstring-header.patch deleted file mode 100644 index 646dac62db68d9264d6ae8735d51b6d7459082cb..0000000000000000000000000000000000000000 --- a/chromium-80.0.3987.106-missing-cstring-header.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc ---- chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2020-02-21 13:19:47.077683105 -0500 -+++ chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc 2020-02-21 13:19:47.077683105 -0500 -@@ -8,6 +8,8 @@ - * be found in the AUTHORS file in the root of the source tree. - */ - -+#include -+ - #include "audio/utility/channel_mixer.h" - - #include "audio/utility/channel_mixing_matrix.h" -diff -up chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc ---- chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2020-02-21 13:19:48.171659179 -0500 -+++ chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2020-02-21 13:19:48.174659113 -0500 -@@ -17,6 +17,7 @@ - #include - #include - -+#include - #include - #include - -diff -up chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc ---- chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2020-02-21 13:30:09.609068057 -0500 -+++ chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2020-02-21 13:30:23.791757875 -0500 -@@ -10,6 +10,7 @@ - - #include "modules/video_coding/utility/ivf_file_reader.h" - -+#include - #include - #include - diff --git a/chromium-80.0.3987.132-el7-noexcept.patch b/chromium-80.0.3987.132-el7-noexcept.patch deleted file mode 100644 index cad8a6b3fa2c8af5936956e056f6acc66c30ef8a..0000000000000000000000000000000000000000 --- a/chromium-80.0.3987.132-el7-noexcept.patch +++ /dev/null @@ -1,201 +0,0 @@ -diff -up chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc ---- chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc.el7-noexcept 2020-03-03 13:53:03.000000000 -0500 -+++ chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc 2020-03-11 10:47:13.352162096 -0400 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-80.0.3987.132/components/history/core/browser/history_types.cc.el7-noexcept chromium-80.0.3987.132/components/history/core/browser/history_types.cc ---- chromium-80.0.3987.132/components/history/core/browser/history_types.cc.el7-noexcept 2020-03-03 13:53:53.000000000 -0500 -+++ chromium-80.0.3987.132/components/history/core/browser/history_types.cc 2020-03-11 10:47:13.352162096 -0400 -@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& - Swap(&other); - } - --QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { -+QueryResults& QueryResults::operator=(QueryResults&& other) { - Swap(&other); - return *this; - } -@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR - - QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; - --QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; -+QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; - - // MostVisitedURL -------------------------------------------------------------- - -diff -up chromium-80.0.3987.132/components/history/core/browser/history_types.h.el7-noexcept chromium-80.0.3987.132/components/history/core/browser/history_types.h ---- chromium-80.0.3987.132/components/history/core/browser/history_types.h.el7-noexcept 2020-03-03 13:53:53.000000000 -0500 -+++ chromium-80.0.3987.132/components/history/core/browser/history_types.h 2020-03-11 10:47:13.352162096 -0400 -@@ -141,7 +141,7 @@ class QueryResults { - ~QueryResults(); - - QueryResults(QueryResults&& other) noexcept; -- QueryResults& operator=(QueryResults&& other) noexcept; -+ QueryResults& operator=(QueryResults&& other); - - void set_reached_beginning(bool reached) { reached_beginning_ = reached; } - bool reached_beginning() { return reached_beginning_; } -@@ -276,7 +276,7 @@ struct QueryURLResult { - QueryURLResult(const QueryURLResult&); - QueryURLResult(QueryURLResult&&) noexcept; - QueryURLResult& operator=(const QueryURLResult&); -- QueryURLResult& operator=(QueryURLResult&&) noexcept; -+ QueryURLResult& operator=(QueryURLResult&&); - ~QueryURLResult(); - - // Indicates whether the call to HistoryBackend::QueryURL was successfull -diff -up chromium-80.0.3987.132/components/history/core/browser/url_row.cc.el7-noexcept chromium-80.0.3987.132/components/history/core/browser/url_row.cc ---- chromium-80.0.3987.132/components/history/core/browser/url_row.cc.el7-noexcept 2020-03-03 13:53:05.000000000 -0500 -+++ chromium-80.0.3987.132/components/history/core/browser/url_row.cc 2020-03-11 10:47:13.352162096 -0400 -@@ -26,7 +26,7 @@ URLRow::~URLRow() { - } - - URLRow& URLRow::operator=(const URLRow& other) = default; --URLRow& URLRow::operator=(URLRow&& other) noexcept = default; -+URLRow& URLRow::operator=(URLRow&& other) = default; - - void URLRow::Swap(URLRow* other) { - std::swap(id_, other->id_); -diff -up chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc ---- chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2020-03-03 13:53:06.000000000 -0500 -+++ chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc 2020-03-11 10:47:13.352162096 -0400 -@@ -60,7 +60,7 @@ SuggestionAnswer::TextField::TextField(T - SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( - const TextField&) = default; - SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( -- TextField&&) noexcept = default; -+ TextField&&) = default; - - // static - bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, -diff -up chromium-80.0.3987.132/components/policy/core/common/policy_map.cc.el7-noexcept chromium-80.0.3987.132/components/policy/core/common/policy_map.cc ---- chromium-80.0.3987.132/components/policy/core/common/policy_map.cc.el7-noexcept 2020-03-03 13:53:53.000000000 -0500 -+++ chromium-80.0.3987.132/components/policy/core/common/policy_map.cc 2020-03-11 10:47:13.353162076 -0400 -@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy(level, scope, source, value ? value->CreateDeepCopy() : nullptr, -diff -up chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc.el7-noexcept chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc ---- chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc.el7-noexcept 2020-03-03 13:53:06.000000000 -0500 -+++ chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc 2020-03-11 10:47:13.353162076 -0400 -@@ -14,14 +14,14 @@ LogoMetadata::LogoMetadata() = default; - LogoMetadata::LogoMetadata(const LogoMetadata&) = default; - LogoMetadata::LogoMetadata(LogoMetadata&&) noexcept = default; - LogoMetadata& LogoMetadata::operator=(const LogoMetadata&) = default; --LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) noexcept = default; -+LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) = default; - LogoMetadata::~LogoMetadata() = default; - - EncodedLogo::EncodedLogo() = default; - EncodedLogo::EncodedLogo(const EncodedLogo&) = default; - EncodedLogo::EncodedLogo(EncodedLogo&&) noexcept = default; - EncodedLogo& EncodedLogo::operator=(const EncodedLogo&) = default; --EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) noexcept = default; -+EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) = default; - EncodedLogo::~EncodedLogo() = default; - - Logo::Logo() = default; -@@ -29,7 +29,7 @@ Logo::~Logo() = default; - - LogoCallbacks::LogoCallbacks() = default; - LogoCallbacks::LogoCallbacks(LogoCallbacks&&) noexcept = default; --LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) noexcept = default; -+LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) = default; - LogoCallbacks::~LogoCallbacks() = default; - - } // namespace search_provider_logos -diff -up chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc.el7-noexcept chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc ---- chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc.el7-noexcept 2020-03-03 13:53:54.000000000 -0500 -+++ chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc 2020-03-11 10:47:13.353162076 -0400 -@@ -58,7 +58,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -@@ -75,7 +75,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && -diff -up chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc ---- chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc.el7-noexcept 2020-03-11 10:47:13.684155381 -0400 -+++ chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc 2020-03-11 10:48:18.241848293 -0400 -@@ -24,7 +24,7 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; - - // static - CoreAccountId CoreAccountId::FromGaiaId(const std::string& gaia_id) { -@@ -82,4 +82,4 @@ std::vector ToStringList( - for (const auto& account_id : account_ids) - account_ids_string.push_back(account_id.ToString()); - return account_ids_string; --} -\ No newline at end of file -+} -diff -up chromium-80.0.3987.132/google_apis/gaia/core_account_id.h.el7-noexcept chromium-80.0.3987.132/google_apis/gaia/core_account_id.h ---- chromium-80.0.3987.132/google_apis/gaia/core_account_id.h.el7-noexcept 2020-03-11 10:47:13.686155340 -0400 -+++ chromium-80.0.3987.132/google_apis/gaia/core_account_id.h 2020-03-11 10:48:47.857248531 -0400 -@@ -30,7 +30,7 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ CoreAccountId& operator=(CoreAccountId&&); - - // Checks if the account is valid or not. - bool empty() const; -diff -up chromium-80.0.3987.132/gpu/config/gpu_info.cc.el7-noexcept chromium-80.0.3987.132/gpu/config/gpu_info.cc ---- chromium-80.0.3987.132/gpu/config/gpu_info.cc.el7-noexcept 2020-03-03 13:53:55.000000000 -0500 -+++ chromium-80.0.3987.132/gpu/config/gpu_info.cc 2020-03-11 10:47:13.689155280 -0400 -@@ -173,7 +173,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), -diff -up chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h ---- chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept 2020-03-03 13:55:28.000000000 -0500 -+++ chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h 2020-03-11 10:47:13.690155259 -0400 -@@ -22,7 +22,7 @@ struct ServiceInfo { - ServiceInfo(ServiceInfo&&) MAYBE_NOEXCEPT = default; - ServiceInfo(const ServiceInfo&) MAYBE_NOEXCEPT = default; - -- ServiceInfo& operator=(ServiceInfo&&) MAYBE_NOEXCEPT = default; -+ ServiceInfo& operator=(ServiceInfo&&) = default; - ServiceInfo& operator=(const ServiceInfo&) MAYBE_NOEXCEPT = default; - - bool operator==(const ServiceInfo& other) const; diff --git a/chromium-80.0.3987.87-missing-cstdint-header.patch b/chromium-80.0.3987.87-missing-cstdint-header.patch deleted file mode 100644 index ba94672fd7417d6f127d1794fbe2d6b758efd7ad..0000000000000000000000000000000000000000 --- a/chromium-80.0.3987.87-missing-cstdint-header.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h ---- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint 2020-02-21 12:30:31.564317903 -0500 -+++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h 2020-02-21 12:30:31.561317957 -0500 -@@ -11,6 +11,7 @@ - #ifndef COMMON_VIDEO_H264_PPS_PARSER_H_ - #define COMMON_VIDEO_H264_PPS_PARSER_H_ - -+#include - #include "absl/types/optional.h" - - namespace rtc { -diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h ---- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint 2020-02-21 12:30:31.565317885 -0500 -+++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h 2020-02-21 12:30:31.565317885 -0500 -@@ -11,6 +11,7 @@ - #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_ - #define COMMON_VIDEO_H264_SPS_PARSER_H_ - -+#include - #include "absl/types/optional.h" - - namespace rtc { -diff -up chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h ---- chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint 2020-02-21 12:52:16.946512744 -0500 -+++ chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h 2020-02-21 12:52:26.220312608 -0500 -@@ -11,6 +11,7 @@ - #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - -+#include - #include - - #include "absl/types/optional.h" -diff -up chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h.missing-cstdint chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h ---- chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h.missing-cstdint 2020-04-13 15:33:24.879106867 -0400 -+++ chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h 2020-04-13 15:33:47.453689695 -0400 -@@ -7,6 +7,8 @@ - - #include "ui/gfx/buffer_types.h" - -+#include -+ - namespace ui { - - int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format); diff --git a/chromium-81.0.4044.92-unbundle-zlib.patch b/chromium-81.0.4044.92-unbundle-zlib.patch deleted file mode 100644 index ff4e3b1e82c8d40dbb6284406bb1f4f9bd0084d7..0000000000000000000000000000000000000000 --- a/chromium-81.0.4044.92-unbundle-zlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn ---- chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib 2020-04-13 12:25:09.001172601 -0400 -+++ chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn 2020-04-13 12:25:23.688921586 -0400 -@@ -294,7 +294,7 @@ if (enable_perfetto_zlib) { - public_configs = [ "//buildtools:zlib_config" ] - public_deps = [ "//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-83.0.4103.61-disable-fontconfig-cache-magic.patch b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch deleted file mode 100644 index d1a496ba2f04a825c10da043ab4ea8e0e66e20d7..0000000000000000000000000000000000000000 --- a/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache chromium-83.0.4103.61/base/test/BUILD.gn ---- chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache 2020-05-29 12:30:03.409707011 -0400 -+++ chromium-83.0.4103.61/base/test/BUILD.gn 2020-05-29 12:30:22.593275137 -0400 -@@ -188,9 +188,6 @@ static_library("test_support") { - sources += [ "test_file_util_linux.cc" ] - public_deps += [ ":fontconfig_util_linux" ] - data_deps = [ "//third_party/test_fonts" ] -- if (current_toolchain == host_toolchain) { -- data_deps += [ ":do_generate_fontconfig_caches" ] -- } - } - - if (is_mac) { diff --git a/chromium-84-blink-disable-clang-format.patch b/chromium-84-blink-disable-clang-format.patch deleted file mode 100644 index c573db8259e070737e517146b6ca3d739618eba6..0000000000000000000000000000000000000000 --- a/chromium-84-blink-disable-clang-format.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 08ac7188f414218ac9d764e29e7aa64a6bfc2f96 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sun, 31 May 2020 10:02:03 +0000 -Subject: [PATCH] disable clang-format for generated code in blink - -For GCC builds clang-format might be not available. Additionally, -current scripts look for clang-format within chromium sources and -don't consider system clang-format. ---- - .../bindings/scripts/bind_gen/codegen_utils.py | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -index 7021f1a..33bf5bf 100644 ---- a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -@@ -150,12 +150,4 @@ def write_code_node_to_file(code_node, filepath): - - rendered_text = render_code_node(code_node) - -- format_result = style_format.auto_format(rendered_text, filename=filepath) -- if not format_result.did_succeed: -- raise RuntimeError("Style-formatting failed: filename = {filename}\n" -- "---- stderr ----\n" -- "{stderr}:".format( -- filename=format_result.filename, -- stderr=format_result.error_message)) -- -- web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents) -+ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text) --- -2.26.2 - diff --git a/chromium-84.0.4147.105-gn-gcc-cleanup.patch b/chromium-84.0.4147.105-gn-gcc-cleanup.patch deleted file mode 100644 index cc8ad7c1aaea4f7eba581b2caaaf97627dab60a6..0000000000000000000000000000000000000000 --- a/chromium-84.0.4147.105-gn-gcc-cleanup.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up chromium-84.0.4147.105/tools/gn/src/gn/err.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/err.h ---- chromium-84.0.4147.105/tools/gn/src/gn/err.h.gn-gcc-cleanup 2020-08-01 10:04:57.354719575 -0400 -+++ chromium-84.0.4147.105/tools/gn/src/gn/err.h 2020-08-01 10:04:51.653974728 -0400 -@@ -55,7 +55,7 @@ class Err { - const std::string& help_text = std::string()); - - Err(const Err& other); -- -+ Err& operator=(const Err& other) = default; - ~Err(); - - bool has_error() const { return has_error_; } -diff -up chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h ---- chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup 2020-08-01 10:24:18.405934036 -0400 -+++ chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h 2020-08-01 10:24:56.664265755 -0400 -@@ -33,6 +33,7 @@ class LabelPattern { - const std::string_view& name, - const Label& toolchain_label); - LabelPattern(const LabelPattern& other); -+ LabelPattern& operator=(const LabelPattern& other) = default; - ~LabelPattern(); - - // Converts the given input string to a pattern. This does special stuff -diff -up chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h ---- chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup 2020-08-01 10:04:51.721971684 -0400 -+++ chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h 2020-08-01 10:04:51.765969715 -0400 -@@ -15,6 +15,7 @@ class SubstitutionList { - public: - SubstitutionList(); - SubstitutionList(const SubstitutionList& other); -+ SubstitutionList& operator=(const SubstitutionList& other) = default; - ~SubstitutionList(); - - bool Parse(const Value& value, Err* err); -diff -up chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h ---- chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup 2020-08-01 10:04:51.637975444 -0400 -+++ chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h 2020-08-01 10:04:57.305721767 -0400 -@@ -35,6 +35,7 @@ class SubstitutionPattern { - - SubstitutionPattern(); - SubstitutionPattern(const SubstitutionPattern& other); -+ SubstitutionPattern& operator=(const SubstitutionPattern& other) = default; - ~SubstitutionPattern(); - - // Parses the given string and fills in the pattern. The pattern must only diff --git a/chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch b/chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch deleted file mode 100644 index 778062c3a7498cfc8793578fb2c427769f511111..0000000000000000000000000000000000000000 --- a/chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S.fixme chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S ---- chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S.fixme 2020-08-21 15:49:55.565746419 +0000 -+++ chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S 2020-08-21 15:50:55.592152015 +0000 -@@ -23,6 +23,8 @@ function ff_prefetch_aarch64, export=1 - prfm pldl1strm, [x0] - prfm pldl1strm, [x0, x1] - add x0, x0, x1, lsl #1 -- b.gt X(ff_prefetch_aarch64) -+ b.le 1f -+ b X(ff_prefetch_aarch64) -+ 1: - ret - endfunc diff --git a/chromium-84.0.4147.125-i686-fix_textrels.patch b/chromium-84.0.4147.125-i686-fix_textrels.patch deleted file mode 100644 index e0fd5ec323f2b0bbb1cf2ebd7ee528fe35d88e3b..0000000000000000000000000000000000000000 --- a/chromium-84.0.4147.125-i686-fix_textrels.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn.i686-textrels chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn ---- chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn.i686-textrels 2020-08-17 09:33:53.153653741 -0400 -+++ chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn 2020-08-17 09:34:25.099564669 -0400 -@@ -68,7 +68,7 @@ if (has_nasm_deps) { - } - - # See comments on fix_textrels config. -- if (use_lld && current_cpu == "x86" && !is_win) { -+ if (current_cpu == "x86" && !is_win) { - all_dependent_configs = [ ":fix_textrels" ] - } - } diff --git a/chromium-84.0.4147.125-remoting-cstring.patch b/chromium-84.0.4147.125-remoting-cstring.patch deleted file mode 100644 index c68eca6fc0c656c843f0ab25bcfd27fcf89d8628..0000000000000000000000000000000000000000 --- a/chromium-84.0.4147.125-remoting-cstring.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -up chromium-84.0.4147.125/remoting/base/util.cc.remoting-cstring chromium-84.0.4147.125/remoting/base/util.cc ---- chromium-84.0.4147.125/remoting/base/util.cc.remoting-cstring 2020-08-11 22:03:35.508469920 -0400 -+++ chromium-84.0.4147.125/remoting/base/util.cc 2020-08-11 22:03:35.507469920 -0400 -@@ -4,6 +4,7 @@ - - #include "remoting/base/util.h" - -+#include - #include - - #include "base/logging.h" -diff -up chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc.remoting-cstring chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc ---- chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc.remoting-cstring 2020-08-11 22:03:35.279469970 -0400 -+++ chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc 2020-08-11 22:03:35.277469971 -0400 -@@ -5,6 +5,7 @@ - #include "remoting/client/display/gl_helpers.h" - - #include "base/logging.h" -+#include - - namespace remoting { - -diff -up chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc.remoting-cstring chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc ---- chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc.remoting-cstring 2020-08-12 09:53:46.104504128 -0400 -+++ chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc 2020-08-12 09:53:59.123476291 -0400 -@@ -4,6 +4,7 @@ - - #include "remoting/host/fake_mouse_cursor_monitor.h" - -+#include - #include - - #include "base/check.h" -diff -up chromium-84.0.4147.125/remoting/host/host_config_unittest.cc.remoting-cstring chromium-84.0.4147.125/remoting/host/host_config_unittest.cc ---- chromium-84.0.4147.125/remoting/host/host_config_unittest.cc.remoting-cstring 2020-08-11 22:03:35.083470013 -0400 -+++ chromium-84.0.4147.125/remoting/host/host_config_unittest.cc 2020-08-11 22:03:35.196469988 -0400 -@@ -10,6 +10,7 @@ - #include "base/memory/ref_counted.h" - #include "base/values.h" - #include "testing/gtest/include/gtest/gtest.h" -+#include - - namespace remoting { - -diff -up chromium-84.0.4147.125/remoting/host/host_secret.cc.remoting-cstring chromium-84.0.4147.125/remoting/host/host_secret.cc ---- chromium-84.0.4147.125/remoting/host/host_secret.cc.remoting-cstring 2020-08-11 22:03:35.079470014 -0400 -+++ chromium-84.0.4147.125/remoting/host/host_secret.cc 2020-08-11 22:03:35.029470025 -0400 -@@ -6,7 +6,7 @@ - - #include - --#include -+#include - - #include "base/rand_util.h" - #include "base/strings/string_number_conversions.h" diff --git a/chromium-84.0.4147.89-epel7-old-cups.patch b/chromium-84.0.4147.89-epel7-old-cups.patch deleted file mode 100644 index bb7998b2026a9fddc27d1fd415a29e2474e56e95..0000000000000000000000000000000000000000 --- a/chromium-84.0.4147.89-epel7-old-cups.patch +++ /dev/null @@ -1,149 +0,0 @@ -diff -up chromium-84.0.4147.89/chrome/service/cloud_print/print_system_cups.cc.el7cups chromium-84.0.4147.89/chrome/service/cloud_print/print_system_cups.cc ---- chromium-84.0.4147.89/chrome/service/cloud_print/print_system_cups.cc.el7cups 2020-07-13 14:41:23.000000000 -0400 -+++ chromium-84.0.4147.89/chrome/service/cloud_print/print_system_cups.cc 2020-07-15 10:16:30.482337332 -0400 -@@ -725,8 +725,9 @@ int PrintSystemCUPS::PrintFile(const GUR - // Use default (local) print server. - if (url.is_empty()) - return cupsPrintFile(name, filename, title, num_options, options); -- -- printing::HttpConnectionCUPS http(url, encryption, /*blocking=*/false); -+ -+ printing::HttpConnectionCUPS http(url, encryption); -+ http.SetBlocking(false); - return cupsPrintFile2(http.http(), name, filename, title, num_options, - options); - } -@@ -742,7 +743,8 @@ int PrintSystemCUPS::GetJobs(cups_job_t* - if (url.is_empty()) - return cupsGetJobs(jobs, name, myjobs, whichjobs); - -- printing::HttpConnectionCUPS http(url, encryption, /*blocking=*/false); -+ printing::HttpConnectionCUPS http(url, encryption); -+ http.SetBlocking(false); - return cupsGetJobs2(http.http(), jobs, name, myjobs, whichjobs); - } - -diff -up chromium-84.0.4147.89/printing/backend/cups_helper.cc.el7cups chromium-84.0.4147.89/printing/backend/cups_helper.cc ---- chromium-84.0.4147.89/printing/backend/cups_helper.cc.el7cups 2020-07-13 14:41:27.000000000 -0400 -+++ chromium-84.0.4147.89/printing/backend/cups_helper.cc 2020-07-15 10:17:37.551296816 -0400 -@@ -33,18 +33,6 @@ namespace printing { - // This section contains helper code for PPD parsing for semantic capabilities. - namespace { - --// Function availability can be tested by checking whether its address is not --// nullptr. Weak symbols remove the need for platform specific build flags and --// allow for appropriate CUPS usage on platforms with non-uniform version --// support, namely Linux. --#define WEAK_CUPS_FN(x) extern "C" __attribute__((weak)) decltype(x) x -- --WEAK_CUPS_FN(httpConnect2); -- --// Timeout for establishing a CUPS connection. It is expected that cupsd is --// able to start and respond on all systems within this duration. --constexpr base::TimeDelta kCupsTimeout = base::TimeDelta::FromSeconds(5); -- - // CUPS default max copies value (parsed from kCupsMaxCopies PPD attribute). - constexpr int32_t kDefaultMaxCopies = 9999; - constexpr char kCupsMaxCopies[] = "cupsMaxCopies"; -@@ -552,8 +540,7 @@ const int kDefaultIPPServerPort = 631; - // Helper wrapper around http_t structure, with connection and cleanup - // functionality. - HttpConnectionCUPS::HttpConnectionCUPS(const GURL& print_server_url, -- http_encryption_t encryption, -- bool blocking) -+ http_encryption_t encryption) - : http_(nullptr) { - // If we have an empty url, use default print server. - if (print_server_url.is_empty()) -@@ -563,17 +550,10 @@ HttpConnectionCUPS::HttpConnectionCUPS(c - if (port == url::PORT_UNSPECIFIED) - port = kDefaultIPPServerPort; - -- if (httpConnect2) { -- http_ = httpConnect2(print_server_url.host().c_str(), port, -- /*addrlist=*/nullptr, AF_UNSPEC, encryption, -- blocking ? 1 : 0, kCupsTimeout.InMilliseconds(), -- /*cancel=*/nullptr); -- } else { -- // Continue to use deprecated CUPS calls because because older Linux -- // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6. -- http_ = -- httpConnectEncrypt(print_server_url.host().c_str(), port, encryption); -- } -+ // Continue to use deprecated CUPS calls because because older Linux -+ // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6. -+ http_ = -+ httpConnectEncrypt(print_server_url.host().c_str(), port, encryption); - - if (!http_) { - LOG(ERROR) << "CP_CUPS: Failed connecting to print server: " -@@ -581,8 +561,6 @@ HttpConnectionCUPS::HttpConnectionCUPS(c - return; - } - -- if (!httpConnect2) -- httpBlocking(http_, blocking ? 1 : 0); - } - - HttpConnectionCUPS::~HttpConnectionCUPS() { -@@ -590,6 +568,10 @@ HttpConnectionCUPS::~HttpConnectionCUPS( - httpClose(http_); - } - -+void HttpConnectionCUPS::SetBlocking(bool blocking) { -+ httpBlocking(http_, blocking ? 1 : 0); -+} -+ - http_t* HttpConnectionCUPS::http() { - return http_; - } -diff -up chromium-84.0.4147.89/printing/backend/cups_helper.h.el7cups chromium-84.0.4147.89/printing/backend/cups_helper.h ---- chromium-84.0.4147.89/printing/backend/cups_helper.h.el7cups 2020-07-13 14:41:27.000000000 -0400 -+++ chromium-84.0.4147.89/printing/backend/cups_helper.h 2020-07-15 10:16:30.486337271 -0400 -@@ -23,10 +23,11 @@ struct PrinterSemanticCapsAndDefaults; - class PRINTING_EXPORT HttpConnectionCUPS { - public: - HttpConnectionCUPS(const GURL& print_server_url, -- http_encryption_t encryption, -- bool blocking); -+ http_encryption_t encryption); - ~HttpConnectionCUPS(); - -+ void SetBlocking(bool blocking); -+ - http_t* http(); - - private: -diff -up chromium-84.0.4147.89/printing/backend/print_backend_cups.cc.el7cups chromium-84.0.4147.89/printing/backend/print_backend_cups.cc ---- chromium-84.0.4147.89/printing/backend/print_backend_cups.cc.el7cups 2020-07-13 14:41:27.000000000 -0400 -+++ chromium-84.0.4147.89/printing/backend/print_backend_cups.cc 2020-07-15 10:16:30.487337255 -0400 -@@ -250,7 +250,8 @@ int PrintBackendCUPS::GetDests(cups_dest - if (print_server_url_.is_empty()) - return cupsGetDests2(CUPS_HTTP_DEFAULT, dests); - -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - - // This call must be made in the same scope as |http| because its destructor - // closes the connection. -@@ -276,7 +277,8 @@ base::FilePath PrintBackendCUPS::GetPPD( - // connection will timeout after 10 seconds of no data period. And it will - // return the same way as if data was completely and successfully - // downloaded. -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - ppd_file_path = cupsGetPPD2(http.http(), name); - // Check if the get full PPD, since non-blocking call may simply return - // normally after timeout expired. -@@ -312,7 +314,8 @@ PrintBackendCUPS::ScopedDestination Prin - // Use default (local) print server. - dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer_name.c_str(), nullptr); - } else { -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - dest = cupsGetNamedDest(http.http(), printer_name.c_str(), nullptr); - } - return ScopedDestination(dest); diff --git a/chromium-85.0.4183.83-el7-old-libdrm.patch b/chromium-85.0.4183.83-el7-old-libdrm.patch deleted file mode 100644 index d7d7f6e6a8e36db94f228c86500afefc733df342..0000000000000000000000000000000000000000 --- a/chromium-85.0.4183.83-el7-old-libdrm.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc ---- chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2020-08-31 09:38:46.043993882 -0400 -+++ chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc 2020-08-31 09:39:21.599906318 -0400 -@@ -6,6 +6,11 @@ - - #include - -+// the libdrm in EL-7 is too old to have this define -+#ifndef DRM_FORMAT_P010 -+#define DRM_FORMAT_P010 DRM_FORMAT_INVALID -+#endif -+ - #include "base/notreached.h" - - namespace ui { diff --git a/chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch b/chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch deleted file mode 100644 index 85a43ef8a9749b92190813541d94abb9b612729a..0000000000000000000000000000000000000000 --- a/chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -up chromium-86.0.4240.75/chrome/browser/about_flags.cc.vaapi chromium-86.0.4240.75/chrome/browser/about_flags.cc ---- chromium-86.0.4240.75/chrome/browser/about_flags.cc.vaapi 2020-10-07 12:38:37.000000000 -0400 -+++ chromium-86.0.4240.75/chrome/browser/about_flags.cc 2020-10-14 15:46:27.429435196 -0400 -@@ -3112,12 +3112,12 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, - MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, - #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 -up chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc.vaapi chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc ---- chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc.vaapi 2020-10-07 12:38:38.000000000 -0400 -+++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc 2020-10-14 15:46:27.430435203 -0400 -@@ -3519,16 +3519,19 @@ const char kVideoToolboxVp9DecodingDescr - - #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 -up chromium-86.0.4240.75/chrome/browser/flag_descriptions.h.vaapi chromium-86.0.4240.75/chrome/browser/flag_descriptions.h ---- chromium-86.0.4240.75/chrome/browser/flag_descriptions.h.vaapi 2020-10-14 15:46:27.431435211 -0400 -+++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.h 2020-10-14 15:56:25.774118708 -0400 -@@ -2026,13 +2026,19 @@ extern const char kVideoToolboxVp9Decodi - - #endif // defined(OS_MAC) - --// 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 -up chromium-86.0.4240.75/gpu/config/software_rendering_list.json.vaapi chromium-86.0.4240.75/gpu/config/software_rendering_list.json diff --git a/chromium-86.0.4240.75-epel7-no-kcmp-h.patch b/chromium-86.0.4240.75-epel7-no-kcmp-h.patch deleted file mode 100644 index 93d98715296ab39f70b6c4beace26449a1d32d0f..0000000000000000000000000000000000000000 --- a/chromium-86.0.4240.75-epel7-no-kcmp-h.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff -up chromium-86.0.4240.75/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-kcmp chromium-86.0.4240.75/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc ---- chromium-86.0.4240.75/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-kcmp 2020-10-19 19:05:20.249786458 -0400 -+++ chromium-86.0.4240.75/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc 2020-10-20 10:50:21.560402023 -0400 -@@ -6,7 +6,24 @@ - - #include - #include --#include -+#ifndef KCMP_FILE -+#define KCMP_FILE 0 -+#endif -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif - #include - - // Some arch's (arm64 for instance) unistd.h don't pull in symbols used here -diff -up chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-kcmp chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc ---- chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-kcmp 2020-10-20 11:58:00.449812627 -0400 -+++ chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc 2020-10-20 11:58:32.919071919 -0400 -@@ -22,6 +22,22 @@ - #include "sandbox/policy/linux/sandbox_linux.h" - #include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" - -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif -+ - using sandbox::bpf_dsl::Allow; - using sandbox::bpf_dsl::Arg; - using sandbox::bpf_dsl::Error; diff --git a/chromium-86.0.4240.75-fix-vaapi-on-intel.patch b/chromium-86.0.4240.75-fix-vaapi-on-intel.patch deleted file mode 100644 index 04fa2a79a0fe41edd0455cb50c3c5bdbdbf24e59..0000000000000000000000000000000000000000 --- a/chromium-86.0.4240.75-fix-vaapi-on-intel.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc ---- chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix 2020-10-07 12:38:47.000000000 -0400 -+++ chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-10-14 16:20:46.938556042 -0400 -@@ -58,6 +58,7 @@ unsigned int GetVaFormatForVideoCodecPro - return VA_RT_FORMAT_YUV420; - } - -+#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 -@@ -70,6 +71,7 @@ bool IsGeminiLakeOrLater() { - cpuid.model() >= kGeminiLakeModelId; - return is_geminilake_or_later; - } -+#endif - - } // namespace - -@@ -1214,6 +1216,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe - if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) - return BufferAllocationMode::kNormal; - -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+ // Move this to chromeOs only as it is causing problem in some intel linux drivers - // On Gemini Lake, Kaby Lake and later we can pass to libva the client's - // PictureBuffers to decode onto, which skips the use of the Vpp unit and its - // associated format reconciliation copy, avoiding all internal buffer -@@ -1229,6 +1233,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe - num_extra_pics_ = 3; - return BufferAllocationMode::kNone; - } -+#endif - - // For H.264 on older devices, another +1 is experimentally needed for - // high-to-high resolution changes. diff --git a/chromium-86.0.4240.75-initial_prefs-etc-path.patch b/chromium-86.0.4240.75-initial_prefs-etc-path.patch deleted file mode 100644 index 91db4f9db0564b5dc57de03e70c422e937d137a9..0000000000000000000000000000000000000000 --- a/chromium-86.0.4240.75-initial_prefs-etc-path.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc ---- chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc 2020-10-14 14:38:42.826660141 -0400 -+++ chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc 2020-10-14 14:44:49.906526646 -0400 -@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() { - - base::FilePath InitialPrefsPath() { - // The standard location of the initial prefs is next to the chrome binary. -+ // ...but we patch it to use /etc/chromium - base::FilePath initial_prefs; -- if (!base::PathService::Get(base::DIR_EXE, &initial_prefs)) -- return base::FilePath(); -+ initial_prefs = base::FilePath("/etc/chromium"); - return initial_prefs.AppendASCII(installer::kDefaultMasterPrefs); - } - diff --git a/chromium-86.0.4240.75-norar.patch b/chromium-86.0.4240.75-norar.patch deleted file mode 100644 index c5b6533b784856cd98a2b1af9465dad9295ce8bf..0000000000000000000000000000000000000000 --- a/chromium-86.0.4240.75-norar.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff -up chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn ---- chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-10-14 17:14:37.804975091 -0400 -+++ chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn 2020-10-14 17:14:37.800975059 -0400 -@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) { - public_deps = [ "//components/safe_browsing/core:csd_proto" ] - } - -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_type_util", -- "//base", -- "//base:i18n", -- "//components/safe_browsing/core:features", -- "//components/safe_browsing/core:file_type_policies", -- "//third_party/unrar:unrar", -- ] -- -- defines = [ -- "_FILE_OFFSET_BITS=64", -- "LARGEFILE_SOURCE", -- "RAR_SMP", -- "SILENT", -- -- # The following is set to disable certain macro definitions in the unrar -- # source code. -- "CHROMIUM_UNRAR", -- -- # Disables exceptions in unrar, replaces them with process termination. -- "UNRAR_NO_EXCEPTIONS", -- ] -- -- public_deps = [ "//components/safe_browsing/core:csd_proto" ] -- } -- - source_set("disk_image_type_sniffer_mac") { - sources = [ - "disk_image_type_sniffer_mac.cc", -@@ -138,7 +105,6 @@ source_set("safe_browsing") { - ":archive_analyzer_results", - ":binary_feature_extractor", - ":download_type_util", -- ":rar_analyzer", - "//components/safe_browsing/core:features", - ] - -diff -up chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS.nounrar chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS ---- chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS.nounrar 2020-10-14 17:14:37.800975059 -0400 -+++ chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS 2020-10-14 17:14:37.806975106 -0400 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn.nounrar chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn ---- chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn.nounrar 2020-10-14 17:30:58.473704551 -0400 -+++ chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn 2020-10-14 17:31:25.511917656 -0400 -@@ -15,7 +15,6 @@ source_set("file_util") { - "//base", - "//chrome/common/safe_browsing", - "//chrome/common/safe_browsing:archive_analyzer_results", -- "//chrome/common/safe_browsing:rar_analyzer", - "//components/safe_browsing:buildflags", - "//mojo/public/cpp/bindings", - ] -diff -up chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-10-14 17:14:37.255970763 -0400 -+++ chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc 2020-10-14 17:14:37.259970795 -0400 -@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - base::File temporary_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile( - std::move(rar_file), std::move(temporary_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch b/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch deleted file mode 100644 index b90259407f27671d38b2864fe1e31164c9e70a86..0000000000000000000000000000000000000000 --- a/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn ---- chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive 2020-10-14 16:24:17.803206586 -0400 -+++ chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn 2020-10-14 16:24:59.212530721 -0400 -@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni") - assert(is_linux || is_chromeos) - assert(use_vaapi) - -+config("vaapi_permissive") { -+ cflags = [ "-fpermissive" ] -+} -+ - generate_stubs("libva_stubs") { - extra_header = "va_stub_header.fragment" - sigs = [ "va.sigs" ] -@@ -121,6 +125,8 @@ source_set("vaapi") { - ] - } - -+ configs += [ ":vaapi_permissive" ] -+ - if (use_x11) { - deps += [ "//ui/gfx/x" ] - sources += [ diff --git a/chromium-86.0.4240.75-widevine-other-locations.patch b/chromium-86.0.4240.75-widevine-other-locations.patch deleted file mode 100644 index 948fb6c0b9db060a1652d07568217fcceac72a08..0000000000000000000000000000000000000000 --- a/chromium-86.0.4240.75-widevine-other-locations.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-86.0.4240.75/chrome/common/chrome_paths.cc.widevine-other-locations chromium-86.0.4240.75/chrome/common/chrome_paths.cc ---- chromium-86.0.4240.75/chrome/common/chrome_paths.cc.widevine-other-locations 2020-10-14 14:47:36.000823668 -0400 -+++ chromium-86.0.4240.75/chrome/common/chrome_paths.cc 2020-10-14 14:54:49.347207638 -0400 -@@ -379,6 +379,16 @@ bool PathProvider(int key, base::FilePat - #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ - BUILDFLAG(BUNDLE_WIDEVINE_CDM) - case chrome::DIR_BUNDLED_WIDEVINE_CDM: -+ base::PathService::Get(base::DIR_HOME, &cur); -+ cur = cur.Append(FILE_PATH_LITERAL(".local/lib/libwidevinecdm.so")); -+ if (base::PathExists(cur)) { -+ break; -+ } -+ // Yes, this has an arch hardcoded in the path, but at this time, it is the only place to find libwidevinecdm.so -+ if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))) { -+ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")); -+ break; -+ } - if (!GetComponentDirectory(&cur)) - return false; - #if !defined(OS_CHROMEOS) diff --git a/chromium-87-CursorFactory-include.patch b/chromium-87-CursorFactory-include.patch deleted file mode 100644 index 98cb9cf70db7b3769f390f6a8f09591c05828a68..0000000000000000000000000000000000000000 --- a/chromium-87-CursorFactory-include.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c4f6e8cd34a245c3640b86a91c9694d69594d80b Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 16 Sep 2020 15:05:02 +0000 -Subject: [PATCH] IWYU: ui::CursorFactory is now required independent from - Ozone - ---- - .../ui/views/chrome_browser_main_extra_parts_views_linux.cc | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -index 5a97d61..ccedd2a 100644 ---- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -@@ -7,6 +7,7 @@ - #include "chrome/browser/themes/theme_service_aura_linux.h" - #include "chrome/browser/ui/browser_list.h" - #include "chrome/browser/ui/views/theme_profile_key.h" -+#include "ui/base/cursor/cursor_factory.h" - #include "ui/display/screen.h" - #include "ui/views/linux_ui/linux_ui.h" - -@@ -15,10 +16,6 @@ - #include "ui/gtk/gtk_ui_delegate.h" - #endif - --#if defined(USE_OZONE) --#include "ui/base/cursor/cursor_factory.h" --#endif -- - #if defined(USE_X11) - #include "ui/gfx/x/connection.h" // nogncheck - #if BUILDFLAG(USE_GTK) --- -2.26.2 - diff --git a/chromium-87-ServiceWorkerContainerHost-crash.patch b/chromium-87-ServiceWorkerContainerHost-crash.patch deleted file mode 100644 index 5efc460c1003a984ac77b73eb5594de2756c58e0..0000000000000000000000000000000000000000 --- a/chromium-87-ServiceWorkerContainerHost-crash.patch +++ /dev/null @@ -1,22 +0,0 @@ -Bug: https://bugs.gentoo.org/750038 -Upstream bug: https://crbug.com/1135070 - ---- a/content/browser/service_worker/service_worker_container_host.cc -+++ b/content/browser/service_worker/service_worker_container_host.cc -@@ -626,6 +626,16 @@ - int64_t registration_id) { - DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); - DCHECK(base::Contains(registration_object_hosts_, registration_id)); -+ -+ // ServiceWorkerRegistrationObjectHost to be deleted may have the last reference to -+ // ServiceWorkerRegistration that indirectly owns this ServiceWorkerContainerHost. -+ // If we erase the object host directly from the map, |this| could be deleted -+ // during the map operation and may crash. To avoid the case, we take the -+ // ownership of the object host from the map first, and then erase the entry -+ // from the map. See https://crbug.com/1135070 for details. -+ std::unique_ptr to_be_deleted = -+ std::move(registration_object_hosts_[registration_id]); -+ DCHECK(to_be_deleted); - registration_object_hosts_.erase(registration_id); - } - diff --git a/chromium-87-openscreen-include.patch b/chromium-87-openscreen-include.patch deleted file mode 100644 index 42545a8cc1b3b89821ea5376eeba72fd66376594..0000000000000000000000000000000000000000 --- a/chromium-87-openscreen-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0c0af4cabb7490db473cd2c28f069956974a4d98 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 2 Oct 2020 12:11:58 +0000 -Subject: [PATCH] IWYU: uint8_t is defined in stdint.h - ---- - third_party/openscreen/src/util/crypto/random_bytes.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/openscreen/src/util/crypto/random_bytes.h b/third_party/openscreen/src/util/crypto/random_bytes.h -index 3cb2fa8..025b52c 100644 ---- a/third_party/openscreen/src/util/crypto/random_bytes.h -+++ b/third_party/openscreen/src/util/crypto/random_bytes.h -@@ -7,6 +7,8 @@ - - #include - -+#include -+ - namespace openscreen { - - std::array GenerateRandomBytes16(); --- -2.26.2 - diff --git a/chromium-87.0.4280.141-clean.tar.xz b/chromium-87.0.4280.141-clean.tar.xz deleted file mode 100644 index 3bb78b13e0c265359ba9358377e05016975b0668..0000000000000000000000000000000000000000 Binary files a/chromium-87.0.4280.141-clean.tar.xz and /dev/null differ diff --git a/chromium-87.0.4280.141.tar.xz.aa b/chromium-87.0.4280.141.tar.xz.aa deleted file mode 100644 index 2b60a3cd432cf1975d230eb2a76e564f8e731f3f..0000000000000000000000000000000000000000 Binary files a/chromium-87.0.4280.141.tar.xz.aa and /dev/null differ diff --git a/chromium-87.0.4280.141.tar.xz.ab b/chromium-87.0.4280.141.tar.xz.ab deleted file mode 100644 index d7fd234607e1d8776a81c6e7f2efa4ae39cc91ba..0000000000000000000000000000000000000000 Binary files a/chromium-87.0.4280.141.tar.xz.ab and /dev/null differ diff --git a/chromium-87.0.4280.141.tar.xz.ac b/chromium-87.0.4280.141.tar.xz.ac deleted file mode 100644 index 632d8139be78a1164225157151f7b313a4167ba9..0000000000000000000000000000000000000000 Binary files a/chromium-87.0.4280.141.tar.xz.ac and /dev/null differ diff --git a/chromium-87.0.4280.66-el7-no-sys-random.patch b/chromium-87.0.4280.66-el7-no-sys-random.patch deleted file mode 100644 index 7a0f7ab548b2bc1a9ed8eae598d3f6b481c5028c..0000000000000000000000000000000000000000 --- a/chromium-87.0.4280.66-el7-no-sys-random.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-87.0.4280.66/base/rand_util_posix.cc.el7 chromium-87.0.4280.66/base/rand_util_posix.cc ---- chromium-87.0.4280.66/base/rand_util_posix.cc.el7 2020-11-20 11:11:22.169119495 -0500 -+++ chromium-87.0.4280.66/base/rand_util_posix.cc 2020-11-20 11:13:30.375614387 -0500 -@@ -21,7 +21,8 @@ - #include "third_party/lss/linux_syscall_support.h" - #endif - --#if !defined(OS_IOS) && !defined(OS_NACL) -+//EL-7 is too old to have this header -+#if 0 - // TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK. - // (See below.) - #include diff --git a/chromium-87.0.4280.88-dns_server_iterator-missing-cstddef.patch b/chromium-87.0.4280.88-dns_server_iterator-missing-cstddef.patch deleted file mode 100644 index 78cf21b1b4bad691be6e726b8ca8915c8386ff6e..0000000000000000000000000000000000000000 --- a/chromium-87.0.4280.88-dns_server_iterator-missing-cstddef.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-87.0.4280.88/net/dns/dns_server_iterator.h.missing-cstddef chromium-87.0.4280.88/net/dns/dns_server_iterator.h ---- chromium-87.0.4280.88/net/dns/dns_server_iterator.h.missing-cstddef 2020-12-15 15:35:38.935281593 -0500 -+++ chromium-87.0.4280.88/net/dns/dns_server_iterator.h 2020-12-15 15:35:59.408368520 -0500 -@@ -5,6 +5,7 @@ - #ifndef NET_DNS_DNS_SERVER_ITERATOR_H_ - #define NET_DNS_DNS_SERVER_ITERATOR_H_ - -+#include - #include - - #include "net/base/net_export.h" diff --git a/chromium-87.0.4280.88-floc_constants-missing-limits.patch b/chromium-87.0.4280.88-floc_constants-missing-limits.patch deleted file mode 100644 index e3a56bdd1de1cb1d96447a229711ae8a2d84a328..0000000000000000000000000000000000000000 --- a/chromium-87.0.4280.88-floc_constants-missing-limits.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-87.0.4280.88/components/federated_learning/floc_constants.cc.missing-limits chromium-87.0.4280.88/components/federated_learning/floc_constants.cc ---- chromium-87.0.4280.88/components/federated_learning/floc_constants.cc.missing-limits 2020-12-16 13:51:38.675421401 -0500 -+++ chromium-87.0.4280.88/components/federated_learning/floc_constants.cc 2020-12-16 13:51:50.625467423 -0500 -@@ -3,6 +3,7 @@ - // found in the LICENSE file. - - #include "components/federated_learning/floc_constants.h" -+#include - - namespace federated_learning { - diff --git a/chromium-88-vaapi-attribute.patch b/chromium-88-vaapi-attribute.patch deleted file mode 100644 index c524a3150e6c2cdee92a845fc1182a2b4420596d..0000000000000000000000000000000000000000 --- a/chromium-88-vaapi-attribute.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 6 Nov 2020 11:18:42 +0000 -Subject: [PATCH] GCC: fix attribute on function definition - -GCC does not accept attributes at the end for function definitions. -Solution is to move it before function name. Otherwise GCC fails like -this: - -../../base/compiler_specific.h:97:28: error: attributes are not allowed -on a function-definition - 97 | #define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) - | ^~~~~~~~~~~~~ - ../../media/gpu/vaapi/vaapi_wrapper.h:322:36: note: in - expansion of macro 'WARN_UNUSED_RESULT' - 322 | const T* data) WARN_UNUSED_RESULT { - | ^~~~~~~~~~~~~~~~~~ ---- - media/gpu/vaapi/vaapi_wrapper.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h -index fd1fd82..deeda1f 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.h -+++ b/media/gpu/vaapi/vaapi_wrapper.h -@@ -318,8 +318,8 @@ class MEDIA_GPU_EXPORT VaapiWrapper - // Convenient templatized version of SubmitBuffer() where |size| is deduced to - // be the size of the type of |*data|. - template -- bool SubmitBuffer(VABufferType va_buffer_type, -- const T* data) WARN_UNUSED_RESULT { -+ bool WARN_UNUSED_RESULT SubmitBuffer(VABufferType va_buffer_type, -+ const T* data) { - return SubmitBuffer(va_buffer_type, sizeof(T), data); - } - // Batch-version of SubmitBuffer(), where the lock for accessing libva is --- -2.26.2 - diff --git a/chromium-91-java-only-allowed-in-android-builds.patch b/chromium-91-java-only-allowed-in-android-builds.patch new file mode 100644 index 0000000000000000000000000000000000000000..58d93690e0cde1b611c1f4c034efb4c4c05586eb --- /dev/null +++ b/chromium-91-java-only-allowed-in-android-builds.patch @@ -0,0 +1,16 @@ +References: https://bugs.chromium.org/p/chromium/issues/detail?id=1192875 + +Index: chromium-91.0.4472.57/third_party/closure_compiler/compiler.py +=================================================================== +--- chromium-91.0.4472.57.orig/third_party/closure_compiler/compiler.py ++++ chromium-91.0.4472.57/third_party/closure_compiler/compiler.py +@@ -13,8 +13,7 @@ import subprocess + + + _CURRENT_DIR = os.path.join(os.path.dirname(__file__)) +-_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java") +-assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds" ++_JAVA_PATH = "java" + + class Compiler(object): + """Runs the Closure compiler on given source files to typecheck them diff --git a/chromium-browser.desktop b/chromium-browser.desktop deleted file mode 100644 index 962decbd2ce12846d76401404a194c763b20b49d..0000000000000000000000000000000000000000 --- a/chromium-browser.desktop +++ /dev/null @@ -1,356 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Chromium Web Browser -Name[ast]=Restolador web Chromium -Name[ca]=Navegador web Chromium -Name[de]=Chromium-Webbrowser -Name[es]=Navegador web Chromium -Name[fr]=Navigateur Web Chromium -Name[gl]=Navegador web Chromium -Name[he]=דפדפן האינטרנט Chromium -Name[hr]=Chromium web preglednik -Name[hu]=Chromium webböngésző -Name[id]=Peramban Web Chromium -Name[it]=Browser web Chromium -Name[ja]=Chromium ウェブ・ブラウザ -Name[ko]=Chromium 웹 브라우저 -Name[pt_BR]=Chromium Navegador da Internet -Name[ru]=Веб-браузер Chromium -Name[sl]=Chromium spletni brskalnik -Name[sv]=Webbläsaren Chromium -Name[ug]=Chromium توركۆرگۈ -Name[zh_CN]=Chromium 网页浏览器 -Name[zh_HK]=Chromium 網頁瀏覽器 -Name[zh_TW]=Chromium 網頁瀏覽器 -Comment=Access the Internet -Comment[ar]=الدخول إلى الإنترنت -Comment[ast]=Accesu a Internet -Comment[bg]=Достъп до интернет -Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন -Comment[ca]=Accediu a Internet -Comment[cs]=Přístup k internetu -Comment[da]=Få adgang til internettet -Comment[de]=Internetzugriff -Comment[el]=Πρόσβαση στο Διαδίκτυο -Comment[en_GB]=Access the Internet -Comment[es]=Acceda a Internet -Comment[et]=Pääs Internetti -Comment[fi]=Käytä internetiä -Comment[fil]=I-access ang Internet -Comment[fr]=Explorer le Web -Comment[gl]=Acceda a Internet -Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો -Comment[he]=גישה לאינטרנט -Comment[hi]=इंटरनेट तक पहुंच स्थापित करें -Comment[hr]=Pristupite Internetu -Comment[hu]=Az internet elérése -Comment[id]=Akses Internet -Comment[it]=Accesso a Internet -Comment[ja]=インターネットにアクセス -Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿs -Comment[ko]=인터넷에 연결합니다 -Comment[lt]=Interneto prieiga -Comment[lv]=Piekļūt internetam -Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക -Comment[mr]=इंटरनेटमध्ये प्रवेश करा -Comment[nb]=Gå til Internett -Comment[nl]=Verbinding maken met internet -Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ -Comment[pl]=Skorzystaj z internetu -Comment[pt]=Aceder à Internet -Comment[pt_BR]=Acessar a internet -Comment[ro]=Accesaţi Internetul -Comment[ru]=Доступ в Интернет -Comment[sk]=Prístup do siete Internet -Comment[sl]=Dostop do interneta -Comment[sr]=Приступите Интернету -Comment[sv]=Surfa på Internet -Comment[ta]=இணையத்தை அணுகுதல் -Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి -Comment[th]=เข้าถึงอินเทอร์เน็ต -Comment[tr]=İnternet'e erişin -Comment[ug]=ئىنتېرنېتنى زىيارەت قىلىش -Comment[uk]=Доступ до Інтернету -Comment[vi]=Truy cập Internet -Comment[zh_CN]=访问互联网 -Comment[zh_HK]=連線到網際網路 -Comment[zh_TW]=連線到網際網路 -GenericName=Web Browser -GenericName[ar]=متصفح الشبكة -GenericName[ast]=Restolador web -GenericName[bg]=Уеб браузър -GenericName[bn]=ওয়েব ব্রাউজার -GenericName[ca]=Navegador web -GenericName[cs]=WWW prohlížeč -GenericName[da]=Browser -GenericName[de]=Web-Browser -GenericName[el]=Περιηγητής ιστού -GenericName[en_GB]=Web Browser -GenericName[es]=Navegador web -GenericName[et]=Veebibrauser -GenericName[fi]=WWW-selain -GenericName[fil]=Web Browser -GenericName[fr]=Navigateur Web -GenericName[gl]=Navegador web -GenericName[gu]=વેબ બ્રાઉઝર -GenericName[he]=דפדפן אינטרנט -GenericName[hi]=वेब ब्राउज़र -GenericName[hr]=Web preglednik -GenericName[hu]=Webböngésző -GenericName[id]=Peramban Web -GenericName[it]=Browser web -GenericName[ja]=ウェブ・ブラウザ -GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ -GenericName[ko]=웹 브라우저 -GenericName[lt]=Žiniatinklio naršyklė -GenericName[lv]=Tīmekļa pārlūks -GenericName[ml]=വെബ് ബ്രൌസര്‍ -GenericName[mr]=वेब ब्राऊजर -GenericName[nb]=Nettleser -GenericName[nl]=Webbrowser -GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର -GenericName[pl]=Przeglądarka WWW -GenericName[pt]=Navegador Web -GenericName[pt_BR]=Navegador da Internet -GenericName[ro]=Navigator de Internet -GenericName[ru]=Веб-браузер -GenericName[sk]=WWW prehliadač -GenericName[sl]=Spletni brskalnik -GenericName[sr]=Интернет прегледник -GenericName[sv]=Webbläsare -GenericName[ta]=இணைய உலாவி -GenericName[te]=మహాతల అన్వేషి -GenericName[th]=เว็บเบราว์เซอร์ -GenericName[tr]=Web Tarayıcı -GenericName[ug]=توركۆرگۈ -GenericName[uk]=Навігатор Тенет -GenericName[vi]=Bộ duyệt Web -GenericName[zh_CN]=网页浏览器 -GenericName[zh_HK]=網頁瀏覽器 -GenericName[zh_TW]=網頁瀏覽器 -Exec=/usr/bin/chromium-browser %U -Terminal=false -X-MultipleArgs=false -Type=Application -Icon=chromium-browser -Categories=Network;WebBrowser; -MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp; -StartupWMClass=Chromium-browser -Keywords=web;browser;internet; -Actions=new-window;new-private-window; - -[Desktop Action new-window] -Name=Open a New Window -Name[ach]=Dirica manyen -Name[af]=Nuwe venster -Name[an]=Nueva finestra -Name[ar]=نافذة جديدة -Name[as]=নতুন উইন্ডো -Name[ast]=Ventana nueva -Name[az]=Yeni Pəncərə -Name[be]=Новае акно -Name[bg]=Нов прозорец -Name[bn-BD]=নতুন উইন্ডো (N) -Name[bn-IN]=নতুন উইন্ডো -Name[br]=Prenestr nevez -Name[brx]=गोदान उइन्ड'(N) -Name[bs]=Novi prozor -Name[ca]=Finestra nova -Name[cak]=K'ak'a' tzuwäch -Name[cs]=Nové okno -Name[cy]=Ffenestr Newydd -Name[da]=Nyt vindue -Name[de]=Neues Fenster -Name[dsb]=Nowe wokno -Name[el]=Νέο παράθυρο -Name[en-GB]=New Window -Name[en-US]=New Window -Name[en-ZA]=New Window -Name[eo]=Nova fenestro -Name[es-AR]=Nueva ventana -Name[es-CL]=Nueva ventana -Name[es-ES]=Nueva ventana -Name[es-MX]=Nueva ventana -Name[et]=Uus aken -Name[eu]=Leiho berria -Name[fa]=پنجره جدید‌ -Name[ff]=Henorde Hesere -Name[fi]=Uusi ikkuna -Name[fr]=Nouvelle fenêtre -Name[fy-NL]=Nij finster -Name[ga-IE]=Fuinneog Nua -Name[gd]=Uinneag ùr -Name[gl]=Nova xanela -Name[gn]=Ovetã pyahu -Name[gu-IN]=નવી વિન્ડો -Name[he]=חלון חדש -Name[hi-IN]=नया विंडो -Name[hr]=Novi prozor -Name[hsb]=Nowe wokno -Name[hu]=Új ablak -Name[hy-AM]=Նոր Պատուհան -Name[id]=Jendela Baru -Name[is]=Nýr gluggi -Name[it]=Nuova finestra -Name[ja]=新しいウィンドウ -Name[ja-JP-mac]=新規ウインドウ -Name[ka]=ახალი ფანჯარა -Name[kk]=Жаңа терезе -Name[km]=បង្អួច​​​ថ្មី -Name[kn]=ಹೊಸ ಕಿಟಕಿ -Name[ko]=새 창 -Name[kok]=नवें जनेल -Name[ks]=نئئ وِنڈو -Name[lij]=Neuvo barcon -Name[lo]=ຫນ້າຕ່າງໃຫມ່ -Name[lt]=Naujas langas -Name[ltg]=Jauns lūgs -Name[lv]=Jauns logs -Name[mai]=नव विंडो -Name[mk]=Нов прозорец -Name[ml]=പുതിയ ജാലകം -Name[mr]=नवीन पटल -Name[ms]=Tetingkap Baru -Name[my]=ဝင်းဒိုးအသစ် -Name[nb-NO]=Nytt vindu -Name[ne-NP]=नयाँ सञ्झ्याल -Name[nl]=Nieuw venster -Name[nn-NO]=Nytt vindauge -Name[or]=ନୂତନ ୱିଣ୍ଡୋ -Name[pa-IN]=ਨਵੀਂ ਵਿੰਡੋ -Name[pl]=Nowe okno -Name[pt-BR]=Nova janela -Name[pt-PT]=Nova janela -Name[rm]=Nova fanestra -Name[ro]=Fereastră nouă -Name[ru]=Новое окно -Name[sat]=नावा विंडो (N) -Name[si]=නව කවුළුවක් -Name[sk]=Nové okno -Name[sl]=Novo okno -Name[son]=Zanfun taaga -Name[sq]=Dritare e Re -Name[sr]=Нови прозор -Name[sv-SE]=Nytt fönster -Name[ta]=புதிய சாளரம் -Name[te]=కొత్త విండో -Name[th]=หน้าต่างใหม่ -Name[tr]=Yeni pencere -Name[tsz]=Eraatarakua jimpani -Name[uk]=Нове вікно -Name[ur]=نیا دریچہ -Name[uz]=Yangi oyna -Name[vi]=Cửa sổ mới -Name[wo]=Palanteer bu bees -Name[xh]=Ifestile entsha -Name[zh-CN]=新建窗口 -Name[zh-TW]=開新視窗 -Exec=chromium-browser %U - -[Desktop Action new-private-window] -Name=Open a New Private Window -Name[ach]=Dirica manyen me mung -Name[af]=Nuwe privaatvenster -Name[an]=Nueva finestra privada -Name[ar]=نافذة خاصة جديدة -Name[as]=নতুন ব্যক্তিগত উইন্ডো -Name[ast]=Ventana privada nueva -Name[az]=Yeni Məxfi Pəncərə -Name[be]=Новае акно адасаблення -Name[bg]=Нов прозорец за поверително сърфиране -Name[bn-BD]=নতুন ব্যক্তিগত উইন্ডো -Name[bn-IN]=নতুন ব্যক্তিগত উইন্ডো -Name[br]=Prenestr merdeiñ prevez nevez -Name[brx]=गोदान प्राइभेट उइन्ड' -Name[bs]=Novi privatni prozor -Name[ca]=Finestra privada nova -Name[cak]=K'ak'a' ichinan tzuwäch -Name[cs]=Nové anonymní okno -Name[cy]=Ffenestr Breifat Newydd -Name[da]=Nyt privat vindue -Name[de]=Neues privates Fenster -Name[dsb]=Nowe priwatne wokno -Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης -Name[en-GB]=New Private Window -Name[en-US]=New Private Window -Name[en-ZA]=New Private Window -Name[eo]=Nova privata fenestro -Name[es-AR]=Nueva ventana privada -Name[es-CL]=Nueva ventana privada -Name[es-ES]=Nueva ventana privada -Name[es-MX]=Nueva ventana privada -Name[et]=Uus privaatne aken -Name[eu]=Leiho pribatu berria -Name[fa]=پنجره ناشناس جدید -Name[ff]=Henorde Suturo Hesere -Name[fi]=Uusi yksityinen ikkuna -Name[fr]=Nouvelle fenêtre de navigation privée -Name[fy-NL]=Nij priveefinster -Name[ga-IE]=Fuinneog Nua Phríobháideach -Name[gd]=Uinneag phrìobhaideach ùr -Name[gl]=Nova xanela privada -Name[gn]=Ovetã ñemi pyahu -Name[gu-IN]=નવી ખાનગી વિન્ડો -Name[he]=חלון פרטי חדש -Name[hi-IN]=नयी निजी विंडो -Name[hr]=Novi privatni prozor -Name[hsb]=Nowe priwatne wokno -Name[hu]=Új privát ablak -Name[hy-AM]=Սկսել Գաղտնի դիտարկում -Name[id]=Jendela Mode Pribadi Baru -Name[is]=Nýr huliðsgluggi -Name[it]=Nuova finestra anonima -Name[ja]=新しいプライベートウィンドウ -Name[ja-JP-mac]=新規プライベートウインドウ -Name[ka]=ახალი პირადი ფანჯარა -Name[kk]=Жаңа жекелік терезе -Name[km]=បង្អួច​ឯកជន​ថ្មី -Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ -Name[ko]=새 사생활 보호 모드 -Name[kok]=नवो खाजगी विंडो -Name[ks]=نْو پرایوٹ وینڈو& -Name[lij]=Neuvo barcon privou -Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ -Name[lt]=Naujas privataus naršymo langas -Name[ltg]=Jauns privatais lūgs -Name[lv]=Jauns privātais logs -Name[mai]=नया निज विंडो (W) -Name[mk]=Нов приватен прозорец -Name[ml]=പുതിയ സ്വകാര്യ ജാലകം -Name[mr]=नवीन वैयक्तिक पटल -Name[ms]=Tetingkap Persendirian Baharu -Name[my]=New Private Window -Name[nb-NO]=Nytt privat vindu -Name[ne-NP]=नयाँ निजी सञ्झ्याल -Name[nl]=Nieuw privévenster -Name[nn-NO]=Nytt privat vindauge -Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ -Name[pa-IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ -Name[pl]=Nowe okno prywatne -Name[pt-BR]=Nova janela privativa -Name[pt-PT]=Nova janela privada -Name[rm]=Nova fanestra privata -Name[ro]=Fereastră privată nouă -Name[ru]=Новое приватное окно -Name[sat]=नावा निजेराक् विंडो (W ) -Name[si]=නව පුද්ගලික කවුළුව (W) -Name[sk]=Nové okno v režime Súkromné prehliadanie -Name[sl]=Novo zasebno okno -Name[son]=Sutura zanfun taaga -Name[sq]=Dritare e Re Private -Name[sr]=Нови приватан прозор -Name[sv-SE]=Nytt privat fönster -Name[ta]=புதிய தனிப்பட்ட சாளரம் -Name[te]=కొత్త ఆంతరంగిక విండో -Name[th]=หน้าต่างส่วนตัวใหม่ -Name[tr]=Yeni gizli pencere -Name[tsz]=Juchiiti eraatarakua jimpani -Name[uk]=Приватне вікно -Name[ur]=نیا نجی دریچہ -Name[uz]=Yangi maxfiy oyna -Name[vi]=Cửa sổ riêng tư mới -Name[wo]=Panlanteeru biir bu bees -Name[xh]=Ifestile yangasese entsha -Name[zh-CN]=新建隐私浏览窗口 -Name[zh-TW]=新增隱私視窗 -Exec=chromium-browser --incognito %U diff --git a/chromium-browser.sh b/chromium-browser.sh deleted file mode 100755 index d76aabe46c9dab30684b898ba6ba0af865290284..0000000000000000000000000000000000000000 --- a/chromium-browser.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/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. - -# Let the wrapped binary know that it has been run through the wrapper. -export CHROME_WRAPPER="`readlink -f "$0"`" - -HERE="`dirname "$CHROME_WRAPPER"`" - -# 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 - -export CHROME_VERSION_EXTRA="Built from source for @@BUILD_TARGET@@" - -# We don't want bug-buddy intercepting our crashes. http://crbug.com/24120 -export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME - -# Disable allow_rgb_configs to fix odd color and vaapi issues with Mesa -export allow_rgb10_configs=false - -CHROMIUM_DISTRO_FLAGS=" --enable-plugins \ - --enable-extensions \ - --enable-user-scripts \ - --enable-printing \ - --enable-gpu-rasterization \ - --enable-sync \ - --auto-ssl-client-auth @@EXTRA_FLAGS@@" - -if [ -f "$HERE/PepperFlash/libpepflashplayer.so" ] && [ -f "$HERE/PepperFlash/manifest.json" ] ; then - CHROMIUM_FLASH_VERSION=$(grep '"version":' "$HERE/PepperFlash/manifest.json" | awk -F\" '{ print $4 }') - CHROMIUM_FLASH_FLAGS=" --ppapi-flash-path=$HERE/PepperFlash/libpepflashplayer.so \ - --ppapi-flash-version=$CHROMIUM_FLASH_VERSION" -else - CHROMIUM_FLASH_FLAGS="" -fi - -exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_DISTRO_FLAGS $CHROMIUM_FLASH_FLAGS "$@" diff --git a/chromium-browser.xml b/chromium-browser.xml deleted file mode 100644 index 159e05cc4a2107d33a22889a9b5c2e372705cc00..0000000000000000000000000000000000000000 --- a/chromium-browser.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Chromium - chromium-browser - /usr/bin/chromium-browser %s - chromium-browser - false - false - - - - diff --git a/chromium-buildname.patch b/chromium-buildname.patch new file mode 100644 index 0000000000000000000000000000000000000000..c8ac465313473cb4855096ace84a15c1f360d523 --- /dev/null +++ b/chromium-buildname.patch @@ -0,0 +1,11 @@ +--- chromium-73.0.3683.27.orig/components/version_ui_strings.grdp ++++ chromium-73.0.3683.27/components/version_ui_strings.grdp +@@ -7,7 +7,7 @@ + Official Build + + +- Developer Build ++ openEuler Build + + + (32-bit) diff --git a/chromium-fix-char_traits.patch b/chromium-fix-char_traits.patch deleted file mode 100644 index 4cb9503a93f4beb8e2306383f0a794a096bf0567..0000000000000000000000000000000000000000 --- a/chromium-fix-char_traits.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/base/strings/char_traits.h -+++ b/base/strings/char_traits.h -@@ -67,9 +67,9 @@ - return __builtin_memcmp(s1, s2, n); - #else - for (; n; --n, ++s1, ++s2) { -- if (*s1 < *s2) -+ if ((unsigned char)*s1 < (unsigned char)*s2) - return -1; -- if (*s1 > *s2) -+ if ((unsigned char)*s1 > (unsigned char)*s2) - return 1; - } - return 0; diff --git a/chromium-gcc11.patch b/chromium-gcc11.patch deleted file mode 100644 index d190871eaf781ca069dfac8fb7038ae43676151d..0000000000000000000000000000000000000000 --- a/chromium-gcc11.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff --git a/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -index 19f9aab5b..8073637e9 100644 ---- a/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -+++ b/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -@@ -35,6 +35,7 @@ - - #include "absl/synchronization/internal/graphcycles.h" - -+#include - #include - #include - #include "absl/base/internal/hide_ptr.h" -diff --git a/third_party/angle/src/libANGLE/HandleAllocator.cpp b/third_party/angle/src/libANGLE/HandleAllocator.cpp -index 013f1dfb2..3ce63c192 100644 ---- a/third_party/angle/src/libANGLE/HandleAllocator.cpp -+++ b/third_party/angle/src/libANGLE/HandleAllocator.cpp -@@ -9,6 +9,7 @@ - - #include "libANGLE/HandleAllocator.h" - -+#include - #include - #include - -diff --git a/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/third_party/perfetto/src/trace_processor/containers/string_pool.cc -index fd651958f..1e8d0606c 100644 ---- a/third_party/perfetto/src/trace_processor/containers/string_pool.cc -+++ b/third_party/perfetto/src/trace_processor/containers/string_pool.cc -@@ -14,9 +14,9 @@ - * limitations under the License. - */ - -+#include - #include "src/trace_processor/containers/string_pool.h" - --#include - - #include "perfetto/base/logging.h" - #include "perfetto/ext/base/utils.h" -diff --git a/third_party/perfetto/src/trace_processor/db/column.cc b/third_party/perfetto/src/trace_processor/db/column.cc -index 00496b335..0dccfeb8a 100644 ---- a/third_party/perfetto/src/trace_processor/db/column.cc -+++ b/third_party/perfetto/src/trace_processor/db/column.cc -@@ -14,6 +14,7 @@ - * limitations under the License. - */ - -+#include - #include "src/trace_processor/db/column.h" - - #include "src/trace_processor/db/compare.h" -diff --git a/third_party/perfetto/src/trace_processor/types/variadic.cc b/third_party/perfetto/src/trace_processor/types/variadic.cc -index 837bfeba9..cdd56817d 100644 ---- a/third_party/perfetto/src/trace_processor/types/variadic.cc -+++ b/third_party/perfetto/src/trace_processor/types/variadic.cc -@@ -14,6 +14,7 @@ - * limitations under the License. - */ - -+#include - #include "src/trace_processor/types/variadic.h" - - namespace perfetto { -diff --git a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -index be91def6b..73f202356 100644 ---- a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -+++ b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) { - } - - GType ax_platform_atk_hyperlink_get_type() { -- static volatile gsize type_volatile = 0; -+ static gsize type_volatile = 0; - - AXPlatformNodeAuraLinux::EnsureGTypeInit(); - -diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc -index 04125c6fd..6c64e5d8e 100644 ---- a/ui/accessibility/platform/ax_platform_node_auralinux.cc -+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc -@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) { - GType GetType() { - AXPlatformNodeAuraLinux::EnsureGTypeInit(); - -- static volatile gsize type_volatile = 0; -+ static gsize type_volatile = 0; - if (g_once_init_enter(&type_volatile)) { - static const GTypeInfo type_info = { - sizeof(AXPlatformNodeAuraLinuxClass), // class_size -diff --git a/ui/gtk/gtk_key_bindings_handler.cc b/ui/gtk/gtk_key_bindings_handler.cc -index c663a2074..38a342484 100644 ---- a/ui/gtk/gtk_key_bindings_handler.cc -+++ b/ui/gtk/gtk_key_bindings_handler.cc -@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) { - } - - GType GtkKeyBindingsHandler::HandlerGetType() { -- static volatile gsize type_id_volatile = 0; -+ static gsize type_id_volatile = 0; - if (g_once_init_enter(&type_id_volatile)) { - GType type_id = g_type_register_static_simple( - GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"), -diff --git a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc -index c0b5a805b..e6f921926 100644 ---- a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc -+++ b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc -@@ -2,6 +2,7 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include - #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" - - #include "base/observer_list.h" -diff --git a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -index 4ad2afa1f..5c4596e12 100644 ---- a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -+++ b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -@@ -2,6 +2,7 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include - #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h" - - #include -diff --git a/components/bookmarks/browser/base_bookmark_model_observer.cc b/components/bookmarks/browser/base_bookmark_model_observer.cc -index 657a3c96b..ad641a082 100644 ---- a/components/bookmarks/browser/base_bookmark_model_observer.cc -+++ b/components/bookmarks/browser/base_bookmark_model_observer.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include -+ - #include "components/bookmarks/browser/base_bookmark_model_observer.h" - - namespace bookmarks { diff --git a/chromium-latest.py b/chromium-latest.py deleted file mode 100755 index a8ad3d108c014653f4cc9e518be414a485624bd7..0000000000000000000000000000000000000000 --- a/chromium-latest.py +++ /dev/null @@ -1,344 +0,0 @@ -#!/usr/bin/python3 -# Copyright 2010,2015-2019 Tom Callaway -# Copyright 2013-2016 Tomas Popela -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -try: - import argparse - optparse = False -except ImportError: - from optparse import OptionParser - optparse = True -import csv -import glob -import hashlib -import locale -import os -import shutil -import io -import sys -import urllib.request, urllib.parse, urllib.error - -chromium_url = "http://commondatastorage.googleapis.com/chromium-browser-official/" - -chromium_root_dir = "." -version_string = "stable" - -name = 'Chromium Latest' -script_version = 0.9 -my_description = '{0} {1}'.format(name, script_version) - - -def dlProgress(count, blockSize, totalSize): - - if (totalSize <= blockSize): - percent = int(count * 100) - else: - percent = int(count * blockSize * 100 / totalSize) - sys.stdout.write("\r" + "Downloading ... %d%%" % percent) - sys.stdout.flush() - - -def delete_chromium_dir(ch_dir): - - full_dir = "%s/%s" % (latest_dir, ch_dir) - print('Deleting %s ' % full_dir) - if os.path.isdir(full_dir): - shutil.rmtree(full_dir) - print('[DONE]') - else: - print('[NOT FOUND]') - - -def delete_chromium_files(files): - - full_path = "%s/%s" % (latest_dir, files) - print('Deleting ' + full_path + ' ', end=' ') - for filename in glob.glob(full_path): - print('Deleting ' + filename + ' ', end=' ') - os.remove(filename) - print('[DONE]') - - -def check_omahaproxy(channel="stable"): - - version = 0 - status_url = "http://omahaproxy.appspot.com/all?os=linux&channel=" + channel - - usock = urllib.request.urlopen(status_url) - status_dump = usock.read().decode('utf-8') - usock.close() - status_list = io.StringIO(status_dump) - status_reader = list(csv.reader(status_list, delimiter=',')) - linux_channels = [s for s in status_reader if "linux" in s] - linux_channel = [s for s in linux_channels if channel in s] - version = linux_channel[0][2] - - if version == 0: - print('I could not find the latest %s build. Bailing out.' % channel) - sys.exit(1) - else: - print('Latest Chromium Version on %s at %s is %s' % (channel, status_url, version)) - return version - - -def remove_file_if_exists(filename): - - if os.path.isfile("./%s" % filename): - try: - os.remove(filename) - except Exception: - pass - - -def download_file_and_compare_hashes(file_to_download): - - hashes_file = '%s.hashes' % file_to_download - - if (args.clean): - remove_file_if_exists(file_to_download) - remove_file_if_exists(hashes_file) - - # Let's make sure we haven't already downloaded it. - tarball_local_file = "./%s" % file_to_download - if os.path.isfile(tarball_local_file): - print("%s already exists!" % file_to_download) - else: - path = '%s%s' % (chromium_url, file_to_download) - print("Downloading %s" % path) - # Perhaps look at using python-progressbar at some point? - info=urllib.request.urlretrieve(path, file_to_download, reporthook=dlProgress)[1] - urllib.request.urlcleanup() - print("") - if (info["Content-Type"] != "application/x-tar"): - print('Chromium tarballs for %s are not on servers.' % file_to_download) - remove_file_if_exists (file_to_download) - sys.exit(1) - - hashes_local_file = "./%s" % hashes_file - if not os.path.isfile(hashes_local_file): - path = '%s%s' % (chromium_url, hashes_file) - print("Downloading %s" % path) - # Perhaps look at using python-progressbar at some point? - info=urllib.request.urlretrieve(path, hashes_file, reporthook=dlProgress)[1] - urllib.request.urlcleanup() - print("") - - if os.path.isfile(hashes_local_file): - with open(hashes_local_file, "r") as input_file: - md5sum = input_file.readline().split()[1] - md5 = hashlib.md5() - with open(tarball_local_file, "rb") as f: - for block in iter(lambda: f.read(65536), b""): - md5.update(block) - if (md5sum == md5.hexdigest()): - print("MD5 matches for %s!" % file_to_download) - else: - print("MD5 mismatch for %s!" % file_to_download) - sys.exit(1) - else: - print("Cannot compare hashes for %s!" % file_to_download) - - -def download_version(version): - - download_file_and_compare_hashes ('chromium-%s.tar.xz' % version) - - if (args.tests): - download_file_and_compare_hashes ('chromium-%s-testdata.tar.xz' % version) - -def nacl_versions(version): - - if sys.version_info[0] == 2 and sys.version_info[1] == 6: - return - - myvars = {} - chrome_dir = './chromium-%s' % version - with open(chrome_dir + "/native_client/tools/REVISIONS") as myfile: - for line in myfile: - name, var = line.partition("=")[::2] - myvars[name] = var - print("nacl-binutils commit: %s" % myvars["NACL_BINUTILS_COMMIT"]) - print("nacl-gcc commit: %s" % myvars["NACL_GCC_COMMIT"]) - print("nacl-newlib commit: %s" % myvars["NACL_NEWLIB_COMMIT"]) - - # Parse GIT_REVISIONS dict from toolchain_build.py - - sys.path.append(os.path.abspath(chrome_dir + "/native_client/toolchain_build")) - from toolchain_build import GIT_REVISIONS - print("nacl-arm-binutils commit: %s" % GIT_REVISIONS['binutils']['rev']) - print("nacl-arm-gcc commit: %s" % GIT_REVISIONS['gcc']['rev']) - - -def download_chrome_latest_rpm(arch): - - chrome_rpm = 'google-chrome-%s_current_%s.rpm' % (version_string, arch) - path = 'https://dl.google.com/linux/direct/%s' % chrome_rpm - - if (args.clean): - remove_file_if_exists(chrome_rpm) - - # Let's make sure we haven't already downloaded it. - if os.path.isfile("./%s" % chrome_rpm): - print("%s already exists!" % chrome_rpm) - else: - print("Downloading %s" % path) - # Perhaps look at using python-progressbar at some point? - info=urllib.request.urlretrieve(path, chrome_rpm, reporthook=dlProgress)[1] - urllib.request.urlcleanup() - print("") - if (info["Content-Type"] != "binary/octet-stream" and info["Content-Type"] != "application/openEuler-package-manager"): - print('Chrome %s rpms are not on servers.' % version_string) - remove_file_if_exists (chrome_rpm) - sys.exit(1) - -# This is where the magic happens -if __name__ == '__main__': - - # Locale magic - locale.setlocale(locale.LC_ALL, '') - - # Create the parser object - if optparse: - parser = OptionParser(description=my_description) - parser_add_argument = parser.add_option - else: - parser = argparse.ArgumentParser(description=my_description) - parser_add_argument = parser.add_argument - - parser_add_argument( - '--ffmpegarm', action='store_true', - help='Leave arm sources when cleaning ffmpeg') - parser_add_argument( - '--beta', action='store_true', - help='Get the latest beta Chromium source') - parser_add_argument( - '--clean', action='store_true', - help='Re-download all previously downloaded sources') - parser_add_argument( - '--cleansources', action='store_true', - help='Get the latest Chromium release from given channel and clean various directories to from unnecessary or unwanted stuff') - parser_add_argument( - '--dev', action='store_true', - help='Get the latest dev Chromium source') - parser_add_argument( - '--ffmpegclean', action='store_true', - help='Get the latest Chromium release from given channel and cleans ffmpeg sources from proprietary stuff') - parser_add_argument( - '--chrome', action='store_true', - help='Get the latest Chrome rpms for the given channel') - parser_add_argument( - '--prep', action='store_true', - help='Prepare everything, but don\'t compress the result') - parser_add_argument( - '--stable', action='store_true', - help='Get the latest stable Chromium source') - parser_add_argument( - '--tests', action='store_true', - help='Get the additional data for running tests') - parser_add_argument( - '--version', - help='Download a specific version of Chromium') - parser_add_argument( - '--naclvers', - help='Display the commit versions of nacl toolchain components') - - # Parse the args - if optparse: - args, options = parser.parse_args() - else: - args = parser.parse_args() - - if args.stable: - version_string = "stable" - elif args.beta: - version_string = "beta" - elif args.dev: - version_string = "dev" - elif (not (args.stable or args.beta or args.dev)): - if (not args.version): - print('No version specified, downloading STABLE') - args.stable = True - - chromium_version = args.version if args.version else check_omahaproxy(version_string) - - if args.dev: - version_string = "unstable" - - if args.chrome: - if args.version: - print('You cannot specify a Chrome RPM version!') - sys.exit(1) - latest = 'google-chrome-%s_current_i386' % version_string - download_chrome_latest_rpm("i386") - latest = 'google-chrome-%s_current_x86_64' % version_string - download_chrome_latest_rpm("x86_64") - if (not (args.ffmpegclean or args.tests)): - sys.exit(0) - - latest = 'chromium-%s.tar.xz' % chromium_version - - download_version(chromium_version) - - # Lets make sure we haven't unpacked it already - latest_dir = "%s/chromium-%s" % (chromium_root_dir, chromium_version) - if (args.clean and os.path.isdir(latest_dir)): - shutil.rmtree(latest_dir) - - if os.path.isdir(latest_dir): - print("%s already exists, perhaps %s has already been unpacked?" % (latest_dir, latest)) - else: - print("Unpacking %s into %s, please wait." % (latest, latest_dir)) - if (os.system("tar -xJf %s" % latest) != 0): - print("%s is possibly corrupted, exiting." % (latest)) - sys.exit(1) - - if (args.naclvers): - nacl_versions(chromium_version) - - if (args.cleansources): - junk_dirs = ['third_party/WebKit/Tools/Scripts/webkitpy/layout_tests', - 'webkit/data/layout_tests', 'third_party/hunspell/dictionaries', - 'chrome/test/data', 'native_client/tests', - 'third_party/WebKit/LayoutTests'] - - # First, the dirs: - for directory in junk_dirs: - delete_chromium_dir(directory) - - # There has got to be a better, more portable way to do this. - os.system("find %s -depth -name reference_build -type d -exec rm -rf {} \;" % latest_dir) - - # I could not find good bindings for xz/lzma support, so we system call here too. - chromium_clean_xz_file = "chromium-" + chromium_version + "-clean.tar.xz" - - remove_file_if_exists(chromium_clean_xz_file) - - if (args.ffmpegclean): - print("Cleaning ffmpeg from proprietary things...") - os.system("./clean_ffmpeg.sh %s %d" % (latest_dir, 0 if args.ffmpegarm else 1)) - print("Done!") - - if (not args.prep): - print("Compressing cleaned tree, please wait...") - os.chdir(chromium_root_dir) - os.system("tar --exclude=\.svn -cf - chromium-%s | xz -9 -T 0 -f > %s" % (chromium_version, chromium_clean_xz_file)) - - print("Finished!") diff --git a/chromium-master-prefs-path.patch b/chromium-master-prefs-path.patch new file mode 100644 index 0000000000000000000000000000000000000000..f9e6b07c168e940c77bbf17323556e9dadfcd998 --- /dev/null +++ b/chromium-master-prefs-path.patch @@ -0,0 +1,16 @@ +Index: chromium-115.0.5790.32/chrome/browser/first_run/first_run_internal_linux.cc +=================================================================== +--- chromium-115.0.5790.32.orig/chrome/browser/first_run/first_run_internal_linux.cc ++++ chromium-115.0.5790.32/chrome/browser/first_run/first_run_internal_linux.cc +@@ -21,10 +21,7 @@ bool IsOrganicFirstRun() { + base::FilePath InitialPrefsPath() { + // The standard location of the initial prefs is next to the chrome binary. + base::FilePath dir_exe; +- if (!base::PathService::Get(base::DIR_EXE, &dir_exe)) { +- return base::FilePath(); +- } +- ++ dir_exe = base::FilePath("/etc/chromium"); + return installer::InitialPreferences::Path(dir_exe); + } + diff --git a/chromium-norar.patch b/chromium-norar.patch new file mode 100644 index 0000000000000000000000000000000000000000..633450ae0de8f03e4eacb8792c4a603952c2c7e9 --- /dev/null +++ b/chromium-norar.patch @@ -0,0 +1,111 @@ +Index: chromium-118.0.5993.18/chrome/browser/safe_browsing/download_protection/file_analyzer.cc +=================================================================== +--- chromium-118.0.5993.18.orig/chrome/browser/safe_browsing/download_protection/file_analyzer.cc ++++ chromium-118.0.5993.18/chrome/browser/safe_browsing/download_protection/file_analyzer.cc +@@ -77,8 +77,6 @@ void FileAnalyzer::Start(const base::Fil + + if (inspection_type == DownloadFileType::ZIP) { + StartExtractZipFeatures(); +- } else if (inspection_type == DownloadFileType::RAR) { +- StartExtractRarFeatures(); + #if BUILDFLAG(IS_MAC) + } else if (inspection_type == DownloadFileType::DMG) { + StartExtractDmgFeatures(); +Index: chromium-118.0.5993.18/chrome/utility/safe_browsing/archive_analyzer.cc +=================================================================== +--- chromium-118.0.5993.18.orig/chrome/utility/safe_browsing/archive_analyzer.cc ++++ chromium-118.0.5993.18/chrome/utility/safe_browsing/archive_analyzer.cc +@@ -8,7 +8,6 @@ + #include "build/build_config.h" + #include "build/buildflag.h" + #include "chrome/common/safe_browsing/archive_analyzer_results.h" +-#include "chrome/utility/safe_browsing/rar_analyzer.h" + #include "chrome/utility/safe_browsing/seven_zip_analyzer.h" + #include "chrome/utility/safe_browsing/zip_analyzer.h" + #include "components/safe_browsing/content/common/proto/download_file_types.pb.h" +@@ -23,9 +22,7 @@ namespace safe_browsing { + // static + std::unique_ptr ArchiveAnalyzer::CreateForArchiveType( + DownloadFileType_InspectionType file_type) { +- if (file_type == DownloadFileType::RAR) { +- return std::make_unique(); +- } else if (file_type == DownloadFileType::ZIP) { ++ if (file_type == DownloadFileType::ZIP) { + return std::make_unique(); + } else if (file_type == DownloadFileType::SEVEN_ZIP) { + return std::make_unique(); +Index: chromium-118.0.5993.18/chrome/common/safe_browsing/BUILD.gn +=================================================================== +--- chromium-118.0.5993.18.orig/chrome/common/safe_browsing/BUILD.gn ++++ chromium-118.0.5993.18/chrome/common/safe_browsing/BUILD.gn +@@ -137,7 +137,6 @@ source_set("safe_browsing") { + "//components/safe_browsing/content/common:file_type_policies", + "//components/safe_browsing/core/common", + "//third_party/lzma_sdk/google:seven_zip_reader", +- "//third_party/unrar:unrar", + ] + + public_deps = [ +Index: chromium-118.0.5993.18/chrome/services/file_util/safe_archive_analyzer.cc +=================================================================== +--- chromium-118.0.5993.18.orig/chrome/services/file_util/safe_archive_analyzer.cc ++++ chromium-118.0.5993.18/chrome/services/file_util/safe_archive_analyzer.cc +@@ -74,6 +74,7 @@ void SafeArchiveAnalyzer::AnalyzeRarFile + const absl::optional& password, + mojo::PendingRemote temp_file_getter, + AnalyzeRarFileCallback callback) { ++#if 0 + DCHECK(rar_file.IsValid()); + temp_file_getter_.Bind(std::move(temp_file_getter)); + callback_ = std::move(callback); +@@ -90,6 +91,9 @@ void SafeArchiveAnalyzer::AnalyzeRarFile + /*password=*/password, + std::move(analysis_finished_callback), + std::move(temp_file_getter_callback), &results_); ++#else ++ NOTREACHED(); ++#endif + } + + void SafeArchiveAnalyzer::AnalyzeSevenZipFile( +Index: chromium-118.0.5993.18/chrome/services/file_util/safe_archive_analyzer.h +=================================================================== +--- chromium-118.0.5993.18.orig/chrome/services/file_util/safe_archive_analyzer.h ++++ chromium-118.0.5993.18/chrome/services/file_util/safe_archive_analyzer.h +@@ -7,7 +7,6 @@ + + #include "chrome/common/safe_browsing/archive_analyzer_results.h" + #include "chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom.h" +-#include "chrome/utility/safe_browsing/rar_analyzer.h" + #include "chrome/utility/safe_browsing/seven_zip_analyzer.h" + #include "chrome/utility/safe_browsing/zip_analyzer.h" + #include "mojo/public/cpp/bindings/remote.h" +@@ -66,7 +65,6 @@ class SafeArchiveAnalyzer : public chrom + void Timeout(); + + safe_browsing::ZipAnalyzer zip_analyzer_; +- safe_browsing::RarAnalyzer rar_analyzer_; + safe_browsing::SevenZipAnalyzer seven_zip_analyzer_; + #if BUILDFLAG(IS_MAC) + safe_browsing::dmg::DMGAnalyzer dmg_analyzer_; +Index: chromium-118.0.5993.18/chrome/utility/safe_browsing/BUILD.gn +=================================================================== +--- chromium-118.0.5993.18.orig/chrome/utility/safe_browsing/BUILD.gn ++++ chromium-118.0.5993.18/chrome/utility/safe_browsing/BUILD.gn +@@ -31,8 +31,6 @@ source_set("safe_browsing") { + sources = [ + "archive_analyzer.cc", + "archive_analyzer.h", +- "rar_analyzer.cc", +- "rar_analyzer.h", + "seven_zip_analyzer.cc", + "seven_zip_analyzer.h", + "zip_analyzer.cc", +@@ -55,7 +53,6 @@ source_set("safe_browsing") { + "//components/safe_browsing/content/common:file_type_policies", + "//components/safe_browsing/core/common", + "//third_party/lzma_sdk/google:seven_zip_reader", +- "//third_party/unrar:unrar", + "//third_party/zlib", + ] + diff --git a/chromium-symbolic.svg b/chromium-symbolic.svg new file mode 100644 index 0000000000000000000000000000000000000000..f964a32fccb57bf7fe9056ad2563865c3c32cf9e --- /dev/null +++ b/chromium-symbolic.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/chromium-system-libusb.patch b/chromium-system-libusb.patch new file mode 100644 index 0000000000000000000000000000000000000000..e0a164d85d8f615064d7291ee3473f92740f4a93 --- /dev/null +++ b/chromium-system-libusb.patch @@ -0,0 +1,41 @@ +Index: chromium-110.0.5481.30/build/linux/unbundle/libusb.gn +=================================================================== +--- /dev/null ++++ chromium-110.0.5481.30/build/linux/unbundle/libusb.gn +@@ -0,0 +1,24 @@ ++# Copyright 2016 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. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libusb") { ++ packages = [ "libusb-1.0" ] ++} ++ ++shim_headers("libusb_shim") { ++ root_path = "src/libusb" ++ headers = [ ++ "libusb.h", ++ ] ++} ++ ++source_set("libusb") { ++ deps = [ ++ ":libusb_shim", ++ ] ++ public_configs = [ ":system_libusb" ] ++} +Index: chromium-110.0.5481.30/build/linux/unbundle/replace_gn_files.py +=================================================================== +--- chromium-110.0.5481.30.orig/build/linux/unbundle/replace_gn_files.py ++++ chromium-110.0.5481.30/build/linux/unbundle/replace_gn_files.py +@@ -54,6 +54,7 @@ REPLACEMENTS = { + 'libevent': 'third_party/libevent/BUILD.gn', + 'libjpeg': 'third_party/libjpeg.gni', + 'libpng': 'third_party/libpng/BUILD.gn', ++ 'libusb': 'third_party/libusb/BUILD.gn', + 'libvpx': 'third_party/libvpx/BUILD.gn', + 'libwebp': 'third_party/libwebp/BUILD.gn', + 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/chromium.changes b/chromium.changes new file mode 100644 index 0000000000000000000000000000000000000000..3c8774de5047b02155023e0a806872303cef29ee --- /dev/null +++ b/chromium.changes @@ -0,0 +1,30 @@ +------------------------------------------------------------------- +Tue Jan 16 2024 Eustace - 120.0.6099.216-1 + +- Update to 120.0.6099.216 + +------------------------------------------------------------------- +Fri Aug 25 2023 Eustace - 116.0.5845.96-1 + +- Update to 116.0.5845.96 + +------------------------------------------------------------------- +Sun Feb 26 2023 Eustace - 110.0.5481.177-1 + +- Update to 110.0.5481.177 + +------------------------------------------------------------------- +Fri Dec 30 2022 Eustace - 108.0.5359.124-1 + +- Update to 108.0.5359.124 + +------------------------------------------------------------------- +Thu Sep 22 2022 Eustace - 105.0.5195.102-2 + +- Adjust media stuff + +------------------------------------------------------------------- +Tue Sep 20 2022 Eustace - 105.0.5195.102-1 + +- Package reinit + diff --git a/chromium.spec b/chromium.spec index 4391c00180071d2579cbf75642a07e72f1bf60ca..485f4f59db8d4023112234d0a5d2274b15fa3d71 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1,1361 +1,800 @@ -%define _lto_cflags %{nil} -%global numjobs 10 -%global build_target() \ - export NINJA_STATUS="[%2:%f/%t] " ; \ - ../depot_tools/ninja -j %{numjobs} -C '%1' -vvv '%2' -%global use_jumbo 0 -%global build_headless 1 -%global build_remoting 1 -%global use_vaapi 1 -%global use_gold 0 -%global build_clear_key_cdm 1 -%global shared 0 -%global freeworld 0 -%if %{freeworld} -%global lsuffix freeworld -%if 0%{?shared} -%global nsuffix -libs-media-freeworld -%else -%global nsuffix -freeworld -%endif -%else -%global lsuffix openEuler -%global nsuffix %{nil} -%endif -%global useapikeys 1 -%global builddir out/Release -%global headlessbuilddir out/Headless -%global remotingbuilddir out/Remoting -%global debug_package %{nil} -%global chromium_channel %{nil} -%global chromium_menu_name Chromium -%global chromium_browser_channel chromium-browser%{chromium_channel} -%global chromium_path %{_libdir}/chromium-browser%{chromium_channel} -%global crd_path %{_libdir}/chrome-remote-desktop -%if 0%{?shared} -%global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* -%global privlibs libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_ipc|libcc_mojo_embedder|libcc_paint|libcertificate_matching|libcert_verifier|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcolor_utils|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcontent_settings_features|libcrash_key_lib|libcrcrypto|libcrdtp|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_test_mojo_bindings|libdevice_vr_test_mojo_bindings_blink|libdevice_vr_test_mojo_bindings_shared|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libdom_storage_mojom|libdom_storage_mojom_shared|libEGL|libEGL|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libffmpeg|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgles2|libgles2_implementation|libgles2_utils|libGLESv2|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu|libgpu_ipc_service|libgtkui|libheadless_non_renderer|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|libleveldb_proto|libmanager|libmedia|libmedia_blink|libmedia_gpu|libmedia_learning_mojo_impl|libmedia_message_center|libmedia_mojo_services|libmedia_session_base_cpp|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmenu|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojom_platform_shared|libmojo_public_system|libmojo_public_system_cpp|libnative_theme|libnet|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libparsers|libpdfium|libperfetto|libperformace_manager_public_mojom|libperformace_manager_public_mojom_blink|libperformace_manager_public_mojom_shared|libplatform|libplatform_window|libplatform_window_common|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libproperties|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libsecurity_state_features|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libservice_provider|libsessions|libshared_memory_support|libshared_with_blink|libshell_dialogs|libskia|libskia_shared_typemap_traits|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstorage_service_public|libstub_window|libsuid_sandbox_client|libsurface|libsystem_media_controls|libtab_count_metrics|libthread_linux|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libVkICD_mock_icd|libvk_swiftshader|libvr_base|libvr_common|libvulkan_info|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libvulkan_ycbcr_info|libweb_bluetooth_mojo_bindings_shared|libwebdata_common|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebgpu|libweb_modal|libwebrtc_component|libwebview|libwm|libwm_public|libwtf|libwtf_support|libx11_events_platform|libx11_window|libzygote -%global __requires_exclude ^(%{privlibs})\\.so* -%endif -%global asan 1 -%global bundleicu 1 -%global bundlere2 1 -%global bundlelibxml 1 -%global bundlepylibs 1 -%global bundleminizip 0 -%global gtk3 1 -%global dts_version 9 -%global bundleopus 1 -%global bundlelibusbx 1 -%global bundleharfbuzz 1 -%global bundlelibwebp 1 -%global bundlelibpng 1 -%global bundlelibjpeg 1 -%global bundlefreetype 1 -%global bundlelibdrm 1 -%global bundlefontconfig 1 -%global bundleharfbuzz 0 -%if %{useapikeys} -%global api_key AIzaSyDUIXvzVrt5OkVsgXhQ6NFfvWlA44by-aw -%global default_client_id 449907151817.apps.googleusercontent.com -%global default_client_secret miEreAep8nuvTdvLums6qyLK -%global chromoting_client_id 449907151817-8vnlfih032ni8c4jjps9int9t86k546t.apps.googleusercontent.com -%else -%global api_key %nil -%global default_client_id %nil -%global default_client_secret %nil -%global chromoting_client_id %nil -%endif -%global majorversion 87 -%if %{freeworld} -Name: chromium%{chromium_channel}%{nsuffix} -%else -Name: chromium%{chromium_channel} +%define rname chromium +%define outputdir out +%define __provides_exclude ^lib.*\\.so.*$ +# Compiler +%bcond_without clang +%bcond_with lto +%bcond_with gtk4 +%bcond_without qt +%ifarch aarch64 riscv64 +%bcond_with swiftshader +%else +%bcond_without swiftshader +%endif +%bcond_with system_harfbuzz +%bcond_with system_freetype +%bcond_with arm_bti +%bcond_with system_icu +%bcond_without pipewire +%bcond_without system_ffmpeg +%bcond_with system_zlib +%bcond_with system_vpx +%bcond_with system_avif +%bcond_with system_re2 + +# LLVM version +%define llvm_version 15 + +Name: chromium +Version: 119.0.6045.159 +Release: 1 +Summary: Google's open source browser project +License: BSD-3-Clause AND LGPL-2.1-or-later +URL: https://www.chromium.org/ +Source0: https://commondatastorage.googleapis.com/chromium-browser-official/%{rname}-%{version}.tar.xz +Source1: esbuild.tar.gz +# Toolchain definitions +Source30: master_preferences +Source104: chromium-symbolic.svg +Source105: INSTALL.sh +Source106: chrome-wrapper +# enables reading of the master preference +Patch1: chromium-master-prefs-path.patch +Patch2: chromium-buildname.patch +Patch5: chromium-system-libusb.patch +Patch7: chromium-norar.patch +Patch8: system-libdrm.patch +Patch9: system-ffmpeg.patch +# patchset +Patch15: chromium-119-compiler.patch +Patch40: chromium-91-java-only-allowed-in-android-builds.patch +Patch98: chromium-102-regex_pattern-array.patch +Patch107: chromium-107-wayland-libffi.patch +Patch215: chromium-120-include.patch +Patch216: chromium-120-typenames-constructors.patch +Patch217: chromium-120-workaround_clang_bug-structured_binding.patch +Patch224: chromium-115-compiler-SkColor4f.patch +Patch225: chromium-114-rxvk-MemoryTracking.patch +Patch226: chromium-117-string-convert.patch +Patch227: chromium-119-nullptr_t-without-namespace-std.patch +Patch228: chromium-120-emplace.patch +Patch229: chromium-120-emplace-struct.patch +Patch230: chromium-114-revert-av1enc.patch +# Enable WideVine plugin +Patch202: fix_building_widevinecdm_with_chromium.patch +Patch300: riscv.patch +BuildRequires: SDL-devel +BuildRequires: bison +BuildRequires: cups-devel +BuildRequires: desktop-file-utils +BuildRequires: elfutils +BuildRequires: flex +BuildRequires: git +BuildRequires: gn >= 0.1807 +BuildRequires: gperf +BuildRequires: hicolor-icon-theme +BuildRequires: golang +# Java used during build +BuildRequires: java-headless +BuildRequires: libcap-devel +BuildRequires: libgcrypt-devel +BuildRequires: gsm-devel +BuildRequires: libjpeg-turbo-devel +BuildRequires: libpng-devel +BuildRequires: nasm +BuildRequires: ncurses-devel +BuildRequires: ninja-build >= 1.7.2 +BuildRequires: nodejs >= 8.0 +BuildRequires: pam-devel +BuildRequires: pkgconfig +BuildRequires: python3 +BuildRequires: python3-setuptools +BuildRequires: python3-six +BuildRequires: snappy-devel +BuildRequires: util-linux +BuildRequires: perl(Switch) +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(cairo) >= 1.6 +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(dri) +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(flac++) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(hunspell) +BuildRequires: pkgconfig(imlib2) +BuildRequires: pkgconfig(jack) +BuildRequires: pkgconfig(kadm-client) +BuildRequires: pkgconfig(kdb) +BuildRequires: pkgconfig(krb5) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libelf) +BuildRequires: pkgconfig(libevdev) +BuildRequires: pkgconfig(libevent) +BuildRequires: pkgconfig(libexif) +BuildRequires: pkgconfig(libffi) +BuildRequires: pkgconfig(libpci) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libssl) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(libva) +BuildRequires: pkgconfig(libwebp) >= 0.4.0 +BuildRequires: pkgconfig(libxml-2.0) >= 2.9.5 +BuildRequires: pkgconfig(libxslt) +BuildRequires: pkgconfig(minizip) +BuildRequires: pkgconfig(nspr) >= 4.9.5 +BuildRequires: pkgconfig(nss) >= 3.26 +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(opus) >= 1.3.1 +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(slang) +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(theora) >= 1.1 +BuildRequires: pkgconfig(vdpau) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-cursor) +BuildRequires: pkgconfig(wayland-scanner) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcb-dri3) +BuildRequires: pkgconfig(xcb-proto) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xkbcommon) >= 1.0.0 +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xscrnsaver) +BuildRequires: pkgconfig(xshmfence) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(xtst) +Requires: xdg-utils +Recommends: google-noto-emoji-fonts +Conflicts: chromium-browser +Provides: %{name}-suid-helper = %{version} +Provides: chromium-based-browser = %{version} +Provides: chromium-browser = %{version} +Provides: web_browser +Obsoletes: %{name}-suid-helper < %{version} +Obsoletes: chromium-browser < %{version} +ExclusiveArch: x86_64 aarch64 riscv64 +%if %{with pipewire} +BuildRequires: pkgconfig(libpipewire-0.3) +BuildRequires: pkgconfig(libspa-0.2) +%endif +%if %{with system_harfbuzz} +BuildRequires: pkgconfig(harfbuzz) > 2.3.0 +%endif +%if %{with system_icu} +BuildRequires: pkgconfig(icu-i18n) >= 67.0 +%endif +%if %{with system_vpx} +BuildRequires: pkgconfig(vpx) +%endif +%if %{with system_freetype} +BuildRequires: pkgconfig(freetype2) +%endif +%if %{with system_zlib} +BuildRequires: pkgconfig(zlib) +%endif +%if %{with gtk4} +BuildRequires: pkgconfig(atk-bridge-2.0) +BuildRequires: pkgconfig(gtk4) +%else +BuildRequires: pkgconfig(gtk+-3.0) +%endif +%if %{with qt} +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Widgets) +%endif +%if %{with system_ffmpeg} +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavfilter) +BuildRequires: pkgconfig(libavformat) >= 58 +BuildRequires: pkgconfig(libavutil) +%endif +%if %{with system_avif} +BuildRequires: pkgconfig(libavif) +BuildRequires: pkgconfig(libyuv) +%endif +%if %{with system_re2} +BuildRequires: pkgconfig(re2) >= 11 +%endif +%if %{with clang} +BuildRequires: clang llvm lld +BuildRequires: libstdc++-devel libstdc++-static +%endif +%if %{without clang} +BuildRequires: gcc +BuildRequires: gcc-c++ %endif -Version: %{majorversion}.0.4280.141 -Release: 1 -%if %{?freeworld} -%if %{?shared} -Summary: Chromium media libraries built with all possible codecs -%else -Summary: A WebKit (Blink) powered web browser built with all possible codecs -%endif -%else -Summary: A WebKit (Blink) powered web browser -%endif -Url: http://www.chromium.org/Home -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) -Patch0: chromium-70.0.3538.67-sandbox-pie.patch -Patch1: chromium-86.0.4240.75-initial_prefs-etc-path.patch -Patch2: chromium-67.0.3396.62-gn-system.patch -Patch3: chromium-60.0.3112.78-no-libpng-prefix.patch -Patch4: chromium-60.0.3112.78-jpeg-nomangle.patch -Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch -Patch6: chromium-86.0.4240.75-norar.patch -Patch7: chromium-71.0.3578.98-widevine-r3.patch -Patch8: chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch -Patch9: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch -Patch10: chromium-86.0.4240.75-widevine-other-locations.patch -Patch11: chromium-71.0.3578.98-py2-bootstrap.patch -Patch50: chromium-75.0.3770.80-grpc-gettid-fix.patch -Patch51: chromium-76.0.3809.100-gcc-remoting-constexpr.patch -Patch52: chromium-81.0.4044.92-unbundle-zlib.patch -Patch53: chromium-77.0.3865.75-gcc-include-memory.patch -Patch54: chromium-79-gcc-protobuf-alignas.patch -Patch55: chromium-78-protobuf-RepeatedPtrField-export.patch -Patch57: chromium-80.0.3987.87-missing-cstdint-header.patch -Patch58: chromium-80.0.3987.106-missing-cstring-header.patch -Patch59: chromium-53-ffmpeg-no-deprecation-errors.patch -Patch61: chromium-84-blink-disable-clang-format.patch -Patch62: chromium-fix-char_traits.patch -Patch63: chromium-87-CursorFactory-include.patch -Patch64: chromium-87-openscreen-include.patch -Patch65: chromium-87-ServiceWorkerContainerHost-crash.patch -Patch66: chromium-88-vaapi-attribute.patch -Patch68: chromium-84.0.4147.105-gn-gcc-cleanup.patch -Patch69: chromium-84.0.4147.125-remoting-cstring.patch -Patch70: chromium-84.0.4147.125-i686-fix_textrels.patch -Patch71: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch -Patch101: chromium-75.0.3770.100-epel7-stdc++.patch -Patch102: chromium-80.0.3987.132-el7-noexcept.patch -Patch103: chromium-86.0.4240.75-epel7-no-kcmp-h.patch -Patch104: chromium-84.0.4147.89-epel7-old-cups.patch -Patch106: chromium-77-clang.patch -Patch108: chromium-85.0.4183.83-el7-old-libdrm.patch -Patch109: chromium-87.0.4280.66-el7-no-sys-random.patch -Patch202: chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch -Patch203: chromium-86.0.4240.75-vaapi-i686-fpermissive.patch -Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch -Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch -Patch301: openEuler-chromium87-kunpeng-aarch64-PAGE_SIZE-64.patch -Patch400: chromium-gcc11.patch -%if %{freeworld} -Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromium-%{version}-clean.tar.xz -%else -Source0: chromium-%{version}-clean.tar.xz -%endif -Source2: depot_tools.git-master.tar.gz -Source3: chromium-browser.sh -Source4: %{chromium_browser_channel}.desktop -Source5: clean_ffmpeg.sh -Source7: get_free_ffmpeg_source_files.py -Source8: get_linux_tests_names.py -Source9: chromium-browser.xml -Source11: chrome-remote-desktop@.service -Source13: master_preferences -Source14: https://fontlibrary.org/assets/downloads/gelasio/4d610887ff4d445cbc639aae7828d139/gelasio.zip -Source15: http://download.savannah.nongnu.org/releases/freebangfont/MuktiNarrow-0.94.tar.bz2 -Source16: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf -Source17: GardinerModBug.ttf -Source18: GardinerModCat.ttf -Source20: https://www.x.org/releases/individual/proto/xcb-proto-1.14.tar.xz -Source21: chromium-87.0.4280.141.tar.xz.aa -Source22: chromium-87.0.4280.141.tar.xz.ab -Source23: chromium-87.0.4280.141.tar.xz.ac -BuildRequires: gcc-c++ -BuildRequires: alsa-lib-devel atk-devel bison cups-devel dbus-devel desktop-file-utils -BuildRequires: expat-devel flex fontconfig-devel glib2-devel glibc-devel gperf -%if 0%{?bundleharfbuzz} -%else -BuildRequires: harfbuzz-devel >= 2.4.0 -%endif -BuildRequires: libatomic libcap-devel -%if 0%{?bundlelibdrm} -%else -BuildRequires: libdrm-devel -%endif -BuildRequires: libgcrypt-devel libudev-devel libuuid-devel libusb-devel libXdamage-devel -BuildRequires: libXtst-devel xcb-proto mesa-libgbm-devel minizip-devel nodejs -BuildRequires: nss-devel >= 3.26 pciutils-devel pulseaudio-libs-devel -BuildRequires: pkgconfig(libpipewire-0.2) -BuildRequires: libappstream-glib -BuildRequires: libstdc++-static libstdc++-devel, openssl-devel bzip2-devel dbus-glib-devel -BuildRequires: elfutils-libelf-devel flac-devel -%if 0%{?bundlefreetype} -%else -BuildRequires: freetype-devel -%endif -BuildRequires: hwdata kernel-headers libevent-devel libffi-devel -%if 0%{?bundleicu} -%else -BuildRequires: libicu-devel = 54.1 -%endif -%if 0%{?bundlelibjpeg} -%else -BuildRequires: libjpeg-devel -%endif -%if 0%{?bundlelibpng} -%else -BuildRequires: libpng-devel -%endif -BuildRequires: libudev-devel -%if %{bundlelibusbx} -%else -Requires: libusbx >= 1.0.21-0.1.git448584a -BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a -%endif -BuildRequires: libva-devel -%if %{bundlelibwebp} -%else -BuildRequires: libwebp-devel -%endif -BuildRequires: libxslt-devel mesa-libGL-devel -%if %{bundleopus} -%else -BuildRequires: opus-devel -%endif -BuildRequires: perl(Switch) -%if 0%{gtk3} -BuildRequires: pkgconfig(gtk+-3.0) -%else -BuildRequires: pkgconfig(gtk+-2.0) -%endif -BuildRequires: /usr/bin/python2 python2-devel -%if 0%{?bundlepylibs} -%else -BuildRequires: python-beautifulsoup4 python-BeautifulSoup python-html5lib -BuildRequires: python-markupsafe python-ply python2-simplejson -%endif -%if 0%{?bundlere2} -%else -Requires: re2 >= 20160401 -BuildRequires: re2-devel >= 20160401 -%endif -BuildRequires: speech-dispatcher-devel yasm zlib-devel pam-devel systemd clang llvm -%if %{freeworld} -%else -Source100: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Bold.ttf -Source101: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-BoldItalic.ttf -Source102: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Italic.ttf -Source103: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Regular.ttf -Source104: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Bold.ttf -Source105: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-BoldItalic.ttf -Source106: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Italic.ttf -Source107: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Regular.ttf -Source108: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Bold.ttf -Source109: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-BoldItalic.ttf -Source110: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Italic.ttf -Source111: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Regular.ttf -BuildRequires: google-noto-sans-cjk-jp-fonts lohit-gurmukhi-fonts dejavu-sans-fonts -BuildRequires: thai-scalable-garuda-fonts lohit-devanagari-fonts lohit-tamil-fonts -BuildRequires: google-noto-sans-khmer-fonts google-noto-emoji-color-fonts -BuildRequires: google-noto-sans-symbols2-fonts google-noto-sans-tibetan-fonts -%endif -BuildRequires: ninja-build java-1.8.0-openjdk-headless -Requires: nss%{_isa} >= 3.26 nss-mdns%{_isa} -%if 0%{gtk3} -Requires: libcanberra-gtk3%{_isa} -%else -Requires: libcanberra-gtk2%{_isa} -%endif -Requires: u2f-hidraw-policy -Provides: chromium-ffmpegsumo = %{version}-%{release} -Obsoletes: chromium-ffmpegsumo <= 35.0.1916.114 -Provides: chromium-v8 = %{version}-%{release} -Obsoletes: chromium-v8 <= 3.25.28.18 -Provides: webrtc = 0.2 -Obsoletes: webrtc <= 0.1 -Requires: chromium-common%{_isa} = %{version}-%{release} -%if 0%{?shared} -%if 0%{?freeworld} -Provides: chromium-libs-media = %{version}-%{release} -Provides: chromium-libs-media%{_isa} = %{version}-%{release} -Requires: chromium-libs%{_isa} = %{version} -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives -%else -Requires: chromium-libs%{_isa} = %{version}-%{release} -Requires: chromium-libs-media%{_isa} = %{version}-%{release} -%endif -%else -Provides: chromium-libs = %{version}-%{release} -Obsoletes: chromium-libs <= %{version}-%{release} -%endif -ExclusiveArch: x86_64 i686 aarch64 -Provides: bundled(angle) = 2422 -Provides: bundled(bintrees) = 1.0.1 -Provides: bundled(boringssl) -Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e -Provides: bundled(bspatch) -Provides: bundled(cacheinvalidation) = 20150720 -Provides: bundled(colorama) = 799604a104 -Provides: bundled(crashpad) -Provides: bundled(dmg_fp) -Provides: bundled(expat) = 2.2.0 -Provides: bundled(fdmlibm) = 5.3 -Provides: bundled(ffmpeg) = 3.2git -Provides: bundled(fips181) = 2.2.3 -%if 0%{?bundlefontconfig} -Provides: bundled(fontconfig) = 2.12.6 -%endif -%if 0%{?bundlefreetype} -Provides: bundled(freetype) = 2.9.3 -%endif -Provides: bundled(gperftools) = svn144 -%if 0%{?bundleharfbuzz} -Provides: bundled(harfbuzz) = 2.4.0 -%endif -Provides: bundled(hunspell) = 1.6.0 -Provides: bundled(iccjpeg) -%if 0%{?bundleicu} -Provides: bundled(icu) = 58.1 -%endif -Provides: bundled(kitchensink) = 1 -Provides: bundled(leveldb) = 1.20 -Provides: bundled(libaddressinput) = 0 -%if 0%{?bundlelibdrm} -Provides: bundled(libdrm) = 2.4.85 -%endif -Provides: bundled(libevent) = 1.4.15 -Provides: bundled(libjingle) = 9564 -%if 0%{?bundlelibjpeg} -Provides: bundled(libjpeg-turbo) = 1.4.90 -%endif -Provides: bundled(libphonenumber) = a4da30df63a097d67e3c429ead6790ad91d36cf4 -%if 0%{?bundlelibpng} -Provides: bundled(libpng) = 1.6.22 -%endif -Provides: bundled(libsrtp) = 2cbd85085037dc7bf2eda48d4cf62e2829056e2d -%if %{bundlelibusbx} -Provides: bundled(libusbx) = 1.0.17 -%endif -Provides: bundled(libvpx) = 1.6.0 -%if %{bundlelibwebp} -Provides: bundled(libwebp) = 0.6.0 -%endif -%if %{bundlelibxml} -Provides: bundled(libxml) = 2.9.4 -%endif -Provides: bundled(libXNVCtrl) = 302.17 -Provides: bundled(libyuv) = 1651 -Provides: bundled(lzma) = 15.14 -Provides: bundled(libudis86) = 1.7.1 -Provides: bundled(mesa) = 9.0.3 -Provides: bundled(NSBezierPath) = 1.0 -Provides: bundled(mozc) -%if %{bundleopus} -Provides: bundled(opus) = 1.1.3 -%endif -Provides: bundled(ots) = 8d70cffebbfa58f67a5c3ed0e9bc84dccdbc5bc0 -Provides: bundled(protobuf) = 3.0.0.beta.3 -Provides: bundled(qcms) = 4 -%if 0%{?bundlere2} -Provides: bundled(re2) -%endif -Provides: bundled(sfntly) = 04740d2600193b14aa3ef24cd9fbb3d5996b9f77 -Provides: bundled(skia) -Provides: bundled(SMHasher) = 0 -Provides: bundled(snappy) = 1.1.4-head -Provides: bundled(speech-dispatcher) = 0.7.1 -Provides: bundled(sqlite) = 3.17patched -Provides: bundled(superfasthash) = 0 -Provides: bundled(talloc) = 2.0.1 -Provides: bundled(usrsctp) = 0 -Provides: bundled(v8) = 5.9.211.31 -Provides: bundled(webrtc) = 90usrsctp -Provides: bundled(woff2) = 445f541996fe8376f3976d35692fd2b9a6eedf2d -Provides: bundled(xdg-mime) -Provides: bundled(xdg-user-dirs) -Requires(post): /usr/sbin/semanage -Requires(post): /usr/sbin/restorecon -%if %{?shared} -%else -Provides: chromium-libs = %{version}-%{release} -Obsoletes: chromium-libs <= %{version}-%{release} -Provides: chromium-libs-media = %{version}-%{release} -Obsoletes: chromium-libs-media <= %{version}-%{release} -Provides: chromium-libs-media-freeworld = %{version}-%{release} -Obsoletes: chromium-libs-media-freeworld <= %{version}-%{release} -%endif -%if %{?freeworld} -%if %{?shared} %description -Chromium media libraries built with all possible codecs. Chromium is an -open-source web browser, powered by WebKit (Blink). This package replaces -the default chromium-libs-media package, which is limited in what it -can include. -%else -%description -Chromium built with all possible codecs. Chromium is an -open-source web browser, powered by WebKit (Blink). -%endif -%else -%description -Chromium is an open-source web browser, powered by WebKit (Blink). -%endif - -%package common -Summary: Files needed for both the headless_shell and full Chromium -Requires: minizip%{_isa} -%if ! %{build_remoting} -Provides: chrome-remote-desktop = %{version}-%{release} -Obsoletes: chrome-remote-desktop <= 81.0.4044.138 -%endif -%description common -%{summary}. -%if 0%{?shared} - -%package libs -Summary: Shared libraries used by chromium (and chrome-remote-desktop) -Requires: chromium-common%{_isa} = %{version}-%{release} -Requires: chromium-libs-media%{_isa} >= %{majorversion} -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives -%description libs -Shared libraries used by chromium (and chrome-remote-desktop). -%if ! %{freeworld} - -%package libs-media -Summary: Shared libraries used by the chromium media subsystem -Requires: chromium-libs%{_isa} = %{version} -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives -%description libs-media -Shared libraries used by the chromium media subsystem. -%endif -%endif -%if %{build_remoting} - -%package -n chrome-remote-desktop -Requires(pre): shadow-utils -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd -Requires: xorg-x11-server-Xvfb python2-psutil -%if 0%{?shared} -Requires: chromium-libs%{_isa} = %{version}-%{release} -%else -Requires: chromium-common%{_isa} = %{version}-%{release} -%endif -Summary: Remote desktop support for google-chrome & chromium -%description -n chrome-remote-desktop -Remote desktop support for google-chrome & chromium. -%endif +Chromium is the open-source project behind Google Chrome. We invite you to join us in our effort to help build a safer, faster, and more stable way for all Internet users to experience the web, and to create a powerful platform for developing a new generation of web applications. %package -n chromedriver -Summary: WebDriver for Google Chrome/Chromium -%if 0%{?shared} -Requires: chromium-libs%{_isa} = %{version}-%{release} -%else -Requires: chromium-common%{_isa} = %{version}-%{release} -%endif -Provides: chromedriver-stable = %{version}-%{release} -Conflicts: chromedriver-testing -Conflicts: chromedriver-unstable -%description -n chromedriver -WebDriver is an open source tool for automated testing of webapps across many -browsers. It provides capabilities for navigating to web pages, user input, -JavaScript execution, and more. ChromeDriver is a standalone server which -implements WebDriver's wire protocol for Chromium. It is being developed by -members of the Chromium and WebDriver teams. +Summary: WebDriver for Google Chrome/Chromium +License: BSD-3-Clause +Requires: %{name} = %{version} -%package headless -Summary: A minimal headless shell built from Chromium -Requires: chromium-common%{_isa} = %{version}-%{release} -%description headless -A minimal headless client built from Chromium. headless_shell is built -without support for alsa, cups, dbus, gconf, gio, kerberos, pulseaudio, or -udev. +%description -n chromedriver +WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. ChromeDriver is a standalone server which implements WebDriver's wire protocol for Chromium. It is being developed by members of the Chromium and WebDriver teams. %prep -cd ../SOURCES -cat %{SOURCE21} %{SOURCE22} %{SOURCE23} > %{SOURCE0} -cd .. -%setup -q -T -c -n depot_tools -a 2 -%setup -q -n chromium-%{version} -%patch0 -p1 -b .sandboxpie -%patch1 -p1 -b .etc -%patch2 -p1 -b .gnsystem -%patch3 -p1 -b .nolibpngprefix -#%patch4 -p1 -b .nolibjpegmangle -%patch5 -p1 -b .nozlibmangle -%patch6 -p1 -b .nounrar -%patch7 -p1 -b .widevine-hack -%patch8 -p1 -b .nofontconfigcache -%patch9 -p1 -b .gcc9 -%patch10 -p1 -b .widevine-other-locations -%patch11 -p1 -b .py2 -%patch50 -p1 -b .gettid-fix -%patch51 -p1 -b .gcc-remoting-constexpr -%patch52 -p1 -b .unbundle-zlib -%patch53 -p1 -b .gcc-include-memory -%patch54 -p1 -b .base-gcc-no-alignas -%patch55 -p1 -b .protobuf-export -%patch57 -p1 -b .missing-cstdint -%patch58 -p1 -b .missing-cstring -%patch59 -p1 -b .ffmpeg-deprecations -%patch61 -p1 -b .blink-disable-clang-format -%patch62 -p1 -b .fix-char_traits -%patch63 -p1 -b .CursorFactory-include -%patch64 -p1 -b .openscreen-include -%patch65 -p1 -b .ServiceWorkerContainerHost-crash -%patch66 -p1 -b .vaapi-attribute -%patch68 -p1 -b .gn-gcc-cleanup -%patch69 -p1 -b .remoting-cstring -%patch70 -p1 -b .i686-textrels -%patch71 -p1 -b .aarch64-clearkeycdm-binutils-workaround -%if %{use_vaapi} -%patch202 -p1 -b .accel-mjpeg -%ifarch i686 -%patch203 -p1 -b .i686permissive -%endif -%patch205 -p1 -b .vaapi-intel-fix -%endif -%patch300 -p1 -b .disblegnomekeyring -%ifarch aarch64 -%patch301 -p1 -%endif -%patch400 -p1 -b .gcc11 -find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} + -%if 0%{?asan} -export CC="clang" -export CXX="clang++" -%else -export CC="gcc" -export CXX="g++" -%endif -export AR="ar" -export RANLIB="ranlib" -rm -rf buildtools/third_party/libc++/BUILD.gn -%if %{freeworld} -%else -pushd third_party/test_fonts -mkdir test_fonts -cd test_fonts -unzip %{SOURCE14} -tar xf %{SOURCE15} -mv MuktiNarrow0.94/MuktiNarrow.ttf . -rm -rf MuktiNarrow0.94 -cp %{SOURCE16} . -cp %{SOURCE17} . -cp %{SOURCE18} . -cp %{SOURCE100} . -cp %{SOURCE101} . -cp %{SOURCE102} . -cp %{SOURCE103} . -cp %{SOURCE104} . -cp %{SOURCE105} . -cp %{SOURCE106} . -cp %{SOURCE107} . -cp %{SOURCE108} . -cp %{SOURCE109} . -cp %{SOURCE110} . -cp %{SOURCE111} . -cp -a /usr/share/fonts/lohit-gurmukhi/Lohit-Gurmukhi.ttf . -cp -a /usr/share/fonts/google-noto-cjk/NotoSansCJKjp-Regular.otf . -cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf . -cp -a /usr/share/fonts/thai-scalable/Garuda.ttf . -cp -a /usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf /usr/share/fonts/lohit-tamil/Lohit-Tamil.ttf . -cp -a /usr/share/fonts/google-noto/NotoSansKhmer-Regular.ttf . -cp -a /usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf . -cp -a /usr/share/fonts/google-noto/NotoSansSymbols2-Regular.ttf /usr/share/fonts/google-noto/NotoSansTibetan-Regular.ttf . +rm -f %{SOURCE0} && wget -qO %{SOURCE0} https://user-repo.openeuler.openatom.cn/lfs-tar/%{name}/%{rname}-%{version}.tar.xz +%setup -q -n %{rname}-%{version} +%autopatch -p1 + +%build +# esbuild +rm third_party/devtools-frontend/src/third_party/esbuild/esbuild +tar -xf %{SOURCE1} +pushd esbuild +gflags="-mod=vendor -gcflags=all='-N -l'" +GO_FLAGS="${gflags}" make +cp -a esbuild ../third_party/devtools-frontend/src/third_party/esbuild/esbuild popd -%endif -CHROMIUM_CORE_GN_DEFINES="" -CHROMIUM_CORE_GN_DEFINES+=' is_debug=false' -%ifarch x86_64 aarch64 -CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"' -%endif -CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}" google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"' -CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false fieldtrial_testing_like_official_build=true use_lld=false rtc_enable_symbol_export=true' -%if %{use_gold} -CHROMIUM_CORE_GN_DEFINES+=' use_gold=true' -%else -CHROMIUM_CORE_GN_DEFINES+=' use_gold=false' -%endif -%if %{freeworld} -CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS" proprietary_codecs=true' -%else -CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="Chromium" proprietary_codecs=false' -%endif -CHROMIUM_CORE_GN_DEFINES+=' treat_warnings_as_errors=false' -CHROMIUM_CORE_GN_DEFINES+=' use_custom_libcxx=false' -CHROMIUM_CORE_GN_DEFINES+=' use_kerberos=true' -%ifarch aarch64 -CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' -%endif -%if %{?use_jumbo} -CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8' -%endif -CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true' -export CHROMIUM_CORE_GN_DEFINES -CHROMIUM_BROWSER_GN_DEFINES="" -CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true icu_use_data_file=true' -CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false' -%if 0%{?shared} -CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true' -%else -CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=false' -%endif -CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true' -CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true' -CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true' -%if %{use_vaapi} -CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true' -%endif -CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true' -export CHROMIUM_BROWSER_GN_DEFINES -CHROMIUM_HEADLESS_GN_DEFINES="" -CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true' -CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=false icu_use_data_file=false v8_use_external_startup_data=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gio=false use_kerberos=false use_libpci=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false use_glib=false use_x11=false' -export CHROMIUM_HEADLESS_GN_DEFINES + +# 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 -build/linux/unbundle/remove_bundled_libraries.py \ - 'base/third_party/cityhash' \ - 'base/third_party/cityhash_v103' \ - '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' \ - 'net/third_party/mozilla_security_manager' \ - 'net/third_party/nss' \ - 'net/third_party/quiche' \ - '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/angle/src/third_party/volk' \ - 'third_party/angle/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/blanketjs' \ - 'third_party/blink' \ - 'third_party/boringssl' \ - 'third_party/boringssl/src/third_party/fiat' \ - 'third_party/breakpad' \ - 'third_party/breakpad/breakpad/src/third_party/curl' \ - 'third_party/brotli' \ - 'third_party/catapult' \ - 'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \ - 'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \ - 'third_party/catapult/third_party/beautifulsoup4' \ - 'third_party/catapult/third_party/google-endpoints' \ - 'third_party/catapult/third_party/html5lib-python' \ - '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/dav1d' \ - 'third_party/dawn' \ - 'third_party/depot_tools' \ - 'third_party/devscripts' \ - 'third_party/devtools-frontend' \ - 'third_party/devtools-frontend/src/third_party/typescript' \ - 'third_party/devtools-frontend/src/front_end/third_party/acorn' \ - 'third_party/devtools-frontend/src/front_end/third_party/axe-core' \ - 'third_party/devtools-frontend/src/front_end/third_party/chromium' \ - 'third_party/devtools-frontend/src/front_end/third_party/codemirror' \ - 'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \ - 'third_party/devtools-frontend/src/front_end/third_party/i18n' \ - 'third_party/devtools-frontend/src/front_end/third_party/intl-messageformat' \ - 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \ - 'third_party/devtools-frontend/src/front_end/third_party/lit-html' \ - 'third_party/devtools-frontend/src/front_end/third_party/lodash-isequal' \ - 'third_party/devtools-frontend/src/front_end/third_party/marked' \ - 'third_party/devtools-frontend/src/front_end/third_party/puppeteer' \ - 'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \ - 'third_party/dom_distiller_js' \ - 'third_party/emoji-segmenter' \ - 'third_party/expat' \ - 'third_party/ffmpeg' \ - 'third_party/flac' \ - 'third_party/flatbuffers' \ - 'third_party/fontconfig' \ - 'third_party/freetype' \ - 'third_party/glslang' \ - '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/google_trust_services' \ - 'third_party/googletest' \ - 'third_party/grpc' \ - 'third_party/grpc/src/third_party/nanopb' \ - 'third_party/harfbuzz-ng' \ - 'third_party/hunspell' \ - 'third_party/iccjpeg' \ - 'third_party/icu' \ - 'third_party/inspector_protocol' \ - 'third_party/jinja2' \ - 'third_party/jsoncpp' \ - 'third_party/jstemplate' \ - 'third_party/khronos' \ - 'third_party/leveldatabase' \ - 'third_party/libXNVCtrl' \ - 'third_party/libaddressinput' \ - 'third_party/libaom' \ - 'third_party/libaom/source/libaom/third_party/vector' \ - 'third_party/libaom/source/libaom/third_party/x86inc' \ - 'third_party/libavif' \ - 'third_party/libdrm' \ - 'third_party/libgifcodec' \ - 'third_party/libjingle' \ - 'third_party/libjpeg_turbo' \ - 'third_party/libphonenumber' \ - 'third_party/libpng' \ - 'third_party/libsecret' \ - 'third_party/libsrtp' \ - 'third_party/libsync' \ - 'third_party/libudev' \ - 'third_party/libusb' \ - 'third_party/libvpx' \ - 'third_party/libvpx/source/libvpx/third_party/x86inc' \ - 'third_party/libwebm' \ - 'third_party/libwebp' \ - 'third_party/libxml' \ - 'third_party/libxml/chromium' \ - 'third_party/libxslt' \ - 'third_party/libyuv' \ - 'third_party/lottie' \ - 'third_party/lss' \ - 'third_party/lzma_sdk' \ - 'third_party/mako' \ -%if 0%{?bundlepylibs} - 'third_party/markupsafe' \ -%endif - 'third_party/mesa' \ - 'third_party/metrics_proto' \ - 'third_party/modp_b64' \ - 'third_party/nasm' \ - 'third_party/nearby' \ - 'third_party/node' \ - 'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \ - 'third_party/one_euro_filter' \ - 'third_party/opencv' \ -%if %{freeworld} - 'third_party/openh264' \ -%endif - 'third_party/openscreen' \ - 'third_party/openscreen/src/third_party/mozilla' \ - 'third_party/openscreen/src/third_party/tinycbor' \ - 'third_party/opus' \ - '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' \ - 'third_party/ply' \ - 'third_party/polymer' \ - 'third_party/private-join-and-compute' \ - 'third_party/private_membership' \ - 'third_party/protobuf' \ - 'third_party/protobuf/third_party/six' \ - 'third_party/pyjson5' \ - 'third_party/qcms' \ - 'third_party/qunit' \ -%if 0%{?bundlere2} - 'third_party/re2' \ -%endif - 'third_party/rnnoise' \ - 'third_party/s2cellid' \ - 'third_party/schema_org' \ - 'third_party/securemessage' \ - 'third_party/shaka-player' \ - 'third_party/shell-encryption' \ - 'third_party/simplejson' \ - 'third_party/sinonjs' \ - 'third_party/skia' \ - 'third_party/skia/include/third_party/skcms' \ - 'third_party/skia/include/third_party/vulkan' \ - 'third_party/skia/third_party/skcms' \ - 'third_party/skia/third_party/vulkan' \ - 'third_party/smhasher' \ - 'third_party/snappy' \ - 'third_party/speech-dispatcher' \ - 'third_party/spirv-headers' \ - 'third_party/SPIRV-Tools' \ - 'third_party/sqlite' \ - 'third_party/swiftshader' \ - 'third_party/swiftshader/third_party/astc-encoder' \ - 'third_party/swiftshader/third_party/llvm-subzero' \ - 'third_party/swiftshader/third_party/llvm-10.0' \ - 'third_party/swiftshader/third_party/marl' \ - 'third_party/swiftshader/third_party/subzero' \ - 'third_party/swiftshader/third_party/SPIRV-Headers' \ - 'third_party/tcmalloc' \ - 'third_party/test_fonts' \ - 'third_party/ukey2' \ - 'third_party/usb_ids' \ - 'third_party/usrsctp' \ - 'third_party/vulkan' \ - 'third_party/wayland' \ - 'third_party/web-animations-js' \ - 'third_party/webdriver' \ - 'third_party/webrtc' \ - 'third_party/webrtc/common_audio/third_party/ooura' \ - '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/wuffs' \ - 'third_party/xcbproto' \ - 'third_party/xdg-utils' \ - 'third_party/zxcvbn-cpp' \ - 'third_party/zlib' \ - 'third_party/zlib/google' \ - 'tools/gn/src/base/third_party/icu' \ - 'tools/grit/third_party/six' \ - 'url/third_party/mozilla' \ - 'v8/src/third_party/siphash' \ - 'v8/src/third_party/utf8-decoder' \ - 'v8/src/third_party/valgrind' \ - 'v8/third_party/v8' \ - 'v8/third_party/inspector_protocol' \ - --do-remove -%if ! 0%{?bundlepylibs} -rm -rf third_party/markupsafe -ln -s %{python2_sitearch}/markupsafe third_party/markupsafe -%endif -sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc -export PATH=$PATH:%{_builddir}/depot_tools -build/linux/unbundle/replace_gn_files.py --system-libraries \ -%if 0%{?bundlefontconfig} -%else - fontconfig \ -%endif -%if 0%{?bundlefreetype} -%else - freetype \ -%endif -%if 0%{?bundleharfbuzz} -%else - harfbuzz-ng \ -%endif -%if 0%{?bundleicu} -%else - icu \ + +rm buildtools/third_party/eu-strip/bin/eu-strip +ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip + +# python3 +mkdir -p $HOME/bin +export PYTHON=python3 +ln -sfn %{_bindir}/$PYTHON $HOME/bin/python +export PATH="$HOME/bin/:$PATH" + +# use our wrapper +rm chrome/installer/linux/common/wrapper +cp %{SOURCE106} chrome/installer/linux/common/wrapper + +# Remove bundled libs +keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/dynamic_annotations + base/third_party/icu + 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/eu-strip + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + buildtools/third_party/libunwind + chrome/third_party/mozilla_security_manager + courgette/third_party + 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/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4 + third_party/catapult/third_party/html5lib-1.1/ + third_party/catapult/third_party/html5lib-python + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + 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/content_analysis_sdk + third_party/cpuinfo + 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/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fdlibm + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/fusejs/dist + third_party/fxdiv + third_party/gemmlowp + 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 + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + 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/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libudev + third_party/liburlpattern + third_party/libva_protected_content + third_party/libwebm + third_party/libwebp + third_party/libx11/src + third_party/libxcb-keysyms/keysyms + third_party/libxml/chromium + third_party/libzip + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/maldoca + third_party/maldoca/src/third_party + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/mozilla + 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/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/pffft + third_party/ply + third_party/polymer + third_party/private-join-and-compute + third_party/private_membership + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rnnoise + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/shell-encryption + third_party/simplejson + third_party/skia + third_party/skia/include/third_party/vulkan/ + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-10.0 + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/ukey2 + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + 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/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zstd + third_party/zxcvbn-cpp + tools/gn/src/base/third_party + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8/builtins +) +%if !%{with system_harfbuzz} +keeplibs+=( + third_party/harfbuzz-ng +) +%endif +%if !%{with system_freetype} +keeplibs+=( + third_party/freetype +) +%endif +%if !%{with system_icu} +keeplibs+=( third_party/icu ) +%endif +%if !%{with system_ffmpeg} +keeplibs+=( third_party/ffmpeg ) +%endif +%if !%{with system_zlib} +keeplibs+=( third_party/zlib ) +%endif +%if !%{with system_vpx} +keeplibs+=( + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc +) +%endif +%if !%{with system_avif} +keeplibs+=( third_party/libyuv ) +keeplibs+=( third_party/libavif ) +%endif +%if !%{with system_re2} +keeplibs+=( third_party/re2 ) +%endif +# needed due to bugs in GN +keeplibs+=( + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils +) +build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove + +# GN sets lto on its own and we need just ldflag options, not cflags +%define _lto_cflags %{nil} +%undefine _debugsource_packages +%if %{with clang} +export CC=clang +export CXX=clang++ +export AR=llvm-ar +export NM=llvm-nm +export RANLIB=llvm-ranlib +%else +export CC=gcc +export CXX=g++ +export AR=ar +export NM=nm +export RANLIB=ranlib +%endif +# REDUCE DEBUG as it gets TOO large +ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g / /g' -e 's/ -g / /g' -e 's/ -g$//g'`" +export CXXFLAGS="${ARCH_FLAGS} -Wno-return-type" +# extra flags to reduce warnings that aren't very useful +export CXXFLAGS="${CXXFLAGS} -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations" +# ignore warnings for minor mistakes that are too common +export CXXFLAGS="${CXXFLAGS} -Wno-return-type -Wno-parentheses -Wno-misleading-indentation" +# ignore warnings that are not supported well until gcc 8 +# ignore warnings due to gcc bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84055) +export CXXFLAGS="${CXXFLAGS} -Wno-attributes -Wno-ignored-attributes" +# ingore new gcc 8 warnings that aren't yet handled upstream +export CXXFLAGS="${CXXFLAGS} -Wno-address -Wno-dangling-else -D_GNU_SOURCE" +export CXXFLAGS=${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS} +# for wayland +export CXXFLAGS="${CXXFLAGS} -I/usr/include/wayland -I/usr/include/libxkbcommon -I/usr/include/opus" +%if %{with clang} +export LDFLAGS="${LDFLAGS} -Wl,--build-id=sha1" +export CXXFLAGS="${CXXFLAGS} -Wno-unused-command-line-argument -Wno-unknown-warning-option" %endif -%if %{bundlelibdrm} -%else - libdrm \ +%ifarch aarch64 +%if %{without clang} +export CXXFLAGS="${CXXFLAGS} -flax-vector-conversions -fno-omit-frame-pointer" +%else +export CXXFLAGS="${CXXFLAGS} -flax-vector-conversions=all" +%endif +%endif +%if %{without clang} +export CXXFLAGS="${CXXFLAGS} -Wno-unused-but-set-variable -Wno-packed-not-aligned" +%endif +export CFLAGS="${CXXFLAGS}" +%if %{without clang} +export CXXFLAGS="${CXXFLAGS} -Wno-subobject-linkage -Wno-class-memaccess" +%endif +export CXXFLAGS="${CXXFLAGS} -Wno-invalid-offsetof -fpermissive" +%if %{with lto} && %{without clang} +# reduce the threads for linking even more due to LTO eating ton of memory +_link_threads=$(((%{jobs} - 2))) +test "$_link_threads" -le 0 && _link_threads=1 +export LDFLAGS="-flto=$_link_threads --param lto-max-streaming-parallelism=1" +%endif + +# Set system libraries to be used +gn_system_libraries=( + flac + fontconfig + libdrm + libevent + libjpeg + libpng + libxslt + libusb + libwebp + libxml + opus + snappy +) +%if %{with system_harfbuzz} +gn_system_libraries+=( + harfbuzz-ng +) +%endif +%if %{with system_freetype} +gn_system_libraries+=( + freetype +) +%endif +%if %{with system_icu} +gn_system_libraries+=( icu ) +%endif +%if %{with system_vpx} +gn_system_libraries+=( libvpx ) +%endif +%if %{with system_ffmpeg} +gn_system_libraries+=( ffmpeg ) +%endif +%if %{with system_re2} +gn_system_libraries+=( re2 ) +%endif +%if %{with system_zlib} +gn_system_libraries+=( zlib ) +%endif +build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries[@]} + +# Create the configuration for GN +# Available options: out/Release/gn args --list out/Release/ +myconf_gn="" +myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" +myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" +myconf_gn+=" use_custom_libcxx=false" +%ifarch x86_64 +myconf_gn+=" host_cpu=\"x64\"" +%endif +myconf_gn+=" host_os=\"linux\"" +myconf_gn+=" is_debug=false" +myconf_gn+=" dcheck_always_on=false" +myconf_gn+=" enable_nacl=false" +%if %{with swiftshader} +myconf_gn+=" use_swiftshader_with_subzero=true" +%endif +myconf_gn+=" is_component_ffmpeg=true" +myconf_gn+=" use_cups=true" +myconf_gn+=" use_aura=true" +myconf_gn+=" symbol_level=1" +myconf_gn+=" blink_symbol_level=0" +myconf_gn+=" use_kerberos=true" +myconf_gn+=" enable_vr=false" +myconf_gn+=" optimize_webui=false" +myconf_gn+=" enable_reading_list=false" +myconf_gn+=" use_pulseaudio=true link_pulseaudio=true" +myconf_gn+=" is_component_build=false" +myconf_gn+=" use_sysroot=false" +myconf_gn+=" fatal_linker_warnings=false" +myconf_gn+=" use_allocator_shim=true" +myconf_gn+=" use_partition_alloc=true" +myconf_gn+=" disable_fieldtrial_testing_config=true" +myconf_gn+=" use_gnome_keyring=false" +myconf_gn+=" use_unofficial_version_number=false" +%ifarch x86_64 aarch64 +myconf_gn+=" use_vaapi=true" %endif -%if %{bundlelibjpeg} -%else - libjpeg \ +myconf_gn+=" use_sysroot=false" +myconf_gn+=" treat_warnings_as_errors=false" +myconf_gn+=" enable_widevine=true" +myconf_gn+=" use_dbus=true" +myconf_gn+=" media_use_openh264=false" +myconf_gn+=" rtc_use_h264=false" +myconf_gn+=" use_v8_context_snapshot=true" +myconf_gn+=" v8_use_external_startup_data=true" +%if %{with gtk4} +myconf_gn+=" gtk_version=4" %endif -%if %{bundlelibpng} +%if %{without qt} +myconf_gn+=" use_qt=false" %else - libpng \ +myconf_gn+=" moc_qt5_path=\"%{_libdir}/qt5/bin\"" %endif -%if %{bundlelibusbx} -%else - libusb \ +# See dependency logic in third_party/BUILD.gn +%if %{with system_harfbuzz} +myconf_gn+=" use_system_harfbuzz=true" %endif -%if %{bundlelibwebp} -%else - libwebp \ +%if %{with system_freetype} +myconf_gn+=" use_system_freetype=true" %endif -%if %{bundlelibxml} -%else - libxml \ +myconf_gn+=" enable_hangout_services_extension=true" +myconf_gn+=" enable_vulkan=true" +%if %{with pipewire} +myconf_gn+=" rtc_use_pipewire=true rtc_link_pipewire=true" %endif - libxslt \ -%if %{bundleopus} -%else - opus \ +%if %{with clang} +myconf_gn+=" is_clang=true clang_base_path=\"/usr\" clang_use_chrome_plugins=false" +%if %{with lto} && %{with clang} +myconf_gn+=" use_thin_lto=true" %endif -%if 0%{?bundlere2} +myconf_gn+=" use_lld=true" %else - re2 \ +myconf_gn+=" is_clang=false" +%ifnarch riscv64 aarch64 +myconf_gn+=" use_gold=true" %endif -%if 0%{?bundleminizip} -%else - zlib \ %endif - flac -sed -i 's|arm-linux-gnueabihf-|arm-linux-gnu-|g' build/toolchain/linux/BUILD.gn -%ifarch aarch64 -sed -i 's|aarch64-linux-gnu-||g' build/toolchain/linux/BUILD.gn -sed -i '/${LONG_BIT}/ a \ aarch64)\' ../depot_tools/ninja -sed -i '/aarch64)/ a \ exec "/usr/bin/ninja-build" "$@";;\' ../depot_tools/ninja +myconf_gn+=" enable_rust=false" +%if %{with lto} && %{without clang} +myconf_gn+=" gcc_lto=true" %endif -sed -i 's|exec "${THIS_DIR}/ninja-linux${LONG_BIT}"|exec "/usr/bin/ninja-build"|g' ../depot_tools/ninja -if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ - echo "Python 2 'google' module is defined, this will shadow modules of this build"; \ - exit 1 ; \ -fi -tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" -%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} -%if %{freeworld} -%else -%if %{build_headless} -%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir} -%endif -%endif -%if %{build_remoting} -%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} +%if %{with system_icu} +myconf_gn+=" icu_use_data_file=false" %endif -%if %{bundlelibusbx} -%else -rm -rf third_party/libusb/src/libusb/libusb.h -cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h -%endif -FILE=chrome/common/channel_info_posix.cc -sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"openEuler Project"/' $FILE -%build -ulimit -n 4096 -tar xf %{SOURCE20} -%ifarch %{ix86} -%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif -export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints:../../xcb-proto-1.14" -echo -%if 0%{freeworld} - -%build_target %{builddir} media -%else -%if %{build_headless} - -%build_target %{headlessbuilddir} headless_shell -%endif +# The proprietary codecs just force the chromium to say they can use it and +# offload the actual computation to the ffmpeg, otherwise the chromium +# won't be able to load the codec even if the library can handle it +myconf_gn+=" proprietary_codecs=true" +myconf_gn+=" ffmpeg_branding=\"Chrome\"" -%build_target %{builddir} chrome - -%build_target %{builddir} chrome_sandbox - -%build_target %{builddir} chromedriver -%if %{build_clear_key_cdm} - -%build_target %{builddir} clear_key_cdm -%endif - -%build_target %{builddir} policy_templates -%if %{build_remoting} - -%build_target %{remotingbuilddir} remoting_all -%endif -%endif - -%install -rm -rf %{buildroot} -%if 0%{freeworld} - mkdir -p %{buildroot}%{chromium_path} - pushd %{builddir} - cp -a libffmpeg.so* %{buildroot}%{chromium_path} - cp -a libmedia.so* %{buildroot}%{chromium_path} - mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} - mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} - mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} - mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} - popd -%else - mkdir -p %{buildroot}%{_bindir} - mkdir -p %{buildroot}%{chromium_path} - cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - chmod a+x %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - export BUILD_TARGET=`cat /etc/openEuler-release` - export CHROMIUM_PATH=%{chromium_path} - export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel} - sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - %if "%{chromium_channel}" == "%{nil}" - sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - %else - # Enable debug outputs for beta and dev channels - export EXTRA_FLAGS="--enable-logging=stderr --v=2" - sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - %endif - ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} - mkdir -p %{buildroot}%{_mandir}/man1/ - pushd %{builddir} - cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} - %ifarch x86_64 i686 aarch64 - cp -a swiftshader %{buildroot}%{chromium_path} - %endif - cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} - cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox - cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - # V8 initial snapshots - # https://code.google.com/p/chromium/issues/detail?id=421063 - cp -a snapshot_blob.bin %{buildroot}%{chromium_path} - cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path} - cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path} - cp -a MEIPreload %{buildroot}%{chromium_path} - # This is ANGLE, not to be confused with the similarly named files under swiftshader/ - cp -a libEGL.so* libGLESv2.so* %{buildroot}%{chromium_path} - %if %{build_clear_key_cdm} - %ifarch i686 - cp -a ClearKeyCdm/_platform_specific/linux_x86/libclearkeycdm.so %{buildroot}%{chromium_path} - %else - %ifarch x86_64 - cp -a ClearKeyCdm/_platform_specific/linux_x64/libclearkeycdm.so %{buildroot}%{chromium_path} - %else - %ifarch aarch64 - cp -a ClearKeyCdm/_platform_specific/linux_arm64/libclearkeycdm.so %{buildroot}%{chromium_path} - %else - cp -a libclearkeycdm.so %{buildroot}%{chromium_path} - %endif - %endif - %endif - %endif - %if 0%{?shared} - cp -a lib*.so* %{buildroot}%{chromium_path} - cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} - cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} - cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} - cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} - %endif - # chromedriver - cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver - ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver - %if %{build_remoting} - # Remote desktop bits - mkdir -p %{buildroot}%{crd_path} - %if 0%{?shared} - pushd %{buildroot}%{crd_path} - for i in ../chromium-browser%{?chromium_channel}/lib*.so; do - libname=`basename $i` - ln -s $i $libname - done - popd - %endif - %endif - popd - %if %{build_remoting} - pushd %{remotingbuilddir} - # See remoting/host/installer/linux/Makefile for logic - cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host - cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host - cp -a remoting_locales %{buildroot}%{crd_path}/ - cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host - cp -a remoting_start_host %{buildroot}%{crd_path}/start-host - cp -a remoting_user_session %{buildroot}%{crd_path}/user-session - chmod +s %{buildroot}%{crd_path}/user-session - # chromium - mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts - # google-chrome - mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/ - cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/ - for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do - sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i - done - mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts - pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts - for i in ../../../chromium/native-messaging-hosts/*; do - # rpm gets unhappy when we symlink here - cp -a $i . - done - popd - popd - mkdir -p %{buildroot}/var/lib/chrome-remote-desktop - touch %{buildroot}/var/lib/chrome-remote-desktop/hashes - mkdir -p %{buildroot}%{_sysconfdir}/pam.d/ - pushd %{buildroot}%{_sysconfdir}/pam.d/ - ln -s system-auth chrome-remote-desktop - popd - %endif - %if %{build_headless} - pushd %{headlessbuilddir} - cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} - popd - %endif - %if %{build_remoting} - cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop - cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/ - mkdir -p %{buildroot}%{_unitdir} - cp -a %{SOURCE11} %{buildroot}%{_unitdir}/ - sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service - %endif - # Add directories for policy management - mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed - mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended - cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html . - cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json . - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps - cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps - cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps - cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps - cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps - cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png - # Install the master_preferences file - mkdir -p %{buildroot}%{_sysconfdir}/%{name} - install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/ - mkdir -p %{buildroot}%{_datadir}/applications/ - desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4} - install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml - appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml - mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ - cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ - mkdir -p %{buildroot}%{chromium_path}/PepperFlash -%endif - -%post -if selinuxenabled; then - semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel} &>/dev/null || : - semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel}/%{chromium_browser_channel}.sh &>/dev/null || : - semanage fcontext -a -t chrome_sandbox_exec_t /usr/lib/chrome-sandbox &>/dev/null || : - restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || : -fi -%if %{build_remoting} - -%pretrans -n chrome-remote-desktop -p -path = "/etc/opt/chrome/native-messaging-hosts" -st = posix.stat(path) -if st and st.type == "link" then - os.remove(path) -end -%endif -%if %{shared} -%if %{freeworld} - -%posttrans -n chromium-libs-media-freeworld -%{_sbindir}/update-alternatives --install \ - %{_libdir}/chromium-browser/libffmpeg.so libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.freeworld 20 \ - --slave %{_libdir}/chromium-browser/libffmpeg.so.TOC libffmpeg.so.TOC \ - %{_libdir}/chromium-browser/libffmpeg.so.TOC.freeworld \ - --slave %{_libdir}/chromium-browser/libmedia.so libmedia.so \ - %{_libdir}/chromium-browser/libmedia.so.freeworld \ - --slave %{_libdir}/chromium-browser/libmedia.so.TOC libmedia.so.TOC \ - %{_libdir}/chromium-browser/libmedia.so.TOC.freeworld - -%preun -n chromium-libs-media-freeworld -if [ $1 = 0 ]; then - %{_sbindir}/alternatives --remove libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.freeworld -fi +%ifarch aarch64 +myconf_gn+=" host_cpu=\"arm64\"" +%if %{with arm_bti} +myconf_gn+=" arm_control_flow_integrity=\"standard\"" %else - -%posttrans libs-media -%{_sbindir}/update-alternatives --install \ - %{_libdir}/chromium-browser/libffmpeg.so libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.openEuler 10 \ - --slave %{_libdir}/chromium-browser/libffmpeg.so.TOC libffmpeg.so.TOC \ - %{_libdir}/chromium-browser/libffmpeg.so.TOC.openEuler \ - --slave %{_libdir}/chromium-browser/libmedia.so libmedia.so \ - %{_libdir}/chromium-browser/libmedia.so.openEuler \ - --slave %{_libdir}/chromium-browser/libmedia.so.TOC libmedia.so.TOC \ - %{_libdir}/chromium-browser/libmedia.so.TOC.openEuler - -%preun libs-media -if [ $1 = 0 ]; then - %{_sbindir}/alternatives --remove libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.openEuler -fi +myconf_gn+=" arm_control_flow_integrity=\"none\"" %endif %endif -%if %{build_remoting} -%pre -n chrome-remote-desktop -getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop +# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys +# Note: For your own distribution, please get your own set of keys. +google_api_key="AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q" +myconf_gn+=" google_api_key=\"${google_api_key}\"" -%post -n chrome-remote-desktop -%systemd_post chrome-remote-desktop@.service +# GN does not support passing cflags: +# https://bugs.chromium.org/p/chromium/issues/detail?id=642016 +gn gen --args="${myconf_gn}" %{outputdir} -%preun -n chrome-remote-desktop -%systemd_preun chrome-remote-desktop@.service +ninja -v %{?_smp_mflags} -C %{outputdir} chrome chromedriver -%postun -n chrome-remote-desktop -%systemd_postun_with_restart chrome-remote-desktop@.service -%endif -%if 0%{freeworld} -%else +%install +bash %{SOURCE105} -s %{buildroot} -l %{_libdir} %{!?with_system_icu:-i true} -o %{outputdir} +# chromedriver +cp -a %{outputdir}/chromedriver.unstripped %{buildroot}%{_libdir}/chromium/chromedriver +ln -s %{_libdir}/chromium/chromedriver %{buildroot}%{_bindir}/chromedriver +# link to browser plugin path. Plugin patch doesn't work. Why? +mkdir -p %{buildroot}%{_libdir}/browser-plugins +ln -s %{_libdir}/browser-plugins %{buildroot}%{_libdir}/chromium/plugins +# Install the master_preferences file +mkdir -p %{buildroot}%{_sysconfdir}/chromium +install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/chromium +# Compat link +ln -s %{_bindir}/chromium-browser %{buildroot}%{_bindir}/chromium +# Policy dirs +mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies +mkdir %{buildroot}%{_sysconfdir}/chromium/policies/managed +mkdir %{buildroot}%{_sysconfdir}/chromium/policies/recommended +chmod -w %{buildroot}%{_sysconfdir}/chromium/policies/managed +mkdir -p %{buildroot}%{_datadir}/chromium/extensions +mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts +# SVG +install -Dm 0644 %{SOURCE104} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/chromium-browser.svg %files -%doc AUTHORS -%doc chrome_policy_list.html *.json %license LICENSE -%config %{_sysconfdir}/%{name}/ -%exclude %{_sysconfdir}/%{name}/native-messaging-hosts/* -%{_bindir}/%{chromium_browser_channel} -%dir %{chromium_path} -%{chromium_path}/*.bin -%{chromium_path}/chrome_*.pak -%{chromium_path}/resources.pak -%{chromium_path}/icudtl.dat -%{chromium_path}/%{chromium_browser_channel} -%{chromium_path}/%{chromium_browser_channel}.sh -%{chromium_path}/libEGL.so* -%{chromium_path}/libGLESv2.so* -%{chromium_path}/MEIPreload/ -%ifarch x86_64 i686 aarch64 -%{chromium_path}/swiftshader/ -%endif -%dir %{chromium_path}/PepperFlash/ -%attr(4755, root, root) %{chromium_path}/chrome-sandbox -%{chromium_path}/xdg-mime -%{chromium_path}/xdg-settings -%{_mandir}/man1/%{chromium_browser_channel}.* -%{_datadir}/icons/hicolor/*/apps/%{chromium_browser_channel}.png +%doc AUTHORS +%{_datadir}/chromium +%dir %{_sysconfdir}/chromium +%dir %{_sysconfdir}/chromium/policies +%dir %{_sysconfdir}/chromium/policies/managed +%dir %{_sysconfdir}/chromium/policies/recommended +%dir %{_sysconfdir}/chromium/native-messaging-hosts +%config %{_sysconfdir}/chromium/master_preferences +%{_libdir}/chromium %{_datadir}/applications/*.desktop -%{_datadir}/metainfo/*.appdata.xml -%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml - -%files common -%if %{build_headless} -%{chromium_path}/headless_lib.pak -%endif -%if %{build_clear_key_cdm} -%{chromium_path}/libclearkeycdm.so -%endif -%{chromium_path}/resources/ -%dir %{chromium_path}/locales/ -%lang(am) %{chromium_path}/locales/am.pak* -%lang(ar) %{chromium_path}/locales/ar.pak* -%lang(bg) %{chromium_path}/locales/bg.pak* -%lang(bn) %{chromium_path}/locales/bn.pak* -%lang(ca) %{chromium_path}/locales/ca.pak* -%lang(cs) %{chromium_path}/locales/cs.pak* -%lang(da) %{chromium_path}/locales/da.pak* -%lang(de) %{chromium_path}/locales/de.pak* -%lang(el) %{chromium_path}/locales/el.pak* -%lang(en_GB) %{chromium_path}/locales/en-GB.pak* -%{chromium_path}/locales/en-US.pak* -%lang(es) %{chromium_path}/locales/es.pak* -%lang(es) %{chromium_path}/locales/es-419.pak* -%lang(et) %{chromium_path}/locales/et.pak* -%lang(fa) %{chromium_path}/locales/fa.pak* -%lang(fi) %{chromium_path}/locales/fi.pak* -%lang(fil) %{chromium_path}/locales/fil.pak* -%lang(fr) %{chromium_path}/locales/fr.pak* -%lang(gu) %{chromium_path}/locales/gu.pak* -%lang(he) %{chromium_path}/locales/he.pak* -%lang(hi) %{chromium_path}/locales/hi.pak* -%lang(hr) %{chromium_path}/locales/hr.pak* -%lang(hu) %{chromium_path}/locales/hu.pak* -%lang(id) %{chromium_path}/locales/id.pak* -%lang(it) %{chromium_path}/locales/it.pak* -%lang(ja) %{chromium_path}/locales/ja.pak* -%lang(kn) %{chromium_path}/locales/kn.pak* -%lang(ko) %{chromium_path}/locales/ko.pak* -%lang(lt) %{chromium_path}/locales/lt.pak* -%lang(lv) %{chromium_path}/locales/lv.pak* -%lang(ml) %{chromium_path}/locales/ml.pak* -%lang(mr) %{chromium_path}/locales/mr.pak* -%lang(ms) %{chromium_path}/locales/ms.pak* -%lang(nb) %{chromium_path}/locales/nb.pak* -%lang(nl) %{chromium_path}/locales/nl.pak* -%lang(pl) %{chromium_path}/locales/pl.pak* -%lang(pt_BR) %{chromium_path}/locales/pt-BR.pak* -%lang(pt_PT) %{chromium_path}/locales/pt-PT.pak* -%lang(ro) %{chromium_path}/locales/ro.pak* -%lang(ru) %{chromium_path}/locales/ru.pak* -%lang(sk) %{chromium_path}/locales/sk.pak* -%lang(sl) %{chromium_path}/locales/sl.pak* -%lang(sr) %{chromium_path}/locales/sr.pak* -%lang(sv) %{chromium_path}/locales/sv.pak* -%lang(sw) %{chromium_path}/locales/sw.pak* -%lang(ta) %{chromium_path}/locales/ta.pak* -%lang(te) %{chromium_path}/locales/te.pak* -%lang(th) %{chromium_path}/locales/th.pak* -%lang(tr) %{chromium_path}/locales/tr.pak* -%lang(uk) %{chromium_path}/locales/uk.pak* -%lang(vi) %{chromium_path}/locales/vi.pak* -%lang(zh_CN) %{chromium_path}/locales/zh-CN.pak* -%lang(zh_TW) %{chromium_path}/locales/zh-TW.pak* -%if %{build_headless} - -%files headless -%{chromium_path}/headless_shell -%endif -%if 0%{?shared} - -%files libs -%exclude %{chromium_path}/libffmpeg.so* -%exclude %{chromium_path}/libmedia.so* -%{chromium_path}/lib*.so* -%endif -%if %{build_remoting} - -%files -n chrome-remote-desktop -%{crd_path}/chrome-remote-desktop -%{crd_path}/chrome-remote-desktop-host -%{crd_path}/is-remoting-session -%if 0%{?shared} -%{crd_path}/lib*.so -%endif -%{crd_path}/native-messaging-host -%{crd_path}/remote-assistance-host -%{_sysconfdir}/pam.d/chrome-remote-desktop -%{_sysconfdir}/chromium/native-messaging-hosts/* -%{_sysconfdir}/opt/chrome/ -%{crd_path}/remoting_locales/ -%{crd_path}/start-host -%{crd_path}/user-session -%{_unitdir}/chrome-remote-desktop@.service -/var/lib/chrome-remote-desktop/ -%endif +%{_datadir}/metainfo/chromium-browser.appdata.xml +%{_datadir}/icons/hicolor +%exclude %{_libdir}/chromium/chromedriver +%{_bindir}/chromium-browser +%{_bindir}/chromium +%{_mandir}/man1/chromium-browser.1* %files -n chromedriver -%doc AUTHORS -%license LICENSE +%{_libdir}/chromium/chromedriver %{_bindir}/chromedriver -%{chromium_path}/chromedriver -%endif -%if 0%{?shared} -%if %{freeworld} - -%files -n chromium-libs-media-freeworld -%else - -%files libs-media -%endif -%{chromium_path}/libffmpeg.so.%{lsuffix}* -%{chromium_path}/libffmpeg.so.TOC.%{lsuffix}* -%{chromium_path}/libmedia.so.%{lsuffix}* -%{chromium_path}/libmedia.so.TOC.%{lsuffix}* -%endif %changelog +* Thu Mar 14 2024 Eustace - 119.0.6045.159-1 +- Upgrade 119 + * Mon Dec 30 2020 Jeffery.Gao - %{majorversion}.0.4280.88-1 - Package init diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh deleted file mode 100755 index e020a49a891ff38f652f6ce8c090cf938db68013..0000000000000000000000000000000000000000 --- a/clean_ffmpeg.sh +++ /dev/null @@ -1,355 +0,0 @@ -#!/bin/bash -# Copyright 2013-2015 Tomas Popela -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -# $1 files -# $2 verbose -function copy_files() { - for file in $1 - do - dir_name=$(echo "$file" | sed 's%/[^/]*$%/%') - if [[ $dir_name == */* ]]; then - tmp_dir_name="tmp_"$dir_name - mkdir -p "../tmp_ffmpeg/$tmp_dir_name" - else - tmp_dir_name=$file - fi - - if [ "$2" -eq 1 ]; then - cp "$file" "../tmp_ffmpeg/$tmp_dir_name" - else - cp "$file" "../tmp_ffmpeg/$tmp_dir_name" > /dev/null 2>&1 - fi - done -} - -where=$(pwd) - -if ! generated_files=$(./get_free_ffmpeg_source_files.py "$1" "$2"); then - exit 1 -fi -# As the build system files does not contain the header files, cheat here -# and generate the header files names from source files. These that does not -# exist will be later skipped while copying. -generated_files_headers="${generated_files//.c/.h}" -generated_files_headers="$generated_files_headers ${generated_files//.c/_internal.h}" -if [ "$2" -ne "1" ]; then - generated_files_headers="$generated_files_headers ${generated_files//.S/.h}" -fi -generated_files_headers="$generated_files_headers ${generated_files//.asm/.h}" - -header_files=" libavcodec/x86/inline_asm.h \ - libavcodec/x86/mathops.h \ - libavcodec/x86/vp56_arith.h \ - libavcodec/aarch64/vp8dsp.h \ - libavcodec/arm/vp8dsp.h \ - libavcodec/aac.h \ - libavcodec/aacps.h \ - libavcodec/aacpsdsp.h \ - libavcodec/aacsbrdata.h \ - libavcodec/aac_ac3_parser.h \ - libavcodec/aac_defines.h \ - libavcodec/ac3.h \ - libavcodec/ac3tab.h \ - libavcodec/adts_header.h \ - libavcodec/avcodec.h \ - libavcodec/blockdsp.h \ - libavcodec/bytestream.h \ - libavcodec/cbrt_data.h \ - libavcodec/cbrt_tablegen.h \ - libavcodec/codec.h \ - libavcodec/codec_id.h \ - libavcodec/codec_par.h \ - libavcodec/dct.h \ - libavcodec/dct32.h \ - libavcodec/error_resilience.h \ - libavcodec/fdctdsp.h \ - libavcodec/fft.h \ - libavcodec/fft-internal.h \ - libavcodec/fft_table.h \ - libavcodec/flac.h \ - libavcodec/flacdsp.h \ - libavcodec/frame_thread_encoder.h \ - libavcodec/get_bits.h \ - libavcodec/h263dsp.h \ - libavcodec/h264chroma.h \ - libavcodec/hpeldsp.h \ - libavcodec/hwaccels.h \ - libavcodec/hwconfig.h \ - libavcodec/idctdsp.h \ - libavcodec/internal.h \ - libavcodec/kbdwin.h \ - libavcodec/mathops.h \ - libavcodec/mdct15.c \ - libavcodec/mdct15.h \ - libavcodec/me_cmp.h \ - libavcodec/mlp_parse.h \ - libavcodec/motion_est.h \ - libavcodec/mpeg12.h \ - libavcodec/mpeg12data.h \ - libavcodec/mpeg12vlc.h \ - libavcodec/mpegaudio.h \ - libavcodec/mpegaudiodecheader.h \ - libavcodec/mpegaudiodectab.h \ - libavcodec/mpegaudiodsp.h \ - libavcodec/mpegaudio_tablegen.h \ - libavcodec/mpegpicture.h \ - libavcodec/mpegutils.h \ - libavcodec/mpegvideo.h \ - libavcodec/mpegvideodata.h \ - libavcodec/mpegvideodsp.h \ - libavcodec/mpegvideoencdsp.h \ - libavcodec/options_table.h \ - libavcodec/opusdsp.h \ - libavcodec/opus_celt.h \ - libavcodec/opus_pvq.h \ - libavcodec/opus_rc.h \ - libavcodec/packet.h \ - libavcodec/packet_internal.h \ - libavcodec/pcm_tablegen.h \ - libavcodec/pixblockdsp.h \ - libavcodec/pixels.h \ - libavcodec/png.h \ - libavcodec/put_bits.h \ - libavcodec/qpeldsp.h \ - libavcodec/ratecontrol.h \ - libavcodec/rectangle.h \ - libavcodec/rl.h \ - libavcodec/rnd_avg.h \ - libavcodec/sbr.h \ - libavcodec/sbrdsp.h \ - libavcodec/sinewin.h \ - libavcodec/sinewin_tablegen.h \ - libavcodec/thread.h \ - libavcodec/unary.h \ - libavcodec/version.h \ - libavcodec/videodsp.h \ - libavcodec/vlc.h \ - libavcodec/vorbisdsp.h \ - libavcodec/vp3data.h \ - libavcodec/vp4data.h \ - libavcodec/vp3dsp.h \ - libavcodec/vp56.h \ - libavcodec/vp56dsp.h \ - libavcodec/vp8data.h \ - libavcodec/vp8dsp.h \ - libavformat/apetag.h \ - libavformat/avformat.h \ - libavformat/dv.h \ - libavformat/img2.h \ - libavformat/internal.h \ - libavformat/mov_chan.h \ - libavformat/pcm.h \ - libavformat/rdt.h \ - libavformat/rtp.h \ - libavformat/rtpdec.h \ - libavformat/spdif.h \ - libavformat/srtp.h \ - libavformat/options_table.h \ - libavformat/version.h \ - libavformat/w64.h \ - libavutil/aarch64/cpu.h \ - libavutil/x86/asm.h \ - libavutil/x86/bswap.h \ - libavutil/x86/cpu.h \ - libavutil/x86/emms.h - libavutil/x86/intreadwrite.h \ - libavutil/x86/intmath.h - libavutil/x86/timer.h \ - libavutil/attributes.h \ - libavutil/audio_fifo.h \ - libavutil/avassert.h \ - libavutil/avutil.h \ - libavutil/bswap.h \ - libavutil/common.h \ - libavutil/colorspace.h \ - libavutil/cpu.h \ - libavutil/cpu_internal.h \ - libavutil/dynarray.h \ - libavutil/ffmath.h \ - libavutil/fixed_dsp.h \ - libavutil/float_dsp.h \ - libavutil/imgutils.h \ - libavutil/imgutils_internal.h \ - libavutil/internal.h \ - libavutil/intfloat.h \ - libavutil/intreadwrite.h \ - libavutil/libm.h \ - libavutil/lls.h \ - libavutil/macros.h \ - libavutil/pixfmt.h \ - libavutil/qsort.h \ - libavutil/replaygain.h \ - libavutil/softfloat.h \ - libavutil/softfloat_tables.h \ - libavutil/thread.h \ - libavutil/timer.h \ - libavutil/timestamp.h \ - libavutil/tx_priv.h \ - libavutil/version.h \ - libswresample/swresample.h \ - libswresample/version.h \ - compat/va_copy.h \ - compat/atomics/gcc/stdatomic.h " - -manual_files=" libavcodec/aarch64/fft_neon.S \ - libavcodec/aarch64/h264pred_neon.S \ - libavcodec/aarch64/hpeldsp_neon.S \ - libavcodec/aarch64/mdct_neon.S \ - libavcodec/aarch64/neon.S \ - libavcodec/aarch64/vorbisdsp_neon.S \ - libavcodec/aarch64/vp8dsp_neon.S \ - libavcodec/x86/hpeldsp_rnd_template.c \ - libavcodec/x86/mdct15.asm \ - libavcodec/x86/mdct15_init.c \ - libavcodec/x86/rnd_template.c \ - libavcodec/x86/videodsp.asm \ - libavcodec/x86/videodsp_init.c \ - libavcodec/x86/vorbisdsp_init.c \ - libavcodec/autorename_libavcodec_mdct15.c \ - libavcodec/bit_depth_template.c \ - libavcodec/fft_template.c \ - libavcodec/flacdec.c \ - libavcodec/flacdsp.c \ - libavcodec/flacdsp_template.c \ - libavcodec/flacdsp_lpc_template.c \ - libavcodec/h264pred_template.c \ - libavcodec/hpel_template.c \ - libavcodec/hpeldsp.c \ - libavcodec/mdct15.c \ - libavcodec/mdct_template.c \ - libavcodec/pel_template.c \ - libavcodec/utils.c \ - libavcodec/videodsp.c \ - libavcodec/videodsp_template.c \ - libavcodec/vorbisdsp.c \ - libavcodec/vp3dsp.c \ - libavcodec/vp8dsp.c \ - libavformat/options.c \ - libavformat/pcm.c \ - libavformat/utils.c \ - libavutil/aarch64/asm.S \ - libavutil/aarch64/bswap.h \ - libavutil/aarch64/cpu.c \ - libavutil/aarch64/float_dsp_neon.S \ - libavutil/aarch64/timer.h \ - libavutil/cpu.c \ - libavutil/fixed_dsp.c \ - libavutil/float_dsp.c \ - libavutil/imgutils.c \ - libavutil/tx_template.c \ - libavutil/x86/cpu.c \ - libavutil/x86/float_dsp_init.c \ - libavutil/x86/x86inc.asm \ - libavutil/x86/x86util.asm " - -mp3_files=" libavcodec/aarch64/aacpsdsp_init_aarch64.c \ - libavcodec/aarch64/aacpsdsp_neon.S \ - libavcodec/aarch64/autorename_libavcodec_aarch64_aacpsdsp_neon.S \ - libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S \ - libavcodec/aarch64/mpegaudiodsp_init.c \ - libavcodec/aarch64/mpegaudiodsp_neon.S \ - libavcodec/aarch64/sbrdsp_init_aarch64.c \ - libavcodec/aarch64/sbrdsp_neon.S \ - libavcodec/aac_ac3_parser.c \ - libavcodec/aac_parser.c \ - libavcodec/aacps_float.c \ - libavcodec/aacpsdsp_float.c \ - libavcodec/aacsbr.c \ - libavcodec/aactab.c \ - libavcodec/ac3tab.c \ - libavcodec/autorename_libavcodec_aacdec.c \ - libavcodec/autorename_libavcodec_mpegaudiodsp.c \ - libavcodec/autorename_libavcodec_sbrdsp.c \ - libavcodec/cbrt_data.c \ - libavcodec/dct.c \ - libavcodec/dct32_fixed.c \ - libavcodec/dct32_float.c \ - libavcodec/dct32_template.c \ - libavcodec/kbdwin.c \ - libavcodec/mpegaudio.c \ - libavcodec/mpegaudio_parser.c \ - libavcodec/mpegaudiodec_fixed.c \ - libavcodec/mpegaudiodec_template.c \ - libavcodec/mpegaudiodecheader.c \ - libavcodec/mpegaudiodsp.c \ - libavcodec/mpegaudiodsp_data.c \ - libavcodec/mpegaudiodsp_fixed.c \ - libavcodec/mpegaudiodsp_float.c \ - libavcodec/mpegaudiodsp_template.c \ - libavcodec/sbrdsp.c \ - libavcodec/sbrdsp_template.c \ - libavcodec/sinewin.c \ - libavcodec/sinewin_fixed.c \ - libavcodec/x86/dct_init.c \ - libavcodec/x86/dct32.asm \ - libavcodec/x86/imdct36.asm \ - libavcodec/x86/mpegaudiodsp.c \ - libavcodec/x86/sbrdsp_init.c \ - libavcodec/x86/sbrdsp.asm \ - libavformat/aacdec.c \ - libavformat/apetag.c \ - libavformat/img2.c \ - libavformat/mov.c \ - libavformat/mov_chan.c \ - libavformat/mp3dec.c " - -other_files=" BUILD.gn \ - Changelog \ - COPYING.GPLv2 \ - COPYING.GPLv3 \ - COPYING.LGPLv2.1 \ - COPYING.LGPLv3 \ - CREDITS \ - CREDITS.chromium \ - ffmpeg_generated.gni \ - ffmpeg_options.gni \ - INSTALL.md \ - LICENSE.md \ - MAINTAINERS \ - OWNERS \ - README.chromium \ - README.md \ - RELEASE " - -cd "$1/third_party/ffmpeg" || exit 1 - -copy_files "$generated_files" 0 -copy_files "$generated_files_headers" 0 -copy_files "$manual_files" 1 -copy_files "$other_files" 1 -copy_files "$header_files" 1 -copy_files "$mp3_files" 1 - -mkdir -p ../tmp_ffmpeg/tmp_chromium/config -cp -r chromium/config ../tmp_ffmpeg/tmp_chromium - -cd ../tmp_ffmpeg || exit 1 - -while IFS= read -r -d '' tmp_directory -do - new_name=${tmp_directory//tmp_/} - mv "$tmp_directory" "$new_name" -done < <(find . -type d -name 'tmp_*' -print0) - -cd "$where" || exit 1 - -rm -rf "$1/third_party/ffmpeg" -mv "$1/third_party/tmp_ffmpeg" "$1/third_party/ffmpeg" diff --git a/depot_tools.git-master.tar.gz b/depot_tools.git-master.tar.gz deleted file mode 100644 index 8ca263557214f928278c4d3254728a91717115f1..0000000000000000000000000000000000000000 Binary files a/depot_tools.git-master.tar.gz and /dev/null differ diff --git a/esbuild.tar.gz b/esbuild.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9d2965e7f76a9ba3207799c3d55fead82cc1366b Binary files /dev/null and b/esbuild.tar.gz differ diff --git a/chromium-71.0.3578.98-widevine-r3.patch b/fix_building_widevinecdm_with_chromium.patch similarity index 34% rename from chromium-71.0.3578.98-widevine-r3.patch rename to fix_building_widevinecdm_with_chromium.patch index 06b5c7b35b97a208d1af971cd652cc665980a57c..24f3d5e5b52a95267726858e8952ef984e888dbf 100644 --- a/chromium-71.0.3578.98-widevine-r3.patch +++ b/fix_building_widevinecdm_with_chromium.patch @@ -1,10 +1,11 @@ -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-21 20:18:01.000000000 +0000 -+++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-21 21:37:45.635374949 +0000 -@@ -12,4 +12,6 @@ +Index: chromium-79.0.3941.4/third_party/widevine/cdm/widevine_cdm_version.h +=================================================================== +--- chromium-79.0.3941.4.orig/third_party/widevine/cdm/widevine_cdm_version.h ++++ chromium-79.0.3941.4/third_party/widevine/cdm/widevine_cdm_version.h +@@ -11,5 +11,6 @@ + // If the Widevine CDM is available define the following: // - 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_ diff --git a/gelasio.zip b/gelasio.zip deleted file mode 100644 index fff8ef0b0a80000b9a92de7ad2b576723eae4917..0000000000000000000000000000000000000000 Binary files a/gelasio.zip and /dev/null differ diff --git a/get_free_ffmpeg_source_files.py b/get_free_ffmpeg_source_files.py deleted file mode 100755 index d5e690fe0e1091fc0c3c109bfdab158be205349f..0000000000000000000000000000000000000000 --- a/get_free_ffmpeg_source_files.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/python3 -# Copyright 2015 Tomas Popela -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -import sys -import re - -def append_sources(input_sources, output_sources): - - # Get the source files. - source_files = re.findall(r"\"(.*?)\"", input_sources) - output_sources += source_files - - -def parse_sources(input_sources, output_sources, arch_not_arm): - - # Get the type of sources in one group and sources itself in the other one. - blocks = re.findall(r"(ffmpeg[^\s]*).*?\[(.*?)]", input_sources, re.DOTALL) - for block in blocks: - if (arch_not_arm): - if not 'ffmpeg_gas_sources' in block[0]: - append_sources(block[1], output_sources) - else: - append_sources(block[1], output_sources) - - -def parse_ffmpeg_gni_file(gni_path, arch_not_arm): - - with open(gni_path, "r") as input_file: - content = input_file.read().replace('\n', '') - - output_sources = [] - # Get all the sections. - sections = re.findall(r"if (.*?})", content, re.DOTALL) - for section in sections: - # Get all the conditions (first group) and sources (second group) for the - # current section. - blocks = re.findall(r"(\(.*?\))\s\{(.*?)\}", section, re.DOTALL) - for block in blocks: - conditions = re.findall(r"\(?\((.*?)\)", block[0]) - inserted = False - for condition in conditions: - if inserted: - break - limitations = ['ffmpeg_branding == "Chrome"', 'ffmpeg_branding == "ChromeOS"'] - if ('use_linux_config' in condition) and not any(limitation in condition for limitation in limitations): - if (arch_not_arm): - if ('x64' in condition) or ('x86' in condition) or ('use_linux_config' in condition): - parse_sources(block[1], output_sources, arch_not_arm) - inserted = True - else: - parse_sources(block[1], output_sources, arch_not_arm) - inserted = True - - if len(output_sources) == 0: - sys.stderr.write("Something went wrong, no sources parsed!\n") - sys.exit(1) - - print(' '.join(output_sources)) - - -if __name__ == "__main__": - - path = "%s/third_party/ffmpeg/ffmpeg_generated.gni" % sys.argv[1] - parse_ffmpeg_gni_file(path, False if sys.argv[2] == "0" else True) diff --git a/get_linux_tests_names.py b/get_linux_tests_names.py deleted file mode 100755 index 08a913a77a496b29a7afc040aaa771939408eec7..0000000000000000000000000000000000000000 --- a/get_linux_tests_names.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/python -# Copyright 2015 Tomas Popela -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -try: - import argparse - optparse = False -except ImportError: - from optparse import OptionParser - optparse = True -import locale -import simplejson as json -import sys -import os - -if __name__ == "__main__": - - added = [] - - # Create the parser object - if optparse: - parser = OptionParser() - parser_add_argument = parser.add_option - else: - parser = argparse.ArgumentParser() - parser_add_argument = parser.add_argument - - parser_add_argument( - '--check', - help='Check the tests against given SPEC file') - parser_add_argument( - '--spec', action='store_true', - help='Prints the test targets in format suitable for SPEC file') - parser_add_argument( - 'path', nargs='?', default=os.getcwd(), - help='Path to Chromium sources') - - # Parse the args - if optparse: - args, options = parser.parse_args() - else: - args = parser.parse_args() - - tests_path = "%s/testing/buildbot/chromium.linux.json" % args.path - - try: - with open(tests_path, "r") as input_file: - json_file = json.load(input_file) - except IOError: - print "Cannot find JSON file with tests in path '%s'!" % args.path - sys.exit(1) - - - for test in json_file['Linux Tests']['gtest_tests']: - if isinstance(test, dict): - added.append(test['test']) - else: - added.append(test) - - if args.check: - removed = [] - disabled = [] - in_tests = False - spec_file = None - - with open(args.check) as f: - for line in f: - if "CHROMIUM_BROWSER_UNIT_TESTS=" in line: - in_tests = True - continue - - if in_tests and line.endswith('"\n'): - break - - if in_tests: - found = False - for test in added: - if test in line: - if "#" in line: - disabled.append(test) - added.remove(test) - found = True - break - if not found: - if not "%" in line: - removed.append(line) - - for test in removed: - print "REMOVED" - print "\t" + test; - for test in added: - print "ADDED" - print "\t" + test; - for test in disabled: - print "DISABLED" - print "\t" + test; - - sys.exit(0) - - for name in added: - if args.spec: - print "\t" + name + " \\" - else: - print name diff --git a/master_preferences b/master_preferences index ae0e5d23908b8af1c317d16cd8c988d46b9dfe47..2740e6a5fdbb352d4ca4c37b883c04e42c1a75ae 100644 --- a/master_preferences +++ b/master_preferences @@ -1,17 +1,26 @@ { - "homepage": "https://openeuler.org", - "homepage_is_newtabpage": false, "distribution": { + "skip_first_run_ui": true, "alternate_shortcut_text": false, "oem_bubble": true, "chrome_shortcut_icon_index": 0, "create_all_shortcuts": true, "show_welcome_page": true, + "make_chrome_default": false, + "make_chrome_default_for_user": false, "system_level": false, "verbose_logging": false }, + "download": {}, + "browser": { + "show_home_button": true, + "check_default_browser": false, + "custom_chrome_frame": true + }, "first_run_tabs": [ - "https://openeuler.org", - "http://tools.google.com/chrome/intl/en/welcome.html" - ] + "https://www.openeuler.org/", + "https://www.google.cn/chrome/" + ], + "homepage": "https://www.openeuler.org/", + "homepage_is_newtabpage": false } diff --git a/openEuler-chromium87-kunpeng-aarch64-PAGE_SIZE-64.patch b/openEuler-chromium87-kunpeng-aarch64-PAGE_SIZE-64.patch deleted file mode 100644 index 10748a658305ebefe3c03f49606ce1f6769f7a70..0000000000000000000000000000000000000000 --- a/openEuler-chromium87-kunpeng-aarch64-PAGE_SIZE-64.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --git a/base/allocator/partition_allocator/page_allocator_constants.h b/base/allocator/partition_allocator/page_allocator_constants.h -index e4b980d..dfd36f9 100644 ---- a/base/allocator/partition_allocator/page_allocator_constants.h -+++ b/base/allocator/partition_allocator/page_allocator_constants.h -@@ -41,7 +41,7 @@ namespace { - #if !defined(OS_APPLE) - - constexpr ALWAYS_INLINE int PageAllocationGranularityShift() { --#if defined(OS_WIN) || defined(ARCH_CPU_PPC64) -+#if defined(OS_WIN) || defined(ARCH_CPU_PPC64) || defined(ARCH_ARM64_PAGESIZE_64K) - // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page - // sizes. Since 64kB is the de facto standard on the platform and binaries - // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice -diff --git a/base/allocator/partition_allocator/partition_alloc_constants.h b/base/allocator/partition_allocator/partition_alloc_constants.h -index e332140..f01e59b 100644 ---- a/base/allocator/partition_allocator/partition_alloc_constants.h -+++ b/base/allocator/partition_allocator/partition_alloc_constants.h -@@ -52,7 +52,7 @@ PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE int - PartitionPageShift() { - return 16; // 64 KiB - } --#elif defined(ARCH_CPU_PPC64) -+#elif defined(ARCH_CPU_PPC64) || defined(ARCH_ARM64_PAGESIZE_64K) - PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE int - PartitionPageShift() { - return 18; // 256 KiB -diff --git a/third_party/blink/renderer/platform/heap/heap_page.h b/third_party/blink/renderer/platform/heap/heap_page.h -index 98abc6b..de6ceea 100644 ---- a/third_party/blink/renderer/platform/heap/heap_page.h -+++ b/third_party/blink/renderer/platform/heap/heap_page.h -@@ -70,7 +70,7 @@ constexpr size_t kBlinkPageBaseMask = ~kBlinkPageOffsetMask; - constexpr size_t kBlinkPagesPerRegion = 10; - - // TODO(nya): Replace this with something like #if ENABLE_NACL. --#if defined(ARCH_CPU_PPC64) -+#if defined(ARCH_CPU_PPC64) || defined(ARCH_ARM64_PAGESIZE_64K) - // NaCl's system page size is 64 KiB. This causes a problem in Oilpan's heap - // layout because Oilpan allocates two guard pages for each Blink page (whose - // size is kBlinkPageSize = 2^17 = 128 KiB). So we don't use guard pages in -diff --git a/tools/gn/src/util/build_config.h b/tools/gn/src/util/build_config.h -index 717b4e3..7c8985c 100644 ---- a/tools/gn/src/util/build_config.h -+++ b/tools/gn/src/util/build_config.h -@@ -137,6 +137,7 @@ - #define ARCH_CPU_ARM64 1 - #define ARCH_CPU_64_BITS 1 - #define ARCH_CPU_LITTLE_ENDIAN 1 -+#define ARCH_ARM64_PAGESIZE_64K 1 - #elif defined(__pnacl__) || defined(__asmjs__) - #define ARCH_CPU_32_BITS 1 - #define ARCH_CPU_LITTLE_ENDIAN 1 -diff --git a/v8/src/base/platform/platform-posix.cc b/v8/src/base/platform/platform-posix.cc -index 89173b5..6ce9338 100644 ---- a/v8/src/base/platform/platform-posix.cc -+++ b/v8/src/base/platform/platform-posix.cc -@@ -296,7 +296,12 @@ void* OS::GetRandomMmapAddr() { - // Currently available CPUs have 48 bits of virtual addressing. Truncate - // the hint address to 46 bits to give the kernel a fighting chance of - // fulfilling our placement request. -- raw_addr &= uint64_t{0x3FFFFFFFF000}; -+#if V8_ARM64_PAGESIZE_64K -+ raw_addr &= uint64_t{0x3FFFFFFF0000}; -+#else -+ raw_addr &= uint64_t{0x3FFFFFFFF000}; -+#endif -+ - #elif V8_TARGET_ARCH_PPC64 - #if V8_OS_AIX - // AIX: 64 bits of virtual addressing, but we limit address range to: -diff --git a/v8/src/base/build_config.h b/v8/src/base/build_config.h -index ad287c9..237fea5 100644 ---- a/v8/src/base/build_config.h -+++ b/v8/src/base/build_config.h -@@ -24,6 +24,7 @@ - #elif defined(__AARCH64EL__) || defined(_M_ARM64) - #define V8_HOST_ARCH_ARM64 1 - #define V8_HOST_ARCH_64_BIT 1 -+#define V8_ARM64_PAGESIZE_64K 1 - #elif defined(__ARMEL__) - #define V8_HOST_ARCH_ARM 1 - #define V8_HOST_ARCH_32_BIT 1 diff --git a/riscv.patch b/riscv.patch new file mode 100644 index 0000000000000000000000000000000000000000..224ba403da0c0eb0cfb97f11c0522ed620b71292 --- /dev/null +++ b/riscv.patch @@ -0,0 +1,2175 @@ +Index: chromium-119.0.6045.123/build/nocompile.gni +=================================================================== +--- chromium-119.0.6045.123.orig/build/nocompile.gni ++++ chromium-119.0.6045.123/build/nocompile.gni +@@ -57,7 +57,7 @@ if (is_win) { + declare_args() { + enable_nocompile_tests = (is_linux || is_chromeos || is_apple || is_win) && + is_clang && host_cpu == target_cpu +- enable_nocompile_tests_new = is_clang && !is_nacl ++ enable_nocompile_tests_new = is_clang && !is_nacl && false + } + + if (enable_nocompile_tests_new) { +Index: chromium-117.0.5938.132/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h ++++ chromium-117.0.5938.132/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +@@ -56,6 +56,13 @@ + #define MAX_PUBLIC_SYSCALL __NR_syscalls + #define MAX_SYSCALL MAX_PUBLIC_SYSCALL + ++#elif defined(__riscv) ++ ++#include ++#define MIN_SYSCALL 0u ++#define MAX_PUBLIC_SYSCALL __NR_syscalls ++#define MAX_SYSCALL MAX_PUBLIC_SYSCALL ++ + #else + #error "Unsupported architecture" + #endif +Index: chromium-117.0.5938.132/sandbox/linux/bpf_dsl/seccomp_macros.h +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/bpf_dsl/seccomp_macros.h ++++ chromium-117.0.5938.132/sandbox/linux/bpf_dsl/seccomp_macros.h +@@ -343,6 +343,48 @@ struct regs_struct { + #define SECCOMP_PT_PARM4(_regs) (_regs).regs[3] + #define SECCOMP_PT_PARM5(_regs) (_regs).regs[4] + #define SECCOMP_PT_PARM6(_regs) (_regs).regs[5] ++ ++#elif defined(__riscv) ++struct regs_struct { ++ unsigned long regs[32]; ++}; ++ ++#define SECCOMP_ARCH AUDIT_ARCH_RISCV64 ++ ++#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.__gregs[_reg]) ++ ++#define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, REG_A0) ++#define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, REG_A0+7) ++#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.__gregs[REG_PC] ++#define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, REG_A0) ++#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, REG_A0+1) ++#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, REG_A0+2) ++#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, REG_A0+3) ++#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, REG_A0+4) ++#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, REG_A0+5) ++#define SECCOMP_PARM7(_ctx) SECCOMP_REG(_ctx, REG_A0+6) ++ ++#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr)) ++#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch)) ++#define SECCOMP_IP_MSB_IDX \ ++ (offsetof(struct arch_seccomp_data, instruction_pointer) + 4) ++#define SECCOMP_IP_LSB_IDX \ ++ (offsetof(struct arch_seccomp_data, instruction_pointer) + 0) ++#define SECCOMP_ARG_MSB_IDX(nr) \ ++ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 4) ++#define SECCOMP_ARG_LSB_IDX(nr) \ ++ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 0) ++ ++#define SECCOMP_PT_RESULT(_regs) (_regs).regs[REG_A0] ++#define SECCOMP_PT_SYSCALL(_regs) (_regs).regs[REG_A0+7] ++#define SECCOMP_PT_IP(_regs) (_regs).regs[REG_PC] ++#define SECCOMP_PT_PARM1(_regs) (_regs).regs[REG_A0] ++#define SECCOMP_PT_PARM2(_regs) (_regs).regs[REG_A0+1] ++#define SECCOMP_PT_PARM3(_regs) (_regs).regs[REG_A0+2] ++#define SECCOMP_PT_PARM4(_regs) (_regs).regs[REG_A0+3] ++#define SECCOMP_PT_PARM5(_regs) (_regs).regs[REG_A0+4] ++#define SECCOMP_PT_PARM6(_regs) (_regs).regs[REG_A0+5] ++#define SECCOMP_PT_PARM7(_regs) (_regs).regs[REG_A0+6] + #else + #error Unsupported target platform + +Index: chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ++++ chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +@@ -60,6 +60,9 @@ bool IsBaselinePolicyAllowed(int sysno) + #if defined(__mips__) + SyscallSets::IsMipsPrivate(sysno) || + #endif ++#if defined(__riscv) ++ SyscallSets::IsRiscvPrivate(sysno) || ++#endif + SyscallSets::IsAllowedOperationOnFd(sysno); + // clang-format on + } +@@ -193,7 +196,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de + return RestrictFcntlCommands(); + #endif + +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + // fork() is never used as a system call (clone() is used instead), but we + // have seen it in fallback code on Android. + if (sysno == __NR_fork) { +@@ -255,7 +258,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de + } + + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + if (sysno == __NR_mmap) + return RestrictMmapFlags(); + #endif +@@ -276,7 +279,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de + return RestrictPrctl(); + + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + if (sysno == __NR_socketpair) { + // Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen. + static_assert(AF_UNIX == PF_UNIX, +@@ -366,7 +369,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de + // Allow creating pipes, but don't allow weird flags to pipe2(). + // O_NOTIFICATION_PIPE (== O_EXCL) can be used to create + // "notification pipes", which are rarely used. +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + if (sysno == __NR_pipe) { + return Allow(); + } +Index: chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ++++ chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +@@ -37,6 +37,7 @@ + + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ + !defined(__arm__) && !defined(__aarch64__) && \ ++ !defined(__riscv) && \ + !defined(PTRACE_GET_THREAD_AREA) + // Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance + // the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA. +@@ -449,8 +450,10 @@ ResultExpr RestrictPtrace() { + #endif + return Switch(request) + .Cases({ +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA, ++#endif ++#if !defined(__aarch64__) + PTRACE_GETREGSET, + #endif + #if defined(__arm__) +Index: chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc ++++ chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +@@ -103,7 +103,7 @@ bool SyscallSets::IsUmask(int sysno) { + // Both EPERM and ENOENT are valid errno unless otherwise noted in comment. + bool SyscallSets::IsFileSystem(int sysno) { + switch (sysno) { +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_access: // EPERM not a valid errno. + case __NR_chmod: + case __NR_chown: +@@ -136,7 +136,7 @@ bool SyscallSets::IsFileSystem(int sysno + case __NR_faccessat2: + case __NR_fchmodat: + case __NR_fchownat: // Should be called chownat ? +-#if defined(__x86_64__) || defined(__aarch64__) ++#if defined(__x86_64__) || defined(__aarch64__) || defined(__riscv) + case __NR_newfstatat: // fstatat(). EPERM not a valid errno. + #elif defined(__i386__) || defined(__arm__) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) +@@ -241,7 +241,7 @@ bool SyscallSets::IsAllowedFileSystemAcc + case __NR_oldfstat: + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_sync_file_range: // EPERM not a valid errno. + #elif defined(__arm__) + case __NR_arm_sync_file_range: // EPERM not a valid errno. +@@ -260,7 +260,7 @@ bool SyscallSets::IsDeniedFileSystemAcce + #if defined(__i386__) || defined(__arm__) + case __NR_fchown32: + #endif +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_getdents: // EPERM not a valid errno. + #endif + case __NR_getdents64: // EPERM not a valid errno. +@@ -339,7 +339,7 @@ bool SyscallSets::IsProcessPrivilegeChan + bool SyscallSets::IsProcessGroupOrSession(int sysno) { + switch (sysno) { + case __NR_setpgid: +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_getpgrp: + #endif + case __NR_setsid: +@@ -373,7 +373,7 @@ bool SyscallSets::IsAllowedSignalHandlin + case __NR_rt_sigqueueinfo: + case __NR_rt_sigsuspend: + case __NR_rt_tgsigqueueinfo: +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_signalfd: + #endif + case __NR_signalfd4: +@@ -397,12 +397,12 @@ bool SyscallSets::IsAllowedOperationOnFd + switch (sysno) { + case __NR_close: + case __NR_dup: +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_dup2: + #endif + case __NR_dup3: + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_shutdown: + #endif + return true; +@@ -441,7 +441,7 @@ bool SyscallSets::IsAllowedProcessStartO + return true; + case __NR_clone: // Should be parameter-restricted. + case __NR_setns: // Privileged. +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_fork: + #endif + #if defined(__i386__) || defined(__x86_64__) +@@ -452,7 +452,7 @@ bool SyscallSets::IsAllowedProcessStartO + #endif + case __NR_set_tid_address: + case __NR_unshare: +-#if !defined(__mips__) && !defined(__aarch64__) ++#if !defined(__mips__) && !defined(__aarch64__) && !defined(__riscv) + case __NR_vfork: + #endif + default: +@@ -477,7 +477,7 @@ bool SyscallSets::IsAllowedFutex(int sys + + bool SyscallSets::IsAllowedEpoll(int sysno) { + switch (sysno) { +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_epoll_create: + case __NR_epoll_wait: + #endif +@@ -499,7 +499,7 @@ bool SyscallSets::IsAllowedEpoll(int sys + bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) { + switch (sysno) { + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_accept: + case __NR_accept4: + case __NR_bind: +@@ -553,7 +553,7 @@ bool SyscallSets::IsAllowedAddressSpaceA + case __NR_mincore: + case __NR_mlockall: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_mmap: + #endif + #if defined(__i386__) || defined(__arm__) || \ +@@ -586,7 +586,7 @@ bool SyscallSets::IsAllowedGeneralIo(int + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) + case __NR__llseek: + #endif +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_poll: + #endif + case __NR_ppoll: +@@ -607,7 +607,7 @@ bool SyscallSets::IsAllowedGeneralIo(int + case __NR_recv: + #endif + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_recvfrom: // Could specify source. + case __NR_recvmsg: // Could specify source. + #endif +@@ -622,7 +622,7 @@ bool SyscallSets::IsAllowedGeneralIo(int + case __NR_send: + #endif + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_sendmsg: // Could specify destination. + case __NR_sendto: // Could specify destination. + #endif +@@ -671,7 +671,7 @@ bool SyscallSets::IsSeccomp(int sysno) { + bool SyscallSets::IsAllowedBasicScheduler(int sysno) { + switch (sysno) { + case __NR_sched_yield: +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_pause: + #endif + case __NR_nanosleep: +@@ -755,7 +755,7 @@ bool SyscallSets::IsNuma(int sysno) { + case __NR_getcpu: + case __NR_mbind: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_migrate_pages: + #endif + case __NR_move_pages: +@@ -790,7 +790,7 @@ bool SyscallSets::IsGlobalProcessEnviron + switch (sysno) { + case __NR_acct: // Privileged. + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_getrlimit: + #endif + #if defined(__i386__) || defined(__arm__) +@@ -825,7 +825,7 @@ bool SyscallSets::IsDebug(int sysno) { + + bool SyscallSets::IsGlobalSystemStatus(int sysno) { + switch (sysno) { +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR__sysctl: + case __NR_sysfs: + #endif +@@ -843,7 +843,7 @@ bool SyscallSets::IsGlobalSystemStatus(i + + bool SyscallSets::IsEventFd(int sysno) { + switch (sysno) { +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_eventfd: + #endif + case __NR_eventfd2: +@@ -895,6 +895,7 @@ bool SyscallSets::IsKeyManagement(int sy + } + + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ ++ defined(__riscv) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) + bool SyscallSets::IsSystemVSemaphores(int sysno) { + switch (sysno) { +@@ -914,7 +915,7 @@ bool SyscallSets::IsSystemVSemaphores(in + #endif + + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ +- defined(__aarch64__) || \ ++ defined(__aarch64__) || defined(__riscv) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) + // These give a lot of ambient authority and bypass the setuid sandbox. + bool SyscallSets::IsSystemVSharedMemory(int sysno) { +@@ -931,6 +932,7 @@ bool SyscallSets::IsSystemVSharedMemory( + #endif + + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ ++ defined(__riscv) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) + bool SyscallSets::IsSystemVMessageQueue(int sysno) { + switch (sysno) { +@@ -962,6 +964,7 @@ bool SyscallSets::IsSystemVIpc(int sysno + + bool SyscallSets::IsAnySystemV(int sysno) { + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ ++ defined(__riscv) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) + return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) || + IsSystemVSharedMemory(sysno); +@@ -999,7 +1002,7 @@ bool SyscallSets::IsAdvancedScheduler(in + bool SyscallSets::IsInotify(int sysno) { + switch (sysno) { + case __NR_inotify_add_watch: +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_inotify_init: + #endif + case __NR_inotify_init1: +@@ -1137,7 +1140,7 @@ bool SyscallSets::IsMisc(int sysno) { + #if defined(__x86_64__) + case __NR_tuxcall: + #endif +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_vserver: + #endif + return true; +@@ -1196,6 +1199,17 @@ bool SyscallSets::IsMipsMisc(int sysno) + } + #endif // defined(__mips__) + ++#if defined(__riscv) ++bool SyscallSets::IsRiscvPrivate(int sysno) { ++ switch (sysno) { ++ case __NR_riscv_flush_icache: ++ return true; ++ default: ++ return false; ++ } ++} ++#endif // defined(__riscv) ++ + bool SyscallSets::IsGoogle3Threading(int sysno) { + switch (sysno) { + case __NR_getitimer: +Index: chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h ++++ chromium-117.0.5938.132/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h +@@ -52,7 +52,7 @@ class SANDBOX_EXPORT SyscallSets { + #endif + + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + static bool IsNetworkSocketInformation(int sysno); + #endif + +@@ -79,18 +79,21 @@ class SANDBOX_EXPORT SyscallSets { + static bool IsAsyncIo(int sysno); + static bool IsKeyManagement(int sysno); + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__riscv) + static bool IsSystemVSemaphores(int sysno); + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ + defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__riscv) + // These give a lot of ambient authority and bypass the setuid sandbox. + static bool IsSystemVSharedMemory(int sysno); + #endif + + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__riscv) + static bool IsSystemVMessageQueue(int sysno); + #endif + +@@ -117,6 +120,9 @@ class SANDBOX_EXPORT SyscallSets { + static bool IsMipsPrivate(int sysno); + static bool IsMipsMisc(int sysno); + #endif // defined(__mips__) ++#if defined(__riscv) ++ static bool IsRiscvPrivate(int sysno); ++#endif + static bool IsGoogle3Threading(int sysno); + }; + +Index: chromium-117.0.5938.132/sandbox/linux/seccomp-bpf/syscall.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/seccomp-bpf/syscall.cc ++++ chromium-117.0.5938.132/sandbox/linux/seccomp-bpf/syscall.cc +@@ -18,7 +18,7 @@ namespace sandbox { + namespace { + + #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \ +- defined(ARCH_CPU_MIPS_FAMILY) ++ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_RISCV_FAMILY) + // Number that's not currently used by any Linux kernel ABIs. + const int kInvalidSyscallNumber = 0x351d3; + #else +@@ -308,6 +308,28 @@ asm(// We need to be able to tell the ke + "2:ret\n" + ".cfi_endproc\n" + ".size SyscallAsm, .-SyscallAsm\n" ++#elif defined(__riscv) ++ ".text\n" ++ ".align 2\n" ++ ".type SyscallAsm, %function\n" ++ "SyscallAsm:\n" ++ ".cfi_startproc\n" ++ "bgez a0,1f\n" ++ "lla a0,2f\n" ++ "j 2f\n" ++ "1:mv a7, a0\n" ++ "ld a0, (a1)\n" ++ "ld a2, 16(a1)\n" ++ "ld a3, 24(a1)\n" ++ "ld a4, 32(a1)\n" ++ "ld a5, 40(a1)\n" ++ "ld a6, 48(a1)\n" ++ "ld a1, 8(a1)\n" ++ // Enter the kernel ++ "scall\n" ++ "2:ret\n" ++ ".cfi_endproc\n" ++ ".size SyscallAsm, .-SyscallAsm\n" + #endif + ); // asm + +@@ -319,6 +341,10 @@ intptr_t SyscallAsm(intptr_t nr, const i + extern "C" { + intptr_t SyscallAsm(intptr_t nr, const intptr_t args[8]); + } ++#elif defined(__riscv) ++extern "C" { ++intptr_t SyscallAsm(intptr_t nr, const intptr_t args[7]); ++} + #endif + + } // namespace +@@ -351,6 +377,10 @@ intptr_t Syscall::Call(int nr, + // where that makes sense. + #if defined(__mips__) + const intptr_t args[8] = {p0, p1, p2, p3, p4, p5, p6, p7}; ++#elif defined(__riscv) ++ DCHECK_EQ(p7, 0) << " Support for syscalls with more than seven arguments " ++ "not added for this architecture"; ++ const intptr_t args[7] = {p0, p1, p2, p3, p4, p5, p6}; + #else + DCHECK_EQ(p6, 0) << " Support for syscalls with more than six arguments not " + "added for this architecture"; +@@ -425,6 +455,8 @@ intptr_t Syscall::Call(int nr, + ret = inout; + } + ++#elif defined(__riscv) ++ intptr_t ret = SyscallAsm(nr, args); + #else + #error "Unimplemented architecture" + #endif +Index: chromium-117.0.5938.132/sandbox/linux/services/credentials.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/services/credentials.cc ++++ chromium-117.0.5938.132/sandbox/linux/services/credentials.cc +@@ -80,7 +80,7 @@ bool ChrootToSafeEmptyDir() { + pid_t pid = -1; + alignas(16) char stack_buf[PTHREAD_STACK_MIN]; + #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \ +- defined(ARCH_CPU_MIPS_FAMILY) ++ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_RISCV_FAMILY) + // The stack grows downward. + void* stack = stack_buf + sizeof(stack_buf); + #else +Index: chromium-117.0.5938.132/sandbox/linux/services/syscall_wrappers.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/services/syscall_wrappers.cc ++++ chromium-117.0.5938.132/sandbox/linux/services/syscall_wrappers.cc +@@ -61,7 +61,7 @@ long sys_clone(unsigned long flags, + #if defined(ARCH_CPU_X86_64) + return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls); + #elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \ +- defined(ARCH_CPU_MIPS_FAMILY) ++ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_RISCV_FAMILY) + // CONFIG_CLONE_BACKWARDS defined. + return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid); + #endif +Index: chromium-117.0.5938.132/sandbox/linux/syscall_broker/broker_process.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/syscall_broker/broker_process.cc ++++ chromium-117.0.5938.132/sandbox/linux/syscall_broker/broker_process.cc +@@ -122,44 +122,46 @@ bool BrokerProcess::IsSyscallBrokerable( + // and are default disabled in Android. So, we should refuse to broker them + // to be consistent with the platform's restrictions. + switch (sysno) { +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_access: + #endif + case __NR_faccessat: + case __NR_faccessat2: + return !fast_check || policy_->allowed_command_set.test(COMMAND_ACCESS); + +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_mkdir: + #endif + case __NR_mkdirat: + return !fast_check || policy_->allowed_command_set.test(COMMAND_MKDIR); + +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_open: + #endif + case __NR_openat: + return !fast_check || policy_->allowed_command_set.test(COMMAND_OPEN); + +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_readlink: + #endif + case __NR_readlinkat: + return !fast_check || policy_->allowed_command_set.test(COMMAND_READLINK); + +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_rename: + #endif ++#ifdef __NR_renameat + case __NR_renameat: ++#endif + case __NR_renameat2: + return !fast_check || policy_->allowed_command_set.test(COMMAND_RENAME); + +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_rmdir: + return !fast_check || policy_->allowed_command_set.test(COMMAND_RMDIR); + #endif + +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_stat: + case __NR_lstat: + #endif +@@ -169,7 +171,7 @@ bool BrokerProcess::IsSyscallBrokerable( + #if defined(__NR_fstatat64) + case __NR_fstatat64: + #endif +-#if defined(__x86_64__) || defined(__aarch64__) ++#if defined(__x86_64__) || defined(__aarch64__) || defined(__riscv) + case __NR_newfstatat: + #endif + return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT); +@@ -184,7 +186,7 @@ bool BrokerProcess::IsSyscallBrokerable( + return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT); + #endif + +-#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) ++#if !defined(__aarch64__) && !BUILDFLAG(IS_ANDROID) && !defined(__riscv) + case __NR_unlink: + return !fast_check || policy_->allowed_command_set.test(COMMAND_UNLINK); + #endif +Index: chromium-117.0.5938.132/sandbox/linux/system_headers/linux_seccomp.h +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/system_headers/linux_seccomp.h ++++ chromium-117.0.5938.132/sandbox/linux/system_headers/linux_seccomp.h +@@ -39,6 +39,10 @@ + #define EM_AARCH64 183 + #endif + ++#ifndef EM_RISCV ++#define EM_RISCV 243 ++#endif ++ + #ifndef __AUDIT_ARCH_64BIT + #define __AUDIT_ARCH_64BIT 0x80000000 + #endif +@@ -71,6 +75,10 @@ + #define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE) + #endif + ++#ifndef AUDIT_ARCH_RISCV64 ++#define AUDIT_ARCH_RISCV64 (EM_RISCV|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) ++#endif ++ + // For prctl.h + #ifndef PR_SET_SECCOMP + #define PR_SET_SECCOMP 22 +Index: chromium-117.0.5938.132/sandbox/linux/system_headers/linux_signal.h +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/system_headers/linux_signal.h ++++ chromium-117.0.5938.132/sandbox/linux/system_headers/linux_signal.h +@@ -13,7 +13,7 @@ + // (not undefined, but defined different values and in different memory + // layouts). So, fill the gap here. + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + + #define LINUX_SIGHUP 1 + #define LINUX_SIGINT 2 +Index: chromium-117.0.5938.132/sandbox/linux/system_headers/linux_stat.h +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/system_headers/linux_stat.h ++++ chromium-117.0.5938.132/sandbox/linux/system_headers/linux_stat.h +@@ -150,7 +150,7 @@ struct kernel_stat { + int st_blocks; + int st_pad4[14]; + }; +-#elif defined(__aarch64__) ++#elif defined(__aarch64__) || defined(__riscv) + struct kernel_stat { + unsigned long st_dev; + unsigned long st_ino; +Index: chromium-117.0.5938.132/sandbox/linux/system_headers/linux_syscalls.h +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/linux/system_headers/linux_syscalls.h ++++ chromium-117.0.5938.132/sandbox/linux/system_headers/linux_syscalls.h +@@ -35,5 +35,9 @@ + #include "sandbox/linux/system_headers/arm64_linux_syscalls.h" + #endif + ++#if defined(__riscv) && __riscv_xlen == 64 ++#include "sandbox/linux/system_headers/riscv64_linux_syscalls.h" ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ + +Index: chromium-117.0.5938.132/sandbox/linux/system_headers/riscv64_linux_syscalls.h +=================================================================== +--- /dev/null ++++ chromium-117.0.5938.132/sandbox/linux/system_headers/riscv64_linux_syscalls.h +@@ -0,0 +1,1222 @@ ++// Copyright 2014 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_RISCV64_LINUX_SYSCALLS_H_ ++#define SANDBOX_LINUX_SYSTEM_HEADERS_RISCV64_LINUX_SYSCALLS_H_ ++ ++#include ++ ++#if !defined(__NR_io_setup) ++#define __NR_io_setup 0 ++#endif ++ ++#if !defined(__NR_io_destroy) ++#define __NR_io_destroy 1 ++#endif ++ ++#if !defined(__NR_io_submit) ++#define __NR_io_submit 2 ++#endif ++ ++#if !defined(__NR_io_cancel) ++#define __NR_io_cancel 3 ++#endif ++ ++#if !defined(__NR_io_getevents) ++#define __NR_io_getevents 4 ++#endif ++ ++#if !defined(__NR_setxattr) ++#define __NR_setxattr 5 ++#endif ++ ++#if !defined(__NR_lsetxattr) ++#define __NR_lsetxattr 6 ++#endif ++ ++#if !defined(__NR_fsetxattr) ++#define __NR_fsetxattr 7 ++#endif ++ ++#if !defined(__NR_getxattr) ++#define __NR_getxattr 8 ++#endif ++ ++#if !defined(__NR_lgetxattr) ++#define __NR_lgetxattr 9 ++#endif ++ ++#if !defined(__NR_fgetxattr) ++#define __NR_fgetxattr 10 ++#endif ++ ++#if !defined(__NR_listxattr) ++#define __NR_listxattr 11 ++#endif ++ ++#if !defined(__NR_llistxattr) ++#define __NR_llistxattr 12 ++#endif ++ ++#if !defined(__NR_flistxattr) ++#define __NR_flistxattr 13 ++#endif ++ ++#if !defined(__NR_removexattr) ++#define __NR_removexattr 14 ++#endif ++ ++#if !defined(__NR_lremovexattr) ++#define __NR_lremovexattr 15 ++#endif ++ ++#if !defined(__NR_fremovexattr) ++#define __NR_fremovexattr 16 ++#endif ++ ++#if !defined(__NR_getcwd) ++#define __NR_getcwd 17 ++#endif ++ ++#if !defined(__NR_lookup_dcookie) ++#define __NR_lookup_dcookie 18 ++#endif ++ ++#if !defined(__NR_eventfd2) ++#define __NR_eventfd2 19 ++#endif ++ ++#if !defined(__NR_epoll_create1) ++#define __NR_epoll_create1 20 ++#endif ++ ++#if !defined(__NR_epoll_ctl) ++#define __NR_epoll_ctl 21 ++#endif ++ ++#if !defined(__NR_epoll_pwait) ++#define __NR_epoll_pwait 22 ++#endif ++ ++#if !defined(__NR_dup) ++#define __NR_dup 23 ++#endif ++ ++#if !defined(__NR_dup3) ++#define __NR_dup3 24 ++#endif ++ ++#if !defined(__NR_fcntl) ++#define __NR_fcntl 25 ++#endif ++ ++#if !defined(__NR_inotify_init1) ++#define __NR_inotify_init1 26 ++#endif ++ ++#if !defined(__NR_inotify_add_watch) ++#define __NR_inotify_add_watch 27 ++#endif ++ ++#if !defined(__NR_inotify_rm_watch) ++#define __NR_inotify_rm_watch 28 ++#endif ++ ++#if !defined(__NR_ioctl) ++#define __NR_ioctl 29 ++#endif ++ ++#if !defined(__NR_ioprio_set) ++#define __NR_ioprio_set 30 ++#endif ++ ++#if !defined(__NR_ioprio_get) ++#define __NR_ioprio_get 31 ++#endif ++ ++#if !defined(__NR_flock) ++#define __NR_flock 32 ++#endif ++ ++#if !defined(__NR_mknodat) ++#define __NR_mknodat 33 ++#endif ++ ++#if !defined(__NR_mkdirat) ++#define __NR_mkdirat 34 ++#endif ++ ++#if !defined(__NR_unlinkat) ++#define __NR_unlinkat 35 ++#endif ++ ++#if !defined(__NR_symlinkat) ++#define __NR_symlinkat 36 ++#endif ++ ++#if !defined(__NR_linkat) ++#define __NR_linkat 37 ++#endif ++ ++#if !defined(__NR_renameat) ++#define __NR_renameat 38 ++#endif ++ ++#if !defined(__NR_umount2) ++#define __NR_umount2 39 ++#endif ++ ++#if !defined(__NR_mount) ++#define __NR_mount 40 ++#endif ++ ++#if !defined(__NR_pivot_root) ++#define __NR_pivot_root 41 ++#endif ++ ++#if !defined(__NR_nfsservctl) ++#define __NR_nfsservctl 42 ++#endif ++ ++#if !defined(__NR_statfs) ++#define __NR_statfs 43 ++#endif ++ ++#if !defined(__NR_fstatfs) ++#define __NR_fstatfs 44 ++#endif ++ ++#if !defined(__NR_truncate) ++#define __NR_truncate 45 ++#endif ++ ++#if !defined(__NR_ftruncate) ++#define __NR_ftruncate 46 ++#endif ++ ++#if !defined(__NR_fallocate) ++#define __NR_fallocate 47 ++#endif ++ ++#if !defined(__NR_faccessat) ++#define __NR_faccessat 48 ++#endif ++ ++#if !defined(__NR_chdir) ++#define __NR_chdir 49 ++#endif ++ ++#if !defined(__NR_fchdir) ++#define __NR_fchdir 50 ++#endif ++ ++#if !defined(__NR_chroot) ++#define __NR_chroot 51 ++#endif ++ ++#if !defined(__NR_fchmod) ++#define __NR_fchmod 52 ++#endif ++ ++#if !defined(__NR_fchmodat) ++#define __NR_fchmodat 53 ++#endif ++ ++#if !defined(__NR_fchownat) ++#define __NR_fchownat 54 ++#endif ++ ++#if !defined(__NR_fchown) ++#define __NR_fchown 55 ++#endif ++ ++#if !defined(__NR_openat) ++#define __NR_openat 56 ++#endif ++ ++#if !defined(__NR_close) ++#define __NR_close 57 ++#endif ++ ++#if !defined(__NR_vhangup) ++#define __NR_vhangup 58 ++#endif ++ ++#if !defined(__NR_pipe2) ++#define __NR_pipe2 59 ++#endif ++ ++#if !defined(__NR_quotactl) ++#define __NR_quotactl 60 ++#endif ++ ++#if !defined(__NR_getdents64) ++#define __NR_getdents64 61 ++#endif ++ ++#if !defined(__NR_lseek) ++#define __NR_lseek 62 ++#endif ++ ++#if !defined(__NR_read) ++#define __NR_read 63 ++#endif ++ ++#if !defined(__NR_write) ++#define __NR_write 64 ++#endif ++ ++#if !defined(__NR_readv) ++#define __NR_readv 65 ++#endif ++ ++#if !defined(__NR_writev) ++#define __NR_writev 66 ++#endif ++ ++#if !defined(__NR_pread64) ++#define __NR_pread64 67 ++#endif ++ ++#if !defined(__NR_pwrite64) ++#define __NR_pwrite64 68 ++#endif ++ ++#if !defined(__NR_preadv) ++#define __NR_preadv 69 ++#endif ++ ++#if !defined(__NR_pwritev) ++#define __NR_pwritev 70 ++#endif ++ ++#if !defined(__NR_sendfile) ++#define __NR_sendfile 71 ++#endif ++ ++#if !defined(__NR_pselect6) ++#define __NR_pselect6 72 ++#endif ++ ++#if !defined(__NR_ppoll) ++#define __NR_ppoll 73 ++#endif ++ ++#if !defined(__NR_signalfd4) ++#define __NR_signalfd4 74 ++#endif ++ ++#if !defined(__NR_vmsplice) ++#define __NR_vmsplice 75 ++#endif ++ ++#if !defined(__NR_splice) ++#define __NR_splice 76 ++#endif ++ ++#if !defined(__NR_tee) ++#define __NR_tee 77 ++#endif ++ ++#if !defined(__NR_readlinkat) ++#define __NR_readlinkat 78 ++#endif ++ ++#if !defined(__NR_newfstatat) ++#define __NR_newfstatat 79 ++#endif ++ ++#if !defined(__NR_fstat) ++#define __NR_fstat 80 ++#endif ++ ++#if !defined(__NR_sync) ++#define __NR_sync 81 ++#endif ++ ++#if !defined(__NR_fsync) ++#define __NR_fsync 82 ++#endif ++ ++#if !defined(__NR_fdatasync) ++#define __NR_fdatasync 83 ++#endif ++ ++#if !defined(__NR_sync_file_range) ++#define __NR_sync_file_range 84 ++#endif ++ ++#if !defined(__NR_timerfd_create) ++#define __NR_timerfd_create 85 ++#endif ++ ++#if !defined(__NR_timerfd_settime) ++#define __NR_timerfd_settime 86 ++#endif ++ ++#if !defined(__NR_timerfd_gettime) ++#define __NR_timerfd_gettime 87 ++#endif ++ ++#if !defined(__NR_utimensat) ++#define __NR_utimensat 88 ++#endif ++ ++#if !defined(__NR_acct) ++#define __NR_acct 89 ++#endif ++ ++#if !defined(__NR_capget) ++#define __NR_capget 90 ++#endif ++ ++#if !defined(__NR_capset) ++#define __NR_capset 91 ++#endif ++ ++#if !defined(__NR_personality) ++#define __NR_personality 92 ++#endif ++ ++#if !defined(__NR_exit) ++#define __NR_exit 93 ++#endif ++ ++#if !defined(__NR_exit_group) ++#define __NR_exit_group 94 ++#endif ++ ++#if !defined(__NR_waitid) ++#define __NR_waitid 95 ++#endif ++ ++#if !defined(__NR_set_tid_address) ++#define __NR_set_tid_address 96 ++#endif ++ ++#if !defined(__NR_unshare) ++#define __NR_unshare 97 ++#endif ++ ++#if !defined(__NR_futex) ++#define __NR_futex 98 ++#endif ++ ++#if !defined(__NR_set_robust_list) ++#define __NR_set_robust_list 99 ++#endif ++ ++#if !defined(__NR_get_robust_list) ++#define __NR_get_robust_list 100 ++#endif ++ ++#if !defined(__NR_nanosleep) ++#define __NR_nanosleep 101 ++#endif ++ ++#if !defined(__NR_getitimer) ++#define __NR_getitimer 102 ++#endif ++ ++#if !defined(__NR_setitimer) ++#define __NR_setitimer 103 ++#endif ++ ++#if !defined(__NR_kexec_load) ++#define __NR_kexec_load 104 ++#endif ++ ++#if !defined(__NR_init_module) ++#define __NR_init_module 105 ++#endif ++ ++#if !defined(__NR_delete_module) ++#define __NR_delete_module 106 ++#endif ++ ++#if !defined(__NR_timer_create) ++#define __NR_timer_create 107 ++#endif ++ ++#if !defined(__NR_timer_gettime) ++#define __NR_timer_gettime 108 ++#endif ++ ++#if !defined(__NR_timer_getoverrun) ++#define __NR_timer_getoverrun 109 ++#endif ++ ++#if !defined(__NR_timer_settime) ++#define __NR_timer_settime 110 ++#endif ++ ++#if !defined(__NR_timer_delete) ++#define __NR_timer_delete 111 ++#endif ++ ++#if !defined(__NR_clock_settime) ++#define __NR_clock_settime 112 ++#endif ++ ++#if !defined(__NR_clock_gettime) ++#define __NR_clock_gettime 113 ++#endif ++ ++#if !defined(__NR_clock_getres) ++#define __NR_clock_getres 114 ++#endif ++ ++#if !defined(__NR_clock_nanosleep) ++#define __NR_clock_nanosleep 115 ++#endif ++ ++#if !defined(__NR_syslog) ++#define __NR_syslog 116 ++#endif ++ ++#if !defined(__NR_ptrace) ++#define __NR_ptrace 117 ++#endif ++ ++#if !defined(__NR_sched_setparam) ++#define __NR_sched_setparam 118 ++#endif ++ ++#if !defined(__NR_sched_setscheduler) ++#define __NR_sched_setscheduler 119 ++#endif ++ ++#if !defined(__NR_sched_getscheduler) ++#define __NR_sched_getscheduler 120 ++#endif ++ ++#if !defined(__NR_sched_getparam) ++#define __NR_sched_getparam 121 ++#endif ++ ++#if !defined(__NR_sched_setaffinity) ++#define __NR_sched_setaffinity 122 ++#endif ++ ++#if !defined(__NR_sched_getaffinity) ++#define __NR_sched_getaffinity 123 ++#endif ++ ++#if !defined(__NR_sched_yield) ++#define __NR_sched_yield 124 ++#endif ++ ++#if !defined(__NR_sched_get_priority_max) ++#define __NR_sched_get_priority_max 125 ++#endif ++ ++#if !defined(__NR_sched_get_priority_min) ++#define __NR_sched_get_priority_min 126 ++#endif ++ ++#if !defined(__NR_sched_rr_get_interval) ++#define __NR_sched_rr_get_interval 127 ++#endif ++ ++#if !defined(__NR_restart_syscall) ++#define __NR_restart_syscall 128 ++#endif ++ ++#if !defined(__NR_kill) ++#define __NR_kill 129 ++#endif ++ ++#if !defined(__NR_tkill) ++#define __NR_tkill 130 ++#endif ++ ++#if !defined(__NR_tgkill) ++#define __NR_tgkill 131 ++#endif ++ ++#if !defined(__NR_sigaltstack) ++#define __NR_sigaltstack 132 ++#endif ++ ++#if !defined(__NR_rt_sigsuspend) ++#define __NR_rt_sigsuspend 133 ++#endif ++ ++#if !defined(__NR_rt_sigaction) ++#define __NR_rt_sigaction 134 ++#endif ++ ++#if !defined(__NR_rt_sigprocmask) ++#define __NR_rt_sigprocmask 135 ++#endif ++ ++#if !defined(__NR_rt_sigpending) ++#define __NR_rt_sigpending 136 ++#endif ++ ++#if !defined(__NR_rt_sigtimedwait) ++#define __NR_rt_sigtimedwait 137 ++#endif ++ ++#if !defined(__NR_rt_sigqueueinfo) ++#define __NR_rt_sigqueueinfo 138 ++#endif ++ ++#if !defined(__NR_rt_sigreturn) ++#define __NR_rt_sigreturn 139 ++#endif ++ ++#if !defined(__NR_setpriority) ++#define __NR_setpriority 140 ++#endif ++ ++#if !defined(__NR_getpriority) ++#define __NR_getpriority 141 ++#endif ++ ++#if !defined(__NR_reboot) ++#define __NR_reboot 142 ++#endif ++ ++#if !defined(__NR_setregid) ++#define __NR_setregid 143 ++#endif ++ ++#if !defined(__NR_setgid) ++#define __NR_setgid 144 ++#endif ++ ++#if !defined(__NR_setreuid) ++#define __NR_setreuid 145 ++#endif ++ ++#if !defined(__NR_setuid) ++#define __NR_setuid 146 ++#endif ++ ++#if !defined(__NR_setresuid) ++#define __NR_setresuid 147 ++#endif ++ ++#if !defined(__NR_getresuid) ++#define __NR_getresuid 148 ++#endif ++ ++#if !defined(__NR_setresgid) ++#define __NR_setresgid 149 ++#endif ++ ++#if !defined(__NR_getresgid) ++#define __NR_getresgid 150 ++#endif ++ ++#if !defined(__NR_setfsuid) ++#define __NR_setfsuid 151 ++#endif ++ ++#if !defined(__NR_setfsgid) ++#define __NR_setfsgid 152 ++#endif ++ ++#if !defined(__NR_times) ++#define __NR_times 153 ++#endif ++ ++#if !defined(__NR_setpgid) ++#define __NR_setpgid 154 ++#endif ++ ++#if !defined(__NR_getpgid) ++#define __NR_getpgid 155 ++#endif ++ ++#if !defined(__NR_getsid) ++#define __NR_getsid 156 ++#endif ++ ++#if !defined(__NR_setsid) ++#define __NR_setsid 157 ++#endif ++ ++#if !defined(__NR_getgroups) ++#define __NR_getgroups 158 ++#endif ++ ++#if !defined(__NR_setgroups) ++#define __NR_setgroups 159 ++#endif ++ ++#if !defined(__NR_uname) ++#define __NR_uname 160 ++#endif ++ ++#if !defined(__NR_sethostname) ++#define __NR_sethostname 161 ++#endif ++ ++#if !defined(__NR_setdomainname) ++#define __NR_setdomainname 162 ++#endif ++ ++#if !defined(__NR_getrlimit) ++#define __NR_getrlimit 163 ++#endif ++ ++#if !defined(__NR_setrlimit) ++#define __NR_setrlimit 164 ++#endif ++ ++#if !defined(__NR_getrusage) ++#define __NR_getrusage 165 ++#endif ++ ++#if !defined(__NR_umask) ++#define __NR_umask 166 ++#endif ++ ++#if !defined(__NR_prctl) ++#define __NR_prctl 167 ++#endif ++ ++#if !defined(__NR_getcpu) ++#define __NR_getcpu 168 ++#endif ++ ++#if !defined(__NR_gettimeofday) ++#define __NR_gettimeofday 169 ++#endif ++ ++#if !defined(__NR_settimeofday) ++#define __NR_settimeofday 170 ++#endif ++ ++#if !defined(__NR_adjtimex) ++#define __NR_adjtimex 171 ++#endif ++ ++#if !defined(__NR_getpid) ++#define __NR_getpid 172 ++#endif ++ ++#if !defined(__NR_getppid) ++#define __NR_getppid 173 ++#endif ++ ++#if !defined(__NR_getuid) ++#define __NR_getuid 174 ++#endif ++ ++#if !defined(__NR_geteuid) ++#define __NR_geteuid 175 ++#endif ++ ++#if !defined(__NR_getgid) ++#define __NR_getgid 176 ++#endif ++ ++#if !defined(__NR_getegid) ++#define __NR_getegid 177 ++#endif ++ ++#if !defined(__NR_gettid) ++#define __NR_gettid 178 ++#endif ++ ++#if !defined(__NR_sysinfo) ++#define __NR_sysinfo 179 ++#endif ++ ++#if !defined(__NR_mq_open) ++#define __NR_mq_open 180 ++#endif ++ ++#if !defined(__NR_mq_unlink) ++#define __NR_mq_unlink 181 ++#endif ++ ++#if !defined(__NR_mq_timedsend) ++#define __NR_mq_timedsend 182 ++#endif ++ ++#if !defined(__NR_mq_timedreceive) ++#define __NR_mq_timedreceive 183 ++#endif ++ ++#if !defined(__NR_mq_notify) ++#define __NR_mq_notify 184 ++#endif ++ ++#if !defined(__NR_mq_getsetattr) ++#define __NR_mq_getsetattr 185 ++#endif ++ ++#if !defined(__NR_msgget) ++#define __NR_msgget 186 ++#endif ++ ++#if !defined(__NR_msgctl) ++#define __NR_msgctl 187 ++#endif ++ ++#if !defined(__NR_msgrcv) ++#define __NR_msgrcv 188 ++#endif ++ ++#if !defined(__NR_msgsnd) ++#define __NR_msgsnd 189 ++#endif ++ ++#if !defined(__NR_semget) ++#define __NR_semget 190 ++#endif ++ ++#if !defined(__NR_semctl) ++#define __NR_semctl 191 ++#endif ++ ++#if !defined(__NR_semtimedop) ++#define __NR_semtimedop 192 ++#endif ++ ++#if !defined(__NR_semop) ++#define __NR_semop 193 ++#endif ++ ++#if !defined(__NR_shmget) ++#define __NR_shmget 194 ++#endif ++ ++#if !defined(__NR_shmctl) ++#define __NR_shmctl 195 ++#endif ++ ++#if !defined(__NR_shmat) ++#define __NR_shmat 196 ++#endif ++ ++#if !defined(__NR_shmdt) ++#define __NR_shmdt 197 ++#endif ++ ++#if !defined(__NR_socket) ++#define __NR_socket 198 ++#endif ++ ++#if !defined(__NR_socketpair) ++#define __NR_socketpair 199 ++#endif ++ ++#if !defined(__NR_bind) ++#define __NR_bind 200 ++#endif ++ ++#if !defined(__NR_listen) ++#define __NR_listen 201 ++#endif ++ ++#if !defined(__NR_accept) ++#define __NR_accept 202 ++#endif ++ ++#if !defined(__NR_connect) ++#define __NR_connect 203 ++#endif ++ ++#if !defined(__NR_getsockname) ++#define __NR_getsockname 204 ++#endif ++ ++#if !defined(__NR_getpeername) ++#define __NR_getpeername 205 ++#endif ++ ++#if !defined(__NR_sendto) ++#define __NR_sendto 206 ++#endif ++ ++#if !defined(__NR_recvfrom) ++#define __NR_recvfrom 207 ++#endif ++ ++#if !defined(__NR_setsockopt) ++#define __NR_setsockopt 208 ++#endif ++ ++#if !defined(__NR_getsockopt) ++#define __NR_getsockopt 209 ++#endif ++ ++#if !defined(__NR_shutdown) ++#define __NR_shutdown 210 ++#endif ++ ++#if !defined(__NR_sendmsg) ++#define __NR_sendmsg 211 ++#endif ++ ++#if !defined(__NR_recvmsg) ++#define __NR_recvmsg 212 ++#endif ++ ++#if !defined(__NR_readahead) ++#define __NR_readahead 213 ++#endif ++ ++#if !defined(__NR_brk) ++#define __NR_brk 214 ++#endif ++ ++#if !defined(__NR_munmap) ++#define __NR_munmap 215 ++#endif ++ ++#if !defined(__NR_mremap) ++#define __NR_mremap 216 ++#endif ++ ++#if !defined(__NR_add_key) ++#define __NR_add_key 217 ++#endif ++ ++#if !defined(__NR_request_key) ++#define __NR_request_key 218 ++#endif ++ ++#if !defined(__NR_keyctl) ++#define __NR_keyctl 219 ++#endif ++ ++#if !defined(__NR_clone) ++#define __NR_clone 220 ++#endif ++ ++#if !defined(__NR_execve) ++#define __NR_execve 221 ++#endif ++ ++#if !defined(__NR_mmap) ++#define __NR_mmap 222 ++#endif ++ ++#if !defined(__NR_fadvise64) ++#define __NR_fadvise64 223 ++#endif ++ ++#if !defined(__NR_swapon) ++#define __NR_swapon 224 ++#endif ++ ++#if !defined(__NR_swapoff) ++#define __NR_swapoff 225 ++#endif ++ ++#if !defined(__NR_mprotect) ++#define __NR_mprotect 226 ++#endif ++ ++#if !defined(__NR_msync) ++#define __NR_msync 227 ++#endif ++ ++#if !defined(__NR_mlock) ++#define __NR_mlock 228 ++#endif ++ ++#if !defined(__NR_munlock) ++#define __NR_munlock 229 ++#endif ++ ++#if !defined(__NR_mlockall) ++#define __NR_mlockall 230 ++#endif ++ ++#if !defined(__NR_munlockall) ++#define __NR_munlockall 231 ++#endif ++ ++#if !defined(__NR_mincore) ++#define __NR_mincore 232 ++#endif ++ ++#if !defined(__NR_madvise) ++#define __NR_madvise 233 ++#endif ++ ++#if !defined(__NR_remap_file_pages) ++#define __NR_remap_file_pages 234 ++#endif ++ ++#if !defined(__NR_mbind) ++#define __NR_mbind 235 ++#endif ++ ++#if !defined(__NR_get_mempolicy) ++#define __NR_get_mempolicy 236 ++#endif ++ ++#if !defined(__NR_set_mempolicy) ++#define __NR_set_mempolicy 237 ++#endif ++ ++#if !defined(__NR_migrate_pages) ++#define __NR_migrate_pages 238 ++#endif ++ ++#if !defined(__NR_move_pages) ++#define __NR_move_pages 239 ++#endif ++ ++#if !defined(__NR_rt_tgsigqueueinfo) ++#define __NR_rt_tgsigqueueinfo 240 ++#endif ++ ++#if !defined(__NR_perf_event_open) ++#define __NR_perf_event_open 241 ++#endif ++ ++#if !defined(__NR_accept4) ++#define __NR_accept4 242 ++#endif ++ ++#if !defined(__NR_recvmmsg) ++#define __NR_recvmmsg 243 ++#endif ++ ++#if !defined(__NR_riscv_flush_icache) ++#define __NR_riscv_flush_icache 259 ++#endif ++ ++#if !defined(__NR_wait4) ++#define __NR_wait4 260 ++#endif ++ ++#if !defined(__NR_prlimit64) ++#define __NR_prlimit64 261 ++#endif ++ ++#if !defined(__NR_fanotify_init) ++#define __NR_fanotify_init 262 ++#endif ++ ++#if !defined(__NR_fanotify_mark) ++#define __NR_fanotify_mark 263 ++#endif ++ ++#if !defined(__NR_name_to_handle_at) ++#define __NR_name_to_handle_at 264 ++#endif ++ ++#if !defined(__NR_open_by_handle_at) ++#define __NR_open_by_handle_at 265 ++#endif ++ ++#if !defined(__NR_clock_adjtime) ++#define __NR_clock_adjtime 266 ++#endif ++ ++#if !defined(__NR_syncfs) ++#define __NR_syncfs 267 ++#endif ++ ++#if !defined(__NR_setns) ++#define __NR_setns 268 ++#endif ++ ++#if !defined(__NR_sendmmsg) ++#define __NR_sendmmsg 269 ++#endif ++ ++#if !defined(__NR_process_vm_readv) ++#define __NR_process_vm_readv 270 ++#endif ++ ++#if !defined(__NR_process_vm_writev) ++#define __NR_process_vm_writev 271 ++#endif ++ ++#if !defined(__NR_kcmp) ++#define __NR_kcmp 272 ++#endif ++ ++#if !defined(__NR_finit_module) ++#define __NR_finit_module 273 ++#endif ++ ++#if !defined(__NR_sched_setattr) ++#define __NR_sched_setattr 274 ++#endif ++ ++#if !defined(__NR_sched_getattr) ++#define __NR_sched_getattr 275 ++#endif ++ ++#if !defined(__NR_renameat2) ++#define __NR_renameat2 276 ++#endif ++ ++#if !defined(__NR_seccomp) ++#define __NR_seccomp 277 ++#endif ++ ++#if !defined(__NR_getrandom) ++#define __NR_getrandom 278 ++#endif ++ ++#if !defined(__NR_memfd_create) ++#define __NR_memfd_create 279 ++#endif ++ ++#if !defined(__NR_bpf) ++#define __NR_bpf 280 ++#endif ++ ++#if !defined(__NR_execveat) ++#define __NR_execveat 281 ++#endif ++ ++#if !defined(__NR_userfaultfd) ++#define __NR_userfaultfd 282 ++#endif ++ ++#if !defined(__NR_membarrier) ++#define __NR_membarrier 283 ++#endif ++ ++#if !defined(__NR_mlock2) ++#define __NR_mlock2 284 ++#endif ++ ++#if !defined(__NR_copy_file_range) ++#define __NR_copy_file_range 285 ++#endif ++ ++#if !defined(__NR_preadv2) ++#define __NR_preadv2 286 ++#endif ++ ++#if !defined(__NR_pwritev2) ++#define __NR_pwritev2 287 ++#endif ++ ++#if !defined(__NR_pkey_mprotect) ++#define __NR_pkey_mprotect 288 ++#endif ++ ++#if !defined(__NR_pkey_alloc) ++#define __NR_pkey_alloc 289 ++#endif ++ ++#if !defined(__NR_pkey_free) ++#define __NR_pkey_free 290 ++#endif ++ ++#if !defined(__NR_statx) ++#define __NR_statx 291 ++#endif ++ ++#if !defined(__NR_io_pgetevents) ++#define __NR_io_pgetevents 292 ++#endif ++ ++#if !defined(__NR_rseq) ++#define __NR_rseq 293 ++#endif ++ ++#if !defined(__NR_kexec_file_load) ++#define __NR_kexec_file_load 294 ++#endif ++ ++#if !defined(__NR_pidfd_send_signal) ++#define __NR_pidfd_send_signal 424 ++#endif ++ ++#if !defined(__NR_io_uring_setup) ++#define __NR_io_uring_setup 425 ++#endif ++ ++#if !defined(__NR_io_uring_enter) ++#define __NR_io_uring_enter 426 ++#endif ++ ++#if !defined(__NR_io_uring_register) ++#define __NR_io_uring_register 427 ++#endif ++ ++#if !defined(__NR_open_tree) ++#define __NR_open_tree 428 ++#endif ++ ++#if !defined(__NR_move_mount) ++#define __NR_move_mount 429 ++#endif ++ ++#if !defined(__NR_fsopen) ++#define __NR_fsopen 430 ++#endif ++ ++#if !defined(__NR_fsconfig) ++#define __NR_fsconfig 431 ++#endif ++ ++#if !defined(__NR_fsmount) ++#define __NR_fsmount 432 ++#endif ++ ++#if !defined(__NR_fspick) ++#define __NR_fspick 433 ++#endif ++ ++#if !defined(__NR_pidfd_open) ++#define __NR_pidfd_open 434 ++#endif ++ ++#if !defined(__NR_clone3) ++#define __NR_clone3 435 ++#endif ++ ++#if !defined(__NR_close_range) ++#define __NR_close_range 436 ++#endif ++ ++#if !defined(__NR_openat2) ++#define __NR_openat2 437 ++#endif ++ ++#if !defined(__NR_pidfd_getfd) ++#define __NR_pidfd_getfd 438 ++#endif ++ ++#if !defined(__NR_faccessat2) ++#define __NR_faccessat2 439 ++#endif ++ ++#if !defined(__NR_process_madvise) ++#define __NR_process_madvise 440 ++#endif ++ ++#if !defined(__NR_epoll_pwait2) ++#define __NR_epoll_pwait2 441 ++#endif ++ ++#if !defined(__NR_mount_setattr) ++#define __NR_mount_setattr 442 ++#endif ++ ++#if !defined(__NR_quotactl_path) ++#define __NR_quotactl_path 443 ++#endif ++ ++#if !defined(__NR_landlock_create_ruleset) ++#define __NR_landlock_create_ruleset 444 ++#endif ++ ++#if !defined(__NR_landlock_add_rule) ++#define __NR_landlock_add_rule 445 ++#endif ++ ++#if !defined(__NR_landlock_restrict_self) ++#define __NR_landlock_restrict_self 446 ++#endif ++ ++#endif // SANDBOX_LINUX_SYSTEM_HEADERS_RISCV64_LINUX_SYSCALLS_H_ +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_cdm_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_cdm_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_cdm_policy_linux.cc +@@ -33,7 +33,7 @@ ResultExpr CdmProcessPolicy::EvaluateSys + case __NR_ftruncate: + case __NR_fallocate: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_getrlimit: + #endif + #if defined(__i386__) || defined(__arm__) +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc +@@ -38,7 +38,7 @@ ResultExpr CrosAmdGpuProcessPolicy::Eval + case __NR_sched_setscheduler: + case __NR_sysinfo: + case __NR_uname: +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_readlink: + case __NR_stat: + #endif +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_gpu_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_gpu_policy_linux.cc +@@ -73,7 +73,7 @@ ResultExpr GpuProcessPolicy::EvaluateSys + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) + case __NR_ftruncate64: + #endif +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_getdents: + #endif + case __NR_getdents64: +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_network_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_network_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_network_policy_linux.cc +@@ -255,7 +255,7 @@ ResultExpr NetworkProcessPolicy::Evaluat + case __NR_fdatasync: + case __NR_fsync: + case __NR_mremap: +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__riscv) + case __NR_getdents: + #endif + case __NR_getdents64: +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc +@@ -33,7 +33,7 @@ ResultExpr PrintCompositorProcessPolicy: + case __NR_fdatasync: + case __NR_fsync: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined (__riscv) + case __NR_getrlimit: + #endif + #if defined(__i386__) || defined(__arm__) +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_renderer_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_renderer_policy_linux.cc +@@ -71,7 +71,7 @@ ResultExpr RendererProcessPolicy::Evalua + case __NR_ftruncate64: + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_getrlimit: + case __NR_setrlimit: + // We allow setrlimit to dynamically adjust the address space limit as +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_service_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_service_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_service_policy_linux.cc +@@ -26,7 +26,7 @@ ResultExpr ServiceProcessPolicy::Evaluat + return RestrictIoctl(); + // Allow the system calls below. + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_getrlimit: + #endif + #if defined(__i386__) || defined(__arm__) +Index: chromium-117.0.5938.132/sandbox/policy/linux/bpf_utility_policy_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/bpf_utility_policy_linux.cc +@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat + case __NR_fdatasync: + case __NR_fsync: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__riscv) + case __NR_getrlimit: + #endif + #if defined(__i386__) || defined(__arm__) +Index: chromium-117.0.5938.132/sandbox/policy/linux/sandbox_seccomp_bpf_linux.cc +=================================================================== +--- chromium-117.0.5938.132.orig/sandbox/policy/linux/sandbox_seccomp_bpf_linux.cc ++++ chromium-117.0.5938.132/sandbox/policy/linux/sandbox_seccomp_bpf_linux.cc +@@ -80,7 +80,7 @@ using sandbox::bpf_dsl::ResultExpr; + + // Make sure that seccomp-bpf does not get disabled by mistake. Also make sure + // that we think twice about this when adding a new architecture. +-#if !defined(ARCH_CPU_ARM64) && !defined(ARCH_CPU_MIPS64EL) ++#if !defined(ARCH_CPU_ARM64) && !defined(ARCH_CPU_MIPS64EL) && !defined(ARCH_CPU_RISCV64) + #error "Seccomp-bpf disabled on supported architecture!" + #endif // !defined(ARCH_CPU_ARM64) && !defined(ARCH_CPU_MIPS64EL) + +@@ -175,6 +175,7 @@ bool SandboxSeccompBPF::SupportsSandboxW + std::unique_ptr SandboxSeccompBPF::PolicyForSandboxType( + sandbox::mojom::Sandbox sandbox_type, + const SandboxSeccompBPF::Options& options) { ++#if BUILDFLAG(USE_SECCOMP_BPF) + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kGpu: + return GetGpuProcessSandbox(options); +@@ -233,8 +234,9 @@ std::unique_ptr SandboxSe + case sandbox::mojom::Sandbox::kZygoteIntermediateSandbox: + case sandbox::mojom::Sandbox::kNoSandbox: + NOTREACHED(); +- return nullptr; + } ++#endif // BUILDFLAG(USE_SECCOMP_BPF) ++ return nullptr; + } + + // If a BPF policy is engaged for |process_type|, run a few sanity checks. +Index: chromium-116.0.5845.96/base/system/sys_info.cc +=================================================================== +--- chromium-116.0.5845.96.orig/base/system/sys_info.cc ++++ chromium-116.0.5845.96/base/system/sys_info.cc +@@ -185,6 +185,8 @@ std::string SysInfo::ProcessCPUArchitect + return "ARM"; + #elif defined(ARCH_CPU_ARM64) + return "ARM_64"; ++#elif defined(ARCH_CPU_RISCV64) ++ return "RISCV_64"; + #else + return std::string(); + #endif +Index: chromium-115.0.5790.98/third_party/angle/src/common/platform.h +=================================================================== +--- chromium-115.0.5790.98.orig/third_party/angle/src/common/platform.h ++++ chromium-115.0.5790.98/third_party/angle/src/common/platform.h +@@ -108,7 +108,7 @@ + #endif + + // Mips and arm devices need to include stddef for size_t. +-#if defined(__mips__) || defined(__arm__) || defined(__aarch64__) ++#if defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(__riscv) + # include + #endif + +Index: chromium-113.0.5672.92/third_party/dav1d/config/linux/riscv64/config.h +=================================================================== +--- /dev/null ++++ chromium-113.0.5672.92/third_party/dav1d/config/linux/riscv64/config.h +@@ -0,0 +1,48 @@ ++/* ++ * Autogenerated by the Meson build system. ++ * Do not edit, your changes will be lost. ++ */ ++ ++#pragma once ++ ++#define ARCH_AARCH64 0 ++ ++#define ARCH_ARM 0 ++ ++#define ARCH_PPC64LE 0 ++ ++#define ARCH_X86 0 ++ ++#define ARCH_X86_32 0 ++ ++#define ARCH_X86_64 0 ++ ++#define CONFIG_16BPC 1 ++ ++#define CONFIG_8BPC 1 ++ ++// #define CONFIG_LOG 1 -- Logging is controlled by Chromium ++ ++#define ENDIANNESS_BIG 0 ++ ++#define HAVE_ASM 0 ++ ++#define HAVE_AS_FUNC 0 ++ ++#define HAVE_C11_GENERIC 1 ++ ++#define HAVE_CLOCK_GETTIME 1 ++ ++#define HAVE_DLSYM 1 ++ ++#define HAVE_GETAUXVAL 1 ++ ++#define HAVE_POSIX_MEMALIGN 1 ++ ++// #define HAVE_PTHREAD_GETAFFINITY_NP 1 -- Controlled by Chomium ++ ++// #define HAVE_PTHREAD_SETAFFINITY_NP 1 -- Controlled by Chomium ++ ++#define HAVE_UNISTD_H 1 ++ ++#define TRIM_DSP_FUNCTIONS 1 +Index: chromium-116.0.5845.96/third_party/swiftshader/src/Reactor/LLVMJIT.cpp +=================================================================== +--- chromium-116.0.5845.96.orig/third_party/swiftshader/src/Reactor/LLVMJIT.cpp ++++ chromium-116.0.5845.96/third_party/swiftshader/src/Reactor/LLVMJIT.cpp +@@ -29,11 +29,7 @@ + // See https://groups.google.com/g/llvm-dev/c/CAE7Va57h2c/m/74ITeXFEAQAJ + // for information about `RTDyldObjectLinkingLayer` vs `ObjectLinkingLayer`. + // On RISC-V, only `ObjectLinkingLayer` is supported. +-#if defined(__riscv) +-#define USE_LEGACY_OBJECT_LINKING_LAYER 0 +-#else + #define USE_LEGACY_OBJECT_LINKING_LAYER 1 +-#endif + + #include "llvm/ExecutionEngine/Orc/CompileUtils.h" + #include "llvm/ExecutionEngine/Orc/IRCompileLayer.h" +--- chromium-120.0.6099.216.orig/v8/src/base/small-vector.h ++++ chromium-120.0.6099.216/v8/src/base/small-vector.h +@@ -22,7 +22,7 @@ template ::value); + + public: diff --git a/system-ffmpeg.patch b/system-ffmpeg.patch new file mode 100644 index 0000000000000000000000000000000000000000..19cf84bc1c055d2f102162659652f424ab5817de --- /dev/null +++ b/system-ffmpeg.patch @@ -0,0 +1,94 @@ +diff -up chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc.first_dts chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc +--- chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc.first_dts 2023-11-01 19:10:31.000000000 +0100 ++++ chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc 2023-11-06 13:05:09.819011697 +0100 +@@ -101,7 +101,7 @@ static base::TimeDelta FramesToTimeDelta + sample_rate); + } + +-static base::TimeDelta ExtractStartTime(AVStream* stream) { ++static base::TimeDelta ExtractStartTime(AVStream* stream, int64_t first_dts) { + // The default start time is zero. + base::TimeDelta start_time; + +@@ -111,12 +111,12 @@ static base::TimeDelta ExtractStartTime( + + // Next try to use the first DTS value, for codecs where we know PTS == DTS + // (excludes all H26x codecs). The start time must be returned in PTS. +- if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp && ++ if (first_dts != AV_NOPTS_VALUE && + stream->codecpar->codec_id != AV_CODEC_ID_HEVC && + stream->codecpar->codec_id != AV_CODEC_ID_H264 && + stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) { + const base::TimeDelta first_pts = +- ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream)); ++ ConvertFromTimeBase(stream->time_base, first_dts); + if (first_pts < start_time) + start_time = first_pts; + } +@@ -274,6 +274,7 @@ FFmpegDemuxerStream::FFmpegDemuxerStream + fixup_negative_timestamps_(false), + fixup_chained_ogg_(false), + num_discarded_packet_warnings_(0), ++ first_dts_(AV_NOPTS_VALUE), + last_packet_pos_(AV_NOPTS_VALUE), + last_packet_dts_(AV_NOPTS_VALUE) { + DCHECK(demuxer_); +@@ -336,6 +337,10 @@ void FFmpegDemuxerStream::EnqueuePacket( + int64_t packet_dts = + packet->dts == AV_NOPTS_VALUE ? packet->pts : packet->dts; + ++ if (first_dts_ == AV_NOPTS_VALUE) { ++ first_dts_ = packet_dts; ++ } ++ + // Chained ogg files have non-monotonically increasing position and time stamp + // values, which prevents us from using them to determine if a packet should + // be dropped. Since chained ogg is only allowed on single track audio only +@@ -1442,7 +1447,8 @@ void FFmpegDemuxer::OnFindStreamInfoDone + + max_duration = std::max(max_duration, streams_[i]->duration()); + +- base::TimeDelta start_time = ExtractStartTime(stream); ++ base::TimeDelta start_time = ++ ExtractStartTime(stream, streams_[i]->first_dts()); + + // Note: This value is used for seeking, so we must take the true value and + // not the one possibly clamped to zero below. +@@ -1604,7 +1610,7 @@ FFmpegDemuxerStream* FFmpegDemuxer::Find + for (const auto& stream : streams_) { + if (!stream || stream->IsEnabled() != enabled) + continue; +- if (av_stream_get_first_dts(stream->av_stream()) == kInvalidPTSMarker) ++ if (stream->first_dts() == AV_NOPTS_VALUE) + continue; + if (!lowest_start_time_stream || + stream->start_time() < lowest_start_time_stream->start_time()) { +@@ -1625,7 +1631,7 @@ FFmpegDemuxerStream* FFmpegDemuxer::Find + if (stream->type() != DemuxerStream::VIDEO) + continue; + +- if (av_stream_get_first_dts(stream->av_stream()) == kInvalidPTSMarker) ++ if (stream->first_dts() == AV_NOPTS_VALUE) + continue; + + if (!stream->IsEnabled()) +diff -up chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h.first_dts chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h +--- chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h.first_dts 2023-11-01 19:10:31.000000000 +0100 ++++ chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h 2023-11-06 13:08:43.425784988 +0100 +@@ -142,6 +142,8 @@ class MEDIA_EXPORT FFmpegDemuxerStream : + base::TimeDelta start_time() const { return start_time_; } + void set_start_time(base::TimeDelta time) { start_time_ = time; } + ++ int64_t first_dts() const { return first_dts_; } ++ + private: + friend class FFmpegDemuxerTest; + +@@ -198,6 +200,7 @@ class MEDIA_EXPORT FFmpegDemuxerStream : + bool fixup_chained_ogg_; + + int num_discarded_packet_warnings_; ++ int64_t first_dts_; + int64_t last_packet_pos_; + int64_t last_packet_dts_; + // Requested buffer count. The actual returned buffer count could be less diff --git a/system-libdrm.patch b/system-libdrm.patch new file mode 100644 index 0000000000000000000000000000000000000000..171241108f58a5c209c9caa40ae3b35bc158b0f7 --- /dev/null +++ b/system-libdrm.patch @@ -0,0 +1,42 @@ +Index: chromium-114.0.5735.90/build/linux/unbundle/libdrm.gn +=================================================================== +--- chromium-114.0.5735.90.orig/build/linux/unbundle/libdrm.gn ++++ chromium-114.0.5735.90/build/linux/unbundle/libdrm.gn +@@ -11,7 +11,10 @@ pkg_config("system_libdrm") { + + shim_headers("libdrm_shim") { + root_path = "src/include" +- headers = [ "drm.h" ] ++ headers = [ ++ "drm.h", ++ "drm_fourcc.h", ++ ] + } + + source_set("libdrm") { +Index: chromium-114.0.5735.90/ui/ozone/platform/drm/gpu/hardware_display_controller.cc +=================================================================== +--- chromium-114.0.5735.90.orig/ui/ozone/platform/drm/gpu/hardware_display_controller.cc ++++ chromium-114.0.5735.90/ui/ozone/platform/drm/gpu/hardware_display_controller.cc +@@ -18,7 +18,7 @@ + #include "base/metrics/histogram_macros.h" + #include "base/ranges/algorithm.h" + #include "base/trace_event/typed_macros.h" +-#include "third_party/libdrm/src/include/drm/drm_fourcc.h" ++#include + #include "third_party/perfetto/include/perfetto/tracing/traced_value.h" + #include "third_party/skia/include/core/SkCanvas.h" + #include "third_party/skia/include/core/SkImage.h" +Index: chromium-114.0.5735.90/media/gpu/chromeos/video_decoder_pipeline_unittest.cc +=================================================================== +--- chromium-114.0.5735.90.orig/media/gpu/chromeos/video_decoder_pipeline_unittest.cc ++++ chromium-114.0.5735.90/media/gpu/chromeos/video_decoder_pipeline_unittest.cc +@@ -25,7 +25,7 @@ + #include "media/gpu/chromeos/dmabuf_video_frame_pool.h" + #include "testing/gmock/include/gmock/gmock.h" + #include "testing/gtest/include/gtest/gtest.h" +-#include "third_party/libdrm/src/include/drm/drm_fourcc.h" ++#include + + #if BUILDFLAG(IS_CHROMEOS_ASH) + // gn check does not account for BUILDFLAG(), so including this header will diff --git a/xcb-proto-1.14.tar.xz b/xcb-proto-1.14.tar.xz deleted file mode 100644 index 17620544b9007ac6d419b2564c1a2bc6dd2ba01b..0000000000000000000000000000000000000000 Binary files a/xcb-proto-1.14.tar.xz and /dev/null differ