From 5d69b32af73d472fd42f460e68700c006f09a278f8e3fd02a05e36d16e6d5633 Mon Sep 17 00:00:00 2001 From: Callum Farmer Date: Wed, 12 Jan 2022 20:14:34 +0000 Subject: [PATCH] Cr97 OBS-URL: https://build.opensuse.org/package/show/network:chromium/chromium?expand=0&rev=1631 --- chromium-86-nearby-include.patch | 24 ------- chromium-94-ffmpeg-roll.patch | 59 +++------------ chromium-95-libyuv-arm.patch | 13 ++++ chromium-96-CommandLine-include.patch | 24 ------- chromium-96-CouponDB-include.patch | 25 ------- ...m-96-DrmRenderNodePathFinder-include.patch | 24 ------- ...ium-96-RestrictedCookieManager-tuple.patch | 31 -------- chromium-96-freetype-unbundle.patch | 10 --- chromium-96.0.4664.110.tar.xz | 3 - chromium-97-Point-constexpr.patch | 27 +++++++ chromium-97-ScrollView-reference.patch | 23 ++++++ ...mpiler.patch => chromium-97-compiler.patch | 36 +++++----- chromium-97.0.4692.71.tar.xz | 3 + chromium-vaapi.patch | 72 ------------------- chromium.changes | 45 ++++++++++++ chromium.spec | 41 ++++------- fix-tag-dragging-in-KWin.patch | 35 +++++++++ fix-tag-dragging-in-Mutter.patch | 46 ++++++++++++ gcc-enable-lto.patch | 2 +- 19 files changed, 237 insertions(+), 306 deletions(-) delete mode 100644 chromium-86-nearby-include.patch create mode 100644 chromium-95-libyuv-arm.patch delete mode 100644 chromium-96-CommandLine-include.patch delete mode 100644 chromium-96-CouponDB-include.patch delete mode 100644 chromium-96-DrmRenderNodePathFinder-include.patch delete mode 100644 chromium-96-RestrictedCookieManager-tuple.patch delete mode 100644 chromium-96-freetype-unbundle.patch delete mode 100644 chromium-96.0.4664.110.tar.xz create mode 100644 chromium-97-Point-constexpr.patch create mode 100644 chromium-97-ScrollView-reference.patch rename chromium-96-compiler.patch => chromium-97-compiler.patch (88%) create mode 100644 chromium-97.0.4692.71.tar.xz delete mode 100644 chromium-vaapi.patch create mode 100644 fix-tag-dragging-in-KWin.patch create mode 100644 fix-tag-dragging-in-Mutter.patch diff --git a/chromium-86-nearby-include.patch b/chromium-86-nearby-include.patch deleted file mode 100644 index 72f7de3..0000000 --- a/chromium-86-nearby-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a5b2ee9dd7dfb186e26ec6c0c06c2ae1a9d27195 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 18 Jul 2020 14:15:50 +0000 -Subject: [PATCH] IWYU: memcpy is defined in cstring - ---- - third_party/nearby/src/cpp/platform/base/byte_array.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/nearby/src/cpp/platform/base/byte_array.h b/third_party/nearby/src/cpp/platform/base/byte_array.h -index ee5d0eb..4b1d79b 100644 ---- a/third_party/nearby/src/cpp/platform/base/byte_array.h -+++ b/third_party/nearby/src/cpp/platform/base/byte_array.h -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.26.2 - diff --git a/chromium-94-ffmpeg-roll.patch b/chromium-94-ffmpeg-roll.patch index fcffc01..7878a01 100644 --- a/chromium-94-ffmpeg-roll.patch +++ b/chromium-94-ffmpeg-roll.patch @@ -1,49 +1,12 @@ -From b94755e4633045be96ab5e0bdde0db7e16a804bd Mon Sep 17 00:00:00 2001 -From: "liberato@chromium.org" -Date: Fri, 6 Aug 2021 04:25:31 +0000 -Subject: [PATCH] FFmpeg M94 roll. - -Contains DEPS update + chromium-side fixes. - -Bug: 1227259 -Change-Id: I61c5eaa789ea12c17d0cbcbf837435b9cf32479b -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3011889 -Reviewed-by: Thomas Guilbert -Commit-Queue: Frank Liberato -Cr-Commit-Position: refs/heads/master@{#909174} ---- - media/ffmpeg/ffmpeg_common.h | 1 + - media/filters/ffmpeg_demuxer.cc | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/media/ffmpeg/ffmpeg_common.h b/media/ffmpeg/ffmpeg_common.h -index cede8ac5a7..97d6307e28 100644 ---- a/media/ffmpeg/ffmpeg_common.h -+++ b/media/ffmpeg/ffmpeg_common.h -@@ -29,7 +29,6 @@ extern "C" { - #include - #include - #include --#include - #include - #include - #include -diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc -index ac4713b072..605001d935 100644 ---- a/media/filters/ffmpeg_demuxer.cc -+++ b/media/filters/ffmpeg_demuxer.cc -@@ -106,12 +106,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) { +diff --git a/build/linux/unbundle/ffmpeg.gn b/build/linux/unbundle/ffmpeg.gn +index 16e20744706..6a079b32221 100644 +--- a/build/linux/unbundle/ffmpeg.gn ++++ b/build/linux/unbundle/ffmpeg.gn +@@ -12,6 +12,7 @@ pkg_config("system_ffmpeg") { + "libavformat", + "libavutil", + ] ++ defines = [ "av_stream_get_first_dts(stream)=stream->first_dts" ] + } - // 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 (stream->first_dts != kNoFFmpegTimestamp && -- if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp && - 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, stream->first_dts); -- ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream)); - if (first_pts < start_time) - start_time = first_pts; - } + buildflag_header("ffmpeg_features") { diff --git a/chromium-95-libyuv-arm.patch b/chromium-95-libyuv-arm.patch new file mode 100644 index 0000000..244251e --- /dev/null +++ b/chromium-95-libyuv-arm.patch @@ -0,0 +1,13 @@ +diff --git a/third_party/libyuv/source/row_neon.cc b/third_party/libyuv/source/row_neon.cc +index 6ef6f1c..e4a9e1e 100644 +--- a/third_party/libyuv/source/row_neon.cc ++++ b/third_party/libyuv/source/row_neon.cc +@@ -2346,7 +2346,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb, + uint16_t* dst_ab64, + int width) { + asm volatile( +- "vld1.8 q4, %3 \n" // shuffler ++ "vld1.8 {d8, d9}, %3 \n" // shuffler + "1: \n" + "vld1.8 {q0}, [%0]! \n" + "vld1.8 {q2}, [%0]! \n" diff --git a/chromium-96-CommandLine-include.patch b/chromium-96-CommandLine-include.patch deleted file mode 100644 index 29b5bd9..0000000 --- a/chromium-96-CommandLine-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 39e6e77798d86033e5eb1fb2a2caf20a5bca2262 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 9 Oct 2021 08:27:04 +0000 -Subject: [PATCH] IWYU: add memory for std::unique_ptr in base::CommandLine - ---- - base/command_line.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/base/command_line.h b/base/command_line.h -index 706726a..ad02812 100644 ---- a/base/command_line.h -+++ b/base/command_line.h -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - --- -2.32.0 - diff --git a/chromium-96-CouponDB-include.patch b/chromium-96-CouponDB-include.patch deleted file mode 100644 index 96132e6..0000000 --- a/chromium-96-CouponDB-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3a7b8dd0fcceffcfd0ea7e3186d2850deed7a00b Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 6 Oct 2021 15:36:47 +0000 -Subject: [PATCH] IWYU: add vector for std::vector in CouponDB - ---- - chrome/browser/commerce/coupons/coupon_db.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/chrome/browser/commerce/coupons/coupon_db.h b/chrome/browser/commerce/coupons/coupon_db.h -index f0758f4..93e2dd3 100644 ---- a/chrome/browser/commerce/coupons/coupon_db.h -+++ b/chrome/browser/commerce/coupons/coupon_db.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_ - #define CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_ - -+#include -+ - #include "base/callback_helpers.h" - #include "base/memory/weak_ptr.h" - #include "url/gurl.h" --- -2.32.0 - diff --git a/chromium-96-DrmRenderNodePathFinder-include.patch b/chromium-96-DrmRenderNodePathFinder-include.patch deleted file mode 100644 index 02eab77..0000000 --- a/chromium-96-DrmRenderNodePathFinder-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9e36b3c28935fb50d43ccef443be786a8e3f8a5f Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 9 Oct 2021 16:17:34 +0000 -Subject: [PATCH] IWYU: add string.h for memcmp in ui:: DrmRenderNodePathFinder - ---- - ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc -index 06776a7..d5b7b71 100644 ---- a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc -+++ b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc -@@ -5,6 +5,7 @@ - #include "ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.h" - - #include -+#include - #include - #include - #include --- -2.32.0 - diff --git a/chromium-96-RestrictedCookieManager-tuple.patch b/chromium-96-RestrictedCookieManager-tuple.patch deleted file mode 100644 index d3b95e5..0000000 --- a/chromium-96-RestrictedCookieManager-tuple.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 86b1886673c3e75d3a7b8c802b3e9fa6ea945a1e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 08 Oct 2021 06:32:55 +0000 -Subject: [PATCH] libstdc++: no implicit conversion from tuple created with std::tie to an std::pair in restricted cookie manager. - -Fix compilation error: - ../../services/network/restricted_cookie_manager.cc:164:30: error: no match for ‘operator[]’ (operand types are ‘network::CookieAccessesByURLAndSite’ {aka ‘std::map, std::unique_ptr > >’} and ‘std::tuple’) - -There is no conversion from tuple to pair. - -Bug: 957519 -Change-Id: Idf29c7b21895ae28f45b35d6193ab4ac555945c8 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3211752 -Reviewed-by: Robbie McElrath -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/main@{#929597} ---- - -diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc -index 425426f..c8c10c6 100644 ---- a/services/network/restricted_cookie_manager.cc -+++ b/services/network/restricted_cookie_manager.cc -@@ -161,7 +161,7 @@ - const GURL& url, - const net::SiteForCookies& site_for_cookies) { - std::unique_ptr& entry = -- recent_cookie_accesses_[std::tie(url, site_for_cookies)]; -+ recent_cookie_accesses_[std::make_pair(url, site_for_cookies)]; - if (!entry) { - entry = std::make_unique(); - } diff --git a/chromium-96-freetype-unbundle.patch b/chromium-96-freetype-unbundle.patch deleted file mode 100644 index 77c992c..0000000 --- a/chromium-96-freetype-unbundle.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/build/linux/BUILD.gn -+++ b/build/linux/BUILD.gn -@@ -23,6 +23,7 @@ - # the system, use with caution,for details see build/config/freetype/BUILD.gn. - pkg_config("freetype_from_pkgconfig") { - visibility = [ -+ "//build/config/freetype:freetype", - "//third_party:freetype_harfbuzz", - "//third_party/harfbuzz-ng:harfbuzz_source", - ] diff --git a/chromium-96.0.4664.110.tar.xz b/chromium-96.0.4664.110.tar.xz deleted file mode 100644 index f5f8088..0000000 --- a/chromium-96.0.4664.110.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:36a99d29c2e93a9975be53648f2cd3ffa4ee43730f217a2e7ed88c1901a671e8 -size 1209944416 diff --git a/chromium-97-Point-constexpr.patch b/chromium-97-Point-constexpr.patch new file mode 100644 index 0000000..02eedcd --- /dev/null +++ b/chromium-97-Point-constexpr.patch @@ -0,0 +1,27 @@ +From 9850414c0425aebf038faf418f331df2d6ad573b Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 5 Nov 2021 08:53:26 +0000 +Subject: [PATCH] GCC: make gfx::Point::operator== constexpr + +blink::IntRect::operator== is constexpr. Therefore, +gfx::Point::operator== needs to be constexpr as well. +--- + ui/gfx/geometry/point.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ui/gfx/geometry/point.h b/ui/gfx/geometry/point.h +index 71c5a5b..55b3220 100644 +--- a/ui/gfx/geometry/point.h ++++ b/ui/gfx/geometry/point.h +@@ -95,7 +95,7 @@ class GEOMETRY_EXPORT Point { + int y_; + }; + +-inline bool operator==(const Point& lhs, const Point& rhs) { ++constexpr bool operator==(const Point& lhs, const Point& rhs) { + return lhs.x() == rhs.x() && lhs.y() == rhs.y(); + } + +-- +2.32.0 + diff --git a/chromium-97-ScrollView-reference.patch b/chromium-97-ScrollView-reference.patch new file mode 100644 index 0000000..90f857b --- /dev/null +++ b/chromium-97-ScrollView-reference.patch @@ -0,0 +1,23 @@ +From ce58517e546f3f3433931609683b5b4e455bbb7f Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 5 Nov 2021 15:48:05 +0000 +Subject: [PATCH] GCC: fix undefined reference to ScrollView::SetContents() + +--- + ui/views/controls/scroll_view.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ui/views/controls/scroll_view.h b/ui/views/controls/scroll_view.h +index 3bd5a8bf..f850728c 100644 +--- a/ui/views/controls/scroll_view.h ++++ b/ui/views/controls/scroll_view.h +@@ -386,6 +386,9 @@ + ScrollViewCallbackList on_contents_scroll_ended_; + }; + ++// Required for WebAppUrlHandlerIntentPickerView ++template View* ScrollView::SetContents(std::unique_ptr a_view); ++ + BEGIN_VIEW_BUILDER(VIEWS_EXPORT, ScrollView, View) + VIEW_BUILDER_VIEW_TYPE_PROPERTY(View, Contents) + VIEW_BUILDER_PROPERTY(ui::LayerType, ContentsLayerType) diff --git a/chromium-96-compiler.patch b/chromium-97-compiler.patch similarity index 88% rename from chromium-96-compiler.patch rename to chromium-97-compiler.patch index ab2d8fd..b06bdec 100644 --- a/chromium-96-compiler.patch +++ b/chromium-97-compiler.patch @@ -1,6 +1,6 @@ -From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001 +From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 From: Mike Gilbert -Date: Fri, 1 Oct 2021 12:17:48 +0000 +Date: Tue, 2 Nov 2021 11:27:25 +0000 Subject: [PATCH] Disable various compiler configs --- @@ -8,10 +8,10 @@ Subject: [PATCH] Disable various compiler configs 1 file changed, 17 insertions(+), 81 deletions(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 673716f..3ff820e 100644 +index 2656f80..221e6db 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -292,8 +292,6 @@ config("compiler") { +@@ -296,8 +296,6 @@ config("compiler") { configs += [ # See the definitions below. @@ -20,11 +20,11 @@ index 673716f..3ff820e 100644 ":compiler_codegen", ":compiler_deterministic", ] -@@ -532,24 +530,6 @@ config("compiler") { +@@ -538,24 +536,6 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } -- if (is_clang && !is_nacl && !use_xcode_clang) { +- if (is_clang && !is_nacl && !use_xcode_clang && current_os != "zos") { - cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] - - # TODO(hans): Remove this once Clang generates better optimized debug info @@ -45,7 +45,7 @@ index 673716f..3ff820e 100644 # C11/C++11 compiler flags setup. # --------------------------- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1240,45 +1220,6 @@ config("compiler_deterministic") { +@@ -1246,45 +1226,6 @@ config("compiler_deterministic") { } } @@ -91,7 +91,7 @@ index 673716f..3ff820e 100644 # 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. -@@ -1698,7 +1639,7 @@ config("chromium_code") { +@@ -1562,7 +1503,7 @@ config("chromium_code") { defines = [ "_HAS_NODISCARD" ] } } else { @@ -100,7 +100,7 @@ index 673716f..3ff820e 100644 if (treat_warnings_as_errors) { cflags += [ "-Werror" ] -@@ -1707,10 +1648,6 @@ config("chromium_code") { +@@ -1571,10 +1512,6 @@ config("chromium_code") { # well. ldflags = [ "-Werror" ] } @@ -111,7 +111,7 @@ index 673716f..3ff820e 100644 # In Chromium code, we define __STDC_foo_MACROS in order to get the # C99 macros on Mac and Linux. -@@ -1719,15 +1656,6 @@ config("chromium_code") { +@@ -1583,15 +1520,6 @@ config("chromium_code") { "__STDC_FORMAT_MACROS", ] @@ -127,7 +127,7 @@ index 673716f..3ff820e 100644 if (is_mac) { cflags_objc = [ "-Wobjc-missing-property-synthesis" ] cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2095,7 +2023,8 @@ config("default_stack_frames") { +@@ -1959,7 +1887,8 @@ config("default_stack_frames") { } # Default "optimization on" config. @@ -137,7 +137,7 @@ index 673716f..3ff820e 100644 if (is_win) { if (chrome_pgo_phase != 2) { # Favor size over speed, /O1 must be before the common flags. -@@ -2135,7 +2064,8 @@ config("optimize") { +@@ -1999,7 +1928,8 @@ config("optimize") { } # Turn off optimizations. @@ -147,7 +147,7 @@ index 673716f..3ff820e 100644 if (is_win) { cflags = [ "/Od", # Disable optimization. -@@ -2175,7 +2105,8 @@ config("no_optimize") { +@@ -2039,7 +1969,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. @@ -157,7 +157,7 @@ index 673716f..3ff820e 100644 if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2208,7 +2139,8 @@ config("optimize_max") { +@@ -2072,7 +2003,8 @@ config("optimize_max") { # # TODO(crbug.com/621335) - rework how all of these configs are related # so that we don't need this disclaimer. @@ -167,7 +167,7 @@ index 673716f..3ff820e 100644 if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2234,7 +2166,8 @@ config("optimize_speed") { +@@ -2098,7 +2030,8 @@ config("optimize_speed") { } } @@ -177,7 +177,7 @@ index 673716f..3ff820e 100644 cflags = [ "-O1" ] + common_optimize_on_cflags rustflags = [ "-Copt-level=1" ] ldflags = common_optimize_on_ldflags -@@ -2354,7 +2287,8 @@ config("win_pdbaltpath") { +@@ -2218,7 +2151,8 @@ config("win_pdbaltpath") { } # Full symbols. @@ -187,7 +187,7 @@ index 673716f..3ff820e 100644 if (is_win) { if (is_clang) { cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2468,7 +2402,8 @@ config("symbols") { +@@ -2337,7 +2271,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. @@ -197,7 +197,7 @@ index 673716f..3ff820e 100644 if (is_win) { # Functions, files, and line tables only. cflags = [] -@@ -2540,7 +2475,8 @@ config("minimal_symbols") { +@@ -2407,7 +2342,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. diff --git a/chromium-97.0.4692.71.tar.xz b/chromium-97.0.4692.71.tar.xz new file mode 100644 index 0000000..4ecc3b7 --- /dev/null +++ b/chromium-97.0.4692.71.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ae189d44b782fe4d4942962260dbf5f753abf141148727d9fe82852778dfd7c +size 1213607776 diff --git a/chromium-vaapi.patch b/chromium-vaapi.patch deleted file mode 100644 index f2b7677..0000000 --- a/chromium-vaapi.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -up chromium-88.0.4324.11/chrome/browser/about_flags.cc.accel-mjpeg chromium-88.0.4324.11/chrome/browser/about_flags.cc ---- chromium-88.0.4324.11/chrome/browser/about_flags.cc.accel-mjpeg 2020-11-19 20:51:19.000000000 -0500 -+++ chromium-88.0.4324.11/chrome/browser/about_flags.cc 2020-11-30 16:14:32.393366384 -0500 -@@ -3526,12 +3526,12 @@ - flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, - MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, - #endif // ENABLE_VR --#if BUILDFLAG(IS_CHROMEOS_ASH) -+#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // BUILDFLAG(IS_CHROMEOS_ASH) -+#endif // BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff -up chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc.accel-mjpeg chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc ---- chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc.accel-mjpeg 2020-11-30 16:14:32.393366384 -0500 -+++ chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc 2020-11-30 16:20:50.174195910 -0500 -@@ -3704,12 +3704,24 @@ - "Settings. " - "See go/betterAM"; - -+#endif -+ -+// Chrome OS and Linux -------------------------------------------------------- -+ -+#if BUILDFLAG(IS_CHROMEOS_ASH) || (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 BUILDFLAG(IS_CHROMEOS_ASH) -+ - const char kAllowDisableMouseAccelerationName[] = - "Allow disabling mouse acceleration"; - const char kAllowDisableMouseAccelerationDescription[] = -diff -up chromium-88.0.4324.11/chrome/browser/flag_descriptions.h.accel-mjpeg chromium-88.0.4324.11/chrome/browser/flag_descriptions.h ---- chromium-88.0.4324.11/chrome/browser/flag_descriptions.h.accel-mjpeg 2020-11-30 16:14:32.394366389 -0500 -+++ chromium-88.0.4324.11/chrome/browser/flag_descriptions.h 2020-11-30 16:22:13.831601058 -0500 -@@ -2138,9 +2138,21 @@ - extern const char kAccountManagementFlowsV2Name[]; - extern const char kAccountManagementFlowsV2Description[]; - -+#endif -+ -+// Chrome OS and Linux -------------------------------------------------------- -+ -+#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID)) -+ - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+#endif -+ -+#if BUILDFLAG(IS_CHROMEOS_ASH) -+ -+// Chrome OS ------------------------------------------------------------------ -+ - extern const char kAllowDisableMouseAccelerationName[]; - extern const char kAllowDisableMouseAccelerationDescription[]; - diff --git a/chromium.changes b/chromium.changes index ee9cb0d..122d72d 100644 --- a/chromium.changes +++ b/chromium.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Tue Jan 11 20:00:16 UTC 2022 - Callum Farmer + +- Chromium 97.0.4692.71 (boo#1194331): + * CVE-2022-0096: Use after free in Storage + * CVE-2022-0097: Inappropriate implementation in DevTools + * CVE-2022-0098: Use after free in Screen Capture + * CVE-2022-0099: Use after free in Sign-in + * CVE-2022-0100: Heap buffer overflow in Media streams API + * CVE-2022-0101: Heap buffer overflow in Bookmarks + * CVE-2022-0102: Type Confusion in V8 + * CVE-2022-0103: Use after free in SwiftShader + * CVE-2022-0104: Heap buffer overflow in ANGLE + * CVE-2022-0105: Use after free in PDF + * CVE-2022-0106: Use after free in Autofill + * CVE-2022-0107: Use after free in File Manager API + * CVE-2022-0108: Inappropriate implementation in Navigation + * CVE-2022-0109: Inappropriate implementation in Autofill + * CVE-2022-0110: Incorrect security UI in Autofill + * CVE-2022-0111: Inappropriate implementation in Navigation + * CVE-2022-0112: Incorrect security UI in Browser UI + * CVE-2022-0113: Inappropriate implementation in Blink + * CVE-2022-0114: Out of bounds memory access in Web Serial + * CVE-2022-0115: Uninitialized Use in File API + * CVE-2022-0116: Inappropriate implementation in Compositing + * CVE-2022-0117: Policy bypass in Service Workers + * CVE-2022-0118: Inappropriate implementation in WebShare + * CVE-2022-0120: Inappropriate implementation in Passwords +- Removed patches: + * chromium-96-CommandLine-include.patch + * chromium-96-RestrictedCookieManager-tuple.patch + * chromium-96-DrmRenderNodePathFinder-include.patch + * chromium-96-CouponDB-include.patch + * chromium-96-freetype-unbundle.patch + * chromium-96-compiler.patch + * chromium-vaapi.patch + * chromium-86-nearby-include.patch +- Added patches: + * chromium-97-compiler.patch + * chromium-97-Point-constexpr.patch + * chromium-97-ScrollView-reference.patch + * chromium-95-libyuv-arm.patch + * fix-tag-dragging-in-KWin.patch + * fix-tag-dragging-in-Mutter.patch + ------------------------------------------------------------------- Thu Dec 30 15:30:19 UTC 2021 - Callum Farmer diff --git a/chromium.spec b/chromium.spec index 1c69e5e..7574071 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1,7 +1,7 @@ # # spec file for package chromium # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -46,14 +46,10 @@ %bcond_with system_freetype %endif %bcond_with clang -%if 0%{?suse_version} >= 1550 # Chromium built with GCC 11 and LTO enabled crashes (boo#1194055) %bcond_with lto -%else -%bcond_without lto -%endif Name: chromium -Version: 96.0.4664.110 +Version: 97.0.4692.71 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -87,10 +83,9 @@ Patch11: chromium-lp151-old-drm.patch # gentoo/fedora/arch patchset Patch12: chromium-78-protobuf-RepeatedPtrField-export.patch Patch13: chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch -Patch15: chromium-96-compiler.patch +Patch15: chromium-97-compiler.patch Patch17: chromium-86-ImageMemoryBarrierData-init.patch Patch18: chromium-86-nearby-explicit.patch -Patch19: chromium-86-nearby-include.patch Patch21: chromium-gcc11.patch Patch31: chromium-89-missing-cstring-header.patch Patch40: chromium-91-java-only-allowed-in-android-builds.patch @@ -104,18 +99,12 @@ Patch65: chromium-94-sql-no-assert.patch Patch68: chromium-94-ffmpeg-roll.patch Patch69: chromium-93-InkDropHost-crash.patch Patch72: chromium-95-quiche-include.patch -Patch73: chromium-96-CommandLine-include.patch -Patch74: chromium-96-RestrictedCookieManager-tuple.patch -Patch75: chromium-96-DrmRenderNodePathFinder-include.patch -Patch76: chromium-96-CouponDB-include.patch -Patch77: chromium-96-freetype-unbundle.patch Patch78: chromium-96-EnumTable-crash.patch -# Google seem not too keen on merging this but GPU accel is quite important -# https://chromium-review.googlesource.com/c/chromium/src/+/532294 -# https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches -# Recreated from scratch to be smaller and use system the orginal switches -# (default on) compared to the PR -Patch100: chromium-vaapi.patch +Patch79: chromium-97-Point-constexpr.patch +Patch80: chromium-97-ScrollView-reference.patch +Patch81: chromium-95-libyuv-arm.patch +Patch82: fix-tag-dragging-in-Mutter.patch +Patch83: fix-tag-dragging-in-KWin.patch Patch101: chromium-86-fix-vaapi-on-intel.patch # PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding Patch102: chromium-prop-codecs.patch @@ -289,8 +278,8 @@ BuildRequires: binutils-gold BuildRequires: gcc BuildRequires: gcc-c++ %else -BuildRequires: gcc10 -BuildRequires: gcc10-c++ +BuildRequires: gcc11 +BuildRequires: gcc11-c++ %endif %endif @@ -325,9 +314,9 @@ 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 +# use our wrapper (disabled) +#rm chrome/installer/linux/common/wrapper +#cp %{SOURCE106} chrome/installer/linux/common/wrapper # Remove bundled libs keeplibs=( @@ -597,8 +586,8 @@ export CC=clang export CXX=clang++ %else %if 0%{?suse_version} <= 1500 -export CC=gcc-10 -export CXX=g++-10 +export CC=gcc-11 +export CXX=g++-11 # some still call gcc/g++ ln -sfn %{_bindir}/$CC $HOME/bin/gcc ln -sfn %{_bindir}/$CXX $HOME/bin/g++ diff --git a/fix-tag-dragging-in-KWin.patch b/fix-tag-dragging-in-KWin.patch new file mode 100644 index 0000000..7c74685 --- /dev/null +++ b/fix-tag-dragging-in-KWin.patch @@ -0,0 +1,35 @@ +From 52d0ad25ea695da44195e49f36e69fa81b55e670 Mon Sep 17 00:00:00 2001 +From: Tom Anderson +Date: Wed, 5 Jan 2022 21:11:03 +0000 +Subject: [PATCH] [X11] Fix tag dragging in KWin + +R=sky + +Bug: 1279532 +Change-Id: Iac166803e2149eef234045d922b630f0019c8073 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3355376 +Auto-Submit: Thomas Anderson +Reviewed-by: Scott Violet +Commit-Queue: Thomas Anderson +Cr-Commit-Position: refs/heads/main@{#955869} +--- + ui/platform_window/x11/x11_topmost_window_finder.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ui/platform_window/x11/x11_topmost_window_finder.cc b/ui/platform_window/x11/x11_topmost_window_finder.cc +index 50e75e17f0a..2e16393487b 100644 +--- a/ui/platform_window/x11/x11_topmost_window_finder.cc ++++ b/ui/platform_window/x11/x11_topmost_window_finder.cc +@@ -68,9 +68,9 @@ bool EnumerateAllWindows(ShouldStopIteratingCallback should_stop_iterating, + + void EnumerateTopLevelWindows( + ui::ShouldStopIteratingCallback should_stop_iterating) { +- // Some WMs parent 'top-level' windows in unnamed actual top-level windows +- // (ion WM), so extend the search depth to all children of top-level windows. +- const int kMaxSearchDepth = 1; ++ // WMs may reparent toplevel windows inside their own containers, so extend ++ // the search to all grandchildren of all toplevel windows. ++ const int kMaxSearchDepth = 2; + ui::EnumerateAllWindows(should_stop_iterating, kMaxSearchDepth); + } + diff --git a/fix-tag-dragging-in-Mutter.patch b/fix-tag-dragging-in-Mutter.patch new file mode 100644 index 0000000..4803ff4 --- /dev/null +++ b/fix-tag-dragging-in-Mutter.patch @@ -0,0 +1,46 @@ +From 3806f28918ea23291749ff4775339075a5f394e8 Mon Sep 17 00:00:00 2001 +From: Tom Anderson +Date: Thu, 6 Jan 2022 00:59:40 +0000 +Subject: [PATCH] [X11] Fix tag dragging in Mutter + +We used to use a BFS to find the target window for tag dragging, but +this causes windows underneath (like the window for the desktop +wallpaper) to take precedence over nested windows. + +This CL switches to a DFS. + +R=sky + +Bug: 1279532 +Change-Id: Ib569e9270be60bcb4fff088517dfe295697608b0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3355470 +Reviewed-by: Scott Violet +Commit-Queue: Thomas Anderson +Auto-Submit: Thomas Anderson +Cr-Commit-Position: refs/heads/main@{#955976} +--- + ui/platform_window/x11/x11_topmost_window_finder.cc | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/ui/platform_window/x11/x11_topmost_window_finder.cc b/ui/platform_window/x11/x11_topmost_window_finder.cc +index 2e16393487b..e20bf0abf0e 100644 +--- a/ui/platform_window/x11/x11_topmost_window_finder.cc ++++ b/ui/platform_window/x11/x11_topmost_window_finder.cc +@@ -44,15 +44,8 @@ bool EnumerateChildren(ShouldStopIteratingCallback should_stop_iterating, + for (iter = windows.rbegin(); iter != windows.rend(); iter++) { + if (IsWindowNamed(*iter) && should_stop_iterating.Run(*iter)) + return true; +- } +- +- // If we're at this point, we didn't find the window we're looking for at the +- // current level, so we need to recurse to the next level. We use a second +- // loop because the recursion and call to XQueryTree are expensive and is only +- // needed for a small number of cases. +- if (++depth <= max_depth) { +- for (iter = windows.rbegin(); iter != windows.rend(); iter++) { +- if (EnumerateChildren(should_stop_iterating, *iter, max_depth, depth)) ++ if (depth < max_depth) { ++ if (EnumerateChildren(should_stop_iterating, *iter, max_depth, depth + 1)) + return true; + } + } diff --git a/gcc-enable-lto.patch b/gcc-enable-lto.patch index 92f0daf..67e034e 100644 --- a/gcc-enable-lto.patch +++ b/gcc-enable-lto.patch @@ -3,7 +3,7 @@ Index: chromium-85.0.4183.69/build/config/BUILDCONFIG.gn --- chromium-85.0.4183.69.orig/build/config/BUILDCONFIG.gn +++ chromium-85.0.4183.69/build/config/BUILDCONFIG.gn @@ -130,6 +130,8 @@ declare_args() { - # separate flags. + # set "is_official_build" to true for any build intended to ship to end-users. is_official_build = false + gcc_lto = false