[webkit-changes] [WebKit/WebKit] 4a60cc: Cherry-pick 282608 at main (802d54adc70e). https://bu...

Carlos Garcia Campos noreply at github.com
Wed Aug 21 23:45:05 PDT 2024


  Branch: refs/heads/webkitglib/2.46
  Home:   https://github.com/WebKit/WebKit
  Commit: 4a60cc030308e22f5a5c3c961a5abe9475754f56
      https://github.com/WebKit/WebKit/commit/4a60cc030308e22f5a5c3c961a5abe9475754f56
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h

  Log Message:
  -----------
  Cherry-pick 282608 at main (802d54adc70e). https://bugs.webkit.org/show_bug.cgi?id=278402

    [GTK] Crash in FenceMonitor::addFileDescriptor when using Google Maps
    https://bugs.webkit.org/show_bug.cgi?id=278402

    Reviewed by Miguel Gomez.

    The problem is actually earlier, frame is called when we already have a
    pending buffer, which is not expected to happen, but in this case it's
    protected by a debug assert, so release builds don't catch it.
    This can happen now with the explicit sync when GTK itself schedules a
    draw when we have a pending buffer, but we are still waiting on the
    fence. In that ase we don't swap the buffers, but still send the
    FrameDone message to the web process that can start rendering a new one
    and send the Frame message while we are still processing the previous
    one. This patch renames prepareForRendering() as swapBuffersIfNeeded()
    that returns true only when buffers were swapped, so that we use that to
    decide whether to send the FrameDone message or not.

    * Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
    (WebKit::AcceleratedBackingStoreDMABuf::swapBuffersIfNeeded):
    (WebKit::AcceleratedBackingStoreDMABuf::snapshot):
    (WebKit::AcceleratedBackingStoreDMABuf::paint):
    (WebKit::AcceleratedBackingStoreDMABuf::prepareForRendering): Deleted.
    * Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h:

    Canonical link: https://commits.webkit.org/282608@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list