Accepting request 1080941 from GNOME:Next

- Update to version 2.40.1 (boo#1210295):
  + The Bubblewrap sandbox no longer requires setting an
    application identifier via GApplication to operate correctly.
    Using GApplication is still recommended, but optional.
  + Adjust the scrolling speed for mouse wheels to make it feel
    more natural.
  + Allow pasting content using the Asynchronous Clipboard API when
    the origin is the same as the clipboard contents.
  + Improvements to the GStreamer multimedia playback, in
    particular around MSE, WebRTC, and seeking.
  + Make all supported image types appear in the Accept HTTP
    header.
  + Fix text caret blinking when blinking is disabled in the GTK
    settings.
  + Fix default database quota size definition.
  + Fix application of all caps tags listed in the
    font-feature-settings CSS property.
  + Fix the build with journald support enabled when using elogind
    instead of the systemd libraries.
  + Fix the build when libgcrypt provides a libgcrypt-config script
    instead of a pkg-config module file.
  + Fix font height calculations for the font-size-adjust CSS
    property.
  + Fix the build when ccache is used in certain setups.
  + Fix the build for RISC-V 64-bit targets.
  + Fix the build with GCC 13.
  + Fix several crashes and rendering issues.
  + Security fixes: CVE-2023-28205.
- Drop regression-fix.patch and fix-gst-crash.patch: fixed
    upstream.
- Rebase gcc13-fix.patch.

OBS-URL: https://build.opensuse.org/request/show/1080941
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/webkit2gtk3?expand=0&rev=398
This commit is contained in:
Bjørn Lie 2023-04-21 07:15:08 +00:00 committed by Git OBS Bridge
parent 84fd177e61
commit af7d090c42
9 changed files with 53 additions and 124 deletions

View File

@ -1,66 +0,0 @@
From: Philippe Normand <philn@igalia.com>
Subject: Fix crash in webkit_media_stream_src_class_init()
Bug: https://bugs.webkit.org/show_bug.cgi?id=254025
Origin: https://github.com/WebKit/WebKit/commit/358ce3a4bd7353c8edaa5720c949301f31c9a5e9
Index: webkitgtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
===================================================================
--- webkitgtk.orig/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
+++ webkitgtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
@@ -2647,6 +2647,9 @@ MediaPlayer::SupportsType MediaPlayerPri
#endif
}
+ if (!ensureGStreamerInitialized())
+ return result;
+
GST_DEBUG("Checking mime-type \"%s\"", parameters.type.raw().utf8().data());
if (parameters.type.isEmpty())
return result;
Index: webkitgtk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
===================================================================
--- webkitgtk.orig/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
+++ webkitgtk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
@@ -439,22 +439,13 @@ void MediaPlayerPrivateGStreamerMSE::get
MediaPlayer::SupportsType MediaPlayerPrivateGStreamerMSE::supportsType(const MediaEngineSupportParameters& parameters)
{
- static std::optional<VideoDecodingLimits> videoDecodingLimits;
-#ifdef VIDEO_DECODING_LIMIT
- static std::once_flag onceFlag;
- std::call_once(onceFlag, [] {
- videoDecodingLimits = videoDecoderLimitsDefaults();
- if (!videoDecodingLimits) {
- GST_WARNING("Parsing VIDEO_DECODING_LIMIT failed");
- ASSERT_NOT_REACHED();
- }
- });
-#endif
-
MediaPlayer::SupportsType result = MediaPlayer::SupportsType::IsNotSupported;
if (!parameters.isMediaSource)
return result;
+ if (!ensureGStreamerInitialized())
+ return result;
+
auto containerType = parameters.type.containerType();
// YouTube TV provides empty types for some videos and we want to be selected as best media engine for them.
@@ -476,6 +467,16 @@ MediaPlayer::SupportsType MediaPlayerPri
if (!ok)
height = 0;
+ static std::optional<VideoDecodingLimits> videoDecodingLimits;
+#ifdef VIDEO_DECODING_LIMIT
+ static std::once_flag onceFlag;
+ std::call_once(onceFlag, [] {
+ videoDecodingLimits = videoDecoderLimitsDefaults();
+ if (!videoDecodingLimits)
+ GST_WARNING("Parsing VIDEO_DECODING_LIMIT failed");
+ });
+#endif
+
if (videoDecodingLimits && (width > videoDecodingLimits->mediaMaxWidth || height > videoDecodingLimits->mediaMaxHeight))
return result;

View File

@ -1,19 +1,18 @@
diff --git a/Source/WebCore/platform/graphics/SourceBrush.cpp b/Source/WebCore/platform/graphics/SourceBrush.cpp diff -urp webkitgtk-2.40.1.orig/Source/WebCore/platform/graphics/SourceBrush.cpp webkitgtk-2.40.1/Source/WebCore/platform/graphics/SourceBrush.cpp
index d7ff7292..48ae0e61 100644 --- webkitgtk-2.40.1.orig/Source/WebCore/platform/graphics/SourceBrush.cpp 2023-04-12 08:07:29.748326800 -0500
--- a/Source/WebCore/platform/graphics/SourceBrush.cpp +++ webkitgtk-2.40.1/Source/WebCore/platform/graphics/SourceBrush.cpp 2023-04-20 11:31:00.456319923 -0500
+++ b/Source/WebCore/platform/graphics/SourceBrush.cpp
@@ -65,12 +65,12 @@ Pattern* SourceBrush::pattern() const @@ -65,12 +65,12 @@ Pattern* SourceBrush::pattern() const
void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& spaceTransform) void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& spaceTransform)
{ {
- m_brush = { Brush::LogicalGradient { WTFMove(gradient), spaceTransform } }; - m_brush = { Brush::LogicalGradient { WTFMove(gradient), spaceTransform } };
+ m_brush = Brush { Brush::LogicalGradient { WTFMove(gradient), spaceTransform } }; + m_brush = Brush { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } };
} }
void SourceBrush::setPattern(Ref<Pattern>&& pattern) void SourceBrush::setPattern(Ref<Pattern>&& pattern)
{ {
- m_brush = { WTFMove(pattern) }; - m_brush = { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
+ m_brush = Brush { WTFMove(pattern) }; + m_brush = Brush { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
} }
WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush) WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush)

