Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4b60d193835eaf5c2071fa9c6c104bb24503d162
      
https://github.com/WebKit/WebKit/commit/4b60d193835eaf5c2071fa9c6c104bb24503d162
  Author: Alex Christensen <achristen...@apple.com>
  Date:   2025-03-17 (Mon, 17 Mar 2025)

  Changed paths:
    M Source/WebKit/WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp

  Log Message:
  -----------
  REGRESSION(291600@main): TestWebKitAPI.GPUProcess.RelaunchOnCrash is a 
constant failure
https://bugs.webkit.org/show_bug.cgi?id=289469
rdar://146666667

Reviewed by Youenn Fablet.

In this test, RemoteAudioDestinationProxy::startRenderingThread is called twice.
The second time, offThreadRendering hits the "break" statement because 
m_shouldStopThread
was not being reset after 
RemoteAudioDestinationProxy::gpuProcessConnectionDidClose called
stopRenderingThread.

When audio playing stops, AudioContext::isPlayingAudioDidChange dispatches to 
the main thread
to tell it to tell the UI process that the media state changed through 
WebPage::isPlayingMediaDidChange.
291340@main made it a race condition between the UI process being informed of 
the new GPU process
and the UI process being informed of the audio stopping.  291600@main subtly 
changed the timing
of main thread behavior, especially in debug builds, which made the audio lose 
the race more often.

* Source/WebKit/WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::gpuProcessConnectionDidClose):

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



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