Changeset 211132 in webkit
- Timestamp:
- Jan 24, 2017 6:59:59 PM (7 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r211131 r211132 1 2017-01-24 Antoine Quint <graouts@apple.com> 2 3 LayoutTest media/modern-media-controls/placard-support/placard-support-airplay.html is flaky 4 https://bugs.webkit.org/show_bug.cgi?id=164298 5 6 Reviewed by Jon Lee. 7 8 Make media/modern-media-controls/placard-support/placard-support-airplay.html more robust by 9 following the same pattern used in media/airplay-target-availability.html which proved to be robust. 10 11 * media/modern-media-controls/placard-support/placard-support-airplay-expected.txt: 12 * media/modern-media-controls/placard-support/placard-support-airplay.html: 13 * platform/mac/TestExpectations: 14 1 15 2017-01-24 Antoine Quint <graouts@apple.com> 2 16 -
trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay-expected.txt
r210959 r211132 4 4 5 5 6 got event false7 got event true8 6 PASS mediaController.controls.showsPlacard is true 9 7 PASS mediaController.controls.children.includes(mediaController.controls.airplayPlacard) is true 8 10 9 PASS successfullyParsed is true 11 10 -
trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay.html
r209108 r211132 24 24 description("Testing the <code>PlacardSupport</code> behavior when playing media through AirPlay."); 25 25 26 iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";27 28 26 const container = document.querySelector("div#host"); 29 27 const media = document.querySelector("video"); 30 28 const mediaController = createControls(container, media, null); 31 29 32 if (window.internals) { 33 window.internals.settings.setAllowsAirPlayForMediaPlayback(true); 34 window.internals.setMediaElementRestrictions(media, "norestrictions"); 30 (function makeAirPlayAvailable() 31 { 32 media.addEventListener("webkitplaybacktargetavailabilitychanged", playbackTargetAvailabilityChangedOnce, true); 33 window.internals.setMockMediaPlaybackTargetPickerEnabled(true); 34 })(); 35 36 function playbackTargetAvailabilityChangedOnce(event) 37 { 38 media.removeEventListener('webkitplaybacktargetavailabilitychanged', playbackTargetAvailabilityChangedOnce, true); 39 media.addEventListener('webkitplaybacktargetavailabilitychanged', playbackTargetAvailabilityChangedAgain, true); 40 41 window.internals.setMockMediaPlaybackTargetPickerState('Sleepy TV', 'DeviceAvailable'); 42 } 43 44 function playbackTargetAvailabilityChangedAgain(event) 45 { 46 // setMockMediaPlaybackTargetPickerState happens asynchronously in WK2 and a 47 // "webkitplaybacktargetavailabilitychanged" is always sent when an event listener 48 // is added, so we may get a "not available" event first. 49 if (event.availability == 'not-available') 50 return; 51 52 media.removeEventListener('webkitplaybacktargetavailabilitychanged', playbackTargetAvailabilityChangedAgain, true); 53 54 window.setTimeout(enterAirPlay, 100); 35 55 } 36 56 37 media.addEventListener("webkitcurrentplaybacktargetiswirelesschanged", () => { 38 if (!media.paused && media.webkitCurrentPlaybackTargetIsWireless) { 39 shouldBeTrue("mediaController.controls.showsPlacard"); 40 shouldBeTrue("mediaController.controls.children.includes(mediaController.controls.airplayPlacard)"); 57 function enterAirPlay() 58 { 59 media.addEventListener("webkitcurrentplaybacktargetiswirelesschanged", currentPlaybackTargetIsWirelessChanged); 60 media.webkitShowPlaybackTargetPicker(); 61 } 41 62 42 container.remove(); 43 media.remove(); 44 finishJSTest(); 45 } 46 }); 63 function currentPlaybackTargetIsWirelessChanged(event) 64 { 65 if (!media.webkitCurrentPlaybackTargetIsWireless) 66 return; 47 67 48 media.addEventListener("play", () => { 49 media.webkitShowPlaybackTargetPicker(); 50 if (window.internals) 51 window.internals.setMockMediaPlaybackTargetPickerState("Sleepy TV", "DeviceAvailable"); 52 }); 68 shouldBeTrue("mediaController.controls.showsPlacard"); 69 shouldBeTrue("mediaController.controls.children.includes(mediaController.controls.airplayPlacard)"); 70 71 debug(""); 72 container.remove(); 73 media.remove(); 74 finishJSTest(); 75 } 53 76 54 77 </script> -
trunk/LayoutTests/platform/mac/TestExpectations
r211131 r211132 1481 1481 # These sometimes work but more often than not don't 1482 1482 webkit.org/b/164323 media/modern-media-controls/airplay-support/airplay-support.html [ Pass Failure ] 1483 webkit.org/b/164298 media/modern-media-controls/placard-support/placard-support-airplay.html [ Pass Failure Timeout ]1484 1483 1485 1484 # This one always times out on the bots, cannot reproduce locally.
Note: See TracChangeset
for help on using the changeset viewer.