12012-03-04 MORITA Hajime <morrita@google.com>
2
3 Internally used HTMLContentElement subclasses should have correct wrapper.
4 https://bugs.webkit.org/show_bug.cgi?id=80237
5
6 Reviewed by NOBODY (OOPS!).
7
8 DetailsContentElement and DetailsSummaryElement used to use
9 <div> as their tag name. But this means they are wrapped by
10 wrapper objects for HTMLDivElement, which is wrong. This happened
11 to work though because HTMLDivElement has no extra state or API.
12
13 This change introduces "noConstructor" keyword for make_name.pl
14 sources. This keyword allows a tag name to specify its own
15 wrapper without making the tag name visible from the parser, or
16 HTMLElementFactory in precise.
17
18 Following this addition, this change also adds a new tag name
19 "webkitShadowContent" for DetailsContentElement and DetailsSummaryElement,
20 which has no constructor, and whose wrapper type is HTMLElement.
21
22 This change isn't visible from the page author and only matters for testing.
23
24 Test: fast/dom/shadow/content-element-user-agent-shadow.html
25
26 * dom/make_names.pl:
27 (defaultTagPropertyHash):
28 (buildConstructorMap):
29 (printConstructors):
30 (printFunctionInits):
31 * html/HTMLDetailsElement.cpp:
32 (WebCore::DetailsContentElement::DetailsContentElement):
33 (WebCore::DetailsSummaryElement::DetailsSummaryElement):
34 * html/HTMLTagNames.in:
35 * html/shadow/HTMLContentElement.cpp:
36 (WebCore::contentTagName):
37