Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e259d475088f791d4343ef1ff9898bdd8052e1e6
https://github.com/WebKit/WebKit/commit/e259d475088f791d4343ef1ff9898bdd8052e1e6
Author: Jer Noble <[email protected]>
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@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@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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes