121939df44de1705786c545cd1bf519d47250322dBen Murdoch/*
221939df44de1705786c545cd1bf519d47250322dBen Murdoch * Copyright (C) 2005 Apple Computer, Inc.  All rights reserved.
321939df44de1705786c545cd1bf519d47250322dBen Murdoch * Copyright (C) 2008 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
421939df44de1705786c545cd1bf519d47250322dBen Murdoch * Copyright (C) 2008 Martin Soto <soto@freedesktop.org>
521939df44de1705786c545cd1bf519d47250322dBen Murdoch * Copyright (C) 2010 Igalia S.L.
621939df44de1705786c545cd1bf519d47250322dBen Murdoch *
721939df44de1705786c545cd1bf519d47250322dBen Murdoch * This file is derived by hand from an automatically generated file.
821939df44de1705786c545cd1bf519d47250322dBen Murdoch * Keeping it up-to-date could potentially be done by adding
921939df44de1705786c545cd1bf519d47250322dBen Murdoch * a make_names.pl generator, or by writing a separate
1021939df44de1705786c545cd1bf519d47250322dBen Murdoch * generater which takes JSHTMLElementWrapperFactory.h as input.
1121939df44de1705786c545cd1bf519d47250322dBen Murdoch *
1221939df44de1705786c545cd1bf519d47250322dBen Murdoch * Redistribution and use in source and binary forms, with or without
1321939df44de1705786c545cd1bf519d47250322dBen Murdoch * modification, are permitted provided that the following conditions
1421939df44de1705786c545cd1bf519d47250322dBen Murdoch * are met:
1521939df44de1705786c545cd1bf519d47250322dBen Murdoch * 1. Redistributions of source code must retain the above copyright
1621939df44de1705786c545cd1bf519d47250322dBen Murdoch *    notice, this list of conditions and the following disclaimer.
1721939df44de1705786c545cd1bf519d47250322dBen Murdoch * 2. Redistributions in binary form must reproduce the above copyright
1821939df44de1705786c545cd1bf519d47250322dBen Murdoch *    notice, this list of conditions and the following disclaimer in the
1921939df44de1705786c545cd1bf519d47250322dBen Murdoch *    documentation and/or other materials provided with the distribution.
2021939df44de1705786c545cd1bf519d47250322dBen Murdoch *
2121939df44de1705786c545cd1bf519d47250322dBen Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
2221939df44de1705786c545cd1bf519d47250322dBen Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2321939df44de1705786c545cd1bf519d47250322dBen Murdoch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
2421939df44de1705786c545cd1bf519d47250322dBen Murdoch * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
2521939df44de1705786c545cd1bf519d47250322dBen Murdoch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
2621939df44de1705786c545cd1bf519d47250322dBen Murdoch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
2721939df44de1705786c545cd1bf519d47250322dBen Murdoch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
2821939df44de1705786c545cd1bf519d47250322dBen Murdoch * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
2921939df44de1705786c545cd1bf519d47250322dBen Murdoch * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3021939df44de1705786c545cd1bf519d47250322dBen Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3121939df44de1705786c545cd1bf519d47250322dBen Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3221939df44de1705786c545cd1bf519d47250322dBen Murdoch */
3321939df44de1705786c545cd1bf519d47250322dBen Murdoch
3421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "config.h"
3521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "WebKitHTMLElementWrapperFactory.h"
3621939df44de1705786c545cd1bf519d47250322dBen Murdoch
3721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLAnchorElement.h"
3821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLAppletElement.h"
3921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLAreaElement.h"
40db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "HTMLAudioElement.h"
4121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLBRElement.h"
4221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLBaseElement.h"
4321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLBaseFontElement.h"
4421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLBlockquoteElement.h"
4521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLBodyElement.h"
4621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLButtonElement.h"
4721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLCanvasElement.h"
4821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLDListElement.h"
4921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLDirectoryElement.h"
5021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLDivElement.h"
5121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLEmbedElement.h"
5221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLFieldSetElement.h"
5321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLFontElement.h"
5421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLFormElement.h"
5521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLFrameElement.h"
5621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLFrameSetElement.h"
5721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLHRElement.h"
5821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLHeadElement.h"
5921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLHeadingElement.h"
6021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLHtmlElement.h"
6121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLIFrameElement.h"
6221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLImageElement.h"
6321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLInputElement.h"
6421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLIsIndexElement.h"
65ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch#include "HTMLKeygenElement.h"
6621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLLIElement.h"
6721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLLabelElement.h"
6821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLLegendElement.h"
6921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLLinkElement.h"
7021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLMapElement.h"
7121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLMarqueeElement.h"
7221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLMenuElement.h"
7321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLMetaElement.h"
7421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLModElement.h"
7521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLNames.h"
7621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLOListElement.h"
7721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLObjectElement.h"
7821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLOptGroupElement.h"
7921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLOptionElement.h"
8021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLParagraphElement.h"
8121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLParamElement.h"
8221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLPreElement.h"
8321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLQuoteElement.h"
8421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLScriptElement.h"
8521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLSelectElement.h"
8621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLStyleElement.h"
8721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTableCaptionElement.h"
8821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTableCellElement.h"
8921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTableColElement.h"
9021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTableElement.h"
9121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTableRowElement.h"
9221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTableSectionElement.h"
9321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTextAreaElement.h"
9421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLTitleElement.h"
9521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "HTMLUListElement.h"
962fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#include "HTMLVideoElement.h"
9721939df44de1705786c545cd1bf519d47250322dBen Murdoch
9821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLAnchorElementPrivate.h"
9921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLAppletElementPrivate.h"
10021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLAreaElementPrivate.h"
10121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLBRElementPrivate.h"
10221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLBaseElementPrivate.h"
10321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLBaseFontElementPrivate.h"
10421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLBlockquoteElementPrivate.h"
10521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLBodyElementPrivate.h"
10621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLButtonElementPrivate.h"
10721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLCanvasElementPrivate.h"
10821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLDListElementPrivate.h"
10921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLDirectoryElementPrivate.h"
11021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLDivElementPrivate.h"
11121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLElementPrivate.h"
11221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLEmbedElementPrivate.h"
11321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLFieldSetElementPrivate.h"
11421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLFontElementPrivate.h"
11521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLFormElementPrivate.h"
11621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLFrameElementPrivate.h"
11721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLFrameSetElementPrivate.h"
11821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLHRElementPrivate.h"
11921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLHeadElementPrivate.h"
12021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLHeadingElementPrivate.h"
12121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLHtmlElementPrivate.h"
12221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLIFrameElementPrivate.h"
12321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLImageElementPrivate.h"
12421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLInputElementPrivate.h"
12521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLIsIndexElementPrivate.h"
126ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch#include "webkit/WebKitDOMHTMLKeygenElementPrivate.h"
12721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLLIElementPrivate.h"
12821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLLabelElementPrivate.h"
12921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLLegendElementPrivate.h"
13021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLLinkElementPrivate.h"
13121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLMapElementPrivate.h"
13221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLMarqueeElementPrivate.h"
13321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLMenuElementPrivate.h"
13421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLMetaElementPrivate.h"
13521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLModElementPrivate.h"
13621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLOListElementPrivate.h"
13721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLObjectElementPrivate.h"
13821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLOptGroupElementPrivate.h"
13921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLOptionElementPrivate.h"
14021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLParagraphElementPrivate.h"
14121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLParamElementPrivate.h"
14221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLPreElementPrivate.h"
14321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLQuoteElementPrivate.h"
14421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLScriptElementPrivate.h"
14521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLSelectElementPrivate.h"
14621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLStyleElementPrivate.h"
14721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTableCaptionElementPrivate.h"
14821939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTableCellElementPrivate.h"
14921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTableColElementPrivate.h"
15021939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTableElementPrivate.h"
15121939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTableRowElementPrivate.h"
15221939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTableSectionElementPrivate.h"
15321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTextAreaElementPrivate.h"
15421939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLTitleElementPrivate.h"
15521939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/WebKitDOMHTMLUListElementPrivate.h"
15621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "webkit/webkitdom.h"
15721939df44de1705786c545cd1bf519d47250322dBen Murdoch
158e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#if ENABLE(VIDEO)
159e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#include "webkit/WebKitDOMHTMLAudioElementPrivate.h"
1602fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#include "webkit/WebKitDOMHTMLVideoElementPrivate.h"
161e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#endif
162e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
16321939df44de1705786c545cd1bf519d47250322dBen Murdoch#include <wtf/text/CString.h>
16421939df44de1705786c545cd1bf519d47250322dBen Murdoch
16521939df44de1705786c545cd1bf519d47250322dBen Murdochnamespace WebKit {
16621939df44de1705786c545cd1bf519d47250322dBen Murdoch
16721939df44de1705786c545cd1bf519d47250322dBen Murdochusing namespace WebCore;
16821939df44de1705786c545cd1bf519d47250322dBen Murdochusing namespace WebCore::HTMLNames;
16921939df44de1705786c545cd1bf519d47250322dBen Murdoch
17021939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef gpointer (*CreateHTMLElementWrapperFunction)(PassRefPtr<HTMLElement>);
17121939df44de1705786c545cd1bf519d47250322dBen Murdoch
17221939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createAnchorWrapper(PassRefPtr<HTMLElement> element)
17321939df44de1705786c545cd1bf519d47250322dBen Murdoch{
17421939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLAnchorElement(static_cast<HTMLAnchorElement*>(element.get()));
17521939df44de1705786c545cd1bf519d47250322dBen Murdoch}
17621939df44de1705786c545cd1bf519d47250322dBen Murdoch
17721939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createAppletWrapper(PassRefPtr<HTMLElement> element)
17821939df44de1705786c545cd1bf519d47250322dBen Murdoch{
17921939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLAppletElement(static_cast<HTMLAppletElement*>(element.get()));
18021939df44de1705786c545cd1bf519d47250322dBen Murdoch}
18121939df44de1705786c545cd1bf519d47250322dBen Murdoch
18221939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createAreaWrapper(PassRefPtr<HTMLElement> element)
18321939df44de1705786c545cd1bf519d47250322dBen Murdoch{
18421939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLAreaElement(static_cast<HTMLAreaElement*>(element.get()));
18521939df44de1705786c545cd1bf519d47250322dBen Murdoch}
18621939df44de1705786c545cd1bf519d47250322dBen Murdoch
187e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#if ENABLE(VIDEO)
188db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Blockstatic gpointer createAudioWrapper(PassRefPtr<HTMLElement> element)
189db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{
190db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block    return wrapHTMLAudioElement(static_cast<HTMLAudioElement*>(element.get()));
191db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block}
1922fc2651226baac27029e38c9d6ef883fa32084dbSteve Block
1932fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockstatic gpointer createVideoWrapper(PassRefPtr<HTMLElement> element)
1942fc2651226baac27029e38c9d6ef883fa32084dbSteve Block{
1952fc2651226baac27029e38c9d6ef883fa32084dbSteve Block    return wrapHTMLVideoElement(static_cast<HTMLVideoElement*>(element.get()));
1962fc2651226baac27029e38c9d6ef883fa32084dbSteve Block}
197e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#endif
198db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block
19921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createBaseWrapper(PassRefPtr<HTMLElement> element)
20021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
20121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLBaseElement(static_cast<HTMLBaseElement*>(element.get()));
20221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
20321939df44de1705786c545cd1bf519d47250322dBen Murdoch
20421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createBaseFontWrapper(PassRefPtr<HTMLElement> element)
20521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
20621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLBaseFontElement(static_cast<HTMLBaseFontElement*>(element.get()));
20721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
20821939df44de1705786c545cd1bf519d47250322dBen Murdoch
20921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createBlockquoteWrapper(PassRefPtr<HTMLElement> element)
21021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
21121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLBlockquoteElement(static_cast<HTMLBlockquoteElement*>(element.get()));
21221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
21321939df44de1705786c545cd1bf519d47250322dBen Murdoch
21421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createBodyWrapper(PassRefPtr<HTMLElement> element)
21521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
21621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLBodyElement(static_cast<HTMLBodyElement*>(element.get()));
21721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
21821939df44de1705786c545cd1bf519d47250322dBen Murdoch
21921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createBRWrapper(PassRefPtr<HTMLElement> element)
22021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
22121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLBRElement(static_cast<HTMLBRElement*>(element.get()));
22221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
22321939df44de1705786c545cd1bf519d47250322dBen Murdoch
22421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createButtonWrapper(PassRefPtr<HTMLElement> element)
22521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
22621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLButtonElement(static_cast<HTMLButtonElement*>(element.get()));
22721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
22821939df44de1705786c545cd1bf519d47250322dBen Murdoch
22921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createCanvasWrapper(PassRefPtr<HTMLElement> element)
23021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
23121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLCanvasElement(static_cast<HTMLCanvasElement*>(element.get()));
23221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
23321939df44de1705786c545cd1bf519d47250322dBen Murdoch
23421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTableCaptionWrapper(PassRefPtr<HTMLElement> element)
23521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
23621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTableCaptionElement(static_cast<HTMLTableCaptionElement*>(element.get()));
23721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
23821939df44de1705786c545cd1bf519d47250322dBen Murdoch
23921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTableColWrapper(PassRefPtr<HTMLElement> element)
24021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
24121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTableColElement(static_cast<HTMLTableColElement*>(element.get()));
24221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
24321939df44de1705786c545cd1bf519d47250322dBen Murdoch
24421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createModWrapper(PassRefPtr<HTMLElement> element)
24521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
24621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLModElement(static_cast<HTMLModElement*>(element.get()));
24721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
24821939df44de1705786c545cd1bf519d47250322dBen Murdoch
24921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createDirectoryWrapper(PassRefPtr<HTMLElement> element)
25021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
25121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLDirectoryElement(static_cast<HTMLDirectoryElement*>(element.get()));
25221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
25321939df44de1705786c545cd1bf519d47250322dBen Murdoch
25421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createDivWrapper(PassRefPtr<HTMLElement> element)
25521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
25621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLDivElement(static_cast<HTMLDivElement*>(element.get()));
25721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
25821939df44de1705786c545cd1bf519d47250322dBen Murdoch
25921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createDListWrapper(PassRefPtr<HTMLElement> element)
26021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
26121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLDListElement(static_cast<HTMLDListElement*>(element.get()));
26221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
26321939df44de1705786c545cd1bf519d47250322dBen Murdoch
26421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createEmbedWrapper(PassRefPtr<HTMLElement> element)
26521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
26621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLEmbedElement(static_cast<HTMLEmbedElement*>(element.get()));
26721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
26821939df44de1705786c545cd1bf519d47250322dBen Murdoch
26921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createFieldSetWrapper(PassRefPtr<HTMLElement> element)
27021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
27121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLFieldSetElement(static_cast<HTMLFieldSetElement*>(element.get()));
27221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
27321939df44de1705786c545cd1bf519d47250322dBen Murdoch
27421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createFontWrapper(PassRefPtr<HTMLElement> element)
27521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
27621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLFontElement(static_cast<HTMLFontElement*>(element.get()));
27721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
27821939df44de1705786c545cd1bf519d47250322dBen Murdoch
27921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createFormWrapper(PassRefPtr<HTMLElement> element)
28021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
28121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLFormElement(static_cast<HTMLFormElement*>(element.get()));
28221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
28321939df44de1705786c545cd1bf519d47250322dBen Murdoch
28421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createFrameWrapper(PassRefPtr<HTMLElement> element)
28521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
28621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLFrameElement(static_cast<HTMLFrameElement*>(element.get()));
28721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
28821939df44de1705786c545cd1bf519d47250322dBen Murdoch
28921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createFrameSetWrapper(PassRefPtr<HTMLElement> element)
29021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
29121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLFrameSetElement(static_cast<HTMLFrameSetElement*>(element.get()));
29221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
29321939df44de1705786c545cd1bf519d47250322dBen Murdoch
29421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createHeadingWrapper(PassRefPtr<HTMLElement> element)
29521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
29621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLHeadingElement(static_cast<HTMLHeadingElement*>(element.get()));
29721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
29821939df44de1705786c545cd1bf519d47250322dBen Murdoch
29921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createHeadWrapper(PassRefPtr<HTMLElement> element)
30021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
30121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLHeadElement(static_cast<HTMLHeadElement*>(element.get()));
30221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
30321939df44de1705786c545cd1bf519d47250322dBen Murdoch
30421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createHRWrapper(PassRefPtr<HTMLElement> element)
30521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
30621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLHRElement(static_cast<HTMLHRElement*>(element.get()));
30721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
30821939df44de1705786c545cd1bf519d47250322dBen Murdoch
30921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createHtmlWrapper(PassRefPtr<HTMLElement> element)
31021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
31121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLHtmlElement(static_cast<HTMLHtmlElement*>(element.get()));
31221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
31321939df44de1705786c545cd1bf519d47250322dBen Murdoch
31421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createIFrameWrapper(PassRefPtr<HTMLElement> element)
31521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
31621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLIFrameElement(static_cast<HTMLIFrameElement*>(element.get()));
31721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
31821939df44de1705786c545cd1bf519d47250322dBen Murdoch
31921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createImageWrapper(PassRefPtr<HTMLElement> element)
32021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
32121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLImageElement(static_cast<HTMLImageElement*>(element.get()));
32221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
32321939df44de1705786c545cd1bf519d47250322dBen Murdoch
32421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createInputWrapper(PassRefPtr<HTMLElement> element)
32521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
32621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLInputElement(static_cast<HTMLInputElement*>(element.get()));
32721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
32821939df44de1705786c545cd1bf519d47250322dBen Murdoch
32921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createIsIndexWrapper(PassRefPtr<HTMLElement> element)
33021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
33121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLIsIndexElement(static_cast<HTMLIsIndexElement*>(element.get()));
33221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
33321939df44de1705786c545cd1bf519d47250322dBen Murdoch
334ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdochstatic gpointer createKeygenWrapper(PassRefPtr<HTMLElement> element)
335ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch{
336ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch    return wrapHTMLKeygenElement(static_cast<HTMLKeygenElement*>(element.get()));
337ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch}
338ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch
33921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createLabelWrapper(PassRefPtr<HTMLElement> element)
34021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
34121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLLabelElement(static_cast<HTMLLabelElement*>(element.get()));
34221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
34321939df44de1705786c545cd1bf519d47250322dBen Murdoch
34421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createLegendWrapper(PassRefPtr<HTMLElement> element)
34521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
34621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLLegendElement(static_cast<HTMLLegendElement*>(element.get()));
34721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
34821939df44de1705786c545cd1bf519d47250322dBen Murdoch
34921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createLIWrapper(PassRefPtr<HTMLElement> element)
35021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
35121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLLIElement(static_cast<HTMLLIElement*>(element.get()));
35221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
35321939df44de1705786c545cd1bf519d47250322dBen Murdoch
35421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createLinkWrapper(PassRefPtr<HTMLElement> element)
35521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
35621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLLinkElement(static_cast<HTMLLinkElement*>(element.get()));
35721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
35821939df44de1705786c545cd1bf519d47250322dBen Murdoch
35921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createMapWrapper(PassRefPtr<HTMLElement> element)
36021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
36121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLMapElement(static_cast<HTMLMapElement*>(element.get()));
36221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
36321939df44de1705786c545cd1bf519d47250322dBen Murdoch
36421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createMarqueeWrapper(PassRefPtr<HTMLElement> element)
36521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
36621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLMarqueeElement(static_cast<HTMLMarqueeElement*>(element.get()));
36721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
36821939df44de1705786c545cd1bf519d47250322dBen Murdoch
36921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createMenuWrapper(PassRefPtr<HTMLElement> element)
37021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
37121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLMenuElement(static_cast<HTMLMenuElement*>(element.get()));
37221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
37321939df44de1705786c545cd1bf519d47250322dBen Murdoch
37421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createMetaWrapper(PassRefPtr<HTMLElement> element)
37521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
37621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLMetaElement(static_cast<HTMLMetaElement*>(element.get()));
37721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
37821939df44de1705786c545cd1bf519d47250322dBen Murdoch
37921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createObjectWrapper(PassRefPtr<HTMLElement> element)
38021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
38121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLObjectElement(static_cast<HTMLObjectElement*>(element.get()));
38221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
38321939df44de1705786c545cd1bf519d47250322dBen Murdoch
38421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createOListWrapper(PassRefPtr<HTMLElement> element)
38521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
38621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLOListElement(static_cast<HTMLOListElement*>(element.get()));
38721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
38821939df44de1705786c545cd1bf519d47250322dBen Murdoch
38921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createOptGroupWrapper(PassRefPtr<HTMLElement> element)
39021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
39121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLOptGroupElement(static_cast<HTMLOptGroupElement*>(element.get()));
39221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
39321939df44de1705786c545cd1bf519d47250322dBen Murdoch
39421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createOptionWrapper(PassRefPtr<HTMLElement> element)
39521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
39621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLOptionElement(static_cast<HTMLOptionElement*>(element.get()));
39721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
39821939df44de1705786c545cd1bf519d47250322dBen Murdoch
39921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createParagraphWrapper(PassRefPtr<HTMLElement> element)
40021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
40121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLParagraphElement(static_cast<HTMLParagraphElement*>(element.get()));
40221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
40321939df44de1705786c545cd1bf519d47250322dBen Murdoch
40421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createParamWrapper(PassRefPtr<HTMLElement> element)
40521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
40621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLParamElement(static_cast<HTMLParamElement*>(element.get()));
40721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
40821939df44de1705786c545cd1bf519d47250322dBen Murdoch
40921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createPreWrapper(PassRefPtr<HTMLElement> element)
41021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
41121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLPreElement(static_cast<HTMLPreElement*>(element.get()));
41221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
41321939df44de1705786c545cd1bf519d47250322dBen Murdoch
41421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createQuoteWrapper(PassRefPtr<HTMLElement> element)
41521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
41621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLQuoteElement(static_cast<HTMLQuoteElement*>(element.get()));
41721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
41821939df44de1705786c545cd1bf519d47250322dBen Murdoch
41921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createScriptWrapper(PassRefPtr<HTMLElement> element)
42021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
42121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLScriptElement(static_cast<HTMLScriptElement*>(element.get()));
42221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
42321939df44de1705786c545cd1bf519d47250322dBen Murdoch
42421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createSelectWrapper(PassRefPtr<HTMLElement> element)
42521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
42621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLSelectElement(static_cast<HTMLSelectElement*>(element.get()));
42721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
42821939df44de1705786c545cd1bf519d47250322dBen Murdoch
42921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createStyleWrapper(PassRefPtr<HTMLElement> element)
43021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
43121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLStyleElement(static_cast<HTMLStyleElement*>(element.get()));
43221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
43321939df44de1705786c545cd1bf519d47250322dBen Murdoch
43421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTableWrapper(PassRefPtr<HTMLElement> element)
43521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
43621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTableElement(static_cast<HTMLTableElement*>(element.get()));
43721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
43821939df44de1705786c545cd1bf519d47250322dBen Murdoch
43921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTableSectionWrapper(PassRefPtr<HTMLElement> element)
44021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
44121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTableSectionElement(static_cast<HTMLTableSectionElement*>(element.get()));
44221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
44321939df44de1705786c545cd1bf519d47250322dBen Murdoch
44421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTableCellWrapper(PassRefPtr<HTMLElement> element)
44521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
44621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTableCellElement(static_cast<HTMLTableCellElement*>(element.get()));
44721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
44821939df44de1705786c545cd1bf519d47250322dBen Murdoch
44921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTextAreaWrapper(PassRefPtr<HTMLElement> element)
45021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
45121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTextAreaElement(static_cast<HTMLTextAreaElement*>(element.get()));
45221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
45321939df44de1705786c545cd1bf519d47250322dBen Murdoch
45421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTitleWrapper(PassRefPtr<HTMLElement> element)
45521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
45621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTitleElement(static_cast<HTMLTitleElement*>(element.get()));
45721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
45821939df44de1705786c545cd1bf519d47250322dBen Murdoch
45921939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createTableRowWrapper(PassRefPtr<HTMLElement> element)
46021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
46121939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLTableRowElement(static_cast<HTMLTableRowElement*>(element.get()));
46221939df44de1705786c545cd1bf519d47250322dBen Murdoch}
46321939df44de1705786c545cd1bf519d47250322dBen Murdoch
46421939df44de1705786c545cd1bf519d47250322dBen Murdochstatic gpointer createUListWrapper(PassRefPtr<HTMLElement> element)
46521939df44de1705786c545cd1bf519d47250322dBen Murdoch{
46621939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLUListElement(static_cast<HTMLUListElement*>(element.get()));
46721939df44de1705786c545cd1bf519d47250322dBen Murdoch}
46821939df44de1705786c545cd1bf519d47250322dBen Murdoch
46921939df44de1705786c545cd1bf519d47250322dBen Murdochgpointer createHTMLElementWrapper(PassRefPtr<WebCore::HTMLElement> element)
47021939df44de1705786c545cd1bf519d47250322dBen Murdoch{
471dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    static HashMap<WTF::AtomicStringImpl*, CreateHTMLElementWrapperFunction> map;
47221939df44de1705786c545cd1bf519d47250322dBen Murdoch    if (map.isEmpty()) {
47321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(aTag.localName().impl(), createAnchorWrapper);
47421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(appletTag.localName().impl(), createAppletWrapper);
475e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#if ENABLE(VIDEO)
476db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block       map.set(audioTag.localName().impl(), createAudioWrapper);
4772fc2651226baac27029e38c9d6ef883fa32084dbSteve Block       map.set(videoTag.localName().impl(), createVideoWrapper);
478e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#endif
47921939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(areaTag.localName().impl(), createAreaWrapper);
48021939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(baseTag.localName().impl(), createBaseWrapper);
48121939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(basefontTag.localName().impl(), createBaseFontWrapper);
48221939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(blockquoteTag.localName().impl(), createBlockquoteWrapper);
48321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(bodyTag.localName().impl(), createBodyWrapper);
48421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(brTag.localName().impl(), createBRWrapper);
48521939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(buttonTag.localName().impl(), createButtonWrapper);
48621939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(canvasTag.localName().impl(), createCanvasWrapper);
48721939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(captionTag.localName().impl(), createTableCaptionWrapper);
48821939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(colTag.localName().impl(), createTableColWrapper);
48921939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(delTag.localName().impl(), createModWrapper);
49021939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(dirTag.localName().impl(), createDirectoryWrapper);
49121939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(divTag.localName().impl(), createDivWrapper);
49221939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(dlTag.localName().impl(), createDListWrapper);
49321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(embedTag.localName().impl(), createEmbedWrapper);
49421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(fieldsetTag.localName().impl(), createFieldSetWrapper);
49521939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(fontTag.localName().impl(), createFontWrapper);
49621939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(formTag.localName().impl(), createFormWrapper);
49721939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(frameTag.localName().impl(), createFrameWrapper);
49821939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(framesetTag.localName().impl(), createFrameSetWrapper);
49921939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(h1Tag.localName().impl(), createHeadingWrapper);
50021939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(headTag.localName().impl(), createHeadWrapper);
50121939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(hrTag.localName().impl(), createHRWrapper);
50221939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(htmlTag.localName().impl(), createHtmlWrapper);
50321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(iframeTag.localName().impl(), createIFrameWrapper);
50421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(imgTag.localName().impl(), createImageWrapper);
50521939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(inputTag.localName().impl(), createInputWrapper);
50621939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(isindexTag.localName().impl(), createIsIndexWrapper);
50721939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(labelTag.localName().impl(), createLabelWrapper);
50821939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(legendTag.localName().impl(), createLegendWrapper);
50921939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(liTag.localName().impl(), createLIWrapper);
51021939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(linkTag.localName().impl(), createLinkWrapper);
51121939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(mapTag.localName().impl(), createMapWrapper);
51221939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(marqueeTag.localName().impl(), createMarqueeWrapper);
51321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(menuTag.localName().impl(), createMenuWrapper);
51421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(metaTag.localName().impl(), createMetaWrapper);
51521939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(objectTag.localName().impl(), createObjectWrapper);
51621939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(olTag.localName().impl(), createOListWrapper);
51721939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(optgroupTag.localName().impl(), createOptGroupWrapper);
51821939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(optionTag.localName().impl(), createOptionWrapper);
51921939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(pTag.localName().impl(), createParagraphWrapper);
52021939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(paramTag.localName().impl(), createParamWrapper);
52121939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(preTag.localName().impl(), createPreWrapper);
52221939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(qTag.localName().impl(), createQuoteWrapper);
52321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(scriptTag.localName().impl(), createScriptWrapper);
52421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(selectTag.localName().impl(), createSelectWrapper);
52521939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(styleTag.localName().impl(), createStyleWrapper);
52621939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(tableTag.localName().impl(), createTableWrapper);
52721939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(tbodyTag.localName().impl(), createTableSectionWrapper);
52821939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(tdTag.localName().impl(), createTableCellWrapper);
52921939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(textareaTag.localName().impl(), createTextAreaWrapper);
53021939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(titleTag.localName().impl(), createTitleWrapper);
53121939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(trTag.localName().impl(), createTableRowWrapper);
53221939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(ulTag.localName().impl(), createUListWrapper);
53321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(colgroupTag.localName().impl(), createTableColWrapper);
53421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(h2Tag.localName().impl(), createHeadingWrapper);
53521939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(h3Tag.localName().impl(), createHeadingWrapper);
53621939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(h4Tag.localName().impl(), createHeadingWrapper);
53721939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(h5Tag.localName().impl(), createHeadingWrapper);
53821939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(h6Tag.localName().impl(), createHeadingWrapper);
53921939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(imageTag.localName().impl(), createImageWrapper);
54021939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(insTag.localName().impl(), createModWrapper);
541ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch       map.set(keygenTag.localName().impl(), createKeygenWrapper);
54221939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(listingTag.localName().impl(), createPreWrapper);
54321939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(tfootTag.localName().impl(), createTableSectionWrapper);
54421939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(thTag.localName().impl(), createTableCellWrapper);
54521939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(theadTag.localName().impl(), createTableSectionWrapper);
54621939df44de1705786c545cd1bf519d47250322dBen Murdoch       map.set(xmpTag.localName().impl(), createPreWrapper);
54721939df44de1705786c545cd1bf519d47250322dBen Murdoch    }
54821939df44de1705786c545cd1bf519d47250322dBen Murdoch
54921939df44de1705786c545cd1bf519d47250322dBen Murdoch    CreateHTMLElementWrapperFunction createWrapperFunction =
55021939df44de1705786c545cd1bf519d47250322dBen Murdoch        map.get(element->localName().impl());
55121939df44de1705786c545cd1bf519d47250322dBen Murdoch    if (createWrapperFunction)
55221939df44de1705786c545cd1bf519d47250322dBen Murdoch        return createWrapperFunction(element);
55321939df44de1705786c545cd1bf519d47250322dBen Murdoch    return wrapHTMLElement(element.get());
55421939df44de1705786c545cd1bf519d47250322dBen Murdoch}
55521939df44de1705786c545cd1bf519d47250322dBen Murdoch
55621939df44de1705786c545cd1bf519d47250322dBen Murdoch}
557