blob: 8935029571a683d63ab26e2bcb4bcebecd22aa33 [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<body>
<div id="console">
<script>
if (window.testRunner) {
testRunner.waitUntilDone();
testRunner.dumpChildFramesAsText(true);
}
const params = new URL(window.location.href).search.substr(1).split(';');
const fail = (msg) => { return `<span><span class="fail">FAIL</span> ${msg}</span>` }
const success = (msg) => { return `<span><span class="fail">PASS</span> ${msg}</span>` }
const debug = (msg) => {
let span = document.createElement("span");
span.innerHTML = msg + '<br>';
document.getElementById("console").appendChild(span);
}
const mode = params[0];
function finish(error, stream)
{
if (mode === "succeed") {
if (stream)
debug(success("getUserMedia succeeded"));
else
debug(fail(`getUserMedia should have succeeded but failed with error "${error}"`));
} else {
if (error)
debug(success(`getUserMedia failed with error: "${error}"`));
else
debug(fail(`getUserMedia should have succeeded, but failed with error "${error}"`));
}
debug('<br><span class="pass">TEST COMPLETE</span>');
if (window.testRunner)
testRunner.notifyDone();
}
debug(`URL: ${window.location.href}`);
const depth = params[1];
if (depth > 1) {
let iframe = document.createElement("iframe");
let url = window.location.href.split('?')[0];
iframe.src = `${url}?${mode};${depth - 1}`;
document.body.appendChild(iframe);
} else {
debug("");
navigator.mediaDevices.getUserMedia({audio:true})
.then(stream => { finish(null, stream); })
.catch(err => { finish(err, null); });
}
</script>
</body>
</html>