[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