videoFrame-construction.window.js (1503B)
1 // META: script=/webcodecs/videoFrame-utils.js 2 3 promise_test(async t => { 4 let imgElement = document.createElement('img'); 5 let loadPromise = new Promise(r => imgElement.onload = r); 6 imgElement.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='; 7 await loadPromise; 8 verifyTimestampRequiredToConstructFrame(imgElement); 9 }, 'Test that timestamp is required when constructing VideoFrame from HTMLImageElement'); 10 11 promise_test(async t => { 12 const svgDocument = document.createElementNS('http://www.w3.org/2000/svg','svg'); 13 document.body.appendChild(svgDocument); 14 const svgImageElement = document.createElementNS('http://www.w3.org/2000/svg','image'); 15 svgDocument.appendChild(svgImageElement); 16 const loadPromise = new Promise(r => svgImageElement.onload = r); 17 svgImageElement.setAttributeNS('http://www.w3.org/1999/xlink','href','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='); 18 await loadPromise; 19 verifyTimestampRequiredToConstructFrame(svgImageElement); 20 document.body.removeChild(svgDocument); 21 }, 'Test that timestamp is required when constructing VideoFrame from SVGImageElement'); 22 23 promise_test(async t => { 24 verifyTimestampRequiredToConstructFrame(document.createElement('canvas')) 25 }, 'Test that timeamp is required when constructing VideoFrame from HTMLCanvasElement');