[webkit-changes] [WebKit/WebKit] e259d4: REGRESSION(285245 at main): Crash in RemoteMediaPlaye...
Jer Noble
noreply at github.com
Thu Jan 23 19:59:27 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e259d475088f791d4343ef1ff9898bdd8052e1e6
https://github.com/WebKit/WebKit/commit/e259d475088f791d4343ef1ff9898bdd8052e1e6
Author: Jer Noble <jer.noble at apple.com>
Date: 2025-01-23 (Thu, 23 Jan 2025)
Changed paths:
M Source/WebCore/html/HTMLMediaElement.h
M Source/WebCore/platform/graphics/MediaPlayer.cpp
M Source/WebCore/platform/graphics/MediaPlayer.h
M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h
M Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp
Log Message:
-----------
REGRESSION(285245 at main): Crash in RemoteMediaPlayerManager::createRemoteMediaPlayer()
https://bugs.webkit.org/show_bug.cgi?id=286432
rdar://143456252
Reviewed by Eric Carlson and Jean-Yves Avenard.
In 285245 at main, an optional identifier variable was unconditionally dereferenced when passing a message
across to RemoteMediaPlayerManagerProxy, under the assumption that the identifier would never be null.
However, it is possible for the MediaPlayer to outlive the HTMLMediaElement which created it, and in that
case the MediaPlayerClient backref is replaced by a reference to a NullMediaPlayerClient. This object
will return a nullopt identifier.
Make mediaPlayerClientIdentifier() non-optional. And add implementations of mediaPlayerClientIdentifier()
in all the places it was missing before.
* Source/WebCore/html/HTMLMediaElement.h:
* Source/WebCore/platform/graphics/MediaPlayer.cpp:
* Source/WebCore/platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerClientIdentifier const): Deleted.
* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h:
* Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
Canonical link: https://commits.webkit.org/289328@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list