Update to 2.50.3

Resolves: RHEL-130446
Resolves: RHEL-130414
Resolves: RHEL-130401
Resolves: RHEL-130388
Resolves: RHEL-130375
Resolves: RHEL-130362
Resolves: RHEL-130349
Resolves: RHEL-130334
Resolves: RHEL-130320
Resolves: RHEL-130305
Resolves: RHEL-130292
Resolves: RHEL-130264
Resolves: RHEL-130837
Resolves: RHEL-133766
Resolves: RHEL-133750
Resolves: RHEL-132958
Resolves: RHEL-130432
Resolves: RHEL-130279
This commit is contained in:
Michael Catanzaro 2025-12-04 15:00:51 -06:00
parent 4a805ef70a
commit e13141d73b
4 changed files with 40 additions and 38 deletions

View File

@ -1,4 +1,4 @@
From 862976ce1cb811cb96551df1b337b1053755652e Mon Sep 17 00:00:00 2001
From b668f6fc8731b55105a49e72faf266a90d8e65ac Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 4 Apr 2025 13:58:05 -0500
Subject: [PATCH] Build against GLib 2.56
@ -7,7 +7,7 @@ Subject: [PATCH] Build against GLib 2.56
Source/WTF/wtf/Platform.h | 2 --
Source/WTF/wtf/URL.h | 4 ++--
Source/WTF/wtf/glib/GRefPtr.h | 2 ++
Source/WTF/wtf/glib/SocketConnection.cpp | 13 +++++++++++++
Source/WTF/wtf/glib/SocketConnection.cpp | 13 ++++++++++++-
Source/WTF/wtf/glib/URLGLib.cpp | 2 ++
Source/WebCore/platform/LowPowerModeNotifier.h | 2 ++
.../platform/glib/LowPowerModeNotifierGLib.cpp | 8 ++++++++
@ -20,7 +20,7 @@ Subject: [PATCH] Build against GLib 2.56
Source/cmake/OptionsGTK.cmake | 14 ++++++++++++--
Tools/MiniBrowser/gtk/BrowserSettingsDialog.c | 3 ++-
Tools/MiniBrowser/gtk/main.c | 3 ++-
16 files changed, 83 insertions(+), 8 deletions(-)
16 files changed, 82 insertions(+), 9 deletions(-)
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index cbb81ce6c8dc..46cbad83fe4e 100644
@ -79,27 +79,26 @@ index e4cf3bd45104..9729d6709376 100644
WTF_DEFINE_GREF_TRAITS_INLINE(GVariant, g_variant_ref_sink, g_variant_unref, g_variant_is_floating)
diff --git a/Source/WTF/wtf/glib/SocketConnection.cpp b/Source/WTF/wtf/glib/SocketConnection.cpp
index 9b8d58d1b916..73423a23211a 100644
index d28e6dbd67f6..c98362e85f09 100644
--- a/Source/WTF/wtf/glib/SocketConnection.cpp
+++ b/Source/WTF/wtf/glib/SocketConnection.cpp
@@ -145,7 +145,20 @@ bool SocketConnection::readMessage()
@@ -165,7 +165,18 @@ bool SocketConnection::readMessage()
GRefPtr<GVariant> parameters;
if (!it->value.first.isNull()) {
GUniquePtr<GVariantType> variantType(g_variant_type_new(it->value.first.data()));
size_t parametersSize = bodySize.value() - messageNameLength.value();
- parameters = g_variant_new_from_data(variantType.get(), messageData.data(), messageData.size(), FALSE, nullptr, nullptr);
+ // g_variant_new_from_data() requires the memory to be properly aligned for the type being loaded,
+ // but it's not possible to know the alignment because g_variant_type_info_query() is not public API.
+ // Since GLib 2.60 g_variant_new_from_data() already checks the alignment and reallocates the buffer
+ // in aligned memory only if needed. For older versions we can simply ensure the memory is 8 aligned.
+#if GLIB_CHECK_VERSION(2, 60, 0)
parameters = g_variant_new_from_data(variantType.get(), messageData, parametersSize, FALSE, nullptr, nullptr);
+#else
+ auto* alignedMemory = fastAlignedMalloc(8, parametersSize);
+ memcpy(alignedMemory, messageData, parametersSize);
+ GRefPtr<GBytes> bytes = g_bytes_new_with_free_func(alignedMemory, parametersSize, [](gpointer data) {
+WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN
+ auto* alignedMemory = fastAlignedMalloc(8, messageData.size());
+ memcpy(alignedMemory, messageData.data(), messageData.size());
+WTF_ALLOW_UNSAFE_BUFFER_USAGE_END
+ GRefPtr<GBytes> bytes = g_bytes_new_with_free_func(alignedMemory, messageData.size(), [](gpointer data) {
+ fastAlignedFree(data);
+ }, alignedMemory);
+ parameters = g_variant_new_from_bytes(variantType.get(), bytes.get(), FALSE);
+#endif
if (messageIsByteSwapped(flags))
parameters = adoptGRef(g_variant_byteswap(parameters.get()));
}
@ -396,10 +395,10 @@ index a9ee8507c28a..eae6ab798c8f 100644
issuer = certificate.get();
i++;
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
index 77ec61c954c0..285ab3737bfa 100644
index 4522ffdd9f36..0f25e3eae2e1 100644
--- a/Source/cmake/OptionsGTK.cmake
+++ b/Source/cmake/OptionsGTK.cmake
@@ -7,8 +7,6 @@ SET_PROJECT_VERSION(2 50 0)
@@ -7,8 +7,6 @@ SET_PROJECT_VERSION(2 50 3)
set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
@ -474,5 +473,5 @@ index d3fbb968ee46..4f49ad82f9fd 100644
}
--
2.51.0
2.52.0

View File

@ -1,4 +1,4 @@
From 69cd5370bdf7c5d449242de3f53097330113301e Mon Sep 17 00:00:00 2001
From f083d6f8d80c919d185c1b3f77a2bdd705816a2e Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 4 Apr 2025 14:00:12 -0500
Subject: [PATCH] Build against GStreamer 1.16
@ -106,10 +106,10 @@ index c982bcf51e01..01190fe89f9e 100644
GStreamerAudioMixer& GStreamerAudioMixer::singleton()
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
index 27a1b479e1ad..b996e3a8b163 100644
index 419190b917b5..c7b0dacfc117 100644
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
@@ -135,6 +135,25 @@ WARN_UNUSED_RETURN GstPad* webkitGstGhostPadFromStaticTemplate(GstStaticPadTempl
@@ -136,6 +136,25 @@ WARN_UNUSED_RETURN GstPad* webkitGstGhostPadFromStaticTemplate(GstStaticPadTempl
}
#if ENABLE(VIDEO)
@ -135,7 +135,7 @@ index 27a1b479e1ad..b996e3a8b163 100644
bool getVideoSizeAndFormatFromCaps(const GstCaps* caps, WebCore::IntSize& size, GstVideoFormat& format, int& pixelAspectRatioNumerator, int& pixelAspectRatioDenominator, int& stride, double& frameRate, PlatformVideoColorSpace& colorSpace)
{
if (!doCapsHaveType(caps, GST_VIDEO_CAPS_TYPE_PREFIX)) {
@@ -634,31 +653,6 @@ void deinitializeGStreamer()
@@ -695,31 +714,6 @@ void deinitializeGStreamer()
teardownVideoEncoderSingleton();
teardownGStreamerImageDecoders();
#endif
@ -167,7 +167,7 @@ index 27a1b479e1ad..b996e3a8b163 100644
}
unsigned getGstPlayFlag(const char* nick)
@@ -1434,6 +1428,36 @@ String gstStructureToJSONString(const GstStructure* structure)
@@ -1495,6 +1489,36 @@ String gstStructureToJSONString(const GstStructure* structure)
return value->toJSONString();
}
@ -204,7 +204,7 @@ index 27a1b479e1ad..b996e3a8b163 100644
GstClockTime webkitGstInitTime()
{
return s_webkitGstInitTime;
@@ -1491,6 +1515,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
@@ -1552,6 +1576,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
case GST_VIDEO_TRANSFER_BT709:
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt709;
break;
@ -212,7 +212,7 @@ index 27a1b479e1ad..b996e3a8b163 100644
case GST_VIDEO_TRANSFER_BT601:
colorSpace.transfer = PlatformVideoTransferCharacteristics::Smpte170m;
break;
@@ -1503,6 +1528,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
@@ -1564,6 +1589,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
case GST_VIDEO_TRANSFER_BT2020_10:
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt2020_10bit;
break;
@ -220,7 +220,7 @@ index 27a1b479e1ad..b996e3a8b163 100644
case GST_VIDEO_TRANSFER_BT2020_12:
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt2020_12bit;
break;
@@ -1621,6 +1647,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
@@ -1682,6 +1708,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
case PlatformVideoTransferCharacteristics::Bt709:
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT709;
break;
@ -228,7 +228,7 @@ index 27a1b479e1ad..b996e3a8b163 100644
case PlatformVideoTransferCharacteristics::Smpte170m:
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT601;
break;
@@ -1633,6 +1660,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
@@ -1694,6 +1721,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
case PlatformVideoTransferCharacteristics::Bt2020_10bit:
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT2020_10;
break;
@ -237,10 +237,10 @@ index 27a1b479e1ad..b996e3a8b163 100644
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT2020_12;
break;
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
index 1d176ce8e6ae..81cd5bf8b884 100644
index 49e031a72585..c7680e1a49c5 100644
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
@@ -70,6 +70,14 @@ inline bool webkitGstCheckVersion(guint major, guint minor, guint micro)
@@ -74,6 +74,14 @@ inline bool webkitGstCheckVersion(guint major, guint minor, guint micro)
return true;
}
@ -255,7 +255,7 @@ index 1d176ce8e6ae..81cd5bf8b884 100644
#define GST_VIDEO_CAPS_TYPE_PREFIX "video/"_s
#define GST_AUDIO_CAPS_TYPE_PREFIX "audio/"_s
#define GST_TEXT_CAPS_TYPE_PREFIX "text/"_s
@@ -297,6 +305,13 @@ Vector<T> gstStructureGetList(const GstStructure*, ASCIILiteral key);
@@ -303,6 +311,13 @@ Vector<T> gstStructureGetList(const GstStructure*, ASCIILiteral key);
String gstStructureToJSONString(const GstStructure*);
@ -270,19 +270,19 @@ index 1d176ce8e6ae..81cd5bf8b884 100644
PlatformVideoColorSpace videoColorSpaceFromCaps(const GstCaps*);
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
index 440372617f10..184507cef558 100644
index f504e21e0e3f..6bc8f319bbcd 100644
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
@@ -604,8 +604,6 @@ bool MediaPlayerPrivateGStreamer::doSeek(const SeekTarget& target, float rate, b
@@ -624,8 +624,6 @@ bool MediaPlayerPrivateGStreamer::doSeek(const SeekTarget& target, float rate, b
auto seekStop = toGstClockTime(endTime);
GstEvent* event = gst_event_new_seek(rate, GST_FORMAT_TIME, m_seekFlags, GST_SEEK_TYPE_SET, seekStart, GST_SEEK_TYPE_SET, seekStop);
auto event = adoptGRef(gst_event_new_seek(rate, GST_FORMAT_TIME, seekFlags, GST_SEEK_TYPE_SET, seekStart, GST_SEEK_TYPE_SET, seekStop));
- GST_DEBUG_OBJECT(pipeline(), "[Seek] Performing actual seek to %" GST_TIMEP_FORMAT " (endTime: %" GST_TIMEP_FORMAT ") at rate %f", &seekStart, &seekStop, rate);
-
if (isAsync) {
gst_element_call_async(m_pipeline.get(), reinterpret_cast<GstElementCallAsyncFunc>(+[](GstElement* pipeline, gpointer userData) {
GstEvent* event = static_cast<GstEvent*>(userData);
@@ -4278,26 +4276,7 @@ void MediaPlayerPrivateGStreamer::setStreamVolumeElement(GstStreamVolume* volume
auto data = createAsyncSeekData();
data->event = WTFMove(event);
@@ -4330,26 +4328,7 @@ void MediaPlayerPrivateGStreamer::setStreamVolumeElement(GstStreamVolume* volume
bool MediaPlayerPrivateGStreamer::updateVideoSinkStatistics()
{
@ -445,5 +445,5 @@ index af7ad6df1f8f..465e9264cbee 100644
if (ENABLE_WEB_AUDIO)
if (NOT PC_GSTREAMER_AUDIO_FOUND OR NOT PC_GSTREAMER_FFT_FOUND)
--
2.51.0
2.52.0

View File

@ -1,2 +1,2 @@
SHA512 (webkitgtk-2.50.1.tar.xz) = 4b7b6c5ae02f1dbcff26e7af4ee4e3cdd4435c61dfaf17c2981422358dea01cfba0ffe8c6f12c7864b6f1ee6c9906dfa64248bc95effed526e9ade3ad1292888
SHA512 (webkitgtk-2.50.1.tar.xz.asc) = c430677ec8e147750f3dc69f2b6252da9bc9b4df61c0976213dea535be8973dc746b22137d508899d28095f58197e52ffa003ab2033b2c20a6c03d1a1b327e2c
SHA512 (webkitgtk-2.50.3.tar.xz) = 32bebcb99464490ce36116c19e1da40269a7d22bed499056d80a0ad49843defc938203cf3450c122d7ee7aaa87203b265437db400e938e96af30d71f36cef2cf
SHA512 (webkitgtk-2.50.3.tar.xz.asc) = 635998799265ae125ad5ba6e45f939a33f465719756397d125f340818bf35b31d6924dbf91a762201f1f06741c92d2599515f1e28e5d4bdc2a3f16ae678b7aff

View File

@ -6,7 +6,7 @@
cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
Name: webkit2gtk3
Version: 2.50.1
Version: 2.50.3
Release: 1%{?dist}
Summary: GTK Web content engine library
@ -313,6 +313,9 @@ export NINJA_STATUS="[%f/%t][%e] "
%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
%changelog
* Thu Dec 04 2025 Michael Catanzaro <mcatanzaro@redhat.com> - 2.50.3-1
- Update to 2.50.3
* Mon Oct 13 2025 Michael Catanzaro <mcatanzaro@redhat.com> - 2.50.1-1
- Update to 2.50.1