| Index: third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-events-and-exceptions.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-events-and-exceptions.html b/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-events-and-exceptions.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d68c27e96428b97755470aafbb6ad1f840a8bf9c
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-events-and-exceptions.html
|
| @@ -0,0 +1,69 @@
|
| +<!DOCTYPE html>
|
| +<script src=../../resources/testharness.js></script>
|
| +<script src=../../resources/testharnessreport.js></script>
|
| +<script>
|
| +
|
| +var test = async_test('exercises the potential exceptions on ' +
|
| + 'CanvasCaptureMediaStream and possible events on MediaStream element.');
|
| +
|
| +onStreamActive = test.step_func(function() {
|
| + assert_equals(stream.active, true);
|
| + assert_equals(stream.getVideoTracks().length, 1);
|
| + assert_equals(stream.getVideoTracks()[0].readyState, 'live');
|
| + assert_equals(stream.getAudioTracks().length, 0);
|
| +});
|
| +
|
| +onStreamEnded = test.step_func(function() {
|
| + assert_equals(stream.ended, true);
|
| +});
|
| +
|
| +onStreamRemoveTrack = test.step_func(function() {
|
| + assert_equals(stream.getVideoTracks().length, 0);
|
| + assert_equals(stream.getAudioTracks().length, 0);
|
| +});
|
| +
|
| +removeTrack = test.step_func(function(stream) {
|
| + stream.removeTrack(stream.getVideoTracks()[0]);
|
| +});
|
| +
|
| +onTrackStarted = test.step_func(function() {
|
| + assert_equals(track.readyState, 'live');
|
| + assert_equals(track.enabled, true);
|
| + assert_equals(track.muted, false);
|
| +});
|
| +
|
| +onTrackEnded = test.step_func(function() {
|
| + assert_equals(track.readyState, 'ended');
|
| +});
|
| +
|
| +gotStream = test.step_func(function(stream) {
|
| + stream.onactive = onStreamActive;
|
| + stream.onended = onStreamEnded;
|
| +
|
| + track = stream.getVideoTracks()[0];
|
| + track.onstarted = onTrackStarted;
|
| + track.onended = onTrackEnded;
|
| +
|
| + var video = document.createElement('video');
|
| + try {
|
| + video.src = window.URL.createObjectURL(stream);;
|
| + } catch(e) {
|
| + assert_unreached('Exception plugging stream to <video>: ' + e);
|
| + }
|
| + video.play();
|
| +
|
| + removeTrack(stream);
|
| + test.done();
|
| +});
|
| +
|
| +var canvas = document.createElement('canvas');
|
| +var stream;
|
| +var track;
|
| +try {
|
| + stream = canvas.captureStream();
|
| +} catch (e) {
|
| + assert_unreached('Exception calling captureStream(): ' + e);
|
| +}
|
| +gotStream(stream);
|
| +
|
| +</script>
|
|
|