Changeset 212575 in webkit
- Timestamp:
- Feb 17, 2017 1:48:04 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r212573 r212575 1 2017-02-17 Antoine Quint <graouts@apple.com> 2 3 [Modern Media Controls] Improve handling of <video> with only audio tracks 4 https://bugs.webkit.org/show_bug.cgi?id=167836 5 <rdar://problem/30255812> 6 7 Reviewed by Dean Jackson. 8 9 Add a new test to check that a <video> with a resource that only has audio tracks 10 does not auto-hide nor show the fullscreen button. We also rebaseline a few existing 11 tests for this change of behavior. 12 13 * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-expected.txt: 14 * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on.html: 15 * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle-expected.txt: 16 * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle.html: 17 * media/modern-media-controls/media-controller/media-controller-video-with-only-audio-expected.txt: Added. 18 * media/modern-media-controls/media-controller/media-controller-video-with-only-audio.html: Added. 19 1 20 2017-02-17 Antoine Quint <graouts@apple.com> 2 21 -
trunk/LayoutTests/media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-expected.txt
r211986 r212575 4 4 5 5 6 Media has not begun loading yet7 PASS mediaController.controls.controlsBar.visible is false8 PASS mediaController.controls.startButton.visible is false9 6 10 7 Media has loaded metadata 8 PASS media.videoTracks.length is 1 11 9 PASS mediaController.controls.controlsBar.visible is true 12 10 PASS mediaController.controls.startButton.visible is true -
trunk/LayoutTests/media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on.html
r211986 r212575 14 14 const mediaController = createControls(shadowRoot, media, null); 15 15 16 debug("Media has not begun loading yet");17 shouldBeFalse("mediaController.controls.controlsBar.visible");18 shouldBeFalse("mediaController.controls.startButton.visible");19 20 16 media.addEventListener("loadedmetadata", function() { 21 17 debug(""); 22 18 debug("Media has loaded metadata"); 19 shouldBe("media.videoTracks.length", "1"); 23 20 shouldBeTrue("mediaController.controls.controlsBar.visible"); 24 21 shouldBeTrue("mediaController.controls.startButton.visible"); -
trunk/LayoutTests/media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle-expected.txt
r211986 r212575 4 4 5 5 6 Media has not begun loading yet7 PASS mediaController.controls.controlsBar.visible is false8 PASS mediaController.controls.startButton.visible is false9 6 10 7 Media has loaded metadata 8 PASS media.videoTracks.length is 1 11 9 PASS mediaController.controls.controlsBar.visible is true 12 10 PASS mediaController.controls.startButton.visible is true -
trunk/LayoutTests/media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle.html
r211986 r212575 36 36 }).observe(media, { attributes: true, attributeFilter: ["controls"] }); 37 37 38 debug("Media has not begun loading yet");39 shouldBeFalse("mediaController.controls.controlsBar.visible");40 shouldBeFalse("mediaController.controls.startButton.visible");41 42 38 media.addEventListener("loadedmetadata", function() { 43 39 debug(""); 44 40 debug("Media has loaded metadata"); 41 shouldBe("media.videoTracks.length", "1"); 45 42 shouldBeTrue("mediaController.controls.controlsBar.visible"); 46 43 shouldBeTrue("mediaController.controls.startButton.visible"); -
trunk/Source/WebCore/ChangeLog
r212573 r212575 1 2017-02-17 Antoine Quint <graouts@apple.com> 2 3 [Modern Media Controls] Improve handling of <video> with only audio tracks 4 https://bugs.webkit.org/show_bug.cgi?id=167836 5 <rdar://problem/30255812> 6 7 Reviewed by Dean Jackson. 8 9 We now check for the availability of video tracks before considering a <video> 10 element is displaying an actual video file and turning auto-hide on. We also 11 check that we have video tracks before enabling the fullscreen button. This 12 brings the behavior of a <video> pointing to a resource with no video tracks 13 to be the same as an <audio> element. 14 15 Test: media/modern-media-controls/media-controller/media-controller-video-with-only-audio.html 16 17 * Modules/modern-media-controls/media/controls-visibility-support.js: 18 (ControlsVisibilitySupport.prototype.get tracksToMonitor): 19 (ControlsVisibilitySupport.prototype._updateControls): 20 (ControlsVisibilitySupport): 21 * Modules/modern-media-controls/media/fullscreen-support.js: 22 (FullscreenSupport.prototype.syncControl): 23 (FullscreenSupport): 24 1 25 2017-02-17 Antoine Quint <graouts@apple.com> 2 26 -
trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js
r212564 r212575 49 49 } 50 50 51 get tracksToMonitor() 52 { 53 return [this.mediaController.media.videoTracks]; 54 } 55 51 56 handleEvent() 52 57 { … … 59 64 { 60 65 const media = this.mediaController.media; 61 const isVideo = media instanceof HTMLVideoElement ;62 let shouldShowControls = this.mediaController.media.controls && !!media.currentSrc;66 const isVideo = media instanceof HTMLVideoElement && media.videoTracks.length > 0; 67 let shouldShowControls = media.controls && !!media.currentSrc; 63 68 if (isVideo) 64 69 shouldShowControls = shouldShowControls && media.readyState > HTMLMediaElement.HAVE_NOTHING; -
trunk/Source/WebCore/Modules/modern-media-controls/media/fullscreen-support.js
r212276 r212575 70 70 const control = this.control; 71 71 const media = this.mediaController.media; 72 control.enabled = media.webkitSupportsFullscreen ;72 control.enabled = media.webkitSupportsFullscreen && media.videoTracks.length > 0; 73 73 control.isFullScreen = media.webkitDisplayingFullscreen; 74 74 }
Note: See TracChangeset
for help on using the changeset viewer.