| Index: third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-error.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-error.html b/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-error.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d4aa434eb488669bd8568285ae95145b4088b620
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-error.html
|
| @@ -0,0 +1,60 @@
|
| +<!DOCTYPE html>
|
| +<script src=../../resources/testharness.js></script>
|
| +<script src=../../resources/testharnessreport.js></script>
|
| +<body>
|
| + <!-- canvas cannot be arbitrarily small -->
|
| + <canvas id='canvas'/>
|
| +</body>
|
| +<script>
|
| +
|
| +var test = async_test('forces an error in the MediaRecorder API by changing ' +
|
| + 'the amount of tracks in the MediaStream, and checks that the correct ' +
|
| + 'sequence ondataavailable-stop-error is enforced');
|
| +var recorder;
|
| +var stream;
|
| +
|
| +function drawSomethingOnCanvas(canvas) {
|
| + // Drawing something on the canvas generates a frame in its captured stream.
|
| + var context = canvas.getContext("2d");
|
| + context.fillStyle = "red";
|
| + context.fillRect(0, 0, 10, 10);
|
| +}
|
| +
|
| +recorderOnDataAvailable = test.step_func(function(event) {
|
| + recorder.onstop = recorderOnStop;
|
| +
|
| + // Add another track to the MediaStream to force an error.
|
| + stream.addTrack(stream.getVideoTracks()[0].clone());
|
| + drawSomethingOnCanvas(document.getElementById('canvas'));
|
| +});
|
| +
|
| +recorderOnStop = test.step_func(function() {
|
| + recorder.onstop = test.unreached_func('Unexpected stop event');
|
| + recorder.ondataavailable = test.unreached_func('Unexpected data event');
|
| + recorder.onerror = recorderOnError;
|
| +});
|
| +
|
| +recorderOnError = test.step_func(function() {
|
| + test.done();
|
| +});
|
| +
|
| +var step = test.step_func(function() {
|
| + var canvas = document.getElementById('canvas');
|
| + stream = canvas.captureStream();
|
| + assert_equals(stream.getVideoTracks()[0].readyState, 'live');
|
| +
|
| + recorder = new MediaRecorder(stream);
|
| +
|
| + recorder.onstop = test.unreached_func('Unexpected stop event');
|
| + recorder.onpause = test.unreached_func('Unexpected pause event');
|
| + recorder.onresume = test.unreached_func('Unexpected resume event');
|
| + recorder.onerror = test.unreached_func('Unexpected error event');
|
| + recorder.ondataavailable = recorderOnDataAvailable;
|
| +
|
| + recorder.start(0);
|
| + drawSomethingOnCanvas(canvas);
|
| +});
|
| +
|
| +step();
|
| +
|
| +</script>
|
|
|