Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE html> | |
| 2 <script src=../../resources/testharness.js></script> | |
| 3 <script src=../../resources/testharnessreport.js></script> | |
| 4 <script src="resources/webgl-test.js"></script> | |
| 5 <script> | |
| 6 | |
| 7 function drawOn2DContext(canvas) { | |
| 8 var ctx = canvas.getContext('2d'); | |
| 9 ctx.strokeStyle="#FF0204"; | |
| 10 ctx.beginPath(); | |
| 11 ctx.moveTo(0,0); | |
| 12 ctx.lineTo(100, 100); | |
| 13 ctx.stroke(); | |
| 14 return ctx; | |
| 15 }; | |
| 16 | |
| 17 function drawOnWebGLContext(canvas) { | |
| 18 var ctx = create3DContext(canvas); | |
| 19 ctx.drawArrays(ctx.TRIANGLES, 0, 3); | |
| 20 return ctx; | |
| 21 }; | |
| 22 | |
| 23 // Run captureStream() after transferControlToOffscreen(). | |
| 24 var testOffScreenCanvasCommits = function(drawFunction, message) { | |
| 25 async_test(function(test) { | |
| 26 var canvas = document.createElement('canvas'); | |
| 27 var offscreen = canvas.transferControlToOffscreen(); | |
| 28 | |
| 29 var recorder = new MediaRecorder(canvas.captureStream()); | |
| 30 recorder.ondataavailable = test.step_func_done(function(event) { | |
| 31 assert_true(event.data.size > 0, 'Recorded data size should be > 0'); | |
| 32 }); | |
| 33 recorder.start(0); | |
| 34 | |
| 35 var ctx = drawFunction(offscreen); | |
| 36 ctx.commit(); | |
| 37 }), message; | |
| 38 }; | |
| 39 | |
| 40 generate_tests(testOffScreenCanvasCommits, [ | |
|
Justin Novosad
2017/01/19 19:06:31
The testharness documentation says you can't use g
emircan
2017/01/19 20:50:52
Sorry for missing that. I just removed generate_te
| |
| 41 [ "2d", drawOn2DContext, 'capture of an OffscreenCanvas with 2D context' ], | |
| 42 [ "webgl", drawOnWebGLContext, 'capture of an OffscreenCanvas with WebGL con text' ] | |
| 43 ]); | |
| 44 | |
| 45 // Run captureStream() on OffscreenCanvas that uses transferFromImageBitmap(). | |
| 46 var testOffScreenCanvasTransferBitmaps = function(drawFunction, message) { | |
| 47 async_test(function(test) { | |
| 48 var canvas = document.createElement('canvas'); | |
| 49 var ctx = canvas.getContext('bitmaprenderer'); | |
| 50 var offscreen = new OffscreenCanvas(400,200); | |
| 51 | |
| 52 var recorder = new MediaRecorder(canvas.captureStream()); | |
| 53 recorder.ondataavailable = test.step_func_done(function(event) { | |
| 54 assert_true(event.data.size > 0, 'Recorded data size should be > 0'); | |
| 55 }); | |
| 56 recorder.start(0); | |
| 57 | |
| 58 drawFunction(offscreen); | |
| 59 var image = offscreen.transferToImageBitmap(); | |
| 60 assert_equals(image.width, 400); | |
| 61 assert_equals(image.height, 200); | |
| 62 ctx.transferFromImageBitmap(offscreen.transferToImageBitmap()); | |
| 63 }), message; | |
| 64 }; | |
| 65 | |
| 66 generate_tests(testOffScreenCanvasTransferBitmaps, [ | |
| 67 [ "2d", drawOn2DContext, 'capture of an OffscreenCanvas with 2D context' ], | |
| 68 [ "webgl", drawOnWebGLContext, 'capture of an OffscreenCanvas with WebGL con text' ] | |
| 69 ]); | |
| 70 | |
| 71 </script> | |
| OLD | NEW |