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..fe7f962d4d79124318dcfc4a64ee072591761237 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-events-and-exceptions.html |
@@ -0,0 +1,53 @@ |
+<!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.'); |
+ |
+streamOnActive = 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); |
+}); |
+ |
+streamOnEnded = test.step_func(function() { |
+ assert_equals(stream.ended, true); |
+}); |
+ |
+streamOnRemoveTrack = 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]); |
+}); |
+ |
+gotStream = test.step_func(function(stream) { |
+ stream.onactive = streamOnActive; |
+ stream.onended = streamOnEnded; |
+ |
+ var video = document.createElement('video'); |
+ try { |
+ video.src = window.URL.createObjectURL(stream);; |
+ } catch(e) { |
+ assert_unreached('Exception plugging stream to <video>: ' + e); |
+ } |
+ |
+ removeTrack(stream); |
+ test.done(); |
+}); |
+ |
+var canvas = document.createElement('canvas'); |
+var stream; |
+try { |
+ stream = canvas.captureStream(); |
+ gotStream(stream); |
+} catch (e) { |
+ assert_unreached('Exception calling captureStream(): ' + e); |
+} |
+ |
+</script> |