| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <title>Historical DOM features must be removed</title> | |
| 3 <script src="../../../resources/testharness.js"></script> | |
| 4 <script src="../../../resources/testharnessreport.js"></script> | |
| 5 <div id=log></div> | |
| 6 <script> | |
| 7 function isInterfaceNuked(name) { | |
| 8 test(function() { | |
| 9 assert_equals(window[name], undefined) | |
| 10 }, "Historical DOM features must be removed: " + name) | |
| 11 } | |
| 12 var nukedInterfaces = [ | |
| 13 "CDATASection", | |
| 14 "DOMConfiguration", | |
| 15 "DOMError", | |
| 16 "DOMErrorHandler", | |
| 17 "DOMImplementationList", | |
| 18 "DOMImplementationSource", | |
| 19 "DOMLocator", | |
| 20 "DOMObject", | |
| 21 "DOMSettableTokenList", | |
| 22 "DOMUserData", | |
| 23 "Entity", | |
| 24 "EntityReference", | |
| 25 "EventException", // DOM Events | |
| 26 "NameList", | |
| 27 "Notation", | |
| 28 "TypeInfo", | |
| 29 "UserDataHandler", | |
| 30 "RangeException" // DOM Range | |
| 31 ] | |
| 32 nukedInterfaces.forEach(isInterfaceNuked) | |
| 33 | |
| 34 function isNukedFromDocument(name) { | |
| 35 test(function() { | |
| 36 var doc = document.implementation.createDocument(null,null,null) | |
| 37 assert_equals(document[name], undefined) | |
| 38 assert_equals(doc[name], undefined) | |
| 39 }, "Historical DOM features must be removed: " + name) | |
| 40 } | |
| 41 var documentNuked = [ | |
| 42 "createCDATASection", | |
| 43 "createEntityReference", | |
| 44 "xmlEncoding", | |
| 45 "xmlStandalone", | |
| 46 "xmlVersion", | |
| 47 "strictErrorChecking", | |
| 48 "domConfig", | |
| 49 "normalizeDocument", | |
| 50 "renameNode", | |
| 51 "defaultCharset", | |
| 52 "height", | |
| 53 "width" | |
| 54 ] | |
| 55 documentNuked.forEach(isNukedFromDocument) | |
| 56 | |
| 57 test(function() { | |
| 58 assert_equals(document.implementation["getFeature"], undefined) | |
| 59 }, "DOMImplementation.getFeature() must be nuked.") | |
| 60 | |
| 61 function isNukedFromElement(name) { | |
| 62 test(function() { | |
| 63 var ele = document.createElementNS("test", "test") | |
| 64 assert_equals(document.body[name], undefined) | |
| 65 assert_equals(ele[name], undefined) | |
| 66 }, "Historical DOM features must be removed: " + name) | |
| 67 } | |
| 68 var elementNuked = [ | |
| 69 "schemaTypeInfo", | |
| 70 "setIdAttribute", | |
| 71 "setIdAttributeNS", | |
| 72 "setIdAttributeNode" | |
| 73 ] | |
| 74 elementNuked.forEach(isNukedFromElement) | |
| 75 | |
| 76 function isNukedFromDoctype(name) { | |
| 77 test(function() { | |
| 78 var doctype = document.implementation.createDocumentType("test", "", "") | |
| 79 assert_equals(doctype[name], undefined) | |
| 80 }, "DocumentType member must be nuked: " + name) | |
| 81 } | |
| 82 var doctypeNuked = [ | |
| 83 "entities", | |
| 84 "notations", | |
| 85 "internalSubset" | |
| 86 ] | |
| 87 doctypeNuked.forEach(isNukedFromDoctype) | |
| 88 | |
| 89 function isNukedFromText(name) { | |
| 90 test(function() { | |
| 91 var text = document.createTextNode("test") | |
| 92 assert_equals(text[name], undefined) | |
| 93 }, "Text member must be nuked: " + name) | |
| 94 } | |
| 95 var textNuked = [ | |
| 96 "isElementContentWhitespace", | |
| 97 "replaceWholeText" | |
| 98 ] | |
| 99 textNuked.forEach(isNukedFromText) | |
| 100 | |
| 101 function isNukedFromNode(name) { | |
| 102 test(function() { | |
| 103 var doc = document.implementation.createDocument(null,null,null) | |
| 104 var doctype = document.implementation.createDocumentType("test", "", "") | |
| 105 var text = document.createTextNode("test") | |
| 106 assert_equals(doc[name], undefined) | |
| 107 assert_equals(doctype[name], undefined) | |
| 108 assert_equals(text[name], undefined) | |
| 109 }, "Node member must be nuked: " + name) | |
| 110 } | |
| 111 var nodeNuked = [ | |
| 112 "hasAttributes", | |
| 113 "attributes", | |
| 114 "namespaceURI", | |
| 115 "prefix", | |
| 116 "localName", | |
| 117 "isSupported", | |
| 118 "getFeature", | |
| 119 "getUserData", | |
| 120 "setUserData" | |
| 121 ] | |
| 122 nodeNuked.forEach(isNukedFromNode) | |
| 123 | |
| 124 function isNukedFromWindow(name) { | |
| 125 test(function() { | |
| 126 assert_equals(window[name], undefined) | |
| 127 }, "Window member must be nuked: " + name) | |
| 128 } | |
| 129 var windowNuked = [ | |
| 130 "attachEvent" | |
| 131 ] | |
| 132 windowNuked.forEach(isNukedFromWindow) | |
| 133 </script> | |
| OLD | NEW |