[webkit-changes] [WebKit/WebKit] b09f48: Fix media/audiosession test flakinesses

youennf noreply at github.com
Tue Dec 20 09:45:11 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b09f48fad53589f569035766c4a73acb27668cf3
      https://github.com/WebKit/WebKit/commit/b09f48fad53589f569035766c4a73acb27668cf3
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/audiosession/DOMAudioSession.cpp
    M Source/WebCore/Modules/audiosession/DOMAudioSession.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/dom/Document.h
    M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
    M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.cpp

  Log Message:
  -----------
  Fix media/audiosession test flakinesses
https://bugs.webkit.org/show_bug.cgi?id=249470
rdar://problem/103444561

Reviewed by Eric Carlson.

Instead of having a process wide value for DOMAudioSession type, store it in top level document.
This allows to clear it on navigation.

Add a m_state field in DOMAudioSession.
When its state is supposed to be changed, we now queue a task where we compute the new state and fire the statechange event if the new state is different from the old one.

Update RemoteAudioSessionProxy to send a configurationChanged event whenever the active state changes.
We do this since there might an ongoing configurationChanged message that may override the WebProcess remote audio session active state.

* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/audiosession/DOMAudioSession.cpp:
* Source/WebCore/Modules/audiosession/DOMAudioSession.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/Document.h:
* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.cpp:

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




More information about the webkit-changes mailing list