Commit c255d0e2 authored by Thomas Guilbert's avatar Thomas Guilbert Committed by Commit Bot

Add WPTs for invalid WC inputs

These tests verify that a we can't create a VideoFrame from a closed
ImageBitmap or encode a destroyed frame.

Bug: 1116636, 1121255
Change-Id: Iba02d61128f5544550351408020223681a29b5a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2399448
Commit-Queue: Thomas Guilbert <tguilbert@chromium.org>
Commit-Queue: Dan Sanders <sandersd@chromium.org>
Auto-Submit: Thomas Guilbert <tguilbert@chromium.org>
Reviewed-by: default avatarDan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#805102}
parent 552c5361
......@@ -195,5 +195,19 @@ promise_test(async t => {
return testUnconfiguredCodec(t, encoder, frame);
}, 'Verify unconfigured VideoEncoder operations');
promise_test(async t => {
let encoder = new VideoEncoder(getDefaultCodecInit(t));
let frame = await createVideoFrame(640, 480, 0);
frame.destroy();
encoder.configure(defaultConfig);
frame.destroy();
assert_throws_dom("OperationError", () => {
encoder.encode(frame)
});
}, 'Verify encoding destroyed frames throws.');
</script>
</html>
......@@ -93,5 +93,16 @@ test(t => {
let view = new Uint8Array(buffer);
assert_throws_dom("InvalidStateError", () => yPlane.readInto(view));
}, 'Test we cannot read planar data from a destroyed VideoFrame.');
test(t => {
let image = makeImageBitmap(32, 16);
image.close();
assert_throws_dom("InvalidStateError", () => {
let frame = new VideoFrame(image, {timestamp: 10});
})
}, 'Test constructing VideoFrames from closed ImageBitmap throws.');
</script>
</html>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment