2 * Copyright (C) 2005 Apple Computer, Inc. All rights reserved.
3 * Copyright (C) 2008 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
4 * Copyright (C) 2008 Martin Soto <soto@freedesktop.org>
5 * Copyright (C) 2010 Igalia S.L.
7 * This file is derived by hand from an automatically generated file.
8 * Keeping it up-to-date could potentially be done by adding
9 * a make_names.pl generator, or by writing a separate
10 * generater which takes JSHTMLElementWrapperFactory.h as input.
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
21 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
22 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
25 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
29 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 #include "WebKitHTMLElementWrapperFactory.h"
37 #include "HTMLAnchorElement.h"
38 #include "HTMLAppletElement.h"
39 #include "HTMLAreaElement.h"
40 #include "HTMLAudioElement.h"
41 #include "HTMLBRElement.h"
42 #include "HTMLBaseElement.h"
43 #include "HTMLBaseFontElement.h"
44 #include "HTMLBlockquoteElement.h"
45 #include "HTMLBodyElement.h"
46 #include "HTMLButtonElement.h"
47 #include "HTMLCanvasElement.h"
48 #include "HTMLDListElement.h"
49 #include "HTMLDirectoryElement.h"
50 #include "HTMLDivElement.h"
51 #include "HTMLEmbedElement.h"
52 #include "HTMLFieldSetElement.h"
53 #include "HTMLFontElement.h"
54 #include "HTMLFormElement.h"
55 #include "HTMLFrameElement.h"
56 #include "HTMLFrameSetElement.h"
57 #include "HTMLHRElement.h"
58 #include "HTMLHeadElement.h"
59 #include "HTMLHeadingElement.h"
60 #include "HTMLHtmlElement.h"
61 #include "HTMLIFrameElement.h"
62 #include "HTMLImageElement.h"
63 #include "HTMLInputElement.h"
64 #include "HTMLIsIndexElement.h"
65 #include "HTMLLIElement.h"
66 #include "HTMLLabelElement.h"
67 #include "HTMLLegendElement.h"
68 #include "HTMLLinkElement.h"
69 #include "HTMLMapElement.h"
70 #include "HTMLMarqueeElement.h"
71 #include "HTMLMenuElement.h"
72 #include "HTMLMetaElement.h"
73 #include "HTMLModElement.h"
74 #include "HTMLNames.h"
75 #include "HTMLOListElement.h"
76 #include "HTMLObjectElement.h"
77 #include "HTMLOptGroupElement.h"
78 #include "HTMLOptionElement.h"
79 #include "HTMLParagraphElement.h"
80 #include "HTMLParamElement.h"
81 #include "HTMLPreElement.h"
82 #include "HTMLQuoteElement.h"
83 #include "HTMLScriptElement.h"
84 #include "HTMLSelectElement.h"
85 #include "HTMLStyleElement.h"
86 #include "HTMLTableCaptionElement.h"
87 #include "HTMLTableCellElement.h"
88 #include "HTMLTableColElement.h"
89 #include "HTMLTableElement.h"
90 #include "HTMLTableRowElement.h"
91 #include "HTMLTableSectionElement.h"
92 #include "HTMLTextAreaElement.h"
93 #include "HTMLTitleElement.h"
94 #include "HTMLUListElement.h"
96 #include "webkit/WebKitDOMHTMLAnchorElementPrivate.h"
97 #include "webkit/WebKitDOMHTMLAppletElementPrivate.h"
98 #include "webkit/WebKitDOMHTMLAreaElementPrivate.h"
99 #include "webkit/WebKitDOMHTMLBRElementPrivate.h"
100 #include "webkit/WebKitDOMHTMLBaseElementPrivate.h"
101 #include "webkit/WebKitDOMHTMLBaseFontElementPrivate.h"
102 #include "webkit/WebKitDOMHTMLBlockquoteElementPrivate.h"
103 #include "webkit/WebKitDOMHTMLBodyElementPrivate.h"
104 #include "webkit/WebKitDOMHTMLButtonElementPrivate.h"
105 #include "webkit/WebKitDOMHTMLCanvasElementPrivate.h"
106 #include "webkit/WebKitDOMHTMLDListElementPrivate.h"
107 #include "webkit/WebKitDOMHTMLDirectoryElementPrivate.h"
108 #include "webkit/WebKitDOMHTMLDivElementPrivate.h"
109 #include "webkit/WebKitDOMHTMLElementPrivate.h"
110 #include "webkit/WebKitDOMHTMLEmbedElementPrivate.h"
111 #include "webkit/WebKitDOMHTMLFieldSetElementPrivate.h"
112 #include "webkit/WebKitDOMHTMLFontElementPrivate.h"
113 #include "webkit/WebKitDOMHTMLFormElementPrivate.h"
114 #include "webkit/WebKitDOMHTMLFrameElementPrivate.h"
115 #include "webkit/WebKitDOMHTMLFrameSetElementPrivate.h"
116 #include "webkit/WebKitDOMHTMLHRElementPrivate.h"
117 #include "webkit/WebKitDOMHTMLHeadElementPrivate.h"
118 #include "webkit/WebKitDOMHTMLHeadingElementPrivate.h"
119 #include "webkit/WebKitDOMHTMLHtmlElementPrivate.h"
120 #include "webkit/WebKitDOMHTMLIFrameElementPrivate.h"
121 #include "webkit/WebKitDOMHTMLImageElementPrivate.h"
122 #include "webkit/WebKitDOMHTMLInputElementPrivate.h"
123 #include "webkit/WebKitDOMHTMLIsIndexElementPrivate.h"
124 #include "webkit/WebKitDOMHTMLLIElementPrivate.h"
125 #include "webkit/WebKitDOMHTMLLabelElementPrivate.h"
126 #include "webkit/WebKitDOMHTMLLegendElementPrivate.h"
127 #include "webkit/WebKitDOMHTMLLinkElementPrivate.h"
128 #include "webkit/WebKitDOMHTMLMapElementPrivate.h"
129 #include "webkit/WebKitDOMHTMLMarqueeElementPrivate.h"
130 #include "webkit/WebKitDOMHTMLMenuElementPrivate.h"
131 #include "webkit/WebKitDOMHTMLMetaElementPrivate.h"
132 #include "webkit/WebKitDOMHTMLModElementPrivate.h"
133 #include "webkit/WebKitDOMHTMLOListElementPrivate.h"
134 #include "webkit/WebKitDOMHTMLObjectElementPrivate.h"
135 #include "webkit/WebKitDOMHTMLOptGroupElementPrivate.h"
136 #include "webkit/WebKitDOMHTMLOptionElementPrivate.h"
137 #include "webkit/WebKitDOMHTMLParagraphElementPrivate.h"
138 #include "webkit/WebKitDOMHTMLParamElementPrivate.h"
139 #include "webkit/WebKitDOMHTMLPreElementPrivate.h"
140 #include "webkit/WebKitDOMHTMLQuoteElementPrivate.h"
141 #include "webkit/WebKitDOMHTMLScriptElementPrivate.h"
142 #include "webkit/WebKitDOMHTMLSelectElementPrivate.h"
143 #include "webkit/WebKitDOMHTMLStyleElementPrivate.h"
144 #include "webkit/WebKitDOMHTMLTableCaptionElementPrivate.h"
145 #include "webkit/WebKitDOMHTMLTableCellElementPrivate.h"
146 #include "webkit/WebKitDOMHTMLTableColElementPrivate.h"
147 #include "webkit/WebKitDOMHTMLTableElementPrivate.h"
148 #include "webkit/WebKitDOMHTMLTableRowElementPrivate.h"
149 #include "webkit/WebKitDOMHTMLTableSectionElementPrivate.h"
150 #include "webkit/WebKitDOMHTMLTextAreaElementPrivate.h"
151 #include "webkit/WebKitDOMHTMLTitleElementPrivate.h"
152 #include "webkit/WebKitDOMHTMLUListElementPrivate.h"
153 #include "webkit/webkitdom.h"
156 #include "webkit/WebKitDOMHTMLAudioElementPrivate.h"
159 #include <wtf/text/CString.h>
163 using namespace WebCore;
164 using namespace WebCore::HTMLNames;
166 typedef gpointer (*CreateHTMLElementWrapperFunction)(PassRefPtr<HTMLElement>);
168 static gpointer createAnchorWrapper(PassRefPtr<HTMLElement> element)
170 return wrapHTMLAnchorElement(static_cast<HTMLAnchorElement*>(element.get()));
173 static gpointer createAppletWrapper(PassRefPtr<HTMLElement> element)
175 return wrapHTMLAppletElement(static_cast<HTMLAppletElement*>(element.get()));
178 static gpointer createAreaWrapper(PassRefPtr<HTMLElement> element)
180 return wrapHTMLAreaElement(static_cast<HTMLAreaElement*>(element.get()));
184 static gpointer createAudioWrapper(PassRefPtr<HTMLElement> element)
186 return wrapHTMLAudioElement(static_cast<HTMLAudioElement*>(element.get()));
190 static gpointer createBaseWrapper(PassRefPtr<HTMLElement> element)
192 return wrapHTMLBaseElement(static_cast<HTMLBaseElement*>(element.get()));
195 static gpointer createBaseFontWrapper(PassRefPtr<HTMLElement> element)
197 return wrapHTMLBaseFontElement(static_cast<HTMLBaseFontElement*>(element.get()));
200 static gpointer createBlockquoteWrapper(PassRefPtr<HTMLElement> element)
202 return wrapHTMLBlockquoteElement(static_cast<HTMLBlockquoteElement*>(element.get()));
205 static gpointer createBodyWrapper(PassRefPtr<HTMLElement> element)
207 return wrapHTMLBodyElement(static_cast<HTMLBodyElement*>(element.get()));
210 static gpointer createBRWrapper(PassRefPtr<HTMLElement> element)
212 return wrapHTMLBRElement(static_cast<HTMLBRElement*>(element.get()));
215 static gpointer createButtonWrapper(PassRefPtr<HTMLElement> element)
217 return wrapHTMLButtonElement(static_cast<HTMLButtonElement*>(element.get()));
220 static gpointer createCanvasWrapper(PassRefPtr<HTMLElement> element)
222 return wrapHTMLCanvasElement(static_cast<HTMLCanvasElement*>(element.get()));
225 static gpointer createTableCaptionWrapper(PassRefPtr<HTMLElement> element)
227 return wrapHTMLTableCaptionElement(static_cast<HTMLTableCaptionElement*>(element.get()));
230 static gpointer createTableColWrapper(PassRefPtr<HTMLElement> element)
232 return wrapHTMLTableColElement(static_cast<HTMLTableColElement*>(element.get()));
235 static gpointer createModWrapper(PassRefPtr<HTMLElement> element)
237 return wrapHTMLModElement(static_cast<HTMLModElement*>(element.get()));
240 static gpointer createDirectoryWrapper(PassRefPtr<HTMLElement> element)
242 return wrapHTMLDirectoryElement(static_cast<HTMLDirectoryElement*>(element.get()));
245 static gpointer createDivWrapper(PassRefPtr<HTMLElement> element)
247 return wrapHTMLDivElement(static_cast<HTMLDivElement*>(element.get()));
250 static gpointer createDListWrapper(PassRefPtr<HTMLElement> element)
252 return wrapHTMLDListElement(static_cast<HTMLDListElement*>(element.get()));
255 static gpointer createEmbedWrapper(PassRefPtr<HTMLElement> element)
257 return wrapHTMLEmbedElement(static_cast<HTMLEmbedElement*>(element.get()));
260 static gpointer createFieldSetWrapper(PassRefPtr<HTMLElement> element)
262 return wrapHTMLFieldSetElement(static_cast<HTMLFieldSetElement*>(element.get()));
265 static gpointer createFontWrapper(PassRefPtr<HTMLElement> element)
267 return wrapHTMLFontElement(static_cast<HTMLFontElement*>(element.get()));
270 static gpointer createFormWrapper(PassRefPtr<HTMLElement> element)
272 return wrapHTMLFormElement(static_cast<HTMLFormElement*>(element.get()));
275 static gpointer createFrameWrapper(PassRefPtr<HTMLElement> element)
277 return wrapHTMLFrameElement(static_cast<HTMLFrameElement*>(element.get()));
280 static gpointer createFrameSetWrapper(PassRefPtr<HTMLElement> element)
282 return wrapHTMLFrameSetElement(static_cast<HTMLFrameSetElement*>(element.get()));
285 static gpointer createHeadingWrapper(PassRefPtr<HTMLElement> element)
287 return wrapHTMLHeadingElement(static_cast<HTMLHeadingElement*>(element.get()));
290 static gpointer createHeadWrapper(PassRefPtr<HTMLElement> element)
292 return wrapHTMLHeadElement(static_cast<HTMLHeadElement*>(element.get()));
295 static gpointer createHRWrapper(PassRefPtr<HTMLElement> element)
297 return wrapHTMLHRElement(static_cast<HTMLHRElement*>(element.get()));
300 static gpointer createHtmlWrapper(PassRefPtr<HTMLElement> element)
302 return wrapHTMLHtmlElement(static_cast<HTMLHtmlElement*>(element.get()));
305 static gpointer createIFrameWrapper(PassRefPtr<HTMLElement> element)
307 return wrapHTMLIFrameElement(static_cast<HTMLIFrameElement*>(element.get()));
310 static gpointer createImageWrapper(PassRefPtr<HTMLElement> element)
312 return wrapHTMLImageElement(static_cast<HTMLImageElement*>(element.get()));
315 static gpointer createInputWrapper(PassRefPtr<HTMLElement> element)
317 return wrapHTMLInputElement(static_cast<HTMLInputElement*>(element.get()));
320 static gpointer createIsIndexWrapper(PassRefPtr<HTMLElement> element)
322 return wrapHTMLIsIndexElement(static_cast<HTMLIsIndexElement*>(element.get()));
325 static gpointer createLabelWrapper(PassRefPtr<HTMLElement> element)
327 return wrapHTMLLabelElement(static_cast<HTMLLabelElement*>(element.get()));
330 static gpointer createLegendWrapper(PassRefPtr<HTMLElement> element)
332 return wrapHTMLLegendElement(static_cast<HTMLLegendElement*>(element.get()));
335 static gpointer createLIWrapper(PassRefPtr<HTMLElement> element)
337 return wrapHTMLLIElement(static_cast<HTMLLIElement*>(element.get()));
340 static gpointer createLinkWrapper(PassRefPtr<HTMLElement> element)
342 return wrapHTMLLinkElement(static_cast<HTMLLinkElement*>(element.get()));
345 static gpointer createMapWrapper(PassRefPtr<HTMLElement> element)
347 return wrapHTMLMapElement(static_cast<HTMLMapElement*>(element.get()));
350 static gpointer createMarqueeWrapper(PassRefPtr<HTMLElement> element)
352 return wrapHTMLMarqueeElement(static_cast<HTMLMarqueeElement*>(element.get()));
355 static gpointer createMenuWrapper(PassRefPtr<HTMLElement> element)
357 return wrapHTMLMenuElement(static_cast<HTMLMenuElement*>(element.get()));
360 static gpointer createMetaWrapper(PassRefPtr<HTMLElement> element)
362 return wrapHTMLMetaElement(static_cast<HTMLMetaElement*>(element.get()));
365 static gpointer createObjectWrapper(PassRefPtr<HTMLElement> element)
367 return wrapHTMLObjectElement(static_cast<HTMLObjectElement*>(element.get()));
370 static gpointer createOListWrapper(PassRefPtr<HTMLElement> element)
372 return wrapHTMLOListElement(static_cast<HTMLOListElement*>(element.get()));
375 static gpointer createOptGroupWrapper(PassRefPtr<HTMLElement> element)
377 return wrapHTMLOptGroupElement(static_cast<HTMLOptGroupElement*>(element.get()));
380 static gpointer createOptionWrapper(PassRefPtr<HTMLElement> element)
382 return wrapHTMLOptionElement(static_cast<HTMLOptionElement*>(element.get()));
385 static gpointer createParagraphWrapper(PassRefPtr<HTMLElement> element)
387 return wrapHTMLParagraphElement(static_cast<HTMLParagraphElement*>(element.get()));
390 static gpointer createParamWrapper(PassRefPtr<HTMLElement> element)
392 return wrapHTMLParamElement(static_cast<HTMLParamElement*>(element.get()));
395 static gpointer createPreWrapper(PassRefPtr<HTMLElement> element)
397 return wrapHTMLPreElement(static_cast<HTMLPreElement*>(element.get()));
400 static gpointer createQuoteWrapper(PassRefPtr<HTMLElement> element)
402 return wrapHTMLQuoteElement(static_cast<HTMLQuoteElement*>(element.get()));
405 static gpointer createScriptWrapper(PassRefPtr<HTMLElement> element)
407 return wrapHTMLScriptElement(static_cast<HTMLScriptElement*>(element.get()));
410 static gpointer createSelectWrapper(PassRefPtr<HTMLElement> element)
412 return wrapHTMLSelectElement(static_cast<HTMLSelectElement*>(element.get()));
415 static gpointer createStyleWrapper(PassRefPtr<HTMLElement> element)
417 return wrapHTMLStyleElement(static_cast<HTMLStyleElement*>(element.get()));
420 static gpointer createTableWrapper(PassRefPtr<HTMLElement> element)
422 return wrapHTMLTableElement(static_cast<HTMLTableElement*>(element.get()));
425 static gpointer createTableSectionWrapper(PassRefPtr<HTMLElement> element)
427 return wrapHTMLTableSectionElement(static_cast<HTMLTableSectionElement*>(element.get()));
430 static gpointer createTableCellWrapper(PassRefPtr<HTMLElement> element)
432 return wrapHTMLTableCellElement(static_cast<HTMLTableCellElement*>(element.get()));
435 static gpointer createTextAreaWrapper(PassRefPtr<HTMLElement> element)
437 return wrapHTMLTextAreaElement(static_cast<HTMLTextAreaElement*>(element.get()));
440 static gpointer createTitleWrapper(PassRefPtr<HTMLElement> element)
442 return wrapHTMLTitleElement(static_cast<HTMLTitleElement*>(element.get()));
445 static gpointer createTableRowWrapper(PassRefPtr<HTMLElement> element)
447 return wrapHTMLTableRowElement(static_cast<HTMLTableRowElement*>(element.get()));
450 static gpointer createUListWrapper(PassRefPtr<HTMLElement> element)
452 return wrapHTMLUListElement(static_cast<HTMLUListElement*>(element.get()));
455 gpointer createHTMLElementWrapper(PassRefPtr<WebCore::HTMLElement> element)
457 static HashMap<WTF::AtomicStringImpl*, CreateHTMLElementWrapperFunction> map;
459 map.set(aTag.localName().impl(), createAnchorWrapper);
460 map.set(appletTag.localName().impl(), createAppletWrapper);
462 map.set(audioTag.localName().impl(), createAudioWrapper);
464 map.set(areaTag.localName().impl(), createAreaWrapper);
465 map.set(baseTag.localName().impl(), createBaseWrapper);
466 map.set(basefontTag.localName().impl(), createBaseFontWrapper);
467 map.set(blockquoteTag.localName().impl(), createBlockquoteWrapper);
468 map.set(bodyTag.localName().impl(), createBodyWrapper);
469 map.set(brTag.localName().impl(), createBRWrapper);
470 map.set(buttonTag.localName().impl(), createButtonWrapper);
471 map.set(canvasTag.localName().impl(), createCanvasWrapper);
472 map.set(captionTag.localName().impl(), createTableCaptionWrapper);
473 map.set(colTag.localName().impl(), createTableColWrapper);
474 map.set(delTag.localName().impl(), createModWrapper);
475 map.set(dirTag.localName().impl(), createDirectoryWrapper);
476 map.set(divTag.localName().impl(), createDivWrapper);
477 map.set(dlTag.localName().impl(), createDListWrapper);
478 map.set(embedTag.localName().impl(), createEmbedWrapper);
479 map.set(fieldsetTag.localName().impl(), createFieldSetWrapper);
480 map.set(fontTag.localName().impl(), createFontWrapper);
481 map.set(formTag.localName().impl(), createFormWrapper);
482 map.set(frameTag.localName().impl(), createFrameWrapper);
483 map.set(framesetTag.localName().impl(), createFrameSetWrapper);
484 map.set(h1Tag.localName().impl(), createHeadingWrapper);
485 map.set(headTag.localName().impl(), createHeadWrapper);
486 map.set(hrTag.localName().impl(), createHRWrapper);
487 map.set(htmlTag.localName().impl(), createHtmlWrapper);
488 map.set(iframeTag.localName().impl(), createIFrameWrapper);
489 map.set(imgTag.localName().impl(), createImageWrapper);
490 map.set(inputTag.localName().impl(), createInputWrapper);
491 map.set(isindexTag.localName().impl(), createIsIndexWrapper);
492 map.set(labelTag.localName().impl(), createLabelWrapper);
493 map.set(legendTag.localName().impl(), createLegendWrapper);
494 map.set(liTag.localName().impl(), createLIWrapper);
495 map.set(linkTag.localName().impl(), createLinkWrapper);
496 map.set(mapTag.localName().impl(), createMapWrapper);
497 map.set(marqueeTag.localName().impl(), createMarqueeWrapper);
498 map.set(menuTag.localName().impl(), createMenuWrapper);
499 map.set(metaTag.localName().impl(), createMetaWrapper);
500 map.set(objectTag.localName().impl(), createObjectWrapper);
501 map.set(olTag.localName().impl(), createOListWrapper);
502 map.set(optgroupTag.localName().impl(), createOptGroupWrapper);
503 map.set(optionTag.localName().impl(), createOptionWrapper);
504 map.set(pTag.localName().impl(), createParagraphWrapper);
505 map.set(paramTag.localName().impl(), createParamWrapper);
506 map.set(preTag.localName().impl(), createPreWrapper);
507 map.set(qTag.localName().impl(), createQuoteWrapper);
508 map.set(scriptTag.localName().impl(), createScriptWrapper);
509 map.set(selectTag.localName().impl(), createSelectWrapper);
510 map.set(styleTag.localName().impl(), createStyleWrapper);
511 map.set(tableTag.localName().impl(), createTableWrapper);
512 map.set(tbodyTag.localName().impl(), createTableSectionWrapper);
513 map.set(tdTag.localName().impl(), createTableCellWrapper);
514 map.set(textareaTag.localName().impl(), createTextAreaWrapper);
515 map.set(titleTag.localName().impl(), createTitleWrapper);
516 map.set(trTag.localName().impl(), createTableRowWrapper);
517 map.set(ulTag.localName().impl(), createUListWrapper);
518 map.set(colgroupTag.localName().impl(), createTableColWrapper);
519 map.set(h2Tag.localName().impl(), createHeadingWrapper);
520 map.set(h3Tag.localName().impl(), createHeadingWrapper);
521 map.set(h4Tag.localName().impl(), createHeadingWrapper);
522 map.set(h5Tag.localName().impl(), createHeadingWrapper);
523 map.set(h6Tag.localName().impl(), createHeadingWrapper);
524 map.set(imageTag.localName().impl(), createImageWrapper);
525 map.set(insTag.localName().impl(), createModWrapper);
526 map.set(keygenTag.localName().impl(), createSelectWrapper);
527 map.set(listingTag.localName().impl(), createPreWrapper);
528 map.set(tfootTag.localName().impl(), createTableSectionWrapper);
529 map.set(thTag.localName().impl(), createTableCellWrapper);
530 map.set(theadTag.localName().impl(), createTableSectionWrapper);
531 map.set(xmpTag.localName().impl(), createPreWrapper);
534 CreateHTMLElementWrapperFunction createWrapperFunction =
535 map.get(element->localName().impl());
536 if (createWrapperFunction)
537 return createWrapperFunction(element);
538 return wrapHTMLElement(element.get());