Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5304ae18190803982983e1acef7f5a6c4f095d21
      
https://github.com/WebKit/WebKit/commit/5304ae18190803982983e1acef7f5a6c4f095d21
  Author: Jer Noble <[email protected]>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/Modules/modern-media-controls/media/media-controller.js

  Log Message:
  -----------
  [macOS Release] 2 tests in media/video are flaky failure (failing in EWS)
https://bugs.webkit.org/show_bug.cgi?id=278239
rdar://134069680

Reviewed by Eric Carlson.

In 277196@main, MediaController was modified to hold a WeakRef pointing to the 
controller's
media element. But the rest of the modern-media-controls code is written in a 
way to expect
this.mediaController.media to always be non-Null. Rather than edit every place 
where
this.mediaController.media is accessed to null-check the result, return a 
NullMedia object
which exposes the same interface as HTMLMediaElement in the case where the 
media object
has been GCd.

* LayoutTests/platform/mac/TestExpectations:
* Source/WebCore/Modules/modern-media-controls/media/media-controller.js:
(MediaController.EmptyRanges.prototype.get length):
(MediaController.EmptyRanges.start):
(MediaController.EmptyRanges.end):
(MediaController.NullMedia.prototype.get audioTracks):
(MediaController.NullMedia.prototype.get autoplay):
(MediaController.NullMedia.prototype.get buffered):
(MediaController.NullMedia.prototype.get controls):
(MediaController.NullMedia.prototype.get currentTime):
(MediaController.NullMedia.prototype.set currentTime):
(MediaController.NullMedia.prototype.get defaultPlaybackRate):
(MediaController.NullMedia.prototype.set defaultPlaybackRate):
(MediaController.NullMedia.prototype.get duration):
(MediaController.NullMedia.prototype.get error):
(MediaController.NullMedia.prototype.get muted):
(MediaController.NullMedia.prototype.set muted):
(MediaController.NullMedia.prototype.get networkState):
(MediaController.NullMedia.prototype.get paused):
(MediaController.NullMedia.prototype.get playbackRate):
(MediaController.NullMedia.prototype.set playbackRate):
(MediaController.NullMedia.prototype.get played):
(MediaController.NullMedia.prototype.get readyState):
(MediaController.NullMedia.prototype.get seekable):
(MediaController.NullMedia.prototype.get textTracks):
(MediaController.NullMedia.prototype.get videoTracks):
(MediaController.NullMedia.prototype.get volume):
(MediaController.NullMedia.prototype.set volume):
(MediaController.NullMedia.prototype.get webkitCurrentPlaybackTargetIsWireless):
(MediaController.NullMedia.prototype.get webkitPresentationMode):
(MediaController.NullMedia.prototype.get webkitSupportsFullscreen):
(MediaController.NullMedia.pause):
(MediaController.NullMedia.play):
(MediaController.NullMedia.fastSeek):
(MediaController.NullMedia.requestPictureInPicture):
(MediaController.NullMedia.webkitEnterFullscreen):
(MediaController.NullMedia.webkitExitFullscreen):
(MediaController.NullMedia.webkitSetPresentationMode):
(MediaController.NullMedia.webkitShowPlaybackTargetPicker):
(MediaController.NullMedia.webkitSupportsPresentationMode):
(MediaController.prototype.get media):

Canonical link: https://commits.webkit.org/283488@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