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

Side by Side Diff: content/test/data/media/canvas_capture.html

Issue 2683343002: Notify listeners on bitmaprenderer context changes (Closed)
Patch Set: Created 3 years, 10 months 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>Media Capture from DOM Elements (video/audio) Browser Test</title> 4 <title>Media Capture from DOM Elements (video/audio) Browser Test</title>
5 </head> 5 </head>
6 <body> 6 <body>
7 <div> Capture and playback from video/audio elements.</div> 7 <div> Capture and playback from video/audio elements.</div>
8 </body> 8 </body>
9 <script type="text/javascript" src="webrtc_test_utilities.js"></script> 9 <script type="text/javascript" src="webrtc_test_utilities.js"></script>
10 <script> 10 <script>
(...skipping 15 matching lines...) Expand all
26 checkForRedraw(canvas, drawCounter, draw2d); 26 checkForRedraw(canvas, drawCounter, draw2d);
27 }; 27 };
28 28
29 function drawWebGL(canvas, drawCounter) { 29 function drawWebGL(canvas, drawCounter) {
30 var gl = canvas.getContext('webgl'); 30 var gl = canvas.getContext('webgl');
31 gl.clearColor(0, 1, 0, 1); 31 gl.clearColor(0, 1, 0, 1);
32 gl.clear(gl.COLOR_BUFFER_BIT); 32 gl.clear(gl.COLOR_BUFFER_BIT);
33 checkForRedraw(canvas, drawCounter, drawWebGL); 33 checkForRedraw(canvas, drawCounter, drawWebGL);
34 }; 34 };
35 35
36 function drawBitmapRenderer(canvas, drawCounter) {
37 var gl = canvas.getContext('bitmaprenderer');
38 var offscreen = new OffscreenCanvas(400,200);
39 var ctx = offscreen.getContext('2d');
40 ctx.fillStyle = 'green';
41 ctx.fillRect(0, 0, canvas.width, canvas.height);
42 gl.transferFromImageBitmap(offscreen.transferToImageBitmap());
43 checkForRedraw(canvas, drawCounter, drawBitmapRenderer);
44 };
45
36 function testCanvasCapture(drawFunction) { 46 function testCanvasCapture(drawFunction) {
37 var canvas = document.createElement('canvas'); 47 var canvas = document.createElement('canvas');
38 document.body.appendChild(canvas); 48 document.body.appendChild(canvas);
39 49
40 var stream = canvas.captureStream(); 50 var stream = canvas.captureStream();
41 assertTrue(stream, 'Error creating MediaStream'); 51 assertTrue(stream, 'Error creating MediaStream');
42 assertEquals(1, stream.getVideoTracks().length); 52 assertEquals(1, stream.getVideoTracks().length);
43 assertEquals(0, stream.getAudioTracks().length); 53 assertEquals(0, stream.getAudioTracks().length);
44 54
45 var recorded_events = 0; 55 var recorded_events = 0;
46 const recorder = new MediaRecorder(stream); 56 const recorder = new MediaRecorder(stream);
47 assertTrue(recorder, 'Error creating recorder out of the MediaStream'); 57 assertTrue(recorder, 'Error creating recorder out of the MediaStream');
48 58
49 recorder.ondataavailable = function(event) { 59 recorder.ondataavailable = function(event) {
50 if (event.data.size > ON_DATA_AVAILABLE_THRESHOLD) { 60 if (event.data.size > ON_DATA_AVAILABLE_THRESHOLD) {
51 if (++recorded_events == NUMBER_OF_EVENTS_TO_RECORD) 61 if (++recorded_events == NUMBER_OF_EVENTS_TO_RECORD)
52 reportTestSuccess(); 62 reportTestSuccess();
53 } 63 }
54 }; 64 };
55 65
56 recorder.start(0); 66 recorder.start(0);
57 drawFunction(canvas, 0); 67 drawFunction(canvas, 0);
58 } 68 }
59 69
60 </script> 70 </script>
61 </body> 71 </body>
62 </html> 72 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698