OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <script src =../../resources/testharness.js></script> |
| 3 <script src =../../resources/testharnessreport.js></script> |
| 4 <body></body> |
| 5 <script> |
| 6 |
| 7 function draw2d(canvas) { |
| 8 var ctx = canvas.getContext('2d'); |
| 9 ctx.fillStyle = 'green'; |
| 10 ctx.fillRect(0, 0, canvas.width, canvas.height); |
| 11 }; |
| 12 |
| 13 function drawWebGL(canvas) { |
| 14 var gl = canvas.getContext('webgl'); |
| 15 gl.clearColor(0, 1, 0, 1); |
| 16 gl.clear(gl.COLOR_BUFFER_BIT); |
| 17 }; |
| 18 |
| 19 // Run captureStream() on OffscreenCanvas that uses transferToImageBitmap(). |
| 20 var testOffScreenCanvasTransferBitmaps = function(drawFunction, message) { |
| 21 async_test(function(test) { |
| 22 var canvas = document.createElement('canvas'); |
| 23 document.body.appendChild(canvas); |
| 24 var ctx = canvas.getContext('bitmaprenderer'); |
| 25 var offscreen = new OffscreenCanvas(64, 48); |
| 26 |
| 27 var recorder = new MediaRecorder(canvas.captureStream()); |
| 28 recorder.ondataavailable = test.step_func_done(function(event) { |
| 29 assert_true(event.data.size > 0, 'Recorded data size should be > 0'); |
| 30 }); |
| 31 recorder.start(0); |
| 32 |
| 33 drawFunction(offscreen); |
| 34 var image = offscreen.transferToImageBitmap(); |
| 35 assert_equals(image.width, 64); |
| 36 assert_equals(image.height, 48); |
| 37 ctx.transferFromImageBitmap(offscreen.transferToImageBitmap()); |
| 38 }), message; |
| 39 }; |
| 40 |
| 41 testOffScreenCanvasTransferBitmaps( |
| 42 draw2d, |
| 43 'captureStream() on OffscreenCanvas with 2D context using transferToImageBit
map().'); |
| 44 testOffScreenCanvasTransferBitmaps( |
| 45 drawWebGL, |
| 46 'captureStream() on OffscreenCanvas with WebGL context using transferToImage
Bitmap().'); |
| 47 </script> |
OLD | NEW |