[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