dom/plugins/test/mochitest/pluginstream.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/plugins/test/mochitest/pluginstream.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,32 @@
     1.4 +  SimpleTest.waitForExplicitFinish();
     1.5 +
     1.6 +  function frameLoaded() {
     1.7 +    var testframe = document.getElementById('testframe');
     1.8 +    var embed = document.getElementsByTagName('embed')[0];
     1.9 +    if (undefined === embed)
    1.10 +      embed = document.getElementsByTagName('object')[0];
    1.11 +
    1.12 +    // In the file:// URI case, this ends up being cross-origin.
    1.13 +    // Skip these checks in that case.
    1.14 +    if (testframe.contentDocument) {
    1.15 +      var content = testframe.contentDocument.body.innerHTML;
    1.16 +      if (!content.length)
    1.17 +        return;
    1.18 +
    1.19 +      var filename = embed.getAttribute("src") ||
    1.20 +          embed.getAttribute("geturl") ||
    1.21 +          embed.getAttribute("geturlnotify") ||
    1.22 +          embed.getAttribute("data");
    1.23 +
    1.24 +      var req = new XMLHttpRequest();
    1.25 +      req.open('GET', filename, false);
    1.26 +      req.overrideMimeType('text/plain; charset=x-user-defined');
    1.27 +      req.send(null);
    1.28 +      is(req.status, 200, "bad XMLHttpRequest status");
    1.29 +      is(content, req.responseText.replace(/\r\n/g, "\n"),
    1.30 +         "content doesn't match");
    1.31 +    }
    1.32 +
    1.33 +    is(embed.getError(), "pass", "plugin reported error");
    1.34 +    SimpleTest.finish();
    1.35 +  }

mercurial