Bug 1169126 - Part 2: Add webgl reftest for captureStream(). r=jgilbert

--HG--
extra : rebase_source : b1e6fdb1638d217eca2167a6d5b9e7974887d3e5
This commit is contained in:
Andreas Pehrson 2015-06-12 10:17:38 +08:00
Родитель d3659f3dbd
Коммит cff9cc5d90
2 изменённых файлов: 53 добавлений и 0 удалений

Просмотреть файл

@ -19,6 +19,9 @@ pref(webgl.force-layers-readback,true) == webgl-clear-test.html?readback wrappe
# Check that resize works:
== webgl-resize-test.html wrapper.html?green.png
# Check that captureStream() displays in a local video element
pref(canvas.capturestream.enabled,true) skip-if(winWidget&&layersGPUAccelerated&&d2d) == webgl-capturestream-test.html?preserve wrapper.html?green.png
# Some of the failure conditions are a little crazy. I'm (jgilbert) setting these based on
# failures encountered when running on Try, and then targetting the Try config by
# differences in the `sandbox` contents. That is, I'm labeling based on symptoms rather

Просмотреть файл

@ -0,0 +1,50 @@
<!DOCTYPE html>
<meta charset='UTF-8'>
<!--
Clear the canvas to green and capture it to a stream to test that we can get
the stream to screen in a local video element.
-->
<html class="reftest-wait">
<head>
<script type='text/javascript' src='webgl-utils.js'></script>
<script type='text/javascript'>
'use strict';
function setStatus(text) {
var elem = document.getElementById('status');
elem.innerHTML = text;
}
function finished() {
document.documentElement.removeAttribute("class");
}
function runTest() {
var canvas = document.getElementById('canvas');
var gl = initGL(canvas);
if (!gl) {
setStatus('WebGL context creation failed.');
return;
}
gl.clearColor(0.0, 1.0, 0.0, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT);
var video = document.getElementById('video');
video.mozSrcObject = canvas.captureStream(0);
video.play();
video.onloadeddata = finished;
video.onerror = finished;
}
</script>
</head>
<body onload='runTest();'>
<video id='video' width='256' height='256'></video>
<canvas id='canvas' width='256' height='256' style="display:none"></canvas>
<div id='status'></div>
</body>
</html>