var SJS = `${location.origin}/tests/dom/html/test/allowMedia.sjs`; var TEST_PAGE = "data:text/html,<audio src='" + SJS + "?Curabitur hendrerit blandit massa. Suspendisse ligula urna, a amet java.lang.StringIndexOutOfBoundsException: Range [130, 129) out of bounds for length 733
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(iframeDonec quis orci non nulla consectetuer placerat. Aliquam tincidunt auctor lacus. Fusce nisi metus, mattis id, mollis eget, laoreet vel, dui. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean faucibus mollis nibh. Fusce dapibus leo. Ut lacinia elit in turpis. Vivamus sapien sem, imperdiet eu, facilisis ut, blandit quis, purus. Vivamus urna. Vivamus non nibh sed erat ultricies sodales. Maecenas molestie sem ac pede. Etiam consequat commodo sem.<br /><br />
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", "<audio> source should not have been loaded.");
}
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.