Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e56299b4f1d9bb84f69ad5cb7ee24fa6fc93eb56
      
https://github.com/WebKit/WebKit/commit/e56299b4f1d9bb84f69ad5cb7ee24fa6fc93eb56
  Author: Andy Estes <aes...@apple.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M Source/WebCore/platform/cocoa/PlaybackSessionModelMediaElement.mm

  Log Message:
  -----------
  Crash in WebCore::PlaybackSessionModelMediaElement::exitFullscreen due to 
null m_mediaElement
https://bugs.webkit.org/show_bug.cgi?id=276341
rdar://131143888

Reviewed by Jean-Yves Avenard and Eric Carlson.

Despite an ASSERT(element) in PlaybackSessionModelMediaElement::exitFullscreen, 
crash reports
indicate that m_mediaElement can be null when exitFullscreen is called. 
Resolved this by
null-checking m_mediaElement prior to dereferencing it (in exitFullscreen and 
elsewhere); the debug
assertion is left to help investigate why m_mediaElement is unexpectedly null. 
While here, updated
PlaybackSessionModelMediaElement to follow our latest smart pointer usage 
guidelines.

* Source/WebCore/platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::setMediaElement):
(WebCore::PlaybackSessionModelMediaElement::play):
(WebCore::PlaybackSessionModelMediaElement::pause):
(WebCore::PlaybackSessionModelMediaElement::togglePlayState):
(WebCore::PlaybackSessionModelMediaElement::beginScrubbing):
(WebCore::PlaybackSessionModelMediaElement::endScrubbing):
(WebCore::PlaybackSessionModelMediaElement::seekToTime):
(WebCore::PlaybackSessionModelMediaElement::fastSeek):
(WebCore::PlaybackSessionModelMediaElement::beginScanningForward):
(WebCore::PlaybackSessionModelMediaElement::beginScanningBackward):
(WebCore::PlaybackSessionModelMediaElement::endScanning):
(WebCore::PlaybackSessionModelMediaElement::setDefaultPlaybackRate):
(WebCore::PlaybackSessionModelMediaElement::setPlaybackRate):
(WebCore::PlaybackSessionModelMediaElement::selectAudioMediaOption):
(WebCore::PlaybackSessionModelMediaElement::selectLegibleMediaOption):
(WebCore::PlaybackSessionModelMediaElement::togglePictureInPicture):
(WebCore::PlaybackSessionModelMediaElement::toggleInWindowFullscreen):
(WebCore::PlaybackSessionModelMediaElement::enterFullscreen):
(WebCore::PlaybackSessionModelMediaElement::exitFullscreen):
(WebCore::PlaybackSessionModelMediaElement::setMuted):
(WebCore::PlaybackSessionModelMediaElement::setVolume):
(WebCore::PlaybackSessionModelMediaElement::setPlayingOnSecondScreen):
(WebCore::PlaybackSessionModelMediaElement::spatialTrackingLabel const):
(WebCore::PlaybackSessionModelMediaElement::setSpatialTrackingLabel):
(WebCore::PlaybackSessionModelMediaElement::sendRemoteCommand):
(WebCore::PlaybackSessionModelMediaElement::updateMediaSelectionOptions):
(WebCore::PlaybackSessionModelMediaElement::playbackStartedTime const):
(WebCore::PlaybackSessionModelMediaElement::duration const):
(WebCore::PlaybackSessionModelMediaElement::currentTime const):
(WebCore::PlaybackSessionModelMediaElement::bufferedTime const):
(WebCore::PlaybackSessionModelMediaElement::isPlaying const):
(WebCore::PlaybackSessionModelMediaElement::isStalled const):
(WebCore::PlaybackSessionModelMediaElement::defaultPlaybackRate const):
(WebCore::PlaybackSessionModelMediaElement::playbackRate const):
(WebCore::PlaybackSessionModelMediaElement::seekableRanges const):
(WebCore::PlaybackSessionModelMediaElement::seekableTimeRangesLastModifiedTime 
const):
(WebCore::PlaybackSessionModelMediaElement::liveUpdateInterval const):
(WebCore::PlaybackSessionModelMediaElement::canPlayFastReverse const):
(WebCore::PlaybackSessionModelMediaElement::audioMediaSelectionOptions const):
(WebCore::PlaybackSessionModelMediaElement::legibleMediaSelectionOptions const):
(WebCore::PlaybackSessionModelMediaElement::legibleMediaSelectedIndex const):
(WebCore::PlaybackSessionModelMediaElement::externalPlaybackEnabled const):
(WebCore::PlaybackSessionModelMediaElement::externalPlaybackTargetType const):
(WebCore::PlaybackSessionModelMediaElement::externalPlaybackLocalizedDeviceName 
const):
(WebCore::PlaybackSessionModelMediaElement::wirelessVideoPlaybackDisabled 
const):
(WebCore::PlaybackSessionModelMediaElement::isMuted const):
(WebCore::PlaybackSessionModelMediaElement::volume const):
(WebCore::PlaybackSessionModelMediaElement::isPictureInPictureSupported const):
(WebCore::PlaybackSessionModelMediaElement::isPictureInPictureActive const):
(WebCore::PlaybackSessionModelMediaElement::isInWindowFullscreenActive const):
(WebCore::PlaybackSessionModelMediaElement::logIdentifier const):
(WebCore::PlaybackSessionModelMediaElement::loggerPtr const):

Canonical link: https://commits.webkit.org/280780@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to