tizen beta release
[profile/ivi/webkit-efl.git] / DerivedSources / WebCore / JSSVGElementWrapperFactory.cpp
1 /*
2  * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
3  *
4  * This file was generated by the dom/make_names.pl script.
5  *
6  * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc.  All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  *
17  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
21  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
25  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29
30 #include "config.h"
31 #include "JSSVGElementWrapperFactory.h"
32
33 #if ENABLE(SVG)
34
35 #include "JSSVGAElement.h"
36 #include "JSSVGAltGlyphElement.h"
37 #include "JSSVGAltGlyphDefElement.h"
38 #include "JSSVGAltGlyphItemElement.h"
39 #include "JSSVGAnimateElement.h"
40 #include "JSSVGAnimateColorElement.h"
41 #include "JSSVGAnimateTransformElement.h"
42 #include "JSSVGCircleElement.h"
43 #include "JSSVGClipPathElement.h"
44 #include "JSSVGCursorElement.h"
45 #include "JSSVGDefsElement.h"
46 #include "JSSVGDescElement.h"
47 #include "JSSVGEllipseElement.h"
48 #include "JSSVGFEBlendElement.h"
49 #include "JSSVGFEColorMatrixElement.h"
50 #include "JSSVGFEComponentTransferElement.h"
51 #include "JSSVGFECompositeElement.h"
52 #include "JSSVGFEConvolveMatrixElement.h"
53 #include "JSSVGFEDiffuseLightingElement.h"
54 #include "JSSVGFEDisplacementMapElement.h"
55 #include "JSSVGFEDistantLightElement.h"
56 #include "JSSVGFEDropShadowElement.h"
57 #include "JSSVGFEFloodElement.h"
58 #include "JSSVGFEFuncAElement.h"
59 #include "JSSVGFEFuncBElement.h"
60 #include "JSSVGFEFuncGElement.h"
61 #include "JSSVGFEFuncRElement.h"
62 #include "JSSVGFEGaussianBlurElement.h"
63 #include "JSSVGFEImageElement.h"
64 #include "JSSVGFEMergeElement.h"
65 #include "JSSVGFEMergeNodeElement.h"
66 #include "JSSVGFEMorphologyElement.h"
67 #include "JSSVGFEOffsetElement.h"
68 #include "JSSVGFEPointLightElement.h"
69 #include "JSSVGFESpecularLightingElement.h"
70 #include "JSSVGFESpotLightElement.h"
71 #include "JSSVGFETileElement.h"
72 #include "JSSVGFETurbulenceElement.h"
73 #include "JSSVGFilterElement.h"
74 #include "JSSVGFontElement.h"
75 #include "JSSVGFontFaceElement.h"
76 #include "JSSVGFontFaceFormatElement.h"
77 #include "JSSVGFontFaceNameElement.h"
78 #include "JSSVGFontFaceSrcElement.h"
79 #include "JSSVGFontFaceUriElement.h"
80 #include "JSSVGForeignObjectElement.h"
81 #include "JSSVGGElement.h"
82 #include "JSSVGGlyphElement.h"
83 #include "JSSVGGlyphRefElement.h"
84 #include "JSSVGImageElement.h"
85 #include "JSSVGLineElement.h"
86 #include "JSSVGLinearGradientElement.h"
87 #include "JSSVGMarkerElement.h"
88 #include "JSSVGMaskElement.h"
89 #include "JSSVGMetadataElement.h"
90 #include "JSSVGMissingGlyphElement.h"
91 #include "JSSVGPathElement.h"
92 #include "JSSVGPatternElement.h"
93 #include "JSSVGPolygonElement.h"
94 #include "JSSVGPolylineElement.h"
95 #include "JSSVGRadialGradientElement.h"
96 #include "JSSVGRectElement.h"
97 #include "JSSVGScriptElement.h"
98 #include "JSSVGSetElement.h"
99 #include "JSSVGStopElement.h"
100 #include "JSSVGStyleElement.h"
101 #include "JSSVGSVGElement.h"
102 #include "JSSVGSwitchElement.h"
103 #include "JSSVGSymbolElement.h"
104 #include "JSSVGTextElement.h"
105 #include "JSSVGTextPathElement.h"
106 #include "JSSVGTitleElement.h"
107 #include "JSSVGTRefElement.h"
108 #include "JSSVGTSpanElement.h"
109 #include "JSSVGUseElement.h"
110 #include "JSSVGViewElement.h"
111 #include "JSSVGVKernElement.h"
112 #include "JSSVGElement.h"
113
114 #include "SVGNames.h"
115
116 #include "SVGAElement.h"
117 #include "SVGAltGlyphElement.h"
118 #include "SVGAltGlyphDefElement.h"
119 #include "SVGAltGlyphItemElement.h"
120 #include "SVGAnimateElement.h"
121 #include "SVGAnimateColorElement.h"
122 #include "SVGAnimateMotionElement.h"
123 #include "SVGAnimateTransformElement.h"
124 #include "SVGCircleElement.h"
125 #include "SVGClipPathElement.h"
126 #include "SVGCursorElement.h"
127 #include "SVGDefsElement.h"
128 #include "SVGDescElement.h"
129 #include "SVGEllipseElement.h"
130 #include "SVGFEBlendElement.h"
131 #include "SVGFEColorMatrixElement.h"
132 #include "SVGFEComponentTransferElement.h"
133 #include "SVGFECompositeElement.h"
134 #include "SVGFEConvolveMatrixElement.h"
135 #include "SVGFEDiffuseLightingElement.h"
136 #include "SVGFEDisplacementMapElement.h"
137 #include "SVGFEDistantLightElement.h"
138 #include "SVGFEDropShadowElement.h"
139 #include "SVGFEFloodElement.h"
140 #include "SVGFEFuncAElement.h"
141 #include "SVGFEFuncBElement.h"
142 #include "SVGFEFuncGElement.h"
143 #include "SVGFEFuncRElement.h"
144 #include "SVGFEGaussianBlurElement.h"
145 #include "SVGFEImageElement.h"
146 #include "SVGFEMergeElement.h"
147 #include "SVGFEMergeNodeElement.h"
148 #include "SVGFEMorphologyElement.h"
149 #include "SVGFEOffsetElement.h"
150 #include "SVGFEPointLightElement.h"
151 #include "SVGFESpecularLightingElement.h"
152 #include "SVGFESpotLightElement.h"
153 #include "SVGFETileElement.h"
154 #include "SVGFETurbulenceElement.h"
155 #include "SVGFilterElement.h"
156 #include "SVGFontElement.h"
157 #include "SVGFontFaceElement.h"
158 #include "SVGFontFaceFormatElement.h"
159 #include "SVGFontFaceNameElement.h"
160 #include "SVGFontFaceSrcElement.h"
161 #include "SVGFontFaceUriElement.h"
162 #include "SVGForeignObjectElement.h"
163 #include "SVGGElement.h"
164 #include "SVGGlyphElement.h"
165 #include "SVGGlyphRefElement.h"
166 #include "SVGHKernElement.h"
167 #include "SVGImageElement.h"
168 #include "SVGLineElement.h"
169 #include "SVGLinearGradientElement.h"
170 #include "SVGMarkerElement.h"
171 #include "SVGMaskElement.h"
172 #include "SVGMetadataElement.h"
173 #include "SVGMissingGlyphElement.h"
174 #include "SVGMPathElement.h"
175 #include "SVGPathElement.h"
176 #include "SVGPatternElement.h"
177 #include "SVGPolygonElement.h"
178 #include "SVGPolylineElement.h"
179 #include "SVGRadialGradientElement.h"
180 #include "SVGRectElement.h"
181 #include "SVGScriptElement.h"
182 #include "SVGSetElement.h"
183 #include "SVGStopElement.h"
184 #include "SVGStyleElement.h"
185 #include "SVGSVGElement.h"
186 #include "SVGSwitchElement.h"
187 #include "SVGSymbolElement.h"
188 #include "SVGTextElement.h"
189 #include "SVGTextPathElement.h"
190 #include "SVGTitleElement.h"
191 #include "SVGTRefElement.h"
192 #include "SVGTSpanElement.h"
193 #include "SVGUseElement.h"
194 #include "SVGViewElement.h"
195 #include "SVGVKernElement.h"
196 #include "SVGElement.h"
197
198 #include <wtf/StdLibExtras.h>
199
200 #if ENABLE(VIDEO)
201 #include "Document.h"
202 #include "Settings.h"
203 #endif
204
205 using namespace JSC;
206
207 namespace WebCore {
208
209 using namespace SVGNames;
210
211 typedef JSDOMWrapper* (*CreateSVGElementWrapperFunction)(ExecState*, JSDOMGlobalObject*, PassRefPtr<SVGElement>);
212
213 static JSDOMWrapper* createSVGAElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
214 {
215     return CREATE_DOM_WRAPPER(exec, globalObject, SVGAElement, element.get());
216 }
217
218 static JSDOMWrapper* createSVGAltGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
219 {
220     return CREATE_DOM_WRAPPER(exec, globalObject, SVGAltGlyphElement, element.get());
221 }
222
223 static JSDOMWrapper* createSVGAltGlyphDefElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
224 {
225     return CREATE_DOM_WRAPPER(exec, globalObject, SVGAltGlyphDefElement, element.get());
226 }
227
228 static JSDOMWrapper* createSVGAltGlyphItemElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
229 {
230     return CREATE_DOM_WRAPPER(exec, globalObject, SVGAltGlyphItemElement, element.get());
231 }
232
233 static JSDOMWrapper* createSVGAnimateElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
234 {
235     return CREATE_DOM_WRAPPER(exec, globalObject, SVGAnimateElement, element.get());
236 }
237
238 static JSDOMWrapper* createSVGAnimateColorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
239 {
240     return CREATE_DOM_WRAPPER(exec, globalObject, SVGAnimateColorElement, element.get());
241 }
242
243 static JSDOMWrapper* createSVGAnimateTransformElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
244 {
245     return CREATE_DOM_WRAPPER(exec, globalObject, SVGAnimateTransformElement, element.get());
246 }
247
248 static JSDOMWrapper* createSVGCircleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
249 {
250     return CREATE_DOM_WRAPPER(exec, globalObject, SVGCircleElement, element.get());
251 }
252
253 static JSDOMWrapper* createSVGClipPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
254 {
255     return CREATE_DOM_WRAPPER(exec, globalObject, SVGClipPathElement, element.get());
256 }
257
258 static JSDOMWrapper* createSVGCursorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
259 {
260     return CREATE_DOM_WRAPPER(exec, globalObject, SVGCursorElement, element.get());
261 }
262
263 static JSDOMWrapper* createSVGDefsElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
264 {
265     return CREATE_DOM_WRAPPER(exec, globalObject, SVGDefsElement, element.get());
266 }
267
268 static JSDOMWrapper* createSVGDescElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
269 {
270     return CREATE_DOM_WRAPPER(exec, globalObject, SVGDescElement, element.get());
271 }
272
273 static JSDOMWrapper* createSVGEllipseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
274 {
275     return CREATE_DOM_WRAPPER(exec, globalObject, SVGEllipseElement, element.get());
276 }
277
278 static JSDOMWrapper* createSVGFEBlendElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
279 {
280     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEBlendElement, element.get());
281 }
282
283 static JSDOMWrapper* createSVGFEColorMatrixElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
284 {
285     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEColorMatrixElement, element.get());
286 }
287
288 static JSDOMWrapper* createSVGFEComponentTransferElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
289 {
290     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEComponentTransferElement, element.get());
291 }
292
293 static JSDOMWrapper* createSVGFECompositeElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
294 {
295     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFECompositeElement, element.get());
296 }
297
298 static JSDOMWrapper* createSVGFEConvolveMatrixElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
299 {
300     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEConvolveMatrixElement, element.get());
301 }
302
303 static JSDOMWrapper* createSVGFEDiffuseLightingElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
304 {
305     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEDiffuseLightingElement, element.get());
306 }
307
308 static JSDOMWrapper* createSVGFEDisplacementMapElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
309 {
310     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEDisplacementMapElement, element.get());
311 }
312
313 static JSDOMWrapper* createSVGFEDistantLightElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
314 {
315     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEDistantLightElement, element.get());
316 }
317
318 static JSDOMWrapper* createSVGFEDropShadowElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
319 {
320     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEDropShadowElement, element.get());
321 }
322
323 static JSDOMWrapper* createSVGFEFloodElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
324 {
325     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEFloodElement, element.get());
326 }
327
328 static JSDOMWrapper* createSVGFEFuncAElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
329 {
330     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEFuncAElement, element.get());
331 }
332
333 static JSDOMWrapper* createSVGFEFuncBElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
334 {
335     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEFuncBElement, element.get());
336 }
337
338 static JSDOMWrapper* createSVGFEFuncGElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
339 {
340     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEFuncGElement, element.get());
341 }
342
343 static JSDOMWrapper* createSVGFEFuncRElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
344 {
345     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEFuncRElement, element.get());
346 }
347
348 static JSDOMWrapper* createSVGFEGaussianBlurElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
349 {
350     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEGaussianBlurElement, element.get());
351 }
352
353 static JSDOMWrapper* createSVGFEImageElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
354 {
355     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEImageElement, element.get());
356 }
357
358 static JSDOMWrapper* createSVGFEMergeElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
359 {
360     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEMergeElement, element.get());
361 }
362
363 static JSDOMWrapper* createSVGFEMergeNodeElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
364 {
365     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEMergeNodeElement, element.get());
366 }
367
368 static JSDOMWrapper* createSVGFEMorphologyElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
369 {
370     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEMorphologyElement, element.get());
371 }
372
373 static JSDOMWrapper* createSVGFEOffsetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
374 {
375     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEOffsetElement, element.get());
376 }
377
378 static JSDOMWrapper* createSVGFEPointLightElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
379 {
380     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFEPointLightElement, element.get());
381 }
382
383 static JSDOMWrapper* createSVGFESpecularLightingElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
384 {
385     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFESpecularLightingElement, element.get());
386 }
387
388 static JSDOMWrapper* createSVGFESpotLightElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
389 {
390     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFESpotLightElement, element.get());
391 }
392
393 static JSDOMWrapper* createSVGFETileElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
394 {
395     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFETileElement, element.get());
396 }
397
398 static JSDOMWrapper* createSVGFETurbulenceElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
399 {
400     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFETurbulenceElement, element.get());
401 }
402
403 static JSDOMWrapper* createSVGFilterElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
404 {
405     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFilterElement, element.get());
406 }
407
408 static JSDOMWrapper* createSVGFontElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
409 {
410     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFontElement, element.get());
411 }
412
413 static JSDOMWrapper* createSVGFontFaceElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
414 {
415     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFontFaceElement, element.get());
416 }
417
418 static JSDOMWrapper* createSVGFontFaceFormatElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
419 {
420     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFontFaceFormatElement, element.get());
421 }
422
423 static JSDOMWrapper* createSVGFontFaceNameElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
424 {
425     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFontFaceNameElement, element.get());
426 }
427
428 static JSDOMWrapper* createSVGFontFaceSrcElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
429 {
430     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFontFaceSrcElement, element.get());
431 }
432
433 static JSDOMWrapper* createSVGFontFaceUriElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
434 {
435     return CREATE_DOM_WRAPPER(exec, globalObject, SVGFontFaceUriElement, element.get());
436 }
437
438 static JSDOMWrapper* createSVGForeignObjectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
439 {
440     return CREATE_DOM_WRAPPER(exec, globalObject, SVGForeignObjectElement, element.get());
441 }
442
443 static JSDOMWrapper* createSVGGElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
444 {
445     return CREATE_DOM_WRAPPER(exec, globalObject, SVGGElement, element.get());
446 }
447
448 static JSDOMWrapper* createSVGGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
449 {
450     return CREATE_DOM_WRAPPER(exec, globalObject, SVGGlyphElement, element.get());
451 }
452
453 static JSDOMWrapper* createSVGGlyphRefElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
454 {
455     return CREATE_DOM_WRAPPER(exec, globalObject, SVGGlyphRefElement, element.get());
456 }
457
458 static JSDOMWrapper* createSVGImageElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
459 {
460     return CREATE_DOM_WRAPPER(exec, globalObject, SVGImageElement, element.get());
461 }
462
463 static JSDOMWrapper* createSVGLineElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
464 {
465     return CREATE_DOM_WRAPPER(exec, globalObject, SVGLineElement, element.get());
466 }
467
468 static JSDOMWrapper* createSVGLinearGradientElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
469 {
470     return CREATE_DOM_WRAPPER(exec, globalObject, SVGLinearGradientElement, element.get());
471 }
472
473 static JSDOMWrapper* createSVGMarkerElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
474 {
475     return CREATE_DOM_WRAPPER(exec, globalObject, SVGMarkerElement, element.get());
476 }
477
478 static JSDOMWrapper* createSVGMaskElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
479 {
480     return CREATE_DOM_WRAPPER(exec, globalObject, SVGMaskElement, element.get());
481 }
482
483 static JSDOMWrapper* createSVGMetadataElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
484 {
485     return CREATE_DOM_WRAPPER(exec, globalObject, SVGMetadataElement, element.get());
486 }
487
488 static JSDOMWrapper* createSVGMissingGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
489 {
490     return CREATE_DOM_WRAPPER(exec, globalObject, SVGMissingGlyphElement, element.get());
491 }
492
493 static JSDOMWrapper* createSVGPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
494 {
495     return CREATE_DOM_WRAPPER(exec, globalObject, SVGPathElement, element.get());
496 }
497
498 static JSDOMWrapper* createSVGPatternElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
499 {
500     return CREATE_DOM_WRAPPER(exec, globalObject, SVGPatternElement, element.get());
501 }
502
503 static JSDOMWrapper* createSVGPolygonElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
504 {
505     return CREATE_DOM_WRAPPER(exec, globalObject, SVGPolygonElement, element.get());
506 }
507
508 static JSDOMWrapper* createSVGPolylineElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
509 {
510     return CREATE_DOM_WRAPPER(exec, globalObject, SVGPolylineElement, element.get());
511 }
512
513 static JSDOMWrapper* createSVGRadialGradientElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
514 {
515     return CREATE_DOM_WRAPPER(exec, globalObject, SVGRadialGradientElement, element.get());
516 }
517
518 static JSDOMWrapper* createSVGRectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
519 {
520     return CREATE_DOM_WRAPPER(exec, globalObject, SVGRectElement, element.get());
521 }
522
523 static JSDOMWrapper* createSVGScriptElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
524 {
525     return CREATE_DOM_WRAPPER(exec, globalObject, SVGScriptElement, element.get());
526 }
527
528 static JSDOMWrapper* createSVGSetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
529 {
530     return CREATE_DOM_WRAPPER(exec, globalObject, SVGSetElement, element.get());
531 }
532
533 static JSDOMWrapper* createSVGStopElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
534 {
535     return CREATE_DOM_WRAPPER(exec, globalObject, SVGStopElement, element.get());
536 }
537
538 static JSDOMWrapper* createSVGStyleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
539 {
540     return CREATE_DOM_WRAPPER(exec, globalObject, SVGStyleElement, element.get());
541 }
542
543 static JSDOMWrapper* createSVGSVGElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
544 {
545     return CREATE_DOM_WRAPPER(exec, globalObject, SVGSVGElement, element.get());
546 }
547
548 static JSDOMWrapper* createSVGSwitchElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
549 {
550     return CREATE_DOM_WRAPPER(exec, globalObject, SVGSwitchElement, element.get());
551 }
552
553 static JSDOMWrapper* createSVGSymbolElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
554 {
555     return CREATE_DOM_WRAPPER(exec, globalObject, SVGSymbolElement, element.get());
556 }
557
558 static JSDOMWrapper* createSVGTextElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
559 {
560     return CREATE_DOM_WRAPPER(exec, globalObject, SVGTextElement, element.get());
561 }
562
563 static JSDOMWrapper* createSVGTextPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
564 {
565     return CREATE_DOM_WRAPPER(exec, globalObject, SVGTextPathElement, element.get());
566 }
567
568 static JSDOMWrapper* createSVGTitleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
569 {
570     return CREATE_DOM_WRAPPER(exec, globalObject, SVGTitleElement, element.get());
571 }
572
573 static JSDOMWrapper* createSVGTRefElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
574 {
575     return CREATE_DOM_WRAPPER(exec, globalObject, SVGTRefElement, element.get());
576 }
577
578 static JSDOMWrapper* createSVGTSpanElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
579 {
580     return CREATE_DOM_WRAPPER(exec, globalObject, SVGTSpanElement, element.get());
581 }
582
583 static JSDOMWrapper* createSVGUseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
584 {
585     return CREATE_DOM_WRAPPER(exec, globalObject, SVGUseElement, element.get());
586 }
587
588 static JSDOMWrapper* createSVGViewElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
589 {
590     return CREATE_DOM_WRAPPER(exec, globalObject, SVGViewElement, element.get());
591 }
592
593 static JSDOMWrapper* createSVGVKernElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
594 {
595     return CREATE_DOM_WRAPPER(exec, globalObject, SVGVKernElement, element.get());
596 }
597
598 JSDOMWrapper* createJSSVGWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
599 {
600     typedef HashMap<WTF::AtomicStringImpl*, CreateSVGElementWrapperFunction> FunctionMap;
601     DEFINE_STATIC_LOCAL(FunctionMap, map, ());
602     if (map.isEmpty()) {
603        map.set(aTag.localName().impl(), createSVGAElementWrapper);
604        map.set(altGlyphTag.localName().impl(), createSVGAltGlyphElementWrapper);
605        map.set(altGlyphDefTag.localName().impl(), createSVGAltGlyphDefElementWrapper);
606        map.set(altGlyphItemTag.localName().impl(), createSVGAltGlyphItemElementWrapper);
607        map.set(animateTag.localName().impl(), createSVGAnimateElementWrapper);
608        map.set(animateColorTag.localName().impl(), createSVGAnimateColorElementWrapper);
609        map.set(animateTransformTag.localName().impl(), createSVGAnimateTransformElementWrapper);
610        map.set(circleTag.localName().impl(), createSVGCircleElementWrapper);
611        map.set(clipPathTag.localName().impl(), createSVGClipPathElementWrapper);
612        map.set(cursorTag.localName().impl(), createSVGCursorElementWrapper);
613        map.set(defsTag.localName().impl(), createSVGDefsElementWrapper);
614        map.set(descTag.localName().impl(), createSVGDescElementWrapper);
615        map.set(ellipseTag.localName().impl(), createSVGEllipseElementWrapper);
616        map.set(feBlendTag.localName().impl(), createSVGFEBlendElementWrapper);
617        map.set(feColorMatrixTag.localName().impl(), createSVGFEColorMatrixElementWrapper);
618        map.set(feComponentTransferTag.localName().impl(), createSVGFEComponentTransferElementWrapper);
619        map.set(feCompositeTag.localName().impl(), createSVGFECompositeElementWrapper);
620        map.set(feConvolveMatrixTag.localName().impl(), createSVGFEConvolveMatrixElementWrapper);
621        map.set(feDiffuseLightingTag.localName().impl(), createSVGFEDiffuseLightingElementWrapper);
622        map.set(feDisplacementMapTag.localName().impl(), createSVGFEDisplacementMapElementWrapper);
623        map.set(feDistantLightTag.localName().impl(), createSVGFEDistantLightElementWrapper);
624        map.set(feDropShadowTag.localName().impl(), createSVGFEDropShadowElementWrapper);
625        map.set(feFloodTag.localName().impl(), createSVGFEFloodElementWrapper);
626        map.set(feFuncATag.localName().impl(), createSVGFEFuncAElementWrapper);
627        map.set(feFuncBTag.localName().impl(), createSVGFEFuncBElementWrapper);
628        map.set(feFuncGTag.localName().impl(), createSVGFEFuncGElementWrapper);
629        map.set(feFuncRTag.localName().impl(), createSVGFEFuncRElementWrapper);
630        map.set(feGaussianBlurTag.localName().impl(), createSVGFEGaussianBlurElementWrapper);
631        map.set(feImageTag.localName().impl(), createSVGFEImageElementWrapper);
632        map.set(feMergeTag.localName().impl(), createSVGFEMergeElementWrapper);
633        map.set(feMergeNodeTag.localName().impl(), createSVGFEMergeNodeElementWrapper);
634        map.set(feMorphologyTag.localName().impl(), createSVGFEMorphologyElementWrapper);
635        map.set(feOffsetTag.localName().impl(), createSVGFEOffsetElementWrapper);
636        map.set(fePointLightTag.localName().impl(), createSVGFEPointLightElementWrapper);
637        map.set(feSpecularLightingTag.localName().impl(), createSVGFESpecularLightingElementWrapper);
638        map.set(feSpotLightTag.localName().impl(), createSVGFESpotLightElementWrapper);
639        map.set(feTileTag.localName().impl(), createSVGFETileElementWrapper);
640        map.set(feTurbulenceTag.localName().impl(), createSVGFETurbulenceElementWrapper);
641        map.set(filterTag.localName().impl(), createSVGFilterElementWrapper);
642        map.set(fontTag.localName().impl(), createSVGFontElementWrapper);
643        map.set(font_faceTag.localName().impl(), createSVGFontFaceElementWrapper);
644        map.set(font_face_formatTag.localName().impl(), createSVGFontFaceFormatElementWrapper);
645        map.set(font_face_nameTag.localName().impl(), createSVGFontFaceNameElementWrapper);
646        map.set(font_face_srcTag.localName().impl(), createSVGFontFaceSrcElementWrapper);
647        map.set(font_face_uriTag.localName().impl(), createSVGFontFaceUriElementWrapper);
648        map.set(foreignObjectTag.localName().impl(), createSVGForeignObjectElementWrapper);
649        map.set(gTag.localName().impl(), createSVGGElementWrapper);
650        map.set(glyphTag.localName().impl(), createSVGGlyphElementWrapper);
651        map.set(glyphRefTag.localName().impl(), createSVGGlyphRefElementWrapper);
652        map.set(imageTag.localName().impl(), createSVGImageElementWrapper);
653        map.set(lineTag.localName().impl(), createSVGLineElementWrapper);
654        map.set(linearGradientTag.localName().impl(), createSVGLinearGradientElementWrapper);
655        map.set(markerTag.localName().impl(), createSVGMarkerElementWrapper);
656        map.set(maskTag.localName().impl(), createSVGMaskElementWrapper);
657        map.set(metadataTag.localName().impl(), createSVGMetadataElementWrapper);
658        map.set(missing_glyphTag.localName().impl(), createSVGMissingGlyphElementWrapper);
659        map.set(pathTag.localName().impl(), createSVGPathElementWrapper);
660        map.set(patternTag.localName().impl(), createSVGPatternElementWrapper);
661        map.set(polygonTag.localName().impl(), createSVGPolygonElementWrapper);
662        map.set(polylineTag.localName().impl(), createSVGPolylineElementWrapper);
663        map.set(radialGradientTag.localName().impl(), createSVGRadialGradientElementWrapper);
664        map.set(rectTag.localName().impl(), createSVGRectElementWrapper);
665        map.set(scriptTag.localName().impl(), createSVGScriptElementWrapper);
666        map.set(setTag.localName().impl(), createSVGSetElementWrapper);
667        map.set(stopTag.localName().impl(), createSVGStopElementWrapper);
668        map.set(styleTag.localName().impl(), createSVGStyleElementWrapper);
669        map.set(svgTag.localName().impl(), createSVGSVGElementWrapper);
670        map.set(switchTag.localName().impl(), createSVGSwitchElementWrapper);
671        map.set(symbolTag.localName().impl(), createSVGSymbolElementWrapper);
672        map.set(textTag.localName().impl(), createSVGTextElementWrapper);
673        map.set(textPathTag.localName().impl(), createSVGTextPathElementWrapper);
674        map.set(titleTag.localName().impl(), createSVGTitleElementWrapper);
675        map.set(trefTag.localName().impl(), createSVGTRefElementWrapper);
676        map.set(tspanTag.localName().impl(), createSVGTSpanElementWrapper);
677        map.set(useTag.localName().impl(), createSVGUseElementWrapper);
678        map.set(viewTag.localName().impl(), createSVGViewElementWrapper);
679        map.set(vkernTag.localName().impl(), createSVGVKernElementWrapper);
680     }
681     CreateSVGElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
682     if (createWrapperFunction)
683         return createWrapperFunction(exec, globalObject, element);
684     return CREATE_DOM_WRAPPER(exec, globalObject, SVGElement, element.get());
685 }
686
687 }
688
689 #endif