From 608ae624d01d91a01d986a12496645e1f89a972a Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 14 May 2025 15:54:47 -0500 Subject: [PATCH 01/36] Update to 2.48.2 --- denormal-disabler-build.patch | 12 ------------ sources | 4 ++-- webkitgtk.spec | 5 +---- 3 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 denormal-disabler-build.patch diff --git a/denormal-disabler-build.patch b/denormal-disabler-build.patch deleted file mode 100644 index 8660563..0000000 --- a/denormal-disabler-build.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Source/WebCore/platform/audio/DenormalDisabler.cpp b/Source/WebCore/platform/audio/DenormalDisabler.cpp -index 35715e663ce7..44ba08a33d5d 100644 ---- a/Source/WebCore/platform/audio/DenormalDisabler.cpp -+++ b/Source/WebCore/platform/audio/DenormalDisabler.cpp -@@ -91,7 +91,7 @@ DenormalDisabler::~DenormalDisabler() - } - } - #else --DenormalDisabler::DenormalDisabler() = default -+DenormalDisabler::DenormalDisabler() = default; - DenormalDisabler::~DenormalDisabler() = default; - #endif diff --git a/sources b/sources index 013526c..23a8ca5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.48.1.tar.xz) = b78a2ae7e51942c4606e6f2f574e86f107e0c44fc685d9eda41d309457a340b9d9b6fae39cdbc3cc7c9210237b110647216eafc6b6e9b0e577106e477cd06d38 -SHA512 (webkitgtk-2.48.1.tar.xz.asc) = 072c1ed45c8f4f3d93ba79d1aa17decb2389a6535391fc6927f97f6404c4bdce4599b2e580397da1f163cc28c1c4c93efbf1eda16584ca18010b362824e35d31 +SHA512 (webkitgtk-2.48.2.tar.xz) = 712342e2f8bfaa479dc846d91ca1e02008286b438115789555bfff1dd3b07e0887d6a2a064afd1a5e85d7ae85d68e59daf8b81888c93c1a7b40cfa9048b3b2da +SHA512 (webkitgtk-2.48.2.tar.xz.asc) = f7e9f54e76e1ad7706c3817e6048eb118bcea30d88b9f7c20d7c69a06fb4a02108a468ff1175edae07ccb3bb4679c613c87c226eb352700dd1fbbcc12693b6d4 diff --git a/webkitgtk.spec b/webkitgtk.spec index e93b6c3..b775d09 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.48.1 +Version: 2.48.2 Release: %autorelease Summary: GTK web content engine library @@ -57,9 +57,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=286694 -Patch: denormal-disabler-build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From abcf09af4eba724523ef2adf1b0156e11437320d Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 28 May 2025 12:52:52 -0500 Subject: [PATCH 02/36] Update to 2.48.3 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 23a8ca5..3b3b9af 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.48.2.tar.xz) = 712342e2f8bfaa479dc846d91ca1e02008286b438115789555bfff1dd3b07e0887d6a2a064afd1a5e85d7ae85d68e59daf8b81888c93c1a7b40cfa9048b3b2da -SHA512 (webkitgtk-2.48.2.tar.xz.asc) = f7e9f54e76e1ad7706c3817e6048eb118bcea30d88b9f7c20d7c69a06fb4a02108a468ff1175edae07ccb3bb4679c613c87c226eb352700dd1fbbcc12693b6d4 +SHA512 (webkitgtk-2.48.3.tar.xz) = 0724e0d22403552409d0f621d9ed3a6404813ca63d445b9ac8f99682a544c95a3cf8108ac880cb3bcadc0ecd5a772db40e68f753c286700ffc7f2851bba12e84 +SHA512 (webkitgtk-2.48.3.tar.xz.asc) = 6f5d0b78fe0a3c7f56fbbcc99d63cbe22bc978cb52c8e04263c6c88a5063a6ebf68d87bdf9aca088f19ac21676ba3e37c5261ded6cf7fc17bdcc008592dc845b diff --git a/webkitgtk.spec b/webkitgtk.spec index b775d09..c8ad180 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.48.2 +Version: 2.48.3 Release: %autorelease Summary: GTK web content engine library From aee06d416f8c0119ace01762343211890de1d661 Mon Sep 17 00:00:00 2001 From: Daniel Milnes Date: Fri, 5 Sep 2025 01:44:11 +0100 Subject: [PATCH 03/36] Fixup sources file --- sources | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sources b/sources index b8372c9..6702262 100644 --- a/sources +++ b/sources @@ -1,7 +1,2 @@ -<<<<<<< HEAD -SHA512 (webkitgtk-2.48.3.tar.xz) = 0724e0d22403552409d0f621d9ed3a6404813ca63d445b9ac8f99682a544c95a3cf8108ac880cb3bcadc0ecd5a772db40e68f753c286700ffc7f2851bba12e84 -SHA512 (webkitgtk-2.48.3.tar.xz.asc) = 6f5d0b78fe0a3c7f56fbbcc99d63cbe22bc978cb52c8e04263c6c88a5063a6ebf68d87bdf9aca088f19ac21676ba3e37c5261ded6cf7fc17bdcc008592dc845b -======= SHA512 (webkitgtk-2.49.90.tar.xz) = 8ea04d6c8fff85fd5a023092f8127d009e8db158ba4289ada8b0003ed807a9bd598e891c7513fc090380802a6abcae6a2b4621dbe81ddf362d371ef9cbd4c740 SHA512 (webkitgtk-2.49.90.tar.xz.asc) = 6e41bb3b678fc7a9cffeb97ba29d4333bea6ff30abf0f65e9177552fefe14c4fe130143627ba8974d642b1a12da5917c649404ea1ce5ec8981856a20baddf295 ->>>>>>> origin/rawhide From 759c43c95978e35f2f1409e8c103f3a229347863 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 29 Oct 2025 16:09:53 -0500 Subject: [PATCH 04/36] Update to WebKitGTK 2.51.1 --- 0001-Change-use-of-removed-intrinsic.patch | 38 ----------- i686-build.patch | 79 ++++++++++++++++++++++ no-file-prefix-map.patch | 15 ++++ sources | 4 +- webkitgtk.spec | 18 ++--- 5 files changed, 103 insertions(+), 51 deletions(-) delete mode 100644 0001-Change-use-of-removed-intrinsic.patch create mode 100644 i686-build.patch create mode 100644 no-file-prefix-map.patch diff --git a/0001-Change-use-of-removed-intrinsic.patch b/0001-Change-use-of-removed-intrinsic.patch deleted file mode 100644 index 25afe4e..0000000 --- a/0001-Change-use-of-removed-intrinsic.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 135488419331644e59091ecc73e682299d3937a4 Mon Sep 17 00:00:00 2001 -From: Devon Loehr -Date: Fri, 15 Aug 2025 14:31:27 +0000 -Subject: [PATCH] Change use of removed intrinsic - -A recent LLVM change removed the __builtin_ia32_vcvtph2ps256 intrinsic -because it can be implemented using __builtin_shufflevector and/or -__builtin_convertvector. This CL changes skia to use convertvector as -to match. - -Bug: chromium:438445382 -Change-Id: I2ed16cd507d7feeafba4c082b3840cbdd6368dd9 -Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/1038217 -Reviewed-by: Ben Wagner -Commit-Queue: Ben Wagner -Auto-Submit: Devon Loehr ---- - Source/ThirdParty/skia/modules/skcms/src/src/Transform_inl.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h b/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h -index bc10e7d..99faf25 100644 ---- a/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h -+++ b/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h -@@ -156,8 +156,8 @@ SI F F_from_Half(U16 half) { - #elif defined(USING_AVX512F) - return (F)_mm512_cvtph_ps((__m256i)half); - #elif defined(USING_AVX_F16C) -- typedef int16_t __attribute__((vector_size(16))) I16; -- return __builtin_ia32_vcvtph2ps256((I16)half); -+ typedef _Float16 __attribute__((vector_size(16))) F16; -+ return __builtin_convertvector((F16)half, F); - #else - U32 wide = cast(half); - // A half is 1-5-10 sign-exponent-mantissa, with 15 exponent bias. --- -2.50.1 - diff --git a/i686-build.patch b/i686-build.patch new file mode 100644 index 0000000..a5d1827 --- /dev/null +++ b/i686-build.patch @@ -0,0 +1,79 @@ +From f69f7075f71a90aef0a89f84a718e2ee4650d460 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Wed, 29 Oct 2025 14:33:21 -0500 +Subject: [PATCH] [GTK] [2.51.1] Fails to build on i386: redefinition of 'a' + with a different type: 'const char *' vs 'const Latin1Character *' (aka + 'const unsigned char *') https://bugs.webkit.org/show_bug.cgi?id=301512 + +Reviewed by NOBODY (OOPS!). + +Unfortunately I renamed the parameters to exactly the same names as the +local variables. I prefer to not rename the parameters again, since +these are the best names for the other architectures, so let's change +the locals instead. +--- + Source/WTF/wtf/text/StringCommon.h | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Source/WTF/wtf/text/StringCommon.h b/Source/WTF/wtf/text/StringCommon.h +index 4e1e4ffbfdd8..e22d45610544 100644 +--- a/Source/WTF/wtf/text/StringCommon.h ++++ b/Source/WTF/wtf/text/StringCommon.h +@@ -246,24 +246,24 @@ ALWAYS_INLINE bool equal(const Latin1Character* a, std::span::max()); + unsigned length = b.size(); + +- const char* a = byteCast(a); +- const char* b = byteCast(b.data()); ++ const char* aString = byteCast(a); ++ const char* bString = byteCast(b.data()); + + unsigned wordLength = length >> 2; + for (unsigned i = 0; i != wordLength; ++i) { +- if (unalignedLoad(a) != unalignedLoad(b)) ++ if (unalignedLoad(aString) != unalignedLoad(bString)) + return false; +- a += sizeof(uint32_t); +- b += sizeof(uint32_t); ++ aString += sizeof(uint32_t); ++ bString += sizeof(uint32_t); + } + + length &= 3; + + if (length) { +- const Latin1Character* aRemainder = byteCast(a); +- const Latin1Character* bRemainder = byteCast(b); ++ const Latin1Character* aRemainder = byteCast(aString); ++ const Latin1Character* bRemainder = byteCast(bString); + +- for (unsigned i = 0; i < length; ++i) { ++ for (unsigned i = 0; i < length; ++i) { + if (aRemainder[i] != bRemainder[i]) + return false; + } +@@ -277,18 +277,18 @@ ALWAYS_INLINE bool equal(const char16_t* a, std::span b) + ASSERT(b.size() <= std::numeric_limits::max()); + unsigned length = b.size(); + +- const char* a = reinterpret_cast(a); +- const char* b = reinterpret_cast(b.data()); ++ const char* aString = reinterpret_cast(a); ++ const char* bString = reinterpret_cast(b.data()); + + unsigned wordLength = length >> 1; + for (unsigned i = 0; i != wordLength; ++i) { +- if (unalignedLoad(a) != unalignedLoad(b)) ++ if (unalignedLoad(aString) != unalignedLoad(bString)) + return false; +- a += sizeof(uint32_t); +- b += sizeof(uint32_t); ++ aString += sizeof(uint32_t); ++ bString += sizeof(uint32_t); + } + +- if (length & 1 && *reinterpret_cast(a) != *reinterpret_cast(b)) ++ if (length & 1 && *reinterpret_cast(aString) != *reinterpret_cast(bString)) + return false; + + return true; diff --git a/no-file-prefix-map.patch b/no-file-prefix-map.patch new file mode 100644 index 0000000..ef851db --- /dev/null +++ b/no-file-prefix-map.patch @@ -0,0 +1,15 @@ +diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake +index f95e7fc85a3d..c1dd2ce4651f 100644 +--- a/Source/cmake/OptionsCommon.cmake ++++ b/Source/cmake/OptionsCommon.cmake +@@ -218,10 +218,6 @@ option(GCC_OFFLINEASM_SOURCE_MAP + "Produce debug line information for offlineasm-generated code" + ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT}) + +-# Record references to files using relative paths instead of absolute. +-# This helps both with reproducible builds and ccache hits. +-WEBKIT_APPEND_GLOBAL_COMPILER_FLAGS(-ffile-prefix-map=${CMAKE_SOURCE_DIR}=.) +- + option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE}) + + # Enable the usage of OpenMP. diff --git a/sources b/sources index ff730c9..196b659 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.50.1.tar.xz) = 4b7b6c5ae02f1dbcff26e7af4ee4e3cdd4435c61dfaf17c2981422358dea01cfba0ffe8c6f12c7864b6f1ee6c9906dfa64248bc95effed526e9ade3ad1292888 -SHA512 (webkitgtk-2.50.1.tar.xz.asc) = c430677ec8e147750f3dc69f2b6252da9bc9b4df61c0976213dea535be8973dc746b22137d508899d28095f58197e52ffa003ab2033b2c20a6c03d1a1b327e2c +SHA512 (webkitgtk-2.51.1.tar.xz) = 64b9e6142d6329b307bcce832df24ad3b0e559d0ed66a71f8724043002b7570f930a5016c7c00336320206ffc5b8ad1d09496f5b1ddb9097b4a1022d4a4665ab +SHA512 (webkitgtk-2.51.1.tar.xz.asc) = b2123b7c42d8cdbfe2d6a02821224f9895bd9e6c4eaacb1a0df1bcf251fcbfe78347bee50da53b2e381374a911439901bcf6a39d68d38f8452451e3d92812dc8 diff --git a/webkitgtk.spec b/webkitgtk.spec index e5d318a..7550030 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.50.1 +Version: 2.51.1 Release: %autorelease Summary: GTK web content engine library @@ -57,15 +57,11 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# Fix for building with clang-22 -# This patch comes from: -# https://skia.googlesource.com/skcms.git/+/135488419331644e59091ecc73e682299d3937a4 -# This was bundled into skia here: -# https://github.com/google/skia/commit/9ab05b08ae3e83c80ac69c69008ed1048e9a0923 -# Then bundled into webkit in this commit: -# https://github.com/WebKit/WebKit/commit/7257554fb8cae41212228361c22c15c2557a0cbb -# I would expect this fix to be part of the next webkit release. -Patch: 0001-Change-use-of-removed-intrinsic.patch +# https://bugs.webkit.org/show_bug.cgi?id=301512 +Patch: i686-build.patch + +# https://bugzilla.redhat.com/show_bug.cgi?id=2408418 +Patch: no-file-prefix-map.patch BuildRequires: bison BuildRequires: bubblewrap @@ -139,7 +135,7 @@ BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(xt) # Filter out provides for private libraries -%global __provides_exclude_from ^(%{_libdir}/webkit2gtk-4\\.0/.*\\.so|%{_libdir}/webkit2gtk-4\\.1/.*\\.so|%{_libdir}/webkitgtk-6\\.0/.*\\.so)$ +%global __provides_exclude_from ^(%{_libdir}/webkit2gtk-4\\.1/.*\\.so|%{_libdir}/webkitgtk-6\\.0/.*\\.so)$ %description WebKitGTK is the port of the WebKit web rendering engine to the From 11bc4dad004fb9792e079293893ee502fdc7cdd1 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 6 Nov 2025 18:30:35 -0600 Subject: [PATCH 05/36] Use pushd/popd instead of overriding _vpath_builddir This seems nicer. --- webkitgtk.spec | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index 7550030..5d25cd8 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -308,8 +308,9 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 %global optflags %(echo %{optflags} | sed 's/-mbranch-protection=standard /-mbranch-protection=pac-ret /') %endif -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 -%cmake \ +mkdir webkitgtk-6.0 +pushd webkitgtk-6.0 +%cmake -S .. \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ @@ -319,9 +320,11 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 -DENABLE_DOCUMENTATION=OFF \ %endif %{nil} +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 -%cmake \ +mkdir webkit2gtk-4.1 +pushd webkit2gtk-4.1 +%cmake -S .. \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ @@ -332,21 +335,26 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 -DENABLE_DOCUMENTATION=OFF \ %endif %{nil} +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 +pushd webkitgtk-6.0 export NINJA_STATUS="[1/2][%f/%t %es] " %cmake_build %limit_build -m 3072 +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 +pushd webkit2gtk-4.1 export NINJA_STATUS="[2/2][%f/%t %es] " %cmake_build %limit_build -m 3072 +popd %install -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 +pushd webkitgtk-6.0 %cmake_install +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 +pushd webkit2gtk-4.1 %cmake_install +popd %find_lang WebKitGTK-6.0 %find_lang WebKitGTK-4.1 From 03cbe02be65119886a4362787ba457c56043c4af Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 19 Nov 2025 10:15:14 -0600 Subject: [PATCH 06/36] Update to 2.50.2 --- CVE-2025-43421.patch | 26 ++++++++++++++++++++++++++ build.patch | 27 +++++++++++++++++++++++++++ sources | 4 ++-- webkitgtk.spec | 15 +++++---------- 4 files changed, 60 insertions(+), 12 deletions(-) create mode 100644 CVE-2025-43421.patch create mode 100644 build.patch diff --git a/CVE-2025-43421.patch b/CVE-2025-43421.patch new file mode 100644 index 0000000..26e2361 --- /dev/null +++ b/CVE-2025-43421.patch @@ -0,0 +1,26 @@ +From 56f026944a16a4baf82ddd6bae954c577de79d03 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Fri, 21 Nov 2025 12:42:01 -0600 +Subject: [PATCH] Disable array allocation sinking + https://bugs.webkit.org/show_bug.cgi?id=300718 + +Unreviewed stable branch commit. + +Canonical link: https://commits.webkit.org/298234.299@webkitglib/2.50 +--- + Source/JavaScriptCore/runtime/OptionsList.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h +index 3d65cb28ba8ed..5b0750dd25219 100644 +--- a/Source/JavaScriptCore/runtime/OptionsList.h ++++ b/Source/JavaScriptCore/runtime/OptionsList.h +@@ -629,7 +629,7 @@ bool hasCapacityToUseLargeGigacage(); + v(Bool, forceAllFunctionsToUseSIMD, false, Normal, "Force all functions to act conservatively w.r.t fp/vector registers for testing."_s) \ + v(Bool, useOMGInlining, true, Normal, "Use OMG inlining"_s) \ + v(Bool, freeRetiredWasmCode, true, Normal, "free BBQ/OMG-OSR wasm code once it's no longer reachable."_s) \ +- v(Bool, useArrayAllocationSinking, true, Normal, nullptr) \ ++ v(Bool, useArrayAllocationSinking, false, Normal, nullptr) \ + v(Bool, dumpFTLCodeSize, false, Normal, nullptr) \ + v(Bool, dumpOptimizationTracing, false, Normal, nullptr) \ + v(Unsigned, markedBlockDumpInfoCount, 0, Normal, nullptr) /* FIXME: rdar://139998916 */ \ diff --git a/build.patch b/build.patch new file mode 100644 index 0000000..12f9d09 --- /dev/null +++ b/build.patch @@ -0,0 +1,27 @@ +From 730bffd856d2a1e56dd3bd2a0702282f19c5242a Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Thu, 20 Nov 2025 00:52:19 +0200 +Subject: [PATCH] Unreviewed build fix after 298234.287@webkitglib/2.50 + +* Source/WebCore/Modules/credentialmanagement/BasicCredential.idl: +Remove the CustomToJSObject flag to avoid a link error due to an +undefined toJS() symbol, letting the binding generator write the +function is enough for the Google Accounts quirk to work. + +Canonical link: https://commits.webkit.org/298234.297@webkitglib/2.50 +--- + Source/WebCore/Modules/credentialmanagement/BasicCredential.idl | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl b/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl +index 42114f65fff97..9643b59bf6909 100644 +--- a/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl ++++ b/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl +@@ -25,7 +25,6 @@ + + [ + InterfaceName=Credential, +- CustomToJSObject, + EnabledByQuirk=shouldExposeCredentialsContainer, + Exposed=Window, + SecureContext diff --git a/sources b/sources index ff730c9..777aa6f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.50.1.tar.xz) = 4b7b6c5ae02f1dbcff26e7af4ee4e3cdd4435c61dfaf17c2981422358dea01cfba0ffe8c6f12c7864b6f1ee6c9906dfa64248bc95effed526e9ade3ad1292888 -SHA512 (webkitgtk-2.50.1.tar.xz.asc) = c430677ec8e147750f3dc69f2b6252da9bc9b4df61c0976213dea535be8973dc746b22137d508899d28095f58197e52ffa003ab2033b2c20a6c03d1a1b327e2c +SHA512 (webkitgtk-2.50.2.tar.xz) = 1d4d61702c4e4a43ed3ec808e9a20d126032847a830377d7d4732304111845d06f1df49688ef042825475ecee17b3e457a3b31ce0406089f95230b64960f5129 +SHA512 (webkitgtk-2.50.2.tar.xz.asc) = 9783ea78b226cbcf51973b804cace90bb8e4ff82e714fb6bce3ffd08a8eb93c2bc237ad82e1914ce3f8ea33d0f52f361ed41d1ad0618a68f7a7ff29c2d0eb9b1 diff --git a/webkitgtk.spec b/webkitgtk.spec index e5d318a..b7bc86f 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.50.1 +Version: 2.50.2 Release: %autorelease Summary: GTK web content engine library @@ -57,15 +57,10 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# Fix for building with clang-22 -# This patch comes from: -# https://skia.googlesource.com/skcms.git/+/135488419331644e59091ecc73e682299d3937a4 -# This was bundled into skia here: -# https://github.com/google/skia/commit/9ab05b08ae3e83c80ac69c69008ed1048e9a0923 -# Then bundled into webkit in this commit: -# https://github.com/WebKit/WebKit/commit/7257554fb8cae41212228361c22c15c2557a0cbb -# I would expect this fix to be part of the next webkit release. -Patch: 0001-Change-use-of-removed-intrinsic.patch +# https://github.com/WebKit/WebKit/commit/730bffd856d2a1e56dd3bd2a0702282f19c5242a +Patch: build.patch +# https://bugs.webkit.org/show_bug.cgi?id=300718 +Patch: CVE-2025-43421.patch BuildRequires: bison BuildRequires: bubblewrap From 86e5954ac4d0d40aa7a76b043c463d2969536717 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 19 Nov 2025 10:12:57 -0600 Subject: [PATCH 07/36] Update to 2.51.2 --- i686-build.patch | 79 ---------------------------------------- no-file-prefix-map.patch | 15 -------- s390x-build.patch | 43 ++++++++++++++++++++++ sources | 4 +- webkitgtk.spec | 9 ++--- 5 files changed, 48 insertions(+), 102 deletions(-) delete mode 100644 i686-build.patch delete mode 100644 no-file-prefix-map.patch create mode 100644 s390x-build.patch diff --git a/i686-build.patch b/i686-build.patch deleted file mode 100644 index a5d1827..0000000 --- a/i686-build.patch +++ /dev/null @@ -1,79 +0,0 @@ -From f69f7075f71a90aef0a89f84a718e2ee4650d460 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Wed, 29 Oct 2025 14:33:21 -0500 -Subject: [PATCH] [GTK] [2.51.1] Fails to build on i386: redefinition of 'a' - with a different type: 'const char *' vs 'const Latin1Character *' (aka - 'const unsigned char *') https://bugs.webkit.org/show_bug.cgi?id=301512 - -Reviewed by NOBODY (OOPS!). - -Unfortunately I renamed the parameters to exactly the same names as the -local variables. I prefer to not rename the parameters again, since -these are the best names for the other architectures, so let's change -the locals instead. ---- - Source/WTF/wtf/text/StringCommon.h | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git a/Source/WTF/wtf/text/StringCommon.h b/Source/WTF/wtf/text/StringCommon.h -index 4e1e4ffbfdd8..e22d45610544 100644 ---- a/Source/WTF/wtf/text/StringCommon.h -+++ b/Source/WTF/wtf/text/StringCommon.h -@@ -246,24 +246,24 @@ ALWAYS_INLINE bool equal(const Latin1Character* a, std::span::max()); - unsigned length = b.size(); - -- const char* a = byteCast(a); -- const char* b = byteCast(b.data()); -+ const char* aString = byteCast(a); -+ const char* bString = byteCast(b.data()); - - unsigned wordLength = length >> 2; - for (unsigned i = 0; i != wordLength; ++i) { -- if (unalignedLoad(a) != unalignedLoad(b)) -+ if (unalignedLoad(aString) != unalignedLoad(bString)) - return false; -- a += sizeof(uint32_t); -- b += sizeof(uint32_t); -+ aString += sizeof(uint32_t); -+ bString += sizeof(uint32_t); - } - - length &= 3; - - if (length) { -- const Latin1Character* aRemainder = byteCast(a); -- const Latin1Character* bRemainder = byteCast(b); -+ const Latin1Character* aRemainder = byteCast(aString); -+ const Latin1Character* bRemainder = byteCast(bString); - -- for (unsigned i = 0; i < length; ++i) { -+ for (unsigned i = 0; i < length; ++i) { - if (aRemainder[i] != bRemainder[i]) - return false; - } -@@ -277,18 +277,18 @@ ALWAYS_INLINE bool equal(const char16_t* a, std::span b) - ASSERT(b.size() <= std::numeric_limits::max()); - unsigned length = b.size(); - -- const char* a = reinterpret_cast(a); -- const char* b = reinterpret_cast(b.data()); -+ const char* aString = reinterpret_cast(a); -+ const char* bString = reinterpret_cast(b.data()); - - unsigned wordLength = length >> 1; - for (unsigned i = 0; i != wordLength; ++i) { -- if (unalignedLoad(a) != unalignedLoad(b)) -+ if (unalignedLoad(aString) != unalignedLoad(bString)) - return false; -- a += sizeof(uint32_t); -- b += sizeof(uint32_t); -+ aString += sizeof(uint32_t); -+ bString += sizeof(uint32_t); - } - -- if (length & 1 && *reinterpret_cast(a) != *reinterpret_cast(b)) -+ if (length & 1 && *reinterpret_cast(aString) != *reinterpret_cast(bString)) - return false; - - return true; diff --git a/no-file-prefix-map.patch b/no-file-prefix-map.patch deleted file mode 100644 index ef851db..0000000 --- a/no-file-prefix-map.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake -index f95e7fc85a3d..c1dd2ce4651f 100644 ---- a/Source/cmake/OptionsCommon.cmake -+++ b/Source/cmake/OptionsCommon.cmake -@@ -218,10 +218,6 @@ option(GCC_OFFLINEASM_SOURCE_MAP - "Produce debug line information for offlineasm-generated code" - ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT}) - --# Record references to files using relative paths instead of absolute. --# This helps both with reproducible builds and ccache hits. --WEBKIT_APPEND_GLOBAL_COMPILER_FLAGS(-ffile-prefix-map=${CMAKE_SOURCE_DIR}=.) -- - option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE}) - - # Enable the usage of OpenMP. diff --git a/s390x-build.patch b/s390x-build.patch new file mode 100644 index 0000000..9931dda --- /dev/null +++ b/s390x-build.patch @@ -0,0 +1,43 @@ +diff --git a/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp b/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp +index 82c878632ca3..14f24dc8df5a 100644 +--- a/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp ++++ b/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp +@@ -197,7 +197,7 @@ void webkitFaviconDatabaseGetFaviconInternal(WebKitFaviconDatabase* database, co + _("Unknown favicon for page %s"), pageURI.data()); + return; + } +- const auto& icon = icons.last(); ++ auto& icon = icons.last(); + #if USE(CAIRO) + g_task_return_pointer(task.get(), icon.leakRef(), reinterpret_cast(cairo_surface_destroy)); + #elif USE(SKIA) +diff --git a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp +index 851ac8dcdefe..c6e1dfcdfa48 100644 +--- a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp ++++ b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp +@@ -509,10 +509,10 @@ ScrollbarButtonPressAction ScrollbarThemeGtk::handleMousePressEvent(Scrollbar&, + return ScrollbarButtonPressAction::None; + } + +-int ScrollbarThemeGtk::scrollbarThickness(ScrollbarWidth scrollbarWidth, ScrollbarExpansionState expansionState, OverlayScrollbarSizeRelevancy overlayRelevancy) ++int ScrollbarThemeGtk::scrollbarThickness(ScrollbarWidth scrollbarWidth, OverlayScrollbarSizeRelevancy overlayRelevancy) + { + if (!m_useSystemAppearance) +- return ScrollbarThemeAdwaita::scrollbarThickness(scrollbarWidth, expansionState, overlayRelevancy); ++ return ScrollbarThemeAdwaita::scrollbarThickness(scrollbarWidth, overlayRelevancy); + + if (scrollbarWidth == ScrollbarWidth::None || (usesOverlayScrollbars() && overlayRelevancy == OverlayScrollbarSizeRelevancy::IgnoreOverlayScrollbarSize)) + return 0; +diff --git a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h +index 116c28339112..fffe1084f7b7 100644 +--- a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h ++++ b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h +@@ -45,7 +45,7 @@ private: + + bool paint(Scrollbar&, GraphicsContext&, const IntRect& damageRect) override; + ScrollbarButtonPressAction handleMousePressEvent(Scrollbar&, const PlatformMouseEvent&, ScrollbarPart) override; +- int scrollbarThickness(ScrollbarWidth = ScrollbarWidth::Auto, ScrollbarExpansionState = ScrollbarExpansionState::Expanded, OverlayScrollbarSizeRelevancy = OverlayScrollbarSizeRelevancy::IncludeOverlayScrollbarSize) override; ++ int scrollbarThickness(ScrollbarWidth = ScrollbarWidth::Auto, OverlayScrollbarSizeRelevancy = OverlayScrollbarSizeRelevancy::IncludeOverlayScrollbarSize) override; + int minimumThumbLength(Scrollbar&) override; + + void themeChanged() override; diff --git a/sources b/sources index 196b659..b43b620 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.1.tar.xz) = 64b9e6142d6329b307bcce832df24ad3b0e559d0ed66a71f8724043002b7570f930a5016c7c00336320206ffc5b8ad1d09496f5b1ddb9097b4a1022d4a4665ab -SHA512 (webkitgtk-2.51.1.tar.xz.asc) = b2123b7c42d8cdbfe2d6a02821224f9895bd9e6c4eaacb1a0df1bcf251fcbfe78347bee50da53b2e381374a911439901bcf6a39d68d38f8452451e3d92812dc8 +SHA512 (webkitgtk-2.51.2.tar.xz) = 34e8fae68c81c09397730a2bb00e45be26e3afd2745d4d0c4c6c16b2b5fb8284777c5a01a7b091b6bfccb2bdc314d6cbb17902a54cf1325263e08a94b03be646 +SHA512 (webkitgtk-2.51.2.tar.xz.asc) = eef9e059f08700ef44b7bbc750061a2cbb1a8e410043e2c11be9dbc87ae1cbb9db8dc8f6b46873849039cbf67fb68fc2bf6bd3f31b222e8bae57fc784229677b diff --git a/webkitgtk.spec b/webkitgtk.spec index 5d25cd8..d560856 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.1 +Version: 2.51.2 Release: %autorelease Summary: GTK web content engine library @@ -57,11 +57,8 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=301512 -Patch: i686-build.patch - -# https://bugzilla.redhat.com/show_bug.cgi?id=2408418 -Patch: no-file-prefix-map.patch +# https://bugs.webkit.org/show_bug.cgi?id=302896 +Patch: s390x-build.patch BuildRequires: bison BuildRequires: bubblewrap From ea0da612d3707975dec68633107f652f8679891f Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 25 Nov 2025 12:01:48 -0600 Subject: [PATCH 08/36] Add patch to fix frequent CSS crashes --- ...SSTransitionsForStyleableAndProperty.patch | 185 ++++++++++++++++++ webkitgtk.spec | 3 + 2 files changed, 188 insertions(+) create mode 100644 updateCSSTransitionsForStyleableAndProperty.patch diff --git a/updateCSSTransitionsForStyleableAndProperty.patch b/updateCSSTransitionsForStyleableAndProperty.patch new file mode 100644 index 0000000..9dc3ee7 --- /dev/null +++ b/updateCSSTransitionsForStyleableAndProperty.patch @@ -0,0 +1,185 @@ +From 48e68eb17fb7ecf1b9d25c4101f06a200a185e08 Mon Sep 17 00:00:00 2001 +From: Antoine Quint +Date: Tue, 18 Nov 2025 22:37:37 -0800 +Subject: [PATCH] REGRESSION(303073@main): Twitch pages crash after exiting + fullscreen on iPad https://bugs.webkit.org/show_bug.cgi?id=302713 + rdar://164913157 + +Reviewed by Antti Koivisto. + +We made `KeyframeEffectStack::sortedEffects()` return a const reference in 303073@main whereas previously it would return a copy of +the list of sorted effects. + +In the `updateCSSTransitionsForStyleableAndProperty()` function, called under `Style::TreeResolver::createAnimatedElementUpdate()`, +where we update transitions as part of an animation update, in order to determine the before-change style [0], we manually update +the underlying, non-animated style to the current state for animations that target the property in question. We use +`KeyframeEffectStack::sortedEffects()` to get the list of effects applied to the element we're processing, but we use a method, +`WebAnimation::resolve()`, to compute the animated styles that does more than just that, updating the finished state of the animation [1] +which may change whether the animation in question is considered relevant [2] and thus affect its membership in the effect list +we're iterating upon. + +One way to address this would be to make a copy of the effect list, but we should be able to iterate through the effect list here +without it changing from under us. To that end, we now use `KeyframeEffect::apply()` instead of `WebAnimation::resolve()`. This change +alone addresses the reported issue. + +However, this change yielded some test regressions in the WPT test `css/css-transitions/KeyframeEffect-setKeyframes.tentative.html`. +As it turns out, the current style of a transition was cached under an overridden implementation of `WebAnimation::resolve()` in the +`CSSTransition` class, and changing from calling `WebAnimation::resolve()` to `KeyframeEffect::apply()` meant that this style was no +longer current. It appears now that this approach was fragile, and also overkill since this transition current style is only ever used +in one of the branches of the CSS Transition update process and should be computed as requested. So on top of the change described above, +we now remove the CSS Transition current style caching, removing the `CSSTransition::m_currentStyle` member, in favor of computing it +directly as needed. + +[0] https://drafts.csswg.org/css-transitions-1/#before-change-style +[1] https://drafts.csswg.org/web-animations-1/#updating-the-finished-state +[2] https://drafts.csswg.org/web-animations-1/#relevant-animations-section + +* Source/WebCore/animation/CSSTransition.cpp: +(WebCore::CSSTransition::create): +(WebCore::CSSTransition::CSSTransition): +(WebCore::CSSTransition::resolve): Deleted. +* Source/WebCore/animation/CSSTransition.h: +* Source/WebCore/animation/WebAnimation.h: +* Source/WebCore/style/Styleable.cpp: +(WebCore::updateCSSTransitionsForStyleableAndProperty): + +Canonical link: https://commits.webkit.org/303234@main +--- + Source/WebCore/animation/CSSTransition.cpp | 12 ++---------- + Source/WebCore/animation/CSSTransition.h | 5 +---- + Source/WebCore/animation/WebAnimation.h | 2 +- + Source/WebCore/style/Styleable.cpp | 22 +++++++++++----------- + 4 files changed, 15 insertions(+), 26 deletions(-) + +diff --git a/Source/WebCore/animation/CSSTransition.cpp b/Source/WebCore/animation/CSSTransition.cpp +index bc481b7335683..12340765b4e07 100644 +--- a/Source/WebCore/animation/CSSTransition.cpp ++++ b/Source/WebCore/animation/CSSTransition.cpp +@@ -39,7 +39,7 @@ WTF_MAKE_TZONE_OR_ISO_ALLOCATED_IMPL(CSSTransition); + + Ref CSSTransition::create(const Styleable& owningElement, const AnimatableCSSProperty& property, MonotonicTime generationTime, const Style::Transition& backingStyleTransition, const RenderStyle& oldStyle, const RenderStyle& newStyle, Seconds delay, Seconds duration, const RenderStyle& reversingAdjustedStartStyle, double reversingShorteningFactor) + { +- auto result = adoptRef(*new CSSTransition(owningElement, property, generationTime, backingStyleTransition, oldStyle, newStyle, reversingAdjustedStartStyle, reversingShorteningFactor)); ++ auto result = adoptRef(*new CSSTransition(owningElement, property, generationTime, backingStyleTransition, newStyle, reversingAdjustedStartStyle, reversingShorteningFactor)); + result->initialize(&oldStyle, newStyle, { nullptr }); + result->setTimingProperties(delay, duration); + +@@ -48,12 +48,11 @@ Ref CSSTransition::create(const Styleable& owningElement, const A + return result; + } + +-CSSTransition::CSSTransition(const Styleable& styleable, const AnimatableCSSProperty& property, MonotonicTime generationTime, const Style::Transition& backingStyleTransition, const RenderStyle& oldStyle, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double reversingShorteningFactor) ++CSSTransition::CSSTransition(const Styleable& styleable, const AnimatableCSSProperty& property, MonotonicTime generationTime, const Style::Transition& backingStyleTransition, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double reversingShorteningFactor) + : StyleOriginatedAnimation(styleable) + , m_property(property) + , m_generationTime(generationTime) + , m_targetStyle(RenderStyle::clonePtr(targetStyle)) +- , m_currentStyle(RenderStyle::clonePtr(oldStyle)) + , m_reversingAdjustedStartStyle(RenderStyle::clonePtr(reversingAdjustedStartStyle)) + , m_reversingShorteningFactor(reversingShorteningFactor) + , m_backingStyleTransition(backingStyleTransition) +@@ -62,13 +61,6 @@ CSSTransition::CSSTransition(const Styleable& styleable, const AnimatableCSSProp + + CSSTransition::~CSSTransition() = default; + +-OptionSet CSSTransition::resolve(RenderStyle& targetStyle, const Style::ResolutionContext& resolutionContext, EndpointInclusiveActiveInterval endpointInclusiveActiveInterval) +-{ +- auto impact = StyleOriginatedAnimation::resolve(targetStyle, resolutionContext, endpointInclusiveActiveInterval); +- m_currentStyle = RenderStyle::clonePtr(targetStyle); +- return impact; +-} +- + void CSSTransition::animationDidFinish() + { + StyleOriginatedAnimation::animationDidFinish(); +diff --git a/Source/WebCore/animation/CSSTransition.h b/Source/WebCore/animation/CSSTransition.h +index 5ccd71c24287b..0b6cf0a9775ba 100644 +--- a/Source/WebCore/animation/CSSTransition.h ++++ b/Source/WebCore/animation/CSSTransition.h +@@ -50,17 +50,15 @@ class CSSTransition final : public StyleOriginatedAnimation { + AnimatableCSSProperty property() const { return m_property; } + MonotonicTime generationTime() const { return m_generationTime; } + const RenderStyle& targetStyle() const { return *m_targetStyle; } +- const RenderStyle& currentStyle() const { return *m_currentStyle; } + const RenderStyle& reversingAdjustedStartStyle() const { return *m_reversingAdjustedStartStyle; } + double reversingShorteningFactor() const { return m_reversingShorteningFactor; } + + const Style::Transition& backingStyleTransition() const { return m_backingStyleTransition; } + + private: +- CSSTransition(const Styleable&, const AnimatableCSSProperty&, MonotonicTime generationTime, const Style::Transition&, const RenderStyle& oldStyle, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double); ++ CSSTransition(const Styleable&, const AnimatableCSSProperty&, MonotonicTime generationTime, const Style::Transition&, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double); + void setTimingProperties(Seconds delay, Seconds duration); + Ref createEvent(const AtomString& eventType, std::optional scheduledTime, double elapsedTime, const std::optional&) final; +- OptionSet resolve(RenderStyle& targetStyle, const Style::ResolutionContext&, EndpointInclusiveActiveInterval = EndpointInclusiveActiveInterval::No) final; + void animationDidFinish() final; + bool isCSSTransition() const final { return true; } + +@@ -70,7 +68,6 @@ class CSSTransition final : public StyleOriginatedAnimation { + AnimatableCSSProperty m_property; + MonotonicTime m_generationTime; + std::unique_ptr m_targetStyle; +- std::unique_ptr m_currentStyle; + std::unique_ptr m_reversingAdjustedStartStyle; + double m_reversingShorteningFactor; + +diff --git a/Source/WebCore/animation/WebAnimation.h b/Source/WebCore/animation/WebAnimation.h +index b858674d51a93..51c16da743562 100644 +--- a/Source/WebCore/animation/WebAnimation.h ++++ b/Source/WebCore/animation/WebAnimation.h +@@ -157,7 +157,7 @@ class WebAnimation : public RefCounted, public EventTarget, public + bool needsTick() const; + virtual void tick(); + WEBCORE_EXPORT Seconds timeToNextTick() const; +- virtual OptionSet resolve(RenderStyle& targetStyle, const Style::ResolutionContext&, EndpointInclusiveActiveInterval = EndpointInclusiveActiveInterval::No); ++ OptionSet resolve(RenderStyle& targetStyle, const Style::ResolutionContext&, EndpointInclusiveActiveInterval = EndpointInclusiveActiveInterval::No); + void effectTargetDidChange(const std::optional& previousTarget, const std::optional& newTarget); + void acceleratedStateDidChange(); + void willChangeRenderer(); +diff --git a/Source/WebCore/style/Styleable.cpp b/Source/WebCore/style/Styleable.cpp +index b098d6eaf7585..3e657df868c60 100644 +--- a/Source/WebCore/style/Styleable.cpp ++++ b/Source/WebCore/style/Styleable.cpp +@@ -589,14 +589,6 @@ static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleab + hasMatchingTransitionProperty = true; + } + +- auto effectTargetsProperty = [&property](KeyframeEffect& effect) { +- if (effect.animatesProperty(property)) +- return true; +- if (auto* transition = dynamicDowncast(effect.animation())) +- return transition->property() == property; +- return false; +- }; +- + // https://drafts.csswg.org/css-transitions-1/#before-change-style + // Define the before-change style as the computed values of all properties on the element as of the previous style change event, except with + // any styles derived from declarative animations such as CSS Transitions, CSS Animations, and SMIL Animations updated to the current time. +@@ -605,8 +597,8 @@ static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleab + auto style = RenderStyle::clone(*lastStyleChangeEventStyle); + if (auto* keyframeEffectStack = styleable.keyframeEffectStack()) { + for (const auto& effect : keyframeEffectStack->sortedEffects()) { +- if (effectTargetsProperty(*effect)) +- Ref { *effect->animation() }->resolve(style, { nullptr }); ++ if (effect->animatesProperty(property)) ++ Ref { *effect }->apply(style, { nullptr }); + } + } + return style; +@@ -690,7 +682,15 @@ static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleab + ASSERT(hasMatchingTransitionProperty); + if (hasRunningTransition && !propertyInStyleMatchesValueForTransitionInMap(property, afterChangeStyle, styleable.ensureRunningTransitionsByProperty(), document)) { + auto previouslyRunningTransition = styleable.ensureRunningTransitionsByProperty().take(property); +- auto& previouslyRunningTransitionCurrentStyle = previouslyRunningTransition->currentStyle(); ++ auto previouslyRunningTransitionCurrentStyle = [&] { ++ if (auto* lastStyleChangeEventStyle = styleable.lastStyleChangeEventStyle()) { ++ auto style = RenderStyle::clone(*lastStyleChangeEventStyle); ++ ASSERT(previouslyRunningTransition->keyframeEffect()); ++ Ref { *previouslyRunningTransition->keyframeEffect() }->apply(style, { nullptr }); ++ return style; ++ } ++ return RenderStyle::clone(currentStyle); ++ }(); + // 4. If the element has a running transition for the property, there is a matching transition-property value, and the end value of the running + // transition is not equal to the value of the property in the after-change style, then: + if (Style::Interpolation::equals(property, previouslyRunningTransitionCurrentStyle, afterChangeStyle, document) || !propertyCanBeInterpolated(property, currentStyle, afterChangeStyle)) { diff --git a/webkitgtk.spec b/webkitgtk.spec index d560856..ee7481f 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -60,6 +60,9 @@ Source2: webkitgtk-keys.gpg # https://bugs.webkit.org/show_bug.cgi?id=302896 Patch: s390x-build.patch +# https://bugs.webkit.org/show_bug.cgi?id=303057 +Patch: updateCSSTransitionsForStyleableAndProperty.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 23691fb07faf7718da29eada21c66b5801c0e27c Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 4 Dec 2025 14:40:02 -0600 Subject: [PATCH 09/36] Update to 2.50.3 --- 0001-Change-use-of-removed-intrinsic.patch | 38 ---------------------- CVE-2025-43421.patch | 26 --------------- build.patch | 27 --------------- sources | 4 +-- webkitgtk.spec | 7 +--- 5 files changed, 3 insertions(+), 99 deletions(-) delete mode 100644 0001-Change-use-of-removed-intrinsic.patch delete mode 100644 CVE-2025-43421.patch delete mode 100644 build.patch diff --git a/0001-Change-use-of-removed-intrinsic.patch b/0001-Change-use-of-removed-intrinsic.patch deleted file mode 100644 index 25afe4e..0000000 --- a/0001-Change-use-of-removed-intrinsic.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 135488419331644e59091ecc73e682299d3937a4 Mon Sep 17 00:00:00 2001 -From: Devon Loehr -Date: Fri, 15 Aug 2025 14:31:27 +0000 -Subject: [PATCH] Change use of removed intrinsic - -A recent LLVM change removed the __builtin_ia32_vcvtph2ps256 intrinsic -because it can be implemented using __builtin_shufflevector and/or -__builtin_convertvector. This CL changes skia to use convertvector as -to match. - -Bug: chromium:438445382 -Change-Id: I2ed16cd507d7feeafba4c082b3840cbdd6368dd9 -Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/1038217 -Reviewed-by: Ben Wagner -Commit-Queue: Ben Wagner -Auto-Submit: Devon Loehr ---- - Source/ThirdParty/skia/modules/skcms/src/src/Transform_inl.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h b/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h -index bc10e7d..99faf25 100644 ---- a/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h -+++ b/Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h -@@ -156,8 +156,8 @@ SI F F_from_Half(U16 half) { - #elif defined(USING_AVX512F) - return (F)_mm512_cvtph_ps((__m256i)half); - #elif defined(USING_AVX_F16C) -- typedef int16_t __attribute__((vector_size(16))) I16; -- return __builtin_ia32_vcvtph2ps256((I16)half); -+ typedef _Float16 __attribute__((vector_size(16))) F16; -+ return __builtin_convertvector((F16)half, F); - #else - U32 wide = cast(half); - // A half is 1-5-10 sign-exponent-mantissa, with 15 exponent bias. --- -2.50.1 - diff --git a/CVE-2025-43421.patch b/CVE-2025-43421.patch deleted file mode 100644 index 26e2361..0000000 --- a/CVE-2025-43421.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 56f026944a16a4baf82ddd6bae954c577de79d03 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Fri, 21 Nov 2025 12:42:01 -0600 -Subject: [PATCH] Disable array allocation sinking - https://bugs.webkit.org/show_bug.cgi?id=300718 - -Unreviewed stable branch commit. - -Canonical link: https://commits.webkit.org/298234.299@webkitglib/2.50 ---- - Source/JavaScriptCore/runtime/OptionsList.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h -index 3d65cb28ba8ed..5b0750dd25219 100644 ---- a/Source/JavaScriptCore/runtime/OptionsList.h -+++ b/Source/JavaScriptCore/runtime/OptionsList.h -@@ -629,7 +629,7 @@ bool hasCapacityToUseLargeGigacage(); - v(Bool, forceAllFunctionsToUseSIMD, false, Normal, "Force all functions to act conservatively w.r.t fp/vector registers for testing."_s) \ - v(Bool, useOMGInlining, true, Normal, "Use OMG inlining"_s) \ - v(Bool, freeRetiredWasmCode, true, Normal, "free BBQ/OMG-OSR wasm code once it's no longer reachable."_s) \ -- v(Bool, useArrayAllocationSinking, true, Normal, nullptr) \ -+ v(Bool, useArrayAllocationSinking, false, Normal, nullptr) \ - v(Bool, dumpFTLCodeSize, false, Normal, nullptr) \ - v(Bool, dumpOptimizationTracing, false, Normal, nullptr) \ - v(Unsigned, markedBlockDumpInfoCount, 0, Normal, nullptr) /* FIXME: rdar://139998916 */ \ diff --git a/build.patch b/build.patch deleted file mode 100644 index 12f9d09..0000000 --- a/build.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 730bffd856d2a1e56dd3bd2a0702282f19c5242a Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Thu, 20 Nov 2025 00:52:19 +0200 -Subject: [PATCH] Unreviewed build fix after 298234.287@webkitglib/2.50 - -* Source/WebCore/Modules/credentialmanagement/BasicCredential.idl: -Remove the CustomToJSObject flag to avoid a link error due to an -undefined toJS() symbol, letting the binding generator write the -function is enough for the Google Accounts quirk to work. - -Canonical link: https://commits.webkit.org/298234.297@webkitglib/2.50 ---- - Source/WebCore/Modules/credentialmanagement/BasicCredential.idl | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl b/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl -index 42114f65fff97..9643b59bf6909 100644 ---- a/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl -+++ b/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl -@@ -25,7 +25,6 @@ - - [ - InterfaceName=Credential, -- CustomToJSObject, - EnabledByQuirk=shouldExposeCredentialsContainer, - Exposed=Window, - SecureContext diff --git a/sources b/sources index 777aa6f..baf5d91 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.50.2.tar.xz) = 1d4d61702c4e4a43ed3ec808e9a20d126032847a830377d7d4732304111845d06f1df49688ef042825475ecee17b3e457a3b31ce0406089f95230b64960f5129 -SHA512 (webkitgtk-2.50.2.tar.xz.asc) = 9783ea78b226cbcf51973b804cace90bb8e4ff82e714fb6bce3ffd08a8eb93c2bc237ad82e1914ce3f8ea33d0f52f361ed41d1ad0618a68f7a7ff29c2d0eb9b1 +SHA512 (webkitgtk-2.50.3.tar.xz) = 32bebcb99464490ce36116c19e1da40269a7d22bed499056d80a0ad49843defc938203cf3450c122d7ee7aaa87203b265437db400e938e96af30d71f36cef2cf +SHA512 (webkitgtk-2.50.3.tar.xz.asc) = 635998799265ae125ad5ba6e45f939a33f465719756397d125f340818bf35b31d6924dbf91a762201f1f06741c92d2599515f1e28e5d4bdc2a3f16ae678b7aff diff --git a/webkitgtk.spec b/webkitgtk.spec index b7bc86f..66bc241 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.50.2 +Version: 2.50.3 Release: %autorelease Summary: GTK web content engine library @@ -57,11 +57,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://github.com/WebKit/WebKit/commit/730bffd856d2a1e56dd3bd2a0702282f19c5242a -Patch: build.patch -# https://bugs.webkit.org/show_bug.cgi?id=300718 -Patch: CVE-2025-43421.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From dbaa715e88b916fb19db3ad17232407f7f389e4d Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 9 Dec 2025 14:38:21 -0600 Subject: [PATCH 10/36] Update to 2.51.3 --- s390x-build.patch | 85 ++++---- sources | 4 +- ...SSTransitionsForStyleableAndProperty.patch | 185 ------------------ webkitgtk.spec | 6 +- 4 files changed, 46 insertions(+), 234 deletions(-) delete mode 100644 updateCSSTransitionsForStyleableAndProperty.patch diff --git a/s390x-build.patch b/s390x-build.patch index 9931dda..f76da57 100644 --- a/s390x-build.patch +++ b/s390x-build.patch @@ -1,43 +1,44 @@ -diff --git a/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp b/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp -index 82c878632ca3..14f24dc8df5a 100644 ---- a/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp -+++ b/Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp -@@ -197,7 +197,7 @@ void webkitFaviconDatabaseGetFaviconInternal(WebKitFaviconDatabase* database, co - _("Unknown favicon for page %s"), pageURI.data()); - return; - } -- const auto& icon = icons.last(); -+ auto& icon = icons.last(); - #if USE(CAIRO) - g_task_return_pointer(task.get(), icon.leakRef(), reinterpret_cast(cairo_surface_destroy)); - #elif USE(SKIA) -diff --git a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp -index 851ac8dcdefe..c6e1dfcdfa48 100644 ---- a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp -+++ b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp -@@ -509,10 +509,10 @@ ScrollbarButtonPressAction ScrollbarThemeGtk::handleMousePressEvent(Scrollbar&, - return ScrollbarButtonPressAction::None; - } - --int ScrollbarThemeGtk::scrollbarThickness(ScrollbarWidth scrollbarWidth, ScrollbarExpansionState expansionState, OverlayScrollbarSizeRelevancy overlayRelevancy) -+int ScrollbarThemeGtk::scrollbarThickness(ScrollbarWidth scrollbarWidth, OverlayScrollbarSizeRelevancy overlayRelevancy) +diff --git a/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp b/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp +index 0def7031aad7..3e7b538936c7 100644 +--- a/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp ++++ b/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + +From 4d3922444f561e253d4bb1cf5c771831d496d08f Mon Sep 17 00:00:00 2001 +From: Simon Pena +Date: Tue, 9 Dec 2025 04:45:06 -0800 +Subject: [PATCH] [GTK] Fix Cairo build + https://bugs.webkit.org/show_bug.cgi?id=303822 + +Unreviewed build fix. + +SharedBufferBuilder::take has been removed in 303790@main and needs to be +replaced with SharedBufferBuilder::takeBuffer here. + +* Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: +(WebKit::WebPrintOperationGtk::endPrint): + +Canonical link: https://commits.webkit.org/304151@main +--- + Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp b/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp +index f40ae478c1929..fc72a63faac46 100644 +--- a/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp ++++ b/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp +@@ -335,7 +335,7 @@ void WebPrintOperationGtk::endPage(cairo_t* cr) + void WebPrintOperationGtk::endPrint(cairo_t* cr) { - if (!m_useSystemAppearance) -- return ScrollbarThemeAdwaita::scrollbarThickness(scrollbarWidth, expansionState, overlayRelevancy); -+ return ScrollbarThemeAdwaita::scrollbarThickness(scrollbarWidth, overlayRelevancy); - - if (scrollbarWidth == ScrollbarWidth::None || (usesOverlayScrollbars() && overlayRelevancy == OverlayScrollbarSizeRelevancy::IgnoreOverlayScrollbarSize)) - return 0; -diff --git a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h -index 116c28339112..fffe1084f7b7 100644 ---- a/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h -+++ b/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h -@@ -45,7 +45,7 @@ private: - - bool paint(Scrollbar&, GraphicsContext&, const IntRect& damageRect) override; - ScrollbarButtonPressAction handleMousePressEvent(Scrollbar&, const PlatformMouseEvent&, ScrollbarPart) override; -- int scrollbarThickness(ScrollbarWidth = ScrollbarWidth::Auto, ScrollbarExpansionState = ScrollbarExpansionState::Expanded, OverlayScrollbarSizeRelevancy = OverlayScrollbarSizeRelevancy::IncludeOverlayScrollbarSize) override; -+ int scrollbarThickness(ScrollbarWidth = ScrollbarWidth::Auto, OverlayScrollbarSizeRelevancy = OverlayScrollbarSizeRelevancy::IncludeOverlayScrollbarSize) override; - int minimumThumbLength(Scrollbar&) override; - - void themeChanged() override; + cairo_surface_finish(cairo_get_target(cr)); +- printDone(m_buffer.take(), { }); ++ printDone(m_buffer.takeBuffer(), { }); + } + #elif USE(SKIA) + void WebPrintOperationGtk::startPage(SkPictureRecorder& recorder) diff --git a/sources b/sources index b43b620..8768a9a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.2.tar.xz) = 34e8fae68c81c09397730a2bb00e45be26e3afd2745d4d0c4c6c16b2b5fb8284777c5a01a7b091b6bfccb2bdc314d6cbb17902a54cf1325263e08a94b03be646 -SHA512 (webkitgtk-2.51.2.tar.xz.asc) = eef9e059f08700ef44b7bbc750061a2cbb1a8e410043e2c11be9dbc87ae1cbb9db8dc8f6b46873849039cbf67fb68fc2bf6bd3f31b222e8bae57fc784229677b +SHA512 (webkitgtk-2.51.3.tar.xz) = 478cc144fb17323d933d3f6259c3a2bd233d6768863034ef8904c9dc886f2ba185d54763cea59baff0d567f0b6d28f622eadb5a6f1598b03076bdd9b84998214 +SHA512 (webkitgtk-2.51.3.tar.xz.asc) = 0ab4a1516f365035c98b651ff7867147855db6f9fcc4cee189614940dc44e10e438390f7778c4f9e0f6e2d88af5e60e9a1301ce829706482523639ed1c440abc diff --git a/updateCSSTransitionsForStyleableAndProperty.patch b/updateCSSTransitionsForStyleableAndProperty.patch deleted file mode 100644 index 9dc3ee7..0000000 --- a/updateCSSTransitionsForStyleableAndProperty.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 48e68eb17fb7ecf1b9d25c4101f06a200a185e08 Mon Sep 17 00:00:00 2001 -From: Antoine Quint -Date: Tue, 18 Nov 2025 22:37:37 -0800 -Subject: [PATCH] REGRESSION(303073@main): Twitch pages crash after exiting - fullscreen on iPad https://bugs.webkit.org/show_bug.cgi?id=302713 - rdar://164913157 - -Reviewed by Antti Koivisto. - -We made `KeyframeEffectStack::sortedEffects()` return a const reference in 303073@main whereas previously it would return a copy of -the list of sorted effects. - -In the `updateCSSTransitionsForStyleableAndProperty()` function, called under `Style::TreeResolver::createAnimatedElementUpdate()`, -where we update transitions as part of an animation update, in order to determine the before-change style [0], we manually update -the underlying, non-animated style to the current state for animations that target the property in question. We use -`KeyframeEffectStack::sortedEffects()` to get the list of effects applied to the element we're processing, but we use a method, -`WebAnimation::resolve()`, to compute the animated styles that does more than just that, updating the finished state of the animation [1] -which may change whether the animation in question is considered relevant [2] and thus affect its membership in the effect list -we're iterating upon. - -One way to address this would be to make a copy of the effect list, but we should be able to iterate through the effect list here -without it changing from under us. To that end, we now use `KeyframeEffect::apply()` instead of `WebAnimation::resolve()`. This change -alone addresses the reported issue. - -However, this change yielded some test regressions in the WPT test `css/css-transitions/KeyframeEffect-setKeyframes.tentative.html`. -As it turns out, the current style of a transition was cached under an overridden implementation of `WebAnimation::resolve()` in the -`CSSTransition` class, and changing from calling `WebAnimation::resolve()` to `KeyframeEffect::apply()` meant that this style was no -longer current. It appears now that this approach was fragile, and also overkill since this transition current style is only ever used -in one of the branches of the CSS Transition update process and should be computed as requested. So on top of the change described above, -we now remove the CSS Transition current style caching, removing the `CSSTransition::m_currentStyle` member, in favor of computing it -directly as needed. - -[0] https://drafts.csswg.org/css-transitions-1/#before-change-style -[1] https://drafts.csswg.org/web-animations-1/#updating-the-finished-state -[2] https://drafts.csswg.org/web-animations-1/#relevant-animations-section - -* Source/WebCore/animation/CSSTransition.cpp: -(WebCore::CSSTransition::create): -(WebCore::CSSTransition::CSSTransition): -(WebCore::CSSTransition::resolve): Deleted. -* Source/WebCore/animation/CSSTransition.h: -* Source/WebCore/animation/WebAnimation.h: -* Source/WebCore/style/Styleable.cpp: -(WebCore::updateCSSTransitionsForStyleableAndProperty): - -Canonical link: https://commits.webkit.org/303234@main ---- - Source/WebCore/animation/CSSTransition.cpp | 12 ++---------- - Source/WebCore/animation/CSSTransition.h | 5 +---- - Source/WebCore/animation/WebAnimation.h | 2 +- - Source/WebCore/style/Styleable.cpp | 22 +++++++++++----------- - 4 files changed, 15 insertions(+), 26 deletions(-) - -diff --git a/Source/WebCore/animation/CSSTransition.cpp b/Source/WebCore/animation/CSSTransition.cpp -index bc481b7335683..12340765b4e07 100644 ---- a/Source/WebCore/animation/CSSTransition.cpp -+++ b/Source/WebCore/animation/CSSTransition.cpp -@@ -39,7 +39,7 @@ WTF_MAKE_TZONE_OR_ISO_ALLOCATED_IMPL(CSSTransition); - - Ref CSSTransition::create(const Styleable& owningElement, const AnimatableCSSProperty& property, MonotonicTime generationTime, const Style::Transition& backingStyleTransition, const RenderStyle& oldStyle, const RenderStyle& newStyle, Seconds delay, Seconds duration, const RenderStyle& reversingAdjustedStartStyle, double reversingShorteningFactor) - { -- auto result = adoptRef(*new CSSTransition(owningElement, property, generationTime, backingStyleTransition, oldStyle, newStyle, reversingAdjustedStartStyle, reversingShorteningFactor)); -+ auto result = adoptRef(*new CSSTransition(owningElement, property, generationTime, backingStyleTransition, newStyle, reversingAdjustedStartStyle, reversingShorteningFactor)); - result->initialize(&oldStyle, newStyle, { nullptr }); - result->setTimingProperties(delay, duration); - -@@ -48,12 +48,11 @@ Ref CSSTransition::create(const Styleable& owningElement, const A - return result; - } - --CSSTransition::CSSTransition(const Styleable& styleable, const AnimatableCSSProperty& property, MonotonicTime generationTime, const Style::Transition& backingStyleTransition, const RenderStyle& oldStyle, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double reversingShorteningFactor) -+CSSTransition::CSSTransition(const Styleable& styleable, const AnimatableCSSProperty& property, MonotonicTime generationTime, const Style::Transition& backingStyleTransition, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double reversingShorteningFactor) - : StyleOriginatedAnimation(styleable) - , m_property(property) - , m_generationTime(generationTime) - , m_targetStyle(RenderStyle::clonePtr(targetStyle)) -- , m_currentStyle(RenderStyle::clonePtr(oldStyle)) - , m_reversingAdjustedStartStyle(RenderStyle::clonePtr(reversingAdjustedStartStyle)) - , m_reversingShorteningFactor(reversingShorteningFactor) - , m_backingStyleTransition(backingStyleTransition) -@@ -62,13 +61,6 @@ CSSTransition::CSSTransition(const Styleable& styleable, const AnimatableCSSProp - - CSSTransition::~CSSTransition() = default; - --OptionSet CSSTransition::resolve(RenderStyle& targetStyle, const Style::ResolutionContext& resolutionContext, EndpointInclusiveActiveInterval endpointInclusiveActiveInterval) --{ -- auto impact = StyleOriginatedAnimation::resolve(targetStyle, resolutionContext, endpointInclusiveActiveInterval); -- m_currentStyle = RenderStyle::clonePtr(targetStyle); -- return impact; --} -- - void CSSTransition::animationDidFinish() - { - StyleOriginatedAnimation::animationDidFinish(); -diff --git a/Source/WebCore/animation/CSSTransition.h b/Source/WebCore/animation/CSSTransition.h -index 5ccd71c24287b..0b6cf0a9775ba 100644 ---- a/Source/WebCore/animation/CSSTransition.h -+++ b/Source/WebCore/animation/CSSTransition.h -@@ -50,17 +50,15 @@ class CSSTransition final : public StyleOriginatedAnimation { - AnimatableCSSProperty property() const { return m_property; } - MonotonicTime generationTime() const { return m_generationTime; } - const RenderStyle& targetStyle() const { return *m_targetStyle; } -- const RenderStyle& currentStyle() const { return *m_currentStyle; } - const RenderStyle& reversingAdjustedStartStyle() const { return *m_reversingAdjustedStartStyle; } - double reversingShorteningFactor() const { return m_reversingShorteningFactor; } - - const Style::Transition& backingStyleTransition() const { return m_backingStyleTransition; } - - private: -- CSSTransition(const Styleable&, const AnimatableCSSProperty&, MonotonicTime generationTime, const Style::Transition&, const RenderStyle& oldStyle, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double); -+ CSSTransition(const Styleable&, const AnimatableCSSProperty&, MonotonicTime generationTime, const Style::Transition&, const RenderStyle& targetStyle, const RenderStyle& reversingAdjustedStartStyle, double); - void setTimingProperties(Seconds delay, Seconds duration); - Ref createEvent(const AtomString& eventType, std::optional scheduledTime, double elapsedTime, const std::optional&) final; -- OptionSet resolve(RenderStyle& targetStyle, const Style::ResolutionContext&, EndpointInclusiveActiveInterval = EndpointInclusiveActiveInterval::No) final; - void animationDidFinish() final; - bool isCSSTransition() const final { return true; } - -@@ -70,7 +68,6 @@ class CSSTransition final : public StyleOriginatedAnimation { - AnimatableCSSProperty m_property; - MonotonicTime m_generationTime; - std::unique_ptr m_targetStyle; -- std::unique_ptr m_currentStyle; - std::unique_ptr m_reversingAdjustedStartStyle; - double m_reversingShorteningFactor; - -diff --git a/Source/WebCore/animation/WebAnimation.h b/Source/WebCore/animation/WebAnimation.h -index b858674d51a93..51c16da743562 100644 ---- a/Source/WebCore/animation/WebAnimation.h -+++ b/Source/WebCore/animation/WebAnimation.h -@@ -157,7 +157,7 @@ class WebAnimation : public RefCounted, public EventTarget, public - bool needsTick() const; - virtual void tick(); - WEBCORE_EXPORT Seconds timeToNextTick() const; -- virtual OptionSet resolve(RenderStyle& targetStyle, const Style::ResolutionContext&, EndpointInclusiveActiveInterval = EndpointInclusiveActiveInterval::No); -+ OptionSet resolve(RenderStyle& targetStyle, const Style::ResolutionContext&, EndpointInclusiveActiveInterval = EndpointInclusiveActiveInterval::No); - void effectTargetDidChange(const std::optional& previousTarget, const std::optional& newTarget); - void acceleratedStateDidChange(); - void willChangeRenderer(); -diff --git a/Source/WebCore/style/Styleable.cpp b/Source/WebCore/style/Styleable.cpp -index b098d6eaf7585..3e657df868c60 100644 ---- a/Source/WebCore/style/Styleable.cpp -+++ b/Source/WebCore/style/Styleable.cpp -@@ -589,14 +589,6 @@ static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleab - hasMatchingTransitionProperty = true; - } - -- auto effectTargetsProperty = [&property](KeyframeEffect& effect) { -- if (effect.animatesProperty(property)) -- return true; -- if (auto* transition = dynamicDowncast(effect.animation())) -- return transition->property() == property; -- return false; -- }; -- - // https://drafts.csswg.org/css-transitions-1/#before-change-style - // Define the before-change style as the computed values of all properties on the element as of the previous style change event, except with - // any styles derived from declarative animations such as CSS Transitions, CSS Animations, and SMIL Animations updated to the current time. -@@ -605,8 +597,8 @@ static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleab - auto style = RenderStyle::clone(*lastStyleChangeEventStyle); - if (auto* keyframeEffectStack = styleable.keyframeEffectStack()) { - for (const auto& effect : keyframeEffectStack->sortedEffects()) { -- if (effectTargetsProperty(*effect)) -- Ref { *effect->animation() }->resolve(style, { nullptr }); -+ if (effect->animatesProperty(property)) -+ Ref { *effect }->apply(style, { nullptr }); - } - } - return style; -@@ -690,7 +682,15 @@ static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleab - ASSERT(hasMatchingTransitionProperty); - if (hasRunningTransition && !propertyInStyleMatchesValueForTransitionInMap(property, afterChangeStyle, styleable.ensureRunningTransitionsByProperty(), document)) { - auto previouslyRunningTransition = styleable.ensureRunningTransitionsByProperty().take(property); -- auto& previouslyRunningTransitionCurrentStyle = previouslyRunningTransition->currentStyle(); -+ auto previouslyRunningTransitionCurrentStyle = [&] { -+ if (auto* lastStyleChangeEventStyle = styleable.lastStyleChangeEventStyle()) { -+ auto style = RenderStyle::clone(*lastStyleChangeEventStyle); -+ ASSERT(previouslyRunningTransition->keyframeEffect()); -+ Ref { *previouslyRunningTransition->keyframeEffect() }->apply(style, { nullptr }); -+ return style; -+ } -+ return RenderStyle::clone(currentStyle); -+ }(); - // 4. If the element has a running transition for the property, there is a matching transition-property value, and the end value of the running - // transition is not equal to the value of the property in the after-change style, then: - if (Style::Interpolation::equals(property, previouslyRunningTransitionCurrentStyle, afterChangeStyle, document) || !propertyCanBeInterpolated(property, currentStyle, afterChangeStyle)) { diff --git a/webkitgtk.spec b/webkitgtk.spec index ee7481f..b3a3ed7 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.2 +Version: 2.51.3 Release: %autorelease Summary: GTK web content engine library @@ -57,12 +57,8 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=302896 Patch: s390x-build.patch -# https://bugs.webkit.org/show_bug.cgi?id=303057 -Patch: updateCSSTransitionsForStyleableAndProperty.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 4d931261505f089d37d9b8632bc2ef9388ae9d34 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 16 Dec 2025 14:49:33 +0100 Subject: [PATCH 11/36] Update to 2.50.4 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index baf5d91..7475e78 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.50.3.tar.xz) = 32bebcb99464490ce36116c19e1da40269a7d22bed499056d80a0ad49843defc938203cf3450c122d7ee7aaa87203b265437db400e938e96af30d71f36cef2cf -SHA512 (webkitgtk-2.50.3.tar.xz.asc) = 635998799265ae125ad5ba6e45f939a33f465719756397d125f340818bf35b31d6924dbf91a762201f1f06741c92d2599515f1e28e5d4bdc2a3f16ae678b7aff +SHA512 (webkitgtk-2.50.4.tar.xz) = e7b8a6d93f91cd63f00567c886f21853b3fd8e9e48ac21a61b4a841a096b472c3ad0ef0aea45d3c6b8a6bf13790683bdeb3c57f1ba4c949861e9599af4a0051c +SHA512 (webkitgtk-2.50.4.tar.xz.asc) = 2315affcf0c5f49bc0ff53301ecd625d4d46bf4ca3732af847594be34d85e2ca364233e22295b6a19c6f02aaa7adb6620e82aa0916a101c6c0ce5af270ca06bf diff --git a/webkitgtk.spec b/webkitgtk.spec index 66bc241..533856b 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.50.3 +Version: 2.50.4 Release: %autorelease Summary: GTK web content engine library From 95247f68dfea276360c8aa6a6e3999629d1c6aa8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 19 Dec 2025 13:21:14 +0100 Subject: [PATCH 12/36] Update to 2.51.4 --- s390x-build.patch | 44 -------------------------------------------- sources | 4 ++-- webkitgtk.spec | 4 +--- 3 files changed, 3 insertions(+), 49 deletions(-) delete mode 100644 s390x-build.patch diff --git a/s390x-build.patch b/s390x-build.patch deleted file mode 100644 index f76da57..0000000 --- a/s390x-build.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp b/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp -index 0def7031aad7..3e7b538936c7 100644 ---- a/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp -+++ b/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #include - #include - -From 4d3922444f561e253d4bb1cf5c771831d496d08f Mon Sep 17 00:00:00 2001 -From: Simon Pena -Date: Tue, 9 Dec 2025 04:45:06 -0800 -Subject: [PATCH] [GTK] Fix Cairo build - https://bugs.webkit.org/show_bug.cgi?id=303822 - -Unreviewed build fix. - -SharedBufferBuilder::take has been removed in 303790@main and needs to be -replaced with SharedBufferBuilder::takeBuffer here. - -* Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: -(WebKit::WebPrintOperationGtk::endPrint): - -Canonical link: https://commits.webkit.org/304151@main ---- - Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp b/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp -index f40ae478c1929..fc72a63faac46 100644 ---- a/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp -+++ b/Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp -@@ -335,7 +335,7 @@ void WebPrintOperationGtk::endPage(cairo_t* cr) - void WebPrintOperationGtk::endPrint(cairo_t* cr) - { - cairo_surface_finish(cairo_get_target(cr)); -- printDone(m_buffer.take(), { }); -+ printDone(m_buffer.takeBuffer(), { }); - } - #elif USE(SKIA) - void WebPrintOperationGtk::startPage(SkPictureRecorder& recorder) diff --git a/sources b/sources index 8768a9a..037e1de 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.3.tar.xz) = 478cc144fb17323d933d3f6259c3a2bd233d6768863034ef8904c9dc886f2ba185d54763cea59baff0d567f0b6d28f622eadb5a6f1598b03076bdd9b84998214 -SHA512 (webkitgtk-2.51.3.tar.xz.asc) = 0ab4a1516f365035c98b651ff7867147855db6f9fcc4cee189614940dc44e10e438390f7778c4f9e0f6e2d88af5e60e9a1301ce829706482523639ed1c440abc +SHA512 (webkitgtk-2.51.4.tar.xz) = 024ce71e11c875ea156abd83818e0be2d7e2c04f2f1ee08d0151e809da9ba654d346ed286e68b682326f26b7ed17762c4978549bb71660087222e5e95a8da0af +SHA512 (webkitgtk-2.51.4.tar.xz.asc) = 5dcbd1b917c7c928c8b5de78bd4108eafa71ec304bc571777edb2fa65cb78be2769151cc11578b80bddc9a272d803a75be78eeaac58cea5bdb2199acb37dc348 diff --git a/webkitgtk.spec b/webkitgtk.spec index b3a3ed7..edb143a 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.3 +Version: 2.51.4 Release: %autorelease Summary: GTK web content engine library @@ -57,8 +57,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -Patch: s390x-build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 1d1465855666361d58926ddbd03d1ec9a1b39d5c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 19 Dec 2025 14:48:24 +0100 Subject: [PATCH 13/36] Fix build failure on s390x due tu missing sys/mman.h include /builddir/build/BUILD/webkitgtk-2.51.4-build/webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp:273:50: error: use of undeclared identifier 'PROT_READ' 273 | m_mappedData = mmap(nullptr, m_mappedLength, PROT_READ | PROT_WRITE, MAP_SHARED, primaryPlaneDmaBufFD(), 0); | ^~~~~~~~~ /builddir/build/BUILD/webkitgtk-2.51.4-build/webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp:273:62: error: use of undeclared identifier 'PROT_WRITE' 273 | m_mappedData = mmap(nullptr, m_mappedLength, PROT_READ | PROT_WRITE, MAP_SHARED, primaryPlaneDmaBufFD(), 0); | ^~~~~~~~~~ /builddir/build/BUILD/webkitgtk-2.51.4-build/webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp:273:74: error: use of undeclared identifier 'MAP_SHARED' 273 | m_mappedData = mmap(nullptr, m_mappedLength, PROT_READ | PROT_WRITE, MAP_SHARED, primaryPlaneDmaBufFD(), 0); | ^~~~~~~~~~ /builddir/build/BUILD/webkitgtk-2.51.4-build/webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp:274:25: error: use of undeclared identifier 'MAP_FAILED' 274 | if (m_mappedData == MAP_FAILED) { | ^~~~~~~~~~ /builddir/build/BUILD/webkitgtk-2.51.4-build/webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp:288:5: error: use of undeclared identifier 'munmap' 288 | munmap(m_mappedData, m_mappedLength); | ^~~~~~ [skip changelog] --- missing-include-sys-mman.patch | 11 +++++++++++ webkitgtk.spec | 2 ++ 2 files changed, 13 insertions(+) create mode 100644 missing-include-sys-mman.patch diff --git a/missing-include-sys-mman.patch b/missing-include-sys-mman.patch new file mode 100644 index 0000000..fbd22d5 --- /dev/null +++ b/missing-include-sys-mman.patch @@ -0,0 +1,11 @@ +diff -up webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp.mman webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp +--- webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp.mman 2025-12-19 14:46:53.228364429 +0100 ++++ webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp 2025-12-19 14:45:22.643183356 +0100 +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + diff --git a/webkitgtk.spec b/webkitgtk.spec index edb143a..d3e410b 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -57,6 +57,8 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +Patch: missing-include-sys-mman.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 19daf171bce994f1a7b63ce6aafa351f0bcb5c2f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 20:10:25 +0000 Subject: [PATCH 14/36] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 2a7182ae4993ff8bfbf7c6bde89bdf6244965130 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 23 Jan 2026 12:13:12 -0600 Subject: [PATCH 15/36] Update to WebKitGTK 2.51.90 --- missing-include-sys-mman.patch | 11 ----------- sources | 4 ++-- webkitgtk.spec | 4 +--- 3 files changed, 3 insertions(+), 16 deletions(-) delete mode 100644 missing-include-sys-mman.patch diff --git a/missing-include-sys-mman.patch b/missing-include-sys-mman.patch deleted file mode 100644 index fbd22d5..0000000 --- a/missing-include-sys-mman.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp.mman webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp ---- webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp.mman 2025-12-19 14:46:53.228364429 +0100 -+++ webkitgtk-2.51.4/Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp 2025-12-19 14:45:22.643183356 +0100 -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #include - #include - diff --git a/sources b/sources index 037e1de..5fe2a8b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.4.tar.xz) = 024ce71e11c875ea156abd83818e0be2d7e2c04f2f1ee08d0151e809da9ba654d346ed286e68b682326f26b7ed17762c4978549bb71660087222e5e95a8da0af -SHA512 (webkitgtk-2.51.4.tar.xz.asc) = 5dcbd1b917c7c928c8b5de78bd4108eafa71ec304bc571777edb2fa65cb78be2769151cc11578b80bddc9a272d803a75be78eeaac58cea5bdb2199acb37dc348 +SHA512 (webkitgtk-2.51.90.tar.xz) = 948f25cf58aef0ba3d6976062eef33abc32afd669d50f0692a0bdaa14fbf999eeb290bede03d1e80acf74578159e5191f2563b3a8b46d2c904dffc9080b8f8ad +SHA512 (webkitgtk-2.51.90.tar.xz.asc) = 897aa416795c320aa644d1e89aa14a9e94722e8630464343906fc08b3a1defcc78a72e5a691a36c7430829773c7772ee674f88098c7647452ce35f2453117e79 diff --git a/webkitgtk.spec b/webkitgtk.spec index d3e410b..fe58ec4 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.4 +Version: 2.51.90 Release: %autorelease Summary: GTK web content engine library @@ -57,8 +57,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -Patch: missing-include-sys-mman.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From f03151986f1fa384ccecb2bf346c802cc213d51c Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 24 Jan 2026 08:22:13 -0600 Subject: [PATCH 16/36] Fix build --- build.patch | 11 +++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 build.patch diff --git a/build.patch b/build.patch new file mode 100644 index 0000000..05e64ba --- /dev/null +++ b/build.patch @@ -0,0 +1,11 @@ +diff --git a/Source/WTF/wtf/VMTags.h b/Source/WTF/wtf/VMTags.h +index 4c06226db807..8f03351a20c9 100644 +--- a/Source/WTF/wtf/VMTags.h ++++ b/Source/WTF/wtf/VMTags.h +@@ -33,6 +33,7 @@ + #define VM_TAG_FOR_WEBASSEMBLY_MEMORY -1 + #define VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY -1 + #define VM_TAG_FOR_ISOHEAP_MEMORY -1 ++#define VM_TAG_FOR_STRUCTUREALLOCATOR_MEMORY -1 + + #else diff --git a/webkitgtk.spec b/webkitgtk.spec index fe58ec4..fd49786 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -57,6 +57,9 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +# https://bugs.webkit.org/show_bug.cgi?id=306109 +Patch: build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From acca7bb89edbbbd001d5f4f3e2f628a4f866dd35 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 7 Feb 2026 08:33:54 -0600 Subject: [PATCH 17/36] Update to 2.51.91 --- build.patch | 11 ----------- sources | 4 ++-- webkitgtk.spec | 5 +---- 3 files changed, 3 insertions(+), 17 deletions(-) delete mode 100644 build.patch diff --git a/build.patch b/build.patch deleted file mode 100644 index 05e64ba..0000000 --- a/build.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/Source/WTF/wtf/VMTags.h b/Source/WTF/wtf/VMTags.h -index 4c06226db807..8f03351a20c9 100644 ---- a/Source/WTF/wtf/VMTags.h -+++ b/Source/WTF/wtf/VMTags.h -@@ -33,6 +33,7 @@ - #define VM_TAG_FOR_WEBASSEMBLY_MEMORY -1 - #define VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY -1 - #define VM_TAG_FOR_ISOHEAP_MEMORY -1 -+#define VM_TAG_FOR_STRUCTUREALLOCATOR_MEMORY -1 - - #else diff --git a/sources b/sources index 5fe2a8b..0528580 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.90.tar.xz) = 948f25cf58aef0ba3d6976062eef33abc32afd669d50f0692a0bdaa14fbf999eeb290bede03d1e80acf74578159e5191f2563b3a8b46d2c904dffc9080b8f8ad -SHA512 (webkitgtk-2.51.90.tar.xz.asc) = 897aa416795c320aa644d1e89aa14a9e94722e8630464343906fc08b3a1defcc78a72e5a691a36c7430829773c7772ee674f88098c7647452ce35f2453117e79 +SHA512 (webkitgtk-2.51.91.tar.xz) = 0f911d11db8da301724a3e780e7dac225b63e6160860eb2136ec77c6b8aacca03835a6bb0740142ed27bc3715a93a4a4a9fc669c29a5d2e9a9d3ca7fc76697de +SHA512 (webkitgtk-2.51.91.tar.xz.asc) = 77ef7bfe8565f819fdee916d76405a28f31dd9f14ed35f2cfb9b3ed7cc75032e1d1fe202de22540eb77e55854e99a660663a74f67a29f496a33eff98641cc7c3 diff --git a/webkitgtk.spec b/webkitgtk.spec index fd49786..034fffd 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.90 +Version: 2.51.91 Release: %autorelease Summary: GTK web content engine library @@ -57,9 +57,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=306109 -Patch: build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 55c35ad618aa19b6353221944eaf7a57c0195b10 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sun, 1 Mar 2026 11:23:54 -0600 Subject: [PATCH 18/36] Update to 2.51.92 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 0528580..adb885a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.91.tar.xz) = 0f911d11db8da301724a3e780e7dac225b63e6160860eb2136ec77c6b8aacca03835a6bb0740142ed27bc3715a93a4a4a9fc669c29a5d2e9a9d3ca7fc76697de -SHA512 (webkitgtk-2.51.91.tar.xz.asc) = 77ef7bfe8565f819fdee916d76405a28f31dd9f14ed35f2cfb9b3ed7cc75032e1d1fe202de22540eb77e55854e99a660663a74f67a29f496a33eff98641cc7c3 +SHA512 (webkitgtk-2.51.92.tar.xz) = 6aa8a904da8fb56a70bb0ce936c826781f0535ab63ff5cc302e830eab43bacb10c0f5c2100e4b40048318bd45d0b55c8e9fea7f7ffe8afa67a76acab352e5f8c +SHA512 (webkitgtk-2.51.92.tar.xz.asc) = 162485647a9eaba19171037de986f4e02298dbc37b5ddd3c9931149edc334ad02069088d043abeb570b3db263d391c29d958b03912b84c81c20ad672feb8650f diff --git a/webkitgtk.spec b/webkitgtk.spec index 034fffd..2c1177e 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.91 +Version: 2.51.92 Release: %autorelease Summary: GTK web content engine library From d0e1c7dfa8035847c439ade40bfc03bae26f84f0 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 6 Mar 2026 09:51:26 -0600 Subject: [PATCH 19/36] Update to 2.51.93 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index adb885a..b2306bd 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.92.tar.xz) = 6aa8a904da8fb56a70bb0ce936c826781f0535ab63ff5cc302e830eab43bacb10c0f5c2100e4b40048318bd45d0b55c8e9fea7f7ffe8afa67a76acab352e5f8c -SHA512 (webkitgtk-2.51.92.tar.xz.asc) = 162485647a9eaba19171037de986f4e02298dbc37b5ddd3c9931149edc334ad02069088d043abeb570b3db263d391c29d958b03912b84c81c20ad672feb8650f +SHA512 (webkitgtk-2.51.93.tar.xz) = a6db628536d9381b8bfc8b3ede7b7679e57ae8528fde584bccd9f98fde090d43bd571df95a4494e22fb93964072a8bff7708d840f15ef1cefd81b308edaaed5b +SHA512 (webkitgtk-2.51.93.tar.xz.asc) = 018d0aece934eafe5a88861238648fab9c818ff02f72a2c5f821ba7837b00aee8b8b412e2e346c5dd897c8a8100f79937b7cb912c4960f3880646e75fc4435d4 diff --git a/webkitgtk.spec b/webkitgtk.spec index 2c1177e..04d0999 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.92 +Version: 2.51.93 Release: %autorelease Summary: GTK web content engine library From eea81f2f025d61fef2db8d8917b0619d80f81adf Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 21 Mar 2026 12:56:51 -0500 Subject: [PATCH 20/36] Update to 2.52.0 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index b2306bd..3150e13 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.51.93.tar.xz) = a6db628536d9381b8bfc8b3ede7b7679e57ae8528fde584bccd9f98fde090d43bd571df95a4494e22fb93964072a8bff7708d840f15ef1cefd81b308edaaed5b -SHA512 (webkitgtk-2.51.93.tar.xz.asc) = 018d0aece934eafe5a88861238648fab9c818ff02f72a2c5f821ba7837b00aee8b8b412e2e346c5dd897c8a8100f79937b7cb912c4960f3880646e75fc4435d4 +SHA512 (webkitgtk-2.52.0.tar.xz) = acb9cb5748b7b7e3a28076116cfd5acc5136e14e416bbac5d318d21af7b20471a91fd4341a39cc8cd2dc04c997e5ab122ea8a2306bea9e66472445ac268aa28c +SHA512 (webkitgtk-2.52.0.tar.xz.asc) = f671823ea00f68558c6d57a1d3a5650ff47bcad0f50ad3f97844b267cad7cb5ce3046f0ad3dd62d0fdc994dbde1e01cda8bcd0d3b85bef9d3c053aa11b95d4bf diff --git a/webkitgtk.spec b/webkitgtk.spec index 04d0999..2e41de1 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.51.93 +Version: 2.52.0 Release: %autorelease Summary: GTK web content engine library From 56d20d04c91ce2515d717ee99b22de3d834f84f5 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 24 Mar 2026 08:54:35 -0500 Subject: [PATCH 21/36] Correct license of m4sugar.m4 --- webkitgtk.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index 2e41de1..3a31dd2 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -36,7 +36,7 @@ Summary: GTK web content engine library # Source/ThirdParty/ANGLE/include/CL/cl_d3d10.h is Apache-2.0 # Source/ThirdParty/ANGLE/include/GLES/gl.h is MIT-Khronos (not on list see https://github.com/spdx/license-list-XML/issues/2017) # Source/ThirdParty/ANGLE/src/compiler/preprocessor/preprocessor_tab_autogen.cpp is GPL-3.0-or-later WITH Bison-exception-2.2 -# Source/ThirdParty/ANGLE/tools/flex-bison/third_party/m4sugar/m4sugar.m4 is GPL-3.0-only WITH Autoconf-exception-3.0 +# Source/ThirdParty/ANGLE/tools/flex-bison/third_party/m4sugar/m4sugar.m4 is GPL-3.0-or-later WITH Autoconf-exception-3.0 # Source/ThirdParty/pdfjs/web/images/annotation-paperclip.svg is MPL-2.0i # Source/ThirdParty/pdfjs/web/standard_fonts/LICENSE_LIBERATION is OFL-1.1 # Source/ThirdParty/xdgmime/ is AFL-2.0 OR GPL-2.0-or-later @@ -48,7 +48,7 @@ Summary: GTK web content engine library # Source/WTF/icu/LICENSE is ICU # Source/WTF/wtf/Markable.h is BSL-1.0 # The license tag and above comment is up to date as of WebKitGTK 2.42.2. -License: LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Unicode-TOU AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-only WITH Autoconf-exception-3.0 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 OR GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND ICU AND BSL-1.0 +License: LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Unicode-TOU AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-or-later WITH Autoconf-exception-3.0 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 OR GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND ICU AND BSL-1.0 URL: https://www.webkitgtk.org/ Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc From 50dcf60ec5beb70566c8335c46c088b4b4a4c522 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 24 Mar 2026 09:04:22 -0500 Subject: [PATCH 22/36] Remove Unicode-TOU from license list --- webkitgtk.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index 3a31dd2..a57cadc 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -32,7 +32,7 @@ Summary: GTK web content engine library # Source/JavaScriptCore/disassembler/zydis/* is MIT # Source/JavaScriptCore/runtime/JSDateMath.h is MPL 1.1/GPL 2.0/LGPL 2.1 # Source/JavaScriptCore/runtime/MathCommon.cpp is SunPro -# Source/JavaScriptCore/ucd/CaseFolding.txt is Unicode-TOU +# Source/JavaScriptCore/ucd/CaseFolding.txt is Unicode-TOU, which is unapproved, but the only copyrightable part is the comment at the top of the file, so seems safe to omit it # Source/ThirdParty/ANGLE/include/CL/cl_d3d10.h is Apache-2.0 # Source/ThirdParty/ANGLE/include/GLES/gl.h is MIT-Khronos (not on list see https://github.com/spdx/license-list-XML/issues/2017) # Source/ThirdParty/ANGLE/src/compiler/preprocessor/preprocessor_tab_autogen.cpp is GPL-3.0-or-later WITH Bison-exception-2.2 @@ -48,7 +48,7 @@ Summary: GTK web content engine library # Source/WTF/icu/LICENSE is ICU # Source/WTF/wtf/Markable.h is BSL-1.0 # The license tag and above comment is up to date as of WebKitGTK 2.42.2. -License: LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Unicode-TOU AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-or-later WITH Autoconf-exception-3.0 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 OR GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND ICU AND BSL-1.0 +License: LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-or-later WITH Autoconf-exception-3.0 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 OR GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND ICU AND BSL-1.0 URL: https://www.webkitgtk.org/ Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc From 7d652e77a53d255d28f5c71cae0b827d597cf81a Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Wed, 25 Mar 2026 14:35:39 +0100 Subject: [PATCH 23/36] Add configuration for release-monitoring --- monitoring.toml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 monitoring.toml diff --git a/monitoring.toml b/monitoring.toml new file mode 100644 index 0000000..e80fbc5 --- /dev/null +++ b/monitoring.toml @@ -0,0 +1,13 @@ +# Enable/disable monitoring +monitoring = true +# Enable/disable filling bugzilla ticket for new release +# When disabled it will also disable scratch builds +bugzilla = true +# Enable/disable reporting only stable versions +# Stable versions are recognized based on release-monitoring.org project settings +stable_only = false +# Enable/disable reporting all new versions instead of the latest one +# Enabling this will disable scratch builds +all_versions = false +# Enable/disable scratch build for newly opened version +scratch_build = false From 4ed776f2736579ffce37da78da32bd791e0d29b8 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Wed, 25 Mar 2026 18:55:52 +0100 Subject: [PATCH 24/36] Restore release monitoring to original behavior [skip changelog] --- monitoring.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring.toml b/monitoring.toml index e80fbc5..fc852a3 100644 --- a/monitoring.toml +++ b/monitoring.toml @@ -1,5 +1,5 @@ # Enable/disable monitoring -monitoring = true +monitoring = false # Enable/disable filling bugzilla ticket for new release # When disabled it will also disable scratch builds bugzilla = true From 4b570825a34ede071970270d17e10b0577285d41 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 28 Mar 2026 08:25:15 -0500 Subject: [PATCH 25/36] Update to 2.52.1 --- build.patch | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 4 +-- webkitgtk.spec | 5 +++- 3 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 build.patch diff --git a/build.patch b/build.patch new file mode 100644 index 0000000..843ab9d --- /dev/null +++ b/build.patch @@ -0,0 +1,73 @@ +From fae54da171d3fdee238c33418c4779bccc9d5ecb Mon Sep 17 00:00:00 2001 +From: Claudio Saavedra +Date: Fri, 27 Mar 2026 22:09:02 +0200 +Subject: [PATCH] [GTK3] Fix the dom bindings build + https://bugs.webkit.org/show_bug.cgi?id=310915 + +Reviewed by NOBODY (OOPS!). + +305877.279@webkitglib/2.52 changed the signature of +UserMessageHandler::postMessage. Fix that so that +webkit_dom_dom_window_webkit_message_handlers_post_message() continues +to work as usual. + +* Source/WebCore/page/UserMessageHandler.cpp: +(WebCore::UserMessageHandler::postMessage): +* Source/WebCore/page/UserMessageHandler.h: +--- + Source/WebCore/page/UserMessageHandler.cpp | 16 +++++++++++----- + Source/WebCore/page/UserMessageHandler.h | 2 +- + 2 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/Source/WebCore/page/UserMessageHandler.cpp b/Source/WebCore/page/UserMessageHandler.cpp +index a82c2d47b263..1fa69a2e145f 100644 +--- a/Source/WebCore/page/UserMessageHandler.cpp ++++ b/Source/WebCore/page/UserMessageHandler.cpp +@@ -63,16 +63,20 @@ static bool passesSameOriginCheck(JSC::JSGlobalObject& globalObject, RefPtrisSameOriginAs(frameSecurityOrigin); + } + +-void UserMessageHandler::postMessage(JSC::JSGlobalObject& globalObject, JSC::JSValue value, Ref&& promise) ++ExceptionOr UserMessageHandler::postMessage(JSC::JSGlobalObject& globalObject, JSC::JSValue value, Ref&& promise) + { + // Check to see if the descriptor has been removed. This can happen if the host application has + // removed the named message handler at the WebKit2 API level. + RefPtr descriptor = m_descriptor; +- if (!descriptor) +- return promise->reject(Exception { ExceptionCode::InvalidAccessError }); ++ if (!descriptor) { ++ promise->reject(Exception { ExceptionCode::InvalidAccessError }); ++ return Exception { ExceptionCode::InvalidAccessError }; ++ } + +- if (!passesSameOriginCheck(globalObject, m_frame.get())) +- return promise->reject(Exception { ExceptionCode::InvalidAccessError, "Failed same-origin check."_s }); ++ if (!passesSameOriginCheck(globalObject, m_frame.get())) { ++ promise->reject(Exception { ExceptionCode::InvalidAccessError, "Failed same-origin check."_s }); ++ return Exception { ExceptionCode::InvalidAccessError }; ++ } + + descriptor->didPostMessage(*this, globalObject, value, [promise = WTF::move(promise)](JSC::JSValue result, const String& errorMessage) { + if (errorMessage.isNull()) +@@ -84,6 +88,8 @@ void UserMessageHandler::postMessage(JSC::JSGlobalObject& globalObject, JSC::JSV + JSC::JSLockHolder lock(globalObject); + promise->reject(JSC::createError(globalObject, errorMessage)); + }); ++ ++ return { }; + } + + ExceptionOr UserMessageHandler::postLegacySynchronousMessage(JSC::JSGlobalObject& globalObject, JSC::JSValue value) +diff --git a/Source/WebCore/page/UserMessageHandler.h b/Source/WebCore/page/UserMessageHandler.h +index ae49b223c2d6..4f59318abb25 100644 +--- a/Source/WebCore/page/UserMessageHandler.h ++++ b/Source/WebCore/page/UserMessageHandler.h +@@ -52,7 +52,7 @@ class UserMessageHandler : public RefCounted, public FrameDe + void ref() const final { RefCounted::ref(); } + void deref() const final { RefCounted::deref(); } + +- void postMessage(JSC::JSGlobalObject&, JSC::JSValue, Ref&&); ++ ExceptionOr postMessage(JSC::JSGlobalObject&, JSC::JSValue, Ref&&); + ExceptionOr postLegacySynchronousMessage(JSC::JSGlobalObject&, JSC::JSValue); + + const UserMessageHandlerDescriptor* descriptor() const { return m_descriptor.get(); } diff --git a/sources b/sources index 3150e13..6acc457 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.52.0.tar.xz) = acb9cb5748b7b7e3a28076116cfd5acc5136e14e416bbac5d318d21af7b20471a91fd4341a39cc8cd2dc04c997e5ab122ea8a2306bea9e66472445ac268aa28c -SHA512 (webkitgtk-2.52.0.tar.xz.asc) = f671823ea00f68558c6d57a1d3a5650ff47bcad0f50ad3f97844b267cad7cb5ce3046f0ad3dd62d0fdc994dbde1e01cda8bcd0d3b85bef9d3c053aa11b95d4bf +SHA512 (webkitgtk-2.52.1.tar.xz) = 2798e2d94bcdde954e5cacfbae68219918dc2f9fae357ae8289e54db9d2ae6553b98819f073d8421d207ac55b07ec3838211602b4aeda2de248d6861ba1b3421 +SHA512 (webkitgtk-2.52.1.tar.xz.asc) = 92e94dff4321b1879a8d7933d4cec7487771262a4e5b5b76db23d94fcb75d6b02ba64478479d74372ac71ba0e17022f9535bb4cf7639dba8aefc1c9942e97b36 diff --git a/webkitgtk.spec b/webkitgtk.spec index a57cadc..6eb2204 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.52.0 +Version: 2.52.1 Release: %autorelease Summary: GTK web content engine library @@ -57,6 +57,9 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +# https://bugs.webkit.org/show_bug.cgi?id=310915 +Patch: build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From bf4f89ef11f12a5b7f8958f0bca52279ef5abb67 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 17 Apr 2026 10:32:58 -0500 Subject: [PATCH 26/36] Update to 2.52.3 --- build.patch | 73 -------------------------------------------------- sources | 4 +-- webkitgtk.spec | 5 +--- 3 files changed, 3 insertions(+), 79 deletions(-) delete mode 100644 build.patch diff --git a/build.patch b/build.patch deleted file mode 100644 index 843ab9d..0000000 --- a/build.patch +++ /dev/null @@ -1,73 +0,0 @@ -From fae54da171d3fdee238c33418c4779bccc9d5ecb Mon Sep 17 00:00:00 2001 -From: Claudio Saavedra -Date: Fri, 27 Mar 2026 22:09:02 +0200 -Subject: [PATCH] [GTK3] Fix the dom bindings build - https://bugs.webkit.org/show_bug.cgi?id=310915 - -Reviewed by NOBODY (OOPS!). - -305877.279@webkitglib/2.52 changed the signature of -UserMessageHandler::postMessage. Fix that so that -webkit_dom_dom_window_webkit_message_handlers_post_message() continues -to work as usual. - -* Source/WebCore/page/UserMessageHandler.cpp: -(WebCore::UserMessageHandler::postMessage): -* Source/WebCore/page/UserMessageHandler.h: ---- - Source/WebCore/page/UserMessageHandler.cpp | 16 +++++++++++----- - Source/WebCore/page/UserMessageHandler.h | 2 +- - 2 files changed, 12 insertions(+), 6 deletions(-) - -diff --git a/Source/WebCore/page/UserMessageHandler.cpp b/Source/WebCore/page/UserMessageHandler.cpp -index a82c2d47b263..1fa69a2e145f 100644 ---- a/Source/WebCore/page/UserMessageHandler.cpp -+++ b/Source/WebCore/page/UserMessageHandler.cpp -@@ -63,16 +63,20 @@ static bool passesSameOriginCheck(JSC::JSGlobalObject& globalObject, RefPtrisSameOriginAs(frameSecurityOrigin); - } - --void UserMessageHandler::postMessage(JSC::JSGlobalObject& globalObject, JSC::JSValue value, Ref&& promise) -+ExceptionOr UserMessageHandler::postMessage(JSC::JSGlobalObject& globalObject, JSC::JSValue value, Ref&& promise) - { - // Check to see if the descriptor has been removed. This can happen if the host application has - // removed the named message handler at the WebKit2 API level. - RefPtr descriptor = m_descriptor; -- if (!descriptor) -- return promise->reject(Exception { ExceptionCode::InvalidAccessError }); -+ if (!descriptor) { -+ promise->reject(Exception { ExceptionCode::InvalidAccessError }); -+ return Exception { ExceptionCode::InvalidAccessError }; -+ } - -- if (!passesSameOriginCheck(globalObject, m_frame.get())) -- return promise->reject(Exception { ExceptionCode::InvalidAccessError, "Failed same-origin check."_s }); -+ if (!passesSameOriginCheck(globalObject, m_frame.get())) { -+ promise->reject(Exception { ExceptionCode::InvalidAccessError, "Failed same-origin check."_s }); -+ return Exception { ExceptionCode::InvalidAccessError }; -+ } - - descriptor->didPostMessage(*this, globalObject, value, [promise = WTF::move(promise)](JSC::JSValue result, const String& errorMessage) { - if (errorMessage.isNull()) -@@ -84,6 +88,8 @@ void UserMessageHandler::postMessage(JSC::JSGlobalObject& globalObject, JSC::JSV - JSC::JSLockHolder lock(globalObject); - promise->reject(JSC::createError(globalObject, errorMessage)); - }); -+ -+ return { }; - } - - ExceptionOr UserMessageHandler::postLegacySynchronousMessage(JSC::JSGlobalObject& globalObject, JSC::JSValue value) -diff --git a/Source/WebCore/page/UserMessageHandler.h b/Source/WebCore/page/UserMessageHandler.h -index ae49b223c2d6..4f59318abb25 100644 ---- a/Source/WebCore/page/UserMessageHandler.h -+++ b/Source/WebCore/page/UserMessageHandler.h -@@ -52,7 +52,7 @@ class UserMessageHandler : public RefCounted, public FrameDe - void ref() const final { RefCounted::ref(); } - void deref() const final { RefCounted::deref(); } - -- void postMessage(JSC::JSGlobalObject&, JSC::JSValue, Ref&&); -+ ExceptionOr postMessage(JSC::JSGlobalObject&, JSC::JSValue, Ref&&); - ExceptionOr postLegacySynchronousMessage(JSC::JSGlobalObject&, JSC::JSValue); - - const UserMessageHandlerDescriptor* descriptor() const { return m_descriptor.get(); } diff --git a/sources b/sources index 6acc457..5d2ff95 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.52.1.tar.xz) = 2798e2d94bcdde954e5cacfbae68219918dc2f9fae357ae8289e54db9d2ae6553b98819f073d8421d207ac55b07ec3838211602b4aeda2de248d6861ba1b3421 -SHA512 (webkitgtk-2.52.1.tar.xz.asc) = 92e94dff4321b1879a8d7933d4cec7487771262a4e5b5b76db23d94fcb75d6b02ba64478479d74372ac71ba0e17022f9535bb4cf7639dba8aefc1c9942e97b36 +SHA512 (webkitgtk-2.52.3.tar.xz.asc) = cb7f6dc0e2d65c763988e9a18c48ee6810d60a8d2351912bdd33358dcd2d46b994ba34f85c6f8315a34d5b5cb78bd2f0dcb78d076af58e657d1817fdd56f005d +SHA512 (webkitgtk-2.52.3.tar.xz) = 8007688e4eb5b465a6f50e05e89858f970f7bbaed45844b8f97175de1fb24e41e6d88f4f6b6299d5ae2ad4e19483da371ac16257d787626da29de7551fbd2a3c diff --git a/webkitgtk.spec b/webkitgtk.spec index 6eb2204..e92596a 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.52.1 +Version: 2.52.3 Release: %autorelease Summary: GTK web content engine library @@ -57,9 +57,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=310915 -Patch: build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From acc325cd204d6d1f70aefe5cdf98ec0bad4751db Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 8 May 2026 12:02:35 -0500 Subject: [PATCH 27/36] Update to 2.53.2 --- build.patch | 142 +++++++++++++++++++++++++++++++++++++++++++++++++ sources | 4 +- webkitgtk.spec | 6 ++- 3 files changed, 149 insertions(+), 3 deletions(-) create mode 100644 build.patch diff --git a/build.patch b/build.patch new file mode 100644 index 0000000..0810986 --- /dev/null +++ b/build.patch @@ -0,0 +1,142 @@ +--- webkitgtk/Source/JavaScriptCore/bytecode/ArithProfile.h ++++ webkitgtk/Source/JavaScriptCore/bytecode/ArithProfile.h +@@ -259,7 +259,7 @@ public: + return argObservedType().isEmpty(); + } + +- friend class JSC::LLIntOffsetsExtractor; ++ friend class LLIntOffsetsExtractor; + }; + + /* This class stores the following components in 16 bits: +@@ -384,7 +384,7 @@ public: + return lhsObservedType().isEmpty() && rhsObservedType().isEmpty(); + } + +- friend class JSC::LLIntOffsetsExtractor; ++ friend class LLIntOffsetsExtractor; + }; + + } // namespace JSC +--- webkitgtk/Source/JavaScriptCore/heap/Heap.cpp ++++ webkitgtk/Source/JavaScriptCore/heap/Heap.cpp +@@ -106,6 +106,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- webkitgtk/Source/JavaScriptCore/runtime/DeferredWorkTimer.cpp ++++ webkitgtk/Source/JavaScriptCore/runtime/DeferredWorkTimer.cpp +@@ -33,6 +33,7 @@ + #include "VM.h" + #include + #include ++#include + #include + + namespace JSC { +--- webkitgtk/Source/WebCore/inspector/agents/page/PageTimelineAgent.cpp ++++ webkitgtk/Source/WebCore/inspector/agents/page/PageTimelineAgent.cpp +@@ -42,6 +42,7 @@ + #include "RenderView.h" + #include "TimelineRecordFactory.h" + #include "WebDebuggerAgent.h" ++#include + + #if PLATFORM(IOS_FAMILY) + #include "WebCoreThreadInternal.h" +@@ -50,7 +51,6 @@ + + #if PLATFORM(COCOA) + #include "RunLoopObserver.h" +-#include + #endif + + namespace WebCore { +--- webkitgtk/Source/cmake/WebKitCommon.cmake ++++ webkitgtk/Source/cmake/WebKitCommon.cmake +@@ -100,13 +100,17 @@ if (NOT HAS_RUN_WEBKIT_COMMON) + else () + string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR) + endif () +- if (FORCE_32BIT OR ( +- LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch32|cortex-(a(5|7|8|9|1[2-7]|32)|m[0-9]|r[0-9]([^0-9]|$)))" +- AND NOT LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)")) ++ if (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch32|cortex-(a(5|7|8|9|1[2-7]|32)|m[0-9]|r[0-9]([^0-9]|$)))" ++ AND NOT LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)") + set(WTF_CPU_ARM 1) + set(CMAKE_SYSTEM_PROCESSOR "armv7l" CACHE INTERNAL "" FORCE) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|cortex-(a|x|c))") +- set(WTF_CPU_ARM64 1) ++ if (FORCE_32BIT) ++ set(WTF_CPU_ARM 1) ++ set(CMAKE_SYSTEM_PROCESSOR "armv7l" CACHE INTERNAL "" FORCE) ++ else () ++ set(WTF_CPU_ARM64 1) ++ endif () + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips64") + set(WTF_CPU_MIPS64 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") +--- webkitgtk/Source/WebCore/CMakeLists.txt ++++ webkitgtk/Source/WebCore/CMakeLists.txt +@@ -3152,7 +3152,9 @@ endif () + # These files are very large and exhaust virtual memory on 32-bit ARM. + if (WTF_CPU_ARM AND NOT CMAKE_CROSSCOMPILING) + set(DerivedSources_COMPILE_OPTIONS -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON) +- set_source_files_properties(${WebCore_DERIVED_SOURCES_DIR}/JSDOMWindow.cpp PROPERTIES COMPILE_OPTIONS "${DerivedSources_COMPILE_OPTIONS}") ++ set_source_files_properties(${WebCore_DERIVED_SOURCES_DIR}/JSDOMWindow.cpp PROPERTIES ++ COMPILE_OPTIONS "${DerivedSources_COMPILE_OPTIONS}" ++ SKIP_PRECOMPILE_HEADERS ON) + endif () + + ADD_WEBKIT_PREFIX_HEADERS(WebCoreTestSupport testing/js/WebCoreTestSupportPrefix.h) +--- webkitgtk/Source/WebKit/CMakeLists.txt ++++ webkitgtk/Source/WebKit/CMakeLists.txt +@@ -982,8 +982,12 @@ add_custom_command( + # These files are very large and exhaust virtual memory on 32-bit ARM. + if (WTF_CPU_ARM AND NOT CMAKE_CROSSCOMPILING) + set(GeneratedSerializers_COMPILE_OPTIONS -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON) +- set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.cpp PROPERTIES COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}") +- set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/WebKitPlatformGeneratedSerializers.cpp PROPERTIES COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}") ++ set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.cpp PROPERTIES ++ COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}" ++ SKIP_PRECOMPILE_HEADERS ON) ++ set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/WebKitPlatformGeneratedSerializers.cpp PROPERTIES ++ COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}" ++ SKIP_PRECOMPILE_HEADERS ON) + endif () + + set(WebKit_JSON_RPC_PROTOCOL_GENERATOR_SCRIPTS + +From 64b91b261e8a3d1c39e2c5378ac2fb0a2e4761c8 Mon Sep 17 00:00:00 2001 +From: Alberto Garcia +Date: Wed, 6 May 2026 07:21:19 -0700 +Subject: [PATCH] WebResourceLoader.cpp: error: no member named 'pageSize' in + namespace 'WTF' https://bugs.webkit.org/show_bug.cgi?id=314196 + +Reviewed by Claudio Saavedra. + +Add the missing include for WTF::pageSize(). + +* Source/WebKit/WebProcess/Network/WebResourceLoader.cpp: + +Canonical link: https://commits.webkit.org/312692@main +--- + Source/WebKit/WebProcess/Network/WebResourceLoader.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp +index 24c2649b31ce..92c407cd8349 100644 +--- a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp ++++ b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp +@@ -59,6 +59,7 @@ + #include + #include + #include ++#include + #include + + #if ENABLE(CONTENT_EXTENSIONS) diff --git a/sources b/sources index 5d2ff95..8f89b45 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.52.3.tar.xz.asc) = cb7f6dc0e2d65c763988e9a18c48ee6810d60a8d2351912bdd33358dcd2d46b994ba34f85c6f8315a34d5b5cb78bd2f0dcb78d076af58e657d1817fdd56f005d -SHA512 (webkitgtk-2.52.3.tar.xz) = 8007688e4eb5b465a6f50e05e89858f970f7bbaed45844b8f97175de1fb24e41e6d88f4f6b6299d5ae2ad4e19483da371ac16257d787626da29de7551fbd2a3c +SHA512 (webkitgtk-2.53.2.tar.xz) = fefacd46fccaa85a53a1f746b1f5927067c44a7658c09bf8222b7609422f93d9c5773362836dc29281c82dd585a6d950d02f2c2c7a6876af9598ab627e85a130 +SHA512 (webkitgtk-2.53.2.tar.xz.asc) = 1dbf8e6f6c0106e344ebb50df929cbbe53a0a024eac5660ad64681737af9280b5127a54fc1bd2f2ebc6991e365d41c2de74ee3e0bf2fca4de35007cd50f78f57 diff --git a/webkitgtk.spec b/webkitgtk.spec index e92596a..70f99f4 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.52.3 +Version: 2.53.2 Release: %autorelease Summary: GTK web content engine library @@ -57,6 +57,10 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +# https://bugs.webkit.org/show_bug.cgi?id=314199 +# And also: https://github.com/WebKit/WebKit/pull/64367 +Patch: build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From f454be3fd1ebdcea6d5a86c5e9f446c0a72dcac3 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 11 May 2026 16:24:48 -0500 Subject: [PATCH 28/36] Revert "Update to 2.53.2" This reverts commit acc325cd204d6d1f70aefe5cdf98ec0bad4751db. Not yet ready for s390x. --- build.patch | 142 ------------------------------------------------- sources | 4 +- webkitgtk.spec | 6 +-- 3 files changed, 3 insertions(+), 149 deletions(-) delete mode 100644 build.patch diff --git a/build.patch b/build.patch deleted file mode 100644 index 0810986..0000000 --- a/build.patch +++ /dev/null @@ -1,142 +0,0 @@ ---- webkitgtk/Source/JavaScriptCore/bytecode/ArithProfile.h -+++ webkitgtk/Source/JavaScriptCore/bytecode/ArithProfile.h -@@ -259,7 +259,7 @@ public: - return argObservedType().isEmpty(); - } - -- friend class JSC::LLIntOffsetsExtractor; -+ friend class LLIntOffsetsExtractor; - }; - - /* This class stores the following components in 16 bits: -@@ -384,7 +384,7 @@ public: - return lhsObservedType().isEmpty() && rhsObservedType().isEmpty(); - } - -- friend class JSC::LLIntOffsetsExtractor; -+ friend class LLIntOffsetsExtractor; - }; - - } // namespace JSC ---- webkitgtk/Source/JavaScriptCore/heap/Heap.cpp -+++ webkitgtk/Source/JavaScriptCore/heap/Heap.cpp -@@ -106,6 +106,7 @@ - #include - #include - #include -+#include - #include - #include - #include ---- webkitgtk/Source/JavaScriptCore/runtime/DeferredWorkTimer.cpp -+++ webkitgtk/Source/JavaScriptCore/runtime/DeferredWorkTimer.cpp -@@ -33,6 +33,7 @@ - #include "VM.h" - #include - #include -+#include - #include - - namespace JSC { ---- webkitgtk/Source/WebCore/inspector/agents/page/PageTimelineAgent.cpp -+++ webkitgtk/Source/WebCore/inspector/agents/page/PageTimelineAgent.cpp -@@ -42,6 +42,7 @@ - #include "RenderView.h" - #include "TimelineRecordFactory.h" - #include "WebDebuggerAgent.h" -+#include - - #if PLATFORM(IOS_FAMILY) - #include "WebCoreThreadInternal.h" -@@ -50,7 +51,6 @@ - - #if PLATFORM(COCOA) - #include "RunLoopObserver.h" --#include - #endif - - namespace WebCore { ---- webkitgtk/Source/cmake/WebKitCommon.cmake -+++ webkitgtk/Source/cmake/WebKitCommon.cmake -@@ -100,13 +100,17 @@ if (NOT HAS_RUN_WEBKIT_COMMON) - else () - string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR) - endif () -- if (FORCE_32BIT OR ( -- LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch32|cortex-(a(5|7|8|9|1[2-7]|32)|m[0-9]|r[0-9]([^0-9]|$)))" -- AND NOT LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)")) -+ if (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch32|cortex-(a(5|7|8|9|1[2-7]|32)|m[0-9]|r[0-9]([^0-9]|$)))" -+ AND NOT LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)") - set(WTF_CPU_ARM 1) - set(CMAKE_SYSTEM_PROCESSOR "armv7l" CACHE INTERNAL "" FORCE) - elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|cortex-(a|x|c))") -- set(WTF_CPU_ARM64 1) -+ if (FORCE_32BIT) -+ set(WTF_CPU_ARM 1) -+ set(CMAKE_SYSTEM_PROCESSOR "armv7l" CACHE INTERNAL "" FORCE) -+ else () -+ set(WTF_CPU_ARM64 1) -+ endif () - elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips64") - set(WTF_CPU_MIPS64 1) - elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") ---- webkitgtk/Source/WebCore/CMakeLists.txt -+++ webkitgtk/Source/WebCore/CMakeLists.txt -@@ -3152,7 +3152,9 @@ endif () - # These files are very large and exhaust virtual memory on 32-bit ARM. - if (WTF_CPU_ARM AND NOT CMAKE_CROSSCOMPILING) - set(DerivedSources_COMPILE_OPTIONS -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON) -- set_source_files_properties(${WebCore_DERIVED_SOURCES_DIR}/JSDOMWindow.cpp PROPERTIES COMPILE_OPTIONS "${DerivedSources_COMPILE_OPTIONS}") -+ set_source_files_properties(${WebCore_DERIVED_SOURCES_DIR}/JSDOMWindow.cpp PROPERTIES -+ COMPILE_OPTIONS "${DerivedSources_COMPILE_OPTIONS}" -+ SKIP_PRECOMPILE_HEADERS ON) - endif () - - ADD_WEBKIT_PREFIX_HEADERS(WebCoreTestSupport testing/js/WebCoreTestSupportPrefix.h) ---- webkitgtk/Source/WebKit/CMakeLists.txt -+++ webkitgtk/Source/WebKit/CMakeLists.txt -@@ -982,8 +982,12 @@ add_custom_command( - # These files are very large and exhaust virtual memory on 32-bit ARM. - if (WTF_CPU_ARM AND NOT CMAKE_CROSSCOMPILING) - set(GeneratedSerializers_COMPILE_OPTIONS -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON) -- set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.cpp PROPERTIES COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}") -- set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/WebKitPlatformGeneratedSerializers.cpp PROPERTIES COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}") -+ set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.cpp PROPERTIES -+ COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}" -+ SKIP_PRECOMPILE_HEADERS ON) -+ set_source_files_properties(${WebKit_DERIVED_SOURCES_DIR}/WebKitPlatformGeneratedSerializers.cpp PROPERTIES -+ COMPILE_OPTIONS "${GeneratedSerializers_COMPILE_OPTIONS}" -+ SKIP_PRECOMPILE_HEADERS ON) - endif () - - set(WebKit_JSON_RPC_PROTOCOL_GENERATOR_SCRIPTS - -From 64b91b261e8a3d1c39e2c5378ac2fb0a2e4761c8 Mon Sep 17 00:00:00 2001 -From: Alberto Garcia -Date: Wed, 6 May 2026 07:21:19 -0700 -Subject: [PATCH] WebResourceLoader.cpp: error: no member named 'pageSize' in - namespace 'WTF' https://bugs.webkit.org/show_bug.cgi?id=314196 - -Reviewed by Claudio Saavedra. - -Add the missing include for WTF::pageSize(). - -* Source/WebKit/WebProcess/Network/WebResourceLoader.cpp: - -Canonical link: https://commits.webkit.org/312692@main ---- - Source/WebKit/WebProcess/Network/WebResourceLoader.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -index 24c2649b31ce..92c407cd8349 100644 ---- a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -+++ b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -@@ -59,6 +59,7 @@ - #include - #include - #include -+#include - #include - - #if ENABLE(CONTENT_EXTENSIONS) diff --git a/sources b/sources index 8f89b45..5d2ff95 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.53.2.tar.xz) = fefacd46fccaa85a53a1f746b1f5927067c44a7658c09bf8222b7609422f93d9c5773362836dc29281c82dd585a6d950d02f2c2c7a6876af9598ab627e85a130 -SHA512 (webkitgtk-2.53.2.tar.xz.asc) = 1dbf8e6f6c0106e344ebb50df929cbbe53a0a024eac5660ad64681737af9280b5127a54fc1bd2f2ebc6991e365d41c2de74ee3e0bf2fca4de35007cd50f78f57 +SHA512 (webkitgtk-2.52.3.tar.xz.asc) = cb7f6dc0e2d65c763988e9a18c48ee6810d60a8d2351912bdd33358dcd2d46b994ba34f85c6f8315a34d5b5cb78bd2f0dcb78d076af58e657d1817fdd56f005d +SHA512 (webkitgtk-2.52.3.tar.xz) = 8007688e4eb5b465a6f50e05e89858f970f7bbaed45844b8f97175de1fb24e41e6d88f4f6b6299d5ae2ad4e19483da371ac16257d787626da29de7551fbd2a3c diff --git a/webkitgtk.spec b/webkitgtk.spec index 70f99f4..e92596a 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.53.2 +Version: 2.52.3 Release: %autorelease Summary: GTK web content engine library @@ -57,10 +57,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=314199 -# And also: https://github.com/WebKit/WebKit/pull/64367 -Patch: build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From e9cd5eaa76ba43b2964f47fb45b920f4ccbcfdf7 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 21 May 2026 09:52:41 -0500 Subject: [PATCH 29/36] Remove source files not included in binary RPM from license tag https://docs.fedoraproject.org/en-US/legal/license-field/#_source_package_files_not_included_in_binary_rpm https://gitlab.com/fedora/legal/fedora-license-data/-/work_items/729 --- webkitgtk.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index e92596a..58e2566 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -36,7 +36,6 @@ Summary: GTK web content engine library # Source/ThirdParty/ANGLE/include/CL/cl_d3d10.h is Apache-2.0 # Source/ThirdParty/ANGLE/include/GLES/gl.h is MIT-Khronos (not on list see https://github.com/spdx/license-list-XML/issues/2017) # Source/ThirdParty/ANGLE/src/compiler/preprocessor/preprocessor_tab_autogen.cpp is GPL-3.0-or-later WITH Bison-exception-2.2 -# Source/ThirdParty/ANGLE/tools/flex-bison/third_party/m4sugar/m4sugar.m4 is GPL-3.0-or-later WITH Autoconf-exception-3.0 # Source/ThirdParty/pdfjs/web/images/annotation-paperclip.svg is MPL-2.0i # Source/ThirdParty/pdfjs/web/standard_fonts/LICENSE_LIBERATION is OFL-1.1 # Source/ThirdParty/xdgmime/ is AFL-2.0 OR GPL-2.0-or-later @@ -45,10 +44,9 @@ Summary: GTK web content engine library # Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp is LGPL-2.1-or-later # Source/WTF/LICENSE-libc++.txt is NCSA OR MIT # Source/WTF/LICENSE-LLVM.txt is Apache-2.0 WITH LLVM-exception -# Source/WTF/icu/LICENSE is ICU # Source/WTF/wtf/Markable.h is BSL-1.0 # The license tag and above comment is up to date as of WebKitGTK 2.42.2. -License: LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-or-later WITH Autoconf-exception-3.0 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 OR GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND ICU AND BSL-1.0 +License: LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 OR GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND BSL-1.0 URL: https://www.webkitgtk.org/ Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc From 111066fcffba1401dfaa22aa42586e383ee9d319 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 27 May 2026 13:17:30 -0500 Subject: [PATCH 30/36] Update to 2.53.3 --- skia-s390x.patch | 82 ++++++++++++++++++++++++++++++++++++++++++++++++ sources | 4 +-- webkitgtk.spec | 5 ++- 3 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 skia-s390x.patch diff --git a/skia-s390x.patch b/skia-s390x.patch new file mode 100644 index 0000000..efc0e73 --- /dev/null +++ b/skia-s390x.patch @@ -0,0 +1,82 @@ +diff --git a/Source/ThirdParty/skia/include/core/SkTypes.h b/Source/ThirdParty/skia/include/core/SkTypes.h +index 79644da049ff..fc0646e21772 100644 +--- a/Source/ThirdParty/skia/include/core/SkTypes.h ++++ b/Source/ThirdParty/skia/include/core/SkTypes.h +@@ -33,6 +33,8 @@ + # undef SK_DIRECT3D + #endif + ++#if !defined(SK_R32_SHIFT) || !defined(SK_G32_SHIFT) || !defined(SK_B32_SHIFT) || !defined(SK_A32_SHIFT) ++ + // If SK_R32_SHIFT is set, we'll use that to choose RGBA or BGRA. + // If not, we'll default to RGBA everywhere except BGRA on Windows. + #if defined(SK_R32_SHIFT) +@@ -52,6 +54,8 @@ + #define SK_G32_SHIFT 8 + #define SK_A32_SHIFT 24 + ++#endif ++ + /** + * SK_PMCOLOR_BYTE_ORDER can be used to query the byte order of SkPMColor at compile time. + */ +diff --git a/Source/ThirdParty/skia/src/codec/SkCodecPriv.h b/Source/ThirdParty/skia/src/codec/SkCodecPriv.h +index c321fb77c0ae..a0a01cccd58a 100644 +--- a/Source/ThirdParty/skia/src/codec/SkCodecPriv.h ++++ b/Source/ThirdParty/skia/src/codec/SkCodecPriv.h +@@ -14,6 +14,7 @@ + #include "include/core/SkTypes.h" + #include "include/private/SkEncodedInfo.h" + #include "modules/skcms/skcms.h" ++#include "src/base/SkEndian.h" + #include "src/codec/SkColorPalette.h" + #include "src/core/SkColorData.h" + +diff --git a/Source/ThirdParty/skia/src/core/Sk4px.h b/Source/ThirdParty/skia/src/core/Sk4px.h +index d5d481e7e300..c7ef0bcd0ed0 100644 +--- a/Source/ThirdParty/skia/src/core/Sk4px.h ++++ b/Source/ThirdParty/skia/src/core/Sk4px.h +@@ -27,7 +27,9 @@ public: + + // RGBA rgba XYZW xyzw -> AAAA aaaa WWWW wwww + Sk4px alphas() const { ++#ifdef SK_CPU_LENDIAN + static_assert(SK_A32_SHIFT == 24, "This method assumes little-endian."); ++#endif + return Sk4px(skvx::shuffle<3,3,3,3, 7,7,7,7, 11,11,11,11, 15,15,15,15>(fV)); + } + Sk4px inv() const { return Sk4px(skvx::byte16(255) - fV); } +diff --git a/Source/ThirdParty/skia/src/core/SkColorPriv.h b/Source/ThirdParty/skia/src/core/SkColorPriv.h +index 45471c25529e..319fec78069b 100644 +--- a/Source/ThirdParty/skia/src/core/SkColorPriv.h ++++ b/Source/ThirdParty/skia/src/core/SkColorPriv.h +@@ -64,6 +64,20 @@ static inline U8CPU SkUnitScalarClampToByte(SkScalar x) { + * Here we enforce this constraint. + */ + ++#ifdef SK_CPU_BENDIAN ++ ++#define SK_RGBA_R32_SHIFT 24 ++#define SK_RGBA_G32_SHIFT 16 ++#define SK_RGBA_B32_SHIFT 8 ++#define SK_RGBA_A32_SHIFT 0 ++ ++#define SK_BGRA_B32_SHIFT 24 ++#define SK_BGRA_G32_SHIFT 16 ++#define SK_BGRA_R32_SHIFT 8 ++#define SK_BGRA_A32_SHIFT 0 ++ ++#else ++ + #define SK_RGBA_R32_SHIFT 0 + #define SK_RGBA_G32_SHIFT 8 + #define SK_RGBA_B32_SHIFT 16 +@@ -74,6 +88,8 @@ static inline U8CPU SkUnitScalarClampToByte(SkScalar x) { + #define SK_BGRA_R32_SHIFT 16 + #define SK_BGRA_A32_SHIFT 24 + ++#endif ++ + #if defined(SK_PMCOLOR_IS_RGBA) || defined(SK_PMCOLOR_IS_BGRA) + #error "Configure PMCOLOR by setting SK_R32_SHIFT." + #endif diff --git a/sources b/sources index 5d2ff95..79b0faa 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.52.3.tar.xz.asc) = cb7f6dc0e2d65c763988e9a18c48ee6810d60a8d2351912bdd33358dcd2d46b994ba34f85c6f8315a34d5b5cb78bd2f0dcb78d076af58e657d1817fdd56f005d -SHA512 (webkitgtk-2.52.3.tar.xz) = 8007688e4eb5b465a6f50e05e89858f970f7bbaed45844b8f97175de1fb24e41e6d88f4f6b6299d5ae2ad4e19483da371ac16257d787626da29de7551fbd2a3c +SHA512 (webkitgtk-2.53.3.tar.xz) = b871d28c932ac8888bf357ad8cfb31f3dc6376c4139922b393769f489795d0a090903538e807bd13232e3ff738c1f0951da68513aefbfbe97bfc548aaaa3bebc +SHA512 (webkitgtk-2.53.3.tar.xz.asc) = e5e593b7960bbdaea070086f5d335c988f857ac21f308b6a6dfdf6588ec19737591a32792d3b9d1c79458cff53f6f675110543b025d1fd36426bb542b003e309 diff --git a/webkitgtk.spec b/webkitgtk.spec index 58e2566..5bded67 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.52.3 +Version: 2.53.3 Release: %autorelease Summary: GTK web content engine library @@ -55,6 +55,9 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +# https://bugs.webkit.org/show_bug.cgi?id=312677 +Patch: skia-s390x.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 1bc1233c2c1c0357437abfca0e674a2108e712cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Mon, 8 Jun 2026 09:53:30 +0200 Subject: [PATCH 31/36] Rebuilt for icu 78.3 From e100ee7a17fa483c4993662c82978c958b4d96bc Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 12 Jun 2026 20:04:51 -0400 Subject: [PATCH 32/36] Rebuilt for openssl 4.0 From accfa5debd40e10f2d44ecec48185682f9669904 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 25 Jun 2026 09:27:24 -0500 Subject: [PATCH 33/36] Update to 2.53.4 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 79b0faa..29a1c68 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.53.3.tar.xz) = b871d28c932ac8888bf357ad8cfb31f3dc6376c4139922b393769f489795d0a090903538e807bd13232e3ff738c1f0951da68513aefbfbe97bfc548aaaa3bebc -SHA512 (webkitgtk-2.53.3.tar.xz.asc) = e5e593b7960bbdaea070086f5d335c988f857ac21f308b6a6dfdf6588ec19737591a32792d3b9d1c79458cff53f6f675110543b025d1fd36426bb542b003e309 +SHA512 (webkitgtk-2.53.4.tar.xz) = eb38ee899991bc1e48cd34406bbab52fbd3f8a7614033909ed1f4bf6e2d8784f0d9a05efeefe09a1456bc0e33ac3002246716476c7437e0a4f38c10d05add463 +SHA512 (webkitgtk-2.53.4.tar.xz.asc) = 4972dc1414060c4b1064cd3e6b17ccea1f12d105e73c8fade5b7a2e754abdf39abbce524dcfd0cb0b2b22984ae92ce7aafb22b3f539bb264c5699b0f4d360d93 diff --git a/webkitgtk.spec b/webkitgtk.spec index 5bded67..743baae 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.53.3 +Version: 2.53.4 Release: %autorelease Summary: GTK web content engine library From 6a8a9af815a7eebba76c9d095d55c04c5d2cbe5c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:44:43 +0000 Subject: [PATCH 34/36] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild From 705ab9cfa8ad2d9ad2d51a2cc3d00bf849cdf650 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 7 Aug 2026 11:33:46 -0500 Subject: [PATCH 35/36] Update to 2.53.90 --- skia-s390x.patch | 2 +- sources | 4 ++-- webkitgtk.spec | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/skia-s390x.patch b/skia-s390x.patch index efc0e73..a3cfe53 100644 --- a/skia-s390x.patch +++ b/skia-s390x.patch @@ -28,7 +28,7 @@ index c321fb77c0ae..a0a01cccd58a 100644 #include "include/core/SkTypes.h" #include "include/private/SkEncodedInfo.h" #include "modules/skcms/skcms.h" -+#include "src/base/SkEndian.h" ++#include "src/core/SkEndian.h" #include "src/codec/SkColorPalette.h" #include "src/core/SkColorData.h" diff --git a/sources b/sources index 29a1c68..d2097b0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.53.4.tar.xz) = eb38ee899991bc1e48cd34406bbab52fbd3f8a7614033909ed1f4bf6e2d8784f0d9a05efeefe09a1456bc0e33ac3002246716476c7437e0a4f38c10d05add463 -SHA512 (webkitgtk-2.53.4.tar.xz.asc) = 4972dc1414060c4b1064cd3e6b17ccea1f12d105e73c8fade5b7a2e754abdf39abbce524dcfd0cb0b2b22984ae92ce7aafb22b3f539bb264c5699b0f4d360d93 +SHA512 (webkitgtk-2.53.90.tar.xz) = 2e1783230f4e899288a8ce16419f22c0d498f2e4e5928582e34e51ccebb7297ad76efb8e8c37b23db10223e823178f815433cf0d6a610982f5f47a06b4f1edc4 +SHA512 (webkitgtk-2.53.90.tar.xz.asc) = 9bf524179ee9ad091708ed3a238671d87b65da17af5ae55638c331047aff1560180461c3602cac2141c4ba96826d11b24abaa6ac725450b4f1c93049e656acfa diff --git a/webkitgtk.spec b/webkitgtk.spec index 743baae..e4278a0 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.53.4 +Version: 2.53.90 Release: %autorelease Summary: GTK web content engine library From 805944c3be1b35f62b970e6c7a631d5d42929abb Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 22 Aug 2026 09:02:57 -0500 Subject: [PATCH 36/36] Update to 2.53.91 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index d2097b0..3934793 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.53.90.tar.xz) = 2e1783230f4e899288a8ce16419f22c0d498f2e4e5928582e34e51ccebb7297ad76efb8e8c37b23db10223e823178f815433cf0d6a610982f5f47a06b4f1edc4 -SHA512 (webkitgtk-2.53.90.tar.xz.asc) = 9bf524179ee9ad091708ed3a238671d87b65da17af5ae55638c331047aff1560180461c3602cac2141c4ba96826d11b24abaa6ac725450b4f1c93049e656acfa +SHA512 (webkitgtk-2.53.91.tar.xz) = 0bb5ec4c75cf0dcd4ccc46b7cf8595722d447385b75ed6ec79333b56203f681077fa355600210edb4fe6344e4af2943c7fb5b1bff6e35a7ec1ea456d891a1951 +SHA512 (webkitgtk-2.53.91.tar.xz.asc) = 72f6f01f8f3e12228ee70202b9b9bda589c80a791086cde6d6af5f2f916b44877b984267c6a5970f4fe41ff7dac21bccfa7323f19d71f6fd3e4a87abb18be58c diff --git a/webkitgtk.spec b/webkitgtk.spec index e4278a0..1ebef07 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.53.90 +Version: 2.53.91 Release: %autorelease Summary: GTK web content engine library