Skip to content
Permalink
Browse files
[ macOS wk2 ] compositing/video/video-border-radius.html is a flakey …
…image failure

https://bugs.webkit.org/show_bug.cgi?id=223383
<rdar://75529480>

Patch by Jean-Yves Avenard <jyavenard@gmail.com> on 2022-05-24
Reviewed by Eric Carlson.

The test waited on the event "canplaythrough" before performing
the screen comparison, assuming that the two videos would have
rendered their first video frame.
canplaythrough is fired, per spec, when the media engine has
buffered sufficient data to ensure a smooth playback to the end.
It provides no guarantee that playback/decoding has actually started.

So instead we wait for a frame to be actually painted with my new
favourite method of the day: requestVideoFrameCallback

* LayoutTests/compositing/video/video-border-radius.html:
* LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/250940@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
jyavenard authored and webkit-commit-queue committed May 25, 2022
1 parent 2308b89 commit 664e7ec3222cf24b0cf370b7a6784a776cd2b446
Showing 2 changed files with 10 additions and 13 deletions.
@@ -45,29 +45,28 @@
}
</style>
<script src="../../media/media-file.js"></script>
<script src="../../media/utilities.js"></script>
<script>
if (window.testRunner)
testRunner.waitUntilDone();

function init()
async function init()
{
var totalCount = document.getElementsByTagName('video').length;
var count = totalCount;
document.addEventListener("canplaythrough", function () {
if (!--count && window.testRunner) {
setTimeout(function() {
testRunner.notifyDone();
}, totalCount * 150);
}
}, true);

document.addEventListener("error", function (event) {
console.log("Video " + event.target.getAttribute("name") + " failed to load, error " + event.target.error.code);
if (window.testRunner)
testRunner.notifyDone();
}, true);

var promises = [];
Array.from(document.getElementsByTagName('video')).forEach(video => promises.push(waitForVideoFrame(video)));

setSrcByTagName("video", findMediaFile("video", "../../media/content/counting"));

await Promise.all(promises);

if (window.testRunner)
testRunner.notifyDone();
}
</script>

@@ -1352,8 +1352,6 @@ webkit.org/b/223293 media/media-fullscreen-return-to-inline.html [ Pass Failure
# webkit.org/b/223385 Two imported webrtc tests are flakey text failing on Release for BigSur+ and iOS 14
[ BigSur+ Release ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate-connectionSetup.html [ Pass Failure ]

webkit.org/b/223383 compositing/video/video-border-radius.html [ Pass ImageOnlyFailure ]

webkit.org/b/223462 [ Debug arm64 ] imported/w3c/web-platform-tests/mediacapture-streams/GUM-optional-constraint.https.html [ Pass Crash ]

webkit.org/b/223486 [ arm64 ] inspector/css/modify-inline-style.html [ Pass Failure ]

0 comments on commit 664e7ec

Please sign in to comment.