summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webcodecs/videoFrame-construction.window.js
blob: 6c9791cea6821a45e80f7928cdbc4d223ba3f6b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 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');