Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 802d54adc70e232328c849657cf52bd18d5fcead
      
https://github.com/WebKit/WebKit/commit/802d54adc70e232328c849657cf52bd18d5fcead
  Author: Carlos Garcia Campos <[email protected]>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to