Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8df9152b461985a521b470e77c316b96dfa852fa
https://github.com/WebKit/WebKit/commit/8df9152b461985a521b470e77c316b96dfa852fa
Author: Rupin Mittal <[email protected]>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm
Log Message:
-----------
[Site Isolation] REGRESSION(314640@main): [ iOS Debug ] 32x site-isolation
(layout-tests) are constant crashes
https://bugs.webkit.org/show_bug.cgi?id=316714
rdar://179135314
Reviewed by Ben Nham.
After 314640@main, we are properly creating and destroying the
RemoteMediaSessionManagerProxy. When the RemoteMediaSessionManagerProxy is
destroyed, it's base class MediaSessionManageriOS is also destroyed. In its
destructor, MediaSessionManageriOS removes itself from MediaSessionHelper's
list of clients. But in the UI process, the MediaSessionManageriOS was never
added to the list of clients (PlatformMediaSessionManager::create() isn't
called in the UI process). So when we go to remove it, we hit this assert in
MediaSessionHelper::removeClient():
ASSERT(m_clients.contains(client));
To fix this, we make the code symmetric--MediaSessionManageriOS removes
itself as a client in its destructor, so it should add itself in its
constructor.
* Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::PlatformMediaSessionManager::create):
(WebCore::MediaSessionManageriOS::MediaSessionManageriOS):
Canonical link: https://commits.webkit.org/314916@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications