Accepting request 1158982 from GNOME:Next

GNOME 46

OBS-URL: https://build.opensuse.org/request/show/1158982
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/webkit2gtk3?expand=0&rev=453
This commit is contained in:
Dominique Leuenberger 2024-03-19 13:32:06 +00:00 committed by Git OBS Bridge
parent 2d970a7439
commit bdd087914d
10 changed files with 119 additions and 108 deletions

View File

@ -1,4 +1,2 @@
libjavascriptcoregtk-4_0-18
libjavascriptcoregtk-4_1-0
libwebkit2gtk-4_0-37
libwebkit2gtk-4_1-0

18
webkit2gtk3-271108.patch Normal file
View File

@ -0,0 +1,18 @@
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> 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");

View File

@ -1,80 +0,0 @@
From 855a2ca13f6a85b0aacb0576fbbc9a926e646b2e Mon Sep 17 00:00:00 2001
From: Carlos Garcia Campos <cgarcia@igalia.com>
Date: Thu, 31 Aug 2023 09:26:26 -0700
Subject: [PATCH] [GTK][WPE] Do not use epoxy
PlatformDisplay::create|destroyEGLImage
https://bugs.webkit.org/show_bug.cgi?id=260968
Reviewed by Michael Catanzaro.
libepoxy needs a current context to work, but creating EGL images
doesn't need any context, it's display API.
* Source/WebCore/platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createEGLImage const):
(WebCore::PlatformDisplay::destroyEGLImage const):
Canonical link: https://commits.webkit.org/267503@main
---
.../platform/graphics/PlatformDisplay.cpp | 16 ----------------
1 file changed, 16 deletions(-)
diff -urp webkitgtk-2.42.1.orig/Source/WebCore/platform/graphics/PlatformDisplay.cpp webkitgtk-2.42.1/Source/WebCore/platform/graphics/PlatformDisplay.cpp
--- webkitgtk-2.42.1.orig/Source/WebCore/platform/graphics/PlatformDisplay.cpp 2023-09-19 03:27:49.807693000 -0500
+++ webkitgtk-2.42.1/Source/WebCore/platform/graphics/PlatformDisplay.cpp 2023-10-23 13:09:55.996812760 -0500
@@ -374,14 +374,10 @@ void PlatformDisplay::terminateEGLDispla
EGLImage PlatformDisplay::createEGLImage(EGLContext context, EGLenum target, EGLClientBuffer clientBuffer, const Vector<EGLAttrib>& attributes) const
{
if (eglCheckVersion(1, 5)) {
-#if USE(LIBEPOXY)
- return eglCreateImage(m_eglDisplay, context, target, clientBuffer, attributes.isEmpty() ? nullptr : attributes.data());
-#else
static PFNEGLCREATEIMAGEPROC s_eglCreateImage = reinterpret_cast<PFNEGLCREATEIMAGEPROC>(eglGetProcAddress("eglCreateImage"));
if (s_eglCreateImage)
return s_eglCreateImage(m_eglDisplay, context, target, clientBuffer, attributes.isEmpty() ? nullptr : attributes.data());
return EGL_NO_IMAGE;
-#endif
}
if (!m_eglExtensions.KHR_image_base)
@@ -390,40 +386,28 @@ EGLImage PlatformDisplay::createEGLImage
Vector<EGLint> intAttributes = attributes.map<Vector<EGLint>>([] (EGLAttrib value) {
return value;
});
-#if USE(LIBEPOXY)
- return eglCreateImageKHR(m_eglDisplay, context, target, clientBuffer, intAttributes.isEmpty() ? nullptr : intAttributes.data());
-#else
static PFNEGLCREATEIMAGEKHRPROC s_eglCreateImageKHR = reinterpret_cast<PFNEGLCREATEIMAGEKHRPROC>(eglGetProcAddress("eglCreateImageKHR"));
if (s_eglCreateImageKHR)
return s_eglCreateImageKHR(m_eglDisplay, context, target, clientBuffer, intAttributes.isEmpty() ? nullptr : intAttributes.data());
return EGL_NO_IMAGE_KHR;
-#endif
}
bool PlatformDisplay::destroyEGLImage(EGLImage image) const
{
if (eglCheckVersion(1, 5)) {
-#if USE(LIBEPOXY)
- return eglDestroyImage(m_eglDisplay, image);
-#else
static PFNEGLDESTROYIMAGEPROC s_eglDestroyImage = reinterpret_cast<PFNEGLDESTROYIMAGEPROC>(eglGetProcAddress("eglDestroyImage"));
if (s_eglDestroyImage)
return s_eglDestroyImage(m_eglDisplay, image);
return false;
-#endif
}
if (!m_eglExtensions.KHR_image_base)
return false;
-#if USE(LIBEPOXY)
- return eglDestroyImageKHR(m_eglDisplay, image);
-#else
static PFNEGLDESTROYIMAGEKHRPROC s_eglDestroyImageKHR = reinterpret_cast<PFNEGLDESTROYIMAGEKHRPROC>(eglGetProcAddress("eglDestroyImageKHR"));
if (s_eglDestroyImageKHR)
return s_eglDestroyImageKHR(m_eglDisplay, image);
return false;
-#endif
}
#if USE(GBM)

