Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-imagebitmaprenderingcontext.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-imagebitmaprenderingcontext.html b/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-imagebitmaprenderingcontext.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4272380c73d8290faf886d75441575b5e417f4fb |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-imagebitmaprenderingcontext.html |
| @@ -0,0 +1,49 @@ |
| + <!DOCTYPE html> |
| + <script src =../../resources/testharness.js></script> |
| + <script src =../../resources/testharnessreport.js></script> |
| + <body></body> |
| + <script> |
| + |
| + function draw2d(canvas) { |
| + var ctx = canvas.getContext('2d'); |
| + ctx.fillStyle = 'green'; |
| + ctx.fillRect(0, 0, canvas.width, canvas.height); |
| +}; |
| + |
| +function drawWebGL(canvas) { |
| + var gl = canvas.getContext('webgl'); |
| + gl.clearColor(0, 1, 0, 1); |
| + gl.clear(gl.COLOR_BUFFER_BIT); |
| +}; |
| + |
| +// Run captureStream() on OffscreenCanvas that uses transferFromImageBitmap(). |
| +var testOffScreenCanvasTransferBitmaps = function(drawFunction, message) { |
| + async_test(function(test) { |
| + var canvas = document.createElement('canvas'); |
| + document.body.appendChild(canvas); |
| + var ctx = canvas.getContext('bitmaprenderer'); |
| + var offscreen = new OffscreenCanvas(400, 200); |
|
mcasas
2017/02/15 01:20:27
nit: maybe make it smaller? (==faster test?)
But n
emircan
2017/02/15 18:40:31
Done. I made it 64x48 such that width and height c
|
| + |
| + var recorder = new MediaRecorder(canvas.captureStream()); |
| + recorder.ondataavailable = test.step_func_done(function(event) { |
| + assert_true(event.data.size > 0, 'Recorded data size should be > 0'); |
|
mcasas
2017/02/15 01:20:27
You can safely remove this check here since you
sh
|
| + }); |
| + recorder.start(0); |
| + |
| + drawFunction(offscreen); |
| + var image = offscreen.transferToImageBitmap(); |
| + assert_equals(image.width, 400); |
| + assert_equals(image.height, 200); |
| + ctx.transferFromImageBitmap(offscreen.transferToImageBitmap()); |
| + console.log('DONE'); |
|
mcasas
2017/02/15 01:20:27
Remove stale logging.
emircan
2017/02/15 18:40:31
Done.
|
| + }), |
| + message; |
|
mcasas
2017/02/15 01:20:28
Wrong indent?
emircan
2017/02/15 18:40:31
Done.
|
| +}; |
| + |
| +testOffScreenCanvasTransferBitmaps( |
| + draw2d, |
| + 'capture of calling transferFromImageBitmap on OffscreenCanvas with 2D context'); |
| +testOffScreenCanvasTransferBitmaps( |
| + drawWebGL, |
| + 'capture of calling transferFromImageBitmap on OffscreenCanvas with WebGL context'); |
|
mcasas
2017/02/15 01:20:27
nit: reflow this line and l.45.
emircan
2017/02/15 18:40:31
Done.
|
| +</script> |