Update to 2.50.0
Resolves: RHEL-116356 Resolves: RHEL-116903 Resolves: RHEL-116916 Resolves: RHEL-116929 Resolves: RHEL-116942
This commit is contained in:
parent
1ea67016d9
commit
f695aaccda
@ -1,17 +1,26 @@
|
|||||||
|
From 35146c99cad7f842666d9123113936ec89388261 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
|
Date: Tue, 23 Sep 2025 15:47:39 -0500
|
||||||
|
Subject: [PATCH] Build against cairo 1.15
|
||||||
|
|
||||||
|
---
|
||||||
|
Source/cmake/OptionsGTK.cmake | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
||||||
index 44ab9b35c6c9..f9c576764f43 100644
|
index 5222f5ea81ab..77ec61c954c0 100644
|
||||||
--- a/Source/cmake/OptionsGTK.cmake
|
--- a/Source/cmake/OptionsGTK.cmake
|
||||||
+++ b/Source/cmake/OptionsGTK.cmake
|
+++ b/Source/cmake/OptionsGTK.cmake
|
||||||
@@ -8,7 +8,7 @@ SET_PROJECT_VERSION(2 48 1)
|
@@ -9,7 +9,7 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
|
||||||
set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
|
|
||||||
|
|
||||||
|
# Update Source/WTF/wtf/Platform.h to match required GLib versions.
|
||||||
find_package(GLIB 2.70.0 REQUIRED COMPONENTS gio gio-unix gobject gthread gmodule)
|
find_package(GLIB 2.70.0 REQUIRED COMPONENTS gio gio-unix gobject gthread gmodule)
|
||||||
-find_package(Cairo 1.16.0 REQUIRED)
|
-find_package(Cairo 1.16.0 REQUIRED)
|
||||||
+find_package(Cairo 1.14.0 REQUIRED)
|
+find_package(Cairo 1.14.0 REQUIRED)
|
||||||
find_package(LibGcrypt 1.7.0 REQUIRED)
|
find_package(LibGcrypt 1.7.0 REQUIRED)
|
||||||
find_package(Libtasn1 REQUIRED)
|
find_package(Libtasn1 REQUIRED)
|
||||||
find_package(HarfBuzz 2.7.4 REQUIRED COMPONENTS ICU)
|
find_package(HarfBuzz 2.7.4 REQUIRED COMPONENTS ICU)
|
||||||
@@ -133,7 +133,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_THUNDER PRIVATE ${ENABLE_DEVELOPER_MODE}
|
@@ -132,7 +132,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_THUNDER PRIVATE ${ENABLE_DEVELOPER_MODE}
|
||||||
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON)
|
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON)
|
||||||
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON)
|
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON)
|
||||||
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON)
|
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON)
|
||||||
@ -20,3 +29,6 @@ index 44ab9b35c6c9..f9c576764f43 100644
|
|||||||
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON)
|
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON)
|
||||||
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CODECS PRIVATE ON)
|
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CODECS PRIVATE ON)
|
||||||
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
|
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
|
||||||
|
--
|
||||||
|
2.51.0
|
||||||
|
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
|
From f3dd0fe388842a7cb35266b4b0b79cfb4ef930c4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
|
Date: Tue, 23 Sep 2025 15:46:28 -0500
|
||||||
|
Subject: [PATCH] Suppress some build warnings
|
||||||
|
|
||||||
|
---
|
||||||
|
Source/ThirdParty/libsysprof-capture/CMakeLists.txt | 1 +
|
||||||
|
Source/cmake/WebKitCompilerFlags.cmake | 8 +-------
|
||||||
|
2 files changed, 2 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/ThirdParty/libsysprof-capture/CMakeLists.txt b/Source/ThirdParty/libsysprof-capture/CMakeLists.txt
|
diff --git a/Source/ThirdParty/libsysprof-capture/CMakeLists.txt b/Source/ThirdParty/libsysprof-capture/CMakeLists.txt
|
||||||
index 7ea8f0469ad7..13a9e390643a 100644
|
index 7ea8f0469ad7..13a9e390643a 100644
|
||||||
--- a/Source/ThirdParty/libsysprof-capture/CMakeLists.txt
|
--- a/Source/ThirdParty/libsysprof-capture/CMakeLists.txt
|
||||||
@ -11,10 +21,22 @@ index 7ea8f0469ad7..13a9e390643a 100644
|
|||||||
-Wno-unused-parameter
|
-Wno-unused-parameter
|
||||||
)
|
)
|
||||||
diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake
|
diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake
|
||||||
index f5ec0a55919b..cf307eac2775 100644
|
index 77a292fb8b15..f6648c39c4e0 100644
|
||||||
--- a/Source/cmake/WebKitCompilerFlags.cmake
|
--- a/Source/cmake/WebKitCompilerFlags.cmake
|
||||||
+++ b/Source/cmake/WebKitCompilerFlags.cmake
|
+++ b/Source/cmake/WebKitCompilerFlags.cmake
|
||||||
@@ -184,8 +184,7 @@ if (COMPILER_IS_GCC_OR_CLANG)
|
@@ -129,11 +129,6 @@ if (DEVELOPER_MODE AND DEVELOPER_MODE_FATAL_WARNINGS)
|
||||||
|
else ()
|
||||||
|
set(FATAL_WARNINGS_FLAG -Werror)
|
||||||
|
endif ()
|
||||||
|
-
|
||||||
|
- check_cxx_compiler_flag(${FATAL_WARNINGS_FLAG} CXX_COMPILER_SUPPORTS_WERROR)
|
||||||
|
- if (CXX_COMPILER_SUPPORTS_WERROR)
|
||||||
|
- set(DEVELOPER_MODE_CXX_FLAGS ${FATAL_WARNINGS_FLAG})
|
||||||
|
- endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (DEVELOPER_MODE OR ARM)
|
||||||
|
@@ -186,8 +181,7 @@ if (COMPILER_IS_GCC_OR_CLANG)
|
||||||
-Wno-misleading-indentation
|
-Wno-misleading-indentation
|
||||||
-Wno-psabi)
|
-Wno-psabi)
|
||||||
|
|
||||||
@ -24,3 +46,6 @@ index f5ec0a55919b..cf307eac2775 100644
|
|||||||
WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-mismatched-new-delete)
|
WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-mismatched-new-delete)
|
||||||
WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-uninitialized)
|
WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-uninitialized)
|
||||||
endif ()
|
endif ()
|
||||||
|
--
|
||||||
|
2.51.0
|
||||||
|
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
|
From 01c16493deb6dab8e04adfcdd244aaad3067d434 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
|
Date: Tue, 7 Oct 2025 11:19:06 -0500
|
||||||
|
Subject: [PATCH] Suppress warning about WEBKIT_FORCE_SANDBOX for Evolution
|
||||||
|
|
||||||
|
---
|
||||||
|
Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
diff --git a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||||
index a2f3b582dcc5..1faf219c2adb 100644
|
index 044ddc0c3e95..a953dda3dcb8 100644
|
||||||
--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||||
+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||||
@@ -91,7 +91,8 @@ void WebProcessPool::platformInitialize(NeedsGlobalStaticInitialization)
|
@@ -155,7 +155,8 @@ void WebProcessPool::platformInitialize(NeedsGlobalStaticInitialization)
|
||||||
else {
|
else {
|
||||||
static bool once = false;
|
static bool once = false;
|
||||||
if (!once) {
|
if (!once) {
|
||||||
@ -12,3 +21,6 @@ index a2f3b582dcc5..1faf219c2adb 100644
|
|||||||
once = true;
|
once = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
--
|
||||||
|
2.51.0
|
||||||
|
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
|
From 5fd4924b8d61545a7798be25ac9cb45c007a1795 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
|
Date: Tue, 7 Oct 2025 11:18:05 -0500
|
||||||
|
Subject: [PATCH] Use a single web process for Evolution
|
||||||
|
|
||||||
|
---
|
||||||
|
Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
||||||
index 65cf0eb2b99a..518cc953edca 100644
|
index dca689a7ace5..b63d037a00f4 100644
|
||||||
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
||||||
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
||||||
@@ -450,6 +450,9 @@ static void webkitWebContextConstructed(GObject* object)
|
@@ -457,6 +457,9 @@ static void webkitWebContextConstructed(GObject* object)
|
||||||
}
|
}
|
||||||
configuration.setTimeZoneOverride(String::fromUTF8(priv->timeZoneOverride.span()));
|
configuration.setTimeZoneOverride(String::fromUTF8(priv->timeZoneOverride.span()));
|
||||||
|
|
||||||
@ -12,3 +21,6 @@ index 65cf0eb2b99a..518cc953edca 100644
|
|||||||
#if !ENABLE(2022_GLIB_API)
|
#if !ENABLE(2022_GLIB_API)
|
||||||
if (!priv->websiteDataManager)
|
if (!priv->websiteDataManager)
|
||||||
priv->websiteDataManager = adoptGRef(webkit_website_data_manager_new("local-storage-directory", priv->localStorageDirectory.data(), nullptr));
|
priv->websiteDataManager = adoptGRef(webkit_website_data_manager_new("local-storage-directory", priv->localStorageDirectory.data(), nullptr));
|
||||||
|
--
|
||||||
|
2.51.0
|
||||||
|
|
||||||
|
127
glib-2.56.patch
127
glib-2.56.patch
@ -1,29 +1,49 @@
|
|||||||
From de6f529213b43a938dcaa125475cef0a1c5e786d Mon Sep 17 00:00:00 2001
|
From 862976ce1cb811cb96551df1b337b1053755652e Mon Sep 17 00:00:00 2001
|
||||||
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
Date: Fri, 4 Apr 2025 13:58:05 -0500
|
Date: Fri, 4 Apr 2025 13:58:05 -0500
|
||||||
Subject: [PATCH] Build against GLib 2.56
|
Subject: [PATCH] Build against GLib 2.56
|
||||||
|
|
||||||
---
|
---
|
||||||
Source/WTF/wtf/URL.h | 4 ++--
|
Source/WTF/wtf/Platform.h | 2 --
|
||||||
Source/WTF/wtf/glib/GRefPtr.cpp | 2 ++
|
Source/WTF/wtf/URL.h | 4 ++--
|
||||||
Source/WTF/wtf/glib/GRefPtr.h | 3 +++
|
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/WTF/wtf/glib/URLGLib.cpp | 2 ++
|
||||||
Source/WebCore/platform/LowPowerModeNotifier.h | 2 ++
|
Source/WebCore/platform/LowPowerModeNotifier.h | 2 ++
|
||||||
.../platform/glib/LowPowerModeNotifierGLib.cpp | 8 ++++++++
|
.../platform/glib/LowPowerModeNotifierGLib.cpp | 8 ++++++++
|
||||||
.../platform/network/soup/CertificateInfoSoup.cpp | 8 ++++++++
|
.../platform/network/soup/CertificateInfoSoup.cpp | 8 ++++++++
|
||||||
Source/WebKit/NetworkProcess/glib/DNSCache.cpp | 12 ++++++++++++
|
Source/WebKit/NetworkProcess/glib/DNSCache.cpp | 12 ++++++++++++
|
||||||
Source/WebKit/NetworkProcess/glib/DNSCache.h | 2 ++
|
Source/WebKit/NetworkProcess/glib/DNSCache.h | 2 ++
|
||||||
.../NetworkProcess/glib/WebKitCachedResolver.cpp | 6 ++++++
|
.../NetworkProcess/glib/WebKitCachedResolver.cpp | 6 ++++++
|
||||||
.../glib/WebKitOverridingResolver.cpp | 4 ++++
|
.../glib/WebKitOverridingResolver.cpp | 4 ++++
|
||||||
Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp | 6 ++++++
|
Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp | 6 ++++++
|
||||||
Source/cmake/OptionsGTK.cmake | 13 ++++++++++++-
|
Source/cmake/OptionsGTK.cmake | 14 ++++++++++++--
|
||||||
Tools/MiniBrowser/gtk/BrowserSettingsDialog.c | 3 ++-
|
Tools/MiniBrowser/gtk/BrowserSettingsDialog.c | 3 ++-
|
||||||
Tools/MiniBrowser/gtk/main.c | 3 ++-
|
Tools/MiniBrowser/gtk/main.c | 3 ++-
|
||||||
16 files changed, 86 insertions(+), 5 deletions(-)
|
16 files changed, 83 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
|
||||||
|
index cbb81ce6c8dc..46cbad83fe4e 100644
|
||||||
|
--- a/Source/WTF/wtf/Platform.h
|
||||||
|
+++ b/Source/WTF/wtf/Platform.h
|
||||||
|
@@ -84,7 +84,6 @@
|
||||||
|
|
||||||
|
#if PLATFORM(GTK)
|
||||||
|
#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_56
|
||||||
|
-#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_70
|
||||||
|
#if USE(GTK4)
|
||||||
|
#define GDK_VERSION_MIN_REQUIRED GDK_VERSION_4_0
|
||||||
|
#else
|
||||||
|
@@ -94,7 +93,6 @@
|
||||||
|
|
||||||
|
#if PLATFORM(WPE)
|
||||||
|
#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_56
|
||||||
|
-#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_70
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE(SOUP)
|
||||||
diff --git a/Source/WTF/wtf/URL.h b/Source/WTF/wtf/URL.h
|
diff --git a/Source/WTF/wtf/URL.h b/Source/WTF/wtf/URL.h
|
||||||
index 8a7864508a8e..f065677c68ad 100644
|
index daa9f726eb0c..a24c68e1934b 100644
|
||||||
--- a/Source/WTF/wtf/URL.h
|
--- a/Source/WTF/wtf/URL.h
|
||||||
+++ b/Source/WTF/wtf/URL.h
|
+++ b/Source/WTF/wtf/URL.h
|
||||||
@@ -27,7 +27,7 @@
|
@@ -27,7 +27,7 @@
|
||||||
@ -35,8 +55,8 @@ index 8a7864508a8e..f065677c68ad 100644
|
|||||||
#include <wtf/glib/GRefPtr.h>
|
#include <wtf/glib/GRefPtr.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -237,7 +237,7 @@ public:
|
@@ -240,7 +240,7 @@ public:
|
||||||
WTF_EXPORT_PRIVATE operator NSURL *() const;
|
WTF_EXPORT_PRIVATE static NSURL *emptyNSURL();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
-#if USE(GLIB)
|
-#if USE(GLIB)
|
||||||
@ -44,44 +64,22 @@ index 8a7864508a8e..f065677c68ad 100644
|
|||||||
WTF_EXPORT_PRIVATE URL(GUri*);
|
WTF_EXPORT_PRIVATE URL(GUri*);
|
||||||
WTF_EXPORT_PRIVATE GRefPtr<GUri> createGUri() const;
|
WTF_EXPORT_PRIVATE GRefPtr<GUri> createGUri() const;
|
||||||
#endif
|
#endif
|
||||||
diff --git a/Source/WTF/wtf/glib/GRefPtr.cpp b/Source/WTF/wtf/glib/GRefPtr.cpp
|
|
||||||
index 4c15aa9866c0..6faa98b7eab2 100644
|
|
||||||
--- a/Source/WTF/wtf/glib/GRefPtr.cpp
|
|
||||||
+++ b/Source/WTF/wtf/glib/GRefPtr.cpp
|
|
||||||
@@ -207,6 +207,7 @@ template <> void derefGPtr(GDBusNodeInfo* ptr)
|
|
||||||
g_dbus_node_info_unref(ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if HAVE(GURI)
|
|
||||||
template <> GUri* refGPtr(GUri* ptr)
|
|
||||||
{
|
|
||||||
if (ptr)
|
|
||||||
@@ -219,6 +220,7 @@ template <> void derefGPtr(GUri* ptr)
|
|
||||||
if (ptr)
|
|
||||||
g_uri_unref(ptr);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
template <>
|
|
||||||
GArray* refGPtr(GArray* ptr)
|
|
||||||
diff --git a/Source/WTF/wtf/glib/GRefPtr.h b/Source/WTF/wtf/glib/GRefPtr.h
|
diff --git a/Source/WTF/wtf/glib/GRefPtr.h b/Source/WTF/wtf/glib/GRefPtr.h
|
||||||
index 87a9ef9760bf..d6c71c14a981 100644
|
index e4cf3bd45104..9729d6709376 100644
|
||||||
--- a/Source/WTF/wtf/glib/GRefPtr.h
|
--- a/Source/WTF/wtf/glib/GRefPtr.h
|
||||||
+++ b/Source/WTF/wtf/glib/GRefPtr.h
|
+++ b/Source/WTF/wtf/glib/GRefPtr.h
|
||||||
@@ -264,8 +264,11 @@ template <> WTF_EXPORT_PRIVATE GArray* refGPtr(GArray*);
|
@@ -328,7 +328,9 @@ WTF_DEFINE_GREF_TRAITS_INLINE(GMainLoop, g_main_loop_ref, g_main_loop_unref)
|
||||||
template <> WTF_EXPORT_PRIVATE void derefGPtr(GArray*);
|
WTF_DEFINE_GREF_TRAITS_INLINE(GMappedFile, g_mapped_file_ref, g_mapped_file_unref)
|
||||||
template <> WTF_EXPORT_PRIVATE GResource* refGPtr(GResource*);
|
WTF_DEFINE_GREF_TRAITS_INLINE(GPtrArray, g_ptr_array_ref, g_ptr_array_unref)
|
||||||
template <> WTF_EXPORT_PRIVATE void derefGPtr(GResource*);
|
WTF_DEFINE_GREF_TRAITS_INLINE(GSource, g_source_ref, g_source_unref)
|
||||||
+
|
|
||||||
+#if HAVE(GURI)
|
+#if HAVE(GURI)
|
||||||
template <> WTF_EXPORT_PRIVATE GUri* refGPtr(GUri*);
|
WTF_DEFINE_GREF_TRAITS_INLINE(GUri, g_uri_ref, g_uri_unref)
|
||||||
template <> WTF_EXPORT_PRIVATE void derefGPtr(GUri*);
|
|
||||||
+#endif
|
+#endif
|
||||||
|
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)
|
||||||
|
|
||||||
template <typename T> inline T* refGPtr(T* ptr)
|
|
||||||
{
|
|
||||||
diff --git a/Source/WTF/wtf/glib/SocketConnection.cpp b/Source/WTF/wtf/glib/SocketConnection.cpp
|
diff --git a/Source/WTF/wtf/glib/SocketConnection.cpp b/Source/WTF/wtf/glib/SocketConnection.cpp
|
||||||
index d1185aeb2d47..80a622b83eba 100644
|
index 9b8d58d1b916..73423a23211a 100644
|
||||||
--- a/Source/WTF/wtf/glib/SocketConnection.cpp
|
--- a/Source/WTF/wtf/glib/SocketConnection.cpp
|
||||||
+++ b/Source/WTF/wtf/glib/SocketConnection.cpp
|
+++ b/Source/WTF/wtf/glib/SocketConnection.cpp
|
||||||
@@ -145,7 +145,20 @@ bool SocketConnection::readMessage()
|
@@ -145,7 +145,20 @@ bool SocketConnection::readMessage()
|
||||||
@ -221,7 +219,7 @@ index f32ecca7a300..e81a5433709d 100644
|
|||||||
|
|
||||||
} // namespace WebCore
|
} // namespace WebCore
|
||||||
diff --git a/Source/WebKit/NetworkProcess/glib/DNSCache.cpp b/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
diff --git a/Source/WebKit/NetworkProcess/glib/DNSCache.cpp b/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
||||||
index db92010baabf..b717b734e8e8 100644
|
index a560e73f58a3..78007d891af1 100644
|
||||||
--- a/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
--- a/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
||||||
+++ b/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
+++ b/Source/WebKit/NetworkProcess/glib/DNSCache.cpp
|
||||||
@@ -50,9 +50,17 @@ DNSCache::DNSCacheMap& DNSCache::mapForType(Type type)
|
@@ -50,9 +50,17 @@ DNSCache::DNSCacheMap& DNSCache::mapForType(Type type)
|
||||||
@ -353,7 +351,7 @@ index 150d74ed0296..f461e3c695fe 100644
|
|||||||
resolverClass->lookup_by_address_async = webkitOverridingResolverLookupByAddressAsync;
|
resolverClass->lookup_by_address_async = webkitOverridingResolverLookupByAddressAsync;
|
||||||
resolverClass->lookup_by_address_finish = webkitOverridingResolverLookupByAddressFinish;
|
resolverClass->lookup_by_address_finish = webkitOverridingResolverLookupByAddressFinish;
|
||||||
diff --git a/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp b/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
diff --git a/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp b/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
||||||
index 1bf17f0f9b67..ef9f5c2e45f0 100644
|
index a9ee8507c28a..eae6ab798c8f 100644
|
||||||
--- a/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
--- a/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
||||||
+++ b/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
+++ b/Source/WebKit/Shared/glib/ArgumentCodersGLib.cpp
|
||||||
@@ -121,11 +121,13 @@ void ArgumentCoder<GRefPtr<GTlsCertificate>>::encode(Encoder& encoder, const GRe
|
@@ -121,11 +121,13 @@ void ArgumentCoder<GRefPtr<GTlsCertificate>>::encode(Encoder& encoder, const GRe
|
||||||
@ -377,10 +375,10 @@ index 1bf17f0f9b67..ef9f5c2e45f0 100644
|
|||||||
+#if GLIB_CHECK_VERSION(2, 69, 0)
|
+#if GLIB_CHECK_VERSION(2, 69, 0)
|
||||||
std::optional<GRefPtr<GByteArray>> privateKey;
|
std::optional<GRefPtr<GByteArray>> privateKey;
|
||||||
decoder >> privateKey;
|
decoder >> privateKey;
|
||||||
if (UNLIKELY(!privateKey))
|
if (!privateKey) [[unlikely]]
|
||||||
@@ -147,6 +150,7 @@ std::optional<GRefPtr<GTlsCertificate>> ArgumentCoder<GRefPtr<GTlsCertificate>>:
|
@@ -147,6 +150,7 @@ std::optional<GRefPtr<GTlsCertificate>> ArgumentCoder<GRefPtr<GTlsCertificate>>:
|
||||||
decoder >> privateKeyPKCS11Uri;
|
decoder >> privateKeyPKCS11Uri;
|
||||||
if (UNLIKELY(!privateKeyPKCS11Uri))
|
if (!privateKeyPKCS11Uri) [[unlikely]]
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
@ -398,18 +396,19 @@ index 1bf17f0f9b67..ef9f5c2e45f0 100644
|
|||||||
issuer = certificate.get();
|
issuer = certificate.get();
|
||||||
i++;
|
i++;
|
||||||
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
||||||
index 8a611c26a0ac..a74c49f46471 100644
|
index 77ec61c954c0..285ab3737bfa 100644
|
||||||
--- a/Source/cmake/OptionsGTK.cmake
|
--- a/Source/cmake/OptionsGTK.cmake
|
||||||
+++ b/Source/cmake/OptionsGTK.cmake
|
+++ b/Source/cmake/OptionsGTK.cmake
|
||||||
@@ -7,7 +7,6 @@ SET_PROJECT_VERSION(2 48 5)
|
@@ -7,8 +7,6 @@ SET_PROJECT_VERSION(2 50 0)
|
||||||
|
|
||||||
set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
|
set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
|
||||||
|
|
||||||
|
-# Update Source/WTF/wtf/Platform.h to match required GLib versions.
|
||||||
-find_package(GLIB 2.70.0 REQUIRED COMPONENTS gio gio-unix gobject gthread gmodule)
|
-find_package(GLIB 2.70.0 REQUIRED COMPONENTS gio gio-unix gobject gthread gmodule)
|
||||||
find_package(Cairo 1.14.0 REQUIRED)
|
find_package(Cairo 1.14.0 REQUIRED)
|
||||||
find_package(LibGcrypt 1.7.0 REQUIRED)
|
find_package(LibGcrypt 1.7.0 REQUIRED)
|
||||||
find_package(Libtasn1 REQUIRED)
|
find_package(Libtasn1 REQUIRED)
|
||||||
@@ -205,6 +204,13 @@ else ()
|
@@ -207,6 +205,13 @@ else ()
|
||||||
SET_AND_EXPOSE_TO_BUILD(ENABLE_2022_GLIB_API OFF)
|
SET_AND_EXPOSE_TO_BUILD(ENABLE_2022_GLIB_API OFF)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
@ -423,7 +422,7 @@ index 8a611c26a0ac..a74c49f46471 100644
|
|||||||
EXPOSE_STRING_VARIABLE_TO_BUILD(WEBKITGTK_API_INFIX)
|
EXPOSE_STRING_VARIABLE_TO_BUILD(WEBKITGTK_API_INFIX)
|
||||||
EXPOSE_STRING_VARIABLE_TO_BUILD(WEBKITGTK_API_VERSION)
|
EXPOSE_STRING_VARIABLE_TO_BUILD(WEBKITGTK_API_VERSION)
|
||||||
|
|
||||||
@@ -277,6 +283,11 @@ if (ENABLED_COMPILER_SANITIZERS)
|
@@ -277,6 +282,11 @@ if (ENABLED_COMPILER_SANITIZERS)
|
||||||
set(ENABLE_DOCUMENTATION OFF)
|
set(ENABLE_DOCUMENTATION OFF)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
@ -454,10 +453,10 @@ index ef000cd2b910..432c97257048 100644
|
|||||||
|
|
||||||
static void featureTreeViewRenderCategoryData(GtkTreeViewColumn *column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
|
static void featureTreeViewRenderCategoryData(GtkTreeViewColumn *column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
|
||||||
diff --git a/Tools/MiniBrowser/gtk/main.c b/Tools/MiniBrowser/gtk/main.c
|
diff --git a/Tools/MiniBrowser/gtk/main.c b/Tools/MiniBrowser/gtk/main.c
|
||||||
index 8433f5360dc4..9e76cb6cde5d 100644
|
index d3fbb968ee46..4f49ad82f9fd 100644
|
||||||
--- a/Tools/MiniBrowser/gtk/main.c
|
--- a/Tools/MiniBrowser/gtk/main.c
|
||||||
+++ b/Tools/MiniBrowser/gtk/main.c
|
+++ b/Tools/MiniBrowser/gtk/main.c
|
||||||
@@ -276,7 +276,7 @@ static gboolean parseFeaturesOptionCallback(const gchar *option, const gchar *va
|
@@ -266,7 +266,7 @@ static gboolean parseFeaturesOptionCallback(const gchar *option, const gchar *va
|
||||||
"features, prefixes '-' and '!' disable features. Names are case-insensitive. Example:\n"
|
"features, prefixes '-' and '!' disable features. Names are case-insensitive. Example:\n"
|
||||||
"\n %s --features='!DirPseudo,+WebAnimationsCustomEffects,webgl'\n\n"
|
"\n %s --features='!DirPseudo,+WebAnimationsCustomEffects,webgl'\n\n"
|
||||||
"Available features (+/- = enabled/disabled by default):\n\n", g_get_prgname());
|
"Available features (+/- = enabled/disabled by default):\n\n", g_get_prgname());
|
||||||
@ -466,7 +465,7 @@ index 8433f5360dc4..9e76cb6cde5d 100644
|
|||||||
for (gsize i = 0; i < webkit_feature_list_get_length(featureList); i++) {
|
for (gsize i = 0; i < webkit_feature_list_get_length(featureList); i++) {
|
||||||
WebKitFeature *feature = webkit_feature_list_get(featureList, i);
|
WebKitFeature *feature = webkit_feature_list_get(featureList, i);
|
||||||
g_print(" %c %s (%s)",
|
g_print(" %c %s (%s)",
|
||||||
@@ -287,6 +287,7 @@ static gboolean parseFeaturesOptionCallback(const gchar *option, const gchar *va
|
@@ -277,6 +277,7 @@ static gboolean parseFeaturesOptionCallback(const gchar *option, const gchar *va
|
||||||
g_print(": %s", webkit_feature_get_name(feature));
|
g_print(": %s", webkit_feature_get_name(feature));
|
||||||
g_print("\n");
|
g_print("\n");
|
||||||
}
|
}
|
||||||
@ -475,5 +474,5 @@ index 8433f5360dc4..9e76cb6cde5d 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.50.1
|
2.51.0
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 32e70166ad9e80a3a190c3a475736835a63f58d1 Mon Sep 17 00:00:00 2001
|
From 69cd5370bdf7c5d449242de3f53097330113301e Mon Sep 17 00:00:00 2001
|
||||||
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
Date: Fri, 4 Apr 2025 14:00:12 -0500
|
Date: Fri, 4 Apr 2025 14:00:12 -0500
|
||||||
Subject: [PATCH] Build against GStreamer 1.16
|
Subject: [PATCH] Build against GStreamer 1.16
|
||||||
@ -7,8 +7,8 @@ Subject: [PATCH] Build against GStreamer 1.16
|
|||||||
.../AudioSourceProviderGStreamer.cpp | 3 +-
|
.../AudioSourceProviderGStreamer.cpp | 3 +-
|
||||||
.../gstreamer/GLVideoSinkGStreamer.cpp | 35 ++++-----
|
.../gstreamer/GLVideoSinkGStreamer.cpp | 35 ++++-----
|
||||||
.../gstreamer/GStreamerAudioMixer.cpp | 2 +-
|
.../gstreamer/GStreamerAudioMixer.cpp | 2 +-
|
||||||
.../graphics/gstreamer/GStreamerCommon.cpp | 77 +++++++++++++------
|
.../graphics/gstreamer/GStreamerCommon.cpp | 78 +++++++++++++------
|
||||||
.../graphics/gstreamer/GStreamerCommon.h | 16 ++++
|
.../graphics/gstreamer/GStreamerCommon.h | 15 ++++
|
||||||
.../gstreamer/MediaPlayerPrivateGStreamer.cpp | 23 +-----
|
.../gstreamer/MediaPlayerPrivateGStreamer.cpp | 23 +-----
|
||||||
.../gstreamer/GStreamerCodecUtilities.cpp | 39 ++++++----
|
.../gstreamer/GStreamerCodecUtilities.cpp | 39 ++++++----
|
||||||
.../VideoEncoderPrivateGStreamer.cpp | 16 ----
|
.../VideoEncoderPrivateGStreamer.cpp | 16 ----
|
||||||
@ -16,13 +16,13 @@ Subject: [PATCH] Build against GStreamer 1.16
|
|||||||
9 files changed, 114 insertions(+), 101 deletions(-)
|
9 files changed, 114 insertions(+), 101 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
|
diff --git a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
|
||||||
index 0abdeb14826e..65763f3cfde3 100644
|
index acee31b1cc4e..e54adb748f98 100644
|
||||||
--- a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
|
--- a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
|
||||||
+++ b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
|
+++ b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
|
||||||
@@ -124,7 +124,8 @@ AudioSourceProviderGStreamer::AudioSourceProviderGStreamer(MediaStreamTrackPriva
|
@@ -125,7 +125,8 @@ AudioSourceProviderGStreamer::AudioSourceProviderGStreamer(MediaStreamTrackPriva
|
||||||
g_signal_connect_swapped(decodebin, "pad-added", G_CALLBACK(+[](AudioSourceProviderGStreamer* provider, GstPad* pad) {
|
g_signal_connect_swapped(decodebin, "pad-added", G_CALLBACK(+[](AudioSourceProviderGStreamer* provider, GstPad* pad) {
|
||||||
auto padCaps = adoptGRef(gst_pad_query_caps(pad, nullptr));
|
auto padCaps = adoptGRef(gst_pad_query_caps(pad, nullptr));
|
||||||
bool isAudio = doCapsHaveType(padCaps.get(), "audio");
|
bool isAudio = doCapsHaveType(padCaps.get(), "audio"_s);
|
||||||
- RELEASE_ASSERT(isAudio);
|
- RELEASE_ASSERT(isAudio);
|
||||||
+ if (!isAudio)
|
+ if (!isAudio)
|
||||||
+ return;
|
+ return;
|
||||||
@ -30,10 +30,10 @@ index 0abdeb14826e..65763f3cfde3 100644
|
|||||||
auto sinkPad = adoptGRef(gst_element_get_static_pad(provider->m_audioSinkBin.get(), "sink"));
|
auto sinkPad = adoptGRef(gst_element_get_static_pad(provider->m_audioSinkBin.get(), "sink"));
|
||||||
gst_pad_link(pad, sinkPad.get());
|
gst_pad_link(pad, sinkPad.get());
|
||||||
diff --git a/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
|
diff --git a/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
|
||||||
index 12fed2ed3b21..fe0d6c660f80 100644
|
index 056f6ca71eb7..87d081cf1e6b 100644
|
||||||
--- a/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
|
--- a/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
|
||||||
+++ b/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
|
+++ b/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
|
||||||
@@ -65,16 +65,7 @@ static bool s_isDMABufDisabled;
|
@@ -67,16 +67,7 @@ static bool s_isDMABufDisabled;
|
||||||
|
|
||||||
static void initializeDMABufAvailability()
|
static void initializeDMABufAvailability()
|
||||||
{
|
{
|
||||||
@ -44,14 +44,14 @@ index 12fed2ed3b21..fe0d6c660f80 100644
|
|||||||
-
|
-
|
||||||
- auto value = unsafeSpan(g_getenv("WEBKIT_GST_DMABUF_SINK_DISABLED"));
|
- auto value = unsafeSpan(g_getenv("WEBKIT_GST_DMABUF_SINK_DISABLED"));
|
||||||
- s_isDMABufDisabled = value.data() && (equalLettersIgnoringASCIICase(value, "true"_s) || equalLettersIgnoringASCIICase(value, "1"_s));
|
- s_isDMABufDisabled = value.data() && (equalLettersIgnoringASCIICase(value, "true"_s) || equalLettersIgnoringASCIICase(value, "1"_s));
|
||||||
- if (!s_isDMABufDisabled && !DRMDeviceManager::singleton().mainGBMDeviceNode(DRMDeviceManager::NodeType::Render))
|
- if (!s_isDMABufDisabled && !DRMDeviceManager::singleton().mainGBMDevice(DRMDeviceManager::NodeType::Render))
|
||||||
- s_isDMABufDisabled = true;
|
- s_isDMABufDisabled = true;
|
||||||
- });
|
- });
|
||||||
+ s_isDMABufDisabled = true;
|
+ s_isDMABufDisabled = true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -114,7 +105,19 @@ static void webKitGLVideoSinkConstructed(GObject* object)
|
@@ -119,7 +110,19 @@ static void webKitGLVideoSinkConstructed(GObject* object)
|
||||||
if (!s_isDMABufDisabled)
|
if (!s_isDMABufDisabled)
|
||||||
gst_caps_append(caps.get(), buildDMABufCaps().leakRef());
|
gst_caps_append(caps.get(), buildDMABufCaps().leakRef());
|
||||||
#endif
|
#endif
|
||||||
@ -72,7 +72,7 @@ index 12fed2ed3b21..fe0d6c660f80 100644
|
|||||||
gst_caps_set_features(glCaps.get(), 0, gst_caps_features_new(GST_CAPS_FEATURE_MEMORY_GL_MEMORY, nullptr));
|
gst_caps_set_features(glCaps.get(), 0, gst_caps_features_new(GST_CAPS_FEATURE_MEMORY_GL_MEMORY, nullptr));
|
||||||
gst_caps_append(caps.get(), glCaps.leakRef());
|
gst_caps_append(caps.get(), glCaps.leakRef());
|
||||||
|
|
||||||
@@ -172,17 +175,11 @@ static GstStateChangeReturn webKitGLVideoSinkChangeState(GstElement* element, Gs
|
@@ -178,17 +181,11 @@ static GstStateChangeReturn webKitGLVideoSinkChangeState(GstElement* element, Gs
|
||||||
return GST_ELEMENT_CLASS(webkit_gl_video_sink_parent_class)->change_state(element, transition);
|
return GST_ELEMENT_CLASS(webkit_gl_video_sink_parent_class)->change_state(element, transition);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,26 +93,27 @@ index 12fed2ed3b21..fe0d6c660f80 100644
|
|||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, paramSpec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, paramSpec);
|
||||||
RELEASE_ASSERT_NOT_REACHED();
|
RELEASE_ASSERT_NOT_REACHED();
|
||||||
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp b/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
|
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp b/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
|
||||||
index 8b30e0f14b6a..2d587f68a3b2 100644
|
index c982bcf51e01..01190fe89f9e 100644
|
||||||
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
|
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
|
||||||
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
|
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
|
||||||
@@ -32,7 +32,7 @@ GST_DEBUG_CATEGORY_STATIC(webkit_media_gst_audio_mixer_debug);
|
@@ -32,7 +32,7 @@ GST_DEBUG_CATEGORY_STATIC(webkit_media_gst_audio_mixer_debug);
|
||||||
|
|
||||||
bool GStreamerAudioMixer::isAvailable()
|
bool GStreamerAudioMixer::isAvailable()
|
||||||
{
|
{
|
||||||
- return isGStreamerPluginAvailable("inter") && isGStreamerPluginAvailable("audiomixer");
|
- return isGStreamerPluginAvailable("inter"_s) && isGStreamerPluginAvailable("audiomixer"_s);
|
||||||
+ return false;
|
+ return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
GStreamerAudioMixer& GStreamerAudioMixer::singleton()
|
GStreamerAudioMixer& GStreamerAudioMixer::singleton()
|
||||||
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
|
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
|
||||||
index 7adf0dabc73e..49043537e7f7 100644
|
index 27a1b479e1ad..b996e3a8b163 100644
|
||||||
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
|
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
|
||||||
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
|
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
|
||||||
@@ -132,6 +132,24 @@ GstPad* webkitGstGhostPadFromStaticTemplate(GstStaticPadTemplate* staticPadTempl
|
@@ -135,6 +135,25 @@ WARN_UNUSED_RETURN GstPad* webkitGstGhostPadFromStaticTemplate(GstStaticPadTempl
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLE(VIDEO)
|
#if ENABLE(VIDEO)
|
||||||
|
+
|
||||||
+#if !GST_CHECK_VERSION(1, 18, 0)
|
+#if !GST_CHECK_VERSION(1, 18, 0)
|
||||||
+void webkitGstVideoFormatInfoComponent(const GstVideoFormatInfo* info, guint plane, gint components[GST_VIDEO_MAX_COMPONENTS])
|
+void webkitGstVideoFormatInfoComponent(const GstVideoFormatInfo* info, guint plane, gint components[GST_VIDEO_MAX_COMPONENTS])
|
||||||
+{
|
+{
|
||||||
@ -131,10 +132,10 @@ index 7adf0dabc73e..49043537e7f7 100644
|
|||||||
+}
|
+}
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
bool getVideoSizeAndFormatFromCaps(const GstCaps* caps, WebCore::IntSize& size, GstVideoFormat& format, int& pixelAspectRatioNumerator, int& pixelAspectRatioDenominator, int& stride)
|
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)) {
|
if (!doCapsHaveType(caps, GST_VIDEO_CAPS_TYPE_PREFIX)) {
|
||||||
@@ -633,31 +651,6 @@ void deinitializeGStreamer()
|
@@ -634,31 +653,6 @@ void deinitializeGStreamer()
|
||||||
teardownVideoEncoderSingleton();
|
teardownVideoEncoderSingleton();
|
||||||
teardownGStreamerImageDecoders();
|
teardownGStreamerImageDecoders();
|
||||||
#endif
|
#endif
|
||||||
@ -166,7 +167,7 @@ index 7adf0dabc73e..49043537e7f7 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
unsigned getGstPlayFlag(const char* nick)
|
unsigned getGstPlayFlag(const char* nick)
|
||||||
@@ -1361,6 +1354,36 @@ String gstStructureToJSONString(const GstStructure* structure)
|
@@ -1434,6 +1428,36 @@ String gstStructureToJSONString(const GstStructure* structure)
|
||||||
return value->toJSONString();
|
return value->toJSONString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,7 +204,7 @@ index 7adf0dabc73e..49043537e7f7 100644
|
|||||||
GstClockTime webkitGstInitTime()
|
GstClockTime webkitGstInitTime()
|
||||||
{
|
{
|
||||||
return s_webkitGstInitTime;
|
return s_webkitGstInitTime;
|
||||||
@@ -1418,6 +1441,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
|
@@ -1491,6 +1515,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
|
||||||
case GST_VIDEO_TRANSFER_BT709:
|
case GST_VIDEO_TRANSFER_BT709:
|
||||||
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt709;
|
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt709;
|
||||||
break;
|
break;
|
||||||
@ -211,7 +212,7 @@ index 7adf0dabc73e..49043537e7f7 100644
|
|||||||
case GST_VIDEO_TRANSFER_BT601:
|
case GST_VIDEO_TRANSFER_BT601:
|
||||||
colorSpace.transfer = PlatformVideoTransferCharacteristics::Smpte170m;
|
colorSpace.transfer = PlatformVideoTransferCharacteristics::Smpte170m;
|
||||||
break;
|
break;
|
||||||
@@ -1430,6 +1454,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
|
@@ -1503,6 +1528,7 @@ PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
|
||||||
case GST_VIDEO_TRANSFER_BT2020_10:
|
case GST_VIDEO_TRANSFER_BT2020_10:
|
||||||
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt2020_10bit;
|
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt2020_10bit;
|
||||||
break;
|
break;
|
||||||
@ -219,7 +220,7 @@ index 7adf0dabc73e..49043537e7f7 100644
|
|||||||
case GST_VIDEO_TRANSFER_BT2020_12:
|
case GST_VIDEO_TRANSFER_BT2020_12:
|
||||||
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt2020_12bit;
|
colorSpace.transfer = PlatformVideoTransferCharacteristics::Bt2020_12bit;
|
||||||
break;
|
break;
|
||||||
@@ -1548,6 +1573,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
|
@@ -1621,6 +1647,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
|
||||||
case PlatformVideoTransferCharacteristics::Bt709:
|
case PlatformVideoTransferCharacteristics::Bt709:
|
||||||
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT709;
|
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT709;
|
||||||
break;
|
break;
|
||||||
@ -227,7 +228,7 @@ index 7adf0dabc73e..49043537e7f7 100644
|
|||||||
case PlatformVideoTransferCharacteristics::Smpte170m:
|
case PlatformVideoTransferCharacteristics::Smpte170m:
|
||||||
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT601;
|
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT601;
|
||||||
break;
|
break;
|
||||||
@@ -1560,6 +1586,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
|
@@ -1633,6 +1660,7 @@ void fillVideoInfoColorimetryFromColorSpace(GstVideoInfo* info, const PlatformVi
|
||||||
case PlatformVideoTransferCharacteristics::Bt2020_10bit:
|
case PlatformVideoTransferCharacteristics::Bt2020_10bit:
|
||||||
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT2020_10;
|
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT2020_10;
|
||||||
break;
|
break;
|
||||||
@ -236,10 +237,10 @@ index 7adf0dabc73e..49043537e7f7 100644
|
|||||||
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT2020_12;
|
GST_VIDEO_INFO_COLORIMETRY(info).transfer = GST_VIDEO_TRANSFER_BT2020_12;
|
||||||
break;
|
break;
|
||||||
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
|
diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
|
||||||
index f332ddd0e040..217132050db0 100644
|
index 1d176ce8e6ae..81cd5bf8b884 100644
|
||||||
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
|
--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
|
||||||
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
|
+++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
|
||||||
@@ -64,6 +64,15 @@ inline bool webkitGstCheckVersion(guint major, guint minor, guint micro)
|
@@ -70,6 +70,14 @@ inline bool webkitGstCheckVersion(guint major, guint minor, guint micro)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,14 +249,13 @@ index f332ddd0e040..217132050db0 100644
|
|||||||
+// vendored copy of the function.
|
+// vendored copy of the function.
|
||||||
+#define GST_VIDEO_MAX_COMPONENTS 4
|
+#define GST_VIDEO_MAX_COMPONENTS 4
|
||||||
+void webkitGstVideoFormatInfoComponent(const GstVideoFormatInfo*, guint, gint components[GST_VIDEO_MAX_COMPONENTS]);
|
+void webkitGstVideoFormatInfoComponent(const GstVideoFormatInfo*, guint, gint components[GST_VIDEO_MAX_COMPONENTS]);
|
||||||
|
+#define gst_video_format_info_component webkitGstVideoFormatInfoComponent
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+#define gst_video_format_info_component webkitGstVideoFormatInfoComponent
|
#define GST_VIDEO_CAPS_TYPE_PREFIX "video/"_s
|
||||||
+
|
#define GST_AUDIO_CAPS_TYPE_PREFIX "audio/"_s
|
||||||
#define GST_VIDEO_CAPS_TYPE_PREFIX "video/"
|
#define GST_TEXT_CAPS_TYPE_PREFIX "text/"_s
|
||||||
#define GST_AUDIO_CAPS_TYPE_PREFIX "audio/"
|
@@ -297,6 +305,13 @@ Vector<T> gstStructureGetList(const GstStructure*, ASCIILiteral key);
|
||||||
#define GST_TEXT_CAPS_TYPE_PREFIX "text/"
|
|
||||||
@@ -301,6 +310,13 @@ Vector<T> gstStructureGetArray(const GstStructure*, ASCIILiteral key);
|
|
||||||
|
|
||||||
String gstStructureToJSONString(const GstStructure*);
|
String gstStructureToJSONString(const GstStructure*);
|
||||||
|
|
||||||
@ -270,10 +270,10 @@ index f332ddd0e040..217132050db0 100644
|
|||||||
|
|
||||||
PlatformVideoColorSpace videoColorSpaceFromCaps(const GstCaps*);
|
PlatformVideoColorSpace videoColorSpaceFromCaps(const GstCaps*);
|
||||||
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
||||||
index 9d6d57868055..3d1a5f76a4c2 100644
|
index 440372617f10..184507cef558 100644
|
||||||
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
||||||
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
||||||
@@ -589,8 +589,6 @@ bool MediaPlayerPrivateGStreamer::doSeek(const SeekTarget& target, float rate, b
|
@@ -604,8 +604,6 @@ bool MediaPlayerPrivateGStreamer::doSeek(const SeekTarget& target, float rate, b
|
||||||
auto seekStop = toGstClockTime(endTime);
|
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);
|
GstEvent* event = gst_event_new_seek(rate, GST_FORMAT_TIME, m_seekFlags, GST_SEEK_TYPE_SET, seekStart, GST_SEEK_TYPE_SET, seekStop);
|
||||||
|
|
||||||
@ -282,7 +282,7 @@ index 9d6d57868055..3d1a5f76a4c2 100644
|
|||||||
if (isAsync) {
|
if (isAsync) {
|
||||||
gst_element_call_async(m_pipeline.get(), reinterpret_cast<GstElementCallAsyncFunc>(+[](GstElement* pipeline, gpointer userData) {
|
gst_element_call_async(m_pipeline.get(), reinterpret_cast<GstElementCallAsyncFunc>(+[](GstElement* pipeline, gpointer userData) {
|
||||||
GstEvent* event = static_cast<GstEvent*>(userData);
|
GstEvent* event = static_cast<GstEvent*>(userData);
|
||||||
@@ -4167,26 +4165,7 @@ void MediaPlayerPrivateGStreamer::setStreamVolumeElement(GstStreamVolume* volume
|
@@ -4278,26 +4276,7 @@ void MediaPlayerPrivateGStreamer::setStreamVolumeElement(GstStreamVolume* volume
|
||||||
|
|
||||||
bool MediaPlayerPrivateGStreamer::updateVideoSinkStatistics()
|
bool MediaPlayerPrivateGStreamer::updateVideoSinkStatistics()
|
||||||
{
|
{
|
||||||
@ -311,7 +311,7 @@ index 9d6d57868055..3d1a5f76a4c2 100644
|
|||||||
|
|
||||||
std::optional<VideoPlaybackQualityMetrics> MediaPlayerPrivateGStreamer::videoPlaybackQualityMetrics()
|
std::optional<VideoPlaybackQualityMetrics> MediaPlayerPrivateGStreamer::videoPlaybackQualityMetrics()
|
||||||
diff --git a/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp b/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
|
diff --git a/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp b/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
|
||||||
index 870570cf204a..cc41cdf8911c 100644
|
index 52be1e0338bd..7eb0d67108f1 100644
|
||||||
--- a/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
|
--- a/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
|
||||||
+++ b/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
|
+++ b/Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
|
||||||
@@ -256,9 +256,10 @@ static std::pair<GRefPtr<GstCaps>, GRefPtr<GstCaps>> vpxCapsFromCodecString(cons
|
@@ -256,9 +256,10 @@ static std::pair<GRefPtr<GstCaps>, GRefPtr<GstCaps>> vpxCapsFromCodecString(cons
|
||||||
@ -396,10 +396,10 @@ index 870570cf204a..cc41cdf8911c 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
diff --git a/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp b/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp
|
diff --git a/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp b/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp
|
||||||
index d21b24cfe1ed..aa7492b14dd7 100644
|
index 4e57c2422148..993357fdb9ca 100644
|
||||||
--- a/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp
|
--- a/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp
|
||||||
+++ b/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp
|
+++ b/Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp
|
||||||
@@ -898,22 +898,6 @@ static void webkit_video_encoder_class_init(WebKitVideoEncoderClass* klass)
|
@@ -857,22 +857,6 @@ static void webkit_video_encoder_class_init(WebKitVideoEncoderClass* klass)
|
||||||
"temporal-scalability-rate-decimator", decimators.get(),
|
"temporal-scalability-rate-decimator", decimators.get(),
|
||||||
"temporal-scalability-target-bitrate", bitrates.get(), nullptr);
|
"temporal-scalability-target-bitrate", bitrates.get(), nullptr);
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ index d21b24cfe1ed..aa7492b14dd7 100644
|
|||||||
});
|
});
|
||||||
|
|
||||||
diff --git a/Source/cmake/GStreamerChecks.cmake b/Source/cmake/GStreamerChecks.cmake
|
diff --git a/Source/cmake/GStreamerChecks.cmake b/Source/cmake/GStreamerChecks.cmake
|
||||||
index 27816a97ff26..94863212aee9 100644
|
index af7ad6df1f8f..465e9264cbee 100644
|
||||||
--- a/Source/cmake/GStreamerChecks.cmake
|
--- a/Source/cmake/GStreamerChecks.cmake
|
||||||
+++ b/Source/cmake/GStreamerChecks.cmake
|
+++ b/Source/cmake/GStreamerChecks.cmake
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
@ -445,5 +445,5 @@ index 27816a97ff26..94863212aee9 100644
|
|||||||
if (ENABLE_WEB_AUDIO)
|
if (ENABLE_WEB_AUDIO)
|
||||||
if (NOT PC_GSTREAMER_AUDIO_FOUND OR NOT PC_GSTREAMER_FFT_FOUND)
|
if (NOT PC_GSTREAMER_AUDIO_FOUND OR NOT PC_GSTREAMER_FFT_FOUND)
|
||||||
--
|
--
|
||||||
2.49.0
|
2.51.0
|
||||||
|
|
||||||
|
@ -1,5 +1,37 @@
|
|||||||
|
From 4d81f51a0d3ddd85ec8eac48b3093d9818c97907 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
|
Date: Tue, 23 Sep 2025 15:48:27 -0500
|
||||||
|
Subject: [PATCH] Build against harfbuzz 1.7.5
|
||||||
|
|
||||||
|
---
|
||||||
|
.../skia/modules/skshaper/src/SkShaper_harfbuzz.cpp | 11 ++++-------
|
||||||
|
.../platform/graphics/skia/SkiaHarfBuzzFont.cpp | 8 +++++---
|
||||||
|
2 files changed, 9 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp b/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp
|
||||||
|
index c40b01d85ab4..79c883dd1380 100644
|
||||||
|
--- a/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp
|
||||||
|
+++ b/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp
|
||||||
|
@@ -275,13 +275,10 @@ HBFace create_hb_face(const SkTypeface& typeface) {
|
||||||
|
// hb_face_create always succeeds. Check that the format is minimally recognized first.
|
||||||
|
// hb_face_create_for_tables may still create a working hb_face.
|
||||||
|
// See https://github.com/harfbuzz/harfbuzz/issues/248 .
|
||||||
|
- unsigned int num_hb_faces = hb_face_count(blob.get());
|
||||||
|
- if (0 < num_hb_faces && (unsigned)index < num_hb_faces) {
|
||||||
|
- face.reset(hb_face_create(blob.get(), (unsigned)index));
|
||||||
|
- // Check the number of glyphs as a basic sanitization step.
|
||||||
|
- if (face && hb_face_get_glyph_count(face.get()) == 0) {
|
||||||
|
- face.reset();
|
||||||
|
- }
|
||||||
|
+ face.reset(hb_face_create(blob.get(), (unsigned)index));
|
||||||
|
+ // Check the number of glyphs as a basic sanitization step.
|
||||||
|
+ if (face && hb_face_get_glyph_count(face.get()) == 0) {
|
||||||
|
+ face.reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!face) {
|
||||||
diff --git a/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp b/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp
|
diff --git a/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp b/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp
|
||||||
index 8bc21b21976c..68654f602c92 100644
|
index dbbb5cc21cb6..8818343d3b57 100644
|
||||||
--- a/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp
|
--- a/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp
|
||||||
+++ b/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp
|
+++ b/Source/WebCore/platform/graphics/skia/SkiaHarfBuzzFont.cpp
|
||||||
@@ -101,9 +101,10 @@ static HbUniquePtr<hb_face_t> createHarfBuzzFace(SkTypeface& typeface)
|
@@ -101,9 +101,10 @@ static HbUniquePtr<hb_face_t> createHarfBuzzFace(SkTypeface& typeface)
|
||||||
@ -24,25 +56,6 @@ index 8bc21b21976c..68654f602c92 100644
|
|||||||
|
|
||||||
if (int axisCount = typeface.getVariationDesignPosition(nullptr, 0)) {
|
if (int axisCount = typeface.getVariationDesignPosition(nullptr, 0)) {
|
||||||
Vector<SkFontArguments::VariationPosition::Coordinate> axisValues(axisCount);
|
Vector<SkFontArguments::VariationPosition::Coordinate> axisValues(axisCount);
|
||||||
diff --git a/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp b/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp
|
--
|
||||||
index 065385774422..498994ff7aa7 100644
|
2.51.0
|
||||||
--- a/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp
|
|
||||||
+++ b/Source/ThirdParty/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp
|
|
||||||
@@ -277,13 +277,10 @@ HBFace create_hb_face(const SkTypeface& typeface) {
|
|
||||||
// hb_face_create always succeeds. Check that the format is minimally recognized first.
|
|
||||||
// hb_face_create_for_tables may still create a working hb_face.
|
|
||||||
// See https://github.com/harfbuzz/harfbuzz/issues/248 .
|
|
||||||
- unsigned int num_hb_faces = hb_face_count(blob.get());
|
|
||||||
- if (0 < num_hb_faces && (unsigned)index < num_hb_faces) {
|
|
||||||
- face.reset(hb_face_create(blob.get(), (unsigned)index));
|
|
||||||
- // Check the number of glyphs as a basic sanitization step.
|
|
||||||
- if (face && hb_face_get_glyph_count(face.get()) == 0) {
|
|
||||||
- face.reset();
|
|
||||||
- }
|
|
||||||
+ face.reset(hb_face_create(blob.get(), (unsigned)index));
|
|
||||||
+ // Check the number of glyphs as a basic sanitization step.
|
|
||||||
+ if (face && hb_face_get_glyph_count(face.get()) == 0) {
|
|
||||||
+ face.reset();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!face) {
|
|
||||||
|
18
i686-build.patch
Normal file
18
i686-build.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
index af53fe269664..237fd6aab9c8 100644
|
||||||
|
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
@@ -2958,6 +2958,13 @@ _wasm_ipint_call_return_location_wide16:
|
||||||
|
_wasm_ipint_call_return_location_wide32:
|
||||||
|
crash()
|
||||||
|
|
||||||
|
+if C_LOOP and not JSVALUE64
|
||||||
|
+_op_instanceof_return_location:
|
||||||
|
+_op_instanceof_return_location_wide16:
|
||||||
|
+_op_instanceof_return_location_wide32:
|
||||||
|
+ crash()
|
||||||
|
+end
|
||||||
|
+
|
||||||
|
end # WEBASSEMBLY
|
||||||
|
|
||||||
|
include? LowLevelInterpreterAdditions
|
243
icu60.patch
243
icu60.patch
@ -1,4 +1,4 @@
|
|||||||
From 5f60bd9605e60231e6d430e7559a2af9d6aa4c33 Mon Sep 17 00:00:00 2001
|
From be79a15040dd992cdac91c59d481fea5d7209df3 Mon Sep 17 00:00:00 2001
|
||||||
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
Date: Thu, 27 Mar 2025 15:56:41 -0500
|
Date: Thu, 27 Mar 2025 15:56:41 -0500
|
||||||
Subject: [PATCH 1/5] Revert "[CMake] Update minimum ICU version to 70.1"
|
Subject: [PATCH 1/5] Revert "[CMake] Update minimum ICU version to 70.1"
|
||||||
@ -9,7 +9,7 @@ This reverts commit 95d71be25d5b838b1171e6b9b2cd526190118fba.
|
|||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
||||||
index 0a30e0c4c7c1..814009146300 100644
|
index 285ab3737bfa..83377867f3b1 100644
|
||||||
--- a/Source/cmake/OptionsGTK.cmake
|
--- a/Source/cmake/OptionsGTK.cmake
|
||||||
+++ b/Source/cmake/OptionsGTK.cmake
|
+++ b/Source/cmake/OptionsGTK.cmake
|
||||||
@@ -10,11 +10,11 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
|
@@ -10,11 +10,11 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
|
||||||
@ -28,10 +28,10 @@ index 0a30e0c4c7c1..814009146300 100644
|
|||||||
find_package(SQLite3 REQUIRED)
|
find_package(SQLite3 REQUIRED)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
--
|
--
|
||||||
2.49.0
|
2.51.0
|
||||||
|
|
||||||
|
|
||||||
From 3e1a6690440b9cb3a11a4cadc69a985845a4a5bd Mon Sep 17 00:00:00 2001
|
From 4c60130350756d48e7f8ed85b4d86d2b049da332 Mon Sep 17 00:00:00 2001
|
||||||
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
Date: Fri, 28 Mar 2025 14:45:03 -0500
|
Date: Fri, 28 Mar 2025 14:45:03 -0500
|
||||||
Subject: [PATCH 2/5] Revert "[JSC] Remove unnecessary ICU version checks"
|
Subject: [PATCH 2/5] Revert "[JSC] Remove unnecessary ICU version checks"
|
||||||
@ -44,7 +44,7 @@ This reverts commit af62f09a1fad0b72293a7f0d082704d92116cb9a.
|
|||||||
3 files changed, 47 insertions(+), 24 deletions(-)
|
3 files changed, 47 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
index 61264bfe23d9..a1c628082dd5 100644
|
index 9bf431425007..17c5b1b848d7 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
@@ -457,7 +457,7 @@ static Vector<Element> collectElements(JSGlobalObject* globalObject, const IntlD
|
@@ -457,7 +457,7 @@ static Vector<Element> collectElements(JSGlobalObject* globalObject, const IntlD
|
||||||
@ -57,10 +57,10 @@ index 61264bfe23d9..a1c628082dd5 100644
|
|||||||
skeletonBuilder.append("00"_s);
|
skeletonBuilder.append("00"_s);
|
||||||
else
|
else
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
||||||
index 67708f1d8d33..0938d2d5b4a5 100644
|
index b05c7813294c..c16e6bcee859 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
||||||
@@ -517,10 +517,14 @@ void IntlNumberFormat::initializeNumberFormat(JSGlobalObject* globalObject, JSVa
|
@@ -496,10 +496,14 @@ void IntlNumberFormat::initializeNumberFormat(JSGlobalObject* globalObject, JSVa
|
||||||
skeletonBuilder.append(" sign-except-zero"_s);
|
skeletonBuilder.append(" sign-except-zero"_s);
|
||||||
break;
|
break;
|
||||||
case SignDisplay::Negative:
|
case SignDisplay::Negative:
|
||||||
@ -80,10 +80,10 @@ index 67708f1d8d33..0938d2d5b4a5 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h b/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h
|
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h b/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h
|
||||||
index ddccce2fd112..980da4e3c74a 100644
|
index c640b73cc891..e678978e453d 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h
|
--- a/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h
|
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormatInlines.h
|
||||||
@@ -199,12 +199,24 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
@@ -200,12 +200,24 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
||||||
case RoundingMode::Trunc:
|
case RoundingMode::Trunc:
|
||||||
skeletonBuilder.append(" rounding-mode-down"_s);
|
skeletonBuilder.append(" rounding-mode-down"_s);
|
||||||
break;
|
break;
|
||||||
@ -112,7 +112,7 @@ index ddccce2fd112..980da4e3c74a 100644
|
|||||||
case RoundingMode::HalfExpand:
|
case RoundingMode::HalfExpand:
|
||||||
skeletonBuilder.append(" rounding-mode-half-up"_s);
|
skeletonBuilder.append(" rounding-mode-half-up"_s);
|
||||||
break;
|
break;
|
||||||
@@ -217,7 +229,7 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
@@ -218,7 +230,7 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#integer-width
|
// https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#integer-width
|
||||||
@ -121,7 +121,7 @@ index ddccce2fd112..980da4e3c74a 100644
|
|||||||
for (unsigned i = 0; i < intlInstance->m_minimumIntegerDigits; ++i)
|
for (unsigned i = 0; i < intlInstance->m_minimumIntegerDigits; ++i)
|
||||||
skeletonBuilder.append('0');
|
skeletonBuilder.append('0');
|
||||||
|
|
||||||
@@ -255,19 +267,23 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
@@ -256,19 +268,23 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
||||||
}
|
}
|
||||||
case IntlRoundingType::MorePrecision:
|
case IntlRoundingType::MorePrecision:
|
||||||
case IntlRoundingType::LessPrecision:
|
case IntlRoundingType::LessPrecision:
|
||||||
@ -158,7 +158,7 @@ index ddccce2fd112..980da4e3c74a 100644
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -278,7 +294,10 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
@@ -279,7 +295,10 @@ void appendNumberFormatDigitOptionsToSkeleton(IntlType* intlInstance, StringBuil
|
||||||
case IntlTrailingZeroDisplay::Auto:
|
case IntlTrailingZeroDisplay::Auto:
|
||||||
break;
|
break;
|
||||||
case IntlTrailingZeroDisplay::StripIfInteger:
|
case IntlTrailingZeroDisplay::StripIfInteger:
|
||||||
@ -171,21 +171,21 @@ index ddccce2fd112..980da4e3c74a 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.49.0
|
2.51.0
|
||||||
|
|
||||||
|
|
||||||
From cf69f3f40771d8724228c3af3a2c96dc04e38f85 Mon Sep 17 00:00:00 2001
|
From 6f52a2ff3327c5ef714fb385f647daceeab1680f Mon Sep 17 00:00:00 2001
|
||||||
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
Date: Fri, 28 Mar 2025 15:01:00 -0500
|
Date: Fri, 28 Mar 2025 15:01:00 -0500
|
||||||
Subject: [PATCH 3/5] Revert "[JSC] TimeZone Cache should be per-process level"
|
Subject: [PATCH 3/5] Revert "[JSC] TimeZone Cache should be per-process level"
|
||||||
|
|
||||||
This reverts commit c779aa30eced87609c7c808d672a8f23c5c4821d.
|
This reverts commit c779aa30eced87609c7c808d672a8f23c5c4821d.
|
||||||
---
|
---
|
||||||
Source/JavaScriptCore/runtime/JSDateMath.cpp | 59 +++++++-------------
|
Source/JavaScriptCore/runtime/JSDateMath.cpp | 61 +++++++-------------
|
||||||
1 file changed, 20 insertions(+), 39 deletions(-)
|
1 file changed, 21 insertions(+), 40 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/JavaScriptCore/runtime/JSDateMath.cpp b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
diff --git a/Source/JavaScriptCore/runtime/JSDateMath.cpp b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
index c6a194568dab..756cbccb1668 100644
|
index 96993af52d33..c40f917fc99f 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
--- a/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
+++ b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
@@ -453,12 +453,9 @@ String DateCache::timeZoneDisplayName(bool isDST)
|
@@ -453,12 +453,9 @@ String DateCache::timeZoneDisplayName(bool isDST)
|
||||||
@ -205,10 +205,10 @@ index c6a194568dab..756cbccb1668 100644
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
-static std::tuple<String, Vector<UChar, 32>> retrieveTimeZoneInformation()
|
-static std::tuple<String, Vector<char16_t, 32>> retrieveTimeZoneInformation()
|
||||||
-{
|
-{
|
||||||
- Locker locker { timeZoneCacheLock };
|
- Locker locker { timeZoneCacheLock };
|
||||||
- static NeverDestroyed<std::tuple<String, Vector<UChar, 32>, uint64_t>> globalCache;
|
- static NeverDestroyed<std::tuple<String, Vector<char16_t, 32>, uint64_t>> globalCache;
|
||||||
-
|
-
|
||||||
- bool isCacheStale = true;
|
- bool isCacheStale = true;
|
||||||
- uint64_t currentID = 0;
|
- uint64_t currentID = 0;
|
||||||
@ -217,7 +217,7 @@ index c6a194568dab..756cbccb1668 100644
|
|||||||
- isCacheStale = std::get<2>(globalCache.get()) != currentID;
|
- isCacheStale = std::get<2>(globalCache.get()) != currentID;
|
||||||
-#endif
|
-#endif
|
||||||
- if (isCacheStale) {
|
- if (isCacheStale) {
|
||||||
- Vector<UChar, 32> timeZoneID;
|
- Vector<char16_t, 32> timeZoneID;
|
||||||
- getTimeZoneOverride(timeZoneID);
|
- getTimeZoneOverride(timeZoneID);
|
||||||
- String canonical;
|
- String canonical;
|
||||||
- UErrorCode status = U_ZERO_ERROR;
|
- UErrorCode status = U_ZERO_ERROR;
|
||||||
@ -226,8 +226,8 @@ index c6a194568dab..756cbccb1668 100644
|
|||||||
- ASSERT_UNUSED(status, U_SUCCESS(status));
|
- ASSERT_UNUSED(status, U_SUCCESS(status));
|
||||||
- }
|
- }
|
||||||
- if (U_SUCCESS(status)) {
|
- if (U_SUCCESS(status)) {
|
||||||
- Vector<UChar, 32> canonicalBuffer;
|
- Vector<char16_t, 32> canonicalBuffer;
|
||||||
- auto status = callBufferProducingFunction(ucal_getCanonicalTimeZoneID, timeZoneID.data(), timeZoneID.size(), canonicalBuffer, nullptr);
|
- auto status = callBufferProducingFunction(ucal_getCanonicalTimeZoneID, timeZoneID.mutableSpan().data(), timeZoneID.size(), canonicalBuffer, nullptr);
|
||||||
- if (U_SUCCESS(status))
|
- if (U_SUCCESS(status))
|
||||||
- canonical = String(canonicalBuffer);
|
- canonical = String(canonicalBuffer);
|
||||||
- }
|
- }
|
||||||
@ -242,25 +242,26 @@ index c6a194568dab..756cbccb1668 100644
|
|||||||
DateCache::~DateCache() = default;
|
DateCache::~DateCache() = default;
|
||||||
|
|
||||||
Ref<DateInstanceData> DateCache::cachedDateInstanceData(double millisecondsFromEpoch)
|
Ref<DateInstanceData> DateCache::cachedDateInstanceData(double millisecondsFromEpoch)
|
||||||
@@ -519,10 +482,28 @@ Ref<DateInstanceData> DateCache::cachedDateInstanceData(double millisecondsFromE
|
@@ -519,11 +482,29 @@ Ref<DateInstanceData> DateCache::cachedDateInstanceData(double millisecondsFromE
|
||||||
void DateCache::timeZoneCacheSlow()
|
void DateCache::timeZoneCacheSlow()
|
||||||
{
|
{
|
||||||
ASSERT(!m_timeZoneCache);
|
ASSERT(!m_timeZoneCache);
|
||||||
- auto [canonical, timeZoneID] = retrieveTimeZoneInformation();
|
- auto [canonical, timeZoneID] = retrieveTimeZoneInformation();
|
||||||
+
|
+
|
||||||
+ Vector<UChar, 32> timeZoneID;
|
+ Vector<char16_t, 32> timeZoneID;
|
||||||
+ getTimeZoneOverride(timeZoneID);
|
+ getTimeZoneOverride(timeZoneID);
|
||||||
auto* cache = new OpaqueICUTimeZone;
|
auto* cache = new OpaqueICUTimeZone;
|
||||||
- cache->m_canonicalTimeZoneID = WTFMove(canonical);
|
- cache->m_canonicalTimeZoneID = WTFMove(canonical);
|
||||||
+
|
+
|
||||||
+ String canonical;
|
+ String canonical;
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
|
- cache->m_calendar = std::unique_ptr<UCalendar, ICUDeleter<ucal_close>>(ucal_open(timeZoneID.span().data(), timeZoneID.size(), "", UCAL_DEFAULT, &status));
|
||||||
+ if (timeZoneID.isEmpty()) {
|
+ if (timeZoneID.isEmpty()) {
|
||||||
+ status = callBufferProducingFunction(ucal_getHostTimeZone, timeZoneID);
|
+ status = callBufferProducingFunction(ucal_getHostTimeZone, timeZoneID);
|
||||||
+ ASSERT_UNUSED(status, U_SUCCESS(status));
|
+ ASSERT_UNUSED(status, U_SUCCESS(status));
|
||||||
+ }
|
+ }
|
||||||
+ if (U_SUCCESS(status)) {
|
+ if (U_SUCCESS(status)) {
|
||||||
+ Vector<UChar, 32> canonicalBuffer;
|
+ Vector<char16_t, 32> canonicalBuffer;
|
||||||
+ auto status = callBufferProducingFunction(ucal_getCanonicalTimeZoneID, timeZoneID.data(), timeZoneID.size(), canonicalBuffer, nullptr);
|
+ auto status = callBufferProducingFunction(ucal_getCanonicalTimeZoneID, timeZoneID.data(), timeZoneID.size(), canonicalBuffer, nullptr);
|
||||||
+ if (U_SUCCESS(status))
|
+ if (U_SUCCESS(status))
|
||||||
+ canonical = String(canonicalBuffer);
|
+ canonical = String(canonicalBuffer);
|
||||||
@ -270,14 +271,15 @@ index c6a194568dab..756cbccb1668 100644
|
|||||||
+ cache->m_canonicalTimeZoneID = WTFMove(canonical);
|
+ cache->m_canonicalTimeZoneID = WTFMove(canonical);
|
||||||
+
|
+
|
||||||
+ status = U_ZERO_ERROR;
|
+ status = U_ZERO_ERROR;
|
||||||
cache->m_calendar = std::unique_ptr<UCalendar, ICUDeleter<ucal_close>>(ucal_open(timeZoneID.data(), timeZoneID.size(), "", UCAL_DEFAULT, &status));
|
+ cache->m_calendar = std::unique_ptr<UCalendar, ICUDeleter<ucal_close>>(ucal_open(timeZoneID.data(), timeZoneID.size(), "", UCAL_DEFAULT, &status));
|
||||||
ASSERT_UNUSED(status, U_SUCCESS(status));
|
ASSERT_UNUSED(status, U_SUCCESS(status));
|
||||||
ucal_setGregorianChange(cache->m_calendar.get(), minECMAScriptTime, &status); // Ignore "unsupported" error.
|
ucal_setGregorianChange(cache->m_calendar.get(), minECMAScriptTime, &status); // Ignore "unsupported" error.
|
||||||
|
m_timeZoneCache = std::unique_ptr<OpaqueICUTimeZone, OpaqueICUTimeZoneDeleter>(cache);
|
||||||
--
|
--
|
||||||
2.49.0
|
2.51.0
|
||||||
|
|
||||||
|
|
||||||
From 43c41bebf484bb3e08adf19cfadff01d820f6872 Mon Sep 17 00:00:00 2001
|
From c5fb088366f855f23a2920b31744740edb5506a2 Mon Sep 17 00:00:00 2001
|
||||||
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
Date: Fri, 28 Mar 2025 15:01:11 -0500
|
Date: Fri, 28 Mar 2025 15:01:11 -0500
|
||||||
Subject: [PATCH 4/5] Revert "[JSC] Rebaseline Intl implementation based on
|
Subject: [PATCH 4/5] Revert "[JSC] Rebaseline Intl implementation based on
|
||||||
@ -304,7 +306,7 @@ This reverts commit 31a358087be7e5e70c7a03bdfcf89de35628a2a2.
|
|||||||
16 files changed, 479 insertions(+), 16 deletions(-)
|
16 files changed, 479 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp
|
||||||
index e3e7671fcf45..2f2371649667 100644
|
index 202e266c55da..9a413dc037a7 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp
|
||||||
@@ -42,12 +42,16 @@
|
@@ -42,12 +42,16 @@
|
||||||
@ -324,7 +326,7 @@ index e3e7671fcf45..2f2371649667 100644
|
|||||||
|
|
||||||
WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN
|
WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN
|
||||||
|
|
||||||
@@ -1446,6 +1450,8 @@ UDateIntervalFormat* IntlDateTimeFormat::createDateIntervalFormatIfNecessary(JSG
|
@@ -1430,6 +1434,8 @@ UDateIntervalFormat* IntlDateTimeFormat::createDateIntervalFormatIfNecessary(JSG
|
||||||
return m_dateIntervalFormat.get();
|
return m_dateIntervalFormat.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -333,7 +335,7 @@ index e3e7671fcf45..2f2371649667 100644
|
|||||||
static std::unique_ptr<UFormattedDateInterval, ICUDeleter<udtitvfmt_closeResult>> formattedValueFromDateRange(UDateIntervalFormat& dateIntervalFormat, UDateFormat& dateFormat, double startDate, double endDate, UErrorCode& status)
|
static std::unique_ptr<UFormattedDateInterval, ICUDeleter<udtitvfmt_closeResult>> formattedValueFromDateRange(UDateIntervalFormat& dateIntervalFormat, UDateFormat& dateFormat, double startDate, double endDate, UErrorCode& status)
|
||||||
{
|
{
|
||||||
auto result = std::unique_ptr<UFormattedDateInterval, ICUDeleter<udtitvfmt_closeResult>>(udtitvfmt_openResult(&status));
|
auto result = std::unique_ptr<UFormattedDateInterval, ICUDeleter<udtitvfmt_closeResult>>(udtitvfmt_openResult(&status));
|
||||||
@@ -1524,6 +1530,8 @@ static bool dateFieldsPracticallyEqual(const UFormattedValue* formattedValue, UE
|
@@ -1508,6 +1514,8 @@ static bool dateFieldsPracticallyEqual(const UFormattedValue* formattedValue, UE
|
||||||
return !hasSpan;
|
return !hasSpan;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -342,7 +344,7 @@ index e3e7671fcf45..2f2371649667 100644
|
|||||||
JSValue IntlDateTimeFormat::formatRange(JSGlobalObject* globalObject, double startDate, double endDate)
|
JSValue IntlDateTimeFormat::formatRange(JSGlobalObject* globalObject, double startDate, double endDate)
|
||||||
{
|
{
|
||||||
ASSERT(m_dateFormat);
|
ASSERT(m_dateFormat);
|
||||||
@@ -1542,6 +1550,7 @@ JSValue IntlDateTimeFormat::formatRange(JSGlobalObject* globalObject, double sta
|
@@ -1526,6 +1534,7 @@ JSValue IntlDateTimeFormat::formatRange(JSGlobalObject* globalObject, double sta
|
||||||
auto* dateIntervalFormat = createDateIntervalFormatIfNecessary(globalObject);
|
auto* dateIntervalFormat = createDateIntervalFormatIfNecessary(globalObject);
|
||||||
RETURN_IF_EXCEPTION(scope, { });
|
RETURN_IF_EXCEPTION(scope, { });
|
||||||
|
|
||||||
@ -350,7 +352,7 @@ index e3e7671fcf45..2f2371649667 100644
|
|||||||
UErrorCode status = U_ZERO_ERROR;
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
auto result = formattedValueFromDateRange(*dateIntervalFormat, *m_dateFormat, startDate, endDate, status);
|
auto result = formattedValueFromDateRange(*dateIntervalFormat, *m_dateFormat, startDate, endDate, status);
|
||||||
if (U_FAILURE(status)) {
|
if (U_FAILURE(status)) {
|
||||||
@@ -1579,6 +1588,17 @@ JSValue IntlDateTimeFormat::formatRange(JSGlobalObject* globalObject, double sta
|
@@ -1563,6 +1572,17 @@ JSValue IntlDateTimeFormat::formatRange(JSGlobalObject* globalObject, double sta
|
||||||
replaceNarrowNoBreakSpaceOrThinSpaceWithNormalSpace(buffer);
|
replaceNarrowNoBreakSpaceOrThinSpaceWithNormalSpace(buffer);
|
||||||
|
|
||||||
return jsString(vm, String(WTFMove(buffer)));
|
return jsString(vm, String(WTFMove(buffer)));
|
||||||
@ -368,7 +370,7 @@ index e3e7671fcf45..2f2371649667 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
JSValue IntlDateTimeFormat::formatRangeToParts(JSGlobalObject* globalObject, double startDate, double endDate)
|
JSValue IntlDateTimeFormat::formatRangeToParts(JSGlobalObject* globalObject, double startDate, double endDate)
|
||||||
@@ -1588,6 +1608,7 @@ JSValue IntlDateTimeFormat::formatRangeToParts(JSGlobalObject* globalObject, dou
|
@@ -1572,6 +1592,7 @@ JSValue IntlDateTimeFormat::formatRangeToParts(JSGlobalObject* globalObject, dou
|
||||||
VM& vm = globalObject->vm();
|
VM& vm = globalObject->vm();
|
||||||
auto scope = DECLARE_THROW_SCOPE(vm);
|
auto scope = DECLARE_THROW_SCOPE(vm);
|
||||||
|
|
||||||
@ -376,7 +378,7 @@ index e3e7671fcf45..2f2371649667 100644
|
|||||||
// http://tc39.es/proposal-intl-DateTimeFormat-formatRange/#sec-partitiondatetimerangepattern
|
// http://tc39.es/proposal-intl-DateTimeFormat-formatRange/#sec-partitiondatetimerangepattern
|
||||||
startDate = timeClip(startDate);
|
startDate = timeClip(startDate);
|
||||||
endDate = timeClip(endDate);
|
endDate = timeClip(endDate);
|
||||||
@@ -1791,6 +1812,12 @@ JSValue IntlDateTimeFormat::formatRangeToParts(JSGlobalObject* globalObject, dou
|
@@ -1775,6 +1796,12 @@ JSValue IntlDateTimeFormat::formatRangeToParts(JSGlobalObject* globalObject, dou
|
||||||
}
|
}
|
||||||
|
|
||||||
return parts;
|
return parts;
|
||||||
@ -390,7 +392,7 @@ index e3e7671fcf45..2f2371649667 100644
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h
|
diff --git a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h
|
||||||
index 121417aab9e1..14c476c72f69 100644
|
index 782b30b0d2b1..cc81be712327 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h
|
--- a/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h
|
+++ b/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h
|
||||||
@@ -32,6 +32,12 @@
|
@@ -32,6 +32,12 @@
|
||||||
@ -407,7 +409,7 @@ index 121417aab9e1..14c476c72f69 100644
|
|||||||
|
|
||||||
enum class RelevantExtensionKey : uint8_t;
|
enum class RelevantExtensionKey : uint8_t;
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp b/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp b/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
|
||||||
index b7ef4bab865f..694ab7afea0c 100644
|
index 7a739f61e2c1..da457ad03212 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
|
||||||
@@ -56,7 +56,6 @@ const ClassInfo IntlDateTimeFormatPrototype::s_info = { "Intl.DateTimeFormat"_s,
|
@@ -56,7 +56,6 @@ const ClassInfo IntlDateTimeFormatPrototype::s_info = { "Intl.DateTimeFormat"_s,
|
||||||
@ -432,7 +434,7 @@ index b7ef4bab865f..694ab7afea0c 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
index a1c628082dd5..78e9106ee0a4 100644
|
index 17c5b1b848d7..c066e80ab130 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
@@ -36,14 +36,21 @@
|
@@ -36,14 +36,21 @@
|
||||||
@ -542,7 +544,7 @@ index 69e64f9c8332..b3f781a54ad4 100644
|
|||||||
String m_numberingSystem;
|
String m_numberingSystem;
|
||||||
CString m_dataLocaleWithExtensions;
|
CString m_dataLocaleWithExtensions;
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlListFormat.cpp b/Source/JavaScriptCore/runtime/IntlListFormat.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlListFormat.cpp b/Source/JavaScriptCore/runtime/IntlListFormat.cpp
|
||||||
index 8fb342027af5..c25cc5f9e90f 100644
|
index 8bc64220a7c7..c24073ce3171 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlListFormat.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlListFormat.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlListFormat.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlListFormat.cpp
|
||||||
@@ -33,12 +33,19 @@
|
@@ -33,12 +33,19 @@
|
||||||
@ -651,7 +653,7 @@ index 2d071949e06f..af6f2c2e7b0a 100644
|
|||||||
|
|
||||||
namespace JSC {
|
namespace JSC {
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
||||||
index 0938d2d5b4a5..1f0aa041c201 100644
|
index c16e6bcee859..1fc664fab1e5 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormat.cpp
|
||||||
@@ -43,8 +43,12 @@
|
@@ -43,8 +43,12 @@
|
||||||
@ -726,7 +728,7 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
// Constructing ICU Number Skeletons to configure UNumberFormatter.
|
// Constructing ICU Number Skeletons to configure UNumberFormatter.
|
||||||
// https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md
|
// https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md
|
||||||
|
|
||||||
@@ -557,11 +570,120 @@ void IntlNumberFormat::initializeNumberFormat(JSGlobalObject* globalObject, JSVa
|
@@ -536,11 +549,120 @@ void IntlNumberFormat::initializeNumberFormat(JSGlobalObject* globalObject, JSVa
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -847,15 +849,15 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
// https://tc39.es/ecma402/#sec-formatnumber
|
// https://tc39.es/ecma402/#sec-formatnumber
|
||||||
@@ -573,6 +695,7 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, double value) con
|
@@ -552,6 +674,7 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, double value) con
|
||||||
value = purifyNaN(value);
|
value = purifyNaN(value);
|
||||||
|
|
||||||
Vector<UChar, 32> buffer;
|
Vector<char16_t, 32> buffer;
|
||||||
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
||||||
ASSERT(m_numberFormatter);
|
ASSERT(m_numberFormatter);
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
||||||
@@ -584,6 +707,12 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, double value) con
|
@@ -563,6 +686,12 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, double value) con
|
||||||
status = callBufferProducingFunction(unumf_resultToString, formattedNumber.get(), buffer);
|
status = callBufferProducingFunction(unumf_resultToString, formattedNumber.get(), buffer);
|
||||||
if (U_FAILURE(status))
|
if (U_FAILURE(status))
|
||||||
return throwTypeError(globalObject, scope, "Failed to format a number."_s);
|
return throwTypeError(globalObject, scope, "Failed to format a number."_s);
|
||||||
@ -868,15 +870,15 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
return jsString(vm, String(WTFMove(buffer)));
|
return jsString(vm, String(WTFMove(buffer)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -597,6 +726,7 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, IntlMathematicalV
|
@@ -576,6 +705,7 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, IntlMathematicalV
|
||||||
const auto& string = value.getString();
|
const auto& string = value.getString();
|
||||||
|
|
||||||
Vector<UChar, 32> buffer;
|
Vector<char16_t, 32> buffer;
|
||||||
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
||||||
ASSERT(m_numberFormatter);
|
ASSERT(m_numberFormatter);
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
||||||
@@ -608,9 +738,16 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, IntlMathematicalV
|
@@ -587,9 +717,16 @@ JSValue IntlNumberFormat::format(JSGlobalObject* globalObject, IntlMathematicalV
|
||||||
status = callBufferProducingFunction(unumf_resultToString, formattedNumber.get(), buffer);
|
status = callBufferProducingFunction(unumf_resultToString, formattedNumber.get(), buffer);
|
||||||
if (U_FAILURE(status))
|
if (U_FAILURE(status))
|
||||||
return throwTypeError(globalObject, scope, "Failed to format a BigInt."_s);
|
return throwTypeError(globalObject, scope, "Failed to format a BigInt."_s);
|
||||||
@ -893,7 +895,7 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
JSValue IntlNumberFormat::formatRange(JSGlobalObject* globalObject, double start, double end) const
|
JSValue IntlNumberFormat::formatRange(JSGlobalObject* globalObject, double start, double end) const
|
||||||
{
|
{
|
||||||
VM& vm = globalObject->vm();
|
VM& vm = globalObject->vm();
|
||||||
@@ -678,6 +815,7 @@ JSValue IntlNumberFormat::formatRange(JSGlobalObject* globalObject, IntlMathemat
|
@@ -657,6 +794,7 @@ JSValue IntlNumberFormat::formatRange(JSGlobalObject* globalObject, IntlMathemat
|
||||||
|
|
||||||
return jsString(vm, String({ string, static_cast<size_t>(length) }));
|
return jsString(vm, String({ string, static_cast<size_t>(length) }));
|
||||||
}
|
}
|
||||||
@ -901,7 +903,7 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
|
|
||||||
static constexpr int32_t literalField = -1;
|
static constexpr int32_t literalField = -1;
|
||||||
struct IntlNumberFormatField {
|
struct IntlNumberFormatField {
|
||||||
@@ -790,6 +928,7 @@ static Vector<IntlNumberFormatField> flattenFields(Vector<IntlNumberFormatField>
|
@@ -769,6 +907,7 @@ static Vector<IntlNumberFormatField> flattenFields(Vector<IntlNumberFormatField>
|
||||||
return flatten;
|
return flatten;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -909,7 +911,7 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
static bool numberFieldsPracticallyEqual(const UFormattedValue* formattedValue, UErrorCode& status)
|
static bool numberFieldsPracticallyEqual(const UFormattedValue* formattedValue, UErrorCode& status)
|
||||||
{
|
{
|
||||||
auto iterator = std::unique_ptr<UConstrainedFieldPosition, ICUDeleter<ucfpos_close>>(ucfpos_open(&status));
|
auto iterator = std::unique_ptr<UConstrainedFieldPosition, ICUDeleter<ucfpos_close>>(ucfpos_open(&status));
|
||||||
@@ -1031,6 +1170,7 @@ JSValue IntlNumberFormat::formatRangeToParts(JSGlobalObject* globalObject, IntlM
|
@@ -1010,6 +1149,7 @@ JSValue IntlNumberFormat::formatRangeToParts(JSGlobalObject* globalObject, IntlM
|
||||||
|
|
||||||
return parts;
|
return parts;
|
||||||
}
|
}
|
||||||
@ -917,15 +919,15 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
|
|
||||||
ASCIILiteral IntlNumberFormat::styleString(Style style)
|
ASCIILiteral IntlNumberFormat::styleString(Style style)
|
||||||
{
|
{
|
||||||
@@ -1328,6 +1468,7 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, double val
|
@@ -1307,6 +1447,7 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, double val
|
||||||
return throwTypeError(globalObject, scope, "failed to open field position iterator"_s);
|
return throwTypeError(globalObject, scope, "failed to open field position iterator"_s);
|
||||||
|
|
||||||
Vector<UChar, 32> result;
|
Vector<char16_t, 32> result;
|
||||||
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
||||||
ASSERT(m_numberFormatter);
|
ASSERT(m_numberFormatter);
|
||||||
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
||||||
if (U_FAILURE(status))
|
if (U_FAILURE(status))
|
||||||
@@ -1342,6 +1483,13 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, double val
|
@@ -1321,6 +1462,13 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, double val
|
||||||
if (U_FAILURE(status))
|
if (U_FAILURE(status))
|
||||||
return throwTypeError(globalObject, scope, "Failed to format a number."_s);
|
return throwTypeError(globalObject, scope, "Failed to format a number."_s);
|
||||||
IntlFieldIterator iterator(*fieldItr.get());
|
IntlFieldIterator iterator(*fieldItr.get());
|
||||||
@ -939,7 +941,7 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
|
|
||||||
auto resultString = String(WTFMove(result));
|
auto resultString = String(WTFMove(result));
|
||||||
|
|
||||||
@@ -1355,6 +1503,7 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, double val
|
@@ -1334,6 +1482,7 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, double val
|
||||||
return parts;
|
return parts;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -947,7 +949,7 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, IntlMathematicalValue&& value, JSString* sourceType) const
|
JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, IntlMathematicalValue&& value, JSString* sourceType) const
|
||||||
{
|
{
|
||||||
VM& vm = globalObject->vm();
|
VM& vm = globalObject->vm();
|
||||||
@@ -1399,6 +1548,7 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, IntlMathem
|
@@ -1378,6 +1527,7 @@ JSValue IntlNumberFormat::formatToParts(JSGlobalObject* globalObject, IntlMathem
|
||||||
|
|
||||||
return parts;
|
return parts;
|
||||||
}
|
}
|
||||||
@ -956,7 +958,7 @@ index 0938d2d5b4a5..1f0aa041c201 100644
|
|||||||
IntlMathematicalValue IntlMathematicalValue::parseString(JSGlobalObject* globalObject, StringView view)
|
IntlMathematicalValue IntlMathematicalValue::parseString(JSGlobalObject* globalObject, StringView view)
|
||||||
{
|
{
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormat.h b/Source/JavaScriptCore/runtime/IntlNumberFormat.h
|
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormat.h b/Source/JavaScriptCore/runtime/IntlNumberFormat.h
|
||||||
index 1bd75559a1d6..4928e5cc4d02 100644
|
index 65a6795b013f..29d197e462fb 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlNumberFormat.h
|
--- a/Source/JavaScriptCore/runtime/IntlNumberFormat.h
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormat.h
|
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormat.h
|
||||||
@@ -34,6 +34,25 @@
|
@@ -34,6 +34,25 @@
|
||||||
@ -985,9 +987,9 @@ index 1bd75559a1d6..4928e5cc4d02 100644
|
|||||||
struct UFormattedValue;
|
struct UFormattedValue;
|
||||||
struct UNumberFormatter;
|
struct UNumberFormatter;
|
||||||
struct UNumberRangeFormatter;
|
struct UNumberRangeFormatter;
|
||||||
@@ -51,13 +70,17 @@ enum class IntlNotation : uint8_t { Standard, Scientific, Engineering, Compact }
|
@@ -52,13 +71,17 @@ template<typename IntlType> void setNumberFormatDigitOptions(JSGlobalObject*, In
|
||||||
template<typename IntlType> void setNumberFormatDigitOptions(JSGlobalObject*, IntlType*, JSObject*, unsigned minimumFractionDigitsDefault, unsigned maximumFractionDigitsDefault, IntlNotation);
|
|
||||||
template<typename IntlType> void appendNumberFormatDigitOptionsToSkeleton(IntlType*, StringBuilder&);
|
template<typename IntlType> void appendNumberFormatDigitOptionsToSkeleton(IntlType*, StringBuilder&);
|
||||||
|
template<typename IntlType> void appendNumberFormatNotationOptionsToSkeleton(IntlType*, StringBuilder&);
|
||||||
|
|
||||||
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
||||||
struct UNumberFormatterDeleter {
|
struct UNumberFormatterDeleter {
|
||||||
@ -1003,7 +1005,7 @@ index 1bd75559a1d6..4928e5cc4d02 100644
|
|||||||
|
|
||||||
class IntlMathematicalValue {
|
class IntlMathematicalValue {
|
||||||
WTF_MAKE_TZONE_ALLOCATED(IntlMathematicalValue);
|
WTF_MAKE_TZONE_ALLOCATED(IntlMathematicalValue);
|
||||||
@@ -159,14 +182,20 @@ public:
|
@@ -162,14 +185,20 @@ public:
|
||||||
JSValue format(JSGlobalObject*, double) const;
|
JSValue format(JSGlobalObject*, double) const;
|
||||||
JSValue format(JSGlobalObject*, IntlMathematicalValue&&) const;
|
JSValue format(JSGlobalObject*, IntlMathematicalValue&&) const;
|
||||||
JSValue formatToParts(JSGlobalObject*, double, JSString* sourceType = nullptr) const;
|
JSValue formatToParts(JSGlobalObject*, double, JSString* sourceType = nullptr) const;
|
||||||
@ -1024,7 +1026,7 @@ index 1bd75559a1d6..4928e5cc4d02 100644
|
|||||||
|
|
||||||
JSBoundFunction* boundFormat() const { return m_boundFormat.get(); }
|
JSBoundFunction* boundFormat() const { return m_boundFormat.get(); }
|
||||||
void setBoundFormat(VM&, JSBoundFunction*);
|
void setBoundFormat(VM&, JSBoundFunction*);
|
||||||
@@ -212,8 +241,14 @@ private:
|
@@ -216,8 +245,14 @@ private:
|
||||||
static JSValue useGroupingValue(VM&, UseGrouping);
|
static JSValue useGroupingValue(VM&, UseGrouping);
|
||||||
|
|
||||||
WriteBarrier<JSBoundFunction> m_boundFormat;
|
WriteBarrier<JSBoundFunction> m_boundFormat;
|
||||||
@ -1040,7 +1042,7 @@ index 1bd75559a1d6..4928e5cc4d02 100644
|
|||||||
String m_locale;
|
String m_locale;
|
||||||
String m_numberingSystem;
|
String m_numberingSystem;
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp b/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp b/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp
|
||||||
index 6459273641c6..026b4269652e 100644
|
index d951aa27c715..4e3615ba7242 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp
|
||||||
@@ -35,12 +35,18 @@
|
@@ -35,12 +35,18 @@
|
||||||
@ -1109,7 +1111,7 @@ index 6459273641c6..026b4269652e 100644
|
|||||||
JSC_DEFINE_HOST_FUNCTION(intlNumberFormatPrototypeFuncFormatToParts, (JSGlobalObject* globalObject, CallFrame* callFrame))
|
JSC_DEFINE_HOST_FUNCTION(intlNumberFormatPrototypeFuncFormatToParts, (JSGlobalObject* globalObject, CallFrame* callFrame))
|
||||||
{
|
{
|
||||||
@@ -177,6 +189,7 @@ JSC_DEFINE_HOST_FUNCTION(intlNumberFormatPrototypeFuncFormatToParts, (JSGlobalOb
|
@@ -177,6 +189,7 @@ JSC_DEFINE_HOST_FUNCTION(intlNumberFormatPrototypeFuncFormatToParts, (JSGlobalOb
|
||||||
if (UNLIKELY(!numberFormat))
|
if (!numberFormat) [[unlikely]]
|
||||||
return JSValue::encode(throwTypeError(globalObject, scope, "Intl.NumberFormat.prototype.formatToParts called on value that's not a NumberFormat"_s));
|
return JSValue::encode(throwTypeError(globalObject, scope, "Intl.NumberFormat.prototype.formatToParts called on value that's not a NumberFormat"_s));
|
||||||
|
|
||||||
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
+#if HAVE(ICU_U_NUMBER_FORMATTER)
|
||||||
@ -1141,7 +1143,7 @@ index 6459273641c6..026b4269652e 100644
|
|||||||
JSC_DEFINE_HOST_FUNCTION(intlNumberFormatPrototypeFuncResolvedOptions, (JSGlobalObject* globalObject, CallFrame* callFrame))
|
JSC_DEFINE_HOST_FUNCTION(intlNumberFormatPrototypeFuncResolvedOptions, (JSGlobalObject* globalObject, CallFrame* callFrame))
|
||||||
{
|
{
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlObject.cpp b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlObject.cpp b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
||||||
index dab995d4c294..51dbe4447db3 100644
|
index 8ef1ee678063..f8413f12dec7 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlObject.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlObject.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
||||||
@@ -169,8 +169,6 @@ namespace JSC {
|
@@ -169,8 +169,6 @@ namespace JSC {
|
||||||
@ -1168,7 +1170,7 @@ index dab995d4c294..51dbe4447db3 100644
|
|||||||
|
|
||||||
Structure* IntlObject::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
|
Structure* IntlObject::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRules.cpp b/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRules.cpp b/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
||||||
index 584c6ff2c435..af58373c78e8 100644
|
index b3e58fc6453f..c451478086f7 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
||||||
@@ -36,8 +36,12 @@
|
@@ -36,8 +36,12 @@
|
||||||
@ -1184,7 +1186,7 @@ index 584c6ff2c435..af58373c78e8 100644
|
|||||||
#define U_HIDE_DRAFT_API 1
|
#define U_HIDE_DRAFT_API 1
|
||||||
|
|
||||||
namespace JSC {
|
namespace JSC {
|
||||||
@@ -118,6 +122,7 @@ void IntlPluralRules::initializePluralRules(JSGlobalObject* globalObject, JSValu
|
@@ -121,6 +125,7 @@ void IntlPluralRules::initializePluralRules(JSGlobalObject* globalObject, JSValu
|
||||||
auto locale = m_locale.utf8();
|
auto locale = m_locale.utf8();
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
|
|
||||||
@ -1192,7 +1194,7 @@ index 584c6ff2c435..af58373c78e8 100644
|
|||||||
StringBuilder skeletonBuilder;
|
StringBuilder skeletonBuilder;
|
||||||
|
|
||||||
appendNumberFormatDigitOptionsToSkeleton(this, skeletonBuilder);
|
appendNumberFormatDigitOptionsToSkeleton(this, skeletonBuilder);
|
||||||
@@ -132,11 +137,36 @@ void IntlPluralRules::initializePluralRules(JSGlobalObject* globalObject, JSValu
|
@@ -135,11 +140,36 @@ void IntlPluralRules::initializePluralRules(JSGlobalObject* globalObject, JSValu
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1229,7 +1231,7 @@ index 584c6ff2c435..af58373c78e8 100644
|
|||||||
|
|
||||||
m_pluralRules = std::unique_ptr<UPluralRules, UPluralRulesDeleter>(uplrules_openForType(locale.data(), m_type == Type::Ordinal ? UPLURAL_TYPE_ORDINAL : UPLURAL_TYPE_CARDINAL, &status));
|
m_pluralRules = std::unique_ptr<UPluralRules, UPluralRulesDeleter>(uplrules_openForType(locale.data(), m_type == Type::Ordinal ? UPLURAL_TYPE_ORDINAL : UPLURAL_TYPE_CARDINAL, &status));
|
||||||
if (U_FAILURE(status)) {
|
if (U_FAILURE(status)) {
|
||||||
@@ -230,6 +260,7 @@ JSValue IntlPluralRules::select(JSGlobalObject* globalObject, double value) cons
|
@@ -234,6 +264,7 @@ JSValue IntlPluralRules::select(JSGlobalObject* globalObject, double value) cons
|
||||||
|
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
|
|
||||||
@ -1237,7 +1239,7 @@ index 584c6ff2c435..af58373c78e8 100644
|
|||||||
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
auto formattedNumber = std::unique_ptr<UFormattedNumber, ICUDeleter<unumf_closeResult>>(unumf_openResult(&status));
|
||||||
if (U_FAILURE(status))
|
if (U_FAILURE(status))
|
||||||
return throwTypeError(globalObject, scope, "failed to select plural value"_s);
|
return throwTypeError(globalObject, scope, "failed to select plural value"_s);
|
||||||
@@ -241,8 +272,17 @@ JSValue IntlPluralRules::select(JSGlobalObject* globalObject, double value) cons
|
@@ -245,8 +276,17 @@ JSValue IntlPluralRules::select(JSGlobalObject* globalObject, double value) cons
|
||||||
if (U_FAILURE(status))
|
if (U_FAILURE(status))
|
||||||
return throwTypeError(globalObject, scope, "failed to select plural value"_s);
|
return throwTypeError(globalObject, scope, "failed to select plural value"_s);
|
||||||
return jsString(vm, String(WTFMove(buffer)));
|
return jsString(vm, String(WTFMove(buffer)));
|
||||||
@ -1255,7 +1257,7 @@ index 584c6ff2c435..af58373c78e8 100644
|
|||||||
JSValue IntlPluralRules::selectRange(JSGlobalObject* globalObject, double start, double end) const
|
JSValue IntlPluralRules::selectRange(JSGlobalObject* globalObject, double start, double end) const
|
||||||
{
|
{
|
||||||
ASSERT(m_numberRangeFormatter);
|
ASSERT(m_numberRangeFormatter);
|
||||||
@@ -268,5 +308,6 @@ JSValue IntlPluralRules::selectRange(JSGlobalObject* globalObject, double start,
|
@@ -272,5 +312,6 @@ JSValue IntlPluralRules::selectRange(JSGlobalObject* globalObject, double start,
|
||||||
return throwTypeError(globalObject, scope, "failed to select plural value"_s);
|
return throwTypeError(globalObject, scope, "failed to select plural value"_s);
|
||||||
return jsString(vm, String(WTFMove(buffer)));
|
return jsString(vm, String(WTFMove(buffer)));
|
||||||
}
|
}
|
||||||
@ -1263,10 +1265,10 @@ index 584c6ff2c435..af58373c78e8 100644
|
|||||||
|
|
||||||
} // namespace JSC
|
} // namespace JSC
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRules.h b/Source/JavaScriptCore/runtime/IntlPluralRules.h
|
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRules.h b/Source/JavaScriptCore/runtime/IntlPluralRules.h
|
||||||
index 26b7d72b16aa..7f476e03ca03 100644
|
index 0f95f5e5eab5..848def6a50d4 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlPluralRules.h
|
--- a/Source/JavaScriptCore/runtime/IntlPluralRules.h
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlPluralRules.h
|
+++ b/Source/JavaScriptCore/runtime/IntlPluralRules.h
|
||||||
@@ -69,9 +69,12 @@ public:
|
@@ -73,9 +73,12 @@ public:
|
||||||
|
|
||||||
void initializePluralRules(JSGlobalObject*, JSValue locales, JSValue options);
|
void initializePluralRules(JSGlobalObject*, JSValue locales, JSValue options);
|
||||||
JSValue select(JSGlobalObject*, double value) const;
|
JSValue select(JSGlobalObject*, double value) const;
|
||||||
@ -1280,7 +1282,7 @@ index 26b7d72b16aa..7f476e03ca03 100644
|
|||||||
private:
|
private:
|
||||||
IntlPluralRules(VM&, Structure*);
|
IntlPluralRules(VM&, Structure*);
|
||||||
DECLARE_DEFAULT_FINISH_CREATION;
|
DECLARE_DEFAULT_FINISH_CREATION;
|
||||||
@@ -82,8 +85,15 @@ private:
|
@@ -85,8 +88,15 @@ private:
|
||||||
enum class Type : bool { Cardinal, Ordinal };
|
enum class Type : bool { Cardinal, Ordinal };
|
||||||
|
|
||||||
std::unique_ptr<UPluralRules, UPluralRulesDeleter> m_pluralRules;
|
std::unique_ptr<UPluralRules, UPluralRulesDeleter> m_pluralRules;
|
||||||
@ -1297,7 +1299,7 @@ index 26b7d72b16aa..7f476e03ca03 100644
|
|||||||
String m_locale;
|
String m_locale;
|
||||||
unsigned m_minimumIntegerDigits { 1 };
|
unsigned m_minimumIntegerDigits { 1 };
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp b/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp b/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp
|
||||||
index aae2cabe2aa7..6c908d3a7d53 100644
|
index 48688c0dedbb..9854d9a7d363 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp
|
||||||
@@ -33,7 +33,9 @@
|
@@ -33,7 +33,9 @@
|
||||||
@ -1377,7 +1379,7 @@ index c6c1fa0cd228..85d7e85469a7 100644
|
|||||||
|
|
||||||
} // namespace JSC
|
} // namespace JSC
|
||||||
diff --git a/Source/JavaScriptCore/runtime/JSDateMath.cpp b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
diff --git a/Source/JavaScriptCore/runtime/JSDateMath.cpp b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
index 756cbccb1668..30ff52a13c68 100644
|
index c40f917fc99f..755337022004 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
--- a/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
+++ b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
@@ -74,6 +74,7 @@
|
@@ -74,6 +74,7 @@
|
||||||
@ -1537,7 +1539,7 @@ index 756cbccb1668..30ff52a13c68 100644
|
|||||||
return m_timeZoneDSTDisplayNameCache;
|
return m_timeZoneDSTDisplayNameCache;
|
||||||
@@ -485,6 +567,7 @@ void DateCache::timeZoneCacheSlow()
|
@@ -485,6 +567,7 @@ void DateCache::timeZoneCacheSlow()
|
||||||
|
|
||||||
Vector<UChar, 32> timeZoneID;
|
Vector<char16_t, 32> timeZoneID;
|
||||||
getTimeZoneOverride(timeZoneID);
|
getTimeZoneOverride(timeZoneID);
|
||||||
+#if HAVE(ICU_C_TIMEZONE_API)
|
+#if HAVE(ICU_C_TIMEZONE_API)
|
||||||
auto* cache = new OpaqueICUTimeZone;
|
auto* cache = new OpaqueICUTimeZone;
|
||||||
@ -1559,10 +1561,10 @@ index 756cbccb1668..30ff52a13c68 100644
|
|||||||
|
|
||||||
void DateCache::resetIfNecessarySlow()
|
void DateCache::resetIfNecessarySlow()
|
||||||
--
|
--
|
||||||
2.49.0
|
2.51.0
|
||||||
|
|
||||||
|
|
||||||
From 4553b849dd0f3fd2bfd834cda53abc2f2256d2f9 Mon Sep 17 00:00:00 2001
|
From 294fbe4a1e2d4a142696597ee8f2d1f748480691 Mon Sep 17 00:00:00 2001
|
||||||
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
Date: Wed, 2 Apr 2025 15:56:18 -0500
|
Date: Wed, 2 Apr 2025 15:56:18 -0500
|
||||||
Subject: [PATCH 5/5] Build against ICU 60
|
Subject: [PATCH 5/5] Build against ICU 60
|
||||||
@ -1574,15 +1576,17 @@ Subject: [PATCH 5/5] Build against ICU 60
|
|||||||
Source/JavaScriptCore/runtime/IntlDisplayNames.h | 7 +++++++
|
Source/JavaScriptCore/runtime/IntlDisplayNames.h | 7 +++++++
|
||||||
Source/JavaScriptCore/runtime/IntlDurationFormat.cpp | 2 +-
|
Source/JavaScriptCore/runtime/IntlDurationFormat.cpp | 2 +-
|
||||||
Source/JavaScriptCore/runtime/IntlObject.cpp | 6 +++++-
|
Source/JavaScriptCore/runtime/IntlObject.cpp | 6 +++++-
|
||||||
|
Source/JavaScriptCore/runtime/IntlPluralRules.cpp | 4 ++--
|
||||||
|
Source/JavaScriptCore/runtime/JSDateMath.cpp | 4 ++--
|
||||||
Source/WTF/wtf/URLHelpers.cpp | 4 +++-
|
Source/WTF/wtf/URLHelpers.cpp | 4 +++-
|
||||||
Source/WTF/wtf/URLParser.cpp | 6 +++---
|
Source/WTF/wtf/URLParser.cpp | 6 +++---
|
||||||
Source/WTF/wtf/unicode/UTF8Conversion.cpp | 4 +++-
|
Source/WTF/wtf/unicode/UTF8Conversion.cpp | 4 +++-
|
||||||
Source/WebCore/dom/TextEncoder.cpp | 3 ++-
|
Source/WebCore/dom/TextEncoder.cpp | 2 +-
|
||||||
Source/cmake/OptionsGTK.cmake | 2 +-
|
Source/cmake/OptionsGTK.cmake | 2 +-
|
||||||
11 files changed, 42 insertions(+), 9 deletions(-)
|
13 files changed, 45 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlCache.cpp b/Source/JavaScriptCore/runtime/IntlCache.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlCache.cpp b/Source/JavaScriptCore/runtime/IntlCache.cpp
|
||||||
index 0941a7278e2a..75134587adbb 100644
|
index d099acc9f2f4..26331b92cf84 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlCache.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlCache.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlCache.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlCache.cpp
|
||||||
@@ -26,6 +26,7 @@
|
@@ -26,6 +26,7 @@
|
||||||
@ -1593,15 +1597,15 @@ index 0941a7278e2a..75134587adbb 100644
|
|||||||
#include <wtf/TZoneMallocInlines.h>
|
#include <wtf/TZoneMallocInlines.h>
|
||||||
#include <wtf/Vector.h>
|
#include <wtf/Vector.h>
|
||||||
|
|
||||||
@@ -56,6 +57,7 @@ Vector<UChar, 32> IntlCache::getBestDateTimePattern(const CString& locale, std::
|
@@ -56,6 +57,7 @@ Vector<char16_t, 32> IntlCache::getBestDateTimePattern(const CString& locale, st
|
||||||
return patternBuffer;
|
return patternBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
+#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES)
|
+#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES)
|
||||||
Vector<UChar, 32> IntlCache::getFieldDisplayName(const CString& locale, UDateTimePatternField field, UDateTimePGDisplayWidth width, UErrorCode& status)
|
Vector<char16_t, 32> IntlCache::getFieldDisplayName(const CString& locale, UDateTimePatternField field, UDateTimePGDisplayWidth width, UErrorCode& status)
|
||||||
{
|
{
|
||||||
auto sharedGenerator = getSharedPatternGenerator(locale, status);
|
auto sharedGenerator = getSharedPatternGenerator(locale, status);
|
||||||
@@ -67,5 +69,6 @@ Vector<UChar, 32> IntlCache::getFieldDisplayName(const CString& locale, UDateTim
|
@@ -67,5 +69,6 @@ Vector<char16_t, 32> IntlCache::getFieldDisplayName(const CString& locale, UDate
|
||||||
return { };
|
return { };
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
@ -1609,7 +1613,7 @@ index 0941a7278e2a..75134587adbb 100644
|
|||||||
|
|
||||||
} // namespace JSC
|
} // namespace JSC
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlCache.h b/Source/JavaScriptCore/runtime/IntlCache.h
|
diff --git a/Source/JavaScriptCore/runtime/IntlCache.h b/Source/JavaScriptCore/runtime/IntlCache.h
|
||||||
index 4c818fd59424..2c7e464a6955 100644
|
index 2b31dc1bdd9c..36adaac47e9a 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlCache.h
|
--- a/Source/JavaScriptCore/runtime/IntlCache.h
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlCache.h
|
+++ b/Source/JavaScriptCore/runtime/IntlCache.h
|
||||||
@@ -25,6 +25,7 @@
|
@@ -25,6 +25,7 @@
|
||||||
@ -1623,15 +1627,15 @@ index 4c818fd59424..2c7e464a6955 100644
|
|||||||
@@ -40,7 +41,9 @@ public:
|
@@ -40,7 +41,9 @@ public:
|
||||||
IntlCache() = default;
|
IntlCache() = default;
|
||||||
|
|
||||||
Vector<UChar, 32> getBestDateTimePattern(const CString& locale, std::span<const UChar> skeleton, UErrorCode&);
|
Vector<char16_t, 32> getBestDateTimePattern(const CString& locale, std::span<const char16_t> skeleton, UErrorCode&);
|
||||||
+#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES)
|
+#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES)
|
||||||
Vector<UChar, 32> getFieldDisplayName(const CString& locale, UDateTimePatternField, UDateTimePGDisplayWidth, UErrorCode&);
|
Vector<char16_t, 32> getFieldDisplayName(const CString& locale, UDateTimePatternField, UDateTimePGDisplayWidth, UErrorCode&);
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UDateTimePatternGenerator* getSharedPatternGenerator(const CString& locale, UErrorCode& status)
|
UDateTimePatternGenerator* getSharedPatternGenerator(const CString& locale, UErrorCode& status)
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp b/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp b/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp
|
||||||
index 972ab5f84300..971f9321ca20 100644
|
index 3742d05523f6..e8f6317d68b9 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp
|
||||||
@@ -106,6 +106,7 @@ void IntlDisplayNames::initializeDisplayNames(JSGlobalObject* globalObject, JSVa
|
@@ -106,6 +106,7 @@ void IntlDisplayNames::initializeDisplayNames(JSGlobalObject* globalObject, JSVa
|
||||||
@ -1692,7 +1696,7 @@ index 17f257cb04a5..883825ed93f4 100644
|
|||||||
|
|
||||||
enum class RelevantExtensionKey : uint8_t;
|
enum class RelevantExtensionKey : uint8_t;
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
index 78e9106ee0a4..0a4017d65243 100644
|
index c066e80ab130..6161997d3461 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
|
||||||
@@ -42,7 +42,6 @@
|
@@ -42,7 +42,6 @@
|
||||||
@ -1712,7 +1716,7 @@ index 78e9106ee0a4..0a4017d65243 100644
|
|||||||
|
|
||||||
WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN
|
WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN
|
||||||
diff --git a/Source/JavaScriptCore/runtime/IntlObject.cpp b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
diff --git a/Source/JavaScriptCore/runtime/IntlObject.cpp b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
||||||
index 51dbe4447db3..5c3f10f07427 100644
|
index f8413f12dec7..7041f19dfbbd 100644
|
||||||
--- a/Source/JavaScriptCore/runtime/IntlObject.cpp
|
--- a/Source/JavaScriptCore/runtime/IntlObject.cpp
|
||||||
+++ b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
+++ b/Source/JavaScriptCore/runtime/IntlObject.cpp
|
||||||
@@ -168,7 +168,6 @@ namespace JSC {
|
@@ -168,7 +168,6 @@ namespace JSC {
|
||||||
@ -1735,11 +1739,51 @@ index 51dbe4447db3..5c3f10f07427 100644
|
|||||||
#if HAVE(ICU_U_LIST_FORMATTER)
|
#if HAVE(ICU_U_LIST_FORMATTER)
|
||||||
putDirectWithoutTransition(vm, vm.propertyNames->DurationFormat, createDurationFormatConstructor(vm, this), static_cast<unsigned>(PropertyAttribute::DontEnum));
|
putDirectWithoutTransition(vm, vm.propertyNames->DurationFormat, createDurationFormatConstructor(vm, this), static_cast<unsigned>(PropertyAttribute::DontEnum));
|
||||||
putDirectWithoutTransition(vm, vm.propertyNames->ListFormat, createListFormatConstructor(vm, this), static_cast<unsigned>(PropertyAttribute::DontEnum));
|
putDirectWithoutTransition(vm, vm.propertyNames->ListFormat, createListFormatConstructor(vm, this), static_cast<unsigned>(PropertyAttribute::DontEnum));
|
||||||
|
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRules.cpp b/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
||||||
|
index c451478086f7..76461d3c8bcd 100644
|
||||||
|
--- a/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
||||||
|
+++ b/Source/JavaScriptCore/runtime/IntlPluralRules.cpp
|
||||||
|
@@ -278,11 +278,11 @@ JSValue IntlPluralRules::select(JSGlobalObject* globalObject, double value) cons
|
||||||
|
return jsString(vm, String(WTFMove(buffer)));
|
||||||
|
#else
|
||||||
|
Vector<UChar, 8> result(8);
|
||||||
|
- auto length = uplrules_selectWithFormat(m_pluralRules.get(), value, m_numberFormat.get(), result.data(), result.size(), &status);
|
||||||
|
+ auto length = uplrules_selectWithFormat(m_pluralRules.get(), value, m_numberFormat.get(), const_cast<UChar*>(result.span().data()), result.span().size(), &status);
|
||||||
|
if (U_FAILURE(status))
|
||||||
|
return throwTypeError(globalObject, scope, "failed to select plural value"_s);
|
||||||
|
|
||||||
|
- return jsString(vm, String({ result.data(), static_cast<size_t>(length) }));
|
||||||
|
+ return jsString(vm, String({ result.span().data(), static_cast<size_t>(length) }));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/Source/JavaScriptCore/runtime/JSDateMath.cpp b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
|
index 755337022004..d4b61acb3d13 100644
|
||||||
|
--- a/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
|
+++ b/Source/JavaScriptCore/runtime/JSDateMath.cpp
|
||||||
|
@@ -177,7 +177,7 @@ LocalTimeOffset DateCache::calculateLocalTimeOffset(double millisecondsFromEpoch
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
auto& timeZoneCache = *toICUTimeZone(this->timeZoneCache());
|
||||||
|
- if (inputTimeType != WTF::LocalTime) {
|
||||||
|
+ if (inputTimeType != TimeType::LocalTime) {
|
||||||
|
constexpr bool isLocalTime = false;
|
||||||
|
timeZoneCache.getOffset(millisecondsFromEpoch, isLocalTime, rawOffset, dstOffset, status);
|
||||||
|
if (U_FAILURE(status))
|
||||||
|
@@ -593,7 +593,7 @@ void DateCache::timeZoneCacheSlow()
|
||||||
|
m_timeZoneCache = std::unique_ptr<OpaqueICUTimeZone, OpaqueICUTimeZoneDeleter>(cache);
|
||||||
|
#else
|
||||||
|
if (!timeZoneID.isEmpty()) {
|
||||||
|
- m_timeZoneCache = std::unique_ptr<OpaqueICUTimeZone, OpaqueICUTimeZoneDeleter>(toOpaqueICUTimeZone(icu::TimeZone::createTimeZone(icu::UnicodeString(timeZoneID.data(), timeZoneID.size()))));
|
||||||
|
+ m_timeZoneCache = std::unique_ptr<OpaqueICUTimeZone, OpaqueICUTimeZoneDeleter>(toOpaqueICUTimeZone(icu::TimeZone::createTimeZone(icu::UnicodeString(timeZoneID.span().data(), timeZoneID.size()))));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Do not use icu::TimeZone::createDefault. ICU internally has a cache for timezone and createDefault returns this cached value.
|
||||||
diff --git a/Source/WTF/wtf/URLHelpers.cpp b/Source/WTF/wtf/URLHelpers.cpp
|
diff --git a/Source/WTF/wtf/URLHelpers.cpp b/Source/WTF/wtf/URLHelpers.cpp
|
||||||
index 955d1925917b..742f06a6868b 100644
|
index e984a4356715..7e0748f03722 100644
|
||||||
--- a/Source/WTF/wtf/URLHelpers.cpp
|
--- a/Source/WTF/wtf/URLHelpers.cpp
|
||||||
+++ b/Source/WTF/wtf/URLHelpers.cpp
|
+++ b/Source/WTF/wtf/URLHelpers.cpp
|
||||||
@@ -865,7 +865,9 @@ static String escapeUnsafeCharacters(const String& sourceBuffer)
|
@@ -866,7 +866,9 @@ static String escapeUnsafeCharacters(const String& sourceBuffer)
|
||||||
std::array<uint8_t, 4> utf8Buffer;
|
std::array<uint8_t, 4> utf8Buffer;
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
UBool failure = false;
|
UBool failure = false;
|
||||||
@ -1751,7 +1795,7 @@ index 955d1925917b..742f06a6868b 100644
|
|||||||
|
|
||||||
for (size_t j = 0; j < offset; ++j) {
|
for (size_t j = 0; j < offset; ++j) {
|
||||||
diff --git a/Source/WTF/wtf/URLParser.cpp b/Source/WTF/wtf/URLParser.cpp
|
diff --git a/Source/WTF/wtf/URLParser.cpp b/Source/WTF/wtf/URLParser.cpp
|
||||||
index b1a6c8421807..8ec338d63b36 100644
|
index 6325d2a26ba3..b3b292536be5 100644
|
||||||
--- a/Source/WTF/wtf/URLParser.cpp
|
--- a/Source/WTF/wtf/URLParser.cpp
|
||||||
+++ b/Source/WTF/wtf/URLParser.cpp
|
+++ b/Source/WTF/wtf/URLParser.cpp
|
||||||
@@ -516,7 +516,7 @@ ALWAYS_INLINE void URLParser::utf8PercentEncode(const CodePointIterator<Characte
|
@@ -516,7 +516,7 @@ ALWAYS_INLINE void URLParser::utf8PercentEncode(const CodePointIterator<Characte
|
||||||
@ -1772,7 +1816,7 @@ index b1a6c8421807..8ec338d63b36 100644
|
|||||||
if (isError) {
|
if (isError) {
|
||||||
appendToASCIIBuffer(replacementCharacterUTF8PercentEncoded.span8());
|
appendToASCIIBuffer(replacementCharacterUTF8PercentEncoded.span8());
|
||||||
return;
|
return;
|
||||||
@@ -2851,7 +2851,7 @@ auto URLParser::parseHostAndPort(CodePointIterator<CharacterType> iterator) -> H
|
@@ -2878,7 +2878,7 @@ auto URLParser::parseHostAndPort(CodePointIterator<CharacterType> iterator) -> H
|
||||||
std::array<uint8_t, U8_MAX_LENGTH> buffer;
|
std::array<uint8_t, U8_MAX_LENGTH> buffer;
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
UBool isError = false;
|
UBool isError = false;
|
||||||
@ -1782,7 +1826,7 @@ index b1a6c8421807..8ec338d63b36 100644
|
|||||||
return HostParsingResult::InvalidHost;
|
return HostParsingResult::InvalidHost;
|
||||||
utf8Encoded.append(std::span { buffer }.first(offset));
|
utf8Encoded.append(std::span { buffer }.first(offset));
|
||||||
diff --git a/Source/WTF/wtf/unicode/UTF8Conversion.cpp b/Source/WTF/wtf/unicode/UTF8Conversion.cpp
|
diff --git a/Source/WTF/wtf/unicode/UTF8Conversion.cpp b/Source/WTF/wtf/unicode/UTF8Conversion.cpp
|
||||||
index b9e499b625b4..c89fd18ea548 100644
|
index a86aefecd09c..c599c6727b53 100644
|
||||||
--- a/Source/WTF/wtf/unicode/UTF8Conversion.cpp
|
--- a/Source/WTF/wtf/unicode/UTF8Conversion.cpp
|
||||||
+++ b/Source/WTF/wtf/unicode/UTF8Conversion.cpp
|
+++ b/Source/WTF/wtf/unicode/UTF8Conversion.cpp
|
||||||
@@ -78,7 +78,9 @@ template<> char32_t next<Replacement::ReplaceInvalidSequences, char16_t>(std::sp
|
@@ -78,7 +78,9 @@ template<> char32_t next<Replacement::ReplaceInvalidSequences, char16_t>(std::sp
|
||||||
@ -1797,7 +1841,7 @@ index b9e499b625b4..c89fd18ea548 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/Source/WebCore/dom/TextEncoder.cpp b/Source/WebCore/dom/TextEncoder.cpp
|
diff --git a/Source/WebCore/dom/TextEncoder.cpp b/Source/WebCore/dom/TextEncoder.cpp
|
||||||
index fe8694cfce9d..ea496e7a3d34 100644
|
index fe8694cfce9d..7d8b5ad2e3c9 100644
|
||||||
--- a/Source/WebCore/dom/TextEncoder.cpp
|
--- a/Source/WebCore/dom/TextEncoder.cpp
|
||||||
+++ b/Source/WebCore/dom/TextEncoder.cpp
|
+++ b/Source/WebCore/dom/TextEncoder.cpp
|
||||||
@@ -55,7 +55,7 @@ auto TextEncoder::encodeInto(String&& input, Ref<Uint8Array>&& array) -> EncodeI
|
@@ -55,7 +55,7 @@ auto TextEncoder::encodeInto(String&& input, Ref<Uint8Array>&& array) -> EncodeI
|
||||||
@ -1809,13 +1853,8 @@ index fe8694cfce9d..ea496e7a3d34 100644
|
|||||||
if (sawError)
|
if (sawError)
|
||||||
break;
|
break;
|
||||||
if (U_IS_BMP(token))
|
if (U_IS_BMP(token))
|
||||||
@@ -68,3 +68,4 @@ auto TextEncoder::encodeInto(String&& input, Ref<Uint8Array>&& array) -> EncodeI
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
+
|
|
||||||
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
|
||||||
index 814009146300..d36261da758e 100644
|
index 83377867f3b1..aa0941950559 100644
|
||||||
--- a/Source/cmake/OptionsGTK.cmake
|
--- a/Source/cmake/OptionsGTK.cmake
|
||||||
+++ b/Source/cmake/OptionsGTK.cmake
|
+++ b/Source/cmake/OptionsGTK.cmake
|
||||||
@@ -11,7 +11,7 @@ find_package(Cairo 1.14.0 REQUIRED)
|
@@ -11,7 +11,7 @@ find_package(Cairo 1.14.0 REQUIRED)
|
||||||
@ -1828,5 +1867,5 @@ index 814009146300..d36261da758e 100644
|
|||||||
find_package(Epoxy 1.5.4 REQUIRED)
|
find_package(Epoxy 1.5.4 REQUIRED)
|
||||||
find_package(LibXml2 2.8.0 REQUIRED)
|
find_package(LibXml2 2.8.0 REQUIRED)
|
||||||
--
|
--
|
||||||
2.49.0
|
2.51.0
|
||||||
|
|
||||||
|
10
s390x-build.patch
Normal file
10
s390x-build.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- webkitgtk.orig/Source/WebCore/style/StyleBuilderState.cpp
|
||||||
|
+++ webkitgtk/Source/WebCore/style/StyleBuilderState.cpp
|
||||||
|
@@ -58,6 +58,7 @@
|
||||||
|
#include "Settings.h"
|
||||||
|
#include "StyleAppleColorFilterProperty.h"
|
||||||
|
#include "StyleBuilder.h"
|
||||||
|
+#include "StyleBuilderStateInlines.h"
|
||||||
|
#include "StyleCachedImage.h"
|
||||||
|
#include "StyleCanvasImage.h"
|
||||||
|
#include "StyleColor.h"
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (webkitgtk-2.48.5.tar.xz) = 70ee8f58a354cf6d0b1345954ed07c1e49d886f353d4fab945a3d2fc03116726af05454d4b5460f0fe4f5c3d042bb921fc5b43a85474624545afd9acc1c0fc8d
|
SHA512 (webkitgtk-2.50.0.tar.xz) = 7e3a7ecdd71e21566b3e364ccb7573bec4f86c7cf5fbe5ce6f3fcbb1ed8e5674d9ed239b48fe330afe8f7370bbb323f6500f78a25f4572d8e02d7d274ec843b4
|
||||||
SHA512 (webkitgtk-2.48.5.tar.xz.asc) = bf499cb07d863adb6694030d29b8482db9986ce5fdb3426fd8497512ebd4583fbacc51c29b28631c00ee5089188733b94fbb475e06b69b400fdfb3b88b920377
|
SHA512 (webkitgtk-2.50.0.tar.xz.asc) = 68c62bd077f28816c0177e93fa01deae85619f55b510f204d57b59f6ae2d9c1bd1255c2dae4214e43ed2ef6c76f4cd42433f47af4146fcd1f14f707c7a377a80
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
## directory names (from the source tree) as prefixes for the files.
|
## directory names (from the source tree) as prefixes for the files.
|
||||||
%global add_to_license_files() \
|
%global add_to_license_files() \
|
||||||
mkdir -p _license_files ; \
|
mkdir -p _license_files ; \
|
||||||
cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')-
|
cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
|
||||||
|
|
||||||
Name: webkit2gtk3
|
Name: webkit2gtk3
|
||||||
Version: 2.48.5
|
Version: 2.50.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: GTK Web content engine library
|
Summary: GTK Web content engine library
|
||||||
|
|
||||||
@ -25,28 +25,32 @@ Source2: webkitgtk-keys.gpg
|
|||||||
|
|
||||||
Patch100: compiler-flags.patch
|
Patch100: compiler-flags.patch
|
||||||
|
|
||||||
##
|
|
||||||
## Patches to support older or missing build dependencies
|
|
||||||
##
|
|
||||||
|
|
||||||
Patch200: cairo-1.15.patch
|
|
||||||
Patch201: glib-2.56.patch
|
|
||||||
Patch202: gstreamer-1.16.patch
|
|
||||||
Patch203: harfbuzz-1.7.5.patch
|
|
||||||
Patch204: icu60.patch
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Patches to support older Evolution
|
## Patches to support older Evolution
|
||||||
##
|
##
|
||||||
|
|
||||||
Patch300: evolution-shared-secondary-process.patch
|
Patch200: evolution-shared-secondary-process.patch
|
||||||
Patch301: evolution-sandbox-warning.patch
|
Patch201: evolution-sandbox-warning.patch
|
||||||
|
|
||||||
|
##
|
||||||
|
## Patches to support older or missing build dependencies
|
||||||
|
##
|
||||||
|
|
||||||
|
Patch300: cairo-1.15.patch
|
||||||
|
Patch301: glib-2.56.patch
|
||||||
|
Patch302: gstreamer-1.16.patch
|
||||||
|
Patch303: harfbuzz-1.7.5.patch
|
||||||
|
Patch304: icu60.patch
|
||||||
|
|
||||||
##
|
##
|
||||||
## Upstream patches to remove, hopefully after next update
|
## Upstream patches to remove, hopefully after next update
|
||||||
##
|
##
|
||||||
|
|
||||||
# No patches currently! :)
|
# https://bugs.webkit.org/show_bug.cgi?id=299018
|
||||||
|
Patch400: i686-build.patch
|
||||||
|
|
||||||
|
# https://bugs.webkit.org/show_bug.cgi?id=298308
|
||||||
|
Patch401: s390x-build.patch
|
||||||
|
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: clang
|
BuildRequires: clang
|
||||||
@ -228,6 +232,7 @@ rm -rf Source/ThirdParty/qunit/
|
|||||||
-DENABLE_BUBBLEWRAP_SANDBOX=OFF \
|
-DENABLE_BUBBLEWRAP_SANDBOX=OFF \
|
||||||
-DENABLE_DOCUMENTATION=OFF \
|
-DENABLE_DOCUMENTATION=OFF \
|
||||||
-DENABLE_GAMEPAD=OFF \
|
-DENABLE_GAMEPAD=OFF \
|
||||||
|
-DENABLE_MEDIA_RECORDER=OFF \
|
||||||
-DENABLE_SPEECH_SYNTHESIS=OFF \
|
-DENABLE_SPEECH_SYNTHESIS=OFF \
|
||||||
-DENABLE_WEB_CODECS=OFF \
|
-DENABLE_WEB_CODECS=OFF \
|
||||||
-DUSE_AVIF=OFF \
|
-DUSE_AVIF=OFF \
|
||||||
@ -312,6 +317,9 @@ export NINJA_STATUS="[%f/%t][%e] "
|
|||||||
%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
|
%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 07 2025 Michael Catanzaro <mcatanzaro@redhat.com> - 2.50.0-1
|
||||||
|
- Update to 2.50.0
|
||||||
|
|
||||||
* Fri Aug 08 2025 Michael Catanzaro <mcatanzaro@redhat.com> - 2.48.5-1
|
* Fri Aug 08 2025 Michael Catanzaro <mcatanzaro@redhat.com> - 2.48.5-1
|
||||||
- Update to 2.48.5
|
- Update to 2.48.5
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user