#include "third_party/blink/renderer/core/svg_element_factory.h"
#include <iterator>
#include "third_party/blink/renderer/core/svg_names.h"
#include "third_party/blink/renderer/core/svg/svg_a_element.h"
#include "third_party/blink/renderer/core/svg/svg_animate_element.h"
#include "third_party/blink/renderer/core/svg/svg_animate_motion_element.h"
#include "third_party/blink/renderer/core/svg/svg_animate_transform_element.h"
#include "third_party/blink/renderer/core/svg/svg_circle_element.h"
#include "third_party/blink/renderer/core/svg/svg_clip_path_element.h"
#include "third_party/blink/renderer/core/svg/svg_defs_element.h"
#include "third_party/blink/renderer/core/svg/svg_desc_element.h"
#include "third_party/blink/renderer/core/svg/svg_ellipse_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_blend_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_color_matrix_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_component_transfer_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_composite_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_convolve_matrix_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_diffuse_lighting_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_displacement_map_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_distant_light_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_drop_shadow_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_flood_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_func_a_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_func_b_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_func_g_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_func_r_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_gaussian_blur_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_image_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_merge_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_merge_node_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_morphology_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_offset_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_point_light_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_specular_lighting_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_spot_light_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_tile_element.h"
#include "third_party/blink/renderer/core/svg/svg_fe_turbulence_element.h"
#include "third_party/blink/renderer/core/svg/svg_filter_element.h"
#include "third_party/blink/renderer/core/svg/svg_foreign_object_element.h"
#include "third_party/blink/renderer/core/svg/svg_g_element.h"
#include "third_party/blink/renderer/core/svg/svg_image_element.h"
#include "third_party/blink/renderer/core/svg/svg_line_element.h"
#include "third_party/blink/renderer/core/svg/svg_linear_gradient_element.h"
#include "third_party/blink/renderer/core/svg/svg_marker_element.h"
#include "third_party/blink/renderer/core/svg/svg_mask_element.h"
#include "third_party/blink/renderer/core/svg/svg_metadata_element.h"
#include "third_party/blink/renderer/core/svg/svg_mpath_element.h"
#include "third_party/blink/renderer/core/svg/svg_path_element.h"
#include "third_party/blink/renderer/core/svg/svg_pattern_element.h"
#include "third_party/blink/renderer/core/svg/svg_polygon_element.h"
#include "third_party/blink/renderer/core/svg/svg_polyline_element.h"
#include "third_party/blink/renderer/core/svg/svg_radial_gradient_element.h"
#include "third_party/blink/renderer/core/svg/svg_rect_element.h"
#include "third_party/blink/renderer/core/svg/svg_script_element.h"
#include "third_party/blink/renderer/core/svg/svg_set_element.h"
#include "third_party/blink/renderer/core/svg/svg_stop_element.h"
#include "third_party/blink/renderer/core/svg/svg_style_element.h"
#include "third_party/blink/renderer/core/svg/svg_svg_element.h"
#include "third_party/blink/renderer/core/svg/svg_switch_element.h"
#include "third_party/blink/renderer/core/svg/svg_symbol_element.h"
#include "third_party/blink/renderer/core/svg/svg_text_element.h"
#include "third_party/blink/renderer/core/svg/svg_text_path_element.h"
#include "third_party/blink/renderer/core/svg/svg_title_element.h"
#include "third_party/blink/renderer/core/svg/svg_tspan_element.h"
#include "third_party/blink/renderer/core/svg/svg_unknown_element.h"
#include "third_party/blink/renderer/core/svg/svg_use_element.h"
#include "third_party/blink/renderer/core/svg/svg_view_element.h"
#include "third_party/blink/renderer/core/svg/svg_unknown_element.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/wtf/hash_map.h"
namespace blink {
SVGConstructorFunction;
SVGFunctionMap;
static SVGFunctionMap* g_svg_constructors = …;
static SVGElement* SVGAConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGAnimateConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGAnimateMotionConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGAnimateTransformConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGCircleConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGClipPathConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGDefsConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGDescConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGEllipseConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEBlendConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEColorMatrixConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEComponentTransferConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFECompositeConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEConvolveMatrixConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEDiffuseLightingConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEDisplacementMapConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEDistantLightConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEDropShadowConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEFloodConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEFuncAConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEFuncBConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEFuncGConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEFuncRConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEGaussianBlurConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEImageConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEMergeConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEMergeNodeConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEMorphologyConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEOffsetConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFEPointLightConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFESpecularLightingConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFESpotLightConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFETileConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFETurbulenceConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGFilterConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGForeignObjectConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGGConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGImageConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGLineConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGLinearGradientConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGMarkerConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGMaskConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGMetadataConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGMPathConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGPathConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGPatternConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGPolygonConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGPolylineConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGRadialGradientConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGRectConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGScriptConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGSetConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGStopConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGStyleConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGSVGConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGSwitchConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGSymbolConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGTextConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGTextPathConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGTitleConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGTSpanConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGUseConstructor(
Document& document, const CreateElementFlags flags) { … }
static SVGElement* SVGViewConstructor(
Document& document, const CreateElementFlags flags) { … }
struct CreateSVGFunctionMapData { … };
static void CreateSVGFunctionMap() { … }
SVGElement* SVGElementFactory::Create(
const AtomicString& local_name,
Document& document,
const CreateElementFlags flags) { … }
}