From 0ee430763b06400a10c3da9fab0cc459a3bccfb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Wed, 14 Feb 2024 02:50:09 +0000 Subject: [PATCH 01/98] Rebuild for jpegxl (libjxl) 0.9.2 with soname bump From 915328c4e3e23e45e7a3fdbcfff35082b7724f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Wed, 13 Mar 2024 03:09:17 +0000 Subject: [PATCH 02/98] Rebuild for jpegxl (libjxl) 0.10.2 From d99a3321c03a9cb01daa99e0a8236f3d70cab465 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 16 Mar 2024 13:31:46 -0500 Subject: [PATCH 03/98] Update to 2.44.0 --- .gitignore | 1 + display-vblank-monitor.patch | 1045 ---------------------------------- sources | 4 +- webkitgtk.spec | 6 +- 4 files changed, 4 insertions(+), 1052 deletions(-) delete mode 100644 display-vblank-monitor.patch diff --git a/.gitignore b/.gitignore index d6a731c..e029434 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ /webkitgtk-2.43.2.tar.xz.asc /webkitgtk-2.43.3.tar.xz.asc /webkitgtk-2.43.4.tar.xz.asc +/webkitgtk-2.44.0.tar.xz.asc diff --git a/display-vblank-monitor.patch b/display-vblank-monitor.patch deleted file mode 100644 index 0422954..0000000 --- a/display-vblank-monitor.patch +++ /dev/null @@ -1,1045 +0,0 @@ -From fda6216679915707208bd7794ae22c0c92b808cd Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Mon, 5 Feb 2024 03:27:45 -0800 -Subject: [PATCH] [WPE] WPE Platform: add monitors API - https://bugs.webkit.org/show_bug.cgi?id=265639 - -Reviewed by Adrian Perez de Castro. - -Add monitors API with implementation for the wayland platform for now. -This API is used inside WebKit to set the screen properties, set the -platform display ID and get the refresh rate for display link. - -* Source/WebCore/platform/PlatformScreen.cpp: -* Source/WebCore/platform/ScreenProperties.h: -* Source/WebCore/platform/wpe/PlatformScreenWPE.cpp: -(WebCore::widgetDisplayID): -(WebCore::screenDepth): -(WebCore::screenDepthPerComponent): -(WebCore::screenIsMonochrome): -(WebCore::screenDPI): -(WebCore::screenRect): -(WebCore::screenAvailableRect): -(WebCore::setScreenDPIObserverHandler): Deleted. -* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: -* Source/WebKit/Shared/WebPageCreationParameters.h: -* Source/WebKit/Shared/WebPageCreationParameters.serialization.in: -* Source/WebKit/Shared/WebProcessCreationParameters.h: -* Source/WebKit/Shared/WebProcessCreationParameters.serialization.in: -* Source/WebKit/SourcesGTK.txt: -* Source/WebKit/SourcesWPE.txt: -* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp: -(WKWPE::m_backend): -(WKWPE::View::~View): -(WKWPE::View::updateDisplayID): -* Source/WebKit/UIProcess/API/wpe/WPEWebView.h: -* Source/WebKit/UIProcess/WebPageProxy.cpp: -(WebKit::WebPageProxy::creationParameters): -* Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp: -(WebKit::findCrtc): -(WebKit::DisplayVBlankMonitorDRM::create): -* Source/WebKit/UIProcess/glib/ScreenManager.cpp: Copied from Source/WebKit/UIProcess/gtk/ScreenManager.h. -(WebKit::ScreenManager::singleton): -(WebKit::ScreenManager::displayID const): -(WebKit::ScreenManager::monitor const): -(WebKit::ScreenManager::addMonitor): -(WebKit::ScreenManager::removeMonitor): -(WebKit::ScreenManager::propertiesDidChange const): -* Source/WebKit/UIProcess/glib/ScreenManager.h: Renamed from Source/WebKit/UIProcess/gtk/ScreenManager.h. -* Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp: -(WebKit::WebProcessPool::platformInitializeWebProcess): -* Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp: Renamed from Source/WebKit/UIProcess/gtk/ScreenManager.cpp. -(WebKit::ScreenManager::generatePlatformDisplayID): -(WebKit::ScreenManager::ScreenManager): -(WebKit::ScreenManager::collectScreenProperties const): -* Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp: Added. -(WebKit::ScreenManager::generatePlatformDisplayID): -(WebKit::ScreenManager::ScreenManager): -(WebKit::ScreenManager::collectScreenProperties const): -* Source/WebKit/WPEPlatform/CMakeLists.txt: -* Source/WebKit/WPEPlatform/wpe/WPEDisplay.cpp: -(wpe_display_class_init): -(wpe_display_get_n_monitors): -(wpe_display_get_monitor): -(wpe_display_monitor_added): -(wpe_display_monitor_removed): -(wpeDisplayDispose): Deleted. -* Source/WebKit/WPEPlatform/wpe/WPEDisplay.h: -* Source/WebKit/WPEPlatform/wpe/WPEMonitor.cpp: Added. -(wpeMonitorGetProperty): -(wpe_monitor_class_init): -(wpe_monitor_get_id): -(wpe_monitor_invalidate): -(wpe_monitor_get_x): -(wpe_monitor_get_y): -(wpe_monitor_set_position): -(wpe_monitor_get_width): -(wpe_monitor_get_height): -(wpe_monitor_set_size): -(wpe_monitor_get_physical_width): -(wpe_monitor_get_physical_height): -(wpe_monitor_set_physical_size): -(wpe_monitor_get_scale): -(wpe_monitor_set_scale): -(wpe_monitor_get_refresh_rate): -(wpe_monitor_set_refresh_rate): -* Source/WebKit/WPEPlatform/wpe/WPEMonitor.h: Added. -* Source/WebKit/WPEPlatform/wpe/WPEView.cpp: -(wpeViewGetProperty): -(wpe_view_class_init): -(wpe_view_get_monitor): -* Source/WebKit/WPEPlatform/wpe/WPEView.h: -* Source/WebKit/WPEPlatform/wpe/wayland/CMakeLists.txt: -* Source/WebKit/WPEPlatform/wpe/wayland/WPEDisplayWayland.cpp: -(wpeDisplayWaylandDispose): -(wpeDisplayWaylandGetNMonitors): -(wpeDisplayWaylandGetMonitor): -(wpeDisplayWaylandFindMonitor): -(wpe_display_wayland_class_init): -(wpeDisplayWaylandGetOutput): Deleted. -* Source/WebKit/WPEPlatform/wpe/wayland/WPEDisplayWaylandPrivate.h: -* Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.cpp: Added. -(wpeMonitorWaylandInvalidate): -(wpeMonitorWaylandDispose): -(wpe_monitor_wayland_class_init): -(wpe_monitor_wayland_get_wl_output): -* Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.h: Copied from Source/WebKit/WPEPlatform/wpe/wayland/wpe-wayland.h. -* Source/WebKit/WPEPlatform/wpe/wayland/WPEViewWayland.cpp: -(wpeViewWaylandConstructed): -(wpeViewWaylandDispose): -(wpeViewWaylandGetMonitor): -(wpe_view_wayland_class_init): -* Source/WebKit/WPEPlatform/wpe/wayland/wpe-wayland.h: -* Source/WebKit/WPEPlatform/wpe/wpe-platform.h: -* Source/WebKit/WebProcess/WebPage/WebPage.cpp: -(WebKit::m_historyItemClient): -* Source/WebKit/WebProcess/WebProcess.h: -* Source/WebKit/WebProcess/WebProcess.messages.in: -* Source/WebKit/WebProcess/glib/WebProcessGLib.cpp: -(WebKit::WebProcess::platformInitializeWebProcess): - -Canonical link: https://commits.webkit.org/274090@main ---- - Source/WebCore/platform/PlatformScreen.cpp | 4 +- - Source/WebCore/platform/ScreenProperties.h | 2 +- - .../platform/wpe/PlatformScreenWPE.cpp | 62 ++- - .../WebCoreArgumentCoders.serialization.in | 2 +- - .../WebKit/Shared/WebPageCreationParameters.h | 3 + - ...WebPageCreationParameters.serialization.in | 3 + - .../Shared/WebProcessCreationParameters.h | 4 +- - ...ProcessCreationParameters.serialization.in | 2 +- - Source/WebKit/SourcesGTK.txt | 3 +- - Source/WebKit/SourcesWPE.txt | 2 + - .../WebKit/UIProcess/API/wpe/WPEWebView.cpp | 19 + - Source/WebKit/UIProcess/API/wpe/WPEWebView.h | 5 + - .../mac/RemoteLayerTreeDrawingAreaProxyMac.mm | 2 + - Source/WebKit/UIProcess/WebPageProxy.cpp | 4 + - .../glib/DisplayVBlankMonitorDRM.cpp | 77 ++- - .../WebKit/UIProcess/glib/ScreenManager.cpp | 78 +++ - .../UIProcess/{gtk => glib}/ScreenManager.h | 26 +- - .../UIProcess/glib/WebProcessPoolGLib.cpp | 10 +- - ...ScreenManager.cpp => ScreenManagerGtk.cpp} | 45 +- - .../WebKit/UIProcess/wpe/ScreenManagerWPE.cpp | 95 ++++ - Source/WebKit/WPEPlatform/CMakeLists.txt | 2 + - Source/WebKit/WPEPlatform/wpe/WPEDisplay.cpp | 113 ++++ - Source/WebKit/WPEPlatform/wpe/WPEDisplay.h | 11 + - Source/WebKit/WPEPlatform/wpe/WPEMonitor.cpp | 527 ++++++++++++++++++ - Source/WebKit/WPEPlatform/wpe/WPEMonitor.h | 76 +++ - Source/WebKit/WPEPlatform/wpe/WPEView.cpp | 32 ++ - Source/WebKit/WPEPlatform/wpe/WPEView.h | 33 +- - .../WPEPlatform/wpe/wayland/CMakeLists.txt | 2 +- - .../wpe/wayland/WPEDisplayWayland.cpp | 54 +- - .../wpe/wayland/WPEDisplayWaylandPrivate.h | 4 +- - .../wpe/wayland/WPEMonitorWayland.cpp | 141 +++++ - .../wpe/wayland/WPEMonitorWayland.h | 46 ++ - .../wpe/wayland/WPEMonitorWaylandPrivate.h | 30 + - .../wpe/wayland/WPEViewWayland.cpp | 68 ++- - .../WPEPlatform/wpe/wayland/wpe-wayland.h | 1 + - Source/WebKit/WPEPlatform/wpe/wpe-platform.h | 1 + - Source/WebKit/WebProcess/WebPage/WebPage.cpp | 3 + - Source/WebKit/WebProcess/WebProcess.h | 2 +- - .../WebKit/WebProcess/WebProcess.messages.in | 2 +- - .../WebKit/WebProcess/glib/WebProcessGLib.cpp | 10 +- - 40 files changed, 1464 insertions(+), 142 deletions(-) - create mode 100644 Source/WebKit/UIProcess/glib/ScreenManager.cpp - rename Source/WebKit/UIProcess/{gtk => glib}/ScreenManager.h (71%) - rename Source/WebKit/UIProcess/gtk/{ScreenManager.cpp => ScreenManagerGtk.cpp} (81%) - create mode 100644 Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp - create mode 100644 Source/WebKit/WPEPlatform/wpe/WPEMonitor.cpp - create mode 100644 Source/WebKit/WPEPlatform/wpe/WPEMonitor.h - create mode 100644 Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.cpp - create mode 100644 Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.h - create mode 100644 Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWaylandPrivate.h - -diff --git a/Source/WebCore/platform/PlatformScreen.cpp b/Source/WebCore/platform/PlatformScreen.cpp -index 39fbdb1be924d..ae46341ba71c7 100644 ---- a/Source/WebCore/platform/PlatformScreen.cpp -+++ b/Source/WebCore/platform/PlatformScreen.cpp -@@ -26,7 +26,7 @@ - #include "config.h" - #include "PlatformScreen.h" - --#if PLATFORM(COCOA) || PLATFORM(GTK) -+#if PLATFORM(COCOA) || PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - - #include "ScreenProperties.h" - #include -@@ -72,4 +72,4 @@ const ScreenData* screenData(PlatformDisplayID screenDisplayID) - - } // namespace WebCore - --#endif // PLATFORM(COCOA) || PLATFORM(GTK) -+#endif // PLATFORM(COCOA) || PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) -diff --git a/Source/WebCore/platform/ScreenProperties.h b/Source/WebCore/platform/ScreenProperties.h -index bfc75c3f1bbac..c6c8ef374d566 100644 ---- a/Source/WebCore/platform/ScreenProperties.h -+++ b/Source/WebCore/platform/ScreenProperties.h -@@ -52,6 +52,6 @@ struct ScreenData { - DynamicRangeMode preferredDynamicRangeMode { DynamicRangeMode::Standard }; - #endif --#if PLATFORM(GTK) -+#if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - IntSize screenSize; // In millimeters. - double dpi; - #endif -diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -index 60cb2d48e462b..5c46fb7a2a1c1 100644 ---- a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -+++ b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in -@@ -2239,7 +2239,7 @@ header: - WebCore::PlatformGPUID gpuID; - WebCore::DynamicRangeMode preferredDynamicRangeMode; - #endif --#if PLATFORM(GTK) -+#if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - WebCore::IntSize screenSize; - double dpi; - #endif -diff --git a/Source/WebKit/Shared/WebPageCreationParameters.h b/Source/WebKit/Shared/WebPageCreationParameters.h -index 2ea7cff733553..fa75878f40592 100644 ---- a/Source/WebKit/Shared/WebPageCreationParameters.h -+++ b/Source/WebKit/Shared/WebPageCreationParameters.h -@@ -105,6 +105,9 @@ struct WebPageCreationParameters { - - std::optional viewExposedRect; - -+ std::optional displayID; -+ std::optional nominalFramesPerSecond; -+ - bool alwaysShowsHorizontalScroller; - bool alwaysShowsVerticalScroller; - -diff --git a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in -index 12363533fca5e..5bee2a3eb5a87 100644 ---- a/Source/WebKit/Shared/WebPageCreationParameters.serialization.in -+++ b/Source/WebKit/Shared/WebPageCreationParameters.serialization.in -@@ -46,6 +46,9 @@ headers: "ArgumentCoders.h" - - std::optional viewExposedRect; - -+ std::optional displayID; -+ std::optional nominalFramesPerSecond; -+ - bool alwaysShowsHorizontalScroller; - bool alwaysShowsVerticalScroller; - -diff --git a/Source/WebKit/Shared/WebProcessCreationParameters.h b/Source/WebKit/Shared/WebProcessCreationParameters.h -index 85df7bc9ddcc3..d95844aacd23b 100644 ---- a/Source/WebKit/Shared/WebProcessCreationParameters.h -+++ b/Source/WebKit/Shared/WebProcessCreationParameters.h -@@ -42,7 +42,7 @@ - #include - #include - --#if PLATFORM(COCOA) || PLATFORM(GTK) -+#if PLATFORM(COCOA) || PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - #include - #endif - -@@ -169,7 +169,7 @@ struct WebProcessCreationParameters { - Vector mediaMIMETypes; - #endif - --#if PLATFORM(COCOA) || PLATFORM(GTK) -+#if PLATFORM(COCOA) || PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - WebCore::ScreenProperties screenProperties; - #endif - -diff --git a/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in b/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in -index 0b8265f8ff27d..2c4c7ccd31217 100644 ---- a/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in -+++ b/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in -@@ -118,7 +118,7 @@ - Vector mediaMIMETypes; - #endif - --#if PLATFORM(COCOA) || PLATFORM(GTK) -+#if PLATFORM(COCOA) || PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - WebCore::ScreenProperties screenProperties; - #endif - -diff --git a/Source/WebKit/SourcesGTK.txt b/Source/WebKit/SourcesGTK.txt -index 2db1af6d6140f..dbd2950cc54d6 100644 ---- a/Source/WebKit/SourcesGTK.txt -+++ b/Source/WebKit/SourcesGTK.txt -@@ -260,6 +260,7 @@ UIProcess/glib/DisplayLinkGLib.cpp - UIProcess/glib/DisplayVBlankMonitor.cpp - UIProcess/glib/DisplayVBlankMonitorDRM.cpp - UIProcess/glib/DisplayVBlankMonitorTimer.cpp -+UIProcess/glib/ScreenManager.cpp - UIProcess/glib/WebPageProxyGLib.cpp - UIProcess/glib/WebProcessPoolGLib.cpp - UIProcess/glib/WebProcessProxyGLib.cpp -@@ -278,7 +279,7 @@ UIProcess/gtk/KeyBindingTranslator.cpp - UIProcess/gtk/PointerLockManager.cpp @no-unify - UIProcess/gtk/PointerLockManagerWayland.cpp @no-unify - UIProcess/gtk/PointerLockManagerX11.cpp @no-unify --UIProcess/gtk/ScreenManager.cpp @no-unify -+UIProcess/gtk/ScreenManagerGtk.cpp @no-unify - UIProcess/gtk/TextCheckerGtk.cpp @no-unify - UIProcess/gtk/ViewSnapshotStoreGtk3.cpp @no-unify - UIProcess/gtk/ViewSnapshotStoreGtk4.cpp @no-unify - -diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index 9a2bae74232d0..c7612aeb06b73 100644 ---- a/Source/WebKit/UIProcess/WebPageProxy.cpp -+++ b/Source/WebKit/UIProcess/WebPageProxy.cpp -@@ -9800,6 +9800,10 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc - parameters.minimumUnobscuredSize = internals().minimumUnobscuredSize; - parameters.maximumUnobscuredSize = internals().maximumUnobscuredSize; - parameters.viewExposedRect = internals().viewExposedRect; -+ if (m_displayID) { -+ parameters.displayID = m_displayID; -+ parameters.nominalFramesPerSecond = drawingArea.displayNominalFramesPerSecond(); -+ } - parameters.alwaysShowsHorizontalScroller = m_alwaysShowsHorizontalScroller; - parameters.alwaysShowsVerticalScroller = m_alwaysShowsVerticalScroller; - parameters.suppressScrollbarAnimations = m_suppressScrollbarAnimations; -diff --git a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp -index a74cb9be98513..c9c69df44cd22 100644 ---- a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp -+++ b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp -@@ -40,9 +40,12 @@ - #include - #include - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - #include "ScreenManager.h" - #include -+#endif -+ -+#if PLATFORM(GTK) - #include - #endif - -@@ -52,15 +55,20 @@ - - namespace WebKit { - --#if PLATFORM(GTK) --static std::optional findCrtc(int fd, GdkMonitor* monitor) -+#if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) -+static std::optional> findCrtc(int fd, PlatformMonitor* monitor) - { - drmModeRes* resources = drmModeGetResources(fd); - if (!resources) - return std::nullopt; - -+#if PLATFORM(GTK) - uint32_t widthMM = gdk_monitor_get_width_mm(monitor); - uint32_t heightMM = gdk_monitor_get_height_mm(monitor); -+#elif PLATFORM(WPE) -+ uint32_t widthMM = wpe_monitor_get_physical_width(monitor); -+ uint32_t heightMM = wpe_monitor_get_physical_height(monitor); -+#endif - - // First find connectors matching the size. - Vector connectors; -@@ -87,13 +95,18 @@ static std::optional findCrtc(int fd, GdkMonitor* monitor) - return std::nullopt; - } - -- std::optional returnValue; -+ std::optional> returnValue; - - // FIXME: if there are multiple connectors, check other properties. - if (drmModeEncoder* encoder = drmModeGetEncoder(fd, connectors[0]->encoder_id)) { - for (int i = 0; i < resources->count_crtcs; ++i) { - if (resources->crtcs[i] == encoder->crtc_id) { -- returnValue = i; -+#if PLATFORM(GTK) -+ auto refreshRate = gdk_monitor_get_refresh_rate(monitor); -+#elif PLATFORM(WPE) -+ auto refreshRate = wpe_monitor_get_refresh_rate(monitor); -+#endif -+ returnValue = { i, refreshRate }; - break; - } - } -@@ -107,7 +120,9 @@ static std::optional findCrtc(int fd, GdkMonitor* monitor) - - return returnValue; - } --#elif PLATFORM(WPE) -+#endif -+ -+#if PLATFORM(WPE) - static std::optional> findCrtc(int fd) - { - drmModeRes* resources = drmModeGetResources(fd); -@@ -176,9 +191,32 @@ static int crtcBitmaskForIndex(uint32_t crtcIndex) - - std::unique_ptr DisplayVBlankMonitorDRM::create(PlatformDisplayID displayID) - { -+#if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) -+ static bool usingWPEPlatformAPI = !!g_type_class_peek(WPE_TYPE_DISPLAY); -+#endif -+ -+#if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) -+ PlatformMonitor* monitor = nullptr; -+ if (usingWPEPlatformAPI) { -+ monitor = ScreenManager::singleton().monitor(displayID ? displayID : WebCore::primaryScreenDisplayID()); -+ if (!monitor) { -+ RELEASE_LOG_FAULT(DisplayLink, "Could not create a vblank monitor for display %u: no monitor found", displayID); -+ return nullptr; -+ } -+ } -+#endif -+ -+#if PLATFORM(GTK) -+ auto* monitor = ScreenManager::singleton().monitor(displayID ? displayID : WebCore::primaryScreenDisplayID()); -+ if (!monitor) { -+ RELEASE_LOG_FAULT(DisplayLink, "Could not create a vblank monitor for display %u: no monitor found", displayID); -+ return nullptr; -+ } -+#endif -+ - #if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) - String filename; -- if (g_type_class_peek(WPE_TYPE_DISPLAY)) -+ if (usingWPEPlatformAPI) - filename = String::fromUTF8(wpe_render_device()); - else - filename = WebCore::PlatformDisplay::sharedDisplay().drmDeviceFile(); -@@ -197,28 +235,21 @@ std::unique_ptr DisplayVBlankMonitorDRM::create(PlatformDi - } - - #if PLATFORM(GTK) -- auto* monitor = ScreenManager::singleton().monitor(displayID ? displayID : WebCore::primaryScreenDisplayID()); -- if (!monitor) { -- RELEASE_LOG_FAULT(DisplayLink, "Could not create a vblank monitor for display %u: no monitor found", displayID); -- return nullptr; -- } -- -- auto crtcIndex = findCrtc(fd.value(), monitor); -- if (!crtcIndex) { -- RELEASE_LOG_FAULT(DisplayLink, "Could not create a vblank monitor for display %u: no CRTC found", displayID); -- return nullptr; -- } -- -- auto crtcBitmask = crtcBitmaskForIndex(crtcIndex.value()); -+ auto crtcInfo = findCrtc(fd.value(), monitor); - #elif PLATFORM(WPE) -+#if ENABLE(WPE_PLATFORM) -+ auto crtcInfo = monitor ? findCrtc(fd.value(), monitor) : findCrtc(fd.value()); -+#else - auto crtcInfo = findCrtc(fd.value()); -+#endif -+#endif -+ - if (!crtcInfo) { - RELEASE_LOG_FAULT(DisplayLink, "Could not create a vblank monitor for display %u: no CRTC found", displayID); - return nullptr; - } - - auto crtcBitmask = crtcBitmaskForIndex(crtcInfo->first); --#endif - - drmVBlank vblank; - vblank.request.type = static_cast(DRM_VBLANK_RELATIVE | crtcBitmask); -@@ -230,11 +261,7 @@ std::unique_ptr DisplayVBlankMonitorDRM::create(PlatformDi - return nullptr; - } - --#if PLATFORM(GTK) -- return makeUnique(gdk_monitor_get_refresh_rate(monitor) / 1000, WTFMove(fd), crtcBitmask); --#elif PLATFORM(WPE) - return makeUnique(crtcInfo->second / 1000, WTFMove(fd), crtcBitmask); --#endif - } - - DisplayVBlankMonitorDRM::DisplayVBlankMonitorDRM(unsigned refreshRate, UnixFileDescriptor&& fd, int crtcBitmask) -diff --git a/Source/WebKit/UIProcess/glib/ScreenManager.cpp b/Source/WebKit/UIProcess/glib/ScreenManager.cpp -new file mode 100644 -index 0000000000000..52628e6ba9903 ---- /dev/null -+++ b/Source/WebKit/UIProcess/glib/ScreenManager.cpp -@@ -0,0 +1,78 @@ -+/* -+ * Copyright (C) 2023 Igalia S.L. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY -+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR -+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#include "config.h" -+#include "ScreenManager.h" -+ -+#if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) -+#include "WebProcessMessages.h" -+#include "WebProcessPool.h" -+ -+namespace WebKit { -+ -+ScreenManager& ScreenManager::singleton() -+{ -+ static NeverDestroyed manager; -+ return manager; -+} -+ -+PlatformDisplayID ScreenManager::displayID(PlatformMonitor* monitor) const -+{ -+ return m_monitorToDisplayIDMap.get(monitor); -+} -+ -+PlatformMonitor* ScreenManager::monitor(PlatformDisplayID displayID) const -+{ -+ for (const auto& iter : m_monitorToDisplayIDMap) { -+ if (iter.value == displayID) -+ return iter.key; -+ } -+ return nullptr; -+} -+ -+void ScreenManager::addMonitor(PlatformMonitor* monitor) -+{ -+ m_monitors.append(monitor); -+ m_monitorToDisplayIDMap.add(monitor, generatePlatformDisplayID(monitor)); -+} -+ -+void ScreenManager::removeMonitor(PlatformMonitor* monitor) -+{ -+ m_monitorToDisplayIDMap.remove(monitor); -+ m_monitors.removeFirstMatching([monitor](const auto& item) { -+ return item.get() == monitor; -+ }); -+} -+ -+void ScreenManager::propertiesDidChange() const -+{ -+ auto properties = collectScreenProperties(); -+ for (auto& pool : WebProcessPool::allProcessPools()) -+ pool->sendToAllProcesses(Messages::WebProcess::SetScreenProperties(properties)); -+} -+ -+} // namespace WebKit -+ -+#endif // PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) -diff --git a/Source/WebKit/UIProcess/gtk/ScreenManager.h b/Source/WebKit/UIProcess/glib/ScreenManager.h -similarity index 71% -rename from Source/WebKit/UIProcess/gtk/ScreenManager.h -rename to Source/WebKit/UIProcess/glib/ScreenManager.h -index e46fc1900bf3c..4fc1199e634b0 100644 ---- a/Source/WebKit/UIProcess/gtk/ScreenManager.h -+++ b/Source/WebKit/UIProcess/glib/ScreenManager.h -@@ -1,5 +1,5 @@ - /* -- * Copyright (C) 2023 Igalia S.L. -+ * Copyright (C) 2023,2024 Igalia S.L. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions -@@ -25,13 +25,21 @@ - - #pragma once - -+#if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) -+ - #include - #include - #include - #include - #include - -+#if PLATFORM(GTK) - typedef struct _GdkMonitor GdkMonitor; -+using PlatformMonitor = GdkMonitor; -+#elif PLATFORM(WPE) && ENABLE(WPE_PLATFORM) -+typedef struct _WPEMonitor WPEMonitor; -+using PlatformMonitor = WPEMonitor; -+#endif - - namespace WebKit { - -@@ -43,20 +51,24 @@ class ScreenManager { - public: - static ScreenManager& singleton(); - -- PlatformDisplayID displayID(GdkMonitor*) const; -- GdkMonitor* monitor(PlatformDisplayID) const; -+ PlatformDisplayID displayID(PlatformMonitor*) const; -+ PlatformMonitor* monitor(PlatformDisplayID) const; - - WebCore::ScreenProperties collectScreenProperties() const; - - private: - ScreenManager(); - -- void addMonitor(GdkMonitor*); -- void removeMonitor(GdkMonitor*); -+ static PlatformDisplayID generatePlatformDisplayID(PlatformMonitor*); -+ -+ void addMonitor(PlatformMonitor*); -+ void removeMonitor(PlatformMonitor*); - void propertiesDidChange() const; - -- Vector, 1> m_monitors; -- HashMap m_monitorToDisplayIDMap; -+ Vector, 1> m_monitors; -+ HashMap m_monitorToDisplayIDMap; - }; - - } // namespace WebKit -+ -+#endif // PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) -diff --git a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp -index d26efed5f6bd8..f62fef3f76288 100644 ---- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp -+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp -@@ -48,12 +48,15 @@ - #include - #endif - -+#if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) -+#include "ScreenManager.h" -+#endif -+ - #if PLATFORM(GTK) - #if USE(EGL) - #include "AcceleratedBackingStoreDMABuf.h" - #endif - #include "GtkSettingsManager.h" --#include "ScreenManager.h" - #endif - - #if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) -@@ -160,6 +163,11 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process - parameters.gtkSettings = GtkSettingsManager::singleton().settingsState(); - parameters.screenProperties = ScreenManager::singleton().collectScreenProperties(); - #endif -+ -+#if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) -+ if (usingWPEPlatformAPI) -+ parameters.screenProperties = ScreenManager::singleton().collectScreenProperties(); -+#endif - } - - void WebProcessPool::platformInvalidateContext() -diff --git a/Source/WebKit/UIProcess/gtk/ScreenManager.cpp b/Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp -similarity index 81% -rename from Source/WebKit/UIProcess/gtk/ScreenManager.cpp -rename to Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp -index 0f628fcac6520..536accd95fee9 100644 ---- a/Source/WebKit/UIProcess/gtk/ScreenManager.cpp -+++ b/Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp -@@ -27,8 +27,6 @@ - #include "ScreenManager.h" - - #include "GtkSettingsManager.h" --#include "WebProcessMessages.h" --#include "WebProcessPool.h" - #include - #include - #include -@@ -36,13 +34,7 @@ - namespace WebKit { - using namespace WebCore; - --ScreenManager& ScreenManager::singleton() --{ -- static NeverDestroyed manager; -- return manager; --} -- --static PlatformDisplayID generatePlatformDisplayID() -+PlatformDisplayID ScreenManager::generatePlatformDisplayID(GdkMonitor*) - { - static PlatformDisplayID id; - return ++id; -@@ -84,41 +76,6 @@ ScreenManager::ScreenManager() - #endif - } - --PlatformDisplayID ScreenManager::displayID(GdkMonitor* monitor) const --{ -- return m_monitorToDisplayIDMap.get(monitor); --} -- --GdkMonitor* ScreenManager::monitor(PlatformDisplayID displayID) const --{ -- for (const auto& iter : m_monitorToDisplayIDMap) { -- if (iter.value == displayID) -- return iter.key; -- } -- return nullptr; --} -- --void ScreenManager::addMonitor(GdkMonitor* monitor) --{ -- m_monitors.append(monitor); -- m_monitorToDisplayIDMap.add(monitor, generatePlatformDisplayID()); --} -- --void ScreenManager::removeMonitor(GdkMonitor* monitor) --{ -- m_monitorToDisplayIDMap.remove(monitor); -- m_monitors.removeFirstMatching([monitor](const auto& item) { -- return item.get() == monitor; -- }); --} -- --void ScreenManager::propertiesDidChange() const --{ -- auto properties = collectScreenProperties(); -- for (auto& pool : WebProcessPool::allProcessPools()) -- pool->sendToAllProcesses(Messages::WebProcess::SetScreenProperties(properties)); --} -- - ScreenProperties ScreenManager::collectScreenProperties() const - { - #if USE(GTK4) - -diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -index 62c6599edb668..b443fc73cca46 100644 ---- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp -+++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -@@ -751,6 +751,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) - - updateAfterDrawingAreaCreation(parameters); - -+ if (parameters.displayID) -+ windowScreenDidChange(*parameters.displayID, parameters.nominalFramesPerSecond); -+ - WebStorageNamespaceProvider::incrementUseCount(sessionStorageNamespaceIdentifier()); - - updatePreferences(parameters.store); -diff --git a/Source/WebKit/WebProcess/WebProcess.h b/Source/WebKit/WebProcess/WebProcess.h -index 6873c9821f01f..686d385ab40ae 100644 ---- a/Source/WebKit/WebProcess/WebProcess.h -+++ b/Source/WebKit/WebProcess/WebProcess.h -@@ -604,7 +604,7 @@ class WebProcess : public AuxiliaryProcess - void displayConfigurationChanged(CGDirectDisplayID, CGDisplayChangeSummaryFlags); - #endif - --#if PLATFORM(COCOA) || PLATFORM(GTK) -+#if PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE) - void setScreenProperties(const WebCore::ScreenProperties&); - #endif - -diff --git a/Source/WebKit/WebProcess/WebProcess.messages.in b/Source/WebKit/WebProcess/WebProcess.messages.in -index c03d868dd326e..4af7663e3501f 100644 ---- a/Source/WebKit/WebProcess/WebProcess.messages.in -+++ b/Source/WebKit/WebProcess/WebProcess.messages.in -@@ -109,7 +109,7 @@ messages -> WebProcess LegacyReceiver NotRefCounted { - MarkIsNoLongerPrewarmed() - GetActivePagesOriginsForTesting() -> (Vector activeOrigins) - --#if PLATFORM(COCOA) || PLATFORM(GTK) -+#if PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE) - SetScreenProperties(struct WebCore::ScreenProperties screenProperties) - #endif - #if PLATFORM(MAC) -diff --git a/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp b/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp -index 52079a0b59523..99a3a8930ac33 100644 ---- a/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp -+++ b/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp -@@ -195,8 +195,16 @@ void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& para - - #if PLATFORM(GTK) - GtkSettingsManagerProxy::singleton().applySettings(WTFMove(parameters.gtkSettings)); -+#endif -+ -+#if PLATFORM(GTK) - WebCore::setScreenProperties(parameters.screenProperties); - #endif -+ -+#if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) -+ if (!m_dmaBufRendererBufferMode.isEmpty()) -+ WebCore::setScreenProperties(parameters.screenProperties); -+#endif - } - - void WebProcess::platformSetWebsiteDataStoreParameters(WebProcessDataStoreParameters&&) -@@ -248,7 +256,7 @@ void WebProcess::releaseSystemMallocMemory() - #endif - } - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) || PLATFORM(WPE) - void WebProcess::setScreenProperties(const WebCore::ScreenProperties& properties) - { - WebCore::setScreenProperties(properties); - -From cad5d7e5ed760db4515ca25da8080fe5e85b7e90 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Tue, 6 Feb 2024 01:26:25 -0800 -Subject: [PATCH] [GTK][WPE] Initialize display ID as early as possible - https://bugs.webkit.org/show_bug.cgi?id=268744 - -Reviewed by Adrian Perez de Castro. - -In GTK we currently get the display ID when the toplevel window is -realized and gets a monitor assigned. This is happening right after the -web page is initialized, which means we always create the web page with -0 display ID and right after that a window screen change happens. -Because of this we end up creating two display link monitors. We can -avoid this by initializing the web view display id as soon as possible -using the primary display ID, that in most of the cases will be then one -used when the monitor is assigned to the toplevel. - -This patch also ensures we never create a DRM vblank monitor when -display ID is 0, since that's never a valid monitor. We just -fallback to the timer vblank monitor in that case. - -* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp: -(webkitWebViewBaseConstructed): -* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp: -(WKWPE::m_backend): -* Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp: -(WebKit::DisplayVBlankMonitor::create): -* Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp: -(WebKit::DisplayVBlankMonitorDRM::create): -* Source/WebKit/UIProcess/glib/ScreenManager.h: -(WebKit::ScreenManager::primaryDisplayID const): -* Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp: -(WebKit::ScreenManager::ScreenManager): -(WebKit::ScreenManager::updatePrimaryDisplayID): -(WebKit::ScreenManager::collectScreenProperties const): -* Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp: -(WebKit::ScreenManager::ScreenManager): -(WebKit::ScreenManager::updatePrimaryDisplayID): -(WebKit::ScreenManager::collectScreenProperties const): - -Canonical link: https://commits.webkit.org/274136@main ---- - .../UIProcess/API/gtk/WebKitWebViewBase.cpp | 2 ++ - .../WebKit/UIProcess/API/wpe/WPEWebView.cpp | 9 ++++- - .../UIProcess/glib/DisplayVBlankMonitor.cpp | 4 +-- - .../glib/DisplayVBlankMonitorDRM.cpp | 5 ++- - Source/WebKit/UIProcess/glib/ScreenManager.h | 3 ++ - .../WebKit/UIProcess/gtk/ScreenManagerGtk.cpp | 35 +++++++++++++++---- - .../WebKit/UIProcess/wpe/ScreenManagerWPE.cpp | 18 +++++++--- - 7 files changed, 60 insertions(+), 16 deletions(-) - -diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -index 60727fc9e2ad3..55701f7211548 100644 ---- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -+++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -@@ -2432,6 +2432,8 @@ static void webkitWebViewBaseConstructed(GObject* object) - }; - g_signal_connect_object(settings, "notify::gtk-theme-name", G_CALLBACK(callback), viewWidget, G_CONNECT_SWAPPED); - g_signal_connect_object(settings, "notify::gtk-application-prefer-dark-theme", G_CALLBACK(callback), viewWidget, G_CONNECT_SWAPPED); -+ -+ priv->displayID = ScreenManager::singleton().primaryDisplayID(); - } - - static void webkit_web_view_base_class_init(WebKitWebViewBaseClass* webkitWebViewBaseClass) -diff --git a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp -index 1c286f0715ae5..ccb1ce062649e 100644 ---- a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp -+++ b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp -@@ -40,8 +40,8 @@ namespace WebKit { - - std::unique_ptr DisplayVBlankMonitor::create(PlatformDisplayID displayID) - { -- const char* forceTimer = getenv("WEBKIT_FORCE_VBLANK_TIMER"); -- if (forceTimer && strcmp(forceTimer, "0")) -+ static const char* forceTimer = getenv("WEBKIT_FORCE_VBLANK_TIMER"); -+ if (!displayID || (forceTimer && strcmp(forceTimer, "0"))) - return DisplayVBlankMonitorTimer::create(); - - #if USE(LIBDRM) -diff --git a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp -index c9c69df44cd22..bbb7655a9539f 100644 ---- a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp -+++ b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp -@@ -42,7 +42,6 @@ - - #if PLATFORM(GTK) || (PLATFORM(WPE) && ENABLE(WPE_PLATFORM)) - #include "ScreenManager.h" --#include - #endif - - #if PLATFORM(GTK) -@@ -198,7 +197,7 @@ std::unique_ptr DisplayVBlankMonitorDRM::create(PlatformDi - #if PLATFORM(WPE) && ENABLE(WPE_PLATFORM) - PlatformMonitor* monitor = nullptr; - if (usingWPEPlatformAPI) { -- monitor = ScreenManager::singleton().monitor(displayID ? displayID : WebCore::primaryScreenDisplayID()); -+ monitor = ScreenManager::singleton().monitor(displayID); - if (!monitor) { - RELEASE_LOG_FAULT(DisplayLink, "Could not create a vblank monitor for display %u: no monitor found", displayID); - return nullptr; -@@ -207,7 +206,7 @@ std::unique_ptr DisplayVBlankMonitorDRM::create(PlatformDi - #endif - - #if PLATFORM(GTK) -- auto* monitor = ScreenManager::singleton().monitor(displayID ? displayID : WebCore::primaryScreenDisplayID()); -+ auto* monitor = ScreenManager::singleton().monitor(displayID); - if (!monitor) { - RELEASE_LOG_FAULT(DisplayLink, "Could not create a vblank monitor for display %u: no monitor found", displayID); - return nullptr; -diff --git a/Source/WebKit/UIProcess/glib/ScreenManager.h b/Source/WebKit/UIProcess/glib/ScreenManager.h -index 4fc1199e634b0..3675fbf3bc72b 100644 ---- a/Source/WebKit/UIProcess/glib/ScreenManager.h -+++ b/Source/WebKit/UIProcess/glib/ScreenManager.h -@@ -53,6 +53,7 @@ class ScreenManager { - - PlatformDisplayID displayID(PlatformMonitor*) const; - PlatformMonitor* monitor(PlatformDisplayID) const; -+ PlatformDisplayID primaryDisplayID() const { return m_primaryDisplayID; } - - WebCore::ScreenProperties collectScreenProperties() const; - -@@ -63,10 +64,12 @@ class ScreenManager { - - void addMonitor(PlatformMonitor*); - void removeMonitor(PlatformMonitor*); -+ void updatePrimaryDisplayID(); - void propertiesDidChange() const; - - Vector, 1> m_monitors; - HashMap m_monitorToDisplayIDMap; -+ PlatformDisplayID m_primaryDisplayID { 0 }; - }; - - } // namespace WebKit -diff --git a/Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp b/Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp -index 536accd95fee9..39b61264e0431 100644 ---- a/Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp -+++ b/Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp -@@ -57,6 +57,7 @@ ScreenManager::ScreenManager() - auto monitor = adoptGRef(GDK_MONITOR(g_list_model_get_item(monitors, index + i))); - manager->addMonitor(monitor.get()); - } -+ manager->updatePrimaryDisplayID(); - manager->propertiesDidChange(); - }), this); - #else -@@ -67,20 +68,44 @@ ScreenManager::ScreenManager() - } - g_signal_connect(display, "monitor-added", G_CALLBACK(+[](GdkDisplay*, GdkMonitor* monitor, ScreenManager* manager) { - manager->addMonitor(monitor); -+ manager->updatePrimaryDisplayID(); - manager->propertiesDidChange(); - }), this); - g_signal_connect(display, "monitor-removed", G_CALLBACK(+[](GdkDisplay*, GdkMonitor* monitor, ScreenManager* manager) { - manager->removeMonitor(monitor); -+ manager->updatePrimaryDisplayID(); - manager->propertiesDidChange(); - }), this); - #endif -+ updatePrimaryDisplayID(); - } - --ScreenProperties ScreenManager::collectScreenProperties() const -+void ScreenManager::updatePrimaryDisplayID() - { -+ auto* display = gdk_display_get_default(); - #if USE(GTK4) -- GdkMonitor* primaryMonitor = nullptr; -+ // GTK4 doesn't have the concept of primary monitor, so we always use the first one. -+ auto* monitors = gdk_display_get_monitors(display); -+ if (!g_list_model_get_n_items(monitors)) { -+ m_primaryDisplayID = 0; -+ return; -+ } -+ -+ auto monitor = adoptGRef(GDK_MONITOR(g_list_model_get_item(monitors, 0))); -+ m_primaryDisplayID = displayID(monitor.get()); - #else -+ auto* primaryMonitor = gdk_display_get_primary_monitor(display); -+ if (!primaryMonitor) { -+ if (gdk_display_get_n_monitors(display)) -+ primaryMonitor = gdk_display_get_monitor(display, 0); -+ } -+ m_primaryDisplayID = primaryMonitor ? displayID(primaryMonitor) : 0; -+#endif -+} -+ -+ScreenProperties ScreenManager::collectScreenProperties() const -+{ -+#if !USE(GTK4) - auto systemVisual = [](GdkDisplay* display) -> GdkVisual* { - if (auto* screen = gdk_display_get_default_screen(display)) - return gdk_screen_get_system_visual(screen); -@@ -89,15 +114,13 @@ ScreenProperties ScreenManager::collectScreenProperties() const - }; - - auto* display = gdk_display_get_default(); -- auto* primaryMonitor = gdk_display_get_primary_monitor(display); - #endif - - ScreenProperties properties; -+ properties.primaryDisplayID = m_primaryDisplayID; -+ - for (const auto& iter : m_monitorToDisplayIDMap) { - GdkMonitor* monitor = iter.key; -- if (!properties.primaryDisplayID && (!primaryMonitor || primaryMonitor == monitor)) -- properties.primaryDisplayID = iter.value; -- - ScreenData data; - GdkRectangle workArea; - monitorWorkArea(monitor, &workArea); - -From 0a61478183a9db5ee3be866b5106eabd336a0be1 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Wed, 7 Feb 2024 05:34:01 -0800 -Subject: [PATCH] [GTK][WPE] Do not use real time priority for the display link - thread https://bugs.webkit.org/show_bug.cgi?id=268900 - -Reviewed by Michael Catanzaro. - -In some cases it can cause the rtkit daemon to kill the ui process due -to CPU usage limit. - -* Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp: -(WebKit::DisplayVBlankMonitor::startThreadIfNeeded): - -Canonical link: https://commits.webkit.org/274210@main ---- - Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp -index ccb1ce062649e..e225009c361ce 100644 ---- a/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp -+++ b/Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.cpp -@@ -97,7 +97,7 @@ bool DisplayVBlankMonitor::startThreadIfNeeded() - if (active) - m_handler(); - } -- }, ThreadType::Graphics, Thread::QOS::UserInteractive); -+ }, ThreadType::Graphics, Thread::QOS::Default); - return true; - } - diff --git a/sources b/sources index 43988b5..2a53c56 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.43.4.tar.xz) = 6246137deb76192f20bdd1b98e415a183e0c90edf357b08577fa82ce0d196da295c4edf1598b1edc15a258ad6c14997654b947e46e1ea65821c9e5ce6e1dda5c -SHA512 (webkitgtk-2.43.4.tar.xz.asc) = 25fb00babd4d6d0ef6463226561963972895f2320c86e9da1bdf06cb6acdc6cee1ad97380b418e645d20f98a1cd4ec37d20efa0cb75473a6d62ae0cae28ecce7 +SHA512 (webkitgtk-2.44.0.tar.xz) = fb40fe1002b368ce5b498d9f5bf76c1f275156d5ee3b17339b682fcb4ebfd711c8c337ae9dbe90382a72d2a04d49cff23133fc318ec74cd81ae9c5d01c206d2a +SHA512 (webkitgtk-2.44.0.tar.xz.asc) = e4c3da75318de3e06e74f4f6fdeb24b2a6f36eb206da089c218d6b7891666b491089a7e20433889816de12bcd7359b69eb0c658dacd27a51098732ec933249f0 diff --git a/webkitgtk.spec b/webkitgtk.spec index 2413668..e693865 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -18,7 +18,7 @@ %bcond_without docs Name: webkitgtk -Version: 2.43.4 +Version: 2.44.0 Release: %autorelease Summary: GTK web content engine library @@ -56,10 +56,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=268744 -# https://bugzilla.redhat.com/show_bug.cgi?id=2253099 -Patch: display-vblank-monitor.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: cmake From 5d9918b45f64c6173e113ab6d3a1b5a1a46ee2e2 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 16 Mar 2024 19:45:26 -0500 Subject: [PATCH 04/98] Fix i686 build --- i686-build.patch | 17 +++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 20 insertions(+) create mode 100644 i686-build.patch diff --git a/i686-build.patch b/i686-build.patch new file mode 100644 index 0000000..937221b --- /dev/null +++ b/i686-build.patch @@ -0,0 +1,17 @@ +diff --git a/Source/WebCore/platform/Timer.cpp b/Source/WebCore/platform/Timer.cpp +index 4f7c0f5c39ca..0f3734cca247 100644 +--- a/Source/WebCore/platform/Timer.cpp ++++ b/Source/WebCore/platform/Timer.cpp +@@ -263,7 +263,11 @@ struct SameSizeAsTimer { + + WeakPtr timerAlignment; + double times[2]; +- void* pointers[3]; ++ void* pointers[2]; ++#if CPU(ADDRESS32) ++ uint8_t bitfields; ++#endif ++ void* pointer; + }; + + static_assert(sizeof(Timer) == sizeof(SameSizeAsTimer), "Timer should stay small"); diff --git a/webkitgtk.spec b/webkitgtk.spec index e693865..fc6f6af 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -56,6 +56,9 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +# https://bugs.webkit.org/show_bug.cgi?id=271108 +Patch: i686-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: cmake From 862ac4af72dc161ed3efb19e3eb44353e4ba1944 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 11 Apr 2024 11:35:45 -0500 Subject: [PATCH 05/98] Remove RHEL conditions from spec file WebKitGTK is no longer part of ELN, so these are no longer needed. It's probably desired in EPEL, but extra dependencies can be packaged for EPEL. Note that -DUSE_64KB_PAGE_BLOCK=ON is also no longer needed because the relevant aarch64 builders are using Fedora and 4 KB page sizes. This significantly improves both security and performance of the aarch64 builds. --- webkitgtk.spec | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index fc6f6af..7087244 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -5,11 +5,6 @@ mkdir -p _license_files ; \ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') -# No libmanette in RHEL -%bcond gamepad %{undefined rhel} -%bcond avif %[%{undefined rhel} || %{defined epel}] -%bcond jpegxl %[%{undefined rhel} || %{defined epel}] - %global _lto_cflags %{nil} # Build documentation by default (use `rpmbuild --without docs` to override it). @@ -102,15 +97,11 @@ BuildRequires: pkgconfig(gtk4) BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(icu-uc) BuildRequires: pkgconfig(lcms2) -%if %{with avif} BuildRequires: pkgconfig(libavif) -%endif BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(libjpeg) -%if %{with jpegxl} BuildRequires: pkgconfig(libjxl) -%endif BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libseccomp) @@ -121,9 +112,7 @@ BuildRequires: pkgconfig(libtasn1) BuildRequires: pkgconfig(libwebp) BuildRequires: pkgconfig(libwoff2dec) BuildRequires: pkgconfig(libxslt) -%if %{with gamepad} BuildRequires: pkgconfig(manette-0.2) -%endif BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(upower-glib) BuildRequires: pkgconfig(wayland-client) @@ -309,20 +298,6 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 -DUSE_LIBBACKTRACE=OFF \ %if %{without docs} -DENABLE_DOCUMENTATION=OFF \ -%endif -%if %{without gamepad} - -DENABLE_GAMEPAD=OFF \ -%endif -%if %{without avif} - -DUSE_AVIF=OFF \ -%endif -%if %{without jpegxl} - -DUSE_JPEGXL=OFF \ -%endif -%if 0%{?rhel} -%ifarch aarch64 - -DUSE_64KB_PAGE_BLOCK=ON \ -%endif %endif %{nil} @@ -336,20 +311,6 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 -DENABLE_WEBDRIVER=OFF \ %if %{without docs} -DENABLE_DOCUMENTATION=OFF \ -%endif -%if %{without gamepad} - -DENABLE_GAMEPAD=OFF \ -%endif -%if %{without avif} - -DUSE_AVIF=OFF \ -%endif -%if %{without jpegxl} - -DUSE_JPEGXL=OFF \ -%endif -%if 0%{?rhel} -%ifarch aarch64 - -DUSE_64KB_PAGE_BLOCK=ON \ -%endif %endif %{nil} From 56e83eb8d3dbc36a9afbc8f943a853130c5a04f1 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 11 Apr 2024 11:39:42 -0500 Subject: [PATCH 06/98] Attempt to reenable LTO Let's see whether this builds. Probably not. (Actually, it did build. Yippee!) --- webkitgtk.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index 7087244..c1b6ea9 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -5,8 +5,6 @@ mkdir -p _license_files ; \ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') -%global _lto_cflags %{nil} - # Build documentation by default (use `rpmbuild --without docs` to override it). # This is used by Coverity. Coverity injects custom compiler warnings, but # any warning during WebKit docs build is fatal! From ba68f3ced91c2bf5ddc968c6975456a857938aca Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 11 Apr 2024 11:40:08 -0500 Subject: [PATCH 07/98] Update to 2.44.1 --- .gitignore | 1 + i686-build.patch | 17 ----------------- sources | 4 ++-- webkitgtk.spec | 5 +---- 4 files changed, 4 insertions(+), 23 deletions(-) delete mode 100644 i686-build.patch diff --git a/.gitignore b/.gitignore index e029434..a050297 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ /webkitgtk-2.43.3.tar.xz.asc /webkitgtk-2.43.4.tar.xz.asc /webkitgtk-2.44.0.tar.xz.asc +/webkitgtk-2.44.1.tar.xz.asc diff --git a/i686-build.patch b/i686-build.patch deleted file mode 100644 index 937221b..0000000 --- a/i686-build.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/Source/WebCore/platform/Timer.cpp b/Source/WebCore/platform/Timer.cpp -index 4f7c0f5c39ca..0f3734cca247 100644 ---- a/Source/WebCore/platform/Timer.cpp -+++ b/Source/WebCore/platform/Timer.cpp -@@ -263,7 +263,11 @@ struct SameSizeAsTimer { - - WeakPtr timerAlignment; - double times[2]; -- void* pointers[3]; -+ void* pointers[2]; -+#if CPU(ADDRESS32) -+ uint8_t bitfields; -+#endif -+ void* pointer; - }; - - static_assert(sizeof(Timer) == sizeof(SameSizeAsTimer), "Timer should stay small"); diff --git a/sources b/sources index 2a53c56..f6daeb0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.44.0.tar.xz) = fb40fe1002b368ce5b498d9f5bf76c1f275156d5ee3b17339b682fcb4ebfd711c8c337ae9dbe90382a72d2a04d49cff23133fc318ec74cd81ae9c5d01c206d2a -SHA512 (webkitgtk-2.44.0.tar.xz.asc) = e4c3da75318de3e06e74f4f6fdeb24b2a6f36eb206da089c218d6b7891666b491089a7e20433889816de12bcd7359b69eb0c658dacd27a51098732ec933249f0 +SHA512 (webkitgtk-2.44.1.tar.xz) = b1752303f9ee38ef98c1e5c0cad001d389eaedbbf07d13fed8699104e6e311cb47a9bed7089868cb92c53d2777aaff441147353da13123d5c8eee4adf8709169 +SHA512 (webkitgtk-2.44.1.tar.xz.asc) = 2d2ab4a903ff3e8eeb128b2e7a182d073fc12e14d4b8f2668aaafc638f194e2fa3cf707c040f679f320636c1398dd11df2b6e2941dd3580b8032ea30b604c711 diff --git a/webkitgtk.spec b/webkitgtk.spec index c1b6ea9..84ed34e 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -11,7 +11,7 @@ %bcond_without docs Name: webkitgtk -Version: 2.44.0 +Version: 2.44.1 Release: %autorelease Summary: GTK web content engine library @@ -49,9 +49,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=271108 -Patch: i686-build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: cmake From 72634a91c29e388095aea07f280587f22533a3d1 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 14 May 2024 08:43:45 -0500 Subject: [PATCH 08/98] Update to 2.45.2 --- .gitignore | 2 ++ sources | 4 ++-- webkitgtk-keys.gpg | Bin 2816 -> 4178 bytes webkitgtk.spec | 11 ++++++++--- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index a050297..47bc23e 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,5 @@ /webkitgtk-2.43.4.tar.xz.asc /webkitgtk-2.44.0.tar.xz.asc /webkitgtk-2.44.1.tar.xz.asc +/webkitgtk-2.45.1.tar.xz.asc +/webkitgtk-2.45.2.tar.xz.asc diff --git a/sources b/sources index f6daeb0..9fcb250 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.44.1.tar.xz) = b1752303f9ee38ef98c1e5c0cad001d389eaedbbf07d13fed8699104e6e311cb47a9bed7089868cb92c53d2777aaff441147353da13123d5c8eee4adf8709169 -SHA512 (webkitgtk-2.44.1.tar.xz.asc) = 2d2ab4a903ff3e8eeb128b2e7a182d073fc12e14d4b8f2668aaafc638f194e2fa3cf707c040f679f320636c1398dd11df2b6e2941dd3580b8032ea30b604c711 +SHA512 (webkitgtk-2.45.2.tar.xz) = a662128de3345efaaa02d71d5e030f90fa20ebec736fc63fd267b16d463cc0f9fa7fc36b9ad15f5fda7d3bf0e5a019212147e2f8092302887d7807e9646c2893 +SHA512 (webkitgtk-2.45.2.tar.xz.asc) = 39ad0c0b645cec61741038cb4e2268e8b52cba33ceadd5e506fcf32d1bf7007b611fb9d8f0dc00db8af5a7a3196b78d34ae2e9903f32dedc68b4687610441a3d diff --git a/webkitgtk-keys.gpg b/webkitgtk-keys.gpg index 180e358ac0e97fa8d910e5e8c44ad83a2abba1ec..1852062e1fe3110f69dfb1614d590804949f1d1a 100644 GIT binary patch delta 2411 zcmZ|P_dgVl1IO`O+!+_4vq~ova*;jmbIPtW&q`$PL*fYGkiEGwLW#<_tgdjj>+G48 zD611985tqIkI#2JzTaQIf57|w)9dk!K#U-Xxga>i^~`y1ASa;7Gd3Fc(l&CGKMlS) z&}bB$d+%N66)o;f-6Gm7o>#X`&R3kx^t4FM6-nMgkL2fxzY^UJa zJ0*I1x`X{L;Ie!t-@v54t5N7ZnFbZ9vE-a<$H+m$BQq(Ud;()QFK#>qpzDN=%7 z&VTa0a79)<$40_*mh-4eJUgd$YR#3%lzJO51q2R8yv%gq_{7EBR>4$_Gu`^ksWe%E z-PoS(&__S6TnvHN_1@=6nY+Q%XKmawNLfx@9aei_fwEjFZ-X6{f^h10Y&zYCkrU>NmDDms&_rbEgu2O_wg* zF{t{ZLea@(;_~tok1uIEX(Cmf!tdCB&#$-Ww&N*BTeu(~QCcNI%R$>k&62xDJot1Y zi3^$}@#-#8DIdE6w-&J6#5jPt?m84jiAnrQ&00bpg}{LiHHfa4goKb12EWn@_eY%INLB;VCi^-46QE|&zyQkbOBx45e3M15DU zn4BjbKRVV`%kF;nWPU@@MVaOy)||M&bLcQmP1-|Y}Kye0d>bG%j3 zTrb0yiyy8=Lo^UlPx46S99;e6)$osA65a&NE6sf??zvs)my;fBF}vnpAu2baRC_jL zTKtlp1sBZ(<@?;iC?j9Y)7xbbNTHY$REZ!3Vp6fN6>NlnP`S-|IazpU#9e6$ljyXR;}XTtm2yQ2$UgICGm!-hODDhlk1*Rv?i_# z!PM<$i(fh|O+9PwTlHi^dY=$=cBj;Y%@k$%-ezeJ(#Sovd4i-}pkE=l}`rOteHt+Vd*nZ5%$n*K|GXd&rYS z@cU&p(MbKTIpZu?DneXqv+B_C=29@UC=yq{+0Opf2TNS4QoOU~+_am%=7Vc*JO~I` zUwBbx7#lU4ZR#(4&VyUd)GYTsH5dQE!VWd-xGVZImOU$>LA1oAO+nIlem?B=PQ0bO z$m)-v1_{W0p@jYcv)7~nUB0O>p>wNaH(Bw|UqsM1UzbC)UzI@;lPApI2bw#a*KR2N zEqW{xr(wk^%b)!(hSRCRprGgNu6rE?>KaaQtk$3 z*_Eg52 zs78S+QQ$C@)!U+T2aPe>p(DW zOyQsAB!JKmJ|HXL;=j2e{y%Tn|K-j9x^l$E2`Ee2vv||`C0tnAFShWlPX-z(ycImG z*jw}!ad#-m5v#=z8qeG|alg;Q)Mo$m`^UHK032ui%sJ#m4rynOGu2cV)>qZA&pr|! zLlZNO2+G%}Fn$#KBM(+9P!A|d3(tkP;g^3^|HoHxy9;;D-!1c|VTMa_6^_qt818dJza(Fx( zQE;NsHLK2z=rPqWgHYG;Ri2jmEj9SfWiHNkkhK11$v4_#>J`ZCTVS)|V&yG+T;0R9(h8J(L^YTinw93?(RuoH@9Y zW%tu$bkNZ>Qq#q?Y_6i79Qz&faJ&@}&m?#LGpDklrZ10kFr$l1S8M5`T&slBl3YPvTCQhN0!%EzPqNPZT}eiV)ik4r zOHJe$P{3DI!fj^InxP17e^}(M92v>Tz75EO_FGkpkH+g*ZD`FMH9-p^Udv~aUIIh^ z&ygeykk7WVNI#r(+5Kh#J6P2(G}wP{o(p*PKvMpqv2Y9iDg420w^)H@`{y=SDG0DN FLOAb=LL;RvPylQ;`|L|(dpZUqS%IO$>l3JDOA#aY|r$r3w0TL7O)GkOqV zx8~|6(iK}zA%3mhHY(--n+Le~5T8Ann~m2ENBTwYFKUcs#gm2#ZA4zWfM*2>8aU}< z0162Zk;PftI$6a8@nweJLJcZkvne zC!02mdM(F0> z8)dG6KNmLKFH7Ow8+6fo%Rs0*yljJ9!j`SKF?E1~E*6`A=0l=+pacC9H7~HR zXxPS;jyqHgvZ11O0x9Pr+MVz_s>kuq%YJ}sS2-%EnL=!1CKqc*Hj#OEWcR;wBD#;- zK9`0ob2$wI7nf9*c(@KMO1h>fjYaLk0#|V=C!4Y;DQRVSZ|r^&jd1vybQWv$vr^Z- z`Hf>Yq}*)Hn&S#|-?EwXgCUb_lMn(ce~4lP6A=OcA_W3WxI-=i8v_Ol2?z%R0tOWb z0tpHW1Qr4V0RkQY0vCV)3JDPN(<0F9MS{b-X#k+gi=M=eOW^!+W>BEH#$(w*lp|RH zpJL(QBj9KzyOMe}XbRF7Jl$0p;kf|~1WdR?E)WC&*%w>z>ot31p`h@JUyDEze{3{W z%y(p7FlXvfX((Md2ee`B$&Q4F webkitgtk-keys.gpg +# $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg BuildRequires: bison BuildRequires: bubblewrap +BuildRequires: clang BuildRequires: cmake BuildRequires: flex -BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: gi-docgen BuildRequires: git @@ -135,6 +138,7 @@ Recommends: gstreamer1-plugins-good Recommends: xdg-desktop-portal-gtk Provides: bundled(angle) Provides: bundled(pdfjs) +Provides: bundled(skia) Provides: bundled(xdgmime) Obsoletes: webkit2gtk5.0 < %{version}-%{release} @@ -154,6 +158,7 @@ Recommends: gstreamer1-plugins-good Recommends: xdg-desktop-portal-gtk Provides: bundled(angle) Provides: bundled(pdfjs) +Provides: bundled(skia) Provides: bundled(xdgmime) %description -n webkit2gtk4.1 From 98604192c5dad7f0d2a3945478429c122d8a1484 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 14 May 2024 16:44:18 -0500 Subject: [PATCH 09/98] Fix builds on i686, ppc64le, and s390x Each build failed for a different reason :( --- s390x-build.patch | 14 ++++++++++++++ webkitgtk.spec | 14 +++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 s390x-build.patch diff --git a/s390x-build.patch b/s390x-build.patch new file mode 100644 index 0000000..b4748a1 --- /dev/null +++ b/s390x-build.patch @@ -0,0 +1,14 @@ +diff --git a/Source/WTF/wtf/simde/arm/neon.h b/Source/WTF/wtf/simde/arm/neon.h +index 1ecd8cf565f1..83b2e681d976 100644 +--- a/Source/WTF/wtf/simde/arm/neon.h ++++ b/Source/WTF/wtf/simde/arm/neon.h +@@ -8785,8 +8785,7 @@ SIMDE_BEGIN_DECLS_ + defined(SIMDE_X86_AVX512FP16_NATIVE) || \ + (defined(SIMDE_ARCH_X86_SSE2) && HEDLEY_GCC_VERSION_CHECK(12,0,0)) || \ + (defined(SIMDE_ARCH_AARCH64) && HEDLEY_GCC_VERSION_CHECK(7,0,0) && !defined(__cplusplus)) || \ +- ((defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(15,0,0)) || \ +- (!(defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(6,0,0))) || \ ++ ((defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(15,0,0))) || \ + defined(SIMDE_ARCH_RISCV_ZVFH) + /* We haven't found a better way to detect this. It seems like defining + * __STDC_WANT_IEC_60559_TYPES_EXT__, then including float.h, then diff --git a/webkitgtk.spec b/webkitgtk.spec index 537d256..3eea820 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -10,8 +10,16 @@ # any warning during WebKit docs build is fatal! %bcond_without docs -# https://skia.org/docs/user/build/#supported-and-preferred-compilers +# Clang is preferred: https://skia.org/docs/user/build/#supported-and-preferred-compilers +# However, it crashes on ppc64le. +%ifnarch ppc64le %global toolchain clang +%endif + +# We run out of memory if building with LTO enabled on i686. +%ifarch %{ix86} +%global _lto_cflags %{nil} +%endif Name: webkitgtk Version: 2.45.2 @@ -52,11 +60,15 @@ 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=274086 +Patch: s390x-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang BuildRequires: cmake BuildRequires: flex +BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: gi-docgen BuildRequires: git From 337c45ada07972c8ea887265dac0a9c585ade3ea Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 25 May 2024 09:55:59 -0500 Subject: [PATCH 10/98] Add patch to fix excessive CPU usage But no build yet, because Fabio will do a new build soon for GStreamer 1.24 --- excessive-cpu-usage.patch | 53 +++++++++++++++++++++++++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 56 insertions(+) create mode 100644 excessive-cpu-usage.patch diff --git a/excessive-cpu-usage.patch b/excessive-cpu-usage.patch new file mode 100644 index 0000000..215e92e --- /dev/null +++ b/excessive-cpu-usage.patch @@ -0,0 +1,53 @@ +From c6f625d1c91df9986d79a928b01399dce4beb1cc Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Sat, 18 May 2024 08:25:37 -0500 +Subject: [PATCH] Revert "Cherry-pick 276798@main (f91aeb92bd8e). + https://bugs.webkit.org/show_bug.cgi?id=260455" + +Unreviewed. This reverts commit 30ad9a720e6b12a6c958fcef0d7dd3f52da485bd. + +See: https://bugs.webkit.org/show_bug.cgi?id=274261 +Canonical link: https://commits.webkit.org/274313.257@webkitglib/2.44 +--- + ...e-muted-scroll-and-seek-crash-expected.txt | 4 -- + ...ia-source-muted-scroll-and-seek-crash.html | 65 ------------------- + .../gstreamer/MediaPlayerPrivateGStreamer.cpp | 14 +--- + 3 files changed, 3 insertions(+), 80 deletions(-) + delete mode 100644 LayoutTests/media/media-source/media-source-muted-scroll-and-seek-crash-expected.txt + delete mode 100644 LayoutTests/media/media-source/media-source-muted-scroll-and-seek-crash.html + +diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp +index 7b28083fae71..a5fb5d679153 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp +@@ -328,8 +328,8 @@ void MediaPlayerPrivateGStreamer::load(const String& urlString) + m_fillTimer.stop(); + + ASSERT(m_pipeline); +- setPlaybinURL(url); + setVisibleInViewport(player->isVisibleInViewport()); ++ setPlaybinURL(url); + + GST_DEBUG_OBJECT(pipeline(), "preload: %s", convertEnumerationToString(m_preload).utf8().data()); + if (m_preload == MediaPlayer::Preload::None && !isMediaSource()) { +@@ -4027,18 +4027,10 @@ void MediaPlayerPrivateGStreamer::setVisibleInViewport(bool isVisible) + if (!isVisible) { + GstState currentState; + gst_element_get_state(m_pipeline.get(), ¤tState, nullptr, 0); +- // WebKitMediaSrc cannot properly handle PAUSED -> READY -> PAUSED currently, so we have to avoid transitioning +- // back to READY when the player becomes visible. +- GstState minimumState = isMediaSource() ? GST_STATE_PAUSED : GST_STATE_READY; +- if (currentState >= minimumState) ++ if (currentState > GST_STATE_NULL) + m_invisiblePlayerState = currentState; + m_isVisibleInViewport = false; +- // Avoid setting the pipeline to PAUSED unless the playbin URL has already been set, +- // otherwise it will fail, and may leave the pipeline stuck on READY with PAUSE pending. +- if (!m_url.isValid()) +- return; +- [[maybe_unused]] auto setStateResult = gst_element_set_state(m_pipeline.get(), GST_STATE_PAUSED); +- ASSERT(setStateResult != GST_STATE_CHANGE_FAILURE); ++ gst_element_set_state(m_pipeline.get(), GST_STATE_PAUSED); + } else { + m_isVisibleInViewport = true; + if (m_invisiblePlayerState != GST_STATE_VOID_PENDING) diff --git a/webkitgtk.spec b/webkitgtk.spec index 3eea820..9cb3ef4 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -63,6 +63,9 @@ Source2: webkitgtk-keys.gpg # https://bugs.webkit.org/show_bug.cgi?id=274086 Patch: s390x-build.patch +# https://bugs.webkit.org/show_bug.cgi?id=274261 +Patch: excessive-cpu-usage.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From aca76789afe6f8f51abc6fd5923c7223a270fcca Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 28 May 2024 10:57:49 -0500 Subject: [PATCH 11/98] Update to 2.45.3 --- .gitignore | 1 + excessive-cpu-usage.patch | 53 --------------------------------------- s390x-build.patch | 14 ----------- sources | 4 +-- webkitgtk.spec | 8 +----- 5 files changed, 4 insertions(+), 76 deletions(-) delete mode 100644 excessive-cpu-usage.patch delete mode 100644 s390x-build.patch diff --git a/.gitignore b/.gitignore index 47bc23e..4592a68 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /webkitgtk-2.44.1.tar.xz.asc /webkitgtk-2.45.1.tar.xz.asc /webkitgtk-2.45.2.tar.xz.asc +/webkitgtk-2.45.3.tar.xz.asc diff --git a/excessive-cpu-usage.patch b/excessive-cpu-usage.patch deleted file mode 100644 index 215e92e..0000000 --- a/excessive-cpu-usage.patch +++ /dev/null @@ -1,53 +0,0 @@ -From c6f625d1c91df9986d79a928b01399dce4beb1cc Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Sat, 18 May 2024 08:25:37 -0500 -Subject: [PATCH] Revert "Cherry-pick 276798@main (f91aeb92bd8e). - https://bugs.webkit.org/show_bug.cgi?id=260455" - -Unreviewed. This reverts commit 30ad9a720e6b12a6c958fcef0d7dd3f52da485bd. - -See: https://bugs.webkit.org/show_bug.cgi?id=274261 -Canonical link: https://commits.webkit.org/274313.257@webkitglib/2.44 ---- - ...e-muted-scroll-and-seek-crash-expected.txt | 4 -- - ...ia-source-muted-scroll-and-seek-crash.html | 65 ------------------- - .../gstreamer/MediaPlayerPrivateGStreamer.cpp | 14 +--- - 3 files changed, 3 insertions(+), 80 deletions(-) - delete mode 100644 LayoutTests/media/media-source/media-source-muted-scroll-and-seek-crash-expected.txt - delete mode 100644 LayoutTests/media/media-source/media-source-muted-scroll-and-seek-crash.html - -diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp -index 7b28083fae71..a5fb5d679153 100644 ---- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp -+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp -@@ -328,8 +328,8 @@ void MediaPlayerPrivateGStreamer::load(const String& urlString) - m_fillTimer.stop(); - - ASSERT(m_pipeline); -- setPlaybinURL(url); - setVisibleInViewport(player->isVisibleInViewport()); -+ setPlaybinURL(url); - - GST_DEBUG_OBJECT(pipeline(), "preload: %s", convertEnumerationToString(m_preload).utf8().data()); - if (m_preload == MediaPlayer::Preload::None && !isMediaSource()) { -@@ -4027,18 +4027,10 @@ void MediaPlayerPrivateGStreamer::setVisibleInViewport(bool isVisible) - if (!isVisible) { - GstState currentState; - gst_element_get_state(m_pipeline.get(), ¤tState, nullptr, 0); -- // WebKitMediaSrc cannot properly handle PAUSED -> READY -> PAUSED currently, so we have to avoid transitioning -- // back to READY when the player becomes visible. -- GstState minimumState = isMediaSource() ? GST_STATE_PAUSED : GST_STATE_READY; -- if (currentState >= minimumState) -+ if (currentState > GST_STATE_NULL) - m_invisiblePlayerState = currentState; - m_isVisibleInViewport = false; -- // Avoid setting the pipeline to PAUSED unless the playbin URL has already been set, -- // otherwise it will fail, and may leave the pipeline stuck on READY with PAUSE pending. -- if (!m_url.isValid()) -- return; -- [[maybe_unused]] auto setStateResult = gst_element_set_state(m_pipeline.get(), GST_STATE_PAUSED); -- ASSERT(setStateResult != GST_STATE_CHANGE_FAILURE); -+ gst_element_set_state(m_pipeline.get(), GST_STATE_PAUSED); - } else { - m_isVisibleInViewport = true; - if (m_invisiblePlayerState != GST_STATE_VOID_PENDING) diff --git a/s390x-build.patch b/s390x-build.patch deleted file mode 100644 index b4748a1..0000000 --- a/s390x-build.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/Source/WTF/wtf/simde/arm/neon.h b/Source/WTF/wtf/simde/arm/neon.h -index 1ecd8cf565f1..83b2e681d976 100644 ---- a/Source/WTF/wtf/simde/arm/neon.h -+++ b/Source/WTF/wtf/simde/arm/neon.h -@@ -8785,8 +8785,7 @@ SIMDE_BEGIN_DECLS_ - defined(SIMDE_X86_AVX512FP16_NATIVE) || \ - (defined(SIMDE_ARCH_X86_SSE2) && HEDLEY_GCC_VERSION_CHECK(12,0,0)) || \ - (defined(SIMDE_ARCH_AARCH64) && HEDLEY_GCC_VERSION_CHECK(7,0,0) && !defined(__cplusplus)) || \ -- ((defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(15,0,0)) || \ -- (!(defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(6,0,0))) || \ -+ ((defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(15,0,0))) || \ - defined(SIMDE_ARCH_RISCV_ZVFH) - /* We haven't found a better way to detect this. It seems like defining - * __STDC_WANT_IEC_60559_TYPES_EXT__, then including float.h, then diff --git a/sources b/sources index 9fcb250..51a8207 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.2.tar.xz) = a662128de3345efaaa02d71d5e030f90fa20ebec736fc63fd267b16d463cc0f9fa7fc36b9ad15f5fda7d3bf0e5a019212147e2f8092302887d7807e9646c2893 -SHA512 (webkitgtk-2.45.2.tar.xz.asc) = 39ad0c0b645cec61741038cb4e2268e8b52cba33ceadd5e506fcf32d1bf7007b611fb9d8f0dc00db8af5a7a3196b78d34ae2e9903f32dedc68b4687610441a3d +SHA512 (webkitgtk-2.45.3.tar.xz) = f2a5547356592bc6637e11128d8cd90f689f72cdd4f3032d1559afa77afc52ef7bf4532086a176be19e87106f56c86643a7ee6a176afc22c1df2b8a3d2a9ff67 +SHA512 (webkitgtk-2.45.3.tar.xz.asc) = e448369796918e8a438dde4cc0ac78ceba99ccd1c172863f3dd5e2f7d1e4ba67d41986d455f1fb9f4918511e63f9e7bcce53cf0aa3d66c2cf940a3d54ec4ac91 diff --git a/webkitgtk.spec b/webkitgtk.spec index 9cb3ef4..afad94e 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -22,7 +22,7 @@ %endif Name: webkitgtk -Version: 2.45.2 +Version: 2.45.3 Release: %autorelease Summary: GTK web content engine library @@ -60,12 +60,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=274086 -Patch: s390x-build.patch - -# https://bugs.webkit.org/show_bug.cgi?id=274261 -Patch: excessive-cpu-usage.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From bfa0e4c055985abdc707211f2a6a3552a36fbb8b Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 29 May 2024 06:57:46 -0500 Subject: [PATCH 12/98] Disable LTO, which is broken again Resolves: #2281612 --- webkitgtk.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index afad94e..74c2f97 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -16,10 +16,8 @@ %global toolchain clang %endif -# We run out of memory if building with LTO enabled on i686. -%ifarch %{ix86} +# https://bugzilla.redhat.com/show_bug.cgi?id=2281612 %global _lto_cflags %{nil} -%endif Name: webkitgtk Version: 2.45.3 From 8b92690ea5e20567c58ff85a3670d4f42b681b65 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 29 May 2024 16:59:07 -0500 Subject: [PATCH 13/98] Attempt to reenable LTO --- textdecorationpainter-lto-crash.patch | 40 +++++++++++++++++++++++++++ webkitgtk.spec | 7 ++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 textdecorationpainter-lto-crash.patch diff --git a/textdecorationpainter-lto-crash.patch b/textdecorationpainter-lto-crash.patch new file mode 100644 index 0000000..c22c13e --- /dev/null +++ b/textdecorationpainter-lto-crash.patch @@ -0,0 +1,40 @@ +https://bugs.webkit.org/show_bug.cgi?id=274780 + +diff --git a/Source/WebCore/rendering/TextDecorationPainter.cpp b/Source/WebCore/rendering/TextDecorationPainter.cpp +index 895c512156da..02d8f00d5aae 100644 +--- a/Source/WebCore/rendering/TextDecorationPainter.cpp ++++ b/Source/WebCore/rendering/TextDecorationPainter.cpp +@@ -128,25 +128,26 @@ static DashArray translateIntersectionPointsToSkipInkBoundaries(const DashArray& + // Step 2: Deal with intersecting ranges. + Vector> intermediateTuples; + if (tuples.size() >= 2) { +- intermediateTuples.append(*tuples.begin()); +- for (auto i = tuples.begin() + 1; i != tuples.end(); i++) { ++ intermediateTuples.append(tuples[0]); ++ for (size_t i = 1; i < tuples.size(); i++) { + float& firstEnd = intermediateTuples.last().second; +- float secondStart = i->first; +- float secondEnd = i->second; ++ float secondStart = tuples[i].first; ++ float secondEnd = tuples[i].second; + if (secondStart <= firstEnd && secondEnd <= firstEnd) { + // Ignore this range completely + } else if (secondStart <= firstEnd) + firstEnd = secondEnd; + else +- intermediateTuples.append(*i); ++ intermediateTuples.append(tuples[i]); + } + } else +- intermediateTuples = tuples; ++ intermediateTuples = WTFMove(tuples); + + // Step 3: Output the space between the ranges, but only if the space warrants an underline. + float previous = 0; + DashArray result; +- for (const auto& tuple : intermediateTuples) { ++ for (size_t i = 0; i < intermediateTuples.size(); i++) { ++ const auto& tuple = intermediateTuples[i]; + if (tuple.first - previous > dilationAmount) { + result.append(previous); + result.append(tuple.first); diff --git a/webkitgtk.spec b/webkitgtk.spec index 74c2f97..250a9f4 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -16,8 +16,10 @@ %global toolchain clang %endif -# https://bugzilla.redhat.com/show_bug.cgi?id=2281612 +# We run out of memory if building with LTO enabled on i686. +%ifarch %{ix86} %global _lto_cflags %{nil} +%endif Name: webkitgtk Version: 2.45.3 @@ -58,6 +60,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=274780#c4 +Patch: textdecorationpainter-lto-crash.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 1d0634e7b67b71dfefdea17eb709562dac720831 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 25 Jun 2024 16:23:07 -0500 Subject: [PATCH 14/98] Update to WebKitGTK 2.45.4 --- .gitignore | 1 + sources | 4 +-- textdecorationpainter-lto-crash.patch | 40 --------------------------- webkitgtk.spec | 5 +--- 4 files changed, 4 insertions(+), 46 deletions(-) delete mode 100644 textdecorationpainter-lto-crash.patch diff --git a/.gitignore b/.gitignore index 4592a68..ae963a6 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ /webkitgtk-2.45.1.tar.xz.asc /webkitgtk-2.45.2.tar.xz.asc /webkitgtk-2.45.3.tar.xz.asc +/webkitgtk-2.45.4.tar.xz.asc diff --git a/sources b/sources index 51a8207..dfbdf6e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.3.tar.xz) = f2a5547356592bc6637e11128d8cd90f689f72cdd4f3032d1559afa77afc52ef7bf4532086a176be19e87106f56c86643a7ee6a176afc22c1df2b8a3d2a9ff67 -SHA512 (webkitgtk-2.45.3.tar.xz.asc) = e448369796918e8a438dde4cc0ac78ceba99ccd1c172863f3dd5e2f7d1e4ba67d41986d455f1fb9f4918511e63f9e7bcce53cf0aa3d66c2cf940a3d54ec4ac91 +SHA512 (webkitgtk-2.45.4.tar.xz) = 96e2cc45cf33a2323797bda1dc7350cc2a82dbb1b0849ed1c9295cc02bc6d9233e3ed4aade8e4efeb19b3c1bda569bf6ae8c6e8780291493ae06ddc6513baabf +SHA512 (webkitgtk-2.45.4.tar.xz.asc) = 32f37c85ae6a1a3b80791662501c9f401637784e7a78ca7f909cd6119c9b8591716e919a86005a23422258a4130b9c5d849bae833402ffaef72bc480df6f60d2 diff --git a/textdecorationpainter-lto-crash.patch b/textdecorationpainter-lto-crash.patch deleted file mode 100644 index c22c13e..0000000 --- a/textdecorationpainter-lto-crash.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://bugs.webkit.org/show_bug.cgi?id=274780 - -diff --git a/Source/WebCore/rendering/TextDecorationPainter.cpp b/Source/WebCore/rendering/TextDecorationPainter.cpp -index 895c512156da..02d8f00d5aae 100644 ---- a/Source/WebCore/rendering/TextDecorationPainter.cpp -+++ b/Source/WebCore/rendering/TextDecorationPainter.cpp -@@ -128,25 +128,26 @@ static DashArray translateIntersectionPointsToSkipInkBoundaries(const DashArray& - // Step 2: Deal with intersecting ranges. - Vector> intermediateTuples; - if (tuples.size() >= 2) { -- intermediateTuples.append(*tuples.begin()); -- for (auto i = tuples.begin() + 1; i != tuples.end(); i++) { -+ intermediateTuples.append(tuples[0]); -+ for (size_t i = 1; i < tuples.size(); i++) { - float& firstEnd = intermediateTuples.last().second; -- float secondStart = i->first; -- float secondEnd = i->second; -+ float secondStart = tuples[i].first; -+ float secondEnd = tuples[i].second; - if (secondStart <= firstEnd && secondEnd <= firstEnd) { - // Ignore this range completely - } else if (secondStart <= firstEnd) - firstEnd = secondEnd; - else -- intermediateTuples.append(*i); -+ intermediateTuples.append(tuples[i]); - } - } else -- intermediateTuples = tuples; -+ intermediateTuples = WTFMove(tuples); - - // Step 3: Output the space between the ranges, but only if the space warrants an underline. - float previous = 0; - DashArray result; -- for (const auto& tuple : intermediateTuples) { -+ for (size_t i = 0; i < intermediateTuples.size(); i++) { -+ const auto& tuple = intermediateTuples[i]; - if (tuple.first - previous > dilationAmount) { - result.append(previous); - result.append(tuple.first); diff --git a/webkitgtk.spec b/webkitgtk.spec index 250a9f4..030cc76 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -22,7 +22,7 @@ %endif Name: webkitgtk -Version: 2.45.3 +Version: 2.45.4 Release: %autorelease Summary: GTK web content engine library @@ -60,9 +60,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=274780#c4 -Patch: textdecorationpainter-lto-crash.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 2d2a38514171f849da7aafc0dcf807380ff9cd94 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 26 Jun 2024 09:04:58 -0500 Subject: [PATCH 15/98] Restore the TextDecorationPainter crash patch --- textdecorationpainter-lto-crash.patch | 40 +++++++++++++++++++++++++++ webkitgtk.spec | 3 ++ 2 files changed, 43 insertions(+) create mode 100644 textdecorationpainter-lto-crash.patch diff --git a/textdecorationpainter-lto-crash.patch b/textdecorationpainter-lto-crash.patch new file mode 100644 index 0000000..c22c13e --- /dev/null +++ b/textdecorationpainter-lto-crash.patch @@ -0,0 +1,40 @@ +https://bugs.webkit.org/show_bug.cgi?id=274780 + +diff --git a/Source/WebCore/rendering/TextDecorationPainter.cpp b/Source/WebCore/rendering/TextDecorationPainter.cpp +index 895c512156da..02d8f00d5aae 100644 +--- a/Source/WebCore/rendering/TextDecorationPainter.cpp ++++ b/Source/WebCore/rendering/TextDecorationPainter.cpp +@@ -128,25 +128,26 @@ static DashArray translateIntersectionPointsToSkipInkBoundaries(const DashArray& + // Step 2: Deal with intersecting ranges. + Vector> intermediateTuples; + if (tuples.size() >= 2) { +- intermediateTuples.append(*tuples.begin()); +- for (auto i = tuples.begin() + 1; i != tuples.end(); i++) { ++ intermediateTuples.append(tuples[0]); ++ for (size_t i = 1; i < tuples.size(); i++) { + float& firstEnd = intermediateTuples.last().second; +- float secondStart = i->first; +- float secondEnd = i->second; ++ float secondStart = tuples[i].first; ++ float secondEnd = tuples[i].second; + if (secondStart <= firstEnd && secondEnd <= firstEnd) { + // Ignore this range completely + } else if (secondStart <= firstEnd) + firstEnd = secondEnd; + else +- intermediateTuples.append(*i); ++ intermediateTuples.append(tuples[i]); + } + } else +- intermediateTuples = tuples; ++ intermediateTuples = WTFMove(tuples); + + // Step 3: Output the space between the ranges, but only if the space warrants an underline. + float previous = 0; + DashArray result; +- for (const auto& tuple : intermediateTuples) { ++ for (size_t i = 0; i < intermediateTuples.size(); i++) { ++ const auto& tuple = intermediateTuples[i]; + if (tuple.first - previous > dilationAmount) { + result.append(previous); + result.append(tuple.first); diff --git a/webkitgtk.spec b/webkitgtk.spec index 030cc76..4865e4c 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -60,6 +60,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=274780 +Patch: textdecorationpainter-lto-crash.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 65829197f6303de07c90391da812b4e7df5d55fe Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 3 Jul 2024 15:10:15 -0500 Subject: [PATCH 16/98] Drop downstream patch and disable LTO --- textdecorationpainter-lto-crash.patch | 40 --------------------------- webkitgtk.spec | 6 +--- 2 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 textdecorationpainter-lto-crash.patch diff --git a/textdecorationpainter-lto-crash.patch b/textdecorationpainter-lto-crash.patch deleted file mode 100644 index c22c13e..0000000 --- a/textdecorationpainter-lto-crash.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://bugs.webkit.org/show_bug.cgi?id=274780 - -diff --git a/Source/WebCore/rendering/TextDecorationPainter.cpp b/Source/WebCore/rendering/TextDecorationPainter.cpp -index 895c512156da..02d8f00d5aae 100644 ---- a/Source/WebCore/rendering/TextDecorationPainter.cpp -+++ b/Source/WebCore/rendering/TextDecorationPainter.cpp -@@ -128,25 +128,26 @@ static DashArray translateIntersectionPointsToSkipInkBoundaries(const DashArray& - // Step 2: Deal with intersecting ranges. - Vector> intermediateTuples; - if (tuples.size() >= 2) { -- intermediateTuples.append(*tuples.begin()); -- for (auto i = tuples.begin() + 1; i != tuples.end(); i++) { -+ intermediateTuples.append(tuples[0]); -+ for (size_t i = 1; i < tuples.size(); i++) { - float& firstEnd = intermediateTuples.last().second; -- float secondStart = i->first; -- float secondEnd = i->second; -+ float secondStart = tuples[i].first; -+ float secondEnd = tuples[i].second; - if (secondStart <= firstEnd && secondEnd <= firstEnd) { - // Ignore this range completely - } else if (secondStart <= firstEnd) - firstEnd = secondEnd; - else -- intermediateTuples.append(*i); -+ intermediateTuples.append(tuples[i]); - } - } else -- intermediateTuples = tuples; -+ intermediateTuples = WTFMove(tuples); - - // Step 3: Output the space between the ranges, but only if the space warrants an underline. - float previous = 0; - DashArray result; -- for (const auto& tuple : intermediateTuples) { -+ for (size_t i = 0; i < intermediateTuples.size(); i++) { -+ const auto& tuple = intermediateTuples[i]; - if (tuple.first - previous > dilationAmount) { - result.append(previous); - result.append(tuple.first); diff --git a/webkitgtk.spec b/webkitgtk.spec index 4865e4c..69d0a10 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -17,9 +17,8 @@ %endif # We run out of memory if building with LTO enabled on i686. -%ifarch %{ix86} +# For other architectures, disable due to https://bugs.webkit.org/show_bug.cgi?id=274780 %global _lto_cflags %{nil} -%endif Name: webkitgtk Version: 2.45.4 @@ -60,9 +59,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=274780 -Patch: textdecorationpainter-lto-crash.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From ea3f8cbb694c056205fb185c46b0b0594823485f Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 12 Jul 2024 11:39:20 -0500 Subject: [PATCH 17/98] Update to 2.45.5 --- .gitignore | 1 + sources | 4 ++-- webkitgtk.spec | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ae963a6..95efcdd 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ /webkitgtk-2.45.2.tar.xz.asc /webkitgtk-2.45.3.tar.xz.asc /webkitgtk-2.45.4.tar.xz.asc +/webkitgtk-2.45.5.tar.xz.asc diff --git a/sources b/sources index dfbdf6e..db21fa4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.4.tar.xz) = 96e2cc45cf33a2323797bda1dc7350cc2a82dbb1b0849ed1c9295cc02bc6d9233e3ed4aade8e4efeb19b3c1bda569bf6ae8c6e8780291493ae06ddc6513baabf -SHA512 (webkitgtk-2.45.4.tar.xz.asc) = 32f37c85ae6a1a3b80791662501c9f401637784e7a78ca7f909cd6119c9b8591716e919a86005a23422258a4130b9c5d849bae833402ffaef72bc480df6f60d2 +SHA512 (webkitgtk-2.45.5.tar.xz.asc) = 083731cff10021d67208cd0d7abcfefdd7b483d65801ec5269d4fa38ae088ab567897f87542661675966636b36ab2d19cd0c65312e2655a4045319a3c6ec8bd0 +SHA512 (webkitgtk-2.45.5.tar.xz) = eeb3fd2b7203085794324ecc6819faf87e3fcaa8c271328699ec88ebc964d148aec9680ef7e2b67989349d080ef5548a5c59dc1f3bea0af0b8bb6a7c0a3da2c2 diff --git a/webkitgtk.spec b/webkitgtk.spec index 69d0a10..1ff2c4c 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -21,7 +21,7 @@ %global _lto_cflags %{nil} Name: webkitgtk -Version: 2.45.4 +Version: 2.45.5 Release: %autorelease Summary: GTK web content engine library From dd7877f95014f57f5eceb26b2460e299db044fd4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 09:13:34 +0000 Subject: [PATCH 18/98] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 44f98a0ae6fa3f60c2cbdf720cadce3e975d5745 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 29 Jul 2024 13:11:25 -0500 Subject: [PATCH 19/98] Update to 2.45.6 --- .gitignore | 1 + sources | 4 ++-- webkitgtk.spec | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 95efcdd..898ab3a 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ /webkitgtk-2.45.3.tar.xz.asc /webkitgtk-2.45.4.tar.xz.asc /webkitgtk-2.45.5.tar.xz.asc +/webkitgtk-2.45.6.tar.xz.asc diff --git a/sources b/sources index db21fa4..96c7517 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.5.tar.xz.asc) = 083731cff10021d67208cd0d7abcfefdd7b483d65801ec5269d4fa38ae088ab567897f87542661675966636b36ab2d19cd0c65312e2655a4045319a3c6ec8bd0 -SHA512 (webkitgtk-2.45.5.tar.xz) = eeb3fd2b7203085794324ecc6819faf87e3fcaa8c271328699ec88ebc964d148aec9680ef7e2b67989349d080ef5548a5c59dc1f3bea0af0b8bb6a7c0a3da2c2 +SHA512 (webkitgtk-2.45.6.tar.xz) = 4cc6cf9083ec3600fda12aab7a85e50e7efacfb2d5b3cea699c0aeb2622f0aa14b4cf8bbd8bda97fc299907eeac472433ff61670fe3d53835b070f65c3deca8f +SHA512 (webkitgtk-2.45.6.tar.xz.asc) = 48e16a66deb21ba19b6fec3fd567f275e5275bbf5166e63c50c8b3b7c2f87b8e0bda10c9e47c53ce282c545b5062ee0960876f8d9833d9a58d836996f3d8e9bd diff --git a/webkitgtk.spec b/webkitgtk.spec index 1ff2c4c..ae0378b 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -21,7 +21,7 @@ %global _lto_cflags %{nil} Name: webkitgtk -Version: 2.45.5 +Version: 2.45.6 Release: %autorelease Summary: GTK web content engine library From 3d068f5592d10c0cfb51127f4bc68b4a2a1f658c Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 15 Aug 2024 12:48:31 -0500 Subject: [PATCH 20/98] Reenable LTO --- fix-lto.patch | 34 ++++++++++++++++++++++++++++++++++ webkitgtk.spec | 6 +++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 fix-lto.patch diff --git a/fix-lto.patch b/fix-lto.patch new file mode 100644 index 0000000..bd0df23 --- /dev/null +++ b/fix-lto.patch @@ -0,0 +1,34 @@ +From 5fe26f3ba7acd5d84d5010b746ca6a4618fccc6a Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Thu, 15 Aug 2024 13:41:45 +0300 +Subject: [PATCH] [WPE][GTK] Crash in + WebCore::TextDecorationPainter::paintBackgroundDecorations when compiled with + Clang with LTO enabled https://bugs.webkit.org/show_bug.cgi?id=274780 + +Reviewed by NOBODY (OOPS!). + +Clang seem to have some issue when inlining assignment and move +operators in LTO builds, generating code that tries to perform OOB +access to Vector data. Replacing an assignmenmt with a Vector::swap(), +which is semantically equivalent in this case (the moved-from object +is not used again in the function) workarounds the compiler issue. + +* Source/WebCore/rendering/TextDecorationPainter.cpp: +(WebCore::translateIntersectionPointsToSkipInkBoundaries): +--- + Source/WebCore/rendering/TextDecorationPainter.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebCore/rendering/TextDecorationPainter.cpp b/Source/WebCore/rendering/TextDecorationPainter.cpp +index 5c4e798d7aef..6c3951145f30 100644 +--- a/Source/WebCore/rendering/TextDecorationPainter.cpp ++++ b/Source/WebCore/rendering/TextDecorationPainter.cpp +@@ -141,7 +141,7 @@ static DashArray translateIntersectionPointsToSkipInkBoundaries(const DashArray& + intermediateTuples.append(*i); + } + } else +- intermediateTuples = tuples; ++ intermediateTuples.swap(tuples); + + // Step 3: Output the space between the ranges, but only if the space warrants an underline. + float previous = 0; diff --git a/webkitgtk.spec b/webkitgtk.spec index ae0378b..e6facbb 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -17,8 +17,9 @@ %endif # We run out of memory if building with LTO enabled on i686. -# For other architectures, disable due to https://bugs.webkit.org/show_bug.cgi?id=274780 +%ifarch %{ix86} %global _lto_cflags %{nil} +%endif Name: webkitgtk Version: 2.45.6 @@ -59,6 +60,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://github.com/WebKit/WebKit/pull/32240 +Patch0: fix-lto.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 7f54c2a997f5ee730336516f7fe649b2f9fd34bb Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 19 Aug 2024 15:02:52 -0500 Subject: [PATCH 21/98] Update to 2.45.90 --- .gitignore | 1 + fix-lto.patch | 34 ---------------------------------- sources | 4 ++-- webkitgtk.spec | 5 +---- 4 files changed, 4 insertions(+), 40 deletions(-) delete mode 100644 fix-lto.patch diff --git a/.gitignore b/.gitignore index 898ab3a..4fc6c16 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ /webkitgtk-2.45.4.tar.xz.asc /webkitgtk-2.45.5.tar.xz.asc /webkitgtk-2.45.6.tar.xz.asc +/webkitgtk-2.45.90.tar.xz.asc diff --git a/fix-lto.patch b/fix-lto.patch deleted file mode 100644 index bd0df23..0000000 --- a/fix-lto.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5fe26f3ba7acd5d84d5010b746ca6a4618fccc6a Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Thu, 15 Aug 2024 13:41:45 +0300 -Subject: [PATCH] [WPE][GTK] Crash in - WebCore::TextDecorationPainter::paintBackgroundDecorations when compiled with - Clang with LTO enabled https://bugs.webkit.org/show_bug.cgi?id=274780 - -Reviewed by NOBODY (OOPS!). - -Clang seem to have some issue when inlining assignment and move -operators in LTO builds, generating code that tries to perform OOB -access to Vector data. Replacing an assignmenmt with a Vector::swap(), -which is semantically equivalent in this case (the moved-from object -is not used again in the function) workarounds the compiler issue. - -* Source/WebCore/rendering/TextDecorationPainter.cpp: -(WebCore::translateIntersectionPointsToSkipInkBoundaries): ---- - Source/WebCore/rendering/TextDecorationPainter.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WebCore/rendering/TextDecorationPainter.cpp b/Source/WebCore/rendering/TextDecorationPainter.cpp -index 5c4e798d7aef..6c3951145f30 100644 ---- a/Source/WebCore/rendering/TextDecorationPainter.cpp -+++ b/Source/WebCore/rendering/TextDecorationPainter.cpp -@@ -141,7 +141,7 @@ static DashArray translateIntersectionPointsToSkipInkBoundaries(const DashArray& - intermediateTuples.append(*i); - } - } else -- intermediateTuples = tuples; -+ intermediateTuples.swap(tuples); - - // Step 3: Output the space between the ranges, but only if the space warrants an underline. - float previous = 0; diff --git a/sources b/sources index 96c7517..4ecd25a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.6.tar.xz) = 4cc6cf9083ec3600fda12aab7a85e50e7efacfb2d5b3cea699c0aeb2622f0aa14b4cf8bbd8bda97fc299907eeac472433ff61670fe3d53835b070f65c3deca8f -SHA512 (webkitgtk-2.45.6.tar.xz.asc) = 48e16a66deb21ba19b6fec3fd567f275e5275bbf5166e63c50c8b3b7c2f87b8e0bda10c9e47c53ce282c545b5062ee0960876f8d9833d9a58d836996f3d8e9bd +SHA512 (webkitgtk-2.45.90.tar.xz) = 292ae001d4db73f25bef8c6d34e8eec696292736a64eb66ae8d10bda1100b3f21085864ac58d1fbad33f20abae2be7e155b9bd3434586645fe7cfe2424d7bccf +SHA512 (webkitgtk-2.45.90.tar.xz.asc) = 32eff945d3047dafd0c434e0cc9dd4d6159c9c6e4b0247be7503fa5068248d9153d0619cd4093bfcd7280e95a678211e251173de6e0b6d924ed9652813d1807a diff --git a/webkitgtk.spec b/webkitgtk.spec index e6facbb..56c3ca7 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -22,7 +22,7 @@ %endif Name: webkitgtk -Version: 2.45.6 +Version: 2.45.90 Release: %autorelease Summary: GTK web content engine library @@ -60,9 +60,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/pull/32240 -Patch0: fix-lto.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 2a0e6c39ec110395ad0f50db53e7012533141bea Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 26 Aug 2024 12:16:54 -0500 Subject: [PATCH 22/98] Update to 2.45.91 --- .gitignore | 1 + sources | 4 ++-- webkitgtk.spec | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4fc6c16..4631608 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ /webkitgtk-2.45.5.tar.xz.asc /webkitgtk-2.45.6.tar.xz.asc /webkitgtk-2.45.90.tar.xz.asc +/webkitgtk-2.45.91.tar.xz.asc diff --git a/sources b/sources index 4ecd25a..f7b3210 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.90.tar.xz) = 292ae001d4db73f25bef8c6d34e8eec696292736a64eb66ae8d10bda1100b3f21085864ac58d1fbad33f20abae2be7e155b9bd3434586645fe7cfe2424d7bccf -SHA512 (webkitgtk-2.45.90.tar.xz.asc) = 32eff945d3047dafd0c434e0cc9dd4d6159c9c6e4b0247be7503fa5068248d9153d0619cd4093bfcd7280e95a678211e251173de6e0b6d924ed9652813d1807a +SHA512 (webkitgtk-2.45.91.tar.xz) = 670628b08028bb2bbf6d33534de3832998009ec0146d2dd7f0693953042145d01f120c8e0611fd6d47aed61416eae36de810c81aa2652eeee2d3517b03ea5d50 +SHA512 (webkitgtk-2.45.91.tar.xz.asc) = 78e2eecf3aaa2cbdf626708a68ce47fe209e69c63dfbc8d7701a6dd0e2f1c36be78b9f185ca705e9402d23ef3ef98843eeac4a34588bfdc596d4dfcd3171b022 diff --git a/webkitgtk.spec b/webkitgtk.spec index 56c3ca7..c0235ec 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -22,7 +22,7 @@ %endif Name: webkitgtk -Version: 2.45.90 +Version: 2.45.91 Release: %autorelease Summary: GTK web content engine library From 535cf00bbfb67ae160d4eef8a4fd7634e0021f84 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 3 Sep 2024 12:07:58 -0500 Subject: [PATCH 23/98] Update to 2.45.92 --- .gitignore | 1 + sources | 4 ++-- webkitgtk.spec | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4631608..b546574 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ /webkitgtk-2.45.6.tar.xz.asc /webkitgtk-2.45.90.tar.xz.asc /webkitgtk-2.45.91.tar.xz.asc +/webkitgtk-2.45.92.tar.xz.asc diff --git a/sources b/sources index f7b3210..ae19551 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.91.tar.xz) = 670628b08028bb2bbf6d33534de3832998009ec0146d2dd7f0693953042145d01f120c8e0611fd6d47aed61416eae36de810c81aa2652eeee2d3517b03ea5d50 -SHA512 (webkitgtk-2.45.91.tar.xz.asc) = 78e2eecf3aaa2cbdf626708a68ce47fe209e69c63dfbc8d7701a6dd0e2f1c36be78b9f185ca705e9402d23ef3ef98843eeac4a34588bfdc596d4dfcd3171b022 +SHA512 (webkitgtk-2.45.92.tar.xz) = ccb06c7dfb4827afcfc558756700a9b2d484749e746ea86145b91759ca97d87910c230d6b23993ad250f83a8c532b74ace022aab0773f64b045d68879e9734a7 +SHA512 (webkitgtk-2.45.92.tar.xz.asc) = 558b011740f02f78316a668bbe873f82620d2272eccc361874b742e950e76534a5f46c3eea8a41987c140756189b072ad9b3d493775a68bca92e3e9ba70bb028 diff --git a/webkitgtk.spec b/webkitgtk.spec index c0235ec..5d46fbf 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -22,7 +22,7 @@ %endif Name: webkitgtk -Version: 2.45.91 +Version: 2.45.92 Release: %autorelease Summary: GTK web content engine library From 24e021e1026ccbb85e03e6f5ebb86aa72c0678bb Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 4 Sep 2024 14:14:49 -0500 Subject: [PATCH 24/98] Disable LTO on ppc64le --- webkitgtk.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index 5d46fbf..28d2da6 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -17,7 +17,9 @@ %endif # We run out of memory if building with LTO enabled on i686. -%ifarch %{ix86} +# Then on ppc64le we hit this error: +# lto-wrapper: fatal error: Too many copied sections: Operation not supported +%ifarch %{ix86} ppc64le %global _lto_cflags %{nil} %endif From 0c4f7535d1b9f83477ce7ac7a185997b98529774 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 9 Sep 2024 10:04:01 -0500 Subject: [PATCH 25/98] Revert use of -fdebug-types-section flag This fails to build on ppc64le. https://bugzilla.redhat.com/show_bug.cgi?id=2310828 --- debug-types-section.patch | 16 ++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 19 insertions(+) create mode 100644 debug-types-section.patch diff --git a/debug-types-section.patch b/debug-types-section.patch new file mode 100644 index 0000000..dcc2965 --- /dev/null +++ b/debug-types-section.patch @@ -0,0 +1,16 @@ +diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake +index b84d6fa3eed44..8c91752f4f09d 100644 +--- a/Source/cmake/WebKitCompilerFlags.cmake ++++ b/Source/cmake/WebKitCompilerFlags.cmake +@@ -139,11 +139,6 @@ endif () + if (COMPILER_IS_GCC_OR_CLANG) + WEBKIT_APPEND_GLOBAL_COMPILER_FLAGS(-fno-strict-aliasing) + +- # Split debug information in ".debug_types" / ".debug_info" sections - this leads +- # to a smaller overall size of the debug information, and avoids linker relocation +- # errors on e.g. aarch64 (relocation R_AARCH64_ABS32 out of range: 4312197985 is not in [-2147483648, 4294967295]) +- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-fdebug-types-section) +- + # clang-cl.exe impersonates cl.exe so some clang arguments like -fno-rtti are + # represented using cl.exe's options and should not be passed as flags, so + # we do not add -fno-rtti or -fno-exceptions for clang-cl diff --git a/webkitgtk.spec b/webkitgtk.spec index 28d2da6..cde8022 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -62,6 +62,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://bugzilla.redhat.com/show_bug.cgi?id=2310828 +Patch: debug-types-section.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 9bc4c62d44e643b16f02d12a94a55ede07dd1559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 12 Sep 2024 11:26:27 +0000 Subject: [PATCH 26/98] enable build with clang on ppc64le Add a workaround for missing musttail implementation in clang on ppc64le to unblock building with clang. --- debug-types-section.patch | 16 ------------ webkitgtk-skia-musttail.patch | 49 +++++++++++++++++++++++++++++++++++ webkitgtk.spec | 12 +++------ 3 files changed, 53 insertions(+), 24 deletions(-) delete mode 100644 debug-types-section.patch create mode 100644 webkitgtk-skia-musttail.patch diff --git a/debug-types-section.patch b/debug-types-section.patch deleted file mode 100644 index dcc2965..0000000 --- a/debug-types-section.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake -index b84d6fa3eed44..8c91752f4f09d 100644 ---- a/Source/cmake/WebKitCompilerFlags.cmake -+++ b/Source/cmake/WebKitCompilerFlags.cmake -@@ -139,11 +139,6 @@ endif () - if (COMPILER_IS_GCC_OR_CLANG) - WEBKIT_APPEND_GLOBAL_COMPILER_FLAGS(-fno-strict-aliasing) - -- # Split debug information in ".debug_types" / ".debug_info" sections - this leads -- # to a smaller overall size of the debug information, and avoids linker relocation -- # errors on e.g. aarch64 (relocation R_AARCH64_ABS32 out of range: 4312197985 is not in [-2147483648, 4294967295]) -- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-fdebug-types-section) -- - # clang-cl.exe impersonates cl.exe so some clang arguments like -fno-rtti are - # represented using cl.exe's options and should not be passed as flags, so - # we do not add -fno-rtti or -fno-exceptions for clang-cl diff --git a/webkitgtk-skia-musttail.patch b/webkitgtk-skia-musttail.patch new file mode 100644 index 0000000..f480d14 --- /dev/null +++ b/webkitgtk-skia-musttail.patch @@ -0,0 +1,49 @@ +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig 2024-09-12 08:22:24.667260964 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h 2024-09-12 08:22:46.616832364 +0000 +@@ -69,6 +69,10 @@ + #define SK_CPU_LOONGARCH 1 + #endif + ++#if defined(__powerpc__) || defined (__powerpc64__) ++ #define SK_CPU_PPC 1 ++#endif ++ + /** + * SK_CPU_SSE_LEVEL + * +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h.orig 2024-09-12 08:16:25.444163366 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h 2024-09-12 08:16:43.603797893 +0000 +@@ -27,7 +27,7 @@ struct SkImageInfo; + struct skcms_TransferFunction; + + #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \ +- !defined(SK_CPU_LOONGARCH) ++ !defined(SK_CPU_LOONGARCH) && !defined(SK_CPU_PPC) + #define SK_HAS_MUSTTAIL 1 + #else + #define SK_HAS_MUSTTAIL 0 +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig 2024-09-12 08:49:09.985808211 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h 2024-09-12 08:49:19.835612828 +0000 +@@ -48,6 +48,7 @@ extern "C" { + && !defined(__arm__) \ + && !defined(__riscv) \ + && !defined(__loongarch__) \ ++ && !defined(__powerpc__) \ + && !defined(_WIN32) && !defined(__SYMBIAN32__) + #define SKCMS_HAS_MUSTTAIL 1 + #endif +diff -up webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h.orig webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h +--- webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h.orig 2024-09-12 09:14:10.775885415 +0000 ++++ webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h 2024-09-12 09:15:27.264379291 +0000 +@@ -271,7 +271,7 @@ + /* MUST_TAIL_CALL */ + + #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) +-#if __has_cpp_attribute(clang::musttail) ++#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) + #define MUST_TAIL_CALL [[clang::musttail]] + #endif + #endif diff --git a/webkitgtk.spec b/webkitgtk.spec index cde8022..b4d5a04 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -11,15 +11,10 @@ %bcond_without docs # Clang is preferred: https://skia.org/docs/user/build/#supported-and-preferred-compilers -# However, it crashes on ppc64le. -%ifnarch ppc64le %global toolchain clang -%endif # We run out of memory if building with LTO enabled on i686. -# Then on ppc64le we hit this error: -# lto-wrapper: fatal error: Too many copied sections: Operation not supported -%ifarch %{ix86} ppc64le +%ifarch %{ix86} %global _lto_cflags %{nil} %endif @@ -62,8 +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://bugzilla.redhat.com/show_bug.cgi?id=2310828 -Patch: debug-types-section.patch +# Work around a missing implementation of musttail in clang for ppc64le +# https://github.com/llvm/llvm-project/issues/108014 +Patch: webkitgtk-skia-musttail.patch BuildRequires: bison BuildRequires: bubblewrap From dc14ad6a0ec91a701377ff715ef415f74175cd50 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 17 Sep 2024 14:51:54 -0500 Subject: [PATCH 27/98] Upgrade to 2.46.0 --- .gitignore | 1 + sources | 4 ++-- webkitgtk.spec | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b546574..d72ee95 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /webkitgtk-2.45.90.tar.xz.asc /webkitgtk-2.45.91.tar.xz.asc /webkitgtk-2.45.92.tar.xz.asc +/webkitgtk-2.46.0.tar.xz.asc diff --git a/sources b/sources index ae19551..87db38b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.92.tar.xz) = ccb06c7dfb4827afcfc558756700a9b2d484749e746ea86145b91759ca97d87910c230d6b23993ad250f83a8c532b74ace022aab0773f64b045d68879e9734a7 -SHA512 (webkitgtk-2.45.92.tar.xz.asc) = 558b011740f02f78316a668bbe873f82620d2272eccc361874b742e950e76534a5f46c3eea8a41987c140756189b072ad9b3d493775a68bca92e3e9ba70bb028 +SHA512 (webkitgtk-2.46.0.tar.xz) = bdb6b9acd418d1eb45a7b7d2618bd6562798cce9147d3ae794d9f868956a2dddace5676592ababaa7da5bd38b29dbdeff1a8e092c4611cfb123a62e83c2cf9ae +SHA512 (webkitgtk-2.46.0.tar.xz.asc) = ad87727cae042cf8f5a41d92ae2fad38207417db8cdbfccc73ab4176be68480813bd54a0aacd2bc9309e9eeff4f1e413c217c5f5e08cf9363e763a4e94ab6c40 diff --git a/webkitgtk.spec b/webkitgtk.spec index b4d5a04..b41252e 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.45.92 +Version: 2.46.0 Release: %autorelease Summary: GTK web content engine library From 70665b9a1b5227b3be2df423945db8ea63391159 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 17 Sep 2024 15:51:57 -0500 Subject: [PATCH 28/98] Remove unused GCC build dep --- webkitgtk.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index b41252e..a211f56 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -66,7 +66,6 @@ BuildRequires: bubblewrap BuildRequires: clang BuildRequires: cmake BuildRequires: flex -BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: gi-docgen BuildRequires: git From cb9c9e2943a758857e5f538e1fdb79afe1dbcf8e Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 17 Sep 2024 15:53:59 -0500 Subject: [PATCH 29/98] Update .gitignore This is an experiment. Will fedpkg allow this to remain simple? --- .gitignore | 45 +-------------------------------------------- 1 file changed, 1 insertion(+), 44 deletions(-) diff --git a/.gitignore b/.gitignore index d72ee95..3f6d409 100644 --- a/.gitignore +++ b/.gitignore @@ -1,45 +1,2 @@ /webkitgtk-*.tar.xz -/webkitgtk-2.37.1.tar.xz.asc -/webkitgtk-2.37.90.tar.xz.asc -/webkitgtk-2.37.91.tar.xz.asc -/webkitgtk-2.38.0.tar.xz.asc -/webkitgtk-2.38.1.tar.xz.asc -/webkitgtk-2.38.2.tar.xz.asc -/webkitgtk-2.39.1.tar.xz.asc -/webkitgtk-2.39.2.tar.xz.asc -/webkitgtk-2.39.3.tar.xz.asc -/webkitgtk-2.39.4.tar.xz.asc -/webkitgtk-2.39.5.tar.xz.asc -/webkitgtk-2.39.6.tar.xz.asc -/webkitgtk-2.39.7.tar.xz.asc -/webkitgtk-2.39.90.tar.xz.asc -/webkitgtk-2.39.91.tar.xz.asc -/webkitgtk-2.40.0.tar.xz.asc -/webkitgtk-2.41.1.tar.xz.asc -/webkitgtk-2.41.2.tar.xz.asc -/webkitgtk-2.41.3.tar.xz.asc -/webkitgtk-2.41.4.tar.xz.asc -/webkitgtk-2.41.5.tar.xz.asc -/webkitgtk-2.41.6.tar.xz.asc -/webkitgtk-2.41.90.tar.xz.asc -/webkitgtk-2.41.91.tar.xz.asc -/webkitgtk-2.41.92.tar.xz.asc -/webkitgtk-2.42.0.tar.xz.asc -/webkitgtk-2.42.1.tar.xz.asc -/webkitgtk-2.42.2.tar.xz.asc -/webkitgtk-2.43.1.tar.xz.asc -/webkitgtk-2.43.2.tar.xz.asc -/webkitgtk-2.43.3.tar.xz.asc -/webkitgtk-2.43.4.tar.xz.asc -/webkitgtk-2.44.0.tar.xz.asc -/webkitgtk-2.44.1.tar.xz.asc -/webkitgtk-2.45.1.tar.xz.asc -/webkitgtk-2.45.2.tar.xz.asc -/webkitgtk-2.45.3.tar.xz.asc -/webkitgtk-2.45.4.tar.xz.asc -/webkitgtk-2.45.5.tar.xz.asc -/webkitgtk-2.45.6.tar.xz.asc -/webkitgtk-2.45.90.tar.xz.asc -/webkitgtk-2.45.91.tar.xz.asc -/webkitgtk-2.45.92.tar.xz.asc -/webkitgtk-2.46.0.tar.xz.asc +/webkitgtk-*.tar.xz.asc From e67beaa132b25ad10fb361784c8ac43a8fa0e6f3 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 18 Sep 2024 10:48:17 -0500 Subject: [PATCH 30/98] Add missing BuildRequires Because explicit is better than implicit --- webkitgtk.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk.spec b/webkitgtk.spec index a211f56..134b3ff 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -121,6 +121,7 @@ BuildRequires: pkgconfig(libwoff2dec) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(manette-0.2) BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(sysprof-capture-4) BuildRequires: pkgconfig(upower-glib) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-egl) From 3de6cb0f07695ae4faa3cf56d4777865bfd4f745 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 30 Sep 2024 15:47:06 -0500 Subject: [PATCH 31/98] Update to 2.46.1 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 87db38b..1c0d823 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.46.0.tar.xz) = bdb6b9acd418d1eb45a7b7d2618bd6562798cce9147d3ae794d9f868956a2dddace5676592ababaa7da5bd38b29dbdeff1a8e092c4611cfb123a62e83c2cf9ae -SHA512 (webkitgtk-2.46.0.tar.xz.asc) = ad87727cae042cf8f5a41d92ae2fad38207417db8cdbfccc73ab4176be68480813bd54a0aacd2bc9309e9eeff4f1e413c217c5f5e08cf9363e763a4e94ab6c40 +SHA512 (webkitgtk-2.46.1.tar.xz) = e1ac92305b1d1b034eea9be6aa22cfa260249562fa0af41f0ed5c76a36916bba432073e033f228978d84d0377f245642ff31cdec324565e83aa8c82d8ea0c1f5 +SHA512 (webkitgtk-2.46.1.tar.xz.asc) = a86b2f0d8dce366edeb15f64fd758a383e083224ecd98e3cc9635b590087444929f242ce83471611cb0cbda3227659758121aea46db34a8a3173f0c2f34243c9 diff --git a/webkitgtk.spec b/webkitgtk.spec index 134b3ff..bb08f6f 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.46.0 +Version: 2.46.1 Release: %autorelease Summary: GTK web content engine library From f0d252c34ad0541573b50355c120d8b25d0c08b3 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 1 Oct 2024 11:47:27 -0500 Subject: [PATCH 32/98] Add patch to fix build with LLVM 19 --- llvm19.patch | 200 +++++++++++++++++++++++++++++++++++++++++++++++++ webkitgtk.spec | 3 + 2 files changed, 203 insertions(+) create mode 100644 llvm19.patch diff --git a/llvm19.patch b/llvm19.patch new file mode 100644 index 0000000..86aef9c --- /dev/null +++ b/llvm19.patch @@ -0,0 +1,200 @@ +From 762e2cc7f1ff4e9e2834ecc7b7aaa4c933d06e5b Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Tue, 1 Oct 2024 11:43:31 -0500 +Subject: [PATCH] Cherry-pick db9c6a9f5548. + https://bugs.webkit.org/show_bug.cgi?id=276633 + +Build broken with LLVM 19 +https://bugs.webkit.org/show_bug.cgi?id=280642 + +Reviewed by NOBODY (OOPS!). + +We need to replace several forward declarations with #include +statements to avoid "member access into incomplete type" errors. This +has revealed that many SVG headers are missing from the framework +headers and so are not available to derived sources. I don't attempt to +fix this comprehensively; this is just the minimum required to fix the +build. + +* Source/WebCore/CMakeLists.txt: +* Source/WebCore/Headers.cmake: +* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h: +--- + Source/WebCore/CMakeLists.txt | 2 + + Source/WebCore/Headers.cmake | 64 +++++++++++++++++++ + .../Modules/webcodecs/WebCodecsVideoFrame.h | 12 ++-- + 3 files changed, 72 insertions(+), 6 deletions(-) + +diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt +index beca51b714ec..d3b6ff21c7ae 100644 +--- a/Source/WebCore/CMakeLists.txt ++++ b/Source/WebCore/CMakeLists.txt +@@ -2855,6 +2855,8 @@ WEBKIT_COMPUTE_SOURCES(WebCore) + target_precompile_headers(WebCore PRIVATE WebCorePrefix.h) + + list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS ++ ${WebCore_DERIVED_SOURCES_DIR}/SVGNames.h ++ + Modules/WebGPU/InternalAPI/WebGPU.serialization.in + + Modules/indexeddb/IndexedDB.serialization.in +diff --git a/Source/WebCore/Headers.cmake b/Source/WebCore/Headers.cmake +index cfe691a05770..e6ddf2d9cff2 100644 +--- a/Source/WebCore/Headers.cmake ++++ b/Source/WebCore/Headers.cmake +@@ -846,6 +846,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS + css/CSSFontPaletteValuesRule.h + css/CSSGridIntegerRepeatValue.h + css/CSSGroupingRule.h ++ css/CSSImageValue.h + css/CSSImportRule.h + css/CSSLineBoxContainValue.h + css/CSSMediaRule.h +@@ -873,6 +874,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS + css/CSSVariableData.h + css/CSSVariableReferenceValue.h + css/Counter.h ++ css/DOMMatrix2DInit.h + css/DeprecatedCSSOMCounter.h + css/DeprecatedCSSOMPrimitiveValue.h + css/DeprecatedCSSOMRGBColor.h +@@ -925,6 +927,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS + + css/typedom/CSSKeywordValue.h + css/typedom/CSSNumericValue.h ++ css/typedom/CSSStyleImageValue.h + css/typedom/CSSStyleValue.h + + css/typedom/numeric/CSSNumericBaseType.h +@@ -2539,17 +2542,41 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS + style/StyleValidity.h + style/Styleable.h + ++ svg/SVGAngle.h ++ svg/SVGAngleValue.h + svg/SVGElement.h ++ svg/SVGGraphicsElement.h ++ svg/SVGImageElement.h ++ svg/SVGImageLoader.h ++ svg/SVGLength.h + svg/SVGLengthContext.h ++ svg/SVGLengthList.h + svg/SVGLengthValue.h ++ svg/SVGLocatable.h ++ svg/SVGMarkerTypes.h ++ svg/SVGMatrix.h ++ svg/SVGNumber.h ++ svg/SVGNumberList.h + svg/SVGParserUtilities.h + svg/SVGParsingError.h + svg/SVGPathByteStream.h + svg/SVGPathConsumer.h ++ svg/SVGPathSeg.h ++ svg/SVGPathSegList.h + svg/SVGPathUtilities.h ++ svg/SVGPoint.h ++ svg/SVGPointList.h ++ svg/SVGPreserveAspectRatio.h + svg/SVGPreserveAspectRatioValue.h ++ svg/SVGRect.h + svg/SVGStringList.h + svg/SVGTests.h ++ svg/SVGTransform.h ++ svg/SVGTransformDistance.h ++ svg/SVGTransformList.h ++ svg/SVGTransformValue.h ++ svg/SVGTransformable.h ++ svg/SVGURIReference.h + svg/SVGUnitTypes.h + + svg/graphics/SVGImageCache.h +@@ -2557,11 +2584,48 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS + svg/graphics/filters/SVGFilter.h + svg/graphics/filters/SVGFilterExpression.h + ++ svg/properties/SVGAnimatedDecoratedProperty.h ++ svg/properties/SVGAnimatedPrimitiveProperty.h ++ svg/properties/SVGAnimatedProperty.h ++ svg/properties/SVGAnimatedPropertyAccessor.h ++ svg/properties/SVGAnimatedPropertyAccessorImpl.h ++ svg/properties/SVGAnimatedPropertyAnimator.h ++ svg/properties/SVGAnimatedPropertyAnimatorImpl.h ++ svg/properties/SVGAnimatedPropertyImpl.h ++ svg/properties/SVGAnimatedPropertyList.h ++ svg/properties/SVGAnimatedPropertyPairAccessor.h ++ svg/properties/SVGAnimatedPropertyPairAccessorImpl.h ++ svg/properties/SVGAnimatedPropertyPairAnimator.h ++ svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h ++ svg/properties/SVGAnimatedString.h ++ svg/properties/SVGAnimatedValueProperty.h ++ svg/properties/SVGAnimationAdditiveFunction.h ++ svg/properties/SVGAnimationAdditiveListFunction.h ++ svg/properties/SVGAnimationAdditiveListFunctionImpl.h ++ svg/properties/SVGAnimationAdditiveValueFunction.h ++ svg/properties/SVGAnimationAdditiveValueFunctionImpl.h ++ svg/properties/SVGAnimationDiscreteFunction.h ++ svg/properties/SVGAnimationDiscreteFunctionImpl.h ++ svg/properties/SVGAnimationFunction.h ++ svg/properties/SVGAttributeAnimator.h ++ svg/properties/SVGDecoratedEnumeration.h ++ svg/properties/SVGDecoratedPrimitive.h ++ svg/properties/SVGDecoratedProperty.h + svg/properties/SVGList.h ++ svg/properties/SVGMemberAccessor.h ++ svg/properties/SVGPointerMemberAccessor.h + svg/properties/SVGPrimitiveList.h + svg/properties/SVGProperty.h ++ svg/properties/SVGPropertyAccessor.h ++ svg/properties/SVGPropertyAccessorImpl.h ++ svg/properties/SVGPropertyList.h + svg/properties/SVGPropertyOwner.h ++ svg/properties/SVGPropertyOwnerRegistry.h ++ svg/properties/SVGPropertyRegistry.h + svg/properties/SVGPropertyTraits.h ++ svg/properties/SVGSharedPrimitiveProperty.h ++ svg/properties/SVGValueProperty.h ++ svg/properties/SVGValuePropertyList.h + + testing/MockGamepad.h + testing/MockGamepadProvider.h +diff --git a/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h b/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h +index 286a2a32a0a3..03b5908976f8 100644 +--- a/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h ++++ b/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h +@@ -27,10 +27,16 @@ + + #if ENABLE(WEB_CODECS) + ++#include "CSSStyleImageValue.h" + #include "ContextDestructionObserver.h" + #include "DOMRectReadOnly.h" ++#include "HTMLCanvasElement.h" ++#include "HTMLImageElement.h" ++#include "HTMLVideoElement.h" + #include "JSDOMPromiseDeferredForward.h" ++#include "OffscreenCanvas.h" + #include "PlaneLayout.h" ++#include "SVGImageElement.h" + #include "VideoColorSpaceInit.h" + #include "WebCodecsAlphaOption.h" + #include "WebCodecsVideoFrameData.h" +@@ -38,16 +44,10 @@ + namespace WebCore { + + class BufferSource; +-class CSSStyleImageValue; + class DOMRectReadOnly; +-class HTMLCanvasElement; +-class HTMLImageElement; +-class HTMLVideoElement; + class ImageBitmap; + class ImageBuffer; + class NativeImage; +-class OffscreenCanvas; +-class SVGImageElement; + class VideoColorSpace; + + template class ExceptionOr; +-- +2.46.2 + diff --git a/webkitgtk.spec b/webkitgtk.spec index bb08f6f..e997196 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -61,6 +61,9 @@ Source2: webkitgtk-keys.gpg # https://github.com/llvm/llvm-project/issues/108014 Patch: webkitgtk-skia-musttail.patch +# https://bugs.webkit.org/show_bug.cgi?id=280642 +Patch: llvm19.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 4037c02354c25db5b0fa80b4712db7ea0423111b Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 21 Oct 2024 13:45:45 -0500 Subject: [PATCH 33/98] Update to 2.46.2 --- llvm19.patch | 200 ---------------------------------- sources | 4 +- webkitgtk-skia-musttail.patch | 49 --------- webkitgtk.spec | 9 +- 4 files changed, 3 insertions(+), 259 deletions(-) delete mode 100644 llvm19.patch delete mode 100644 webkitgtk-skia-musttail.patch diff --git a/llvm19.patch b/llvm19.patch deleted file mode 100644 index 86aef9c..0000000 --- a/llvm19.patch +++ /dev/null @@ -1,200 +0,0 @@ -From 762e2cc7f1ff4e9e2834ecc7b7aaa4c933d06e5b Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Tue, 1 Oct 2024 11:43:31 -0500 -Subject: [PATCH] Cherry-pick db9c6a9f5548. - https://bugs.webkit.org/show_bug.cgi?id=276633 - -Build broken with LLVM 19 -https://bugs.webkit.org/show_bug.cgi?id=280642 - -Reviewed by NOBODY (OOPS!). - -We need to replace several forward declarations with #include -statements to avoid "member access into incomplete type" errors. This -has revealed that many SVG headers are missing from the framework -headers and so are not available to derived sources. I don't attempt to -fix this comprehensively; this is just the minimum required to fix the -build. - -* Source/WebCore/CMakeLists.txt: -* Source/WebCore/Headers.cmake: -* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h: ---- - Source/WebCore/CMakeLists.txt | 2 + - Source/WebCore/Headers.cmake | 64 +++++++++++++++++++ - .../Modules/webcodecs/WebCodecsVideoFrame.h | 12 ++-- - 3 files changed, 72 insertions(+), 6 deletions(-) - -diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt -index beca51b714ec..d3b6ff21c7ae 100644 ---- a/Source/WebCore/CMakeLists.txt -+++ b/Source/WebCore/CMakeLists.txt -@@ -2855,6 +2855,8 @@ WEBKIT_COMPUTE_SOURCES(WebCore) - target_precompile_headers(WebCore PRIVATE WebCorePrefix.h) - - list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS -+ ${WebCore_DERIVED_SOURCES_DIR}/SVGNames.h -+ - Modules/WebGPU/InternalAPI/WebGPU.serialization.in - - Modules/indexeddb/IndexedDB.serialization.in -diff --git a/Source/WebCore/Headers.cmake b/Source/WebCore/Headers.cmake -index cfe691a05770..e6ddf2d9cff2 100644 ---- a/Source/WebCore/Headers.cmake -+++ b/Source/WebCore/Headers.cmake -@@ -846,6 +846,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS - css/CSSFontPaletteValuesRule.h - css/CSSGridIntegerRepeatValue.h - css/CSSGroupingRule.h -+ css/CSSImageValue.h - css/CSSImportRule.h - css/CSSLineBoxContainValue.h - css/CSSMediaRule.h -@@ -873,6 +874,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS - css/CSSVariableData.h - css/CSSVariableReferenceValue.h - css/Counter.h -+ css/DOMMatrix2DInit.h - css/DeprecatedCSSOMCounter.h - css/DeprecatedCSSOMPrimitiveValue.h - css/DeprecatedCSSOMRGBColor.h -@@ -925,6 +927,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS - - css/typedom/CSSKeywordValue.h - css/typedom/CSSNumericValue.h -+ css/typedom/CSSStyleImageValue.h - css/typedom/CSSStyleValue.h - - css/typedom/numeric/CSSNumericBaseType.h -@@ -2539,17 +2542,41 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS - style/StyleValidity.h - style/Styleable.h - -+ svg/SVGAngle.h -+ svg/SVGAngleValue.h - svg/SVGElement.h -+ svg/SVGGraphicsElement.h -+ svg/SVGImageElement.h -+ svg/SVGImageLoader.h -+ svg/SVGLength.h - svg/SVGLengthContext.h -+ svg/SVGLengthList.h - svg/SVGLengthValue.h -+ svg/SVGLocatable.h -+ svg/SVGMarkerTypes.h -+ svg/SVGMatrix.h -+ svg/SVGNumber.h -+ svg/SVGNumberList.h - svg/SVGParserUtilities.h - svg/SVGParsingError.h - svg/SVGPathByteStream.h - svg/SVGPathConsumer.h -+ svg/SVGPathSeg.h -+ svg/SVGPathSegList.h - svg/SVGPathUtilities.h -+ svg/SVGPoint.h -+ svg/SVGPointList.h -+ svg/SVGPreserveAspectRatio.h - svg/SVGPreserveAspectRatioValue.h -+ svg/SVGRect.h - svg/SVGStringList.h - svg/SVGTests.h -+ svg/SVGTransform.h -+ svg/SVGTransformDistance.h -+ svg/SVGTransformList.h -+ svg/SVGTransformValue.h -+ svg/SVGTransformable.h -+ svg/SVGURIReference.h - svg/SVGUnitTypes.h - - svg/graphics/SVGImageCache.h -@@ -2557,11 +2584,48 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS - svg/graphics/filters/SVGFilter.h - svg/graphics/filters/SVGFilterExpression.h - -+ svg/properties/SVGAnimatedDecoratedProperty.h -+ svg/properties/SVGAnimatedPrimitiveProperty.h -+ svg/properties/SVGAnimatedProperty.h -+ svg/properties/SVGAnimatedPropertyAccessor.h -+ svg/properties/SVGAnimatedPropertyAccessorImpl.h -+ svg/properties/SVGAnimatedPropertyAnimator.h -+ svg/properties/SVGAnimatedPropertyAnimatorImpl.h -+ svg/properties/SVGAnimatedPropertyImpl.h -+ svg/properties/SVGAnimatedPropertyList.h -+ svg/properties/SVGAnimatedPropertyPairAccessor.h -+ svg/properties/SVGAnimatedPropertyPairAccessorImpl.h -+ svg/properties/SVGAnimatedPropertyPairAnimator.h -+ svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h -+ svg/properties/SVGAnimatedString.h -+ svg/properties/SVGAnimatedValueProperty.h -+ svg/properties/SVGAnimationAdditiveFunction.h -+ svg/properties/SVGAnimationAdditiveListFunction.h -+ svg/properties/SVGAnimationAdditiveListFunctionImpl.h -+ svg/properties/SVGAnimationAdditiveValueFunction.h -+ svg/properties/SVGAnimationAdditiveValueFunctionImpl.h -+ svg/properties/SVGAnimationDiscreteFunction.h -+ svg/properties/SVGAnimationDiscreteFunctionImpl.h -+ svg/properties/SVGAnimationFunction.h -+ svg/properties/SVGAttributeAnimator.h -+ svg/properties/SVGDecoratedEnumeration.h -+ svg/properties/SVGDecoratedPrimitive.h -+ svg/properties/SVGDecoratedProperty.h - svg/properties/SVGList.h -+ svg/properties/SVGMemberAccessor.h -+ svg/properties/SVGPointerMemberAccessor.h - svg/properties/SVGPrimitiveList.h - svg/properties/SVGProperty.h -+ svg/properties/SVGPropertyAccessor.h -+ svg/properties/SVGPropertyAccessorImpl.h -+ svg/properties/SVGPropertyList.h - svg/properties/SVGPropertyOwner.h -+ svg/properties/SVGPropertyOwnerRegistry.h -+ svg/properties/SVGPropertyRegistry.h - svg/properties/SVGPropertyTraits.h -+ svg/properties/SVGSharedPrimitiveProperty.h -+ svg/properties/SVGValueProperty.h -+ svg/properties/SVGValuePropertyList.h - - testing/MockGamepad.h - testing/MockGamepadProvider.h -diff --git a/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h b/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h -index 286a2a32a0a3..03b5908976f8 100644 ---- a/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h -+++ b/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h -@@ -27,10 +27,16 @@ - - #if ENABLE(WEB_CODECS) - -+#include "CSSStyleImageValue.h" - #include "ContextDestructionObserver.h" - #include "DOMRectReadOnly.h" -+#include "HTMLCanvasElement.h" -+#include "HTMLImageElement.h" -+#include "HTMLVideoElement.h" - #include "JSDOMPromiseDeferredForward.h" -+#include "OffscreenCanvas.h" - #include "PlaneLayout.h" -+#include "SVGImageElement.h" - #include "VideoColorSpaceInit.h" - #include "WebCodecsAlphaOption.h" - #include "WebCodecsVideoFrameData.h" -@@ -38,16 +44,10 @@ - namespace WebCore { - - class BufferSource; --class CSSStyleImageValue; - class DOMRectReadOnly; --class HTMLCanvasElement; --class HTMLImageElement; --class HTMLVideoElement; - class ImageBitmap; - class ImageBuffer; - class NativeImage; --class OffscreenCanvas; --class SVGImageElement; - class VideoColorSpace; - - template class ExceptionOr; --- -2.46.2 - diff --git a/sources b/sources index 1c0d823..529f464 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.46.1.tar.xz) = e1ac92305b1d1b034eea9be6aa22cfa260249562fa0af41f0ed5c76a36916bba432073e033f228978d84d0377f245642ff31cdec324565e83aa8c82d8ea0c1f5 -SHA512 (webkitgtk-2.46.1.tar.xz.asc) = a86b2f0d8dce366edeb15f64fd758a383e083224ecd98e3cc9635b590087444929f242ce83471611cb0cbda3227659758121aea46db34a8a3173f0c2f34243c9 +SHA512 (webkitgtk-2.46.2.tar.xz) = 2031b61a776135279cc557d4fcf4115e14e0c84b638f04871c3f8fd790b5f587cf1774ed93f42c72d4f60f17bd0488d94e49a101e12cda20c91548b858c26b1a +SHA512 (webkitgtk-2.46.2.tar.xz.asc) = 034d95f628ddb231938a96fc61bdbc004b6b21ae517ceb6a8d1f4ac08c2cfecac8667f8b78dcaf43b89ff36b624540db5c0c3fe6b0517f099d741bb24dc0e074 diff --git a/webkitgtk-skia-musttail.patch b/webkitgtk-skia-musttail.patch deleted file mode 100644 index f480d14..0000000 --- a/webkitgtk-skia-musttail.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h ---- webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig 2024-09-12 08:22:24.667260964 +0000 -+++ webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h 2024-09-12 08:22:46.616832364 +0000 -@@ -69,6 +69,10 @@ - #define SK_CPU_LOONGARCH 1 - #endif - -+#if defined(__powerpc__) || defined (__powerpc64__) -+ #define SK_CPU_PPC 1 -+#endif -+ - /** - * SK_CPU_SSE_LEVEL - * -diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h ---- webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h.orig 2024-09-12 08:16:25.444163366 +0000 -+++ webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h 2024-09-12 08:16:43.603797893 +0000 -@@ -27,7 +27,7 @@ struct SkImageInfo; - struct skcms_TransferFunction; - - #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \ -- !defined(SK_CPU_LOONGARCH) -+ !defined(SK_CPU_LOONGARCH) && !defined(SK_CPU_PPC) - #define SK_HAS_MUSTTAIL 1 - #else - #define SK_HAS_MUSTTAIL 0 -diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h ---- webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig 2024-09-12 08:49:09.985808211 +0000 -+++ webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h 2024-09-12 08:49:19.835612828 +0000 -@@ -48,6 +48,7 @@ extern "C" { - && !defined(__arm__) \ - && !defined(__riscv) \ - && !defined(__loongarch__) \ -+ && !defined(__powerpc__) \ - && !defined(_WIN32) && !defined(__SYMBIAN32__) - #define SKCMS_HAS_MUSTTAIL 1 - #endif -diff -up webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h.orig webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h ---- webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h.orig 2024-09-12 09:14:10.775885415 +0000 -+++ webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h 2024-09-12 09:15:27.264379291 +0000 -@@ -271,7 +271,7 @@ - /* MUST_TAIL_CALL */ - - #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) --#if __has_cpp_attribute(clang::musttail) -+#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) - #define MUST_TAIL_CALL [[clang::musttail]] - #endif - #endif diff --git a/webkitgtk.spec b/webkitgtk.spec index e997196..3ca2341 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.46.1 +Version: 2.46.2 Release: %autorelease Summary: GTK web content engine library @@ -57,13 +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 -# Work around a missing implementation of musttail in clang for ppc64le -# https://github.com/llvm/llvm-project/issues/108014 -Patch: webkitgtk-skia-musttail.patch - -# https://bugs.webkit.org/show_bug.cgi?id=280642 -Patch: llvm19.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 89ffd39bfe8e22069acd8ab57da7492ea3bb5845 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 21 Oct 2024 15:01:56 -0500 Subject: [PATCH 34/98] Add bundled Provides for simde and simdutf --- webkitgtk.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/webkitgtk.spec b/webkitgtk.spec index 3ca2341..f5cbc75 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -233,6 +233,8 @@ This package contains developer documentation for webkit2gtk4.1. %package -n javascriptcoregtk6.0 Summary: JavaScript engine from webkitgtk6.0 +Provides: bundled(simde) +Provides: bundled(simdutf) Obsoletes: javascriptcoregtk5.0 < %{version}-%{release} %description -n javascriptcoregtk6.0 @@ -240,6 +242,8 @@ This package contains the JavaScript engine from webkitgtk6.0. %package -n javascriptcoregtk4.1 Summary: JavaScript engine from webkit2gtk4.1 +Provides: bundled(simde) +Provides: bundled(simdutf) Obsoletes: webkit2gtk4.1-jsc < %{version}-%{release} %description -n javascriptcoregtk4.1 From 50cae696b7f601ef6bb45ef1a85a60e28e458b27 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 29 Oct 2024 16:03:55 -0500 Subject: [PATCH 35/98] Update to 2.47.1 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 529f464..f661e1d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.46.2.tar.xz) = 2031b61a776135279cc557d4fcf4115e14e0c84b638f04871c3f8fd790b5f587cf1774ed93f42c72d4f60f17bd0488d94e49a101e12cda20c91548b858c26b1a -SHA512 (webkitgtk-2.46.2.tar.xz.asc) = 034d95f628ddb231938a96fc61bdbc004b6b21ae517ceb6a8d1f4ac08c2cfecac8667f8b78dcaf43b89ff36b624540db5c0c3fe6b0517f099d741bb24dc0e074 +SHA512 (webkitgtk-2.47.1.tar.xz) = db822c27ba322b8a548699fd46581dce2e775f8ec665a75b2c66815ef06e02f574d0e8d61a24c2f1b51c8ce4a2f8700cb59321c38de22862745a87774b0ab18e +SHA512 (webkitgtk-2.47.1.tar.xz.asc) = d7c9575542f5032dcb5cfcc64babe63fad038f331dc9f0db70cfcd07fa5fc141c0332ff0dfddf1d47478e3b2ba246433336441d4372760f12be8af0e5d7f1395 diff --git a/webkitgtk.spec b/webkitgtk.spec index f5cbc75..84e9ae9 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.46.2 +Version: 2.47.1 Release: %autorelease Summary: GTK web content engine library From 1efbf7b66a1cfe885e16c9cc1f3737a5b8d33c7b Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 30 Oct 2024 11:33:30 -0500 Subject: [PATCH 36/98] Attempt to fix build on i686 and ppc64le --- i686-build.patch | 45 +++++++++++++++++++++++++++++++++++ webkitgtk-skia-musttail.patch | 39 ++++++++++++++++++++++++++++++ webkitgtk.spec | 6 +++++ 3 files changed, 90 insertions(+) create mode 100644 i686-build.patch create mode 100644 webkitgtk-skia-musttail.patch diff --git a/i686-build.patch b/i686-build.patch new file mode 100644 index 0000000..a455671 --- /dev/null +++ b/i686-build.patch @@ -0,0 +1,45 @@ +From bda228aea58acc5f578f4a35ab6ce6a5fa7d6edf Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Wed, 30 Oct 2024 11:31:18 -0500 +Subject: [PATCH] REGRESSION(282580@main): Static assertions failing in + CalculationTree.h and CSSCalcTree.h on i686 + https://bugs.webkit.org/show_bug.cgi?id=282288 + +Reviewed by NOBODY (OOPS!). + +The assertions incorrectly expect the size of the Child variants to be +larger than they actually are. This should be fine because presumably +the goal of the assertions is just to ensure the variants are small. + +* Source/WebCore/css/calc/CSSCalcTree.h: +* Source/WebCore/platform/calc/CalculationTree.h: +--- + Source/WebCore/css/calc/CSSCalcTree.h | 2 +- + Source/WebCore/platform/calc/CalculationTree.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebCore/css/calc/CSSCalcTree.h b/Source/WebCore/css/calc/CSSCalcTree.h +index 4e5cfc1f75a0f..ee04eb99521a4 100644 +--- a/Source/WebCore/css/calc/CSSCalcTree.h ++++ b/Source/WebCore/css/calc/CSSCalcTree.h +@@ -768,7 +768,7 @@ struct AnchorSize { + + // MARK: Size assertions + +-static_assert(sizeof(Child) == 24); ++static_assert(sizeof(Child) <= 24, "Child should stay small"); + + // MARK: Reverse mappings + +diff --git a/Source/WebCore/platform/calc/CalculationTree.h b/Source/WebCore/platform/calc/CalculationTree.h +index 78f5d528f7d79..eead8a47333ff 100644 +--- a/Source/WebCore/platform/calc/CalculationTree.h ++++ b/Source/WebCore/platform/calc/CalculationTree.h +@@ -509,7 +509,7 @@ struct Blend { + bool operator==(const Blend&) const = default; + }; + +-static_assert(sizeof(Child) == 16); ++static_assert(sizeof(Child) <= 16, "Child should stay small"); + + // MARK: Construction diff --git a/webkitgtk-skia-musttail.patch b/webkitgtk-skia-musttail.patch new file mode 100644 index 0000000..440423d --- /dev/null +++ b/webkitgtk-skia-musttail.patch @@ -0,0 +1,39 @@ +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig 2024-09-12 08:22:24.667260964 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h 2024-09-12 08:22:46.616832364 +0000 +@@ -69,6 +69,10 @@ + #define SK_CPU_LOONGARCH 1 + #endif + ++#if defined(__powerpc__) || defined (__powerpc64__) ++ #define SK_CPU_PPC 1 ++#endif ++ + /** + * SK_CPU_SSE_LEVEL + * +diff --git a/Source/ThirdParty/skia/src/core/SkRasterPipeline.h b/Source/ThirdParty/skia/src/core/SkRasterPipeline.h +index 55920612c8c2..59fe250f0fce 100644 +--- a/Source/ThirdParty/skia/src/core/SkRasterPipeline.h ++++ b/Source/ThirdParty/skia/src/core/SkRasterPipeline.h +@@ -27,7 +27,8 @@ struct SkImageInfo; + struct skcms_TransferFunction; + + #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \ +- !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)) ++ !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)) && \ ++ !defined(SK_CPU_PPC) + // [[clang::musttail]] is disabled for the Android version of Skia running on Windows as it + // causes crashes (This is probably related to http://crbug.com/1505442). + #define SK_HAS_MUSTTAIL 1 +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig 2024-09-12 08:49:09.985808211 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h 2024-09-12 08:49:19.835612828 +0000 +@@ -48,6 +48,7 @@ extern "C" { + && !defined(__arm__) \ + && !defined(__riscv) \ + && !defined(__loongarch__) \ ++ && !defined(__powerpc__) \ + && !defined(_WIN32) && !defined(__SYMBIAN32__) + #define SKCMS_HAS_MUSTTAIL 1 + #endif diff --git a/webkitgtk.spec b/webkitgtk.spec index 84e9ae9..b5f553e 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -57,6 +57,12 @@ 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/llvm/llvm-project/issues/108014 +Patch: webkitgtk-skia-musttail.patch + +# https://bugs.webkit.org/show_bug.cgi?id=282288 +Patch: i686-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 1da6cf595e9b90797c8f6f7866595878f25d24bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Fri, 8 Nov 2024 11:31:05 +0100 Subject: [PATCH 37/98] correct license formula add missing OR operator --- webkitgtk.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index b5f553e..800d96a 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -39,7 +39,7 @@ Summary: GTK web content engine library # Source/ThirdParty/ANGLE/tools/flex-bison/third_party/m4sugar/m4sugar.m4 is GPL-3.0-only 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 GPL-2.0-or-later +# Source/ThirdParty/xdgmime/ is AFL-2.0 OR GPL-2.0-or-later # Source/WebCore/dom/PseudoElement.h is BSD-Source-Code # Source/WebCore/dom/SecurityContext.cpp is BSD-2-Clause-Views # Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp is LGPL-2.1-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 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-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 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 4026e0ecdcca222fd9a46cf12f9f4297c81b0d79 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 26 Nov 2024 14:56:09 -0600 Subject: [PATCH 38/98] Upgrade to 2.47.2 --- i686-build.patch | 45 ----------------------------------- sources | 4 ++-- webkitgtk-skia-musttail.patch | 39 ------------------------------ webkitgtk.spec | 9 ++----- 4 files changed, 4 insertions(+), 93 deletions(-) delete mode 100644 i686-build.patch delete mode 100644 webkitgtk-skia-musttail.patch diff --git a/i686-build.patch b/i686-build.patch deleted file mode 100644 index a455671..0000000 --- a/i686-build.patch +++ /dev/null @@ -1,45 +0,0 @@ -From bda228aea58acc5f578f4a35ab6ce6a5fa7d6edf Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Wed, 30 Oct 2024 11:31:18 -0500 -Subject: [PATCH] REGRESSION(282580@main): Static assertions failing in - CalculationTree.h and CSSCalcTree.h on i686 - https://bugs.webkit.org/show_bug.cgi?id=282288 - -Reviewed by NOBODY (OOPS!). - -The assertions incorrectly expect the size of the Child variants to be -larger than they actually are. This should be fine because presumably -the goal of the assertions is just to ensure the variants are small. - -* Source/WebCore/css/calc/CSSCalcTree.h: -* Source/WebCore/platform/calc/CalculationTree.h: ---- - Source/WebCore/css/calc/CSSCalcTree.h | 2 +- - Source/WebCore/platform/calc/CalculationTree.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WebCore/css/calc/CSSCalcTree.h b/Source/WebCore/css/calc/CSSCalcTree.h -index 4e5cfc1f75a0f..ee04eb99521a4 100644 ---- a/Source/WebCore/css/calc/CSSCalcTree.h -+++ b/Source/WebCore/css/calc/CSSCalcTree.h -@@ -768,7 +768,7 @@ struct AnchorSize { - - // MARK: Size assertions - --static_assert(sizeof(Child) == 24); -+static_assert(sizeof(Child) <= 24, "Child should stay small"); - - // MARK: Reverse mappings - -diff --git a/Source/WebCore/platform/calc/CalculationTree.h b/Source/WebCore/platform/calc/CalculationTree.h -index 78f5d528f7d79..eead8a47333ff 100644 ---- a/Source/WebCore/platform/calc/CalculationTree.h -+++ b/Source/WebCore/platform/calc/CalculationTree.h -@@ -509,7 +509,7 @@ struct Blend { - bool operator==(const Blend&) const = default; - }; - --static_assert(sizeof(Child) == 16); -+static_assert(sizeof(Child) <= 16, "Child should stay small"); - - // MARK: Construction diff --git a/sources b/sources index f661e1d..5b4b48b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.47.1.tar.xz) = db822c27ba322b8a548699fd46581dce2e775f8ec665a75b2c66815ef06e02f574d0e8d61a24c2f1b51c8ce4a2f8700cb59321c38de22862745a87774b0ab18e -SHA512 (webkitgtk-2.47.1.tar.xz.asc) = d7c9575542f5032dcb5cfcc64babe63fad038f331dc9f0db70cfcd07fa5fc141c0332ff0dfddf1d47478e3b2ba246433336441d4372760f12be8af0e5d7f1395 +SHA512 (webkitgtk-2.47.2.tar.xz) = f822b3c7da5d3a3af8e2d263cbdb61819d2b7076c2cf0f8b8ff250e7b738a8f8271ea6e22d61651074033b2d5a0b35bd09f5b7aef35dd742252a31fa16d6a41b +SHA512 (webkitgtk-2.47.2.tar.xz.asc) = 809e16bbadfde896b2180ad500be24acc96aa29d15fe238d77a1096f1eedce40f88e9afe97fd506f81362c5a4a226219f5e9b2feb04a3712882be2fa3fac13aa diff --git a/webkitgtk-skia-musttail.patch b/webkitgtk-skia-musttail.patch deleted file mode 100644 index 440423d..0000000 --- a/webkitgtk-skia-musttail.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h ---- webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig 2024-09-12 08:22:24.667260964 +0000 -+++ webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h 2024-09-12 08:22:46.616832364 +0000 -@@ -69,6 +69,10 @@ - #define SK_CPU_LOONGARCH 1 - #endif - -+#if defined(__powerpc__) || defined (__powerpc64__) -+ #define SK_CPU_PPC 1 -+#endif -+ - /** - * SK_CPU_SSE_LEVEL - * -diff --git a/Source/ThirdParty/skia/src/core/SkRasterPipeline.h b/Source/ThirdParty/skia/src/core/SkRasterPipeline.h -index 55920612c8c2..59fe250f0fce 100644 ---- a/Source/ThirdParty/skia/src/core/SkRasterPipeline.h -+++ b/Source/ThirdParty/skia/src/core/SkRasterPipeline.h -@@ -27,7 +27,8 @@ struct SkImageInfo; - struct skcms_TransferFunction; - - #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \ -- !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)) -+ !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)) && \ -+ !defined(SK_CPU_PPC) - // [[clang::musttail]] is disabled for the Android version of Skia running on Windows as it - // causes crashes (This is probably related to http://crbug.com/1505442). - #define SK_HAS_MUSTTAIL 1 -diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h ---- webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig 2024-09-12 08:49:09.985808211 +0000 -+++ webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h 2024-09-12 08:49:19.835612828 +0000 -@@ -48,6 +48,7 @@ extern "C" { - && !defined(__arm__) \ - && !defined(__riscv) \ - && !defined(__loongarch__) \ -+ && !defined(__powerpc__) \ - && !defined(_WIN32) && !defined(__SYMBIAN32__) - #define SKCMS_HAS_MUSTTAIL 1 - #endif diff --git a/webkitgtk.spec b/webkitgtk.spec index 800d96a..ff548db 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.47.1 +Version: 2.47.2 Release: %autorelease Summary: GTK web content engine library @@ -57,17 +57,12 @@ 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/llvm/llvm-project/issues/108014 -Patch: webkitgtk-skia-musttail.patch - -# https://bugs.webkit.org/show_bug.cgi?id=282288 -Patch: i686-build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang BuildRequires: cmake BuildRequires: flex +BuildRequires: flite-devel BuildRequires: gettext BuildRequires: gi-docgen BuildRequires: git From 5085babe1ac3e8e7d53d9d3c26f05620c6a500b9 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 27 Nov 2024 13:35:54 -0600 Subject: [PATCH 39/98] Fix build on i686 --- i686-build.patch | 34 ++++++++++++++++++++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 37 insertions(+) create mode 100644 i686-build.patch diff --git a/i686-build.patch b/i686-build.patch new file mode 100644 index 0000000..6fe594b --- /dev/null +++ b/i686-build.patch @@ -0,0 +1,34 @@ +diff --git a/Source/WebCore/svg/SVGToOTFFontConversion.cpp b/Source/WebCore/svg/SVGToOTFFontConversion.cpp +index 73bb3f90c3ec..418067b1d93d 100644 +--- a/Source/WebCore/svg/SVGToOTFFontConversion.cpp ++++ b/Source/WebCore/svg/SVGToOTFFontConversion.cpp +@@ -166,10 +166,10 @@ private: + + void append32BitCode(ASCIILiteral code) + { +- m_result.append(code[0]); +- m_result.append(code[1]); +- m_result.append(code[2]); +- m_result.append(code[3]); ++ m_result.append(code[0UZ]); ++ m_result.append(code[1UZ]); ++ m_result.append(code[2UZ]); ++ m_result.append(code[3UZ]); + } + + void append16(uint16_t value) +@@ -1505,10 +1505,10 @@ void SVGToOTFFontConverter::appendTable(ASCIILiteral identifier, FontAppendingFu + m_result.append(0); + ASSERT(isFourByteAligned(m_result.size())); + size_t directoryEntryOffset = headerSize + m_tablesAppendedCount * directoryEntrySize; +- m_result[directoryEntryOffset] = identifier[0]; +- m_result[directoryEntryOffset + 1] = identifier[1]; +- m_result[directoryEntryOffset + 2] = identifier[2]; +- m_result[directoryEntryOffset + 3] = identifier[3]; ++ m_result[directoryEntryOffset] = identifier[0UZ]; ++ m_result[directoryEntryOffset + 1] = identifier[1UZ]; ++ m_result[directoryEntryOffset + 2] = identifier[2UZ]; ++ m_result[directoryEntryOffset + 3] = identifier[3UZ]; + overwrite32(directoryEntryOffset + 4, calculateChecksum(offset, m_result.size())); + overwrite32(directoryEntryOffset + 8, offset); + overwrite32(directoryEntryOffset + 12, unpaddedSize); diff --git a/webkitgtk.spec b/webkitgtk.spec index ff548db..43b333a 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=283768 +Patch: i686-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From a75df5ef71f9db7f25cffd1fc3f8ea9919dd01af Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Mon, 2 Dec 2024 07:02:18 +0900 Subject: [PATCH 40/98] Add BR: rubygem(getoptlong) explicitly for ruby3.4 --- webkitgtk.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk.spec b/webkitgtk.spec index 43b333a..85e97e8 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -82,6 +82,7 @@ BuildRequires: perl(bigint) BuildRequires: python3 BuildRequires: ruby BuildRequires: rubygems +BuildRequires: rubygem(getoptlong) BuildRequires: rubygem-json BuildRequires: unifdef BuildRequires: xdg-dbus-proxy From e054a63d21b6cdc809b40993f0e6c0bf7e71dc28 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 6 Dec 2024 16:26:50 +0000 Subject: [PATCH 41/98] Rebuild for ICU 76 From 31ae9e612f2cf28080581536f126d6227d80e6eb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:52:38 +0000 Subject: [PATCH 42/98] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 59dcd2129a725511d11d0e6cb94f550267b1254f Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 23 Jan 2025 13:04:03 -0600 Subject: [PATCH 43/98] Update to 2.47.3 --- i686-build.patch | 34 ---------------------------------- ipint-linker-error.patch | 13 +++++++++++++ sources | 4 ++-- webkitgtk.spec | 10 ++++++---- 4 files changed, 21 insertions(+), 40 deletions(-) delete mode 100644 i686-build.patch create mode 100644 ipint-linker-error.patch diff --git a/i686-build.patch b/i686-build.patch deleted file mode 100644 index 6fe594b..0000000 --- a/i686-build.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/Source/WebCore/svg/SVGToOTFFontConversion.cpp b/Source/WebCore/svg/SVGToOTFFontConversion.cpp -index 73bb3f90c3ec..418067b1d93d 100644 ---- a/Source/WebCore/svg/SVGToOTFFontConversion.cpp -+++ b/Source/WebCore/svg/SVGToOTFFontConversion.cpp -@@ -166,10 +166,10 @@ private: - - void append32BitCode(ASCIILiteral code) - { -- m_result.append(code[0]); -- m_result.append(code[1]); -- m_result.append(code[2]); -- m_result.append(code[3]); -+ m_result.append(code[0UZ]); -+ m_result.append(code[1UZ]); -+ m_result.append(code[2UZ]); -+ m_result.append(code[3UZ]); - } - - void append16(uint16_t value) -@@ -1505,10 +1505,10 @@ void SVGToOTFFontConverter::appendTable(ASCIILiteral identifier, FontAppendingFu - m_result.append(0); - ASSERT(isFourByteAligned(m_result.size())); - size_t directoryEntryOffset = headerSize + m_tablesAppendedCount * directoryEntrySize; -- m_result[directoryEntryOffset] = identifier[0]; -- m_result[directoryEntryOffset + 1] = identifier[1]; -- m_result[directoryEntryOffset + 2] = identifier[2]; -- m_result[directoryEntryOffset + 3] = identifier[3]; -+ m_result[directoryEntryOffset] = identifier[0UZ]; -+ m_result[directoryEntryOffset + 1] = identifier[1UZ]; -+ m_result[directoryEntryOffset + 2] = identifier[2UZ]; -+ m_result[directoryEntryOffset + 3] = identifier[3UZ]; - overwrite32(directoryEntryOffset + 4, calculateChecksum(offset, m_result.size())); - overwrite32(directoryEntryOffset + 8, offset); - overwrite32(directoryEntryOffset + 12, unpaddedSize); diff --git a/ipint-linker-error.patch b/ipint-linker-error.patch new file mode 100644 index 0000000..7dbf3dc --- /dev/null +++ b/ipint-linker-error.patch @@ -0,0 +1,13 @@ +diff --git a/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h b/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h +index d9d51cf03f0c..9d4c249d8cb1 100644 +--- a/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h ++++ b/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h +@@ -111,7 +111,7 @@ WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(call_indirect, CallFrame* callFrame, Wasm::Fun + // We can't use FunctionSpaceIndex here since ARMv7 ABI always passes structs on th stack... + WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(prepare_call, unsigned functionSpaceIndex, EncodedJSValue* callee); + WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(prepare_call_indirect, CallFrame* callFrame, Wasm::FunctionSpaceIndex* functionIndex, CallIndirectMetadata* call); +-WASM_IPINT_EXTERN_CPP_DECL(prepare_call_ref, CallFrame*, Wasm::TypeIndex, IPIntStackEntry*); ++WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(prepare_call_ref, CallFrame*, Wasm::TypeIndex, IPIntStackEntry*); + + WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(set_global_ref, uint32_t globalIndex, JSValue value); + WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(get_global_64, unsigned); diff --git a/sources b/sources index 5b4b48b..22e2db0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.47.2.tar.xz) = f822b3c7da5d3a3af8e2d263cbdb61819d2b7076c2cf0f8b8ff250e7b738a8f8271ea6e22d61651074033b2d5a0b35bd09f5b7aef35dd742252a31fa16d6a41b -SHA512 (webkitgtk-2.47.2.tar.xz.asc) = 809e16bbadfde896b2180ad500be24acc96aa29d15fe238d77a1096f1eedce40f88e9afe97fd506f81362c5a4a226219f5e9b2feb04a3712882be2fa3fac13aa +SHA512 (webkitgtk-2.47.3.tar.xz) = 85cfc189025f97b14c2fb720f1d2c37f295d08a365f385b6ce2828718cfec94ca2eefc60a3c0636f17684165f2ef7c7c925e0280d16f715d997a251ec2064c6f +SHA512 (webkitgtk-2.47.3.tar.xz.asc) = 16bd1a2a2f2946673ea0932b15ccf0c8278742b4e3fcbb56869f20ace8ae4033cb5a739ba134be7f1cecf536714f1f23d34db6610b45709652148389df8331bc diff --git a/webkitgtk.spec b/webkitgtk.spec index 85e97e8..ce55a34 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -11,7 +11,8 @@ %bcond_without docs # Clang is preferred: https://skia.org/docs/user/build/#supported-and-preferred-compilers -%global toolchain clang +# But it is broken due to https://bugzilla.redhat.com/show_bug.cgi?id=2341532 +#%%global toolchain clang # We run out of memory if building with LTO enabled on i686. %ifarch %{ix86} @@ -19,7 +20,7 @@ %endif Name: webkitgtk -Version: 2.47.2 +Version: 2.47.3 Release: %autorelease Summary: GTK web content engine library @@ -57,8 +58,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=283768 -Patch: i686-build.patch +# https://bugs.webkit.org/show_bug.cgi?id=286433 +Patch: ipint-linker-error.patch BuildRequires: bison BuildRequires: bubblewrap @@ -92,6 +93,7 @@ BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(enchant-2) BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gbm) From b34411c4e169f76243af4ca8e969e0d1ff4cd87b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sun, 2 Feb 2025 20:10:34 +0000 Subject: [PATCH 44/98] Rebuild for jpegxl (libjxl) 0.11.1 From b474392c33ea77f59470b73f2dc49da0a0e9ded4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Sun, 9 Feb 2025 18:50:06 +0100 Subject: [PATCH 45/98] Restore clang toolchain --- webkitgtk.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/webkitgtk.spec b/webkitgtk.spec index ce55a34..90d49df 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -11,8 +11,7 @@ %bcond_without docs # Clang is preferred: https://skia.org/docs/user/build/#supported-and-preferred-compilers -# But it is broken due to https://bugzilla.redhat.com/show_bug.cgi?id=2341532 -#%%global toolchain clang +%global toolchain clang # We run out of memory if building with LTO enabled on i686. %ifarch %{ix86} From 8e0b9e767909af78835dce021e40ee1fe64e8312 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 11 Feb 2025 11:14:28 -0600 Subject: [PATCH 46/98] Update to 2.47.4 --- ipint-linker-error.patch | 13 ------------- sources | 4 ++-- webkitgtk.spec | 5 +---- 3 files changed, 3 insertions(+), 19 deletions(-) delete mode 100644 ipint-linker-error.patch diff --git a/ipint-linker-error.patch b/ipint-linker-error.patch deleted file mode 100644 index 7dbf3dc..0000000 --- a/ipint-linker-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h b/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h -index d9d51cf03f0c..9d4c249d8cb1 100644 ---- a/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h -+++ b/Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h -@@ -111,7 +111,7 @@ WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(call_indirect, CallFrame* callFrame, Wasm::Fun - // We can't use FunctionSpaceIndex here since ARMv7 ABI always passes structs on th stack... - WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(prepare_call, unsigned functionSpaceIndex, EncodedJSValue* callee); - WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(prepare_call_indirect, CallFrame* callFrame, Wasm::FunctionSpaceIndex* functionIndex, CallIndirectMetadata* call); --WASM_IPINT_EXTERN_CPP_DECL(prepare_call_ref, CallFrame*, Wasm::TypeIndex, IPIntStackEntry*); -+WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(prepare_call_ref, CallFrame*, Wasm::TypeIndex, IPIntStackEntry*); - - WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(set_global_ref, uint32_t globalIndex, JSValue value); - WASM_IPINT_EXTERN_CPP_HIDDEN_DECL(get_global_64, unsigned); diff --git a/sources b/sources index 22e2db0..44eeee9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.47.3.tar.xz) = 85cfc189025f97b14c2fb720f1d2c37f295d08a365f385b6ce2828718cfec94ca2eefc60a3c0636f17684165f2ef7c7c925e0280d16f715d997a251ec2064c6f -SHA512 (webkitgtk-2.47.3.tar.xz.asc) = 16bd1a2a2f2946673ea0932b15ccf0c8278742b4e3fcbb56869f20ace8ae4033cb5a739ba134be7f1cecf536714f1f23d34db6610b45709652148389df8331bc +SHA512 (webkitgtk-2.47.4.tar.xz) = f063355008326d99eff34301ad96c129cc89946d9bf22a064c89066f1b699293d822436827a39b7e30ac2786f831e198cd643e992706e788492df345df5491fe +SHA512 (webkitgtk-2.47.4.tar.xz.asc) = 6d7f55cad41a4863fecabdc8408e3d26084035c7f57d4223d53bdb661d18132eea1b2845eccb626fa701d3df3b2cddf42557982167f8b9d186bf16742c6bce68 diff --git a/webkitgtk.spec b/webkitgtk.spec index 90d49df..c72d359 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.47.3 +Version: 2.47.4 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=286433 -Patch: ipint-linker-error.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From ad45dc979525a3a69314ff1c8a97b47ccbae848d Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 26 Feb 2025 10:17:21 -0600 Subject: [PATCH 47/98] Update to 2.47.90 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 44eeee9..bf2e7b6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.47.4.tar.xz) = f063355008326d99eff34301ad96c129cc89946d9bf22a064c89066f1b699293d822436827a39b7e30ac2786f831e198cd643e992706e788492df345df5491fe -SHA512 (webkitgtk-2.47.4.tar.xz.asc) = 6d7f55cad41a4863fecabdc8408e3d26084035c7f57d4223d53bdb661d18132eea1b2845eccb626fa701d3df3b2cddf42557982167f8b9d186bf16742c6bce68 +SHA512 (webkitgtk-2.47.90.tar.xz) = cc8ee518cc2201bc063a9e1fa9dc8c0975d4c89a4d81e0fd04870a0e33e9c34ddc1de0ddff892e4fe4dc2affd6301aa68f11738e2c4aef5c0515fdfefc29c7d6 +SHA512 (webkitgtk-2.47.90.tar.xz.asc) = d51def3bc22a9995a0f4c192882f7c6a48f2f5648a4cb710070d517aad34940d13101fbd648244c0e1d35b44e2ebc45d610982cd5d9cdb060de79abb146f00cc diff --git a/webkitgtk.spec b/webkitgtk.spec index c72d359..9e9f19a 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.47.4 +Version: 2.47.90 Release: %autorelease Summary: GTK web content engine library From 253cecd14af505ac2ea368c85d4195964d19a916 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 14 Mar 2025 14:38:21 -0500 Subject: [PATCH 48/98] Update to WebKitGTK 2.48.0 --- clang20.patch | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 4 +-- webkitgtk.spec | 5 +++- 3 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 clang20.patch diff --git a/clang20.patch b/clang20.patch new file mode 100644 index 0000000..94e3b3c --- /dev/null +++ b/clang20.patch @@ -0,0 +1,74 @@ +From 80e8e5aad5d376df8ab953bd538c07b9af5c0c16 Mon Sep 17 00:00:00 2001 +From: Fujii Hironori +Date: Tue, 18 Mar 2025 10:25:47 +0900 +Subject: [PATCH] EnumTraits.h: error: no matching function for call to + 'enumName' with Clang 20 https://bugs.webkit.org/show_bug.cgi?id=289669 + +Reviewed by NOBODY (OOPS!). + +Clang 20 couldn't compile EnumTraits.h. + +> wtf/EnumTraits.h:212:33: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'V' + +An invalid enum value can't be specifed to the template parameter `V`. + +> template constexpr std::span enumName() + +The upstream Magic Enum C++ has a template variable `is_enum_constexpr_static_cast_valid` to check a enum value is valid. + + +Imported the template variable. + +* Source/WTF/wtf/EnumTraits.h: +(WTF::enumName): +(WTF::makeEnumNames): +--- + Source/WTF/wtf/EnumTraits.h | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/EnumTraits.h b/Source/WTF/wtf/EnumTraits.h +index 0d33e39a93dd1..95e6318b6f1be 100644 +--- a/Source/WTF/wtf/EnumTraits.h ++++ b/Source/WTF/wtf/EnumTraits.h +@@ -152,6 +152,16 @@ constexpr bool isZeroBasedContiguousEnum() + #pragma clang diagnostic ignored "-Wenum-constexpr-conversion" + #endif + ++#if COMPILER(CLANG) && __clang_major__ >= 16 ++template ++inline constexpr bool isEnumConstexprStaticCastValid = false; ++template ++inline constexpr bool isEnumConstexprStaticCastValid(V)>>> = true; ++#else ++template ++inline constexpr bool isEnumConstexprStaticCastValid = true; ++#endif ++ + template + constexpr std::span enumTypeNameImpl() + { +@@ -215,6 +225,15 @@ constexpr std::span enumName() + return result; + } + ++template ++constexpr std::span enumName() ++{ ++ if constexpr (isEnumConstexprStaticCastValid) ++ return enumName(V)>(); ++ else ++ return { }; ++} ++ + template + constexpr std::underlying_type_t enumNamesMin() + { +@@ -264,7 +283,7 @@ constexpr auto makeEnumNames(std::index_sequence) + { + constexpr auto min = enumNamesMin(); + return std::array, sizeof...(Is)> { +- enumName(static_cast>(Is) + min)>()... ++ enumName>(Is) + min>()... + }; + } + diff --git a/sources b/sources index bf2e7b6..b39792c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.47.90.tar.xz) = cc8ee518cc2201bc063a9e1fa9dc8c0975d4c89a4d81e0fd04870a0e33e9c34ddc1de0ddff892e4fe4dc2affd6301aa68f11738e2c4aef5c0515fdfefc29c7d6 -SHA512 (webkitgtk-2.47.90.tar.xz.asc) = d51def3bc22a9995a0f4c192882f7c6a48f2f5648a4cb710070d517aad34940d13101fbd648244c0e1d35b44e2ebc45d610982cd5d9cdb060de79abb146f00cc +SHA512 (webkitgtk-2.48.0.tar.xz) = 296d49f5d1eac94950d77fee098839b0d4a8eed8eb7dab793013755f499d2d0f7234a073afb30cf5d58eac107c6303ce3d9a7bfb8435fa40900d8178c281e529 +SHA512 (webkitgtk-2.48.0.tar.xz.asc) = 434acb020b8007062811a4c21d52f9a5f74438e62d4d6b1093360fb1e392689ae08c43b9ddcd495be62608afec25901c341aa97779365286e425df9726588016 diff --git a/webkitgtk.spec b/webkitgtk.spec index 9e9f19a..65c9d33 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.47.90 +Version: 2.48.0 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=289669 +Patch: clang20.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 7b284015f854dbe231b2eff8618ab30cb040c1ca Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 2 Apr 2025 11:49:08 -0500 Subject: [PATCH 49/98] Update to WebKitGTK 2.48.1 --- clang20.patch | 74 -------------------------------------------------- sources | 4 +-- webkitgtk.spec | 5 +--- 3 files changed, 3 insertions(+), 80 deletions(-) delete mode 100644 clang20.patch diff --git a/clang20.patch b/clang20.patch deleted file mode 100644 index 94e3b3c..0000000 --- a/clang20.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 80e8e5aad5d376df8ab953bd538c07b9af5c0c16 Mon Sep 17 00:00:00 2001 -From: Fujii Hironori -Date: Tue, 18 Mar 2025 10:25:47 +0900 -Subject: [PATCH] EnumTraits.h: error: no matching function for call to - 'enumName' with Clang 20 https://bugs.webkit.org/show_bug.cgi?id=289669 - -Reviewed by NOBODY (OOPS!). - -Clang 20 couldn't compile EnumTraits.h. - -> wtf/EnumTraits.h:212:33: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'V' - -An invalid enum value can't be specifed to the template parameter `V`. - -> template constexpr std::span enumName() - -The upstream Magic Enum C++ has a template variable `is_enum_constexpr_static_cast_valid` to check a enum value is valid. - - -Imported the template variable. - -* Source/WTF/wtf/EnumTraits.h: -(WTF::enumName): -(WTF::makeEnumNames): ---- - Source/WTF/wtf/EnumTraits.h | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -diff --git a/Source/WTF/wtf/EnumTraits.h b/Source/WTF/wtf/EnumTraits.h -index 0d33e39a93dd1..95e6318b6f1be 100644 ---- a/Source/WTF/wtf/EnumTraits.h -+++ b/Source/WTF/wtf/EnumTraits.h -@@ -152,6 +152,16 @@ constexpr bool isZeroBasedContiguousEnum() - #pragma clang diagnostic ignored "-Wenum-constexpr-conversion" - #endif - -+#if COMPILER(CLANG) && __clang_major__ >= 16 -+template -+inline constexpr bool isEnumConstexprStaticCastValid = false; -+template -+inline constexpr bool isEnumConstexprStaticCastValid(V)>>> = true; -+#else -+template -+inline constexpr bool isEnumConstexprStaticCastValid = true; -+#endif -+ - template - constexpr std::span enumTypeNameImpl() - { -@@ -215,6 +225,15 @@ constexpr std::span enumName() - return result; - } - -+template -+constexpr std::span enumName() -+{ -+ if constexpr (isEnumConstexprStaticCastValid) -+ return enumName(V)>(); -+ else -+ return { }; -+} -+ - template - constexpr std::underlying_type_t enumNamesMin() - { -@@ -264,7 +283,7 @@ constexpr auto makeEnumNames(std::index_sequence) - { - constexpr auto min = enumNamesMin(); - return std::array, sizeof...(Is)> { -- enumName(static_cast>(Is) + min)>()... -+ enumName>(Is) + min>()... - }; - } - diff --git a/sources b/sources index b39792c..013526c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.48.0.tar.xz) = 296d49f5d1eac94950d77fee098839b0d4a8eed8eb7dab793013755f499d2d0f7234a073afb30cf5d58eac107c6303ce3d9a7bfb8435fa40900d8178c281e529 -SHA512 (webkitgtk-2.48.0.tar.xz.asc) = 434acb020b8007062811a4c21d52f9a5f74438e62d4d6b1093360fb1e392689ae08c43b9ddcd495be62608afec25901c341aa97779365286e425df9726588016 +SHA512 (webkitgtk-2.48.1.tar.xz) = b78a2ae7e51942c4606e6f2f574e86f107e0c44fc685d9eda41d309457a340b9d9b6fae39cdbc3cc7c9210237b110647216eafc6b6e9b0e577106e477cd06d38 +SHA512 (webkitgtk-2.48.1.tar.xz.asc) = 072c1ed45c8f4f3d93ba79d1aa17decb2389a6535391fc6927f97f6404c4bdce4599b2e580397da1f163cc28c1c4c93efbf1eda16584ca18010b362824e35d31 diff --git a/webkitgtk.spec b/webkitgtk.spec index 65c9d33..cc2f429 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.48.0 +Version: 2.48.1 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=289669 -Patch: clang20.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From f9a8d97ab5e53f3af19632d532f2261b57b77e7e Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 2 Apr 2025 15:05:52 -0500 Subject: [PATCH 50/98] Add patch to fix non-x86, non-ARM build --- denormal-disabler-build.patch | 12 ++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 denormal-disabler-build.patch diff --git a/denormal-disabler-build.patch b/denormal-disabler-build.patch new file mode 100644 index 0000000..8660563 --- /dev/null +++ b/denormal-disabler-build.patch @@ -0,0 +1,12 @@ +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/webkitgtk.spec b/webkitgtk.spec index cc2f429..e93b6c3 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=286694 +Patch: denormal-disabler-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 3da2ea985ddd65d8223774e329347eb5b1387028 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 3 Apr 2025 09:08:25 -0500 Subject: [PATCH 51/98] Update to 2.49.1 --- denormal-disabler-build.patch | 12 ------------ sources | 4 ++-- webkitgtk.spec | 8 ++++---- 3 files changed, 6 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..76a56cc 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.49.1.tar.xz) = c78a00eaac351ca6f333a7fd864395ba99413df18ffab8596bc38b0b3085130faf83611cce095a3953e77d3bab2466df6401c0a732c20c59f843affb81a656c8 +SHA512 (webkitgtk-2.49.1.tar.xz.asc) = 7be4d36692094df058aed70936fe0c3a08219c45b0690d5d1ef4e69f21d3013dac64e3ca2e05db31ad0530802dda2059e6b8783b465f4d3dc1df9d833a1ec7ea diff --git a/webkitgtk.spec b/webkitgtk.spec index e93b6c3..0d18860 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -18,8 +18,11 @@ %global _lto_cflags %{nil} %endif +# FIXME: Disable LTO unconditionally until https://github.com/llvm/llvm-project/issues/134409 is fixed in Fedora +%global _lto_cflags %{nil} + Name: webkitgtk -Version: 2.48.1 +Version: 2.49.1 Release: %autorelease Summary: GTK web content engine library @@ -57,9 +60,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 f4536030c53a993d0931b3780c61c81d436be6c6 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 30 May 2025 16:01:27 -0500 Subject: [PATCH 52/98] Update to 2.49.2 --- gtk3-build.patch | 143 +++++++++++++++++++++++++++++++++++++++++++++++ sources | 4 +- webkitgtk.spec | 8 +-- 3 files changed, 149 insertions(+), 6 deletions(-) create mode 100644 gtk3-build.patch diff --git a/gtk3-build.patch b/gtk3-build.patch new file mode 100644 index 0000000..7f624f5 --- /dev/null +++ b/gtk3-build.patch @@ -0,0 +1,143 @@ +From e2e4647281ff5f666597e979f582ce780cb31604 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Fri, 30 May 2025 15:35:03 -0500 +Subject: [PATCH] [GTK] 2.49.2 does not build for GTK 3 + https://bugs.webkit.org/show_bug.cgi?id=293816 + +Unreviewed build fixes. +--- + .../WebCore/Modules/mediastream/MediaStreamTrack.cpp | 6 ++++++ + Source/WebCore/Modules/mediastream/MediaStreamTrack.h | 2 +- + .../API/gtk/DOM/WebKitDOMCharacterData.cpp | 2 ++ + .../API/gtk/DOM/WebKitDOMDOMSelection.cpp | 10 +++++----- + .../InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp | 1 + + .../WebCoreSupport/glib/WebEditorClientGLib.cpp | 1 + + Tools/TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp | 2 +- + Tools/TestWebKitAPI/glib/WebKitGLib/TestMain.h | 2 ++ + 8 files changed, 19 insertions(+), 7 deletions(-) + +diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp +index a401952f20b7..41df25b748e5 100644 +--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp ++++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp +@@ -31,6 +31,7 @@ + #if ENABLE(MEDIA_STREAM) + + #include "CommonAtomStrings.h" ++#include "ContextDestructionObserverInlines.h" + #include "Document.h" + #include "Event.h" + #include "EventNames.h" +@@ -645,6 +646,11 @@ Ref MediaStreamTrack::create(ScriptExecutionContext& context, + return track; + } + ++ScriptExecutionContext* MediaStreamTrack::scriptExecutionContext() const ++{ ++ return ActiveDOMObject::scriptExecutionContext(); ++} ++ + #if !RELEASE_LOG_DISABLED + WTFLogChannel& MediaStreamTrack::logChannel() const + { +diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h +index 9beb8a93fc42..cd42ed010b4c 100644 +--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h ++++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h +@@ -189,7 +189,7 @@ class MediaStreamTrack + protected: + MediaStreamTrack(ScriptExecutionContext&, Ref&&); + +- ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); } ++ ScriptExecutionContext* scriptExecutionContext() const final; + + private: + explicit MediaStreamTrack(MediaStreamTrack&); +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp +index 200689e76721..c1fec9da2d2c 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp +@@ -24,8 +24,10 @@ + #include "DOMObjectCache.h" + #include + #include ++#include + #include "GObjectEventListener.h" + #include ++#include + #include "WebKitDOMCharacterDataPrivate.h" + #include "WebKitDOMElementPrivate.h" + #include "WebKitDOMEventPrivate.h" +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp +index c5e283b08eab..2233726e3752 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp +@@ -397,7 +397,7 @@ void webkit_dom_dom_selection_set_base_and_extent(WebKitDOMDOMSelection* self, W + WebCore::DOMSelection* item = WebKit::core(self); + WebCore::Node* convertedBaseNode = WebKit::core(baseNode); + WebCore::Node* convertedExtentNode = WebKit::core(extentNode); +- item->setBaseAndExtent(convertedBaseNode, baseOffset, convertedExtentNode, extentOffset); ++ item->setBaseAndExtent(*convertedBaseNode, baseOffset, *convertedExtentNode, extentOffset); + } + + void webkit_dom_dom_selection_set_position(WebKitDOMDOMSelection* self, WebKitDOMNode* node, gulong offset) +@@ -500,7 +500,7 @@ WebKitDOMNode* webkit_dom_dom_selection_get_base_node(WebKitDOMDOMSelection* sel + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); + WebCore::DOMSelection* item = WebKit::core(self); +- RefPtr gobjectResult = WTF::getPtr(item->baseNode()); ++ RefPtr gobjectResult = WTF::getPtr(item->anchorNode()); + return WebKit::kit(gobjectResult.get()); + } + +@@ -509,7 +509,7 @@ gulong webkit_dom_dom_selection_get_base_offset(WebKitDOMDOMSelection* self) + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); + WebCore::DOMSelection* item = WebKit::core(self); +- gulong result = item->baseOffset(); ++ gulong result = item->anchorOffset(); + return result; + } + +@@ -518,7 +518,7 @@ WebKitDOMNode* webkit_dom_dom_selection_get_extent_node(WebKitDOMDOMSelection* s + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); + WebCore::DOMSelection* item = WebKit::core(self); +- RefPtr gobjectResult = WTF::getPtr(item->extentNode()); ++ RefPtr gobjectResult = WTF::getPtr(item->focusNode()); + return WebKit::kit(gobjectResult.get()); + } + +@@ -527,7 +527,7 @@ gulong webkit_dom_dom_selection_get_extent_offset(WebKitDOMDOMSelection* self) + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); + WebCore::DOMSelection* item = WebKit::core(self); +- gulong result = item->extentOffset(); ++ gulong result = item->focusOffset(); + return result; + } + +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp +index 472a8d0d00eb..10a093a4ef5d 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include "WebKitDOMDocumentPrivate.h" +diff --git a/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp b/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp +index ab382eed0311..c0691f3fba51 100644 +--- a/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp ++++ b/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/sources b/sources index 76a56cc..b377c05 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.49.1.tar.xz) = c78a00eaac351ca6f333a7fd864395ba99413df18ffab8596bc38b0b3085130faf83611cce095a3953e77d3bab2466df6401c0a732c20c59f843affb81a656c8 -SHA512 (webkitgtk-2.49.1.tar.xz.asc) = 7be4d36692094df058aed70936fe0c3a08219c45b0690d5d1ef4e69f21d3013dac64e3ca2e05db31ad0530802dda2059e6b8783b465f4d3dc1df9d833a1ec7ea +SHA512 (webkitgtk-2.49.2.tar.xz) = bd8a7b76492c83148d0004ebdef557caf10a166b0b61acb701eb5de8085ea1d0ac4b5ed662d219f7dbeb5462f904a91b07e985d57433ee1db3cb425a6996b2a1 +SHA512 (webkitgtk-2.49.2.tar.xz.asc) = 2261f6f212fc5fb33e5c81e8d114ec330719fe6c61df572a8de92484509db035197c9d493f9b8c9e9ac577e460ec7adb4ad1b8b23df2861fbf9ea4742d1a046b diff --git a/webkitgtk.spec b/webkitgtk.spec index 0d18860..23cd3d4 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -18,11 +18,8 @@ %global _lto_cflags %{nil} %endif -# FIXME: Disable LTO unconditionally until https://github.com/llvm/llvm-project/issues/134409 is fixed in Fedora -%global _lto_cflags %{nil} - Name: webkitgtk -Version: 2.49.1 +Version: 2.49.2 Release: %autorelease Summary: GTK web content engine library @@ -60,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=293816 +Patch: gtk3-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 5ed3c46814cf0d0907df87d3d992096b489cf862 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sat, 31 May 2025 10:15:26 -0500 Subject: [PATCH 53/98] Attempt to fix build on i686 and s390x --- build.patch | 29 +++++++++++++++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 32 insertions(+) create mode 100644 build.patch diff --git a/build.patch b/build.patch new file mode 100644 index 0000000..1026311 --- /dev/null +++ b/build.patch @@ -0,0 +1,29 @@ +From 368a2890dc28047bb2b112cae170296edc3bcca3 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Sat, 31 May 2025 10:13:02 -0500 +Subject: [PATCH] SmallSet.h:181:27: error: implicit instantiation of undefined + template 'std::numeric_limits' + https://bugs.webkit.org/show_bug.cgi?id=293853 + +Unreviewed build fix. + +* Source/WTF/wtf/SmallSet.h: +--- + Source/WTF/wtf/SmallSet.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WTF/wtf/SmallSet.h b/Source/WTF/wtf/SmallSet.h +index 65a5e48bfaa4..f1eaac631b16 100644 +--- a/Source/WTF/wtf/SmallSet.h ++++ b/Source/WTF/wtf/SmallSet.h +@@ -25,6 +25,7 @@ + + #pragma once + ++#include + #include + #include + #include +-- +2.49.0 + diff --git a/webkitgtk.spec b/webkitgtk.spec index 23cd3d4..67066c6 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -60,6 +60,9 @@ Source2: webkitgtk-keys.gpg # https://bugs.webkit.org/show_bug.cgi?id=293816 Patch: gtk3-build.patch +# https://bugs.webkit.org/show_bug.cgi?id=293853 +Patch: build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 1f9a18deaf3972d94e1f1701edcc1409f9bf8b3f Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sun, 1 Jun 2025 10:21:34 -0500 Subject: [PATCH 54/98] Another attempt to fix build on non-x86_64 --- build.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build.patch b/build.patch index 1026311..6e01444 100644 --- a/build.patch +++ b/build.patch @@ -27,3 +27,15 @@ index 65a5e48bfaa4..f1eaac631b16 100644 -- 2.49.0 +diff --git a/Source/WTF/wtf/WeakRandom.h b/Source/WTF/wtf/WeakRandom.h +index 22aa3a3163e4..bb3c5695e380 100644 +--- a/Source/WTF/wtf/WeakRandom.h ++++ b/Source/WTF/wtf/WeakRandom.h +@@ -30,7 +30,7 @@ + + #pragma once + +-#include ++#include + #include + #include From fcb218038fa212c957988b7a75b794c94fb46406 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 2 Jun 2025 08:48:04 -0500 Subject: [PATCH 55/98] Another attempt to fix build on non-x86_64 --- build.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/build.patch b/build.patch index 6e01444..a607ac0 100644 --- a/build.patch +++ b/build.patch @@ -39,3 +39,16 @@ index 22aa3a3163e4..bb3c5695e380 100644 +#include #include #include + +diff --git a/Source/WTF/wtf/text/icu/UTextProvider.h b/Source/WTF/wtf/text/icu/UTextProvider.h +index e2f58542ecff..dc42629cac34 100644 +--- a/Source/WTF/wtf/text/icu/UTextProvider.h ++++ b/Source/WTF/wtf/text/icu/UTextProvider.h +@@ -25,6 +25,7 @@ + + #pragma once + ++#include + #include + + namespace WTF { From bc59d801763916b78c5c22e4a72a512eb28381ac Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 2 Jun 2025 09:39:37 -0500 Subject: [PATCH 56/98] Another attempt to fix build on non-x86_64 --- build.patch | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/build.patch b/build.patch index a607ac0..3df43ec 100644 --- a/build.patch +++ b/build.patch @@ -27,6 +27,65 @@ index 65a5e48bfaa4..f1eaac631b16 100644 -- 2.49.0 +diff --git a/Source/JavaScriptCore/bytecode/SourceID.h b/Source/JavaScriptCore/bytecode/SourceID.h +index cfa489f29189..4e0e5f738db2 100644 +--- a/Source/JavaScriptCore/bytecode/SourceID.h ++++ b/Source/JavaScriptCore/bytecode/SourceID.h +@@ -25,6 +25,8 @@ + + #pragma once + ++#include ++ + namespace JSC { + + using SourceID = uint32_t; +diff --git a/Source/JavaScriptCore/jit/GdbJIT.cpp b/Source/JavaScriptCore/jit/GdbJIT.cpp +index f49de33b14fb..d574ff83ba0e 100644 +--- a/Source/JavaScriptCore/jit/GdbJIT.cpp ++++ b/Source/JavaScriptCore/jit/GdbJIT.cpp +@@ -28,7 +28,8 @@ + + #include + +-#if ENABLE(ASSEMBLER) && (OS(DARWIN) || OS(LINUX)) ++#if ENABLE(ASSEMBLER) ++#if OS(DARWIN) || OS(LINUX) + + #include "CallFrame.h" + #include "CallFrameInlines.h" +@@ -1492,4 +1493,5 @@ void GdbJIT::log(const CString&, MacroAssemblerCodeRef) { } + + } // namespace JSC + +-#endif // ENABLE(ASSEMBLER) && (OS(DARWIN) || OS(LINUX)) ++#endif // OS(DARWIN) || OS(LINUX) ++#endif // ENABLE(ASSEMBLER) +diff --git a/Source/JavaScriptCore/runtime/PureNaN.h b/Source/JavaScriptCore/runtime/PureNaN.h +index 8cab247c8d4a..f96f45b1b54b 100644 +--- a/Source/JavaScriptCore/runtime/PureNaN.h ++++ b/Source/JavaScriptCore/runtime/PureNaN.h +@@ -26,6 +26,7 @@ + #pragma once + + #include ++#include + #include + #include + +diff --git a/Source/JavaScriptCore/yarr/Yarr.h b/Source/JavaScriptCore/yarr/Yarr.h +index 87a554fff25d..1fca142b3b6b 100644 +--- a/Source/JavaScriptCore/yarr/Yarr.h ++++ b/Source/JavaScriptCore/yarr/Yarr.h +@@ -27,7 +27,7 @@ + + #pragma once + +-#include ++#include + #include "YarrErrorCode.h" + + namespace JSC { namespace Yarr { diff --git a/Source/WTF/wtf/WeakRandom.h b/Source/WTF/wtf/WeakRandom.h index 22aa3a3163e4..bb3c5695e380 100644 --- a/Source/WTF/wtf/WeakRandom.h @@ -39,7 +98,7 @@ index 22aa3a3163e4..bb3c5695e380 100644 +#include #include #include - + diff --git a/Source/WTF/wtf/text/icu/UTextProvider.h b/Source/WTF/wtf/text/icu/UTextProvider.h index e2f58542ecff..dc42629cac34 100644 --- a/Source/WTF/wtf/text/icu/UTextProvider.h @@ -52,3 +111,15 @@ index e2f58542ecff..dc42629cac34 100644 #include namespace WTF { +diff --git a/Source/WebCore/platform/DateComponents.h b/Source/WebCore/platform/DateComponents.h +index 50069f3890c1..afc401067ff5 100644 +--- a/Source/WebCore/platform/DateComponents.h ++++ b/Source/WebCore/platform/DateComponents.h +@@ -30,6 +30,7 @@ + + #pragma once + ++#include + #include + #include + #include From 66c24b384a3a83746359c461cbbecfb2bd6c29e6 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 3 Jun 2025 05:53:56 -0500 Subject: [PATCH 57/98] Fix build on s390x --- build.patch | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/build.patch b/build.patch index 3df43ec..a6dc0e8 100644 --- a/build.patch +++ b/build.patch @@ -123,3 +123,27 @@ index 50069f3890c1..afc401067ff5 100644 #include #include #include +diff --git a/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp b/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp +index a3fcd68ff8b7..f0192cc2d69f 100644 +--- a/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp ++++ b/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp +@@ -30,6 +30,7 @@ + + #include "CairoUtilities.h" + #include "GraphicsContext.h" ++#include "NativeImage.h" + + namespace WebCore { + +diff --git a/Source/WebCore/rendering/style/RenderStyleConstants.h b/Source/WebCore/rendering/style/RenderStyleConstants.h +index 50520bc3f2c0..db48b47f713f 100644 +--- a/Source/WebCore/rendering/style/RenderStyleConstants.h ++++ b/Source/WebCore/rendering/style/RenderStyleConstants.h +@@ -26,6 +26,7 @@ + #pragma once + + #include ++#include + #include + + namespace WTF { From 72c8cf7cd9c6a2c0b8b4037b89eef883a7b8874e Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 11 Jun 2025 14:04:07 -0500 Subject: [PATCH 58/98] Fix small scale factor in GTK 3 apps --- gtk3-scale-factor.patch | 30 ++++++++++++++++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 33 insertions(+) create mode 100644 gtk3-scale-factor.patch diff --git a/gtk3-scale-factor.patch b/gtk3-scale-factor.patch new file mode 100644 index 0000000..c6f5a9e --- /dev/null +++ b/gtk3-scale-factor.patch @@ -0,0 +1,30 @@ +From fe253715172d02456f4e1568a2e25cbca468129c Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Mon, 9 Jun 2025 06:55:17 -0700 +Subject: [PATCH] REGRESSION(293449@main): [GTK] rendering and fonts broken in + GTK 3 https://bugs.webkit.org/show_bug.cgi?id=294027 + +Reviewed by Michael Catanzaro. + +In 293449@main I moved the the code to get fopnt DPI from Web process to +UI process but I forgot the value received in the web process divided by +1024, so for GTK3 we need to multiply the value get. + +Canonical link: https://commits.webkit.org/295992@main +--- + Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp b/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp +index 9ef483a6b0ab..349cd3d9efd7 100644 +--- a/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp ++++ b/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp +@@ -116,7 +116,7 @@ int SystemSettingsManagerProxy::xftDPI() const + // additional font scaling factor. + if (auto* display = gdk_display_get_default()) { + if (auto* screen = gdk_display_get_default_screen(display)) +- return gdk_screen_get_resolution(screen); ++ return gdk_screen_get_resolution(screen) * 1024; + } + #endif + int dpiSetting; diff --git a/webkitgtk.spec b/webkitgtk.spec index 67066c6..d8f43b7 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -63,6 +63,9 @@ Patch: gtk3-build.patch # https://bugs.webkit.org/show_bug.cgi?id=293853 Patch: build.patch +# https://bugs.webkit.org/show_bug.cgi?id=294027 +Patch: gtk3-scale-factor.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 94eac66f047a8b1ba9bb78f38a691267db54f9ee Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 27 Jun 2025 12:40:02 -0500 Subject: [PATCH 59/98] Update to 2.49.3 --- build.patch | 149 ------------ gtk3-build.patch | 528 ++++++++++++++++++++++++++++++---------- gtk3-scale-factor.patch | 30 --- sources | 4 +- webkitgtk.spec | 13 +- 5 files changed, 411 insertions(+), 313 deletions(-) delete mode 100644 build.patch delete mode 100644 gtk3-scale-factor.patch diff --git a/build.patch b/build.patch deleted file mode 100644 index a6dc0e8..0000000 --- a/build.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 368a2890dc28047bb2b112cae170296edc3bcca3 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Sat, 31 May 2025 10:13:02 -0500 -Subject: [PATCH] SmallSet.h:181:27: error: implicit instantiation of undefined - template 'std::numeric_limits' - https://bugs.webkit.org/show_bug.cgi?id=293853 - -Unreviewed build fix. - -* Source/WTF/wtf/SmallSet.h: ---- - Source/WTF/wtf/SmallSet.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Source/WTF/wtf/SmallSet.h b/Source/WTF/wtf/SmallSet.h -index 65a5e48bfaa4..f1eaac631b16 100644 ---- a/Source/WTF/wtf/SmallSet.h -+++ b/Source/WTF/wtf/SmallSet.h -@@ -25,6 +25,7 @@ - - #pragma once - -+#include - #include - #include - #include --- -2.49.0 - -diff --git a/Source/JavaScriptCore/bytecode/SourceID.h b/Source/JavaScriptCore/bytecode/SourceID.h -index cfa489f29189..4e0e5f738db2 100644 ---- a/Source/JavaScriptCore/bytecode/SourceID.h -+++ b/Source/JavaScriptCore/bytecode/SourceID.h -@@ -25,6 +25,8 @@ - - #pragma once - -+#include -+ - namespace JSC { - - using SourceID = uint32_t; -diff --git a/Source/JavaScriptCore/jit/GdbJIT.cpp b/Source/JavaScriptCore/jit/GdbJIT.cpp -index f49de33b14fb..d574ff83ba0e 100644 ---- a/Source/JavaScriptCore/jit/GdbJIT.cpp -+++ b/Source/JavaScriptCore/jit/GdbJIT.cpp -@@ -28,7 +28,8 @@ - - #include - --#if ENABLE(ASSEMBLER) && (OS(DARWIN) || OS(LINUX)) -+#if ENABLE(ASSEMBLER) -+#if OS(DARWIN) || OS(LINUX) - - #include "CallFrame.h" - #include "CallFrameInlines.h" -@@ -1492,4 +1493,5 @@ void GdbJIT::log(const CString&, MacroAssemblerCodeRef) { } - - } // namespace JSC - --#endif // ENABLE(ASSEMBLER) && (OS(DARWIN) || OS(LINUX)) -+#endif // OS(DARWIN) || OS(LINUX) -+#endif // ENABLE(ASSEMBLER) -diff --git a/Source/JavaScriptCore/runtime/PureNaN.h b/Source/JavaScriptCore/runtime/PureNaN.h -index 8cab247c8d4a..f96f45b1b54b 100644 ---- a/Source/JavaScriptCore/runtime/PureNaN.h -+++ b/Source/JavaScriptCore/runtime/PureNaN.h -@@ -26,6 +26,7 @@ - #pragma once - - #include -+#include - #include - #include - -diff --git a/Source/JavaScriptCore/yarr/Yarr.h b/Source/JavaScriptCore/yarr/Yarr.h -index 87a554fff25d..1fca142b3b6b 100644 ---- a/Source/JavaScriptCore/yarr/Yarr.h -+++ b/Source/JavaScriptCore/yarr/Yarr.h -@@ -27,7 +27,7 @@ - - #pragma once - --#include -+#include - #include "YarrErrorCode.h" - - namespace JSC { namespace Yarr { -diff --git a/Source/WTF/wtf/WeakRandom.h b/Source/WTF/wtf/WeakRandom.h -index 22aa3a3163e4..bb3c5695e380 100644 ---- a/Source/WTF/wtf/WeakRandom.h -+++ b/Source/WTF/wtf/WeakRandom.h -@@ -30,7 +30,7 @@ - - #pragma once - --#include -+#include - #include - #include - -diff --git a/Source/WTF/wtf/text/icu/UTextProvider.h b/Source/WTF/wtf/text/icu/UTextProvider.h -index e2f58542ecff..dc42629cac34 100644 ---- a/Source/WTF/wtf/text/icu/UTextProvider.h -+++ b/Source/WTF/wtf/text/icu/UTextProvider.h -@@ -25,6 +25,7 @@ - - #pragma once - -+#include - #include - - namespace WTF { -diff --git a/Source/WebCore/platform/DateComponents.h b/Source/WebCore/platform/DateComponents.h -index 50069f3890c1..afc401067ff5 100644 ---- a/Source/WebCore/platform/DateComponents.h -+++ b/Source/WebCore/platform/DateComponents.h -@@ -30,6 +30,7 @@ - - #pragma once - -+#include - #include - #include - #include -diff --git a/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp b/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp -index a3fcd68ff8b7..f0192cc2d69f 100644 ---- a/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp -+++ b/Source/WebCore/platform/graphics/cairo/PatternCairo.cpp -@@ -30,6 +30,7 @@ - - #include "CairoUtilities.h" - #include "GraphicsContext.h" -+#include "NativeImage.h" - - namespace WebCore { - -diff --git a/Source/WebCore/rendering/style/RenderStyleConstants.h b/Source/WebCore/rendering/style/RenderStyleConstants.h -index 50520bc3f2c0..db48b47f713f 100644 ---- a/Source/WebCore/rendering/style/RenderStyleConstants.h -+++ b/Source/WebCore/rendering/style/RenderStyleConstants.h -@@ -26,6 +26,7 @@ - #pragma once - - #include -+#include - #include - - namespace WTF { diff --git a/gtk3-build.patch b/gtk3-build.patch index 7f624f5..14a1dee 100644 --- a/gtk3-build.patch +++ b/gtk3-build.patch @@ -1,143 +1,425 @@ -From e2e4647281ff5f666597e979f582ce780cb31604 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Fri, 30 May 2025 15:35:03 -0500 -Subject: [PATCH] [GTK] 2.49.2 does not build for GTK 3 - https://bugs.webkit.org/show_bug.cgi?id=293816 +From 38464a7003c6bf54820f6504fcd871892562c6a5 Mon Sep 17 00:00:00 2001 +From: Diego Pino Garcia +Date: Fri, 27 Jun 2025 08:58:20 -0700 +Subject: [PATCH] [GTK] Unreviewed, fix build after 296441@main + https://bugs.webkit.org/show_bug.cgi?id=294750 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit -Unreviewed build fixes. +Fix build error: 'error: use of ‘window’ before deduction of ‘auto’'. + +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: +(webkit_dom_dom_window_webkit_message_handlers_post_message): + +Canonical link: https://commits.webkit.org/296729@main --- - .../WebCore/Modules/mediastream/MediaStreamTrack.cpp | 6 ++++++ - Source/WebCore/Modules/mediastream/MediaStreamTrack.h | 2 +- - .../API/gtk/DOM/WebKitDOMCharacterData.cpp | 2 ++ - .../API/gtk/DOM/WebKitDOMDOMSelection.cpp | 10 +++++----- - .../InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp | 1 + - .../WebCoreSupport/glib/WebEditorClientGLib.cpp | 1 + - Tools/TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp | 2 +- - Tools/TestWebKitAPI/glib/WebKitGLib/TestMain.h | 2 ++ - 8 files changed, 19 insertions(+), 7 deletions(-) + .../InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp -index a401952f20b7..41df25b748e5 100644 ---- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp -+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp -@@ -31,6 +31,7 @@ - #if ENABLE(MEDIA_STREAM) - - #include "CommonAtomStrings.h" -+#include "ContextDestructionObserverInlines.h" - #include "Document.h" - #include "Event.h" - #include "EventNames.h" -@@ -645,6 +646,11 @@ Ref MediaStreamTrack::create(ScriptExecutionContext& context, - return track; +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp +index faa6ac17b7e6..9ab5ef182740 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp +@@ -1048,14 +1048,14 @@ glong webkit_dom_dom_window_get_orientation(WebKitDOMDOMWindow* self) + #endif /* ENABLE(ORIENTATION_EVENTS) */ } -+ScriptExecutionContext* MediaStreamTrack::scriptExecutionContext() const -+{ -+ return ActiveDOMObject::scriptExecutionContext(); -+} -+ - #if !RELEASE_LOG_DISABLED - WTFLogChannel& MediaStreamTrack::logChannel() const +-gboolean webkit_dom_dom_window_webkit_message_handlers_post_message(WebKitDOMDOMWindow* window, const gchar* handlerName, const gchar* message) ++gboolean webkit_dom_dom_window_webkit_message_handlers_post_message(WebKitDOMDOMWindow* self, const gchar* handlerName, const gchar* message) { -diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h -index 9beb8a93fc42..cd42ed010b4c 100644 ---- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h -+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h -@@ -189,7 +189,7 @@ class MediaStreamTrack - protected: - MediaStreamTrack(ScriptExecutionContext&, Ref&&); +- g_return_val_if_fail(WEBKIT_DOM_IS_DOM_WINDOW(window), FALSE); ++ g_return_val_if_fail(WEBKIT_DOM_IS_DOM_WINDOW(self), FALSE); + g_return_val_if_fail(handlerName, FALSE); + g_return_val_if_fail(message, FALSE); -- ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); } -+ ScriptExecutionContext* scriptExecutionContext() const final; + #if ENABLE(USER_MESSAGE_HANDLERS) +- auto* window = WebKit::core(window); ++ auto* window = WebKit::core(self); + if (!window->shouldHaveWebKitNamespaceForWorld(WebCore::mainThreadNormalWorldSingleton())) + return FALSE; - private: - explicit MediaStreamTrack(MediaStreamTrack&); -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp -index 200689e76721..c1fec9da2d2c 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp -@@ -24,8 +24,10 @@ - #include "DOMObjectCache.h" - #include - #include -+#include - #include "GObjectEventListener.h" - #include -+#include - #include "WebKitDOMCharacterDataPrivate.h" - #include "WebKitDOMElementPrivate.h" - #include "WebKitDOMEventPrivate.h" -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp -index c5e283b08eab..2233726e3752 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp -@@ -397,7 +397,7 @@ void webkit_dom_dom_selection_set_base_and_extent(WebKitDOMDOMSelection* self, W - WebCore::DOMSelection* item = WebKit::core(self); - WebCore::Node* convertedBaseNode = WebKit::core(baseNode); - WebCore::Node* convertedExtentNode = WebKit::core(extentNode); -- item->setBaseAndExtent(convertedBaseNode, baseOffset, convertedExtentNode, extentOffset); -+ item->setBaseAndExtent(*convertedBaseNode, baseOffset, *convertedExtentNode, extentOffset); + +From 31e27a58c3e3fe92faee345e0f626cf70070f422 Mon Sep 17 00:00:00 2001 +From: Diego Pino Garcia +Date: Fri, 27 Jun 2025 17:35:33 +0200 +Subject: [PATCH] [GTK3] Fix build after 296427@main + https://bugs.webkit.org/show_bug.cgi?id=289440 + +Reviewed by NOBODY (OOPS!). + +Rename setter/getter functions, according to changes in 296427@main. + +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp: +(webkit_dom_html_base_element_set_href): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp: +(webkit_dom_html_button_element_set_button_type): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp: +(webkit_dom_html_canvas_element_set_width): +(webkit_dom_html_canvas_element_set_height): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp: +(webkit_dom_html_element_set_dir): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp: +(webkit_dom_html_embed_element_get_height): +(webkit_dom_html_embed_element_get_width): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp: +(webkit_dom_html_form_element_set_enctype): +(webkit_dom_html_form_element_set_encoding): +(webkit_dom_html_form_element_set_method): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp: +(webkit_dom_html_image_element_set_height): +(webkit_dom_html_image_element_get_hspace): +(webkit_dom_html_image_element_get_vspace): +(webkit_dom_html_image_element_set_width): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp: +(webkit_dom_html_input_element_set_height): +(webkit_dom_html_input_element_set_input_type): +(webkit_dom_html_input_element_get_default_value): +(webkit_dom_html_input_element_set_default_value): +(webkit_dom_html_input_element_set_width): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp: +(webkit_dom_html_li_element_get_value): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp: +(webkit_dom_html_o_list_element_set_start): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp: +(webkit_dom_html_object_element_get_hspace): +(webkit_dom_html_object_element_get_vspace): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp: +(webkit_dom_html_option_element_set_label): +(webkit_dom_html_option_element_set_value): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp: +(webkit_dom_html_pre_element_get_width): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp: +(webkit_dom_html_table_cell_element_set_scope): +* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp: +(webkit_dom_html_text_area_element_set_default_value): +--- + .../API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp | 2 +- + .../API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp | 2 +- + .../API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp | 4 ++-- + .../API/gtk/DOM/WebKitDOMHTMLElement.cpp | 2 +- + .../API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp | 4 ++-- + .../API/gtk/DOM/WebKitDOMHTMLFormElement.cpp | 6 +++--- + .../API/gtk/DOM/WebKitDOMHTMLImageElement.cpp | 8 ++++---- + .../API/gtk/DOM/WebKitDOMHTMLInputElement.cpp | 10 +++++----- + .../API/gtk/DOM/WebKitDOMHTMLLIElement.cpp | 2 +- + .../API/gtk/DOM/WebKitDOMHTMLOListElement.cpp | 2 +- + .../API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp | 4 ++-- + .../API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp | 4 ++-- + .../API/gtk/DOM/WebKitDOMHTMLPreElement.cpp | 2 +- + .../API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp | 2 +- + .../API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp | 2 +- + 15 files changed, 28 insertions(+), 28 deletions(-) + +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp +index 78d53de55852..be2f36ebeefd 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp +@@ -184,7 +184,7 @@ void webkit_dom_html_base_element_set_href(WebKitDOMHTMLBaseElement* self, const + g_return_if_fail(WEBKIT_DOM_IS_HTML_BASE_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLBaseElement* item = WebKit::core(self); +- item->setHref(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::hrefAttr, WTF::AtomString::fromUTF8(value)); } - void webkit_dom_dom_selection_set_position(WebKitDOMDOMSelection* self, WebKitDOMNode* node, gulong offset) -@@ -500,7 +500,7 @@ WebKitDOMNode* webkit_dom_dom_selection_get_base_node(WebKitDOMDOMSelection* sel - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); - WebCore::DOMSelection* item = WebKit::core(self); -- RefPtr gobjectResult = WTF::getPtr(item->baseNode()); -+ RefPtr gobjectResult = WTF::getPtr(item->anchorNode()); - return WebKit::kit(gobjectResult.get()); + gchar* webkit_dom_html_base_element_get_target(WebKitDOMHTMLBaseElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp +index 17e146e09bdf..09cb7ceb074f 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp +@@ -307,7 +307,7 @@ void webkit_dom_html_button_element_set_button_type(WebKitDOMHTMLButtonElement* + g_return_if_fail(WEBKIT_DOM_IS_HTML_BUTTON_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLButtonElement* item = WebKit::core(self); +- item->setType(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::typeAttr, WTF::AtomString::fromUTF8(value)); } -@@ -509,7 +509,7 @@ gulong webkit_dom_dom_selection_get_base_offset(WebKitDOMDOMSelection* self) + gchar* webkit_dom_html_button_element_get_name(WebKitDOMHTMLButtonElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp +index 0ca47d0ef1ee..dd8c7fc11a47 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp +@@ -181,7 +181,7 @@ void webkit_dom_html_canvas_element_set_width(WebKitDOMHTMLCanvasElement* self, WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); - WebCore::DOMSelection* item = WebKit::core(self); -- gulong result = item->baseOffset(); -+ gulong result = item->anchorOffset(); + g_return_if_fail(WEBKIT_DOM_IS_HTML_CANVAS_ELEMENT(self)); + WebCore::HTMLCanvasElement* item = WebKit::core(self); +- item->setWidth(value); ++ item->setIntegralAttribute(WebCore::HTMLNames::widthAttr, value); + } + + glong webkit_dom_html_canvas_element_get_height(WebKitDOMHTMLCanvasElement* self) +@@ -198,7 +198,7 @@ void webkit_dom_html_canvas_element_set_height(WebKitDOMHTMLCanvasElement* self, + WebCore::JSMainThreadNullState state; + g_return_if_fail(WEBKIT_DOM_IS_HTML_CANVAS_ELEMENT(self)); + WebCore::HTMLCanvasElement* item = WebKit::core(self); +- item->setHeight(value); ++ item->setUnsignedIntegralAttribute(WebCore::HTMLNames::heightAttr, value); + } + + G_GNUC_END_IGNORE_DEPRECATIONS; +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp +index 33667b56133b..18acbcf35e83 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp +@@ -447,7 +447,7 @@ void webkit_dom_html_element_set_dir(WebKitDOMHTMLElement* self, const gchar* va + g_return_if_fail(WEBKIT_DOM_IS_HTML_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLElement* item = WebKit::core(self); +- item->setDir(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::dirAttr, WTF::AtomString::fromUTF8(value)); + } + + glong webkit_dom_html_element_get_tab_index(WebKitDOMHTMLElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp +index b73741772853..efb2b7d98595 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp +@@ -260,7 +260,7 @@ glong webkit_dom_html_embed_element_get_height(WebKitDOMHTMLEmbedElement* self) + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_EMBED_ELEMENT(self), 0); + WebCore::HTMLEmbedElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::heightAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::heightAttr); return result; } -@@ -518,7 +518,7 @@ WebKitDOMNode* webkit_dom_dom_selection_get_extent_node(WebKitDOMDOMSelection* s +@@ -331,7 +331,7 @@ glong webkit_dom_html_embed_element_get_width(WebKitDOMHTMLEmbedElement* self) WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); - WebCore::DOMSelection* item = WebKit::core(self); -- RefPtr gobjectResult = WTF::getPtr(item->extentNode()); -+ RefPtr gobjectResult = WTF::getPtr(item->focusNode()); - return WebKit::kit(gobjectResult.get()); - } - -@@ -527,7 +527,7 @@ gulong webkit_dom_dom_selection_get_extent_offset(WebKitDOMDOMSelection* self) - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_DOM_SELECTION(self), 0); - WebCore::DOMSelection* item = WebKit::core(self); -- gulong result = item->extentOffset(); -+ gulong result = item->focusOffset(); + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_EMBED_ELEMENT(self), 0); + WebCore::HTMLEmbedElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::widthAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::widthAttr); return result; } -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp -index 472a8d0d00eb..10a093a4ef5d 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include "WebKitDOMDocumentPrivate.h" -diff --git a/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp b/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp -index ab382eed0311..c0691f3fba51 100644 ---- a/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp -+++ b/Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - #include - #include - #include +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp +index a8bf64b52d77..aebf4887a2e7 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp +@@ -349,7 +349,7 @@ void webkit_dom_html_form_element_set_enctype(WebKitDOMHTMLFormElement* self, co + g_return_if_fail(WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLFormElement* item = WebKit::core(self); +- item->setEnctype(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::enctypeAttr, WTF::AtomString::fromUTF8(value)); + } + + gchar* webkit_dom_html_form_element_get_encoding(WebKitDOMHTMLFormElement* self) +@@ -367,7 +367,7 @@ void webkit_dom_html_form_element_set_encoding(WebKitDOMHTMLFormElement* self, c + g_return_if_fail(WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLFormElement* item = WebKit::core(self); +- item->setEnctype(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::enctypeAttr, WTF::AtomString::fromUTF8(value)); + } + + gchar* webkit_dom_html_form_element_get_method(WebKitDOMHTMLFormElement* self) +@@ -385,7 +385,7 @@ void webkit_dom_html_form_element_set_method(WebKitDOMHTMLFormElement* self, con + g_return_if_fail(WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLFormElement* item = WebKit::core(self); +- item->setMethod(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::methodAttr, WTF::AtomString::fromUTF8(value)); + } + + gchar* webkit_dom_html_form_element_get_name(WebKitDOMHTMLFormElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp +index 2e3eed819328..39f9699379ed 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp +@@ -512,7 +512,7 @@ void webkit_dom_html_image_element_set_height(WebKitDOMHTMLImageElement* self, g + WebCore::JSMainThreadNullState state; + g_return_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self)); + WebCore::HTMLImageElement* item = WebKit::core(self); +- item->setHeight(value); ++ item->setUnsignedIntegralAttribute(WebCore::HTMLNames::heightAttr, value); + } + + glong webkit_dom_html_image_element_get_hspace(WebKitDOMHTMLImageElement* self) +@@ -520,7 +520,7 @@ glong webkit_dom_html_image_element_get_hspace(WebKitDOMHTMLImageElement* self) + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self), 0); + WebCore::HTMLImageElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::hspaceAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::hspaceAttr); + return result; + } + +@@ -608,7 +608,7 @@ glong webkit_dom_html_image_element_get_vspace(WebKitDOMHTMLImageElement* self) + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self), 0); + WebCore::HTMLImageElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::vspaceAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::vspaceAttr); + return result; + } + +@@ -634,7 +634,7 @@ void webkit_dom_html_image_element_set_width(WebKitDOMHTMLImageElement* self, gl + WebCore::JSMainThreadNullState state; + g_return_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self)); + WebCore::HTMLImageElement* item = WebKit::core(self); +- item->setWidth(value); ++ item->setIntegralAttribute(WebCore::HTMLNames::widthAttr, value); + } + + gboolean webkit_dom_html_image_element_get_complete(WebKitDOMHTMLImageElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp +index 0752d05673da..2946b1020b4e 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp +@@ -692,7 +692,7 @@ void webkit_dom_html_input_element_set_height(WebKitDOMHTMLInputElement* self, g + WebCore::JSMainThreadNullState state; + g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); + WebCore::HTMLInputElement* item = WebKit::core(self); +- item->setHeight(value); ++ item->setUnsignedIntegralAttribute(WebCore::HTMLNames::heightAttr, value); + } + + gboolean webkit_dom_html_input_element_get_indeterminate(WebKitDOMHTMLInputElement* self) +@@ -841,7 +841,7 @@ void webkit_dom_html_input_element_set_input_type(WebKitDOMHTMLInputElement* sel + g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLInputElement* item = WebKit::core(self); +- item->setType(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::typeAttr, WTF::AtomString::fromUTF8(value)); + } + + gchar* webkit_dom_html_input_element_get_default_value(WebKitDOMHTMLInputElement* self) +@@ -849,7 +849,7 @@ gchar* webkit_dom_html_input_element_get_default_value(WebKitDOMHTMLInputElement + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self), 0); + WebCore::HTMLInputElement* item = WebKit::core(self); +- gchar* result = convertToUTF8String(item->defaultValue()); ++ gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::valueAttr)); + return result; + } + +@@ -859,7 +859,7 @@ void webkit_dom_html_input_element_set_default_value(WebKitDOMHTMLInputElement* + g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLInputElement* item = WebKit::core(self); +- item->setDefaultValue(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::valueAttr, WTF::AtomString::fromUTF8(value)); + } + + gchar* webkit_dom_html_input_element_get_value(WebKitDOMHTMLInputElement* self) +@@ -895,7 +895,7 @@ void webkit_dom_html_input_element_set_width(WebKitDOMHTMLInputElement* self, gu + WebCore::JSMainThreadNullState state; + g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); + WebCore::HTMLInputElement* item = WebKit::core(self); +- item->setWidth(value); ++ item->setIntegralAttribute(WebCore::HTMLNames::widthAttr, value); + } + + gboolean webkit_dom_html_input_element_get_will_validate(WebKitDOMHTMLInputElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp +index c22096e26f4d..66df49397c6a 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp +@@ -192,7 +192,7 @@ glong webkit_dom_html_li_element_get_value(WebKitDOMHTMLLIElement* self) + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_LI_ELEMENT(self), 0); + WebCore::HTMLLIElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::valueAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::valueAttr); + return result; + } + +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp +index 022ebe840bbf..3036ea1152c3 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp +@@ -217,7 +217,7 @@ void webkit_dom_html_o_list_element_set_start(WebKitDOMHTMLOListElement* self, g + WebCore::JSMainThreadNullState state; + g_return_if_fail(WEBKIT_DOM_IS_HTML_O_LIST_ELEMENT(self)); + WebCore::HTMLOListElement* item = WebKit::core(self); +- item->setStartForBindings(value); ++ item->setIntegralAttribute(WebCore::HTMLNames::startAttr, value); + } + + gchar* webkit_dom_html_o_list_element_get_type_attr(WebKitDOMHTMLOListElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp +index 3e2ad49c8d3b..690b1a0a9cee 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp +@@ -612,7 +612,7 @@ glong webkit_dom_html_object_element_get_hspace(WebKitDOMHTMLObjectElement* self + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_OBJECT_ELEMENT(self), 0); + WebCore::HTMLObjectElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::hspaceAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::hspaceAttr); + return result; + } + +@@ -694,7 +694,7 @@ glong webkit_dom_html_object_element_get_vspace(WebKitDOMHTMLObjectElement* self + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_OBJECT_ELEMENT(self), 0); + WebCore::HTMLObjectElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::vspaceAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::vspaceAttr); + return result; + } + +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp +index 7fa821976293..66b7e757fa30 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp +@@ -304,7 +304,7 @@ void webkit_dom_html_option_element_set_label(WebKitDOMHTMLOptionElement* self, + g_return_if_fail(WEBKIT_DOM_IS_HTML_OPTION_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLOptionElement* item = WebKit::core(self); +- item->setLabel(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::labelAttr, WTF::AtomString::fromUTF8(value)); + } + + gboolean webkit_dom_html_option_element_get_default_selected(WebKitDOMHTMLOptionElement* self) +@@ -356,7 +356,7 @@ void webkit_dom_html_option_element_set_value(WebKitDOMHTMLOptionElement* self, + g_return_if_fail(WEBKIT_DOM_IS_HTML_OPTION_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLOptionElement* item = WebKit::core(self); +- item->setValue(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::valueAttr, WTF::AtomString::fromUTF8(value)); + } + + gchar* webkit_dom_html_option_element_get_text(WebKitDOMHTMLOptionElement* self) +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp +index 10631d7ee645..bfdcc1007e9e 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp +@@ -174,7 +174,7 @@ glong webkit_dom_html_pre_element_get_width(WebKitDOMHTMLPreElement* self) + WebCore::JSMainThreadNullState state; + g_return_val_if_fail(WEBKIT_DOM_IS_HTML_PRE_ELEMENT(self), 0); + WebCore::HTMLPreElement* item = WebKit::core(self); +- glong result = item->getIntegralAttribute(WebCore::HTMLNames::widthAttr); ++ glong result = item->integralAttribute(WebCore::HTMLNames::widthAttr); + return result; + } + +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp +index 3c450258090a..41ca69eabd78 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp +@@ -642,7 +642,7 @@ void webkit_dom_html_table_cell_element_set_scope(WebKitDOMHTMLTableCellElement* + g_return_if_fail(WEBKIT_DOM_IS_HTML_TABLE_CELL_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLTableCellElement* item = WebKit::core(self); +- item->setScope(WTF::AtomString::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::scopeAttr, WTF::AtomString::fromUTF8(value)); + } + + G_GNUC_END_IGNORE_DEPRECATIONS; +diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp +index d92030734699..4f4b62c6397e 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp +@@ -502,7 +502,7 @@ void webkit_dom_html_text_area_element_set_default_value(WebKitDOMHTMLTextAreaEl + g_return_if_fail(WEBKIT_DOM_IS_HTML_TEXT_AREA_ELEMENT(self)); + g_return_if_fail(value); + WebCore::HTMLTextAreaElement* item = WebKit::core(self); +- item->setDefaultValue(WTF::String::fromUTF8(value)); ++ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::valueAttr, WTF::AtomString::fromUTF8(value)); + } + + gchar* webkit_dom_html_text_area_element_get_value(WebKitDOMHTMLTextAreaElement* self) diff --git a/gtk3-scale-factor.patch b/gtk3-scale-factor.patch deleted file mode 100644 index c6f5a9e..0000000 --- a/gtk3-scale-factor.patch +++ /dev/null @@ -1,30 +0,0 @@ -From fe253715172d02456f4e1568a2e25cbca468129c Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Mon, 9 Jun 2025 06:55:17 -0700 -Subject: [PATCH] REGRESSION(293449@main): [GTK] rendering and fonts broken in - GTK 3 https://bugs.webkit.org/show_bug.cgi?id=294027 - -Reviewed by Michael Catanzaro. - -In 293449@main I moved the the code to get fopnt DPI from Web process to -UI process but I forgot the value received in the web process divided by -1024, so for GTK3 we need to multiply the value get. - -Canonical link: https://commits.webkit.org/295992@main ---- - Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp b/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp -index 9ef483a6b0ab..349cd3d9efd7 100644 ---- a/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp -+++ b/Source/WebKit/UIProcess/gtk/SystemSettingsManagerProxyGtk.cpp -@@ -116,7 +116,7 @@ int SystemSettingsManagerProxy::xftDPI() const - // additional font scaling factor. - if (auto* display = gdk_display_get_default()) { - if (auto* screen = gdk_display_get_default_screen(display)) -- return gdk_screen_get_resolution(screen); -+ return gdk_screen_get_resolution(screen) * 1024; - } - #endif - int dpiSetting; diff --git a/sources b/sources index b377c05..8a9e7a0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.49.2.tar.xz) = bd8a7b76492c83148d0004ebdef557caf10a166b0b61acb701eb5de8085ea1d0ac4b5ed662d219f7dbeb5462f904a91b07e985d57433ee1db3cb425a6996b2a1 -SHA512 (webkitgtk-2.49.2.tar.xz.asc) = 2261f6f212fc5fb33e5c81e8d114ec330719fe6c61df572a8de92484509db035197c9d493f9b8c9e9ac577e460ec7adb4ad1b8b23df2861fbf9ea4742d1a046b +SHA512 (webkitgtk-2.49.3.tar.xz) = 991375bd293013065d0efe931858ec9e004fde5831b1726931916f19e777575583fb1f8b06cb9017f491c0dd4cf0d446ee22f9d4da84f28db9411a40bbd8d4a7 +SHA512 (webkitgtk-2.49.3.tar.xz.asc) = 60106258d8e1cc75cd967c1713bba0e88a85048e27882ce27cdd7c1213e9d902e07add6259837da162058c94bc0d3d38d3f4009c792b4b06554d99a464d4e755 diff --git a/webkitgtk.spec b/webkitgtk.spec index d8f43b7..7ca0317 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.49.2 +Version: 2.49.3 Release: %autorelease Summary: GTK web content engine library @@ -57,14 +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=293816 -Patch: gtk3-build.patch - -# https://bugs.webkit.org/show_bug.cgi?id=293853 -Patch: build.patch - -# https://bugs.webkit.org/show_bug.cgi?id=294027 -Patch: gtk3-scale-factor.patch +# https://commits.webkit.org/296729@main +# https://github.com/WebKit/WebKit/pull/47302 +Patch0: gtk3-build.patch BuildRequires: bison BuildRequires: bubblewrap From bb6ce8f764c46cd12add92f752eb6aff7dbf4c66 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:21:05 +0000 Subject: [PATCH 60/98] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 52eb35f0bc388cf8418ace4c5ea8cde9b6b9d41e Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sun, 3 Aug 2025 13:39:45 -0500 Subject: [PATCH 61/98] Update to 2.49.4 --- gtk3-build.patch | 452 ++++------------------------------------------- sources | 4 +- webkitgtk.spec | 7 +- 3 files changed, 42 insertions(+), 421 deletions(-) diff --git a/gtk3-build.patch b/gtk3-build.patch index 14a1dee..a9fe613 100644 --- a/gtk3-build.patch +++ b/gtk3-build.patch @@ -1,425 +1,47 @@ -From 38464a7003c6bf54820f6504fcd871892562c6a5 Mon Sep 17 00:00:00 2001 -From: Diego Pino Garcia -Date: Fri, 27 Jun 2025 08:58:20 -0700 -Subject: [PATCH] [GTK] Unreviewed, fix build after 296441@main - https://bugs.webkit.org/show_bug.cgi?id=294750 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +From cc5fa20e86a3b76814abeb8d6726f0f6c3b66d62 Mon Sep 17 00:00:00 2001 +From: Miguel Gomez +Date: Thu, 31 Jul 2025 23:49:57 -0700 +Subject: [PATCH] REGRESSION(297498@main): [WPE] build broken when using API + 1.1 https://bugs.webkit.org/show_bug.cgi?id=296738 -Fix build error: 'error: use of ‘window’ before deduction of ‘auto’'. +Reviewed by Carlos Garcia Campos. -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: -(webkit_dom_dom_window_webkit_message_handlers_post_message): +Update the webkitJavascriptResultCreate() function so it receives a +WebKit::JavaScriptEvaluationResult&& parameter instead of a +WebCore::SerializedScriptValue& one. -Canonical link: https://commits.webkit.org/296729@main +Also, add a missing JavaScriptEvaluationResult.h include. + +* Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp: +(webkitJavascriptResultCreate): + +Canonical link: https://commits.webkit.org/298116@main --- - .../InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp -index faa6ac17b7e6..9ab5ef182740 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp -@@ -1048,14 +1048,14 @@ glong webkit_dom_dom_window_get_orientation(WebKitDOMDOMWindow* self) - #endif /* ENABLE(ORIENTATION_EVENTS) */ - } +diff --git a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp +index cc724bb49be6..c65a360e7c8e 100644 +--- a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp ++++ b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp +@@ -23,6 +23,7 @@ + #if !ENABLE(2022_GLIB_API) --gboolean webkit_dom_dom_window_webkit_message_handlers_post_message(WebKitDOMDOMWindow* window, const gchar* handlerName, const gchar* message) -+gboolean webkit_dom_dom_window_webkit_message_handlers_post_message(WebKitDOMDOMWindow* self, const gchar* handlerName, const gchar* message) + #include "APISerializedScriptValue.h" ++#include "JavaScriptEvaluationResult.h" + #include "WebKitJavascriptResultPrivate.h" + #include + #include +@@ -46,10 +47,10 @@ struct _WebKitJavascriptResult { + + G_DEFINE_BOXED_TYPE(WebKitJavascriptResult, webkit_javascript_result, webkit_javascript_result_ref, webkit_javascript_result_unref) + +-WebKitJavascriptResult* webkitJavascriptResultCreate(WebCore::SerializedScriptValue& serializedScriptValue) ++WebKitJavascriptResult* webkitJavascriptResultCreate(WebKit::JavaScriptEvaluationResult&& scriptResult) { -- g_return_val_if_fail(WEBKIT_DOM_IS_DOM_WINDOW(window), FALSE); -+ g_return_val_if_fail(WEBKIT_DOM_IS_DOM_WINDOW(self), FALSE); - g_return_val_if_fail(handlerName, FALSE); - g_return_val_if_fail(message, FALSE); - - #if ENABLE(USER_MESSAGE_HANDLERS) -- auto* window = WebKit::core(window); -+ auto* window = WebKit::core(self); - if (!window->shouldHaveWebKitNamespaceForWorld(WebCore::mainThreadNormalWorldSingleton())) - return FALSE; - - -From 31e27a58c3e3fe92faee345e0f626cf70070f422 Mon Sep 17 00:00:00 2001 -From: Diego Pino Garcia -Date: Fri, 27 Jun 2025 17:35:33 +0200 -Subject: [PATCH] [GTK3] Fix build after 296427@main - https://bugs.webkit.org/show_bug.cgi?id=289440 - -Reviewed by NOBODY (OOPS!). - -Rename setter/getter functions, according to changes in 296427@main. - -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp: -(webkit_dom_html_base_element_set_href): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp: -(webkit_dom_html_button_element_set_button_type): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp: -(webkit_dom_html_canvas_element_set_width): -(webkit_dom_html_canvas_element_set_height): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp: -(webkit_dom_html_element_set_dir): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp: -(webkit_dom_html_embed_element_get_height): -(webkit_dom_html_embed_element_get_width): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp: -(webkit_dom_html_form_element_set_enctype): -(webkit_dom_html_form_element_set_encoding): -(webkit_dom_html_form_element_set_method): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp: -(webkit_dom_html_image_element_set_height): -(webkit_dom_html_image_element_get_hspace): -(webkit_dom_html_image_element_get_vspace): -(webkit_dom_html_image_element_set_width): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp: -(webkit_dom_html_input_element_set_height): -(webkit_dom_html_input_element_set_input_type): -(webkit_dom_html_input_element_get_default_value): -(webkit_dom_html_input_element_set_default_value): -(webkit_dom_html_input_element_set_width): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp: -(webkit_dom_html_li_element_get_value): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp: -(webkit_dom_html_o_list_element_set_start): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp: -(webkit_dom_html_object_element_get_hspace): -(webkit_dom_html_object_element_get_vspace): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp: -(webkit_dom_html_option_element_set_label): -(webkit_dom_html_option_element_set_value): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp: -(webkit_dom_html_pre_element_get_width): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp: -(webkit_dom_html_table_cell_element_set_scope): -* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp: -(webkit_dom_html_text_area_element_set_default_value): ---- - .../API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp | 2 +- - .../API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp | 2 +- - .../API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp | 4 ++-- - .../API/gtk/DOM/WebKitDOMHTMLElement.cpp | 2 +- - .../API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp | 4 ++-- - .../API/gtk/DOM/WebKitDOMHTMLFormElement.cpp | 6 +++--- - .../API/gtk/DOM/WebKitDOMHTMLImageElement.cpp | 8 ++++---- - .../API/gtk/DOM/WebKitDOMHTMLInputElement.cpp | 10 +++++----- - .../API/gtk/DOM/WebKitDOMHTMLLIElement.cpp | 2 +- - .../API/gtk/DOM/WebKitDOMHTMLOListElement.cpp | 2 +- - .../API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp | 4 ++-- - .../API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp | 4 ++-- - .../API/gtk/DOM/WebKitDOMHTMLPreElement.cpp | 2 +- - .../API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp | 2 +- - .../API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp | 2 +- - 15 files changed, 28 insertions(+), 28 deletions(-) - -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp -index 78d53de55852..be2f36ebeefd 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp -@@ -184,7 +184,7 @@ void webkit_dom_html_base_element_set_href(WebKitDOMHTMLBaseElement* self, const - g_return_if_fail(WEBKIT_DOM_IS_HTML_BASE_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLBaseElement* item = WebKit::core(self); -- item->setHref(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::hrefAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_base_element_get_target(WebKitDOMHTMLBaseElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp -index 17e146e09bdf..09cb7ceb074f 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp -@@ -307,7 +307,7 @@ void webkit_dom_html_button_element_set_button_type(WebKitDOMHTMLButtonElement* - g_return_if_fail(WEBKIT_DOM_IS_HTML_BUTTON_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLButtonElement* item = WebKit::core(self); -- item->setType(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::typeAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_button_element_get_name(WebKitDOMHTMLButtonElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp -index 0ca47d0ef1ee..dd8c7fc11a47 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp -@@ -181,7 +181,7 @@ void webkit_dom_html_canvas_element_set_width(WebKitDOMHTMLCanvasElement* self, - WebCore::JSMainThreadNullState state; - g_return_if_fail(WEBKIT_DOM_IS_HTML_CANVAS_ELEMENT(self)); - WebCore::HTMLCanvasElement* item = WebKit::core(self); -- item->setWidth(value); -+ item->setIntegralAttribute(WebCore::HTMLNames::widthAttr, value); - } - - glong webkit_dom_html_canvas_element_get_height(WebKitDOMHTMLCanvasElement* self) -@@ -198,7 +198,7 @@ void webkit_dom_html_canvas_element_set_height(WebKitDOMHTMLCanvasElement* self, - WebCore::JSMainThreadNullState state; - g_return_if_fail(WEBKIT_DOM_IS_HTML_CANVAS_ELEMENT(self)); - WebCore::HTMLCanvasElement* item = WebKit::core(self); -- item->setHeight(value); -+ item->setUnsignedIntegralAttribute(WebCore::HTMLNames::heightAttr, value); - } - - G_GNUC_END_IGNORE_DEPRECATIONS; -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp -index 33667b56133b..18acbcf35e83 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp -@@ -447,7 +447,7 @@ void webkit_dom_html_element_set_dir(WebKitDOMHTMLElement* self, const gchar* va - g_return_if_fail(WEBKIT_DOM_IS_HTML_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLElement* item = WebKit::core(self); -- item->setDir(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::dirAttr, WTF::AtomString::fromUTF8(value)); - } - - glong webkit_dom_html_element_get_tab_index(WebKitDOMHTMLElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp -index b73741772853..efb2b7d98595 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp -@@ -260,7 +260,7 @@ glong webkit_dom_html_embed_element_get_height(WebKitDOMHTMLEmbedElement* self) - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_EMBED_ELEMENT(self), 0); - WebCore::HTMLEmbedElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::heightAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::heightAttr); + WebKitJavascriptResult* result = static_cast(fastMalloc(sizeof(WebKitJavascriptResult))); +- new (result) WebKitJavascriptResult(serializedScriptValue); ++ new (result) WebKitJavascriptResult(WTFMove(scriptResult)); return result; } -@@ -331,7 +331,7 @@ glong webkit_dom_html_embed_element_get_width(WebKitDOMHTMLEmbedElement* self) - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_EMBED_ELEMENT(self), 0); - WebCore::HTMLEmbedElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::widthAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::widthAttr); - return result; - } - -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp -index a8bf64b52d77..aebf4887a2e7 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp -@@ -349,7 +349,7 @@ void webkit_dom_html_form_element_set_enctype(WebKitDOMHTMLFormElement* self, co - g_return_if_fail(WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLFormElement* item = WebKit::core(self); -- item->setEnctype(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::enctypeAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_form_element_get_encoding(WebKitDOMHTMLFormElement* self) -@@ -367,7 +367,7 @@ void webkit_dom_html_form_element_set_encoding(WebKitDOMHTMLFormElement* self, c - g_return_if_fail(WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLFormElement* item = WebKit::core(self); -- item->setEnctype(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::enctypeAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_form_element_get_method(WebKitDOMHTMLFormElement* self) -@@ -385,7 +385,7 @@ void webkit_dom_html_form_element_set_method(WebKitDOMHTMLFormElement* self, con - g_return_if_fail(WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLFormElement* item = WebKit::core(self); -- item->setMethod(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::methodAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_form_element_get_name(WebKitDOMHTMLFormElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp -index 2e3eed819328..39f9699379ed 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp -@@ -512,7 +512,7 @@ void webkit_dom_html_image_element_set_height(WebKitDOMHTMLImageElement* self, g - WebCore::JSMainThreadNullState state; - g_return_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self)); - WebCore::HTMLImageElement* item = WebKit::core(self); -- item->setHeight(value); -+ item->setUnsignedIntegralAttribute(WebCore::HTMLNames::heightAttr, value); - } - - glong webkit_dom_html_image_element_get_hspace(WebKitDOMHTMLImageElement* self) -@@ -520,7 +520,7 @@ glong webkit_dom_html_image_element_get_hspace(WebKitDOMHTMLImageElement* self) - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self), 0); - WebCore::HTMLImageElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::hspaceAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::hspaceAttr); - return result; - } - -@@ -608,7 +608,7 @@ glong webkit_dom_html_image_element_get_vspace(WebKitDOMHTMLImageElement* self) - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self), 0); - WebCore::HTMLImageElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::vspaceAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::vspaceAttr); - return result; - } - -@@ -634,7 +634,7 @@ void webkit_dom_html_image_element_set_width(WebKitDOMHTMLImageElement* self, gl - WebCore::JSMainThreadNullState state; - g_return_if_fail(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(self)); - WebCore::HTMLImageElement* item = WebKit::core(self); -- item->setWidth(value); -+ item->setIntegralAttribute(WebCore::HTMLNames::widthAttr, value); - } - - gboolean webkit_dom_html_image_element_get_complete(WebKitDOMHTMLImageElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp -index 0752d05673da..2946b1020b4e 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp -@@ -692,7 +692,7 @@ void webkit_dom_html_input_element_set_height(WebKitDOMHTMLInputElement* self, g - WebCore::JSMainThreadNullState state; - g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); - WebCore::HTMLInputElement* item = WebKit::core(self); -- item->setHeight(value); -+ item->setUnsignedIntegralAttribute(WebCore::HTMLNames::heightAttr, value); - } - - gboolean webkit_dom_html_input_element_get_indeterminate(WebKitDOMHTMLInputElement* self) -@@ -841,7 +841,7 @@ void webkit_dom_html_input_element_set_input_type(WebKitDOMHTMLInputElement* sel - g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLInputElement* item = WebKit::core(self); -- item->setType(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::typeAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_input_element_get_default_value(WebKitDOMHTMLInputElement* self) -@@ -849,7 +849,7 @@ gchar* webkit_dom_html_input_element_get_default_value(WebKitDOMHTMLInputElement - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self), 0); - WebCore::HTMLInputElement* item = WebKit::core(self); -- gchar* result = convertToUTF8String(item->defaultValue()); -+ gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::valueAttr)); - return result; - } - -@@ -859,7 +859,7 @@ void webkit_dom_html_input_element_set_default_value(WebKitDOMHTMLInputElement* - g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLInputElement* item = WebKit::core(self); -- item->setDefaultValue(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::valueAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_input_element_get_value(WebKitDOMHTMLInputElement* self) -@@ -895,7 +895,7 @@ void webkit_dom_html_input_element_set_width(WebKitDOMHTMLInputElement* self, gu - WebCore::JSMainThreadNullState state; - g_return_if_fail(WEBKIT_DOM_IS_HTML_INPUT_ELEMENT(self)); - WebCore::HTMLInputElement* item = WebKit::core(self); -- item->setWidth(value); -+ item->setIntegralAttribute(WebCore::HTMLNames::widthAttr, value); - } - - gboolean webkit_dom_html_input_element_get_will_validate(WebKitDOMHTMLInputElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp -index c22096e26f4d..66df49397c6a 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp -@@ -192,7 +192,7 @@ glong webkit_dom_html_li_element_get_value(WebKitDOMHTMLLIElement* self) - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_LI_ELEMENT(self), 0); - WebCore::HTMLLIElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::valueAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::valueAttr); - return result; - } - -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp -index 022ebe840bbf..3036ea1152c3 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp -@@ -217,7 +217,7 @@ void webkit_dom_html_o_list_element_set_start(WebKitDOMHTMLOListElement* self, g - WebCore::JSMainThreadNullState state; - g_return_if_fail(WEBKIT_DOM_IS_HTML_O_LIST_ELEMENT(self)); - WebCore::HTMLOListElement* item = WebKit::core(self); -- item->setStartForBindings(value); -+ item->setIntegralAttribute(WebCore::HTMLNames::startAttr, value); - } - - gchar* webkit_dom_html_o_list_element_get_type_attr(WebKitDOMHTMLOListElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp -index 3e2ad49c8d3b..690b1a0a9cee 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp -@@ -612,7 +612,7 @@ glong webkit_dom_html_object_element_get_hspace(WebKitDOMHTMLObjectElement* self - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_OBJECT_ELEMENT(self), 0); - WebCore::HTMLObjectElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::hspaceAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::hspaceAttr); - return result; - } - -@@ -694,7 +694,7 @@ glong webkit_dom_html_object_element_get_vspace(WebKitDOMHTMLObjectElement* self - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_OBJECT_ELEMENT(self), 0); - WebCore::HTMLObjectElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::vspaceAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::vspaceAttr); - return result; - } - -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp -index 7fa821976293..66b7e757fa30 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp -@@ -304,7 +304,7 @@ void webkit_dom_html_option_element_set_label(WebKitDOMHTMLOptionElement* self, - g_return_if_fail(WEBKIT_DOM_IS_HTML_OPTION_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLOptionElement* item = WebKit::core(self); -- item->setLabel(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::labelAttr, WTF::AtomString::fromUTF8(value)); - } - - gboolean webkit_dom_html_option_element_get_default_selected(WebKitDOMHTMLOptionElement* self) -@@ -356,7 +356,7 @@ void webkit_dom_html_option_element_set_value(WebKitDOMHTMLOptionElement* self, - g_return_if_fail(WEBKIT_DOM_IS_HTML_OPTION_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLOptionElement* item = WebKit::core(self); -- item->setValue(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::valueAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_option_element_get_text(WebKitDOMHTMLOptionElement* self) -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp -index 10631d7ee645..bfdcc1007e9e 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp -@@ -174,7 +174,7 @@ glong webkit_dom_html_pre_element_get_width(WebKitDOMHTMLPreElement* self) - WebCore::JSMainThreadNullState state; - g_return_val_if_fail(WEBKIT_DOM_IS_HTML_PRE_ELEMENT(self), 0); - WebCore::HTMLPreElement* item = WebKit::core(self); -- glong result = item->getIntegralAttribute(WebCore::HTMLNames::widthAttr); -+ glong result = item->integralAttribute(WebCore::HTMLNames::widthAttr); - return result; - } - -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp -index 3c450258090a..41ca69eabd78 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp -@@ -642,7 +642,7 @@ void webkit_dom_html_table_cell_element_set_scope(WebKitDOMHTMLTableCellElement* - g_return_if_fail(WEBKIT_DOM_IS_HTML_TABLE_CELL_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLTableCellElement* item = WebKit::core(self); -- item->setScope(WTF::AtomString::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::scopeAttr, WTF::AtomString::fromUTF8(value)); - } - - G_GNUC_END_IGNORE_DEPRECATIONS; -diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp -index d92030734699..4f4b62c6397e 100644 ---- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp -+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp -@@ -502,7 +502,7 @@ void webkit_dom_html_text_area_element_set_default_value(WebKitDOMHTMLTextAreaEl - g_return_if_fail(WEBKIT_DOM_IS_HTML_TEXT_AREA_ELEMENT(self)); - g_return_if_fail(value); - WebCore::HTMLTextAreaElement* item = WebKit::core(self); -- item->setDefaultValue(WTF::String::fromUTF8(value)); -+ item->setAttributeWithoutSynchronization(WebCore::HTMLNames::valueAttr, WTF::AtomString::fromUTF8(value)); - } - - gchar* webkit_dom_html_text_area_element_get_value(WebKitDOMHTMLTextAreaElement* self) diff --git a/sources b/sources index 8a9e7a0..9507c0a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.49.3.tar.xz) = 991375bd293013065d0efe931858ec9e004fde5831b1726931916f19e777575583fb1f8b06cb9017f491c0dd4cf0d446ee22f9d4da84f28db9411a40bbd8d4a7 -SHA512 (webkitgtk-2.49.3.tar.xz.asc) = 60106258d8e1cc75cd967c1713bba0e88a85048e27882ce27cdd7c1213e9d902e07add6259837da162058c94bc0d3d38d3f4009c792b4b06554d99a464d4e755 +SHA512 (webkitgtk-2.49.4.tar.xz) = 86b7787855e030add9cc1a68bc0b0fcf52afffb4e411aa8f94214cc06a1908b64caf6279c1baabd1bdb5ecf22cbc221019cb671cedee020ea844bcf55f9c26ac +SHA512 (webkitgtk-2.49.4.tar.xz.asc) = 766133cec1bf09c8003c3c13e5e64729595670f36c245604d4b3879bf6c2ff61051f6f53dd38964836dd202abc98bc50e958c0d88079b32cc318cfd8c13010bf diff --git a/webkitgtk.spec b/webkitgtk.spec index 7ca0317..7df6d02 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.49.3 +Version: 2.49.4 Release: %autorelease Summary: GTK web content engine library @@ -57,9 +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://commits.webkit.org/296729@main -# https://github.com/WebKit/WebKit/pull/47302 -Patch0: gtk3-build.patch +# https://github.com/WebKit/WebKit/pull/48770 +Patch: gtk3-build.patch BuildRequires: bison BuildRequires: bubblewrap From b90e2d1d6795f15a2c9586e22626520ce8246e13 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 4 Aug 2025 16:27:39 -0500 Subject: [PATCH 62/98] Add patch to fix build without bmalloc --- system-malloc-build.patch | 50 +++++++++++++++++++++++++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 53 insertions(+) create mode 100644 system-malloc-build.patch diff --git a/system-malloc-build.patch b/system-malloc-build.patch new file mode 100644 index 0000000..ae2358c --- /dev/null +++ b/system-malloc-build.patch @@ -0,0 +1,50 @@ +diff --git a/Source/WebKit/Platform/IPC/Connection.h b/Source/WebKit/Platform/IPC/Connection.h +index dd82d57ef958..2d35a5f620e0 100644 +--- a/Source/WebKit/Platform/IPC/Connection.h ++++ b/Source/WebKit/Platform/IPC/Connection.h +@@ -35,8 +35,6 @@ + #include "SyncRequestID.h" + #include "Timeout.h" + #include +-#include +-#include + #include + #include + #include +@@ -82,6 +80,11 @@ + #include + #endif + ++#if !USE(SYSTEM_MALLOC) ++#include ++#include ++#endif ++ + #if USE(UNIX_DOMAIN_SOCKETS) + #include + #endif +diff --git a/Source/WebKit/Platform/IPC/Decoder.h b/Source/WebKit/Platform/IPC/Decoder.h +index 11f0de4ae504..3d93c67aa300 100644 +--- a/Source/WebKit/Platform/IPC/Decoder.h ++++ b/Source/WebKit/Platform/IPC/Decoder.h +@@ -29,8 +29,6 @@ + #include "MessageNames.h" + #include "ReceiverMatcher.h" + #include "SyncRequestID.h" +-#include +-#include + #include + #include + #include +@@ -47,6 +45,11 @@ + #include "ImportanceAssertion.h" + #endif + ++#if !USE(SYSTEM_MALLOC) ++#include ++#include ++#endif ++ + #ifdef __OBJC__ + typedef Class ClassStructPtr; + #else diff --git a/webkitgtk.spec b/webkitgtk.spec index 7df6d02..e203de8 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -60,6 +60,9 @@ Source2: webkitgtk-keys.gpg # https://github.com/WebKit/WebKit/pull/48770 Patch: gtk3-build.patch +# https://bugs.webkit.org/show_bug.cgi?id=296888 +Patch: system-malloc-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From aa09283b95791b6323afa6a2f8a37b2175852ae4 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 2 Sep 2025 12:31:32 -0500 Subject: [PATCH 63/98] Update to 2.49.90 --- gtk3-build.patch | 47 ------------------------------------ sources | 4 ++-- system-malloc-build.patch | 50 --------------------------------------- webkitgtk.spec | 8 +------ 4 files changed, 3 insertions(+), 106 deletions(-) delete mode 100644 gtk3-build.patch delete mode 100644 system-malloc-build.patch diff --git a/gtk3-build.patch b/gtk3-build.patch deleted file mode 100644 index a9fe613..0000000 --- a/gtk3-build.patch +++ /dev/null @@ -1,47 +0,0 @@ -From cc5fa20e86a3b76814abeb8d6726f0f6c3b66d62 Mon Sep 17 00:00:00 2001 -From: Miguel Gomez -Date: Thu, 31 Jul 2025 23:49:57 -0700 -Subject: [PATCH] REGRESSION(297498@main): [WPE] build broken when using API - 1.1 https://bugs.webkit.org/show_bug.cgi?id=296738 - -Reviewed by Carlos Garcia Campos. - -Update the webkitJavascriptResultCreate() function so it receives a -WebKit::JavaScriptEvaluationResult&& parameter instead of a -WebCore::SerializedScriptValue& one. - -Also, add a missing JavaScriptEvaluationResult.h include. - -* Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp: -(webkitJavascriptResultCreate): - -Canonical link: https://commits.webkit.org/298116@main ---- - Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp -index cc724bb49be6..c65a360e7c8e 100644 ---- a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp -+++ b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.cpp -@@ -23,6 +23,7 @@ - #if !ENABLE(2022_GLIB_API) - - #include "APISerializedScriptValue.h" -+#include "JavaScriptEvaluationResult.h" - #include "WebKitJavascriptResultPrivate.h" - #include - #include -@@ -46,10 +47,10 @@ struct _WebKitJavascriptResult { - - G_DEFINE_BOXED_TYPE(WebKitJavascriptResult, webkit_javascript_result, webkit_javascript_result_ref, webkit_javascript_result_unref) - --WebKitJavascriptResult* webkitJavascriptResultCreate(WebCore::SerializedScriptValue& serializedScriptValue) -+WebKitJavascriptResult* webkitJavascriptResultCreate(WebKit::JavaScriptEvaluationResult&& scriptResult) - { - WebKitJavascriptResult* result = static_cast(fastMalloc(sizeof(WebKitJavascriptResult))); -- new (result) WebKitJavascriptResult(serializedScriptValue); -+ new (result) WebKitJavascriptResult(WTFMove(scriptResult)); - return result; - } - diff --git a/sources b/sources index 9507c0a..6702262 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.49.4.tar.xz) = 86b7787855e030add9cc1a68bc0b0fcf52afffb4e411aa8f94214cc06a1908b64caf6279c1baabd1bdb5ecf22cbc221019cb671cedee020ea844bcf55f9c26ac -SHA512 (webkitgtk-2.49.4.tar.xz.asc) = 766133cec1bf09c8003c3c13e5e64729595670f36c245604d4b3879bf6c2ff61051f6f53dd38964836dd202abc98bc50e958c0d88079b32cc318cfd8c13010bf +SHA512 (webkitgtk-2.49.90.tar.xz) = 8ea04d6c8fff85fd5a023092f8127d009e8db158ba4289ada8b0003ed807a9bd598e891c7513fc090380802a6abcae6a2b4621dbe81ddf362d371ef9cbd4c740 +SHA512 (webkitgtk-2.49.90.tar.xz.asc) = 6e41bb3b678fc7a9cffeb97ba29d4333bea6ff30abf0f65e9177552fefe14c4fe130143627ba8974d642b1a12da5917c649404ea1ce5ec8981856a20baddf295 diff --git a/system-malloc-build.patch b/system-malloc-build.patch deleted file mode 100644 index ae2358c..0000000 --- a/system-malloc-build.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/Source/WebKit/Platform/IPC/Connection.h b/Source/WebKit/Platform/IPC/Connection.h -index dd82d57ef958..2d35a5f620e0 100644 ---- a/Source/WebKit/Platform/IPC/Connection.h -+++ b/Source/WebKit/Platform/IPC/Connection.h -@@ -35,8 +35,6 @@ - #include "SyncRequestID.h" - #include "Timeout.h" - #include --#include --#include - #include - #include - #include -@@ -82,6 +80,11 @@ - #include - #endif - -+#if !USE(SYSTEM_MALLOC) -+#include -+#include -+#endif -+ - #if USE(UNIX_DOMAIN_SOCKETS) - #include - #endif -diff --git a/Source/WebKit/Platform/IPC/Decoder.h b/Source/WebKit/Platform/IPC/Decoder.h -index 11f0de4ae504..3d93c67aa300 100644 ---- a/Source/WebKit/Platform/IPC/Decoder.h -+++ b/Source/WebKit/Platform/IPC/Decoder.h -@@ -29,8 +29,6 @@ - #include "MessageNames.h" - #include "ReceiverMatcher.h" - #include "SyncRequestID.h" --#include --#include - #include - #include - #include -@@ -47,6 +45,11 @@ - #include "ImportanceAssertion.h" - #endif - -+#if !USE(SYSTEM_MALLOC) -+#include -+#include -+#endif -+ - #ifdef __OBJC__ - typedef Class ClassStructPtr; - #else diff --git a/webkitgtk.spec b/webkitgtk.spec index e203de8..3db100b 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.49.4 +Version: 2.49.90 Release: %autorelease Summary: GTK web content engine library @@ -57,12 +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/pull/48770 -Patch: gtk3-build.patch - -# https://bugs.webkit.org/show_bug.cgi?id=296888 -Patch: system-malloc-build.patch - BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From d67dad2242b3ae3f96c0e2b9eaa0713e02245b36 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 17 Sep 2025 15:59:17 -0500 Subject: [PATCH 64/98] Update to 2.50.0 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 6702262..652580c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.49.90.tar.xz) = 8ea04d6c8fff85fd5a023092f8127d009e8db158ba4289ada8b0003ed807a9bd598e891c7513fc090380802a6abcae6a2b4621dbe81ddf362d371ef9cbd4c740 -SHA512 (webkitgtk-2.49.90.tar.xz.asc) = 6e41bb3b678fc7a9cffeb97ba29d4333bea6ff30abf0f65e9177552fefe14c4fe130143627ba8974d642b1a12da5917c649404ea1ce5ec8981856a20baddf295 +SHA512 (webkitgtk-2.50.0.tar.xz) = 7e3a7ecdd71e21566b3e364ccb7573bec4f86c7cf5fbe5ce6f3fcbb1ed8e5674d9ed239b48fe330afe8f7370bbb323f6500f78a25f4572d8e02d7d274ec843b4 +SHA512 (webkitgtk-2.50.0.tar.xz.asc) = 68c62bd077f28816c0177e93fa01deae85619f55b510f204d57b59f6ae2d9c1bd1255c2dae4214e43ed2ef6c76f4cd42433f47af4146fcd1f14f707c7a377a80 diff --git a/webkitgtk.spec b/webkitgtk.spec index 3db100b..f86f09f 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.49.90 +Version: 2.50.0 Release: %autorelease Summary: GTK web content engine library From 8e9ab98460a5cec9884d6790e79421e2be3d2e13 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 18 Sep 2025 13:34:53 -0500 Subject: [PATCH 65/98] Fix build on i686 --- i686-build.patch | 18 ++++++++++++++++++ webkitgtk.spec | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 i686-build.patch diff --git a/i686-build.patch b/i686-build.patch new file mode 100644 index 0000000..13f98bc --- /dev/null +++ b/i686-build.patch @@ -0,0 +1,18 @@ +diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm +index af53fe269664..237fd6aab9c8 100644 +--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm ++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm +@@ -2958,6 +2958,13 @@ _wasm_ipint_call_return_location_wide16: + _wasm_ipint_call_return_location_wide32: + crash() + ++if C_LOOP and not JSVALUE64 ++_op_instanceof_return_location: ++_op_instanceof_return_location_wide16: ++_op_instanceof_return_location_wide32: ++ crash() ++end ++ + end # WEBASSEMBLY + + include? LowLevelInterpreterAdditions diff --git a/webkitgtk.spec b/webkitgtk.spec index f86f09f..2df6af7 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=299018 +Patch: i686-build.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 463777b07dee4c87e8e619b788f37d139983f411 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 29 Sep 2025 22:02:02 +0000 Subject: [PATCH 66/98] Backport upstream patch to fix build with clang-22 --- 0001-Change-use-of-removed-intrinsic.patch | 38 ++++++++++++++++++++++ webkitgtk.spec | 10 ++++++ 2 files changed, 48 insertions(+) create mode 100644 0001-Change-use-of-removed-intrinsic.patch diff --git a/0001-Change-use-of-removed-intrinsic.patch b/0001-Change-use-of-removed-intrinsic.patch new file mode 100644 index 0000000..25afe4e --- /dev/null +++ b/0001-Change-use-of-removed-intrinsic.patch @@ -0,0 +1,38 @@ +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/webkitgtk.spec b/webkitgtk.spec index 2df6af7..12fa871 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -60,6 +60,16 @@ Source2: webkitgtk-keys.gpg # https://bugs.webkit.org/show_bug.cgi?id=299018 Patch: i686-build.patch +# 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 + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang From 70f01d15c869fd03b2dc13e3d6ef029a9f5744ae Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Fri, 10 Oct 2025 15:23:51 -0500 Subject: [PATCH 67/98] Update to 2.50.1 --- i686-build.patch | 18 ------------------ sources | 4 ++-- webkitgtk.spec | 5 +---- 3 files changed, 3 insertions(+), 24 deletions(-) delete mode 100644 i686-build.patch diff --git a/i686-build.patch b/i686-build.patch deleted file mode 100644 index 13f98bc..0000000 --- a/i686-build.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm -index af53fe269664..237fd6aab9c8 100644 ---- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm -+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm -@@ -2958,6 +2958,13 @@ _wasm_ipint_call_return_location_wide16: - _wasm_ipint_call_return_location_wide32: - crash() - -+if C_LOOP and not JSVALUE64 -+_op_instanceof_return_location: -+_op_instanceof_return_location_wide16: -+_op_instanceof_return_location_wide32: -+ crash() -+end -+ - end # WEBASSEMBLY - - include? LowLevelInterpreterAdditions diff --git a/sources b/sources index 652580c..ff730c9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.50.0.tar.xz) = 7e3a7ecdd71e21566b3e364ccb7573bec4f86c7cf5fbe5ce6f3fcbb1ed8e5674d9ed239b48fe330afe8f7370bbb323f6500f78a25f4572d8e02d7d274ec843b4 -SHA512 (webkitgtk-2.50.0.tar.xz.asc) = 68c62bd077f28816c0177e93fa01deae85619f55b510f204d57b59f6ae2d9c1bd1255c2dae4214e43ed2ef6c76f4cd42433f47af4146fcd1f14f707c7a377a80 +SHA512 (webkitgtk-2.50.1.tar.xz) = 4b7b6c5ae02f1dbcff26e7af4ee4e3cdd4435c61dfaf17c2981422358dea01cfba0ffe8c6f12c7864b6f1ee6c9906dfa64248bc95effed526e9ade3ad1292888 +SHA512 (webkitgtk-2.50.1.tar.xz.asc) = c430677ec8e147750f3dc69f2b6252da9bc9b4df61c0976213dea535be8973dc746b22137d508899d28095f58197e52ffa003ab2033b2c20a6c03d1a1b327e2c diff --git a/webkitgtk.spec b/webkitgtk.spec index 12fa871..e5d318a 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.50.0 +Version: 2.50.1 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=299018 -Patch: i686-build.patch - # Fix for building with clang-22 # This patch comes from: # https://skia.googlesource.com/skcms.git/+/135488419331644e59091ecc73e682299d3937a4 From 759c43c95978e35f2f1409e8c103f3a229347863 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 29 Oct 2025 16:09:53 -0500 Subject: [PATCH 68/98] 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 69/98] 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 86e5954ac4d0d40aa7a76b043c463d2969536717 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 19 Nov 2025 10:12:57 -0600 Subject: [PATCH 70/98] 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 71/98] 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 dbaa715e88b916fb19db3ad17232407f7f389e4d Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 9 Dec 2025 14:38:21 -0600 Subject: [PATCH 72/98] 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 95247f68dfea276360c8aa6a6e3999629d1c6aa8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 19 Dec 2025 13:21:14 +0100 Subject: [PATCH 73/98] 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 74/98] 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 75/98] 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 76/98] 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 77/98] 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 78/98] 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 79/98] 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 80/98] 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 81/98] 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 82/98] 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 83/98] 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 84/98] 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 85/98] 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 86/98] 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 87/98] 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 88/98] 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 89/98] 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 90/98] 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 91/98] 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 92/98] 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 93/98] 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 94/98] 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 95/98] 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 96/98] 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 97/98] 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 From b012b80ce66fec07e7d3bd607e1c5691b42c1bd6 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 2 Sep 2026 15:32:41 -0500 Subject: [PATCH 98/98] Update to 2.53.92 --- sources | 4 ++-- webkitgtk.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 3934793..2062ce2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.53.91.tar.xz) = 0bb5ec4c75cf0dcd4ccc46b7cf8595722d447385b75ed6ec79333b56203f681077fa355600210edb4fe6344e4af2943c7fb5b1bff6e35a7ec1ea456d891a1951 -SHA512 (webkitgtk-2.53.91.tar.xz.asc) = 72f6f01f8f3e12228ee70202b9b9bda589c80a791086cde6d6af5f2f916b44877b984267c6a5970f4fe41ff7dac21bccfa7323f19d71f6fd3e4a87abb18be58c +SHA512 (webkitgtk-2.53.92.tar.xz) = 2be95cb351b300a1ec248b518861d31fd55f25f83d6ab05a12a0612b3f83a64f903404d40dfcd8e06558c562f5926c98b2e3995bed43741852c8ede65f416d08 +SHA512 (webkitgtk-2.53.92.tar.xz.asc) = 9a632b0fa3c3a6324be99d3141cd7fd4c2fb4c4dabc6adf27204b843a3478bc3c699ad2727b122621d2cdae9bc6de02327ba1cc07aa66a8e16429070914e6633 diff --git a/webkitgtk.spec b/webkitgtk.spec index 1ebef07..ce6ebf4 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %endif Name: webkitgtk -Version: 2.53.91 +Version: 2.53.92 Release: %autorelease Summary: GTK web content engine library