Skip to content

Commit

Permalink
[webcodecs] Deprecate minor spec violations
Browse files Browse the repository at this point in the history
See bugs, as well as following context
https://chromestatus.com/feature/5667793157488640
https://groups.google.com/a/chromium.org/g/blink-dev/c/dnWY4yKbLX8/

Bug: 1275024, 1281015
Change-Id: I7689dc2c04c096673b7961284fee1d08a00e69e2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3390729
Commit-Queue: Chrome Cunningham <chcunningham@chromium.org>
Auto-Submit: Chrome Cunningham <chcunningham@chromium.org>
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
Commit-Queue: Eugene Zemtsov <eugene@chromium.org>
Cr-Commit-Position: refs/heads/main@{#961367}
  • Loading branch information
chcunningham authored and Chromium LUCI CQ committed Jan 20, 2022
1 parent 65ac9b3 commit ca14b57
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
gl.viewport(0, 0, 300, 300);
drawTriangle(gl);

let frame = new VideoFrame(canvas);
let frame = new VideoFrame(canvas, {timestamp: 0});
let video = document.querySelector('video');
video.requestVideoFrameCallback(async _ => {
// Wait for several vsyncs before taking a snapshot, this deflakes the test.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
namespace blink {

const base::Feature kRemoveWebCodecsSpecViolations{
"RemoveWebCodecsSpecViolations", base::FEATURE_DISABLED_BY_DEFAULT};
"RemoveWebCodecsSpecViolations", base::FEATURE_ENABLED_BY_DEFAULT};

namespace {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

function createVideoFrame() {
const canvas = document.createElement('canvas');
return new VideoFrame(canvas);
return new VideoFrame(canvas, {timestamp: 0});
}

promise_test(async (t) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ function verifyPicture(picture) {

promise_test(async () => {
let src = makeRGBACanvas();
let frame = new VideoFrame(src, {alpha: 'keep'});
let frame = new VideoFrame(src, {alpha: 'keep', timestamp: 0});
verifyPicture(frame);
verifyPicture(await createImageBitmap(frame));
}, 'OffscreenCanvas source preserves alpha');

promise_test(async () => {
let src = makeRGBACanvas().transferToImageBitmap();
let frame = new VideoFrame(src, {alpha: 'keep'});
let frame = new VideoFrame(src, {alpha: 'keep', timestamp: 0});
verifyPicture(frame);
verifyPicture(await createImageBitmap(frame));
}, 'ImageBitmap source preserves alpha');
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,12 @@
test(t => {
let button = document.querySelector('button');
let bgImage = button.computedStyleMap().get('background-image');
assert_throws_dom('SecurityError', _ => { new VideoFrame(bgImage); },
assert_throws_dom('SecurityError', _ => { new VideoFrame(bgImage, {timestamp: 0}); },
'CSSImageValues are currently always tainted');
}, 'CSSImageValue constructed VideoFrame');

test(t => {
let frame = new VideoFrame(document.querySelector('img'));
let frame = new VideoFrame(document.querySelector('img'), {timestamp: 0});
let canvas = new OffscreenCanvas(frame.displayWidth, frame.displayHeight);
let ctx = canvas.getContext('2d');
ctx.drawImage(frame, 0, 0);
Expand All @@ -81,7 +81,7 @@
}, 'Image element constructed VideoFrame');

test(t => {
let frame = new VideoFrame(document.querySelector('image'));
let frame = new VideoFrame(document.querySelector('image'), {timestamp: 0});
let canvas = new OffscreenCanvas(frame.displayWidth, frame.displayHeight);
let ctx = canvas.getContext('2d');
ctx.drawImage(frame, 0, 0);
Expand Down Expand Up @@ -112,7 +112,7 @@
let ctx = canvas.getContext('2d');
verifyFourColorsImage(canvas.width, canvas.height, ctx);

let frame = new VideoFrame(canvas);
let frame = new VideoFrame(canvas, {timestamp: 0});
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(frame, 0, 0);
verifyFourColorsImage(canvas.width, canvas.height, ctx);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,8 @@ test(t => {

let scaledFrame = new VideoFrame(image,
{ visibleRect : {x: 0, y: 0, width: 2, height: 2},
displayWidth: 10, displayHeight: 20
displayWidth: 10, displayHeight: 20,
timestamp: 0
});
assert_equals(scaledFrame.codedWidth, 32);
assert_equals(scaledFrame.codedHeight, 16);
Expand All @@ -279,7 +280,8 @@ test(t => {

let scaledFrame = new VideoFrame(image,
{
displayWidth: 10, displayHeight: 20
displayWidth: 10, displayHeight: 20,
timestamp: 0
});
assert_equals(scaledFrame.codedWidth, 32);
assert_equals(scaledFrame.codedHeight, 16);
Expand Down Expand Up @@ -545,7 +547,7 @@ test(t => {

test(t => {
let canvas = makeOffscreenCanvas(16, 16);
let frame = new VideoFrame(canvas);
let frame = new VideoFrame(canvas, {timestamp: 0});
assert_equals(frame.displayWidth, 16);
assert_equals(frame.displayHeight, 16);
frame.close();
Expand Down Expand Up @@ -609,14 +611,14 @@ test(t => {

test(t => {
let canvas = makeOffscreenCanvas(16, 16, {alpha: true});
let frame = new VideoFrame(canvas);
let frame = new VideoFrame(canvas, {timestamp: 0});
assert_true(
frame.format == 'RGBA' || frame.format == 'BGRA' ||
frame.format == 'I420A',
'plane format should have alpha: ' + frame.format);
frame.close();

frame = new VideoFrame(canvas, {alpha: 'discard'});
frame = new VideoFrame(canvas, {alpha: 'discard', timestamp: 0});
assert_true(
frame.format == 'RGBX' || frame.format == 'BGRX' ||
frame.format == 'I420',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ test(_ => {
let ctx = canvas.getContext('2d');

let init = {alpha: 'discard', timestamp: 33090};
let frame = new VideoFrame(canvas);
let frame = new VideoFrame(canvas, {timestamp: 0});
let frame2 = new VideoFrame(frame, init);
let frame3 = new VideoFrame(frame2, init);

Expand Down

0 comments on commit ca14b57

Please sign in to comment.