OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../resources/js-test.js"></script> | 4 <script src="../../resources/js-test.js"></script> |
5 </head> | 5 </head> |
6 <body> | 6 <body> |
7 <p id="description"></p> | 7 <p id="description"></p> |
8 <div id="console"></div> | 8 <div id="console"></div> |
9 <canvas id="canvas_source"></canvas> | 9 <canvas id="canvas_source"></canvas> |
| 10 <video id="v"></video> |
10 <script> | 11 <script> |
11 description("Exercises the potential events on CanvasCaptureMediaStream."); | 12 description("Exercises the requestFrame() call on captureStream(0)."); |
12 | 13 |
13 window.jsTestIsAsync = true; | 14 window.jsTestIsAsync = true; |
14 | 15 |
15 var canvas = document.getElementById('canvas_source'); | 16 var canvas = document.getElementById('canvas_source'); |
16 var stream; | 17 var stream; |
17 var track; | 18 var track; |
18 | 19 |
19 function onVideoPlay() { | 20 function onVideoPlay() { |
20 testPassed('Video play callback succeeded.'); | 21 testPassed('Video play callback succeeded.'); |
21 drawToCanvas(canvas); | 22 drawToCanvas(canvas); |
| 23 testPassed('Calling requestFrame().'); |
| 24 track.requestFrame(); |
22 }; | 25 }; |
23 | 26 |
24 function onVideoCanPlayThrough() { | 27 function onVideoCanPlayThrough() { |
25 testPassed('Video canplaythrough callback succeeded.'); | 28 testPassed('Video canplaythrough callback succeeded.'); |
26 finishJSTest(); | 29 finishJSTest(); |
27 }; | 30 }; |
28 | 31 |
29 function drawToCanvas(canvas) { | 32 function drawToCanvas(canvas) { |
30 testPassed('Drawing to canvas.'); | 33 testPassed('Drawing to canvas.'); |
31 var ctx = canvas.getContext("2d"); | 34 var ctx = canvas.getContext("2d"); |
32 ctx.strokeStyle="#FF0204"; | 35 ctx.strokeStyle="#FF0204"; |
33 ctx.beginPath(); | 36 ctx.beginPath(); |
34 ctx.moveTo(0,0); | 37 ctx.moveTo(0,0); |
35 ctx.lineTo(100, 100); | 38 ctx.lineTo(100, 100); |
36 ctx.stroke(); | 39 ctx.stroke(); |
37 }; | 40 }; |
38 | 41 |
39 function playMediaStream() { | 42 function playMediaStream() { |
40 shouldBe('stream.getVideoTracks().length', '1'); | 43 shouldBe('stream.getVideoTracks().length', '1'); |
41 track = stream.getVideoTracks()[0]; | 44 track = stream.getVideoTracks()[0]; |
42 shouldBeEqualToString('track.readyState', 'live'); | 45 shouldBeEqualToString('track.readyState', 'live'); |
43 | 46 |
44 var video = document.createElement('video'); | 47 // var video = document.createElement('video'); |
| 48 var video = document.getElementById('v'); |
45 try { | 49 try { |
46 video.src = window.URL.createObjectURL(stream); | 50 video.src = window.URL.createObjectURL(stream); |
47 testPassed('Plugged stream to video tag.'); | 51 testPassed('Plugged stream to video tag.'); |
48 } catch(e) { | 52 } catch(e) { |
49 testFailed('Exception plugging stream to <video>: ' + e); | 53 testFailed('Exception plugging stream to <video>: ' + e); |
50 finishJSTest(); | 54 finishJSTest(); |
51 } | 55 } |
52 video.addEventListener("play", onVideoPlay); | 56 video.addEventListener("play", onVideoPlay); |
53 video.addEventListener("canplaythrough", onVideoCanPlayThrough); | 57 video.addEventListener("canplaythrough", onVideoCanPlayThrough); |
54 video.play(); | 58 video.play(); |
55 }; | 59 }; |
56 | 60 |
57 try { | 61 try { |
58 stream = canvas.captureStream(); | 62 stream = canvas.captureStream(0); |
59 testPassed('Got a stream from canvas.'); | 63 testPassed('Got a stream from canvas.'); |
60 } catch (e) { | 64 } catch (e) { |
61 testFailed('Exception calling captureStream(): ' + e); | 65 testFailed('Exception calling captureStream(): ' + e); |
62 finishJSTest(); | 66 finishJSTest(); |
63 } | 67 } |
64 if (stream) { | 68 if (stream) { |
65 playMediaStream(); | 69 playMediaStream(); |
66 } | 70 } |
67 | 71 |
68 </script> | 72 </script> |
69 </body> | 73 </body> |
70 </html> | 74 </html> |
OLD | NEW |