View File

@ -1,35 +0,0 @@
From 7bcb97382f2f347dc348c3c31416ae7fd760ce6b Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 17 Mar 2023 15:39:52 -0500
Subject: [PATCH] REGRESSION(261320@main): [GLib] Broke
WebKitUserContentManager::script-message-received
https://bugs.webkit.org/show_bug.cgi?id=254089
Reviewed by NOBODY (OOPS!).
I forgot to update the marshaller used by
WebKitUserContentManager::script-message-received. It worked perfectly
fine in my development environment for whatever reason, but was broken
in at least Ephy Tech Preview.
* Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp:
---
Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp b/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp
index af2d963bb3b3..f778b19bc816 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp
+++ b/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp
@@ -106,7 +106,11 @@ static void webkit_user_content_manager_class_init(WebKitUserContentManagerClass
G_TYPE_FROM_CLASS(gObjectClass),
static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED),
0, nullptr, nullptr,
+#if ENABLE(2022_GLIB_API)
+ g_cclosure_marshal_VOID__OBJECT,
+#else
g_cclosure_marshal_VOID__BOXED,
+#endif
G_TYPE_NONE, 1,
#if ENABLE(2022_GLIB_API)
JSC_TYPE_VALUE);

View File

@ -1,3 +1,38 @@
-------------------------------------------------------------------
Thu Apr 20 14:21:35 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.40.1 (boo#1210295):
+ The Bubblewrap sandbox no longer requires setting an
application identifier via GApplication to operate correctly.
Using GApplication is still recommended, but optional.
+ Adjust the scrolling speed for mouse wheels to make it feel
more natural.
+ Allow pasting content using the Asynchronous Clipboard API when
the origin is the same as the clipboard contents.
+ Improvements to the GStreamer multimedia playback, in
particular around MSE, WebRTC, and seeking.
+ Make all supported image types appear in the Accept HTTP
header.
+ Fix text caret blinking when blinking is disabled in the GTK
settings.
+ Fix default database quota size definition.
+ Fix application of all caps tags listed in the
font-feature-settings CSS property.
+ Fix the build with journald support enabled when using elogind
instead of the systemd libraries.
+ Fix the build when libgcrypt provides a libgcrypt-config script
instead of a pkg-config module file.
+ Fix font height calculations for the font-size-adjust CSS
property.
+ Fix the build when ccache is used in certain setups.
+ Fix the build for RISC-V 64-bit targets.
+ Fix the build with GCC 13.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-28205.
- Drop regression-fix.patch and fix-gst-crash.patch: fixed
upstream.
- Rebase gcc13-fix.patch.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Mar 28 08:22:05 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com> Tue Mar 28 08:22:05 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>

View File

@ -72,7 +72,7 @@ ExclusiveArch: do-not-build
%endif %endif
Name: webkit2%{_gtknamesuffix} Name: webkit2%{_gtknamesuffix}
Version: 2.40.0 Version: 2.40.1
Release: 0 Release: 0
Summary: Library for rendering web content, GTK+ Port Summary: Library for rendering web content, GTK+ Port
License: BSD-3-Clause AND LGPL-2.0-or-later License: BSD-3-Clause AND LGPL-2.0-or-later
@ -83,14 +83,10 @@ Source1: %{url}/releases/%{_name}-%{version}.tar.xz.asc
Source98: baselibs.conf Source98: baselibs.conf
Source99: webkit2gtk3.keyring Source99: webkit2gtk3.keyring
# PATCH-FIX-UPSTREAM regression-fix.patch -- [GLib] Broke WebKitUserContentManager::script-message-received # PATCH-FEATURE-OPENSUSE reproducibility.patch -- Make build reproducible
Patch0: regression-fix.patch Patch0: reproducibility.patch
# PATCH-FIX-UPSTREAM Fix rejected code by GCC 13: https://github.com/WebKit/WebKit/pull/11910 # PATCH-FIX-UPSTREAM Fix rejected code by GCC 13: https://github.com/WebKit/WebKit/pull/11910
Patch1: gcc13-fix.patch Patch1: gcc13-fix.patch
# PATCH-FIX-UPSTREAM fix-gst-crash.patch -- Fix crash in webkit_media_stream_src_class_init()
Patch2: fix-gst-crash.patch
# PATCH-FEATURE-OPENSUSE reproducibility.patch -- Make build reproducible
Patch3: reproducibility.patch
BuildRequires: Mesa-libEGL-devel BuildRequires: Mesa-libEGL-devel
BuildRequires: Mesa-libGL-devel BuildRequires: Mesa-libGL-devel

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a4607ea1bf89669e89b1cb2c63faaec513f93de09b6ae60cc71d6a8aab7ab393
size 40042140

View File

@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABEDAB0WIQTX/PYc+aLeqzHYG9Pz0yLQ7EWCwwUCZBRcPwAKCRDz0yLQ7EWC
w9N0AJkBppB/tddEYzLkxOWIOqCTv4OUaQCgjauy+5yDquyWFZbHaxU7Eh/ofLg=
=XWt1
-----END PGP SIGNATURE-----

BIN
webkitgtk-2.40.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABEDAB0WIQRao7wzT9fjNp58d7KRxVnb5MkSOwUCZEBCkQAKCRCRxVnb5MkS
O8umAJ4lwUaJE5wc06yCJ6KxQV3D040EkQCffYgpjfNmTer2Niy9lhrfMmAK+Gk=
=81MT
-----END PGP SIGNATURE-----