| <!DOCTYPE html> |
| <html> |
| <body> |
| <canvas id="canvas"></canvas> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script> |
| promise_test(async t => { |
| const canvas = document.getElementById("canvas"); |
| const ctx = canvas.getContext("2d"); |
| const stream = canvas.captureStream(); |
| t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); |
| |
| const video = document.createElement("video"); |
| video.srcObject = stream; |
| |
| ctx.getImageData(0, 0, canvas.width, canvas.height); |
| |
| assert_equals(video.readyState, video.HAVE_NOTHING, |
| "Video element was just created"); |
| |
| // Wait a bit so the video element can update readyState in case of a frame. |
| await new Promise(r => t.step_timeout(r, 100)); |
| |
| assert_equals(video.readyState, video.HAVE_NOTHING, |
| "Video element did not get a frame from the canvas"); |
| }, "CanvasRenderingContext2D.getImageData() does not lead to a frame being captured"); |
| </script> |
| </body> |
| </html> |