From 8d5a9ea42095c39e2b282ce4b8bb962b03365c94 Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Fri, 30 Dec 2022 22:24:17 +0100 Subject: [PATCH] - disable GlobalMediaControlsCastStartStop to avoid crash when using the address bar media player button - enable system brotli --- ...ble-GlobalMediaControlsCastStartStop.patch | 20 ++++++ chromium-108-system-brotli.patch | 36 ++++++++++ chromium.spec | 71 ++++++++++--------- 3 files changed, 94 insertions(+), 33 deletions(-) create mode 100644 chromium-108-disable-GlobalMediaControlsCastStartStop.patch create mode 100644 chromium-108-system-brotli.patch diff --git a/chromium-108-disable-GlobalMediaControlsCastStartStop.patch b/chromium-108-disable-GlobalMediaControlsCastStartStop.patch new file mode 100644 index 0000000..ccf52a9 --- /dev/null +++ b/chromium-108-disable-GlobalMediaControlsCastStartStop.patch @@ -0,0 +1,20 @@ +diff -up chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc.me chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc +--- chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc.me 2022-12-30 13:05:24.520593426 +0100 ++++ chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc 2022-12-30 14:03:08.996254352 +0100 +@@ -46,16 +46,9 @@ BASE_FEATURE(kDialEnforceUrlIPAddress, + BASE_FEATURE(kMediaRemotingWithoutFullscreen, + "MediaRemotingWithoutFullscreen", + base::FEATURE_DISABLED_BY_DEFAULT); +- +-#if BUILDFLAG(IS_CHROMEOS) + BASE_FEATURE(kGlobalMediaControlsCastStartStop, + "GlobalMediaControlsCastStartStop", + base::FEATURE_DISABLED_BY_DEFAULT); +-#else +-BASE_FEATURE(kGlobalMediaControlsCastStartStop, +- "GlobalMediaControlsCastStartStop", +- base::FEATURE_ENABLED_BY_DEFAULT); +-#endif // BUILDFLAG(IS_CHROMEOS) + + #endif // !BUILDFLAG(IS_ANDROID) + diff --git a/chromium-108-system-brotli.patch b/chromium-108-system-brotli.patch new file mode 100644 index 0000000..a5a4ecc --- /dev/null +++ b/chromium-108-system-brotli.patch @@ -0,0 +1,36 @@ +diff -up chromium-108.0.5359.124/net/filter/brotli_source_stream.cc.me chromium-108.0.5359.124/net/filter/brotli_source_stream.cc +--- chromium-108.0.5359.124/net/filter/brotli_source_stream.cc.me 2022-12-30 16:00:58.320318310 +0100 ++++ chromium-108.0.5359.124/net/filter/brotli_source_stream.cc 2022-12-30 16:01:24.928581631 +0100 +@@ -10,7 +10,7 @@ + #include "base/memory/raw_ptr.h" + #include "base/metrics/histogram_macros.h" + #include "net/base/io_buffer.h" +-#include "third_party/brotli/include/brotli/decode.h" ++#include + + namespace net { + +diff -up chromium-108.0.5359.124/net/ssl/cert_compression.cc.me chromium-108.0.5359.124/net/ssl/cert_compression.cc +--- chromium-108.0.5359.124/net/ssl/cert_compression.cc.me 2022-12-30 15:57:59.859543993 +0100 ++++ chromium-108.0.5359.124/net/ssl/cert_compression.cc 2022-12-30 16:00:48.560221723 +0100 +@@ -9,7 +9,7 @@ + #include "third_party/boringssl/src/include/openssl/ssl.h" + + #if !defined(NET_DISABLE_BROTLI) +-#include "third_party/brotli/include/brotli/decode.h" ++#include + #endif + + namespace net { +diff -up chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc.me chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc +--- chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc.me 2022-12-30 21:12:27.058346797 +0100 ++++ chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc 2022-12-30 21:13:58.363183795 +0100 +@@ -31,7 +31,7 @@ + #include "build/build_config.h" + #include "net/filter/gzip_header.h" + #include "skia/ext/image_operations.h" +-#include "third_party/brotli/include/brotli/decode.h" ++#include + #include "third_party/skia/include/core/SkBitmap.h" + #include "third_party/skia/include/core/SkColor.h" + #include "third_party/zlib/google/compression_utils.h" diff --git a/chromium.spec b/chromium.spec index 8d5662f..0c23c08 100644 --- a/chromium.spec +++ b/chromium.spec @@ -109,6 +109,9 @@ # enable clang by default %global clang 1 +# enable system brotli +%global bundlebrotli 0 + # set bundleffmpeg 0 to enable system ffmpeg-free %global bundleffmpeg 1 @@ -301,6 +304,13 @@ Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch # drop build dependency on python3-importlib-metadata Patch88: chromium-108-drop-python-importlib-metadata.patch +# patch for using system brotli +Patch89: chromium-108-system-brotli.patch + +# disable GlobalMediaControlsCastStartStop to avoid crash +# when using the address bar media player button +Patch90: chromium-108-disable-GlobalMediaControlsCastStartStop.patch + # Fix extra qualification error Patch97: chromium-107.0.5304.110-remoting-extra-qualification.patch @@ -721,7 +731,9 @@ Provides: bundled(angle) = 2422 Provides: bundled(bintrees) = 1.0.1 # This is a fork of openssl. Provides: bundled(boringssl) +%if 0%{?bundlebrotli} Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e +%endif Provides: bundled(bspatch) Provides: bundled(cacheinvalidation) = 20150720 Provides: bundled(colorama) = 799604a104 @@ -942,6 +954,12 @@ udev. %endif %patch88 -p1 -b .drop-build-dep-on-python3-importlib-metadata + +%if ! 0%{?bundlebrotli} +%patch89 -p1 -b .system-brotli +%endif + +%patch90 -p1 -b .disable-GlobalMediaControlsCastStartStop %patch97 -p1 -b .remoting-extra-qualification %patch98 -p1 -b .InkDropHost-crash %patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault @@ -953,9 +971,7 @@ udev. %patch113 -p1 -b .memset -%if 0%{?bundleffmpeg} -# nothing -%else +%if ! 0%{?bundleffmpeg} %patch114 -p1 -b .system-ffmppeg %patch115 -p1 -b .prop-codecs %endif @@ -1243,62 +1259,51 @@ CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=fals export CHROMIUM_HEADLESS_GN_DEFINES build/linux/unbundle/replace_gn_files.py --system-libraries \ -%if 0%{?bundlefontconfig} -%else +%if ! 0%{?bundlebrotli} + brotli \ +%endif +%if ! 0%{?bundlefontconfig} fontconfig \ %endif -%if 0%{?bundlefreetype} -%else +%if ! 0%{?bundleffmpeg} + ffmpeg \ +%endif +%if ! 0%{?bundlefreetype} freetype \ %endif -%if 0%{?bundleharfbuzz} -%else +%if ! 0%{?bundleharfbuzz} harfbuzz-ng \ %endif -%if 0%{?bundleicu} -%else +%if ! 0%{?bundleicu} icu \ %endif -%if %{bundlelibdrm} -%else +%if ! %{bundlelibdrm} libdrm \ %endif -%if %{bundlelibjpeg} -%else +%if ! %{bundlelibjpeg} libjpeg \ %endif -%if %{bundlelibpng} -%else +%if !%{bundlelibpng} libpng \ %endif -%if %{bundlelibusbx} -%else +%if !%{bundlelibusbx} libusb \ %endif -%if %{bundlelibwebp} -%else +%if ! %{bundlelibwebp} libwebp \ %endif -%if %{bundlelibxml} -%else +%if ! %{bundlelibxml} libxml \ %endif libxslt \ -%if %{bundleopus} -%else +%if ! %{bundleopus} opus \ %endif -%if 0%{?bundlere2} -%else +%if ! 0%{?bundlere2} re2 \ %endif -%if 0%{?bundleminizip} -%else +%if ! 0%{?bundleminizip} zlib \ -%endif -%if 0%{?bundleffmpeg} -%else - ffmpeg \ %endif flac