Title: [294778] trunk/LayoutTests
- Revision
- 294778
- Author
- [email protected]
- Date
- 2022-05-24 17:04:59 -0700 (Tue, 24 May 2022)
Log Message
[ 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 <[email protected]> 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
Modified Paths
Diff
Modified: trunk/LayoutTests/compositing/video/video-border-radius.html (294777 => 294778)
--- trunk/LayoutTests/compositing/video/video-border-radius.html 2022-05-24 23:54:13 UTC (rev 294777)
+++ trunk/LayoutTests/compositing/video/video-border-radius.html 2022-05-25 00:04:59 UTC (rev 294778)
@@ -45,22 +45,13 @@
}
</style>
<script src=""
+<script src=""
<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)
@@ -67,7 +58,15 @@
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>
Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (294777 => 294778)
--- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2022-05-24 23:54:13 UTC (rev 294777)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2022-05-25 00:04:59 UTC (rev 294778)
@@ -1352,8 +1352,6 @@
# 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 ]
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes