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