| // 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'); |