blob: 277d7a943bd8a70d34926572bc4813332548be35 [file] [log] [blame]
/*
* 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));
}
}