Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

// META: script=/webcodecs/videoFrame-utils.js
promise_test(async t => {
let imgElement = document.createElement('img');
let loadPromise = new Promise(r => imgElement.onload = r);
imgElement.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
await loadPromise;
verifyTimestampRequiredToConstructFrame(imgElement);
}, 'Test that timestamp is required when constructing VideoFrame from HTMLImageElement');
promise_test(async t => {
const svgDocument = document.createElementNS('http://www.w3.org/2000/svg','svg');
document.body.appendChild(svgDocument);
const svgImageElement = document.createElementNS('http://www.w3.org/2000/svg','image');
svgDocument.appendChild(svgImageElement);
const loadPromise = new Promise(r => svgImageElement.onload = r);
svgImageElement.setAttributeNS('http://www.w3.org/1999/xlink','href','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==');
await loadPromise;
verifyTimestampRequiredToConstructFrame(svgImageElement);
document.body.removeChild(svgDocument);
}, 'Test that timestamp is required when constructing VideoFrame from SVGImageElement');
promise_test(async t => {
verifyTimestampRequiredToConstructFrame(document.createElement('canvas'))
}, 'Test that timeamp is required when constructing VideoFrame from HTMLCanvasElement');