[
JSGenerateToNativeObject,
ExportMacro=WEBCORE_EXPORT,
] 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 SVGPoint currentTranslate;
readonly attribute boolean useCurrentView;
readonly attribute SVGViewSpec currentView;
NodeList getIntersectionList(SVGRect rect, SVGElement? referenceElement);
NodeList getEnclosureList(SVGRect rect, SVGElement? referenceElement);
boolean checkIntersection(SVGElement element, SVGRect rect);
boolean checkEnclosure(SVGElement element, SVGRect rect);
void deselectAll();
[NewObject] SVGNumber createSVGNumber();
[NewObject] SVGLength createSVGLength();
[NewObject] SVGAngle createSVGAngle();
[NewObject] SVGPoint createSVGPoint();
[NewObject] SVGMatrix createSVGMatrix();
[NewObject] SVGRect createSVGRect();
[NewObject] SVGTransform createSVGTransform();
[NewObject] SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix);
Element getElementById([RequiresExistingAtomString] DOMString elementId);
void pauseAnimations();
void unpauseAnimations();
boolean animationsPaused();
unrestricted float getCurrentTime();
void setCurrentTime(optional unrestricted float seconds = NaN);
unsigned long suspendRedraw(optional unsigned long maxWaitMilliseconds = 0);
void unsuspendRedraw(optional unsigned long suspendHandleId = 0);
void unsuspendRedrawAll();
void forceRedraw();
};
SVGSVGElement implements SVGFitToViewBox;
SVGSVGElement implements SVGZoomAndPan;