/*
 * 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 "JSSVGAnimateElement.h"
#include "JSSVGAnimateMotionElement.h"
#include "JSSVGAnimateTransformElement.h"
#include "JSSVGCircleElement.h"
#include "JSSVGClipPathElement.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 "JSSVGForeignObjectElement.h"
#include "JSSVGGElement.h"
#include "JSSVGImageElement.h"
#include "JSSVGLineElement.h"
#include "JSSVGLinearGradientElement.h"
#include "JSSVGMarkerElement.h"
#include "JSSVGMaskElement.h"
#include "JSSVGMetadataElement.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 "JSSVGTSpanElement.h"
#include "JSSVGUseElement.h"
#include "JSSVGViewElement.h"
#include "JSSVGElement.h"
#include "SVGAElement.h"
#include "SVGAltGlyphElement.h"
#include "SVGAltGlyphDefElement.h"
#include "SVGAltGlyphItemElement.h"
#include "SVGAnimateElement.h"
#include "SVGUnknownElement.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 "DeprecatedGlobalSettings.h"
#include "Document.h"
#include "NodeName.h"
#include "Settings.h"
#include <wtf/NeverDestroyed.h>
#include <wtf/StdLibExtras.h>

using namespace JSC;

namespace WebCore {

static JSDOMObject* createSVGAElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element)
{
    return createWrapper<SVGAElement>(globalObject, WTFMove(element));
}

static JSDOMObject* createSVGAnimateElementWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element)
{
    return createWrapper<SVGAnimateElement>(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* 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* 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* 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* 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* 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));
}


JSDOMObject* createJSSVGWrapper(JSDOMGlobalObject* globalObject, Ref<SVGElement>&& element)
{
    switch (element->elementName()) {
    case NodeName::SVG_a:
        return createSVGAElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_animate:
        return createSVGAnimateElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_animateMotion:
        return createSVGAnimateMotionElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_animateTransform:
        return createSVGAnimateTransformElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_circle:
        return createSVGCircleElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_clipPath:
        return createSVGClipPathElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_defs:
        return createSVGDefsElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_desc:
        return createSVGDescElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_ellipse:
        return createSVGEllipseElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feBlend:
        return createSVGFEBlendElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feColorMatrix:
        return createSVGFEColorMatrixElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feComponentTransfer:
        return createSVGFEComponentTransferElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feComposite:
        return createSVGFECompositeElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feConvolveMatrix:
        return createSVGFEConvolveMatrixElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feDiffuseLighting:
        return createSVGFEDiffuseLightingElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feDisplacementMap:
        return createSVGFEDisplacementMapElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feDistantLight:
        return createSVGFEDistantLightElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feDropShadow:
        return createSVGFEDropShadowElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feFlood:
        return createSVGFEFloodElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feFuncA:
        return createSVGFEFuncAElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feFuncB:
        return createSVGFEFuncBElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feFuncG:
        return createSVGFEFuncGElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feFuncR:
        return createSVGFEFuncRElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feGaussianBlur:
        return createSVGFEGaussianBlurElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feImage:
        return createSVGFEImageElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feMerge:
        return createSVGFEMergeElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feMergeNode:
        return createSVGFEMergeNodeElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feMorphology:
        return createSVGFEMorphologyElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feOffset:
        return createSVGFEOffsetElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_fePointLight:
        return createSVGFEPointLightElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feSpecularLighting:
        return createSVGFESpecularLightingElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feSpotLight:
        return createSVGFESpotLightElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feTile:
        return createSVGFETileElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_feTurbulence:
        return createSVGFETurbulenceElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_filter:
        return createSVGFilterElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_foreignObject:
        return createSVGForeignObjectElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_g:
        return createSVGGElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_image:
        return createSVGImageElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_line:
        return createSVGLineElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_linearGradient:
        return createSVGLinearGradientElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_marker:
        return createSVGMarkerElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_mask:
        return createSVGMaskElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_metadata:
        return createSVGMetadataElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_mpath:
        return createSVGMPathElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_path:
        return createSVGPathElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_pattern:
        return createSVGPatternElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_polygon:
        return createSVGPolygonElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_polyline:
        return createSVGPolylineElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_radialGradient:
        return createSVGRadialGradientElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_rect:
        return createSVGRectElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_script:
        return createSVGScriptElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_set:
        return createSVGSetElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_stop:
        return createSVGStopElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_style:
        return createSVGStyleElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_svg:
        return createSVGSVGElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_switch:
        return createSVGSwitchElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_symbol:
        return createSVGSymbolElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_text:
        return createSVGTextElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_textPath:
        return createSVGTextPathElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_title:
        return createSVGTitleElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_tspan:
        return createSVGTSpanElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_use:
        return createSVGUseElementWrapper(globalObject, WTFMove(element));
    case NodeName::SVG_view:
        return createSVGViewElementWrapper(globalObject, WTFMove(element));
    default:
        break;
    }
    ASSERT(element->isSVGElement());
    return createWrapper<SVGElement>(globalObject, WTFMove(element));
}

}
