[webkit-changes] [WebKit/WebKit] e9fd97: Cherry-pick 266997 at main (a6106792d52a). https://bu...
Carlos Garcia Campos
noreply at github.com
Fri Aug 18 11:48:23 PDT 2023
Branch: refs/heads/webkitglib/2.42
Home: https://github.com/WebKit/WebKit
Commit: e9fd979d452df3022196ceae2266759899455a00
https://github.com/WebKit/WebKit/commit/e9fd979d452df3022196ceae2266759899455a00
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebCore/platform/graphics/PlatformDisplay.cpp
Log Message:
-----------
Cherry-pick 266997 at main (a6106792d52a). https://bugs.webkit.org/show_bug.cgi?id=259647
[GTK] Fallback to first render node returned by DRM when failing to get using EGLDevice
https://bugs.webkit.org/show_bug.cgi?id=259647
Reviewed by Alejandro G. Castro.
There might be drivers that don't implement EGL_EXT_device_query or
EGL_EXT_device_drm. In those cases just fallback to get the first
render node returned by libdrm.
* Source/WebCore/platform/graphics/PlatformDisplay.cpp:
(WebCore::drmForeachDevice):
(WebCore::drmFirstRenderNode):
(WebCore::drmRenderNodeFromPrimaryDeviceFile):
(WebCore::PlatformDisplay::drmRenderNodeFile):
Canonical link: https://commits.webkit.org/266997@main
Commit: 19a9087864be5c813656202b6ae161b1afc2b2b3
https://github.com/WebKit/WebKit/commit/19a9087864be5c813656202b6ae161b1afc2b2b3
Author: Enrique Ocaña González <eocanha at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
Cherry-pick 266720 at main (4861f4a2898f). https://bugs.webkit.org/show_bug.cgi?id=259930
[GStreamer][MediaStream][Westeros] Enable 'immediate-output' on streaming through westerossink
https://bugs.webkit.org/show_bug.cgi?id=259930
Reviewed by Philippe Normand.
https://bugs.webkit.org/show_bug.cgi?id=259357 removed the configuration of the "immediate-output" property for westeros sink, but it's still needed for mediastream content.
Original author: Vivek.A <Vivek_Arumugam at comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1136
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::configureElementPlatformQuirks): Configure the immediate-output property for westerossink.
Canonical link: https://commits.webkit.org/266720@main
Commit: 1687f5cbc395d59f49224d59dca6b3d97e80005e
https://github.com/WebKit/WebKit/commit/1687f5cbc395d59f49224d59dca6b3d97e80005e
Author: Vitaly Dyachkov <vitaly at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebKit/UIProcess/API/glib/WebKitDownload.cpp
M Source/WebKit/UIProcess/API/glib/WebKitDownloadClient.cpp
Log Message:
-----------
Cherry-pick 266725 at main (b73ca668112d). https://bugs.webkit.org/show_bug.cgi?id=259210
[WPE][GTK] API test `TestDownloads` `/webkit/Downloads/local-file-error` is flaky
https://bugs.webkit.org/show_bug.cgi?id=259210
Reviewed by Carlos Garcia Campos.
In one of the subtests, we start downloading a local file and then
immediately cancel it.
When the download completes fast, `WebKitDownloadClient::didFinish()`
method can be called twice. Firstly, because the download is actually
completed, and secondly, from `Download::cancel()`'s completion handler,
which we set in `webkit_download_cancel()'.
Since we set `m_download` to `nullptr`
in `WebKitDownloadClient::didFinish()`, the second call will crash.
The solution is to call `WebKitDownloadClient::legacyDidCancel()`
instead of `WebKitDownloadClient::didFinish()` from the download's
cancel completion handler.
* Source/WebKit/UIProcess/API/glib/WebKitDownload.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitDownloadClient.cpp:
Canonical link: https://commits.webkit.org/266725@main
Commit: 3966297ba3a3bf123211ad040051304abcaa7601
https://github.com/WebKit/WebKit/commit/3966297ba3a3bf123211ad040051304abcaa7601
Author: Vitaly Dyachkov <vitaly at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebKit/UIProcess/API/glib/WebKitDownloadClient.cpp
Log Message:
-----------
Cherry-pick 266786 at main (26d006a96ab6). https://bugs.webkit.org/show_bug.cgi?id=260023
[GTK][WPE] Fix clang warning in `WebKitDownloadClient::legacyDidCancel()`
https://bugs.webkit.org/show_bug.cgi?id=260023
Reviewed by Philippe Normand.
`WebKitDownloadClient::legacyDidCancel()` should be marked as `override`.
* Source/WebKit/UIProcess/API/glib/WebKitDownloadClient.cpp:
Canonical link: https://commits.webkit.org/266786@main
Commit: 0837c7f677f4d6cdf254e32953e9748951ac77f8
https://github.com/WebKit/WebKit/commit/0837c7f677f4d6cdf254e32953e9748951ac77f8
Author: Philippe Normand <philn at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.h
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h
Log Message:
-----------
Cherry-pick 266759 at main (e3416ac9852c). https://bugs.webkit.org/show_bug.cgi?id=259973
[GStreamer][WebRTC] Deadlocks web process at shutdown
https://bugs.webkit.org/show_bug.cgi?id=259973
Reviewed by Carlos Garcia Campos.
When stopping outgoing media sources we were sending an EOS event to the mediastreamsrc, but not to
the fallback source, so the downstream input-selector was blocked forever, waiting the EOS event
from that source.
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingAudioSourceGStreamer::stopFallbackSource):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingMediaSourceGStreamer::stopOutgoingSource):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h:
(WebCore::RealtimeOutgoingMediaSourceGStreamer::stopFallbackSource):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingVideoSourceGStreamer::stopFallbackSource):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h:
Canonical link: https://commits.webkit.org/266759@main
Commit: 792b9fabfbadfdf4444d66dcd24c8b06f523b097
https://github.com/WebKit/WebKit/commit/792b9fabfbadfdf4444d66dcd24c8b06f523b097
Author: Vitaly Dyachkov <vitaly at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
Log Message:
-----------
Cherry-pick 266813 at main (2121192f4dfa). https://bugs.webkit.org/show_bug.cgi?id=260021
[GTK] Some tests in `fast/hidpi` are crashing in debug builds
https://bugs.webkit.org/show_bug.cgi?id=260021
Reviewed by Miguel Gomez and Carlos Garcia Campos.
These tests are setting custom backing scale factor from JS.
We must re-create the drawing area's backing store when it happens.
* LayoutTests/platform/glib/TestExpectations:
* Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:
(WebKit::DrawingAreaProxyCoordinatedGraphics::incorporateUpdate):
Canonical link: https://commits.webkit.org/266813@main
Commit: 0ab332352d33d0e820c17353ca685f6cc4e21d8f
https://github.com/WebKit/WebKit/commit/0ab332352d33d0e820c17353ca685f6cc4e21d8f
Author: Michael Catanzaro <mcatanzaro at redhat.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebCore/platform/gtk/po/tr.po
Log Message:
-----------
Cherry-pick 266872 at main (6754c174da5d). https://bugs.webkit.org/show_bug.cgi?id=260105
[GTK] [l10n] Updated Turkish translation of WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=260105
Unreviewed translation update by Sabri Ünal.
* Source/WebCore/platform/gtk/po/tr.po:
Canonical link: https://commits.webkit.org/266872@main
Commit: f3111262a5cde7830dd20fbe925d8bf2979e66a9
https://github.com/WebKit/WebKit/commit/f3111262a5cde7830dd20fbe925d8bf2979e66a9
Author: Carlos Alberto Lopez Perez <clopez at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/cmake/OptionsGTK.cmake
M Source/cmake/OptionsWPE.cmake
Log Message:
-----------
Cherry-pick 266903 at main (5caa0800061a). https://bugs.webkit.org/show_bug.cgi?id=260186
REGRESSION(266244 at main): Build failure with libjxl < 0.7.0
https://bugs.webkit.org/show_bug.cgi?id=260186
Reviewed by Carlos Garcia Campos.
The macros JPEGXL_NUMERIC_VERSION and JPEGXL_COMPUTE_NUMERIC_VERSION
where introduced in libjxl 0.7.0
Versions lower than that don't define this macros.
So require at configure time as minimum version 0.7.0
* Source/cmake/OptionsGTK.cmake
* Source/cmake/OptionsWPE.cmake
Canonical link: https://commits.webkit.org/266903@main
Commit: 1eb41dcaf2f3bbb9ea943f9eca75cc544a3a30d0
https://github.com/WebKit/WebKit/commit/1eb41dcaf2f3bbb9ea943f9eca75cc544a3a30d0
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
Log Message:
-----------
Cherry-pick 266911 at main (811d01dba091). https://bugs.webkit.org/show_bug.cgi?id=260146
[GTK] Do not keep processing frames while the view is unrealized when using DMA-BUF renderer
https://bugs.webkit.org/show_bug.cgi?id=260146
Reviewed by Michael Catanzaro.
This is what the wpe renderer does, we don't send the frame done message
until the view is realized.
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
(WebKit::AcceleratedBackingStoreDMABuf::frame):
(WebKit::AcceleratedBackingStoreDMABuf::realize):
(WebKit::AcceleratedBackingStoreDMABuf::update):
(WebKit::AcceleratedBackingStoreDMABuf::snapshot):
(WebKit::AcceleratedBackingStoreDMABuf::paint):
Canonical link: https://commits.webkit.org/266911@main
Commit: 37129e21b2cc5ac1e1c707be3b1d66a633a685e8
https://github.com/WebKit/WebKit/commit/37129e21b2cc5ac1e1c707be3b1d66a633a685e8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebKit/WebProcess/WebCoreSupport/WebValidationMessageClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebValidationMessageClient.h
Log Message:
-----------
Cherry-pick 266937 at main (305367d61f5b). https://bugs.webkit.org/show_bug.cgi?id=260230
WebValidationMessageClient should use WeakPtr to WebPage, not a raw reference
https://bugs.webkit.org/show_bug.cgi?id=260230
Reviewed by Wenson Hsieh.
Deploy WeakPtr in WebValidationMessageClient.
* Source/WebKit/WebProcess/WebCoreSupport/WebValidationMessageClient.cpp:
(WebKit::WebValidationMessageClient::showValidationMessage):
(WebKit::WebValidationMessageClient::hideValidationMessage):
(WebKit::WebValidationMessageClient::hideAnyValidationMessage):
* Source/WebKit/WebProcess/WebCoreSupport/WebValidationMessageClient.h:
Canonical link: https://commits.webkit.org/266937@main
Commit: 7f2360266891a596de5ad0900a7633265a35d741
https://github.com/WebKit/WebKit/commit/7f2360266891a596de5ad0900a7633265a35d741
Author: Philippe Normand <philn at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp
Log Message:
-----------
Cherry-pick 266940 at main (2f1549d11968). https://bugs.webkit.org/show_bug.cgi?id=260200
[GStreamer] Make additional use of wrapSpanData in VideoDecoder
https://bugs.webkit.org/show_bug.cgi?id=260200
Reviewed by Xabier Rodriguez-Calvar.
Refactor the decode method to use wrapSpanData.
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoDecoder::decode):
Canonical link: https://commits.webkit.org/266940@main
Commit: 132e1ce3dbd7522be523ba2cf9f7b507ea1180cf
https://github.com/WebKit/WebKit/commit/132e1ce3dbd7522be523ba2cf9f7b507ea1180cf
Author: Philippe Normand <philn at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/platform/GStreamer.cmake
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp
M Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
M Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.h
M Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp
M Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.cpp
Log Message:
-----------
Cherry-pick 266904 at main (904e4fcfa2e2). https://bugs.webkit.org/show_bug.cgi?id=260124
[GStreamer][WebCodecs] HEVC encoding and decoding support
https://bugs.webkit.org/show_bug.cgi?id=260124
Reviewed by Xabier Rodriguez-Calvar.
The corresponding layout tests are now passing, excepted the h265_annexb variants, that would
require further investigation. Support for H265 codec string to GStreamer H265 profile was also
added, with unit-tests.
* LayoutTests/platform/glib/TestExpectations:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/platform/GStreamer.cmake:
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::configureVideoDecoderForHarnessing):
(WebCore::wrapSpanData):
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::initializeEncoders):
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoDecoder::GStreamerInternalVideoDecoder):
* Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoEncoder::initialize):
* Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp:
(WebCore::GStreamerCodecUtilities::parseHEVCProfile):
* Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.h:
* Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp:
(webkit_video_encoder_class_init):
* Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.cpp:
(TestWebKitAPI::TEST_F):
Canonical link: https://commits.webkit.org/266904@main
Commit: 07a2cdaa2843f0809ae94ceadf194ca820003b3e
https://github.com/WebKit/WebKit/commit/07a2cdaa2843f0809ae94ceadf194ca820003b3e
Author: Philippe Normand <philn at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp
Log Message:
-----------
Cherry-pick 266943 at main (164aa4e39b31). https://bugs.webkit.org/show_bug.cgi?id=260037
[GStreamer][WebCodecs] Refactor to push samples on the harness
https://bugs.webkit.org/show_bug.cgi?id=260037
Reviewed by Xabier Rodriguez-Calvar.
This delays the element harness startup until the first decode task is fired. It's also in line with
the upcoming audio decoder workflow and potentially more future-proof, specially if we plan to
support reverse decoding later on.
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoDecoder::isConfigured const):
(WebCore::GStreamerVideoDecoder::create):
(WebCore::GStreamerInternalVideoDecoder::GStreamerInternalVideoDecoder):
(WebCore::GStreamerInternalVideoDecoder::decode):
(WebCore::GStreamerInternalVideoDecoder::isStarted const): Deleted.
Canonical link: https://commits.webkit.org/266943@main
Commit: 99b562eca514b68e3736a90484093dbfb1a5b470
https://github.com/WebKit/WebKit/commit/99b562eca514b68e3736a90484093dbfb1a5b470
Author: Vitaly Dyachkov <vitaly at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
Log Message:
-----------
Cherry-pick 266992 at main (1b2a91b0241e). https://bugs.webkit.org/show_bug.cgi?id=260260
[GTK][WPE] Crash in `DrawingAreaCoordinatedGraphics::display()`in debug builds
https://bugs.webkit.org/show_bug.cgi?id=260260
Reviewed by Carlos Garcia Campos.
`DrawingAreaCoordinatedGraphics::forceRepaint()`, which, in turn, can call
`DrawingAreaCoordinatedGraphics::display()`, can be called while being
in the middle of resizing.
We can just ignore it because repainting will happen after resizing anyway.
* LayoutTests/platform/glib/TestExpectations:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::forceRepaint):
Canonical link: https://commits.webkit.org/266992@main
Commit: 0f91feb74d0e6cce56fcad106d0b4bb51af2195c
https://github.com/WebKit/WebKit/commit/0f91feb74d0e6cce56fcad106d0b4bb51af2195c
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
Log Message:
-----------
Cherry-pick 267032 at main (989de9dbc7ac). https://bugs.webkit.org/show_bug.cgi?id=260352
[GTK4] Toplevel window state change is not handled properly
https://bugs.webkit.org/show_bug.cgi?id=260352
Reviewed by Michael Catanzaro.
We monitor the toplevel window state to detect when the window is
minimized to set the web pages as not visible and pause the rendering.
In GTK3 we already get a change mask, so we do nothing if iconized state
hasn't changed. In GTK4 we get the new state, but we don't know what
changed, so we are actually changing the visibility of pages for any
state change. We need to handle the changed mask manually.
This patch also improves the way we handle visibility changes in
general, because in GTK4 we get a size allocate after the map, which
means we send the visibility change message before the resize, so end up
resuming rendering with 0x0 size in the page. To try to avoid this we
check if we have a size already on map, before the visibility check, and
set the size to make sure the resize is sent before.
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetSize):
(webkitWebViewBaseSizeAllocate):
(webkitWebViewBaseMap):
(toplevelWindowStateChanged):
(toplevelWindowRealized):
(webkitWebViewBaseRoot):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::DrawingAreaCoordinatedGraphics):
Canonical link: https://commits.webkit.org/267032@main
Compare: https://github.com/WebKit/WebKit/compare/d7a350618850...0f91feb74d0e
More information about the webkit-changes
mailing list