var SJS = `${location.origin}/tests/dom/html/test/allowMedia.sjs`; var TEST_PAGE = "data:text/html,";
function runNextTest() { var test = tests.shift();
if (!test) {
SimpleTest.finish();
return;
}
test();
}
var tests = [
// Set allowMedia = false, load a page with <audio>, verify the <audio>
// doesn't load its source.
function basic() { variframe = insertIframe();
SpecialPowers.allowMedia(iframe.contentWindow, false);
loadIframe(iframe, TEST_PAGE, function () {
verifyPass(); iframe.remove();
runNextTest();
});
},
// Set allowMedia = false on parent docshell, load a page with <audio> in a
// child iframe, verify the <audio> doesn't load its source.
function inherit() {
SpecialPowers.allowMedia(window, false);
// In a display:none iframe, set allowMedia = false, load a page with <audio>,
// verify the <audio> doesn't load its source.
function displayNone() { variframe = insertIframe(); iframe.style.display = "none";
SpecialPowers.allowMedia(iframe.contentWindow, false);
loadIframe(iframe, TEST_PAGE, function () {
verifyPass(); iframe.remove();
runNextTest();
});
},
];
function insertIframe() { variframe = document.createElement("iframe");
document.body.appendChild(iframe);
return iframe;
}
function loadIframe(iframe, url, onDone) { iframe.setAttribute("src", url); iframe.addEventListener("load", onDone);
}
function verifyPass() { var xhr = new XMLHttpRequest();
xhr.open("GET", SJS, false);
xhr.send();
is(xhr.responseText, "PASS", ");
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.