| /* |
| * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT. |
| * |
| * This file was generated by the dom/make_names.pl script. |
| * |
| * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
| * are met: |
| * 1. Redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer. |
| * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. |
| * |
| * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY |
| * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR |
| * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
| * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| |
| #include "config.h" |
| #include "JSSVGElementWrapperFactory.h" |
| |
| #include "JSSVGAElement.h" |
| #include "JSSVGAltGlyphElement.h" |
| #include "JSSVGAltGlyphDefElement.h" |
| #include "JSSVGAltGlyphItemElement.h" |
| #include "JSSVGAnimateElement.h" |
| #include "JSSVGAnimateColorElement.h" |
| #include "JSSVGAnimateMotionElement.h" |
| #include "JSSVGAnimateTransformElement.h" |
| #include "JSSVGCircleElement.h" |
| #include "JSSVGClipPathElement.h" |
| #include "JSSVGCursorElement.h" |
| #include "JSSVGDefsElement.h" |
| #include "JSSVGDescElement.h" |
| #include "JSSVGEllipseElement.h" |
| #include "JSSVGFEBlendElement.h" |
| #include "JSSVGFEColorMatrixElement.h" |
| #include "JSSVGFEComponentTransferElement.h" |
| #include "JSSVGFECompositeElement.h" |
| #include "JSSVGFEConvolveMatrixElement.h" |
| #include "JSSVGFEDiffuseLightingElement.h" |
| #include "JSSVGFEDisplacementMapElement.h" |
| #include "JSSVGFEDistantLightElement.h" |
| #include "JSSVGFEDropShadowElement.h" |
| #include "JSSVGFEFloodElement.h" |
| #include "JSSVGFEFuncAElement.h" |
| #include "JSSVGFEFuncBElement.h" |
| #include "JSSVGFEFuncGElement.h" |
| #include "JSSVGFEFuncRElement.h" |
| #include "JSSVGFEGaussianBlurElement.h" |
| #include "JSSVGFEImageElement.h" |
| #include "JSSVGFEMergeElement.h" |
| #include "JSSVGFEMergeNodeElement.h" |
| #include "JSSVGFEMorphologyElement.h" |
| #include "JSSVGFEOffsetElement.h" |
| #include "JSSVGFEPointLightElement.h" |
| #include "JSSVGFESpecularLightingElement.h" |
| #include "JSSVGFESpotLightElement.h" |
| #include "JSSVGFETileElement.h" |
| #include "JSSVGFETurbulenceElement.h" |
| #include "JSSVGFilterElement.h" |
| #include "JSSVGFontElement.h" |
| #include "JSSVGFontFaceElement.h" |
| #include "JSSVGFontFaceFormatElement.h" |
| #include "JSSVGFontFaceNameElement.h" |
| #include "JSSVGFontFaceSrcElement.h" |
| #include "JSSVGFontFaceUriElement.h" |
| #include "JSSVGForeignObjectElement.h" |
| #include "JSSVGGElement.h" |
| #include "JSSVGGlyphElement.h" |
| #include "JSSVGGlyphRefElement.h" |
| #include "JSSVGHKernElement.h" |
| #include "JSSVGImageElement.h" |
| #include "JSSVGLineElement.h" |
| #include "JSSVGLinearGradientElement.h" |
| #include "JSSVGMarkerElement.h" |
| #include "JSSVGMaskElement.h" |
| #include "JSSVGMetadataElement.h" |
| #include "JSSVGMissingGlyphElement.h" |
| #include "JSSVGMPathElement.h" |
| #include "JSSVGPathElement.h" |
| #include "JSSVGPatternElement.h" |
| #include "JSSVGPolygonElement.h" |
| #include "JSSVGPolylineElement.h" |
| #include "JSSVGRadialGradientElement.h" |
| #include "JSSVGRectElement.h" |
| #include "JSSVGScriptElement.h" |
| #include "JSSVGSetElement.h" |
| #include "JSSVGStopElement.h" |
| #include "JSSVGStyleElement.h" |
| #include "JSSVGSVGElement.h" |
| #include "JSSVGSwitchElement.h" |
| #include "JSSVGSymbolElement.h" |
| #include "JSSVGTextElement.h" |
| #include "JSSVGTextPathElement.h" |
| #include "JSSVGTitleElement.h" |
| #include "JSSVGTRefElement.h" |
| #include "JSSVGTSpanElement.h" |
| #include "JSSVGUseElement.h" |
| #include "JSSVGViewElement.h" |
| #include "JSSVGVKernElement.h" |
| #include "JSSVGElement.h" |
| #include "SVGAElement.h" |
| #include "SVGAltGlyphElement.h" |
| #include "SVGAltGlyphDefElement.h" |
| #include "SVGAltGlyphItemElement.h" |
| #include "SVGAnimateElement.h" |
| #include "SVGAnimateColorElement.h" |
| #include "SVGAnimateMotionElement.h" |
| #include "SVGAnimateTransformElement.h" |
| #include "SVGCircleElement.h" |
| #include "SVGClipPathElement.h" |
| #include "SVGCursorElement.h" |
| #include "SVGDefsElement.h" |
| #include "SVGDescElement.h" |
| #include "SVGEllipseElement.h" |
| #include "SVGFEBlendElement.h" |
| #include "SVGFEColorMatrixElement.h" |
| #include "SVGFEComponentTransferElement.h" |
| #include "SVGFECompositeElement.h" |
| #include "SVGFEConvolveMatrixElement.h" |
| #include "SVGFEDiffuseLightingElement.h" |
| #include "SVGFEDisplacementMapElement.h" |
| #include "SVGFEDistantLightElement.h" |
| #include "SVGFEDropShadowElement.h" |
| #include "SVGFEFloodElement.h" |
| #include "SVGFEFuncAElement.h" |
| #include "SVGFEFuncBElement.h" |
| #include "SVGFEFuncGElement.h" |
| #include "SVGFEFuncRElement.h" |
| #include "SVGFEGaussianBlurElement.h" |
| #include "SVGFEImageElement.h" |
| #include "SVGFEMergeElement.h" |
| #include "SVGFEMergeNodeElement.h" |
| #include "SVGFEMorphologyElement.h" |
| #include "SVGFEOffsetElement.h" |
| #include "SVGFEPointLightElement.h" |
| #include "SVGFESpecularLightingElement.h" |
| #include "SVGFESpotLightElement.h" |
| #include "SVGFETileElement.h" |
| #include "SVGFETurbulenceElement.h" |
| #include "SVGFilterElement.h" |
| #include "SVGFontElement.h" |
| #include "SVGFontFaceElement.h" |
| #include "SVGFontFaceFormatElement.h" |
| #include "SVGFontFaceNameElement.h" |
| #include "SVGFontFaceSrcElement.h" |
| #include "SVGFontFaceUriElement.h" |
| #include "SVGForeignObjectElement.h" |
| #include "SVGGElement.h" |
| #include "SVGGlyphElement.h" |
| #include "SVGGlyphRefElement.h" |
| #include "SVGHKernElement.h" |
| #include "SVGImageElement.h" |
| #include "SVGLineElement.h" |
| #include "SVGLinearGradientElement.h" |
| #include "SVGMarkerElement.h" |
| #include "SVGMaskElement.h" |
| #include "SVGMetadataElement.h" |
| #include "SVGMissingGlyphElement.h" |
| #include "SVGMPathElement.h" |
| #include "SVGPathElement.h" |
| #include "SVGPatternElement.h" |
| #include "SVGPolygonElement.h" |
| #include "SVGPolylineElement.h" |
| #include "SVGRadialGradientElement.h" |
| #include "SVGRectElement.h" |
| #include "SVGScriptElement.h" |
| #include "SVGSetElement.h" |
| #include "SVGStopElement.h" |
| #include "SVGStyleElement.h" |
| #include "SVGSVGElement.h" |
| #include "SVGSwitchElement.h" |
| #include "SVGSymbolElement.h" |
| #include "SVGTextElement.h" |
| #include "SVGTextPathElement.h" |
| #include "SVGTitleElement.h" |
| #include "SVGTRefElement.h" |
| #include "SVGTSpanElement.h" |
| #include "SVGUseElement.h" |
| #include "SVGViewElement.h" |
| #include "SVGVKernElement.h" |
| #include "SVGUnknownElement.h" |
| |
| #include "SVGNames.h" |
| |
| #include "Document.h" |
| #include "RuntimeEnabledFeatures.h" |
| #include "Settings.h" |
| #include <wtf/NeverDestroyed.h> |
| #include <wtf/StdLibExtras.h> |
| |
| using namespace JSC; |
| |
| namespace WebCore { |
| |
| using namespace SVGNames; |
| |
| typedef JSDOMObject* (*CreateSVGElementWrapperFunction)(JSDOMGlobalObject*, Ref<SVGElement>&&); |
| |
| static JSDOMObject* createSVGAElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGAltGlyphElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAltGlyphElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGAltGlyphDefElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAltGlyphDefElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGAltGlyphItemElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAltGlyphItemElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGAnimateElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAnimateElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGAnimateColorElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAnimateColorElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGAnimateMotionElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAnimateMotionElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGAnimateTransformElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGAnimateTransformElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGCircleElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGCircleElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGClipPathElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGClipPathElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGCursorElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGCursorElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGDefsElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGDefsElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGDescElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGDescElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGEllipseElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGEllipseElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEBlendElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEBlendElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEColorMatrixElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEColorMatrixElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEComponentTransferElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEComponentTransferElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFECompositeElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFECompositeElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEConvolveMatrixElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEConvolveMatrixElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEDiffuseLightingElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEDiffuseLightingElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEDisplacementMapElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEDisplacementMapElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEDistantLightElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEDistantLightElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEDropShadowElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEDropShadowElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEFloodElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEFloodElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEFuncAElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEFuncAElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEFuncBElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEFuncBElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEFuncGElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEFuncGElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEFuncRElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEFuncRElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEGaussianBlurElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEGaussianBlurElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEImageElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEImageElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEMergeElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEMergeElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEMergeNodeElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEMergeNodeElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEMorphologyElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEMorphologyElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEOffsetElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEOffsetElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFEPointLightElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFEPointLightElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFESpecularLightingElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFESpecularLightingElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFESpotLightElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFESpotLightElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFETileElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFETileElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFETurbulenceElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFETurbulenceElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFilterElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFilterElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFontElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFontElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFontFaceElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFontFaceElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFontFaceFormatElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFontFaceFormatElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFontFaceNameElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFontFaceNameElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFontFaceSrcElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFontFaceSrcElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGFontFaceUriElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGFontFaceUriElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGForeignObjectElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGForeignObjectElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGGElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGGElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGGlyphElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGGlyphElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGGlyphRefElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGGlyphRefElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGHKernElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGHKernElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGImageElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGImageElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGLineElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGLineElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGLinearGradientElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGLinearGradientElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGMarkerElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGMarkerElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGMaskElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGMaskElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGMetadataElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGMetadataElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGMissingGlyphElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGMissingGlyphElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGMPathElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGMPathElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGPathElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGPathElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGPatternElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGPatternElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGPolygonElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGPolygonElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGPolylineElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGPolylineElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGRadialGradientElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGRadialGradientElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGRectElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGRectElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGScriptElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGScriptElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGSetElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGSetElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGStopElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGStopElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGStyleElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGStyleElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGSVGElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGSVGElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGSwitchElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGSwitchElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGSymbolElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGSymbolElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGTextElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGTextElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGTextPathElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGTextPathElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGTitleElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGTitleElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGTRefElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGTRefElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGTSpanElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGTSpanElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGUseElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGUseElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGViewElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGViewElement>(globalObject, WTFMove(element)); |
| } |
| |
| static JSDOMObject* createSVGVKernElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| return createWrapper<SVGVKernElement>(globalObject, WTFMove(element)); |
| } |
| |
| |
| static NEVER_INLINE void populateSVGWrapperMap(HashMap<AtomicStringImpl*, CreateSVGElementWrapperFunction>& map) |
| { |
| struct TableEntry { |
| const QualifiedName& name; |
| CreateSVGElementWrapperFunction function; |
| }; |
| |
| static const TableEntry table[] = { |
| { aTag, createSVGAElementWrapper }, |
| { altGlyphTag, createSVGAltGlyphElementWrapper }, |
| { altGlyphDefTag, createSVGAltGlyphDefElementWrapper }, |
| { altGlyphItemTag, createSVGAltGlyphItemElementWrapper }, |
| { animateTag, createSVGAnimateElementWrapper }, |
| { animateColorTag, createSVGAnimateColorElementWrapper }, |
| { animateMotionTag, createSVGAnimateMotionElementWrapper }, |
| { animateTransformTag, createSVGAnimateTransformElementWrapper }, |
| { circleTag, createSVGCircleElementWrapper }, |
| { clipPathTag, createSVGClipPathElementWrapper }, |
| { cursorTag, createSVGCursorElementWrapper }, |
| { defsTag, createSVGDefsElementWrapper }, |
| { descTag, createSVGDescElementWrapper }, |
| { ellipseTag, createSVGEllipseElementWrapper }, |
| { feBlendTag, createSVGFEBlendElementWrapper }, |
| { feColorMatrixTag, createSVGFEColorMatrixElementWrapper }, |
| { feComponentTransferTag, createSVGFEComponentTransferElementWrapper }, |
| { feCompositeTag, createSVGFECompositeElementWrapper }, |
| { feConvolveMatrixTag, createSVGFEConvolveMatrixElementWrapper }, |
| { feDiffuseLightingTag, createSVGFEDiffuseLightingElementWrapper }, |
| { feDisplacementMapTag, createSVGFEDisplacementMapElementWrapper }, |
| { feDistantLightTag, createSVGFEDistantLightElementWrapper }, |
| { feDropShadowTag, createSVGFEDropShadowElementWrapper }, |
| { feFloodTag, createSVGFEFloodElementWrapper }, |
| { feFuncATag, createSVGFEFuncAElementWrapper }, |
| { feFuncBTag, createSVGFEFuncBElementWrapper }, |
| { feFuncGTag, createSVGFEFuncGElementWrapper }, |
| { feFuncRTag, createSVGFEFuncRElementWrapper }, |
| { feGaussianBlurTag, createSVGFEGaussianBlurElementWrapper }, |
| { feImageTag, createSVGFEImageElementWrapper }, |
| { feMergeTag, createSVGFEMergeElementWrapper }, |
| { feMergeNodeTag, createSVGFEMergeNodeElementWrapper }, |
| { feMorphologyTag, createSVGFEMorphologyElementWrapper }, |
| { feOffsetTag, createSVGFEOffsetElementWrapper }, |
| { fePointLightTag, createSVGFEPointLightElementWrapper }, |
| { feSpecularLightingTag, createSVGFESpecularLightingElementWrapper }, |
| { feSpotLightTag, createSVGFESpotLightElementWrapper }, |
| { feTileTag, createSVGFETileElementWrapper }, |
| { feTurbulenceTag, createSVGFETurbulenceElementWrapper }, |
| { filterTag, createSVGFilterElementWrapper }, |
| { fontTag, createSVGFontElementWrapper }, |
| { font_faceTag, createSVGFontFaceElementWrapper }, |
| { font_face_formatTag, createSVGFontFaceFormatElementWrapper }, |
| { font_face_nameTag, createSVGFontFaceNameElementWrapper }, |
| { font_face_srcTag, createSVGFontFaceSrcElementWrapper }, |
| { font_face_uriTag, createSVGFontFaceUriElementWrapper }, |
| { foreignObjectTag, createSVGForeignObjectElementWrapper }, |
| { gTag, createSVGGElementWrapper }, |
| { glyphTag, createSVGGlyphElementWrapper }, |
| { glyphRefTag, createSVGGlyphRefElementWrapper }, |
| { hkernTag, createSVGHKernElementWrapper }, |
| { imageTag, createSVGImageElementWrapper }, |
| { lineTag, createSVGLineElementWrapper }, |
| { linearGradientTag, createSVGLinearGradientElementWrapper }, |
| { markerTag, createSVGMarkerElementWrapper }, |
| { maskTag, createSVGMaskElementWrapper }, |
| { metadataTag, createSVGMetadataElementWrapper }, |
| { missing_glyphTag, createSVGMissingGlyphElementWrapper }, |
| { mpathTag, createSVGMPathElementWrapper }, |
| { pathTag, createSVGPathElementWrapper }, |
| { patternTag, createSVGPatternElementWrapper }, |
| { polygonTag, createSVGPolygonElementWrapper }, |
| { polylineTag, createSVGPolylineElementWrapper }, |
| { radialGradientTag, createSVGRadialGradientElementWrapper }, |
| { rectTag, createSVGRectElementWrapper }, |
| { scriptTag, createSVGScriptElementWrapper }, |
| { setTag, createSVGSetElementWrapper }, |
| { stopTag, createSVGStopElementWrapper }, |
| { styleTag, createSVGStyleElementWrapper }, |
| { svgTag, createSVGSVGElementWrapper }, |
| { switchTag, createSVGSwitchElementWrapper }, |
| { symbolTag, createSVGSymbolElementWrapper }, |
| { textTag, createSVGTextElementWrapper }, |
| { textPathTag, createSVGTextPathElementWrapper }, |
| { titleTag, createSVGTitleElementWrapper }, |
| { trefTag, createSVGTRefElementWrapper }, |
| { tspanTag, createSVGTSpanElementWrapper }, |
| { useTag, createSVGUseElementWrapper }, |
| { viewTag, createSVGViewElementWrapper }, |
| { vkernTag, createSVGVKernElementWrapper }, |
| }; |
| |
| for (unsigned i = 0; i < WTF_ARRAY_LENGTH(table); ++i) |
| map.add(table[i].name.localName().impl(), table[i].function); |
| } |
| |
| JSDOMObject* createJSSVGWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element) |
| { |
| static NeverDestroyed<HashMap<AtomicStringImpl*, CreateSVGElementWrapperFunction>> functions; |
| if (functions.get().isEmpty()) |
| populateSVGWrapperMap(functions); |
| if (auto function = functions.get().get(element->localName().impl())) |
| return function(globalObject, WTFMove(element)); |
| return createWrapper<SVGElement>(globalObject, WTFMove(element)); |
| } |
| |
| } |