summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/svg/interfaces.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/svg/interfaces.html')
-rw-r--r--testing/web-platform/tests/svg/interfaces.html1565
1 files changed, 1565 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/interfaces.html b/testing/web-platform/tests/svg/interfaces.html
new file mode 100644
index 000000000..3fb951baa
--- /dev/null
+++ b/testing/web-platform/tests/svg/interfaces.html
@@ -0,0 +1,1565 @@
+<!doctype html>
+<title>SVG interface tests</title>
+<div id=log></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/resources/WebIDLParser.js></script>
+<script src=/resources/idlharness.js></script>
+<script type=text/plain id=untested_idl>
+interface EventTarget {};
+interface Node : EventTarget {};
+interface Document : Node {};
+interface ProcessingInstruction : Node {};
+interface Element : Node {};
+interface HTMLElement : Element {};
+[PrimaryGlobal] interface Window {};
+
+// Just need to know that DOMStringMap exists; its details are tested elsewhere.
+interface DOMStringMap { };
+
+[TreatNonObjectAsNull]
+callback EventHandlerNonNull = any (Event event);
+typedef EventHandlerNonNull? EventHandler;
+
+[TreatNonObjectAsNull]
+callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long column, optional any error);
+typedef OnErrorEventHandlerNonNull? OnErrorEventHandler;
+
+[TreatNonObjectAsNull]
+callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event);
+typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler;
+
+[NoInterfaceObject]
+interface GlobalEventHandlers {
+ attribute EventHandler onabort;
+ attribute EventHandler onautocomplete;
+ attribute EventHandler onautocompleteerror;
+ attribute EventHandler onblur;
+ attribute EventHandler oncancel;
+ attribute EventHandler oncanplay;
+ attribute EventHandler oncanplaythrough;
+ attribute EventHandler onchange;
+ attribute EventHandler onclick;
+ attribute EventHandler onclose;
+ attribute EventHandler oncontextmenu;
+ attribute EventHandler oncuechange;
+ attribute EventHandler ondblclick;
+ attribute EventHandler ondrag;
+ attribute EventHandler ondragend;
+ attribute EventHandler ondragenter;
+ attribute EventHandler ondragexit;
+ attribute EventHandler ondragleave;
+ attribute EventHandler ondragover;
+ attribute EventHandler ondragstart;
+ attribute EventHandler ondrop;
+ attribute EventHandler ondurationchange;
+ attribute EventHandler onemptied;
+ attribute EventHandler onended;
+ attribute OnErrorEventHandler onerror;
+ attribute EventHandler onfocus;
+ attribute EventHandler oninput;
+ attribute EventHandler oninvalid;
+ attribute EventHandler onkeydown;
+ attribute EventHandler onkeypress;
+ attribute EventHandler onkeyup;
+ attribute EventHandler onload;
+ attribute EventHandler onloadeddata;
+ attribute EventHandler onloadedmetadata;
+ attribute EventHandler onloadstart;
+ attribute EventHandler onmousedown;
+ [LenientThis] attribute EventHandler onmouseenter;
+ [LenientThis] attribute EventHandler onmouseleave;
+ attribute EventHandler onmousemove;
+ attribute EventHandler onmouseout;
+ attribute EventHandler onmouseover;
+ attribute EventHandler onmouseup;
+ attribute EventHandler onwheel;
+ attribute EventHandler onpause;
+ attribute EventHandler onplay;
+ attribute EventHandler onplaying;
+ attribute EventHandler onprogress;
+ attribute EventHandler onratechange;
+ attribute EventHandler onreset;
+ attribute EventHandler onresize;
+ attribute EventHandler onscroll;
+ attribute EventHandler onseeked;
+ attribute EventHandler onseeking;
+ attribute EventHandler onselect;
+ attribute EventHandler onshow;
+ attribute EventHandler onsort;
+ attribute EventHandler onstalled;
+ attribute EventHandler onsubmit;
+ attribute EventHandler onsuspend;
+ attribute EventHandler ontimeupdate;
+ attribute EventHandler ontoggle;
+ attribute EventHandler onvolumechange;
+ attribute EventHandler onwaiting;
+};
+
+[NoInterfaceObject]
+interface WindowEventHandlers {
+ attribute EventHandler onafterprint;
+ attribute EventHandler onbeforeprint;
+ attribute OnBeforeUnloadEventHandler onbeforeunload;
+ attribute EventHandler onhashchange;
+ attribute EventHandler onlanguagechange;
+ attribute EventHandler onmessage;
+ attribute EventHandler onoffline;
+ attribute EventHandler ononline;
+ attribute EventHandler onpagehide;
+ attribute EventHandler onpageshow;
+ attribute EventHandler onpopstate;
+ attribute EventHandler onrejectionhandled;
+ attribute EventHandler onstorage;
+ attribute EventHandler onunhandledrejection;
+ attribute EventHandler onunload;
+};
+
+[NoInterfaceObject]interface LinkStyle {
+ readonly attribute StyleSheet? sheet;
+};
+
+
+[Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double z = 0, optional unrestricted double w = 1),
+ Exposed=(Window,Worker)]
+interface DOMPointReadOnly {
+ [NewObject] static DOMPointReadOnly fromPoint(optional DOMPointInit point);
+
+ readonly attribute unrestricted double x;
+ readonly attribute unrestricted double y;
+ readonly attribute unrestricted double z;
+ readonly attribute unrestricted double w;
+
+ DOMPoint matrixTransform(optional DOMMatrixInit matrix);
+};
+
+[Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double z = 0, optional unrestricted double w = 1),
+ Exposed=(Window,Worker)]
+interface DOMPoint : DOMPointReadOnly {
+ [NewObject] static DOMPoint fromPoint(optional DOMPointInit other);
+
+ inherit attribute unrestricted double x;
+ inherit attribute unrestricted double y;
+ inherit attribute unrestricted double z;
+ inherit attribute unrestricted double w;
+};
+
+dictionary DOMPointInit {
+ unrestricted double x = 0;
+ unrestricted double y = 0;
+ unrestricted double z = 0;
+ unrestricted double w = 1;
+};
+
+[Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double width = 0, optional unrestricted double height = 0),
+ Exposed=(Window,Worker)]
+interface DOMRectReadOnly {
+ [NewObject] static DOMRectReadOnly fromRect(optional DOMRectInit other);
+
+ readonly attribute unrestricted double x;
+ readonly attribute unrestricted double y;
+ readonly attribute unrestricted double width;
+ readonly attribute unrestricted double height;
+ readonly attribute unrestricted double top;
+ readonly attribute unrestricted double right;
+ readonly attribute unrestricted double bottom;
+ readonly attribute unrestricted double left;
+};
+
+[Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
+ optional unrestricted double width = 0, optional unrestricted double height = 0),
+ Exposed=(Window,Worker)]
+interface DOMRect : DOMRectReadOnly {
+ [NewObject] static DOMRect fromRect(optional DOMRectInit other);
+
+ inherit attribute unrestricted double x;
+ inherit attribute unrestricted double y;
+ inherit attribute unrestricted double width;
+ inherit attribute unrestricted double height;
+};
+
+dictionary DOMRectInit {
+ unrestricted double x = 0;
+ unrestricted double y = 0;
+ unrestricted double width = 0;
+ unrestricted double height = 0;
+};
+
+[Constructor(sequence<unrestricted double> numberSequence),
+ Exposed=(Window,Worker)]
+interface DOMMatrixReadOnly {
+ [NewObject] static DOMMatrixReadOnly fromMatrix(optional DOMMatrixInit other);
+ [NewObject] static DOMMatrixReadOnly fromString(DOMString transformList);
+ [NewObject] static DOMMatrixReadOnly fromFloat32Array(Float32Array array32);
+ [NewObject] static DOMMatrixReadOnly fromFloat64Array(Float64Array array64);
+
+ // These attributes are simple aliases for certain elements of the 4x4 matrix
+ readonly attribute unrestricted double a;
+ readonly attribute unrestricted double b;
+ readonly attribute unrestricted double c;
+ readonly attribute unrestricted double d;
+ readonly attribute unrestricted double e;
+ readonly attribute unrestricted double f;
+
+ readonly attribute unrestricted double m11;
+ readonly attribute unrestricted double m12;
+ readonly attribute unrestricted double m13;
+ readonly attribute unrestricted double m14;
+ readonly attribute unrestricted double m21;
+ readonly attribute unrestricted double m22;
+ readonly attribute unrestricted double m23;
+ readonly attribute unrestricted double m24;
+ readonly attribute unrestricted double m31;
+ readonly attribute unrestricted double m32;
+ readonly attribute unrestricted double m33;
+ readonly attribute unrestricted double m34;
+ readonly attribute unrestricted double m41;
+ readonly attribute unrestricted double m42;
+ readonly attribute unrestricted double m43;
+ readonly attribute unrestricted double m44;
+
+ readonly attribute boolean is2D;
+ readonly attribute boolean isIdentity;
+
+ // Immutable transform methods
+ DOMMatrix translate(unrestricted double tx,
+ unrestricted double ty,
+ optional unrestricted double tz = 0);
+ DOMMatrix scale(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix scale3d(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix scaleNonUniform(unrestricted double scaleX,
+ optional unrestricted double scaleY = 1,
+ optional unrestricted double scaleZ = 1,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix rotate(unrestricted double angle,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix rotateFromVector(unrestricted double x,
+ unrestricted double y);
+ DOMMatrix rotateAxisAngle(unrestricted double x,
+ unrestricted double y,
+ unrestricted double z,
+ unrestricted double angle);
+ DOMMatrix skewX(unrestricted double sx);
+ DOMMatrix skewY(unrestricted double sy);
+ DOMMatrix multiply(optional DOMMatrixInit other);
+ DOMMatrix flipX();
+ DOMMatrix flipY();
+ DOMMatrix inverse();
+
+ DOMPoint transformPoint(optional DOMPointInit point);
+ Float32Array toFloat32Array();
+ Float64Array toFloat64Array();
+ stringifier;
+};
+
+[Constructor(sequence<unrestricted double> numberSequence),
+ Exposed=(Window,Worker)]
+interface DOMMatrix : DOMMatrixReadOnly {
+ [NewObject] static DOMMatrix fromMatrix(optional DOMMatrixInit other);
+ [NewObject] static DOMMatrix fromString(DOMString transformList);
+ [NewObject] static DOMMatrix fromFloat32Array(Float32Array array32);
+ [NewObject] static DOMMatrix fromFloat64Array(Float64Array array64);
+
+ // These attributes are simple aliases for certain elements of the 4x4 matrix
+ inherit attribute unrestricted double a;
+ inherit attribute unrestricted double b;
+ inherit attribute unrestricted double c;
+ inherit attribute unrestricted double d;
+ inherit attribute unrestricted double e;
+ inherit attribute unrestricted double f;
+
+ inherit attribute unrestricted double m11;
+ inherit attribute unrestricted double m12;
+ inherit attribute unrestricted double m13;
+ inherit attribute unrestricted double m14;
+ inherit attribute unrestricted double m21;
+ inherit attribute unrestricted double m22;
+ inherit attribute unrestricted double m23;
+ inherit attribute unrestricted double m24;
+ inherit attribute unrestricted double m31;
+ inherit attribute unrestricted double m32;
+ inherit attribute unrestricted double m33;
+ inherit attribute unrestricted double m34;
+ inherit attribute unrestricted double m41;
+ inherit attribute unrestricted double m42;
+ inherit attribute unrestricted double m43;
+ inherit attribute unrestricted double m44;
+
+ // Mutable transform methods
+ DOMMatrix multiplySelf(optional DOMMatrixInit other);
+ DOMMatrix preMultiplySelf(optional DOMMatrixInit other);
+ DOMMatrix translateSelf(unrestricted double tx,
+ unrestricted double ty,
+ optional unrestricted double tz = 0);
+ DOMMatrix scaleSelf(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix scale3dSelf(unrestricted double scale,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix scaleNonUniformSelf(unrestricted double scaleX,
+ optional unrestricted double scaleY = 1,
+ optional unrestricted double scaleZ = 1,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0,
+ optional unrestricted double originZ = 0);
+ DOMMatrix rotateSelf(unrestricted double angle,
+ optional unrestricted double originX = 0,
+ optional unrestricted double originY = 0);
+ DOMMatrix rotateFromVectorSelf(unrestricted double x,
+ unrestricted double y);
+ DOMMatrix rotateAxisAngleSelf(unrestricted double x,
+ unrestricted double y,
+ unrestricted double z,
+ unrestricted double angle);
+ DOMMatrix skewXSelf(unrestricted double sx);
+ DOMMatrix skewYSelf(unrestricted double sy);
+ DOMMatrix invertSelf();
+
+ DOMMatrix setMatrixValue(DOMString transformList);
+};
+
+dictionary DOMMatrixInit {
+ unrestricted double a;
+ unrestricted double b;
+ unrestricted double c;
+ unrestricted double d;
+ unrestricted double e;
+ unrestricted double f;
+ unrestricted double m11;
+ unrestricted double m12;
+ unrestricted double m13 = 0;
+ unrestricted double m14 = 0;
+ unrestricted double m21;
+ unrestricted double m22;
+ unrestricted double m23 = 0;
+ unrestricted double m24 = 0;
+ unrestricted double m31 = 0;
+ unrestricted double m32 = 0;
+ unrestricted double m33 = 1;
+ unrestricted double m34 = 0;
+ unrestricted double m41;
+ unrestricted double m42;
+ unrestricted double m43 = 0;
+ unrestricted double m44 = 1;
+ boolean is2D;
+};
+</script>
+<script type=text/plain id=idl>
+interface SVGElement : Element {
+
+ [SameObject] readonly attribute SVGAnimatedString className;
+ [SameObject] readonly attribute DOMStringMap dataset;
+
+ readonly attribute SVGSVGElement? ownerSVGElement;
+ readonly attribute SVGElement? viewportElement;
+
+ attribute long tabIndex;
+ void focus();
+ void blur();
+};
+
+SVGElement implements GlobalEventHandlers;
+
+dictionary SVGBoundingBoxOptions {
+ boolean fill = true;
+ boolean stroke = false;
+ boolean markers = false;
+ boolean clipped = false;
+};
+
+interface SVGGraphicsElement : SVGElement {
+ [SameObject] readonly attribute SVGAnimatedTransformList transform;
+
+ DOMRect getBBox(optional SVGBoundingBoxOptions options);
+ DOMMatrix? getCTM();
+ DOMMatrix? getScreenCTM();
+};
+
+SVGGraphicsElement implements SVGTests;
+
+interface SVGGeometryElement : SVGGraphicsElement {
+ boolean isPointInFill(DOMPoint point);
+ boolean isPointInStroke(DOMPoint point);
+};
+
+interface SVGNumber {
+ attribute float value;
+};
+
+interface SVGLength {
+
+ // Length Unit Types
+ const unsigned short SVG_LENGTHTYPE_UNKNOWN = 0;
+ const unsigned short SVG_LENGTHTYPE_NUMBER = 1;
+ const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2;
+ const unsigned short SVG_LENGTHTYPE_EMS = 3;
+ const unsigned short SVG_LENGTHTYPE_EXS = 4;
+ const unsigned short SVG_LENGTHTYPE_PX = 5;
+ const unsigned short SVG_LENGTHTYPE_CM = 6;
+ const unsigned short SVG_LENGTHTYPE_MM = 7;
+ const unsigned short SVG_LENGTHTYPE_IN = 8;
+ const unsigned short SVG_LENGTHTYPE_PT = 9;
+ const unsigned short SVG_LENGTHTYPE_PC = 10;
+
+ readonly attribute unsigned short unitType;
+ attribute float value;
+ attribute float valueInSpecifiedUnits;
+ attribute DOMString valueAsString;
+
+ void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits);
+ void convertToSpecifiedUnits(unsigned short unitType);
+};
+
+interface SVGAngle {
+
+ // Angle Unit Types
+ const unsigned short SVG_ANGLETYPE_UNKNOWN = 0;
+ const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;
+ const unsigned short SVG_ANGLETYPE_DEG = 2;
+ const unsigned short SVG_ANGLETYPE_RAD = 3;
+ const unsigned short SVG_ANGLETYPE_GRAD = 4;
+
+ readonly attribute unsigned short unitType;
+ attribute float value;
+ attribute float valueInSpecifiedUnits;
+ attribute DOMString valueAsString;
+
+ void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits);
+ void convertToSpecifiedUnits(unsigned short unitType);
+};
+
+interface SVGNumberList {
+
+ readonly attribute unsigned long length;
+ readonly attribute unsigned long numberOfItems;
+
+ void clear();
+ SVGNumber initialize(SVGNumber newItem);
+ getter SVGNumber getItem(unsigned long index);
+ SVGNumber insertItemBefore(SVGNumber newItem, unsigned long index);
+ SVGNumber replaceItem(SVGNumber newItem, unsigned long index);
+ SVGNumber removeItem(unsigned long index);
+ SVGNumber appendItem(SVGNumber newItem);
+ setter void (unsigned long index, SVGNumber newItem);
+};
+
+interface SVGLengthList {
+
+ readonly attribute unsigned long length;
+ readonly attribute unsigned long numberOfItems;
+
+ void clear();
+ SVGLength initialize(SVGLength newItem);
+ getter SVGLength getItem(unsigned long index);
+ SVGLength insertItemBefore(SVGLength newItem, unsigned long index);
+ SVGLength replaceItem(SVGLength newItem, unsigned long index);
+ SVGLength removeItem(unsigned long index);
+ SVGLength appendItem(SVGLength newItem);
+ setter void (unsigned long index, SVGLength newItem);
+};
+
+interface SVGAnimatedBoolean {
+ attribute boolean baseVal;
+ readonly attribute boolean animVal;
+};
+
+interface SVGAnimatedEnumeration {
+ attribute unsigned short baseVal;
+ readonly attribute unsigned short animVal;
+};
+
+interface SVGAnimatedInteger {
+ attribute long baseVal;
+ readonly attribute long animVal;
+};
+
+interface SVGAnimatedNumber {
+ attribute float baseVal;
+ readonly attribute float animVal;
+};
+
+interface SVGAnimatedLength {
+ [SameObject] readonly attribute SVGLength baseVal;
+ [SameObject] readonly attribute SVGLength animVal;
+};
+
+interface SVGAnimatedAngle {
+ [SameObject] readonly attribute SVGAngle baseVal;
+ [SameObject] readonly attribute SVGAngle animVal;
+};
+
+interface SVGAnimatedString {
+ attribute DOMString baseVal;
+ readonly attribute DOMString animVal;
+};
+
+interface SVGAnimatedRect {
+ [SameObject] readonly attribute DOMRect baseVal;
+ [SameObject] readonly attribute DOMRectReadOnly animVal;
+};
+
+interface SVGAnimatedNumberList {
+ [SameObject] readonly attribute SVGNumberList baseVal;
+ [SameObject] readonly attribute SVGNumberList animVal;
+};
+
+interface SVGAnimatedLengthList {
+ [SameObject] readonly attribute SVGLengthList baseVal;
+ [SameObject] readonly attribute SVGLengthList animVal;
+};
+
+interface SVGStringList {
+
+ readonly attribute unsigned long length;
+ readonly attribute unsigned long numberOfItems;
+
+ void clear();
+ DOMString initialize(DOMString newItem);
+ getter DOMString getItem(unsigned long index);
+ DOMString insertItemBefore(DOMString newItem, unsigned long index);
+ DOMString replaceItem(DOMString newItem, unsigned long index);
+ DOMString removeItem(unsigned long index);
+ DOMString appendItem(DOMString newItem);
+ setter void (unsigned long index, DOMString newItem);
+};
+
+[NoInterfaceObject]
+interface SVGUnitTypes {
+ // Unit Types
+ const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 1;
+ const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2;
+};
+
+[NoInterfaceObject]
+interface SVGTests {
+ [SameObject] readonly attribute SVGStringList requiredExtensions;
+ [SameObject] readonly attribute SVGStringList systemLanguage;
+};
+
+[NoInterfaceObject]
+interface SVGFitToViewBox {
+ [SameObject] readonly attribute SVGAnimatedRect viewBox;
+ [SameObject] readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+};
+
+[NoInterfaceObject]
+interface SVGZoomAndPan {
+
+ // Zoom and Pan Types
+ const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0;
+ const unsigned short SVG_ZOOMANDPAN_DISABLE = 1;
+ const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2;
+
+ attribute unsigned short zoomAndPan;
+};
+
+[NoInterfaceObject]
+interface SVGURIReference {
+ [SameObject] readonly attribute SVGAnimatedString href;
+};
+
+partial interface Document {
+ readonly attribute SVGSVGElement? rootElement;
+};
+
+interface SVGSVGElement : SVGGraphicsElement {
+
+ [SameObject] readonly attribute SVGAnimatedLength x;
+ [SameObject] readonly attribute SVGAnimatedLength y;
+ [SameObject] readonly attribute SVGAnimatedLength width;
+ [SameObject] readonly attribute SVGAnimatedLength height;
+
+ attribute float currentScale;
+ [SameObject] readonly attribute DOMPointReadOnly currentTranslate;
+
+ NodeList getIntersectionList(DOMRectReadOnly rect, SVGElement? referenceElement);
+ NodeList getEnclosureList(DOMRectReadOnly rect, SVGElement? referenceElement);
+ boolean checkIntersection(SVGElement element, DOMRectReadOnly rect);
+ boolean checkEnclosure(SVGElement element, DOMRectReadOnly rect);
+
+ void deselectAll();
+
+ SVGNumber createSVGNumber();
+ SVGLength createSVGLength();
+ SVGAngle createSVGAngle();
+ DOMPoint createSVGPoint();
+ DOMMatrix createSVGMatrix();
+ DOMRect createSVGRect();
+ SVGTransform createSVGTransform();
+ SVGTransform createSVGTransformFromMatrix(DOMMatrixReadOnly matrix);
+
+ // Deprecated methods that have no effect when called,
+ // but which are kept for compatibility reasons.
+ unsigned long suspendRedraw(unsigned long maxWaitMilliseconds);
+ void unsuspendRedraw(unsigned long suspendHandleID);
+ void unsuspendRedrawAll();
+ void forceRedraw();
+};
+
+SVGSVGElement implements SVGFitToViewBox;
+SVGSVGElement implements SVGZoomAndPan;
+SVGSVGElement implements WindowEventHandlers;
+
+interface SVGGElement : SVGGraphicsElement {
+};
+
+interface SVGUnknownElement : SVGGraphicsElement {
+};
+
+interface SVGDefsElement : SVGGraphicsElement {
+};
+
+interface SVGDescElement : SVGElement {
+};
+
+interface SVGMetadataElement : SVGElement {
+};
+
+interface SVGTitleElement : SVGElement {
+};
+
+interface SVGSymbolElement : SVGElement {
+};
+
+SVGSymbolElement implements SVGFitToViewBox;
+
+interface SVGUseElement : SVGGraphicsElement {
+ [SameObject] readonly attribute SVGAnimatedLength x;
+ [SameObject] readonly attribute SVGAnimatedLength y;
+ [SameObject] readonly attribute SVGAnimatedLength width;
+ [SameObject] readonly attribute SVGAnimatedLength height;
+};
+
+SVGUseElement implements SVGURIReference;
+
+interface SVGSwitchElement : SVGGraphicsElement {
+};
+
+[NoInterfaceObject]
+interface GetSVGDocument {
+ Document getSVGDocument();
+};
+
+interface SVGStyleElement : SVGElement {
+ attribute DOMString type;
+ attribute DOMString media;
+ attribute DOMString title;
+};
+
+SVGStyleElement implements LinkStyle;
+
+interface SVGTransform {
+
+ // Transform Types
+ const unsigned short SVG_TRANSFORM_UNKNOWN = 0;
+ const unsigned short SVG_TRANSFORM_MATRIX = 1;
+ const unsigned short SVG_TRANSFORM_TRANSLATE = 2;
+ const unsigned short SVG_TRANSFORM_SCALE = 3;
+ const unsigned short SVG_TRANSFORM_ROTATE = 4;
+ const unsigned short SVG_TRANSFORM_SKEWX = 5;
+ const unsigned short SVG_TRANSFORM_SKEWY = 6;
+
+ readonly attribute unsigned short type;
+ [SameObject] readonly attribute DOMMatrix matrix;
+ readonly attribute float angle;
+
+ void setMatrix(DOMMatrixReadOnly matrix);
+ void setTranslate(float tx, float ty);
+ void setScale(float sx, float sy);
+ void setRotate(float angle, float cx, float cy);
+ void setSkewX(float angle);
+ void setSkewY(float angle);
+};
+
+interface SVGTransformList {
+
+ readonly attribute unsigned long length;
+ readonly attribute unsigned long numberOfItems;
+
+ void clear();
+ SVGTransform initialize(SVGTransform newItem);
+ getter SVGTransform getItem(unsigned long index);
+ SVGTransform insertItemBefore(SVGTransform newItem, unsigned long index);
+ SVGTransform replaceItem(SVGTransform newItem, unsigned long index);
+ SVGTransform removeItem(unsigned long index);
+ SVGTransform appendItem(SVGTransform newItem);
+ setter void (unsigned long index, SVGTransform newItem);
+
+ // Additional methods not common to other list interfaces.
+ SVGTransform createSVGTransformFromMatrix(DOMMatrixReadOnly matrix);
+ SVGTransform? consolidate();
+};
+
+interface SVGAnimatedTransformList {
+ [SameObject] readonly attribute SVGTransformList baseVal;
+ [SameObject] readonly attribute SVGTransformList animVal;
+};
+
+interface SVGPreserveAspectRatio {
+
+ // Alignment Types
+ const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0;
+ const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;
+
+ // Meet-or-slice Types
+ const unsigned short SVG_MEETORSLICE_UNKNOWN = 0;
+ const unsigned short SVG_MEETORSLICE_MEET = 1;
+ const unsigned short SVG_MEETORSLICE_SLICE = 2;
+
+ attribute unsigned short align;
+ attribute unsigned short meetOrSlice;
+};
+
+interface SVGAnimatedPreserveAspectRatio {
+ [SameObject] readonly attribute SVGPreserveAspectRatio baseVal;
+ [SameObject] readonly attribute SVGPreserveAspectRatio animVal;
+};
+
+interface SVGPathElement : SVGGeometryElement {
+
+ [SameObject] readonly attribute SVGAnimatedNumber pathLength;
+
+ float getTotalLength();
+ DOMPoint getPointAtLength(float distance);
+};
+
+interface SVGRectElement : SVGGeometryElement {
+ [SameObject] readonly attribute SVGAnimatedLength x;
+ [SameObject] readonly attribute SVGAnimatedLength y;
+ [SameObject] readonly attribute SVGAnimatedLength width;
+ [SameObject] readonly attribute SVGAnimatedLength height;
+ [SameObject] readonly attribute SVGAnimatedLength rx;
+ [SameObject] readonly attribute SVGAnimatedLength ry;
+};
+
+interface SVGCircleElement : SVGGeometryElement {
+ [SameObject] readonly attribute SVGAnimatedLength cx;
+ [SameObject] readonly attribute SVGAnimatedLength cy;
+ [SameObject] readonly attribute SVGAnimatedLength r;
+};
+
+interface SVGEllipseElement : SVGGeometryElement {
+ [SameObject] readonly attribute SVGAnimatedLength cx;
+ [SameObject] readonly attribute SVGAnimatedLength cy;
+ [SameObject] readonly attribute SVGAnimatedLength rx;
+ [SameObject] readonly attribute SVGAnimatedLength ry;
+};
+
+interface SVGLineElement : SVGGeometryElement {
+ [SameObject] readonly attribute SVGAnimatedLength x1;
+ [SameObject] readonly attribute SVGAnimatedLength y1;
+ [SameObject] readonly attribute SVGAnimatedLength x2;
+ [SameObject] readonly attribute SVGAnimatedLength y2;
+};
+
+[NoInterfaceObject]
+interface SVGAnimatedPoints {
+ [SameObject] readonly attribute SVGPointList points;
+ [SameObject] readonly attribute SVGPointList animatedPoints;
+};
+
+interface SVGPointList {
+
+ readonly attribute unsigned long length;
+ readonly attribute unsigned long numberOfItems;
+
+ void clear();
+ DOMPoint initialize(DOMPoint newItem);
+ getter DOMPoint getItem(unsigned long index);
+ DOMPoint insertItemBefore(DOMPoint newItem, unsigned long index);
+ DOMPoint replaceItem(DOMPoint newItem, unsigned long index);
+ DOMPoint removeItem(unsigned long index);
+ DOMPoint appendItem(DOMPoint newItem);
+ setter void (unsigned long index, DOMPoint newItem);
+};
+
+interface SVGPolylineElement : SVGGeometryElement {
+};
+
+SVGPolylineElement implements SVGAnimatedPoints;
+
+interface SVGPolygonElement : SVGGeometryElement {
+};
+
+SVGPolygonElement implements SVGAnimatedPoints;
+
+interface SVGTextContentElement : SVGGraphicsElement {
+
+ // lengthAdjust Types
+ const unsigned short LENGTHADJUST_UNKNOWN = 0;
+ const unsigned short LENGTHADJUST_SPACING = 1;
+ const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2;
+
+ [SameObject] readonly attribute SVGAnimatedLength textLength;
+ [SameObject] readonly attribute SVGAnimatedEnumeration lengthAdjust;
+
+ long getNumberOfChars();
+ float getComputedTextLength();
+ float getSubStringLength(unsigned long charnum, unsigned long nchars);
+ DOMPoint getStartPositionOfChar(unsigned long charnum);
+ DOMPoint getEndPositionOfChar(unsigned long charnum);
+ DOMRect getExtentOfChar(unsigned long charnum);
+ float getRotationOfChar(unsigned long charnum);
+ long getCharNumAtPosition(DOMPoint point);
+ void selectSubString(unsigned long charnum, unsigned long nchars);
+};
+
+interface SVGTextPositioningElement : SVGTextContentElement {
+ [SameObject] readonly attribute SVGAnimatedLengthList x;
+ [SameObject] readonly attribute SVGAnimatedLengthList y;
+ [SameObject] readonly attribute SVGAnimatedLengthList dx;
+ [SameObject] readonly attribute SVGAnimatedLengthList dy;
+ [SameObject] readonly attribute SVGAnimatedNumberList rotate;
+};
+
+interface SVGTextElement : SVGTextPositioningElement {
+};
+
+interface SVGTSpanElement : SVGTextPositioningElement {
+};
+
+interface SVGTextPathElement : SVGTextContentElement {
+
+ // textPath Method Types
+ const unsigned short TEXTPATH_METHODTYPE_UNKNOWN = 0;
+ const unsigned short TEXTPATH_METHODTYPE_ALIGN = 1;
+ const unsigned short TEXTPATH_METHODTYPE_STRETCH = 2;
+
+ // textPath Spacing Types
+ const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN = 0;
+ const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1;
+ const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2;
+
+ [SameObject] readonly attribute SVGAnimatedLength startOffset;
+ [SameObject] readonly attribute SVGAnimatedEnumeration method;
+ [SameObject] readonly attribute SVGAnimatedEnumeration spacing;
+};
+
+SVGTextPathElement implements SVGURIReference;
+
+interface SVGImageElement : SVGGraphicsElement {
+ [SameObject] readonly attribute SVGAnimatedLength x;
+ [SameObject] readonly attribute SVGAnimatedLength y;
+ [SameObject] readonly attribute SVGAnimatedLength width;
+ [SameObject] readonly attribute SVGAnimatedLength height;
+ [SameObject] readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+ attribute DOMString crossOrigin;
+};
+
+SVGImageElement implements SVGURIReference;
+
+interface SVGForeignObjectElement : SVGGraphicsElement {
+ [SameObject] readonly attribute SVGAnimatedLength x;
+ [SameObject] readonly attribute SVGAnimatedLength y;
+ [SameObject] readonly attribute SVGAnimatedLength width;
+ [SameObject] readonly attribute SVGAnimatedLength height;
+};
+
+interface SVGMarkerElement : SVGElement {
+
+ // Marker Unit Types
+ const unsigned short SVG_MARKERUNITS_UNKNOWN = 0;
+ const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1;
+ const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2;
+
+ // Marker Orientation Types
+ const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0;
+ const unsigned short SVG_MARKER_ORIENT_AUTO = 1;
+ const unsigned short SVG_MARKER_ORIENT_ANGLE = 2;
+
+ [SameObject] readonly attribute SVGAnimatedLength refX;
+ [SameObject] readonly attribute SVGAnimatedLength refY;
+ [SameObject] readonly attribute SVGAnimatedEnumeration markerUnits;
+ [SameObject] readonly attribute SVGAnimatedLength markerWidth;
+ [SameObject] readonly attribute SVGAnimatedLength markerHeight;
+ [SameObject] readonly attribute SVGAnimatedEnumeration orientType;
+ [SameObject] readonly attribute SVGAnimatedAngle orientAngle;
+ attribute DOMString orient;
+
+ void setOrientToAuto();
+ void setOrientToAngle(SVGAngle angle);
+};
+
+SVGMarkerElement implements SVGFitToViewBox;
+
+interface SVGSolidcolorElement : SVGElement {
+};
+
+interface SVGGradientElement : SVGElement {
+
+ // Spread Method Types
+ const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0;
+ const unsigned short SVG_SPREADMETHOD_PAD = 1;
+ const unsigned short SVG_SPREADMETHOD_REFLECT = 2;
+ const unsigned short SVG_SPREADMETHOD_REPEAT = 3;
+
+ [SameObject] readonly attribute SVGAnimatedEnumeration gradientUnits;
+ [SameObject] readonly attribute SVGAnimatedTransformList gradientTransform;
+ [SameObject] readonly attribute SVGAnimatedEnumeration spreadMethod;
+};
+
+SVGGradientElement implements SVGURIReference;
+SVGGradientElement implements SVGUnitTypes;
+
+interface SVGLinearGradientElement : SVGGradientElement {
+ [SameObject] readonly attribute SVGAnimatedLength x1;
+ [SameObject] readonly attribute SVGAnimatedLength y1;
+ [SameObject] readonly attribute SVGAnimatedLength x2;
+ [SameObject] readonly attribute SVGAnimatedLength y2;
+};
+
+interface SVGRadialGradientElement : SVGGradientElement {
+ [SameObject] readonly attribute SVGAnimatedLength cx;
+ [SameObject] readonly attribute SVGAnimatedLength cy;
+ [SameObject] readonly attribute SVGAnimatedLength r;
+ [SameObject] readonly attribute SVGAnimatedLength fx;
+ [SameObject] readonly attribute SVGAnimatedLength fy;
+ [SameObject] readonly attribute SVGAnimatedLength fr;
+};
+
+interface SVGMeshElement : SVGGradientElement {
+};
+
+interface SVGMeshrowElement : SVGElement {
+};
+
+interface SVGMeshpatchElement : SVGElement {
+};
+
+interface SVGStopElement : SVGElement {
+ [SameObject] readonly attribute SVGAnimatedNumber offset;
+};
+
+interface SVGPatternElement : SVGElement {
+ [SameObject] readonly attribute SVGAnimatedEnumeration patternUnits;
+ [SameObject] readonly attribute SVGAnimatedEnumeration patternContentUnits;
+ [SameObject] readonly attribute SVGAnimatedTransformList patternTransform;
+ [SameObject] readonly attribute SVGAnimatedLength x;
+ [SameObject] readonly attribute SVGAnimatedLength y;
+ [SameObject] readonly attribute SVGAnimatedLength width;
+ [SameObject] readonly attribute SVGAnimatedLength height;
+};
+
+SVGPatternElement implements SVGFitToViewBox;
+SVGPatternElement implements SVGURIReference;
+SVGPatternElement implements SVGUnitTypes;
+
+interface SVGHatchElement : SVGElement {
+};
+
+interface SVGHatchpathElement : SVGElement {
+};
+
+interface SVGCursorElement : SVGElement {
+ [SameObject] readonly attribute SVGAnimatedLength x;
+ [SameObject] readonly attribute SVGAnimatedLength y;
+};
+
+SVGCursorElement implements SVGURIReference;
+
+interface SVGScriptElement : SVGElement {
+ attribute DOMString type;
+ attribute DOMString crossOrigin;
+};
+
+SVGScriptElement implements SVGURIReference;
+
+interface SVGZoomEvent : UIEvent {
+ [SameObject] readonly attribute DOMRectReadOnly zoomRectScreen;
+ readonly attribute float previousScale;
+ [SameObject] readonly attribute DOMPointReadOnly previousTranslate;
+ readonly attribute float newScale;
+ [SameObject] readonly attribute DOMPointReadOnly newTranslate;
+};
+
+interface SVGAElement : SVGGraphicsElement {
+ [SameObject] readonly attribute SVGAnimatedString target;
+};
+
+SVGAElement implements SVGURIReference;
+
+interface SVGViewElement : SVGElement {};
+
+SVGViewElement implements SVGFitToViewBox;
+SVGViewElement implements SVGZoomAndPan;
+
+interface SVGFilterElement : SVGElement {
+ readonly attribute SVGAnimatedEnumeration filterUnits;
+ readonly attribute SVGAnimatedEnumeration primitiveUnits;
+ readonly attribute SVGAnimatedLength x;
+ readonly attribute SVGAnimatedLength y;
+ readonly attribute SVGAnimatedLength width;
+ readonly attribute SVGAnimatedLength height;
+};
+
+SVGFilterElement implements SVGURIReference;
+SVGFilterElement implements SVGUnitTypes;
+
+[NoInterfaceObject]
+interface SVGFilterPrimitiveStandardAttributes {
+ readonly attribute SVGAnimatedLength x;
+ readonly attribute SVGAnimatedLength y;
+ readonly attribute SVGAnimatedLength width;
+ readonly attribute SVGAnimatedLength height;
+ readonly attribute SVGAnimatedString result;
+};
+
+interface SVGFEBlendElement : SVGElement {
+
+ // Blend Mode Types
+ const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0;
+ const unsigned short SVG_FEBLEND_MODE_NORMAL = 1;
+ const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2;
+ const unsigned short SVG_FEBLEND_MODE_SCREEN = 3;
+ const unsigned short SVG_FEBLEND_MODE_DARKEN = 4;
+ const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5;
+
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedString in2;
+ readonly attribute SVGAnimatedEnumeration mode;
+};
+
+SVGFEBlendElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEColorMatrixElement : SVGElement {
+
+ // Color Matrix Types
+ const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3;
+ const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4;
+
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedEnumeration type;
+ readonly attribute SVGAnimatedNumberList values;
+};
+
+SVGFEColorMatrixElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEComponentTransferElement : SVGElement {
+ readonly attribute SVGAnimatedString in1;
+};
+
+SVGFEComponentTransferElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGComponentTransferFunctionElement : SVGElement {
+
+ // Component Transfer Types
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4;
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5;
+
+ readonly attribute SVGAnimatedEnumeration type;
+ readonly attribute SVGAnimatedNumberList tableValues;
+ readonly attribute SVGAnimatedNumber slope;
+ readonly attribute SVGAnimatedNumber intercept;
+ readonly attribute SVGAnimatedNumber amplitude;
+ readonly attribute SVGAnimatedNumber exponent;
+ readonly attribute SVGAnimatedNumber offset;
+};
+
+interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {
+};
+
+interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {
+};
+
+interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {
+};
+
+interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {
+};
+
+interface SVGFECompositeElement : SVGElement {
+
+ // Composite Operators
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5;
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6;
+
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedString in2;
+ readonly attribute SVGAnimatedEnumeration operator;
+ readonly attribute SVGAnimatedNumber k1;
+ readonly attribute SVGAnimatedNumber k2;
+ readonly attribute SVGAnimatedNumber k3;
+ readonly attribute SVGAnimatedNumber k4;
+};
+
+SVGFECompositeElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEConvolveMatrixElement : SVGElement {
+
+ // Edge Mode Values
+ const unsigned short SVG_EDGEMODE_UNKNOWN = 0;
+ const unsigned short SVG_EDGEMODE_DUPLICATE = 1;
+ const unsigned short SVG_EDGEMODE_WRAP = 2;
+ const unsigned short SVG_EDGEMODE_NONE = 3;
+
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedInteger orderX;
+ readonly attribute SVGAnimatedInteger orderY;
+ readonly attribute SVGAnimatedNumberList kernelMatrix;
+ readonly attribute SVGAnimatedNumber divisor;
+ readonly attribute SVGAnimatedNumber bias;
+ readonly attribute SVGAnimatedInteger targetX;
+ readonly attribute SVGAnimatedInteger targetY;
+ readonly attribute SVGAnimatedEnumeration edgeMode;
+ readonly attribute SVGAnimatedNumber kernelUnitLengthX;
+ readonly attribute SVGAnimatedNumber kernelUnitLengthY;
+};
+
+SVGFEConvolveMatrixElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEDiffuseLightingElement : SVGElement {
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedNumber surfaceScale;
+ readonly attribute SVGAnimatedNumber diffuseConstant;
+ readonly attribute SVGAnimatedNumber kernelUnitLengthX;
+ readonly attribute SVGAnimatedNumber kernelUnitLengthY;
+};
+
+SVGFEDiffuseLightingElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEDistantLightElement : SVGElement {
+ readonly attribute SVGAnimatedNumber azimuth;
+ readonly attribute SVGAnimatedNumber elevation;
+};
+
+interface SVGFEPointLightElement : SVGElement {
+ readonly attribute SVGAnimatedNumber x;
+ readonly attribute SVGAnimatedNumber y;
+ readonly attribute SVGAnimatedNumber z;
+};
+
+interface SVGFESpotLightElement : SVGElement {
+ readonly attribute SVGAnimatedNumber x;
+ readonly attribute SVGAnimatedNumber y;
+ readonly attribute SVGAnimatedNumber z;
+ readonly attribute SVGAnimatedNumber pointsAtX;
+ readonly attribute SVGAnimatedNumber pointsAtY;
+ readonly attribute SVGAnimatedNumber pointsAtZ;
+ readonly attribute SVGAnimatedNumber specularExponent;
+ readonly attribute SVGAnimatedNumber limitingConeAngle;
+};
+
+interface SVGFEDisplacementMapElement : SVGElement {
+
+ // Channel Selectors
+ const unsigned short SVG_CHANNEL_UNKNOWN = 0;
+ const unsigned short SVG_CHANNEL_R = 1;
+ const unsigned short SVG_CHANNEL_G = 2;
+ const unsigned short SVG_CHANNEL_B = 3;
+ const unsigned short SVG_CHANNEL_A = 4;
+
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedString in2;
+ readonly attribute SVGAnimatedNumber scale;
+ readonly attribute SVGAnimatedEnumeration xChannelSelector;
+ readonly attribute SVGAnimatedEnumeration yChannelSelector;
+};
+
+SVGFEDisplacementMapElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEDropShadowElement : SVGElement {
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedNumber dx;
+ readonly attribute SVGAnimatedNumber dy;
+ readonly attribute SVGAnimatedNumber stdDeviationX;
+ readonly attribute SVGAnimatedNumber stdDeviationY;
+
+ void setStdDeviation(float stdDeviationX, float stdDeviationY);
+};
+
+SVGFEDropShadowElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEFloodElement : SVGElement {
+};
+
+SVGFEFloodElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEGaussianBlurElement : SVGElement {
+
+ // Edge Mode Values
+ const unsigned short SVG_EDGEMODE_UNKNOWN = 0;
+ const unsigned short SVG_EDGEMODE_DUPLICATE = 1;
+ const unsigned short SVG_EDGEMODE_WRAP = 2;
+ const unsigned short SVG_EDGEMODE_NONE = 3;
+
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedNumber stdDeviationX;
+ readonly attribute SVGAnimatedNumber stdDeviationY;
+ readonly attribute SVGAnimatedEnumeration edgeMode;
+
+ void setStdDeviation(float stdDeviationX, float stdDeviationY);
+};
+
+SVGFEGaussianBlurElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEImageElement : SVGElement {
+ readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+ readonly attribute SVGAnimatedString crossOrigin;
+};
+
+SVGFEImageElement implements SVGFilterPrimitiveStandardAttributes;
+SVGFEImageElement implements SVGURIReference;
+
+interface SVGFEMergeElement : SVGElement {
+};
+
+SVGFEMergeElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEMergeNodeElement : SVGElement {
+ readonly attribute SVGAnimatedString in1;
+};
+
+interface SVGFEMorphologyElement : SVGElement {
+
+ // Morphology Operators
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0;
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1;
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2;
+
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedEnumeration operator;
+ readonly attribute SVGAnimatedNumber radiusX;
+ readonly attribute SVGAnimatedNumber radiusY;
+};
+
+SVGFEMorphologyElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFEOffsetElement : SVGElement {
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedNumber dx;
+ readonly attribute SVGAnimatedNumber dy;
+};
+
+SVGFEOffsetElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFESpecularLightingElement : SVGElement {
+ readonly attribute SVGAnimatedString in1;
+ readonly attribute SVGAnimatedNumber surfaceScale;
+ readonly attribute SVGAnimatedNumber specularConstant;
+ readonly attribute SVGAnimatedNumber specularExponent;
+ readonly attribute SVGAnimatedNumber kernelUnitLengthX;
+ readonly attribute SVGAnimatedNumber kernelUnitLengthY;
+};
+
+SVGFESpecularLightingElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFETileElement : SVGElement {
+ readonly attribute SVGAnimatedString in1;
+};
+
+SVGFETileElement implements SVGFilterPrimitiveStandardAttributes;
+
+interface SVGFETurbulenceElement : SVGElement {
+
+ // Turbulence Types
+ const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0;
+ const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;
+ const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2;
+
+ // Stitch Options
+ const unsigned short SVG_STITCHTYPE_UNKNOWN = 0;
+ const unsigned short SVG_STITCHTYPE_STITCH = 1;
+ const unsigned short SVG_STITCHTYPE_NOSTITCH = 2;
+
+ readonly attribute SVGAnimatedNumber baseFrequencyX;
+ readonly attribute SVGAnimatedNumber baseFrequencyY;
+ readonly attribute SVGAnimatedInteger numOctaves;
+ readonly attribute SVGAnimatedNumber seed;
+ readonly attribute SVGAnimatedEnumeration stitchTiles;
+ readonly attribute SVGAnimatedEnumeration type;
+};
+
+SVGFETurbulenceElement implements SVGFilterPrimitiveStandardAttributes;
+</script>
+<script>
+var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
+var defs = document.createElementNS("http://www.w3.org/2000/svg", "defs");
+var Desc = document.createElementNS("http://www.w3.org/2000/svg", "desc");
+var title = document.createElementNS("http://www.w3.org/2000/svg", "title");
+var symbol = document.createElementNS("http://www.w3.org/2000/svg", "symbol");
+var use = document.createElementNS("http://www.w3.org/2000/svg", "use");
+var image = document.createElementNS("http://www.w3.org/2000/svg", "image");
+var Switch = document.createElementNS("http://www.w3.org/2000/svg", "switch");
+var style = document.createElementNS("http://www.w3.org/2000/svg", "style");
+var path = document.createElementNS("http://www.w3.org/2000/svg", "path");
+var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+var circle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
+var ellipse = document.createElementNS("http://www.w3.org/2000/svg", "ellipse");
+var line = document.createElementNS("http://www.w3.org/2000/svg", "line");
+var polyline = document.createElementNS("http://www.w3.org/2000/svg", "polyline");
+var polygon = document.createElementNS("http://www.w3.org/2000/svg", "polygon");
+var textContent = document.createElementNS("http://www.w3.org/2000/svg",
+ "textContent");
+var text = document.createElementNS("http://www.w3.org/2000/svg", "text");
+var tspan = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+var tref = document.createElementNS("http://www.w3.org/2000/svg", "tref");
+var textPath = document.createElementNS("http://www.w3.org/2000/svg", "textPath");
+var altGlyph = document.createElementNS("http://www.w3.org/2000/svg", "altGlyph");
+var altGlyphDef = document.createElementNS("http://www.w3.org/2000/svg",
+ "altGlyphDef");
+var altGlyphItem = document.createElementNS("http://www.w3.org/2000/svg",
+ "altGlyphItem");
+var glyphRef = document.createElementNS("http://www.w3.org/2000/svg",
+ "glyphRef");
+var marker = document.createElementNS("http://www.w3.org/2000/svg", "marker");
+var colorProfile = document.createElementNS("http://www.w3.org/2000/svg",
+ "color-profile");
+var linearGradient = document.createElementNS("http://www.w3.org/2000/svg",
+ "linearGradient");
+var radialGradient = document.createElementNS("http://www.w3.org/2000/svg",
+ "radialGradient");
+var meshGradient = document.createElementNS("http://www.w3.org/2000/svg",
+ "meshGradient");
+var stop = document.createElementNS("http://www.w3.org/2000/svg", "stop");
+var pattern = document.createElementNS("http://www.w3.org/2000/svg", "pattern");
+var clipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath");
+var mask = document.createElementNS("http://www.w3.org/2000/svg", "mask");
+var cursor = document.createElementNS("http://www.w3.org/2000/svg", "cursor");
+var a = document.createElementNS("http://www.w3.org/2000/svg", "a");
+var view = document.createElementNS("http://www.w3.org/2000/svg", "view");
+var script = document.createElementNS("http://www.w3.org/2000/svg", "script");
+var animate = document.createElementNS("http://www.w3.org/2000/svg", "animate");
+var set = document.createElementNS("http://www.w3.org/2000/svg", "set");
+var animateMotion = document.createElementNS("http://www.w3.org/2000/svg",
+ "animateMotion");
+var mPath = document.createElementNS("http://www.w3.org/2000/svg", "mPath");
+var animateColor = document.createElementNS("http://www.w3.org/2000/svg",
+ "animateColor");
+var animateColor = document.createElementNS("http://www.w3.org/2000/svg",
+ "animateColor");
+var animateTransform = document.createElementNS("http://www.w3.org/2000/svg",
+ "animateTransform");
+var font = document.createElementNS("http://www.w3.org/2000/svg", "font");
+var glyph = document.createElementNS("http://www.w3.org/2000/svg", "glyph");
+var missingglyph = document.createElementNS("http://www.w3.org/2000/svg",
+ "missing-glyph");
+var khern = document.createElementNS("http://www.w3.org/2000/svg", "hkern");
+var vkern = document.createElementNS("http://www.w3.org/2000/svg", "vkern");
+var fontface = document.createElementNS("http://www.w3.org/2000/svg", "font-face");
+var fontfacesrc = document.createElementNS("http://www.w3.org/2000/svg",
+ "font-face-src");
+var fontfaceuri = document.createElementNS("http://www.w3.org/2000/svg",
+ "font-face-uri");
+var fontfaceformat = document.createElementNS("http://www.w3.org/2000/svg",
+ "font-face-format");
+var fontfacename = document.createElementNS("http://www.w3.org/2000/svg",
+ "font-face-name");
+var metadata = document.createElementNS("http://www.w3.org/2000/svg",
+ "metadata");
+var foreignObject = document.createElementNS("http://www.w3.org/2000/svg",
+ "foreignObject");
+var filter = document.createElementNS("http://www.w3.org/2000/svg", "filter");
+var feBlend = document.createElementNS("http://www.w3.org/2000/svg", "feBlend");
+var feColorMatrix = document.createElementNS("http://www.w3.org/2000/svg",
+ "feColorMatrix");
+var feComponentTransfer = document.createElementNS("http://www.w3.org/2000/svg",
+ "feComponentTransfer");
+var feFuncR = document.createElementNS("http://www.w3.org/2000/svg", "feFuncR");
+var feFuncG = document.createElementNS("http://www.w3.org/2000/svg", "feFuncG");
+var feFuncB = document.createElementNS("http://www.w3.org/2000/svg", "feFuncB");
+var feFuncA = document.createElementNS("http://www.w3.org/2000/svg", "feFuncA");
+var feComposite = document.createElementNS("http://www.w3.org/2000/svg",
+ "feComposite");
+var feConvolveMatrix = document.createElementNS("http://www.w3.org/2000/svg",
+ "feConvolveMatrix");
+var feDiffuseLighting = document.createElementNS("http://www.w3.org/2000/svg",
+ "feDiffuseLighting");
+var fePointLight = document.createElementNS("http://www.w3.org/2000/svg",
+ "fePointLight");
+var feSpotLight = document.createElementNS("http://www.w3.org/2000/svg",
+ "feSpotLight");
+var feDisplacementMap = document.createElementNS("http://www.w3.org/2000/svg",
+ "feDisplacementMap");
+var feDropShadow = document.createElementNS("http://www.w3.org/2000/svg",
+ "feDropShadow");
+var feFlood = document.createElementNS("http://www.w3.org/2000/svg", "feFlood");
+var feGaussianBlur = document.createElementNS("http://www.w3.org/2000/svg",
+ "feGaussianBlur");
+var feDisplacementMap = document.createElementNS("http://www.w3.org/2000/svg",
+ "feDisplacementMap");
+var feDropShadow = document.createElementNS("http://www.w3.org/2000/svg",
+ "feDropShadow");
+var feImage = document.createElementNS("http://www.w3.org/2000/svg", "feImage");
+var feMerge = document.createElementNS("http://www.w3.org/2000/svg", "feMerge");
+var feMergeNode = document.createElementNS("http://www.w3.org/2000/svg",
+ "feMergeNode");
+var feMorphology = document.createElementNS("http://www.w3.org/2000/svg",
+ "feMorphology");
+var feSpecularLighting = document.createElementNS("http://www.w3.org/2000/svg",
+ "feSpecularLighting");
+var feTile = document.createElementNS("http://www.w3.org/2000/svg",
+ "feTile");
+var feTurbulence = document.createElementNS("http://www.w3.org/2000/svg",
+ "feTurbulence");
+
+
+var idlArray = new IdlArray();
+var idls = document.getElementById("idl").textContent;
+var untestedIdls = document.getElementById("untested_idl").textContent;
+idlArray.add_untested_idls(untestedIdls);
+idlArray.add_idls(idls);
+idlArray.add_objects({
+ SVGAnimatedBoolean: ['feConvolveMatrix.preserveAlpha'],
+ SVGAnimatedString: ['a.target'],
+ SVGStringList: ['a.requiredFeatures'],
+ SVGAnimatedEnumeration: ['text.lengthAdjust'],
+ SVGAnimatedInteger: ['feConvolveMatrix.orderX'],
+ SVGNumber: ['svg.createSVGNumber()'],
+ SVGAnimatedNumber: ['stop.offset'],
+ SVGNumberList: ['text.rotate.baseVal'],
+ SVGAnimatedNumberList: ['text.rotate'],
+ SVGLength: ['svg.createSVGLength()'],
+ SVGAnimatedLength: ['svg.x'],
+ SVGAnimatedLengthList: ['text.x'],
+ SVGAngle: ['svg.createSVGAngle()'],
+ SVGAnimatedAngle: ['marker.orientAngle'],
+ SVGRect: ['svg.createSVGRect()'],
+ SVGAnimatedRect: ['svg.viewBox'],
+ SVGSVGElement: ['svg'],
+ SVGGElement: ['g'],
+ SVGDefsElement: ['defs'],
+ SVGDescElement: ['Desc'],
+ SVGTitleElement: ['title'],
+ SVGSymbolElement: ['symbol'],
+ SVGUseElement: ['use'],
+ SVGImageElement: ['image'],
+ SVGSwitchElement: ['Switch'],
+ SVGStyleElement: ['style'],
+ SVGPoint: ['svg.createSVGPoint()'],
+ SVGPointList: ['polygon.points'],
+ SVGMatrix: ['svg.createSVGMatrix()'],
+ SVGTransform: ['svg.createSVGTransform()'],
+ SVGTransformList: ['pattern.patternTransform.baseVal'],
+ SVGAnimatedTransformList: ['pattern.patternTransform'],
+ SVGPreserveAspectRatio: ['image.preserveAspectRatio.baseVal'],
+ SVGAnimatedPreserveAspectRatio: ['image.preserveAspectRatio'],
+ SVGPathSegClosePath: ['path.createSVGPathSegClosePath()'],
+ SVGPathSegMovetoAbs: ['path.createSVGPathSegMovetoAbs(0,0)'],
+ SVGPathSegMovetoRel: ['path.createSVGPathSegMovetoRel(0,0)'],
+ SVGPathSegLinetoAbs: ['path.createSVGPathSegLinetoAbs(0,0)'],
+ SVGPathSegLinetoRel: ['path.createSVGPathSegLinetoRel(0,0)'],
+ SVGPathSegCurvetoCubicAbs: ['path.createSVGPathSegCurvetoCubicAbs(0,0,0,0,0,0)'],
+ SVGPathSegCurvetoCubicRel: ['path.createSVGPathSegCurvetoCubicRel(0,0,0,0,0,0)'],
+ SVGPathSegCurvetoQuadraticAbs: ['path.createSVGPathSegCurvetoQuadraticAbs(0,0,0,0)'],
+ SVGPathSegCurvetoQuadraticRel: ['path.createSVGPathSegCurvetoQuadraticRel(0,0,0,0)'],
+ SVGPathSegArcAbs: ['path.createSVGPathSegArcAbs(0,0,0,0,0,true,true)'],
+ SVGPathSegArcRel: ['path.createSVGPathSegArcRel(0,0,0,0,0,true,true)'],
+ SVGPathSegLinetoHorizontalAbs: ['path.createSVGPathSegLinetoHorizontalAbs(0)'],
+ SVGPathSegLinetoHorizontalRel: ['path.createSVGPathSegLinetoHorizontalRel(0)'],
+ SVGPathSegLinetoVerticalAbs: ['path.createSVGPathSegLinetoVerticalAbs(0)'],
+ SVGPathSegLinetoVerticalRel: ['path.createSVGPathSegLinetoVerticalRel(0)'],
+ SVGPathSegCurvetoCubicSmoothAbs: ['path.createSVGPathSegCurvetoCubicSmoothAbs(0,0,0,0)'],
+ SVGPathSegCurvetoCubicSmoothRel: ['path.createSVGPathSegCurvetoCubicSmoothRel(0,0,0,0)'],
+ SVGPathSegCurvetoQuadraticSmoothAbs: ['path.createSVGPathSegCurvetoQuadraticSmoothAbs(0,0)'],
+ SVGPathSegCurvetoQuadraticSmoothRel: ['path.createSVGPathSegCurvetoQuadraticSmoothRel(0,0)'],
+ SVGPathSegList: ['path.pathSegList'],
+ SVGPathElement: ['path'],
+ SVGRectElement: ['rect'],
+ SVGCircleElement: ['circle'],
+ SVGEllipseElement: ['ellipse'],
+ SVGLineElement: ['line'],
+ SVGPolylineElement: ['polyline'],
+ SVGPolygonElement: ['polygon'],
+ SVGTextContentElement: ['textContent'],
+ SVGTextElement: ['text'],
+ SVGTSpanElement: ['tspan'],
+ SVGTRefElement: ['tref'],
+ SVGTextPathElement: ['textPath'],
+ SVGAltGlyphElement: ['altGlyph'],
+ SVGAltGlyphDefElement: ['altGlyphDef'],
+ SVGAltGlyphItemElement: ['altGlyphItem'],
+ SVGGlyphRefElement: ['glyphRef'],
+ SVGMarkerElement: ['marker'],
+ SVGColorProfileElement: ['colorProfile'],
+ SVGLinearGradientElement: ['linearGradient'],
+ SVGRadialGradientElement: ['radialGradient'],
+ SVGMeshGradientElement: ['meshGradient'],
+ SVGStopElement: ['stop'],
+ SVGPatternElement: ['pattern'],
+ SVGClipPathElement: ['clipPath'],
+ SVGMaskElement: ['mask'],
+ SVGCursorElement: ['cursor'],
+ SVGAElement: ['a'],
+ SVGViewElement: ['view'],
+ SVGScriptElement: ['script'],
+ SVGAnimateElement: ['animate'],
+ SVGSetElement: ['set'],
+ SVGAnimateMotionElement: ['animateMotion'],
+ SVGMPathElement: ['mPath'],
+ SVGAnimateColorElement: ['animateColor'],
+ SVGAnimateTransformElement: ['animateTransform'],
+ SVGFontElement: ['font'],
+ SVGGlyphElement: ['glyph'],
+ SVGMissingGlyphElement: ['missingglyph'],
+ SVGHKernElement: ['hkern'],
+ SVGVKernElement: ['vkern'],
+ SVGFontFaceElement: ['fontface'],
+ SVGFontFaceSrcElement: ['fontfacesrc'],
+ SVGFontFaceUriElement: ['fontfaceuri'],
+ SVGFontFaceFormatElement: ['fontfaceformat'],
+ SVGMetadataElement: ['metadata'],
+ SVGForeignObjectElement: ['foreignObject'],
+ SVGFilterElement: ['filter'],
+ SVGFEBlendElement: ['feBlend'],
+ SVGFEColorMatrixElement: ['feColorMatrix'],
+ SVGFEComponentTransferElement: ['feComponentTransfer'],
+ SVGFEFuncRElement: ['feFuncR'],
+ SVGFEFuncGElement: ['feFuncG'],
+ SVGFEFuncBElement: ['feFuncB'],
+ SVGFEFuncAElement: ['feFuncA'],
+ SVGFECompositeElement: ['feComposite'],
+ SVGFEConvolveMatrixElement: ['feConvolveMatrix'],
+ SVGFEDiffuseLightingElement: ['feDiffuseLighting'],
+ SVGFEPointLightElement: ['fePointLight'],
+ SVGFESpotLightElement: ['feSpotLight'],
+ SVGFEDisplacementMapElement: ['feDisplacementMap'],
+ SVGFEDropShadowElement: ['feDropShadow'],
+ SVGFEFloodElement: ['feFlood'],
+ SVGFEGaussianBlurElement: ['feGaussianBlur'],
+ SVGFEImageElement: ['feImage'],
+ SVGFEMergeElement: ['feMerge'],
+ SVGFEMergeNodeElement: ['feMergeNode'],
+ SVGFEMorphologyElement: ['feMorphology'],
+ SVGFESpecularLightingElement: ['feSpecularLighting'],
+ SVGFETileElement: ['feTile'],
+ SVGFETurbulenceElement: ['feTurbulence']
+});
+idlArray.test();
+</script>
+