From 608ae624d01d91a01d986a12496645e1f89a972a Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 14 May 2025 15:54:47 -0500 Subject: [PATCH 1/6] 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 2/6] 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 3/6] 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 03cbe02be65119886a4362787ba457c56043c4af Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 19 Nov 2025 10:15:14 -0600 Subject: [PATCH 4/6] 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 23691fb07faf7718da29eada21c66b5801c0e27c Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 4 Dec 2025 14:40:02 -0600 Subject: [PATCH 5/6] 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 4d931261505f089d37d9b8632bc2ef9388ae9d34 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 16 Dec 2025 14:49:33 +0100 Subject: [PATCH 6/6] 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