fune/dom/plugins/test/mochitest/pluginstream.js
2019-03-06 08:10:47 +00:00

39 lines
1.3 KiB
JavaScript

SimpleTest.waitForExplicitFinish();
function frameLoaded(finishWhenCalled = true, lastObject = false) {
var testframe = document.getElementById("testframe");
function getNode(list) {
if (list.length === 0)
return undefined;
return lastObject ? list[list.length - 1] : list[0];
}
var embed = getNode(document.getElementsByTagName("embed"));
if (undefined === embed)
embed = getNode(document.getElementsByTagName("object"));
// In the file:// URI case, this ends up being cross-origin.
// Skip these checks in that case.
if (testframe.contentDocument) {
var content = testframe.contentDocument.body.innerHTML;
if (!content.length)
return;
var filename = embed.getAttribute("src") ||
embed.getAttribute("geturl") ||
embed.getAttribute("geturlnotify") ||
embed.getAttribute("data");
var req = new XMLHttpRequest();
req.open("GET", filename, false);
req.overrideMimeType("text/plain; charset=x-user-defined");
req.send(null);
is(req.status, 200, "bad XMLHttpRequest status");
is(content, req.responseText.replace(/\r\n/g, "\n"),
"content doesn't match");
}
is(embed.getError(), "pass", "plugin reported error");
if (finishWhenCalled) {
SimpleTest.finish();
}
}