Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 52ea8995f83eb440e6b48e695d6279308ad6d1f4
https://github.com/WebKit/WebKit/commit/52ea8995f83eb440e6b48e695d6279308ad6d1f4
Author: Jer Noble <[email protected]>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp
Log Message:
-----------
CRASH at WebKit::RemoteMediaSessionHelperProxy::ref const
rdar://169244528
https://bugs.webkit.org/show_bug.cgi?id=308151
Reviewed by Eric Carlson.
It should not be possible for the lifetime of a RemoteMediaSessionHelperProxy
to outlast its owning GPUConnectionToWebProcess. However, that appears to
have happened, and is guarded against elsewhere within
RemoteMediaSessionHelperProxy.
Null-check the output of m_gpuConnection.get() before using it, even in ::ref()
and ::deref().
Drive-by fix: use RefPtr instead of `auto` for storing the results of
m_gpuConnection.get().
* Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp:
(WebKit::RemoteMediaSessionHelperProxy::ref const):
(WebKit::RemoteMediaSessionHelperProxy::deref const):
(WebKit::RemoteMediaSessionHelperProxy::uiApplicationWillEnterForeground):
(WebKit::RemoteMediaSessionHelperProxy::uiApplicationDidEnterBackground):
(WebKit::RemoteMediaSessionHelperProxy::uiApplicationWillBecomeInactive):
(WebKit::RemoteMediaSessionHelperProxy::uiApplicationDidBecomeActive):
(WebKit::RemoteMediaSessionHelperProxy::externalOutputDeviceAvailableDidChange):
(WebKit::RemoteMediaSessionHelperProxy::isPlayingToAutomotiveHeadUnitDidChange):
(WebKit::RemoteMediaSessionHelperProxy::activeAudioRouteDidChange):
(WebKit::RemoteMediaSessionHelperProxy::activeVideoRouteDidChange):
(WebKit::RemoteMediaSessionHelperProxy::activeAudioRouteSupportsSpatialPlaybackDidChange):
Canonical link: https://commits.webkit.org/307806@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications