Index: LayoutTests/svg/dom/resources/svgtags.js |
diff --git a/LayoutTests/svg/dom/resources/svgtags.js b/LayoutTests/svg/dom/resources/svgtags.js |
index a7236ea5be1fad1268bb3e517e870cffd6520dab..406b22c6bcd6cbfb0c364416e5c301d83545e1ee 100644 |
--- a/LayoutTests/svg/dom/resources/svgtags.js |
+++ b/LayoutTests/svg/dom/resources/svgtags.js |
@@ -1,69 +1,63 @@ |
// A list of all SVG tags plus optional properties: |
// * needParent (string) - parent element required for a valid context |
-// * needChld (string list) - child element(s) required for a valid context |
+// * needChild (string list) - child element(s) required for a valid context |
// * needAttr (string map) - attribute(s) required for a valid context |
// * noRenderer (bool) - true if the element doesn't have an associated renderer |
var SvgTags = { |
a: { }, |
- altGlyph: { }, |
- altGlyphDef: { }, |
- altGlyphItem: { }, |
+// audio: { }, |
animate: { noRenderer: true }, |
- animateColor: { }, |
- animateMotion: { }, |
- animateTransform: { }, |
+ animateMotion: { noRenderer: true }, |
+ animateTransform: { noRenderer: true }, |
+// canvas: { }, |
circle: { }, |
clipPath: { }, |
- color_profile: { }, |
- cursor: { }, |
+ cursor: { noRenderer: true }, |
defs: { }, |
desc: { noRenderer: true }, |
+ discard: { noRenderer: true }, |
ellipse: { }, |
feBlend: { needParent: 'filter' }, |
feColorMatrix: { needParent: 'filter' }, |
feComponentTransfer: { needParent: 'filter' }, |
feComposite: { needParent: 'filter' }, |
feConvolveMatrix: { needParent: 'filter', needAttr: { kernelMatrix: '0 0 0 0 0 0 0 0 0' } }, |
- feDiffuseLighting: { needParent: 'filter', needChld: [ 'fePointLight' ] }, |
+ feDiffuseLighting: { needParent: 'filter', needChild: [ 'fePointLight' ] }, |
feDisplacementMap: { needParent: 'filter' }, |
feDistantLight: { needParent: 'feSpecularLighting' }, |
- feDropShadow: { }, |
+ feDropShadow: { needParent: 'filter' }, |
feFlood: { needParent: 'filter' }, |
- feFuncA: { }, |
- feFuncB: { }, |
- feFuncG: { }, |
- feFuncR: { }, |
+ feFuncA: { needParent: 'feComponentTransfer' }, |
+ feFuncB: { needParent: 'feComponentTransfer' }, |
+ feFuncG: { needParent: 'feComponentTransfer' }, |
+ feFuncR: { needParent: 'feComponentTransfer' }, |
feGaussianBlur: { needParent: 'filter' }, |
feImage: { needParent: 'filter' }, |
- feMerge: { needParent: 'filter', needChld: [ 'feMergeNode' ] }, |
+ feMerge: { needParent: 'filter', needChild: [ 'feMergeNode' ] }, |
feMergeNode: { needParent: 'feMerge' }, |
feMorphology: { needParent: 'filter' }, |
feOffset: { needParent: 'filter' }, |
fePointLight: { needParent: 'feSpecularLighting' }, |
- feSpecularLighting: { needParent: 'filter', needChld: [ 'fePointLight' ] }, |
+ feSpecularLighting: { needParent: 'filter', needChild: [ 'fePointLight' ] }, |
feSpotLight: { needParent: 'feSpecularLighting' }, |
feTile: { needParent: 'filter' }, |
feTurbulence: { needParent: 'filter' }, |
filter: { }, |
- font: { }, |
- font_face: { }, |
- font_face_format: { }, |
- font_face_name: { }, |
- font_face_src: { }, |
- font_face_uri: { }, |
foreignObject: { }, |
g: { }, |
- glyph: { }, |
- glyphRef: { }, |
- hkern: { }, |
+// hatch: { }, |
+// hatchPath: { }, |
+// iframe: { }, |
image: { }, |
line: { }, |
linearGradient: { }, |
marker: { }, |
mask: { }, |
+// meshGradient: { }, |
+// meshPatch: { }, |
+// meshRow: { }, |
metadata: { noRenderer: true }, |
- missing_glyph: { }, |
mpath: { }, |
path: { }, |
pattern: { }, |
@@ -71,75 +65,98 @@ var SvgTags = { |
polyline: { }, |
radialGradient: { }, |
rect: { }, |
- script: { }, |
+ script: { noRenderer: true }, |
set: { noRenderer: true }, |
+// solidColor: { }, |
+// source: { }, |
stop: { }, |
- style: { }, |
+ style: { noRenderer: true }, |
svg: { }, |
switch: { }, |
symbol: { }, |
text: { }, |
textPath: { }, |
+// track: { }, |
title: { noRenderer: true }, |
- tref: { }, |
tspan: { }, |
use: { }, |
- view: { }, |
- vkern: { }, |
+// video: { }, |
+ view: { noRenderer: true }, |
} |
// SVG element class shorthands as defined by the spec. |
var SvgTagClasses = { |
CLASS_ANIMATION: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermAnimationElement |
- 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'set' |
- ], |
- |
- CLASS_BASIC_SHAPE: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermBasicShapeElement |
- 'circle', 'ellipse', 'line', 'polygon', 'polyline', 'rect' |
+ // https://svgwg.org/svg2-draft/animate.html#TermAnimationElement |
+ 'animate', 'animateMotion', 'animateTransform', 'discard', 'set' |
], |
CLASS_CONTAINER: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermContainerElement |
- 'a', 'defs', 'glyph', 'g', 'marker', 'mask', 'missing-glyph', 'pattern', 'svg', 'switch', |
- 'symbol' |
+ // https://svgwg.org/svg2-draft/struct.html#TermContainerElement |
+ 'a', 'defs', 'g', 'marker', 'mask', 'pattern', 'svg', 'switch', 'symbol' |
], |
CLASS_DESCRIPTIVE: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermDescriptiveElement |
+ // https://svgwg.org/svg2-draft/struct.html#TermDescriptiveElement |
'desc', 'metadata', 'title' |
], |
CLASS_FILTER_PRIMITIVE: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermFilterPrimitiveElement |
+ // http://dev.w3.org/fxtf/filters/#elementdef-filter-primitive |
'feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', |
- 'feDiffuseLighting', 'feDisplacementMap', 'feFlood', 'feGaussianBlur', 'feImage', |
- 'feMerge', 'feMorphology', 'feOffset', 'feSpecularLighting', 'feTile', 'feTurbulence' |
+ 'feDiffuseLighting', 'feDisplacementMap', 'feDropShadow', 'feFlood', 'feGaussianBlur', |
+ 'feImage', 'feMerge', 'feMorphology', 'feOffset', 'feSpecularLighting', 'feTile', |
+ 'feTurbulence' |
], |
- CLASS_GRADIENT: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermGradientElement |
- 'linearGradient', 'radialGradient' |
+ CLASS_GRAPHICS: [ |
+ // https://svgwg.org/svg2-draft/struct.html#TermGraphicsElement |
+ 'audio', 'canvas', 'circle', 'ellipse', 'foreignObject', 'iframe', 'image', 'line', 'path', |
+ 'polygon', 'polyline', 'rect', 'text', 'use', 'video' |
], |
- CLASS_GRAPHICS: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermGraphicsElement |
- 'circle', 'ellipse', 'image', 'line', 'path', 'polygon', 'polyline', 'rect', 'text', 'use' |
+ CLASS_GRAPHICS_REFERENCING_ELEMENT: [ |
+ // https://svgwg.org/svg2-draft/struct.html#TermGraphicsReferencingElement |
+ 'audio', 'iframe', 'image', 'use', 'video' |
], |
CLASS_LIGHT_SOURCE: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermLightSourceElement |
+ // http://dev.w3.org/fxtf/filters/#light-source |
'feDistantLight', 'fePointLight', 'feSpotLight' |
], |
+ CLASS_PAINT_SERVER: [ |
+ // https://svgwg.org/svg2-draft/intro.html#TermPaintServerElement |
+ 'solidColor', 'linearGradient', 'radialGradient', 'meshGradient', 'pattern', 'hatch' |
+ ], |
+ |
CLASS_SHAPE: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermShapeElement |
+ // https://svgwg.org/svg2-draft/shapes.html#TermShapeElement |
'circle', 'ellipse', 'line', 'path', 'polygon', 'polyline', 'rect' |
], |
CLASS_STRUCTURAL: [ |
- // http://www.w3.org/TR/SVG/intro.html#TermStructuralElement |
+ // https://svgwg.org/svg2-draft/intro.html#TermStructuralElement |
'defs', 'g', 'svg', 'symbol', 'use' |
], |
+ |
+ CLASS_STRUCTURALLY_EXTERNAL_ELEMENTS: [ |
+ // https://svgwg.org/svg2-draft/intro.html#TermStructurallyExternalElement |
+ 'audio', 'foreignObject', 'iframe', 'image', 'script', 'use', 'video' |
+ ], |
+ |
+ CLASS_TEXT_CONTENT_ELEMENTS: [ |
+ // https://svgwg.org/svg2-draft/text.html#TermTextContentElement |
+ 'text', 'textPath', 'tspan' |
+ ], |
+ |
+ CLASS_TEXT_CONTENT_BLOCK_ELEMENTS: [ |
+ // https://svgwg.org/svg2-draft/text.html#TermTextContentBlockElement |
+ 'text' |
+ ], |
+ |
+ CLASS_TEXT_CONTENT_CHILD_ELEMENTS: [ |
+ // https://svgwg.org/svg2-draft/text.html#TermTextContentChildElement |
+ 'textPath', 'tspan' |
+ ], |
}; |