Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Unified Diff: third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-events-and-exceptions.html

Issue 1467103003: Basic use implementation for MediaStream from Canvas: captureStream() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: haraken@ comments. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..78a219b074fcdbece0c8c1cfd852192461ad2039
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/CanvasCaptureMediaStream-events-and-exceptions.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../resources/js-test.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<canvas id="canvas_source"></canvas>
+<script>
+description("Exercises the potential events on CanvasCaptureMediaStream.");
Justin Novosad 2015/12/04 14:45:29 Thanks for cleaning up this test. It is much easie
+
+var canvas = document.getElementById('canvas_source');
+var stream;
+var track;
+
+function onVideoPlay() {
+ testPassed('Video play callback succeeded.');
+ drawToCanvas(canvas);
+};
+
+function onVideoCanPlayThrough() {
+ testPassed('Video canplaythrough callback succeeded.');
+ finishJSTest();
+};
+
+function drawToCanvas(canvas) {
+ testPassed('Drawing to canvas.');
+ var ctx = canvas.getContext("2d");
+ ctx.strokeStyle="#FF0204";
+ ctx.beginPath();
+ ctx.moveTo(0,0);
+ ctx.lineTo(100, 100);
+ ctx.stroke();
+}
+
+function gotStream() {
+ shouldBe('stream.getVideoTracks().length', '1');
+ track = stream.getVideoTracks()[0];
+ shouldBeEqualToString('track.readyState', 'live');
+
+ var video = document.createElement('video');
+ try {
+ video.src = window.URL.createObjectURL(stream);
+ testPassed('Plugged stream to video tag.');
+ } catch(e) {
+ testFailed('Exception plugging stream to <video>: ' + e);
+ finishJSTest();
+ }
+ video.addEventListener("play", onVideoPlay);
+ video.addEventListener("canplaythrough", onVideoCanPlayThrough);
+ video.play();
+};
+
+try {
+ stream = canvas.captureStream();
+ testPassed('Got a stream from canvas.');
+} catch (e) {
+ testFailed('Exception calling captureStream(): ' + e);
+ finishJSTest();
Justin Novosad 2015/12/04 14:45:29 Here you are potentially calling finishJSTest befo
Justin Novosad 2015/12/04 14:49:24 FWIW, this ordering does not actually matter other
emircan 2015/12/04 18:49:37 Moving it to the beginning of the file.
+}
+gotStream();
Justin Novosad 2015/12/04 14:45:29 Should not call this if there was an exception. Al
emircan 2015/12/04 18:49:37 Renaming it to playMediaStream() and moving inside
+
+window.jsTestIsAsync = true;
+window.successfullyParsed = true;
Justin Novosad 2015/12/04 14:45:29 This is not necessary.
emircan 2015/12/04 18:49:37 Done.
+</script>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698