Branch: refs/heads/webkitglib/2.48
  Home:   https://github.com/WebKit/WebKit
  Commit: 76b4a3922f772f11b3654166d1a1c4f0a19756f8
      
https://github.com/WebKit/WebKit/commit/76b4a3922f772f11b3654166d1a1c4f0a19756f8
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-29 (Fri, 29 Aug 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/PlatformDisplay.cpp
    M Source/WebCore/platform/graphics/PlatformDisplay.h
    M Source/WebCore/platform/graphics/skia/PlatformDisplaySkia.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/glib/WebProcessGLib.cpp

  Log Message:
  -----------
  Cherry-pick 299312@main (5a0e48592bf4). 
https://bugs.webkit.org/show_bug.cgi?id=298025

    [GTK][WPE] Web process sometimes gets locked on exit
    https://bugs.webkit.org/show_bug.cgi?id=298025

    Reviewed by Nikolas Zimmermann.

    It happens when the network connection is closed before WebPage::close
    is called. In that case WebPage::close() tries to get a network process
    connection to send ClearPageSpecificData message, but
    WebProcess::ensureNetworkProcessConnection() fails causing a process
    exit. In the exit handlers PlatformDisplay::invalidateSkiaGLContexts()
    is called, which tries to invalidate the GL contexts of the painting
    threads that are still running. We use RunLoop::dispatch() and a
    semaphore to wait to clear context from painting threads, but that
    doesn't work because painting threads don't run a loop. We should avoid
    the early exit first by not calling
    WebProcess::ensureNetworkProcessConnection() from WebPage::close(), but
    we should also stop trying to invalidate the skia gl contexts from the
    main thread. LayerTreeHost is the owner of the WorkerPool that runs the
    painting tasks, so the gl contexts will be released when the threads
    finish on LayerTreeHost destructor. We only need to care about the main
    thread gl context for which we can just set to nullptr.

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

Canonical link: https://commits.webkit.org/290945.356@webkitglib/2.48



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to