Chromium Code Reviews| Index: content/test/data/media/mediarecorder_test.html |
| diff --git a/content/test/data/media/mediarecorder_test.html b/content/test/data/media/mediarecorder_test.html |
| index 95a66894fe68ad1c3b4cb37818b3e779e6130052..55c2d72e266cee09c6c41c6bec3180b330be0d9d 100644 |
| --- a/content/test/data/media/mediarecorder_test.html |
| +++ b/content/test/data/media/mediarecorder_test.html |
| @@ -538,6 +538,49 @@ function testTwoChannelAudio() { |
| }); |
| } |
| +// Tests that MediaRecorder can handle video input with alpha channel. |
| +function testTransparentVideoInput(mimeType) { |
|
mcasas
2017/03/17 01:16:48
micro-nit: s/testTransparentVideoInput/testRecordW
emircan
2017/03/20 17:55:23
Done.
|
| + const ON_DATA_AVAILABLE_THRESHOLD = 10; |
| + const NUMBER_OF_EVENTS_TO_RECORD = 5; |
| + |
| + var canvas = document.createElement('canvas'); |
| + canvas.width = canvas.height = 64; |
| + var stream = canvas.captureStream(); |
| + assertTrue(stream, 'Error creating MediaStream'); |
| + assertEquals(1, stream.getVideoTracks().length); |
| + assertEquals(0, stream.getAudioTracks().length); |
| + var recordedEvents = 0; |
| + |
| + function drawOnCanvas(canvas) { |
| + var ctx = canvas.getContext('2d', {alpha: true}); |
| + ctx.fillStyle = 'green'; |
| + ctx.fillRect(0, 0, canvas.width, canvas.height); |
| + requestAnimationFrame( function() { drawOnCanvas(canvas); }); |
| + } |
| + |
| + createMediaRecorder(stream, mimeType) |
| + .then(function(recorder) { |
| + recorder.ondataavailable = function(event) { |
| + if (event.data.size > ON_DATA_AVAILABLE_THRESHOLD) |
| + ++recordedEvents; |
| + }; |
| + recorder.start(0); |
| + drawOnCanvas(canvas); |
| + }) |
| + .then(function() { |
| + return waitFor('Make sure the recording has data', |
| + function() { |
| + return recordedEvents > NUMBER_OF_EVENTS_TO_RECORD; |
| + }); |
| + }) |
| + .catch(function(err) { |
| + return failTest(err.toString()); |
| + }) |
| + .then(function() { |
| + reportTestSuccess(); |
| + }); |
| +} |
| + |
| // Tests that MediaRecorder's requestData() throws an exception if |state| is |
| // 'inactive'. |
| function testIllegalRequestDataThrowsDOMError() { |