Blame dom/base/test/test_bug1318303.html

Packit f0b94e
Packit f0b94e
<html>
Packit f0b94e
  
Packit f0b94e
       https://bugzilla.mozilla.org/show_bug.cgi?id=1318303
Packit f0b94e
     -->
Packit f0b94e
  <head>
Packit f0b94e
    <meta charset="utf-8">
Packit f0b94e
    <title>Test for Bug 1318303</title>
Packit f0b94e
    <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
Packit f0b94e
    <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
Packit f0b94e
    <script>
Packit f0b94e
     var _createIterator = function (root) {
Packit f0b94e
       return document.createNodeIterator.call(root.ownerDocument || root,
Packit f0b94e
                                               root,
Packit f0b94e
                                               NodeFilter.SHOW_ELEMENT
Packit f0b94e
                                             | NodeFilter.SHOW_COMMENT
Packit f0b94e
                                             | NodeFilter.SHOW_TEXT,
Packit f0b94e
                                               function () {
Packit f0b94e
                                                 return NodeFilter.FILTER_ACCEPT;
Packit f0b94e
                                               },
Packit f0b94e
                                               false
Packit f0b94e
       );
Packit f0b94e
     };
Packit f0b94e
Packit f0b94e
     evil = "<body><object data=''>

</object></body>";
Packit f0b94e
     doc = new DOMParser().parseFromString(evil, 'text/html');
Packit f0b94e
     body = doc.getElementsByTagName("body")[0];
Packit f0b94e
     nodeIterator = _createIterator(body);
Packit f0b94e
     try {
Packit f0b94e
       while ((currentNode = nodeIterator.nextNode())) {
Packit f0b94e
         currentNode.removeAttribute("data");
Packit f0b94e
       }
Packit f0b94e
       ok(true, "Removing data attributes did not throw error");
Packit f0b94e
     } catch(err) {
Packit f0b94e
       ok(false, "Removing data attribute threw error!");
Packit f0b94e
     }
Packit f0b94e
     obj = doc.getElementsByTagName("object")[0];
Packit f0b94e
     const objLC = SpecialPowers.Ci.nsIObjectLoadingContent;
Packit f0b94e
Packit f0b94e
     obj instanceof objLC;
Packit f0b94e
     obj = SpecialPowers.wrap(obj);
Packit f0b94e
Packit f0b94e
     ok(obj.pluginFallbackType == objLC.PLUGIN_ALTERNATE,
Packit f0b94e
        "expected alternate fallback mode");
Packit f0b94e
Packit f0b94e
    </script>
Packit f0b94e
  </head>
Packit f0b94e
</html>
Packit f0b94e