Update to 2.50.3
Resolves: RHEL-130448 Resolves: RHEL-130416 Resolves: RHEL-130403 Resolves: RHEL-130390 Resolves: RHEL-130377 Resolves: RHEL-130364 Resolves: RHEL-130351 Resolves: RHEL-130336 Resolves: RHEL-130322 Resolves: RHEL-130307 Resolves: RHEL-130294 Resolves: RHEL-130266 Resolves: RHEL-130846 Resolves: RHEL-133775 Resolves: RHEL-133759 Resolves: RHEL-132968 Resolves: RHEL-130436 Resolves: RHEL-130281
This commit is contained in:
parent
73dd221e70
commit
42dd6903e0
174
glib-2-68.patch
174
glib-2-68.patch
@ -3,22 +3,7 @@ From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||
Date: Fri, 8 Aug 2025 10:55:54 -0500
|
||||
Subject: [PATCH] Revert "[GLib] Remove all GLIB_CHECK_VERSION conditionals"
|
||||
|
||||
This reverts commit 85b637b69f1c3a6242420b198d1c173477ce0f22.
|
||||
---
|
||||
Source/WTF/wtf/URL.h | 4 ++--
|
||||
Source/WTF/wtf/glib/GRefPtr.h | 2 ++
|
||||
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 ++++++++
|
||||
.../platform/network/soup/CertificateInfoSoup.cpp | 8 ++++++++
|
||||
Source/WebKit/NetworkProcess/glib/DNSCache.cpp | 12 ++++++++++++
|
||||
Source/WebKit/NetworkProcess/glib/DNSCache.h | 2 ++
|
||||
.../NetworkProcess/glib/WebKitCachedResolver.cpp | 6 ++++++
|
||||
.../glib/WebKitOverridingResolver.cpp | 4 ++++
|
||||
Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp | 6 ++++++
|
||||
Source/cmake/OptionsGTK.cmake | 14 ++++++++++++--
|
||||
13 files changed, 79 insertions(+), 4 deletions(-)
|
||||
This partially reverts commit 85b637b69f1c3a6242420b198d1c173477ce0f22.
|
||||
|
||||
diff --git a/Source/WTF/wtf/URL.h b/Source/WTF/wtf/URL.h
|
||||
index daa9f726eb0c..a24c68e1934b 100644
|
||||
@ -56,31 +41,6 @@ index e4cf3bd45104..9729d6709376 100644
|
||||
WTF_DEFINE_GREF_TRAITS_INLINE(GVariantBuilder, g_variant_builder_ref, g_variant_builder_unref)
|
||||
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
|
||||
--- a/Source/WTF/wtf/glib/SocketConnection.cpp
|
||||
+++ b/Source/WTF/wtf/glib/SocketConnection.cpp
|
||||
@@ -145,7 +145,20 @@ bool SocketConnection::readMessage()
|
||||
if (!it->value.first.isNull()) {
|
||||
GUniquePtr<GVariantType> variantType(g_variant_type_new(it->value.first.data()));
|
||||
size_t parametersSize = bodySize.value() - messageNameLength.value();
|
||||
+ // 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) {
|
||||
+ 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()));
|
||||
}
|
||||
diff --git a/Source/WTF/wtf/glib/URLGLib.cpp b/Source/WTF/wtf/glib/URLGLib.cpp
|
||||
index 589dc1b52f8f..f67fe780f333 100644
|
||||
--- a/Source/WTF/wtf/glib/URLGLib.cpp
|
||||
@ -196,138 +156,6 @@ index f32ecca7a300..e81a5433709d 100644
|
||||
}
|
||||
|
||||
} // namespace WebCore
|
||||
diff --git a/Source/WebKit/NetworkProcess/glib/DNSCache.cpp b/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
||||
index a560e73f58a3..78007d891af1 100644
|
||||
--- a/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
||||
+++ b/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
||||
@@ -50,9 +50,17 @@ DNSCache::DNSCacheMap& DNSCache::mapForType(Type type)
|
||||
case Type::Default:
|
||||
return m_dnsMap;
|
||||
case Type::IPv4Only:
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
return m_ipv4Map;
|
||||
+#else
|
||||
+ return m_dnsMap;
|
||||
+#endif
|
||||
case Type::IPv6Only:
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
return m_ipv6Map;
|
||||
+#else
|
||||
+ return m_dnsMap;
|
||||
+#endif
|
||||
}
|
||||
|
||||
RELEASE_ASSERT_NOT_REACHED();
|
||||
@@ -118,16 +126,20 @@ void DNSCache::removeExpiredResponsesFired()
|
||||
{
|
||||
Locker locker { m_lock };
|
||||
removeExpiredResponsesInMap(m_dnsMap);
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
removeExpiredResponsesInMap(m_ipv4Map);
|
||||
removeExpiredResponsesInMap(m_ipv6Map);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void DNSCache::clear()
|
||||
{
|
||||
Locker locker { m_lock };
|
||||
m_dnsMap.clear();
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
m_ipv4Map.clear();
|
||||
m_ipv6Map.clear();
|
||||
+#endif
|
||||
}
|
||||
|
||||
} // namespace WebKit
|
||||
diff --git a/Source/WebKit/NetworkProcess/glib/DNSCache.h b/Source/WebKit/NetworkProcess/glib/DNSCache.h
|
||||
index 6aa530f44321..49aded549588 100644
|
||||
--- a/Source/WebKit/NetworkProcess/glib/DNSCache.h
|
||||
+++ b/Source/WebKit/NetworkProcess/glib/DNSCache.h
|
||||
@@ -65,8 +65,10 @@ private:
|
||||
|
||||
Lock m_lock;
|
||||
DNSCacheMap m_dnsMap WTF_GUARDED_BY_LOCK(m_lock);
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
DNSCacheMap m_ipv4Map;
|
||||
DNSCacheMap m_ipv6Map;
|
||||
+#endif
|
||||
RunLoop::Timer m_expiredTimer;
|
||||
};
|
||||
|
||||
diff --git a/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp b/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp
|
||||
index 2752ff9cfc2c..7804e8b7a588 100644
|
||||
--- a/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp
|
||||
+++ b/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp
|
||||
@@ -67,7 +67,9 @@ static Vector<GRefPtr<GInetAddress>> addressListGListToVector(GList* addressList
|
||||
|
||||
struct LookupAsyncData {
|
||||
CString hostname;
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
DNSCache::Type dnsCacheType { DNSCache::Type::Default };
|
||||
+#endif
|
||||
};
|
||||
WEBKIT_DEFINE_ASYNC_DATA_STRUCT(LookupAsyncData)
|
||||
|
||||
@@ -117,6 +119,7 @@ static GList* webkitCachedResolverLookupByNameFinish(GResolver* resolver, GAsync
|
||||
return static_cast<GList*>(g_task_propagate_pointer(G_TASK(result), error));
|
||||
}
|
||||
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
static inline DNSCache::Type dnsCacheType(GResolverNameLookupFlags flags)
|
||||
{
|
||||
// A cache is kept for each type of response to avoid the overcomplication of combining or filtering results.
|
||||
@@ -177,6 +180,7 @@ static GList* webkitCachedResolverLookupByNameWithFlagsFinish(GResolver* resolve
|
||||
|
||||
return static_cast<GList*>(g_task_propagate_pointer(G_TASK(result), error));
|
||||
}
|
||||
+#endif // GLIB_CHECK_VERSION(2, 59, 0)
|
||||
|
||||
static char* webkitCachedResolverLookupByAddress(GResolver* resolver, GInetAddress* address, GCancellable* cancellable, GError** error)
|
||||
{
|
||||
@@ -219,9 +223,11 @@ static void webkit_cached_resolver_class_init(WebKitCachedResolverClass* klass)
|
||||
resolverClass->lookup_by_name = webkitCachedResolverLookupByName;
|
||||
resolverClass->lookup_by_name_async = webkitCachedResolverLookupByNameAsync;
|
||||
resolverClass->lookup_by_name_finish = webkitCachedResolverLookupByNameFinish;
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
resolverClass->lookup_by_name_with_flags = webkitCachedResolverLookupByNameWithFlags;
|
||||
resolverClass->lookup_by_name_with_flags_async = webkitCachedResolverLookupByNameWithFlagsAsync;
|
||||
resolverClass->lookup_by_name_with_flags_finish = webkitCachedResolverLookupByNameWithFlagsFinish;
|
||||
+#endif
|
||||
resolverClass->lookup_by_address = webkitCachedResolverLookupByAddress;
|
||||
resolverClass->lookup_by_address_async = webkitCachedResolverLookupByAddressAsync;
|
||||
resolverClass->lookup_by_address_finish = webkitCachedResolverLookupByAddressFinish;
|
||||
diff --git a/Source/WebKit/NetworkProcess/glib/WebKitOverridingResolver.cpp b/Source/WebKit/NetworkProcess/glib/WebKitOverridingResolver.cpp
|
||||
index 150d74ed0296..f461e3c695fe 100644
|
||||
--- a/Source/WebKit/NetworkProcess/glib/WebKitOverridingResolver.cpp
|
||||
+++ b/Source/WebKit/NetworkProcess/glib/WebKitOverridingResolver.cpp
|
||||
@@ -90,6 +90,7 @@ static GList* webkitOverridingResolverLookupByNameFinish(GResolver* resolver, GA
|
||||
return static_cast<GList*>(g_task_propagate_pointer(G_TASK(result), error));
|
||||
}
|
||||
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
static GList* createLoobackAddressList(WebKitOverridingResolver* resolver, GResolverNameLookupFlags flags)
|
||||
{
|
||||
GList* list = nullptr;
|
||||
@@ -129,6 +130,7 @@ static GList* webkitOverridingResolverLookupByNameWithFlagsFinish(GResolver* res
|
||||
|
||||
return static_cast<GList*>(g_task_propagate_pointer(G_TASK(result), error));
|
||||
}
|
||||
+#endif // GLIB_CHECK_VERSION(2, 59, 0)
|
||||
|
||||
static char* webkitOverridingResolverLookupByAddress(GResolver* resolver, GInetAddress* address, GCancellable* cancellable, GError** error)
|
||||
{
|
||||
@@ -166,9 +168,11 @@ static void webkit_overriding_resolver_class_init(WebKitOverridingResolverClass*
|
||||
resolverClass->lookup_by_name = webkitOverridingResolverLookupByName;
|
||||
resolverClass->lookup_by_name_async = webkitOverridingResolverLookupByNameAsync;
|
||||
resolverClass->lookup_by_name_finish = webkitOverridingResolverLookupByNameFinish;
|
||||
+#if GLIB_CHECK_VERSION(2, 59, 0)
|
||||
resolverClass->lookup_by_name_with_flags = webkitOverridingResolverLookupByNameWithFlags;
|
||||
resolverClass->lookup_by_name_with_flags_async = webkitOverridingResolverLookupByNameWithFlagsAsync;
|
||||
resolverClass->lookup_by_name_with_flags_finish = webkitOverridingResolverLookupByNameWithFlagsFinish;
|
||||
+#endif
|
||||
resolverClass->lookup_by_address = webkitOverridingResolverLookupByAddress;
|
||||
resolverClass->lookup_by_address_async = webkitOverridingResolverLookupByAddressAsync;
|
||||
resolverClass->lookup_by_address_finish = webkitOverridingResolverLookupByAddressFinish;
|
||||
diff --git a/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp b/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
||||
index a9ee8507c28a..eae6ab798c8f 100644
|
||||
--- a/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
||||
|
||||
4
sources
4
sources
@ -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
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
%endif
|
||||
|
||||
Name: webkit2gtk3
|
||||
Version: 2.50.1
|
||||
Version: 2.50.3
|
||||
Release: 1%{?dist}
|
||||
Summary: GTK Web content engine library
|
||||
|
||||
@ -325,6 +325,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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user