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

Reply via email to