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> |