| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../../resources/js-test.js"></script> | 4 <script src="../../resources/js-test.js"></script> |
| 5 <script src="resources/svgtags.js"></script> | 5 <script src="resources/svgtags.js"></script> |
| 6 </head> | 6 </head> |
| 7 <body> | 7 <body> |
| 8 <div id="console"></div> | 8 <div id="console"></div> |
| 9 <div id="container" style="position: fixed;"></div> | 9 <div id="container" style="position: fixed;"></div> |
| 10 | 10 |
| 11 <script> | 11 <script> |
| 12 var svgNS = "http://www.w3.org/2000/svg"; | 12 var svgNS = "http://www.w3.org/2000/svg"; |
| 13 | 13 |
| 14 function createNode(tag, container) { | 14 function createNode(tag, container) { |
| 15 var node = document.createElementNS(svgNS, tag); | 15 var node = document.createElementNS(svgNS, tag); |
| 16 container.appendChild(node); | 16 container.appendChild(node); |
| 17 return node; | 17 return node; |
| 18 } | 18 } |
| 19 | 19 |
| 20 function createValidNode(tag, container, createAncestors) { | 20 function createValidNode(tag, container, createAncestors) { |
| 21 var realContainer = container; | 21 var realContainer = container; |
| 22 | 22 |
| 23 if (createAncestors && SvgTags[tag].needParent) | 23 if (createAncestors && SvgTags[tag].needParent) |
| 24 realContainer = createValidNode(SvgTags[tag].needParent, container, tr
ue); | 24 realContainer = createValidNode(SvgTags[tag].needParent, container, tr
ue); |
| 25 | 25 |
| 26 var node = createNode(tag, realContainer); | 26 var node = createNode(tag, realContainer); |
| 27 for (var attr in SvgTags[tag].needAttr) | 27 for (var attr in SvgTags[tag].needAttr) |
| 28 node.setAttribute(attr, SvgTags[tag].needAttr[attr]); | 28 node.setAttribute(attr, SvgTags[tag].needAttr[attr]); |
| 29 | 29 |
| 30 var requiredChildren = SvgTags[tag].needChld; | 30 var requiredChildren = SvgTags[tag].needChild || []; |
| 31 if (requiredChildren) { | 31 for (var childTag of requiredChildren) |
| 32 for (var i = 0; i < requiredChildren.length; i++) | 32 createValidNode(childTag, node, false); |
| 33 createValidNode(requiredChildren[i], node, false); | |
| 34 } | |
| 35 | 33 |
| 36 return node; | 34 return node; |
| 37 } | 35 } |
| 38 | 36 |
| 39 function expandClasses(tags) { | 37 function expandClasses(tags) { |
| 40 var expandedTags = []; | 38 var expandedTags = []; |
| 41 for (var i = 0; i < tags.length; i++) { | 39 for (var tag of tags) |
| 42 if (SvgTagClasses[tags[i]]) | 40 Array.prototype.push.apply(expandedTags, SvgTagClasses[tag] || [tag]); |
| 43 expandedTags = expandedTags.concat(SvgTagClasses[tags[i]]); | |
| 44 else | |
| 45 expandedTags.push(tags[i]); | |
| 46 } | |
| 47 | |
| 48 return expandedTags; | 41 return expandedTags; |
| 49 } | 42 } |
| 50 | 43 |
| 51 function createsRenderer(parentTag, childTag) { | 44 function createsRenderer(parentTag, childTag) { |
| 52 var divContainer = document.getElementById('container'); | 45 var divContainer = document.getElementById('container'); |
| 53 var svgContainer = createNode('svg', divContainer); | 46 var svgContainer = createNode('svg', divContainer); |
| 54 var parentNode = createValidNode(parentTag, svgContainer, true); | 47 var parentNode = createValidNode(parentTag, svgContainer, true); |
| 55 createValidNode(childTag, parentNode, false); | 48 createValidNode(childTag, parentNode, false); |
| 56 | 49 |
| 57 var drt = internals.elementLayoutTreeAsText(divContainer); | 50 var drt = internals.elementLayoutTreeAsText(divContainer); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 } | 91 } |
| 99 } | 92 } |
| 100 | 93 |
| 101 | 94 |
| 102 if (!window.testRunner || !window.internals) | 95 if (!window.testRunner || !window.internals) |
| 103 testFailed('this test requires DumpRenderTree.'); | 96 testFailed('this test requires DumpRenderTree.'); |
| 104 | 97 |
| 105 description('This test validates renderer instantiation against the SVG co
ntent model.'); | 98 description('This test validates renderer instantiation against the SVG co
ntent model.'); |
| 106 | 99 |
| 107 validateTag('filter', [ | 100 validateTag('filter', [ |
| 108 // http://www.w3.org/TR/SVG/filters.html#FilterElement | 101 // http://dev.w3.org/fxtf/filters/#FilterElement |
| 109 'CLASS_DESCRIPTIVE', 'CLASS_FILTER_PRIMITIVE', 'animate', 'feDropShadow'
, 'set' | 102 'CLASS_DESCRIPTIVE', 'CLASS_FILTER_PRIMITIVE', 'animate', 'set' |
| 110 ]); | 103 ]); |
| 111 </script> | 104 </script> |
| 112 </body> | 105 </body> |
| 113 </html> | 106 </html> |
| OLD | NEW |