View File

@ -3,25 +3,27 @@ Subject: Disable DMABuf renderer for NVIDIA proprietary drivers
Bug: https://bugs.webkit.org/show_bug.cgi?id=262607
Bug-Debian: https://bugs.debian.org/1039720
Origin: https://github.com/WebKit/WebKit/pull/18614
Index: webkitgtk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
Index: webkitgtk-2.44.0/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
===================================================================
--- webkitgtk.orig/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
+++ webkitgtk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
@@ -36,11 +36,13 @@
--- webkitgtk-2.44.0.orig/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
+++ webkitgtk-2.44.0/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
@@ -37,6 +37,7 @@
#include <WebCore/GLContext.h>
#include <WebCore/IntRect.h>
#include <WebCore/PlatformDisplay.h>
+#include <WebCore/PlatformDisplaySurfaceless.h>
#include <WebCore/ShareableBitmap.h>
#include <WebCore/SharedMemory.h>
#include <epoxy/egl.h>
#include <wtf/glib/GUniquePtr.h>
@@ -45,6 +46,7 @@
#if USE(GBM)
#include <WebCore/DMABufFormat.h>
#include <drm_fourcc.h>
+#include <WebCore/PlatformDisplayGBM.h>
#include <gbm.h>
static constexpr uint64_t s_dmabufInvalidModifier = uint64_t(WebCore::DMABufFormat::Modifier::Invalid);
#else
@@ -53,6 +55,29 @@ static constexpr uint64_t s_dmabufInvali
static constexpr uint64_t s_dmabufInvalidModifier = DRM_FORMAT_MOD_INVALID;
@@ -58,6 +60,29 @@ static constexpr uint64_t s_dmabufInvali
namespace WebKit {
@ -51,7 +53,7 @@ Index: webkitgtk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
OptionSet<DMABufRendererBufferMode> AcceleratedBackingStoreDMABuf::rendererBufferMode()
{
static OptionSet<DMABufRendererBufferMode> mode;
@@ -68,6 +93,9 @@ OptionSet<DMABufRendererBufferMode> Acce
@@ -73,6 +98,9 @@ OptionSet<DMABufRendererBufferMode> Acce
return;
}
@ -60,4 +62,4 @@ Index: webkitgtk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
+
mode.add(DMABufRendererBufferMode::SharedMemory);
const auto& eglExtensions = WebCore::PlatformDisplay::sharedDisplay().eglExtensions();
const char* forceSHM = getenv("WEBKIT_DMABUF_RENDERER_FORCE_SHM");

View File

@ -1,3 +1,71 @@
-------------------------------------------------------------------
Mon Mar 18 12:15:24 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Add webkit2gtk3-271108.patch: Fix build on 32bit arches
(https://bugs.webkit.org/show_bug.cgi?id=271108).
-------------------------------------------------------------------
Sat Mar 16 09:36:58 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.44.0:
+ Make the DOM accessibility tree reachable from UI process with
GTK4.
+ Removed the X11 and WPE renderers in favor of DMA-BUF.
+ Improved vblank synchronization when rendering.
+ Removed key event reinjection in GTK4 to make keyboard
shortcuts work in web sites.
+ Fix gamepads detection by correctly handling focused window in
GTK4.
- Rebase webkit2gtk3-disable-dmabuf-nvidia.patch.
-------------------------------------------------------------------
Tue Mar 5 16:20:56 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- baselibs.conf: Do not build libjavascriptcoregtk-4_1-0-32bit and
libwebkit2gtk-4_1-0-32bit: they are not used, and in fact not
built in Factory (build excluded).
-------------------------------------------------------------------
Thu Feb 29 13:15:27 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.43.4:
+ Remove key event reinjection in GTK4 to make keyboard shortcuts
work in web sites.
+ Use the new GTK API to create a GdkTexture from a DMA-BUF
buffer when available.
+ Fix rendering when GTK is using the vulkan renderer.
+ Fix gamepads detection by correctly handling focused window in
GTK4.
+ Fix rendering after history navigation.
+ Write bwrapinfo.json to disk for xdg-desktop-portal.
+ Fixed several memory leaks in media backend.
+ Fix several crashes and rendering issues.
- Changes from version 2.43.3:
+ Show vblank monitor information in webkit://gpu.
+ Fallback to timer based vblank monitor if drmWaitVBlank fails.
+ Fix several memory leaks in media backend.
+ Fix several crashes and rendering issues.
- Changes from version 2.43.2?
+ Remove the X11 and WPE renderers.
+ Release unused buffers when the view is hidden.
+ Fix flickering while playing videos with DMA-BUF sink.
+ Do not special case the "sans" font family name.
+ Fix webkit_web_context_allow_tls_certificate_for_host() for
IPv6 URIs produced by SoupURI.
+ Fix several crashes and rendering issues.
- Changes from version WebKitGTK 2.43.1?
+ Improve vblank synchronization when rendering.
+ Improve DMA-BUF buffers handling for video frames.
+ Use the buffer format preferred by the driver in DMA-BUF
renderer.
+ Do not block the compositing thread waiting for rendering
threads.
+ Improve performance when scaling images in a canvas.
+ Fix several crashes and rendering issues.
+ Updated translations.
- Drop webkit2gtk3-create-destroy-egl-image.patch: fixed upstream.
- Add libbacktrace-devel BuildRequires (for gtk4 flavor).
-------------------------------------------------------------------
Fri Feb 16 15:33:11 UTC 2024 - Michael Gorse <mgorse@suse.com>

View File

@ -70,12 +70,13 @@ ExclusiveArch: do-not-build
%define _usesoup2 0
%define _wk2sover6api -6_0-4
%define _soverlj6api -6_0-1
%define _with_backtrace 1
%endif
Name: webkit2%{_gtknamesuffix}
### FIXME ### Drop the disabling of LTO on next release/versionbump
%define _lto_cflags %{nil}
Version: 2.42.5
Version: 2.44.0
Release: 0
Summary: Library for rendering web content, GTK+ Port
License: BSD-3-Clause AND LGPL-2.0-or-later
@ -88,8 +89,8 @@ Source99: webkit2gtk3.keyring
# PATCH-FEATURE-OPENSUSE reproducibility.patch -- Make build reproducible
Patch0: reproducibility.patch
# PATCH-FIX-UPSTREAM webkit2gtk3-create-destroy-egl-image.patch boo#1216483 mgorse@suse.com -- fix "No provider of EglDestroyImage found".
Patch1: webkit2gtk3-create-destroy-egl-image.patch
# PATCH-FIX-UPSTREAM webkit2gtk3-271108.patch
Patch1: webkit2gtk3-271108.patch
# PATCH-FIX-UPSTREAM webkit2gtk3-disable-dmabuf-nvidia.patch boo#1216778 mgorse@suse.com -- disable the DMABuf renderer for NVIDIA proprietary drivers.
Patch2: webkit2gtk3-disable-dmabuf-nvidia.patch
# PATCH-FIX-UPSTREAM webkit2gtk3-llint-build-fix.patch mgorse@suse.com -- fix the build for non-x86 architectures.
@ -105,6 +106,9 @@ BuildRequires: bubblewrap
BuildRequires: cmake
BuildRequires: enchant-devel
BuildRequires: flex
%if 0%{?_with_backtrace}
BuildRequires: libbacktrace-devel
%endif
%if %usegcc11
BuildRequires: gcc11-c++
%else
@ -151,7 +155,7 @@ BuildRequires: pkgconfig(gstreamer-video-1.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.0
%endif
%if "%{flavor}" == "gtk4"
BuildRequires: pkgconfig(gtk4) >= 3.98.50
BuildRequires: pkgconfig(gtk4) >= 4.6.0
BuildRequires: pkgconfig(xcomposite)
%endif
BuildRequires: pkgconfig(gudev-1.0)
@ -438,8 +442,6 @@ Group: Development/Tools/Other
A small test browswer from webkit, useful for testing features.
# Expand %%lang_package to Obsoletes its older-name counterpart
%package -n WebKitGTK-%{_apiver}-lang
Summary: Translations for package %{name}
@ -481,6 +483,7 @@ export PYTHON=%{_bindir}/python3
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_DOCUMENTATION=OFF \
-DUSE_LIBBACKTRACE=%[ %{defined _with_backtrace} ? "ON" : "OFF" ] \
%if %usegcc11
-DCMAKE_C_COMPILER=gcc-11 \
-DCMAKE_CXX_COMPILER=g++-11 \
@ -492,6 +495,7 @@ export PYTHON=%{_bindir}/python3
-DENABLE_WEBDRIVER=ON \
%else
-DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libwebkit2gtk%{_wk2sover} \
-DUSE_GTK4=OFF \
-DENABLE_WEBDRIVER=OFF \
%endif
-DUSE_AVIF=ON \
@ -506,6 +510,7 @@ export PYTHON=%{_bindir}/python3
%ifarch aarch64
-DENABLE_JIT=OFF \
-DENABLE_C_LOOP=ON \
-DENABLE_WEBASSEMBLY=OFF \
-DENABLE_SAMPLING_PROFILER=OFF \
-DUSE_SYSTEM_MALLOC=ON \
%else

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749
size 34651836

View File

@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQTX/PYc+aLeqzHYG9Pz0yLQ7EWCwwUCZcCvFAAKCRDz0yLQ7EWC
w1FoAJ9+JY5XpvsElI4nSgXhLk3k6O7L5QCeNx1Hj5iFlSDQY17oYfa4FyMEI9I=
=NxQN
-----END PGP SIGNATURE-----

3
webkitgtk-2.44.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87
size 37046712

View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQTX/PYc+aLeqzHYG9Pz0yLQ7EWCwwUCZfVbrAAKCRDz0yLQ7EWC
w8XkAJ9wH/0dQk9fHx1s5X4W9VIJxfX0dwCeN3dJ03QwNCk6CmZPgxfC6zd7ZA0=
=EFJC
-----END PGP SIGNATURE-----