1 /*
2  * Copyright (c) 2008-2017 Mozilla Foundation
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 /*
24  * THIS IS A GENERATED FILE. PLEASE DO NOT EDIT.
25  * Please edit ElementName.java instead and regenerate.
26  */
27 
28 #define nsHtml5ElementName_cpp__
29 
30 #include "nsAtom.h"
31 #include "nsHtml5AtomTable.h"
32 #include "nsHtml5String.h"
33 #include "nsNameSpaceManager.h"
34 #include "nsIContent.h"
35 #include "nsTraceRefcnt.h"
36 #include "jArray.h"
37 #include "nsHtml5ArrayCopy.h"
38 #include "nsAHtml5TreeBuilderState.h"
39 #include "nsGkAtoms.h"
40 #include "nsHtml5ByteReadable.h"
41 #include "nsHtml5Macros.h"
42 #include "nsIContentHandle.h"
43 #include "nsHtml5Portability.h"
44 #include "nsHtml5ContentCreatorFunction.h"
45 
46 #include "nsHtml5AttributeName.h"
47 #include "nsHtml5Tokenizer.h"
48 #include "nsHtml5TreeBuilder.h"
49 #include "nsHtml5StackNode.h"
50 #include "nsHtml5UTF16Buffer.h"
51 #include "nsHtml5StateSnapshot.h"
52 #include "nsHtml5Portability.h"
53 
54 #include "nsHtml5ElementName.h"
55 
nsHtml5ElementName(nsAtom * name,nsAtom * camelCaseName,mozilla::dom::HTMLContentCreatorFunction htmlCreator,mozilla::dom::SVGContentCreatorFunction svgCreator,int32_t flags)56 nsHtml5ElementName::nsHtml5ElementName(
57     nsAtom* name, nsAtom* camelCaseName,
58     mozilla::dom::HTMLContentCreatorFunction htmlCreator,
59     mozilla::dom::SVGContentCreatorFunction svgCreator, int32_t flags)
60     : name(name),
61       camelCaseName(camelCaseName),
62       htmlCreator(htmlCreator),
63       svgCreator(svgCreator),
64       flags(flags) {
65   MOZ_COUNT_CTOR(nsHtml5ElementName);
66 }
67 
nsHtml5ElementName()68 nsHtml5ElementName::nsHtml5ElementName()
69     : name(nullptr),
70       camelCaseName(nullptr),
71       htmlCreator(NS_NewHTMLUnknownElement),
72       svgCreator(NS_NewSVGUnknownElement),
73       flags(nsHtml5TreeBuilder::OTHER | NOT_INTERNED) {
74   MOZ_COUNT_CTOR(nsHtml5ElementName);
75 }
76 
~nsHtml5ElementName()77 nsHtml5ElementName::~nsHtml5ElementName() {
78   MOZ_COUNT_DTOR(nsHtml5ElementName);
79 }
80 
81 nsHtml5ElementName* nsHtml5ElementName::ELT_ANNOTATION_XML = nullptr;
82 nsHtml5ElementName* nsHtml5ElementName::ELT_BIG = nullptr;
83 nsHtml5ElementName* nsHtml5ElementName::ELT_BDI = nullptr;
84 nsHtml5ElementName* nsHtml5ElementName::ELT_BDO = nullptr;
85 nsHtml5ElementName* nsHtml5ElementName::ELT_COL = nullptr;
86 nsHtml5ElementName* nsHtml5ElementName::ELT_DEL = nullptr;
87 nsHtml5ElementName* nsHtml5ElementName::ELT_DFN = nullptr;
88 nsHtml5ElementName* nsHtml5ElementName::ELT_DIR = nullptr;
89 nsHtml5ElementName* nsHtml5ElementName::ELT_DIV = nullptr;
90 nsHtml5ElementName* nsHtml5ElementName::ELT_IMG = nullptr;
91 nsHtml5ElementName* nsHtml5ElementName::ELT_INS = nullptr;
92 nsHtml5ElementName* nsHtml5ElementName::ELT_KBD = nullptr;
93 nsHtml5ElementName* nsHtml5ElementName::ELT_MAP = nullptr;
94 nsHtml5ElementName* nsHtml5ElementName::ELT_NAV = nullptr;
95 nsHtml5ElementName* nsHtml5ElementName::ELT_PRE = nullptr;
96 nsHtml5ElementName* nsHtml5ElementName::ELT_A = nullptr;
97 nsHtml5ElementName* nsHtml5ElementName::ELT_B = nullptr;
98 nsHtml5ElementName* nsHtml5ElementName::ELT_RTC = nullptr;
99 nsHtml5ElementName* nsHtml5ElementName::ELT_SUB = nullptr;
100 nsHtml5ElementName* nsHtml5ElementName::ELT_SVG = nullptr;
101 nsHtml5ElementName* nsHtml5ElementName::ELT_SUP = nullptr;
102 nsHtml5ElementName* nsHtml5ElementName::ELT_SET = nullptr;
103 nsHtml5ElementName* nsHtml5ElementName::ELT_USE = nullptr;
104 nsHtml5ElementName* nsHtml5ElementName::ELT_VAR = nullptr;
105 nsHtml5ElementName* nsHtml5ElementName::ELT_G = nullptr;
106 nsHtml5ElementName* nsHtml5ElementName::ELT_WBR = nullptr;
107 nsHtml5ElementName* nsHtml5ElementName::ELT_XMP = nullptr;
108 nsHtml5ElementName* nsHtml5ElementName::ELT_I = nullptr;
109 nsHtml5ElementName* nsHtml5ElementName::ELT_P = nullptr;
110 nsHtml5ElementName* nsHtml5ElementName::ELT_Q = nullptr;
111 nsHtml5ElementName* nsHtml5ElementName::ELT_S = nullptr;
112 nsHtml5ElementName* nsHtml5ElementName::ELT_U = nullptr;
113 nsHtml5ElementName* nsHtml5ElementName::ELT_H1 = nullptr;
114 nsHtml5ElementName* nsHtml5ElementName::ELT_H2 = nullptr;
115 nsHtml5ElementName* nsHtml5ElementName::ELT_H3 = nullptr;
116 nsHtml5ElementName* nsHtml5ElementName::ELT_H4 = nullptr;
117 nsHtml5ElementName* nsHtml5ElementName::ELT_H5 = nullptr;
118 nsHtml5ElementName* nsHtml5ElementName::ELT_H6 = nullptr;
119 nsHtml5ElementName* nsHtml5ElementName::ELT_AREA = nullptr;
120 nsHtml5ElementName* nsHtml5ElementName::ELT_DATA = nullptr;
121 nsHtml5ElementName* nsHtml5ElementName::ELT_FEFUNCA = nullptr;
122 nsHtml5ElementName* nsHtml5ElementName::ELT_METADATA = nullptr;
123 nsHtml5ElementName* nsHtml5ElementName::ELT_META = nullptr;
124 nsHtml5ElementName* nsHtml5ElementName::ELT_TEXTAREA = nullptr;
125 nsHtml5ElementName* nsHtml5ElementName::ELT_FEFUNCB = nullptr;
126 nsHtml5ElementName* nsHtml5ElementName::ELT_RB = nullptr;
127 nsHtml5ElementName* nsHtml5ElementName::ELT_DESC = nullptr;
128 nsHtml5ElementName* nsHtml5ElementName::ELT_DD = nullptr;
129 nsHtml5ElementName* nsHtml5ElementName::ELT_BGSOUND = nullptr;
130 nsHtml5ElementName* nsHtml5ElementName::ELT_EMBED = nullptr;
131 nsHtml5ElementName* nsHtml5ElementName::ELT_FEBLEND = nullptr;
132 nsHtml5ElementName* nsHtml5ElementName::ELT_FEFLOOD = nullptr;
133 nsHtml5ElementName* nsHtml5ElementName::ELT_HEAD = nullptr;
134 nsHtml5ElementName* nsHtml5ElementName::ELT_LEGEND = nullptr;
135 nsHtml5ElementName* nsHtml5ElementName::ELT_NOEMBED = nullptr;
136 nsHtml5ElementName* nsHtml5ElementName::ELT_TD = nullptr;
137 nsHtml5ElementName* nsHtml5ElementName::ELT_THEAD = nullptr;
138 nsHtml5ElementName* nsHtml5ElementName::ELT_ASIDE = nullptr;
139 nsHtml5ElementName* nsHtml5ElementName::ELT_ARTICLE = nullptr;
140 nsHtml5ElementName* nsHtml5ElementName::ELT_ANIMATE = nullptr;
141 nsHtml5ElementName* nsHtml5ElementName::ELT_BASE = nullptr;
142 nsHtml5ElementName* nsHtml5ElementName::ELT_BLOCKQUOTE = nullptr;
143 nsHtml5ElementName* nsHtml5ElementName::ELT_CODE = nullptr;
144 nsHtml5ElementName* nsHtml5ElementName::ELT_CIRCLE = nullptr;
145 nsHtml5ElementName* nsHtml5ElementName::ELT_CITE = nullptr;
146 nsHtml5ElementName* nsHtml5ElementName::ELT_ELLIPSE = nullptr;
147 nsHtml5ElementName* nsHtml5ElementName::ELT_FETURBULENCE = nullptr;
148 nsHtml5ElementName* nsHtml5ElementName::ELT_FEMERGENODE = nullptr;
149 nsHtml5ElementName* nsHtml5ElementName::ELT_FEIMAGE = nullptr;
150 nsHtml5ElementName* nsHtml5ElementName::ELT_FEMERGE = nullptr;
151 nsHtml5ElementName* nsHtml5ElementName::ELT_FETILE = nullptr;
152 nsHtml5ElementName* nsHtml5ElementName::ELT_FRAME = nullptr;
153 nsHtml5ElementName* nsHtml5ElementName::ELT_FIGURE = nullptr;
154 nsHtml5ElementName* nsHtml5ElementName::ELT_FECOMPOSITE = nullptr;
155 nsHtml5ElementName* nsHtml5ElementName::ELT_IMAGE = nullptr;
156 nsHtml5ElementName* nsHtml5ElementName::ELT_IFRAME = nullptr;
157 nsHtml5ElementName* nsHtml5ElementName::ELT_LINE = nullptr;
158 nsHtml5ElementName* nsHtml5ElementName::ELT_MARQUEE = nullptr;
159 nsHtml5ElementName* nsHtml5ElementName::ELT_POLYLINE = nullptr;
160 nsHtml5ElementName* nsHtml5ElementName::ELT_PICTURE = nullptr;
161 nsHtml5ElementName* nsHtml5ElementName::ELT_SOURCE = nullptr;
162 nsHtml5ElementName* nsHtml5ElementName::ELT_STRIKE = nullptr;
163 nsHtml5ElementName* nsHtml5ElementName::ELT_STYLE = nullptr;
164 nsHtml5ElementName* nsHtml5ElementName::ELT_TABLE = nullptr;
165 nsHtml5ElementName* nsHtml5ElementName::ELT_TITLE = nullptr;
166 nsHtml5ElementName* nsHtml5ElementName::ELT_TIME = nullptr;
167 nsHtml5ElementName* nsHtml5ElementName::ELT_TEMPLATE = nullptr;
168 nsHtml5ElementName* nsHtml5ElementName::ELT_ALTGLYPHDEF = nullptr;
169 nsHtml5ElementName* nsHtml5ElementName::ELT_GLYPHREF = nullptr;
170 nsHtml5ElementName* nsHtml5ElementName::ELT_DIALOG = nullptr;
171 nsHtml5ElementName* nsHtml5ElementName::ELT_FEFUNCG = nullptr;
172 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDIFFUSELIGHTING = nullptr;
173 nsHtml5ElementName* nsHtml5ElementName::ELT_FESPECULARLIGHTING = nullptr;
174 nsHtml5ElementName* nsHtml5ElementName::ELT_LISTING = nullptr;
175 nsHtml5ElementName* nsHtml5ElementName::ELT_STRONG = nullptr;
176 nsHtml5ElementName* nsHtml5ElementName::ELT_ALTGLYPH = nullptr;
177 nsHtml5ElementName* nsHtml5ElementName::ELT_CLIPPATH = nullptr;
178 nsHtml5ElementName* nsHtml5ElementName::ELT_MGLYPH = nullptr;
179 nsHtml5ElementName* nsHtml5ElementName::ELT_MATH = nullptr;
180 nsHtml5ElementName* nsHtml5ElementName::ELT_MPATH = nullptr;
181 nsHtml5ElementName* nsHtml5ElementName::ELT_PATH = nullptr;
182 nsHtml5ElementName* nsHtml5ElementName::ELT_TH = nullptr;
183 nsHtml5ElementName* nsHtml5ElementName::ELT_SWITCH = nullptr;
184 nsHtml5ElementName* nsHtml5ElementName::ELT_TEXTPATH = nullptr;
185 nsHtml5ElementName* nsHtml5ElementName::ELT_LI = nullptr;
186 nsHtml5ElementName* nsHtml5ElementName::ELT_MI = nullptr;
187 nsHtml5ElementName* nsHtml5ElementName::ELT_LINK = nullptr;
188 nsHtml5ElementName* nsHtml5ElementName::ELT_MARK = nullptr;
189 nsHtml5ElementName* nsHtml5ElementName::ELT_MALIGNMARK = nullptr;
190 nsHtml5ElementName* nsHtml5ElementName::ELT_MASK = nullptr;
191 nsHtml5ElementName* nsHtml5ElementName::ELT_TRACK = nullptr;
192 nsHtml5ElementName* nsHtml5ElementName::ELT_DL = nullptr;
193 nsHtml5ElementName* nsHtml5ElementName::ELT_HTML = nullptr;
194 nsHtml5ElementName* nsHtml5ElementName::ELT_OL = nullptr;
195 nsHtml5ElementName* nsHtml5ElementName::ELT_LABEL = nullptr;
196 nsHtml5ElementName* nsHtml5ElementName::ELT_UL = nullptr;
197 nsHtml5ElementName* nsHtml5ElementName::ELT_SMALL = nullptr;
198 nsHtml5ElementName* nsHtml5ElementName::ELT_SYMBOL = nullptr;
199 nsHtml5ElementName* nsHtml5ElementName::ELT_ALTGLYPHITEM = nullptr;
200 nsHtml5ElementName* nsHtml5ElementName::ELT_ANIMATETRANSFORM = nullptr;
201 nsHtml5ElementName* nsHtml5ElementName::ELT_ACRONYM = nullptr;
202 nsHtml5ElementName* nsHtml5ElementName::ELT_EM = nullptr;
203 nsHtml5ElementName* nsHtml5ElementName::ELT_FORM = nullptr;
204 nsHtml5ElementName* nsHtml5ElementName::ELT_MENUITEM = nullptr;
205 nsHtml5ElementName* nsHtml5ElementName::ELT_PARAM = nullptr;
206 nsHtml5ElementName* nsHtml5ElementName::ELT_ANIMATEMOTION = nullptr;
207 nsHtml5ElementName* nsHtml5ElementName::ELT_BUTTON = nullptr;
208 nsHtml5ElementName* nsHtml5ElementName::ELT_CAPTION = nullptr;
209 nsHtml5ElementName* nsHtml5ElementName::ELT_FIGCAPTION = nullptr;
210 nsHtml5ElementName* nsHtml5ElementName::ELT_MN = nullptr;
211 nsHtml5ElementName* nsHtml5ElementName::ELT_KEYGEN = nullptr;
212 nsHtml5ElementName* nsHtml5ElementName::ELT_MAIN = nullptr;
213 nsHtml5ElementName* nsHtml5ElementName::ELT_OPTION = nullptr;
214 nsHtml5ElementName* nsHtml5ElementName::ELT_POLYGON = nullptr;
215 nsHtml5ElementName* nsHtml5ElementName::ELT_PATTERN = nullptr;
216 nsHtml5ElementName* nsHtml5ElementName::ELT_SPAN = nullptr;
217 nsHtml5ElementName* nsHtml5ElementName::ELT_SECTION = nullptr;
218 nsHtml5ElementName* nsHtml5ElementName::ELT_TSPAN = nullptr;
219 nsHtml5ElementName* nsHtml5ElementName::ELT_AUDIO = nullptr;
220 nsHtml5ElementName* nsHtml5ElementName::ELT_MO = nullptr;
221 nsHtml5ElementName* nsHtml5ElementName::ELT_VIDEO = nullptr;
222 nsHtml5ElementName* nsHtml5ElementName::ELT_COLGROUP = nullptr;
223 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDISPLACEMENTMAP = nullptr;
224 nsHtml5ElementName* nsHtml5ElementName::ELT_HGROUP = nullptr;
225 nsHtml5ElementName* nsHtml5ElementName::ELT_RP = nullptr;
226 nsHtml5ElementName* nsHtml5ElementName::ELT_OPTGROUP = nullptr;
227 nsHtml5ElementName* nsHtml5ElementName::ELT_SAMP = nullptr;
228 nsHtml5ElementName* nsHtml5ElementName::ELT_STOP = nullptr;
229 nsHtml5ElementName* nsHtml5ElementName::ELT_BR = nullptr;
230 nsHtml5ElementName* nsHtml5ElementName::ELT_ABBR = nullptr;
231 nsHtml5ElementName* nsHtml5ElementName::ELT_ANIMATECOLOR = nullptr;
232 nsHtml5ElementName* nsHtml5ElementName::ELT_CENTER = nullptr;
233 nsHtml5ElementName* nsHtml5ElementName::ELT_HR = nullptr;
234 nsHtml5ElementName* nsHtml5ElementName::ELT_FEFUNCR = nullptr;
235 nsHtml5ElementName* nsHtml5ElementName::ELT_FECOMPONENTTRANSFER = nullptr;
236 nsHtml5ElementName* nsHtml5ElementName::ELT_FILTER = nullptr;
237 nsHtml5ElementName* nsHtml5ElementName::ELT_FOOTER = nullptr;
238 nsHtml5ElementName* nsHtml5ElementName::ELT_FEGAUSSIANBLUR = nullptr;
239 nsHtml5ElementName* nsHtml5ElementName::ELT_HEADER = nullptr;
240 nsHtml5ElementName* nsHtml5ElementName::ELT_MARKER = nullptr;
241 nsHtml5ElementName* nsHtml5ElementName::ELT_METER = nullptr;
242 nsHtml5ElementName* nsHtml5ElementName::ELT_NOBR = nullptr;
243 nsHtml5ElementName* nsHtml5ElementName::ELT_TR = nullptr;
244 nsHtml5ElementName* nsHtml5ElementName::ELT_ADDRESS = nullptr;
245 nsHtml5ElementName* nsHtml5ElementName::ELT_CANVAS = nullptr;
246 nsHtml5ElementName* nsHtml5ElementName::ELT_DEFS = nullptr;
247 nsHtml5ElementName* nsHtml5ElementName::ELT_DETAILS = nullptr;
248 nsHtml5ElementName* nsHtml5ElementName::ELT_MS = nullptr;
249 nsHtml5ElementName* nsHtml5ElementName::ELT_NOFRAMES = nullptr;
250 nsHtml5ElementName* nsHtml5ElementName::ELT_PROGRESS = nullptr;
251 nsHtml5ElementName* nsHtml5ElementName::ELT_DT = nullptr;
252 nsHtml5ElementName* nsHtml5ElementName::ELT_APPLET = nullptr;
253 nsHtml5ElementName* nsHtml5ElementName::ELT_BASEFONT = nullptr;
254 nsHtml5ElementName* nsHtml5ElementName::ELT_DATALIST = nullptr;
255 nsHtml5ElementName* nsHtml5ElementName::ELT_FOREIGNOBJECT = nullptr;
256 nsHtml5ElementName* nsHtml5ElementName::ELT_FIELDSET = nullptr;
257 nsHtml5ElementName* nsHtml5ElementName::ELT_FRAMESET = nullptr;
258 nsHtml5ElementName* nsHtml5ElementName::ELT_FEOFFSET = nullptr;
259 nsHtml5ElementName* nsHtml5ElementName::ELT_FESPOTLIGHT = nullptr;
260 nsHtml5ElementName* nsHtml5ElementName::ELT_FEPOINTLIGHT = nullptr;
261 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDISTANTLIGHT = nullptr;
262 nsHtml5ElementName* nsHtml5ElementName::ELT_FONT = nullptr;
263 nsHtml5ElementName* nsHtml5ElementName::ELT_INPUT = nullptr;
264 nsHtml5ElementName* nsHtml5ElementName::ELT_LINEARGRADIENT = nullptr;
265 nsHtml5ElementName* nsHtml5ElementName::ELT_MTEXT = nullptr;
266 nsHtml5ElementName* nsHtml5ElementName::ELT_NOSCRIPT = nullptr;
267 nsHtml5ElementName* nsHtml5ElementName::ELT_RT = nullptr;
268 nsHtml5ElementName* nsHtml5ElementName::ELT_OBJECT = nullptr;
269 nsHtml5ElementName* nsHtml5ElementName::ELT_OUTPUT = nullptr;
270 nsHtml5ElementName* nsHtml5ElementName::ELT_PLAINTEXT = nullptr;
271 nsHtml5ElementName* nsHtml5ElementName::ELT_TT = nullptr;
272 nsHtml5ElementName* nsHtml5ElementName::ELT_RECT = nullptr;
273 nsHtml5ElementName* nsHtml5ElementName::ELT_RADIALGRADIENT = nullptr;
274 nsHtml5ElementName* nsHtml5ElementName::ELT_SELECT = nullptr;
275 nsHtml5ElementName* nsHtml5ElementName::ELT_SLOT = nullptr;
276 nsHtml5ElementName* nsHtml5ElementName::ELT_SCRIPT = nullptr;
277 nsHtml5ElementName* nsHtml5ElementName::ELT_TFOOT = nullptr;
278 nsHtml5ElementName* nsHtml5ElementName::ELT_TEXT = nullptr;
279 nsHtml5ElementName* nsHtml5ElementName::ELT_MENU = nullptr;
280 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDROPSHADOW = nullptr;
281 nsHtml5ElementName* nsHtml5ElementName::ELT_VIEW = nullptr;
282 nsHtml5ElementName* nsHtml5ElementName::ELT_FECOLORMATRIX = nullptr;
283 nsHtml5ElementName* nsHtml5ElementName::ELT_FECONVOLVEMATRIX = nullptr;
284 nsHtml5ElementName* nsHtml5ElementName::ELT_BODY = nullptr;
285 nsHtml5ElementName* nsHtml5ElementName::ELT_FEMORPHOLOGY = nullptr;
286 nsHtml5ElementName* nsHtml5ElementName::ELT_RUBY = nullptr;
287 nsHtml5ElementName* nsHtml5ElementName::ELT_SUMMARY = nullptr;
288 nsHtml5ElementName* nsHtml5ElementName::ELT_TBODY = nullptr;
289 nsHtml5ElementName** nsHtml5ElementName::ELEMENT_NAMES = 0;
290 static int32_t const ELEMENT_HASHES_DATA[] = {
291     1900845386, 1748359220, 2001349720, 876609538,  1798686984, 1971465813,
292     2007781534, 59768833,   1730965751, 1756474198, 1868312196, 1938817026,
293     1988763672, 2005324101, 2060065124, 52490899,   62390273,   1682547543,
294     1740181637, 1749905526, 1766992520, 1818230786, 1881613047, 1907661127,
295     1967128578, 1982935782, 1999397992, 2001392798, 2006329158, 2008851557,
296     2085266636, 51961587,   57206291,   60352339,   67108865,   943718402,
297     1699324759, 1733890180, 1747814436, 1749715159, 1752979652, 1757146773,
298     1783388498, 1805502724, 1854228698, 1874053333, 1889085973, 1905563974,
299     1925844629, 1963982850, 1967795958, 1973420034, 1983633431, 1998585858,
300     2001309869, 2001392795, 2003183333, 2005925890, 2006974466, 2008325940,
301     2021937364, 2068523856, 2092255447, 51435587,   52486755,   55110883,
302     58773795,   60345171,   61395251,   62973651,   68681729,   910163970,
303     1679960596, 1686491348, 1715310660, 1733054663, 1737099991, 1747176599,
304     1748100148, 1749656156, 1749801286, 1751288021, 1755076808, 1756625221,
305     1757268168, 1783210839, 1790207270, 1803929812, 1806806678, 1853642948,
306     1857653029, 1870268949, 1881288348, 1884120164, 1898753862, 1903302038,
307     1906135367, 1914900309, 1934172497, 1941178676, 1965334268, 1967788867,
308     1968836118, 1971938532, 1982173479, 1983533124, 1986527234, 1990037800,
309     1998724870, 2000525512, 2001349704, 2001349736, 2001392796, 2001495140,
310     2004635806, 2005719336, 2006028454, 2006896969, 2007601444, 2008125638,
311     2008340774, 2008994116, 2051837468, 2068523853, 2083120164, 2091479332,
312     2092557349, 51434643,   51438659,   52485715,   52488851,   55104723,
313     56151587,   57733651,   59244545,   59821379,   60347747,   60354131,
314     61925907,   62450211,   63438849,   67633153,   69730305,   893386754,
315     926941186,  960495618,  1681770564, 1686489160, 1689922072, 1703936002,
316     1730150402, 1732381397, 1733076167, 1736200310, 1738539010, 1747048757,
317     1747306711, 1747838298, 1748225318, 1749395095, 1749673195, 1749723735,
318     1749813541, 1749932347, 1751386406, 1753362711, 1755148615, 1756600614,
319     1757137429, 1757157700, 1763839627, 1782357526, 1783388497, 1786534215,
320     1797585096, 1803876550, 1803929861, 1805647874, 1807599880, 1818755074,
321     1854228692, 1854245076, 1864368130, 1870135298, 1873281026, 1874102998,
322     1881498736, 1881669634, 1887579800, 1898223949, 1899272519, 1902641154,
323     1904412884, 1906087319, 1907435316, 1907959605, 1919418370, 1932928296,
324     1935549734, 1939219752, 1941221172, 1965115924, 1966223078, 1967760215,
325     1967795910, 1968053806, 1971461414};
326 staticJArray<int32_t, int32_t> nsHtml5ElementName::ELEMENT_HASHES = {
327     ELEMENT_HASHES_DATA, MOZ_ARRAY_LENGTH(ELEMENT_HASHES_DATA)};
initializeStatics()328 void nsHtml5ElementName::initializeStatics() {
329   ELT_ANNOTATION_XML = new nsHtml5ElementName(
330       nsGkAtoms::annotation_xml_, nsGkAtoms::annotation_xml_,
331       NS_NewHTMLUnknownElement, NS_NewSVGUnknownElement,
332       nsHtml5TreeBuilder::ANNOTATION_XML | SCOPING_AS_MATHML);
333   ELT_BIG = new nsHtml5ElementName(
334       nsGkAtoms::big, nsGkAtoms::big, NS_NewHTMLElement,
335       NS_NewSVGUnknownElement,
336       nsHtml5TreeBuilder::
337           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
338   ELT_BDI = new nsHtml5ElementName(nsGkAtoms::bdi, nsGkAtoms::bdi,
339                                    NS_NewHTMLElement, NS_NewSVGUnknownElement,
340                                    nsHtml5TreeBuilder::OTHER);
341   ELT_BDO = new nsHtml5ElementName(nsGkAtoms::bdo, nsGkAtoms::bdo,
342                                    NS_NewHTMLElement, NS_NewSVGUnknownElement,
343                                    nsHtml5TreeBuilder::OTHER);
344   ELT_COL = new nsHtml5ElementName(
345       nsGkAtoms::col, nsGkAtoms::col, NS_NewHTMLTableColElement,
346       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::COL | SPECIAL);
347   ELT_DEL = new nsHtml5ElementName(
348       nsGkAtoms::del, nsGkAtoms::del, NS_NewHTMLModElement,
349       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
350   ELT_DFN = new nsHtml5ElementName(nsGkAtoms::dfn, nsGkAtoms::dfn,
351                                    NS_NewHTMLElement, NS_NewSVGUnknownElement,
352                                    nsHtml5TreeBuilder::OTHER);
353   ELT_DIR = new nsHtml5ElementName(
354       nsGkAtoms::dir, nsGkAtoms::dir, NS_NewHTMLSharedElement,
355       NS_NewSVGUnknownElement,
356       nsHtml5TreeBuilder::
357               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
358           SPECIAL);
359   ELT_DIV = new nsHtml5ElementName(
360       nsGkAtoms::div, nsGkAtoms::div, NS_NewHTMLDivElement,
361       NS_NewSVGUnknownElement,
362       nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
363   ELT_IMG = new nsHtml5ElementName(
364       nsGkAtoms::img, nsGkAtoms::img, NS_NewHTMLImageElement,
365       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::IMG | SPECIAL);
366   ELT_INS = new nsHtml5ElementName(
367       nsGkAtoms::ins, nsGkAtoms::ins, NS_NewHTMLModElement,
368       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
369   ELT_KBD = new nsHtml5ElementName(nsGkAtoms::kbd, nsGkAtoms::kbd,
370                                    NS_NewHTMLElement, NS_NewSVGUnknownElement,
371                                    nsHtml5TreeBuilder::OTHER);
372   ELT_MAP = new nsHtml5ElementName(
373       nsGkAtoms::map, nsGkAtoms::map, NS_NewHTMLMapElement,
374       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
375   ELT_NAV = new nsHtml5ElementName(
376       nsGkAtoms::nav, nsGkAtoms::nav, NS_NewHTMLElement,
377       NS_NewSVGUnknownElement,
378       nsHtml5TreeBuilder::
379               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
380           SPECIAL);
381   ELT_PRE = new nsHtml5ElementName(
382       nsGkAtoms::pre, nsGkAtoms::pre, NS_NewHTMLPreElement,
383       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::PRE_OR_LISTING | SPECIAL);
384   ELT_A = new nsHtml5ElementName(nsGkAtoms::a, nsGkAtoms::a,
385                                  NS_NewHTMLAnchorElement, NS_NewSVGAElement,
386                                  nsHtml5TreeBuilder::A);
387   ELT_B = new nsHtml5ElementName(
388       nsGkAtoms::b, nsGkAtoms::b, NS_NewHTMLElement, NS_NewSVGUnknownElement,
389       nsHtml5TreeBuilder::
390           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
391   ELT_RTC =
392       new nsHtml5ElementName(nsGkAtoms::rtc, nsGkAtoms::rtc, NS_NewHTMLElement,
393                              NS_NewSVGUnknownElement,
394                              nsHtml5TreeBuilder::RB_OR_RTC | OPTIONAL_END_TAG);
395   ELT_SUB = new nsHtml5ElementName(
396       nsGkAtoms::sub, nsGkAtoms::sub, NS_NewHTMLElement,
397       NS_NewSVGUnknownElement,
398       nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
399   ELT_SVG = new nsHtml5ElementName(
400       nsGkAtoms::svg, nsGkAtoms::svg, NS_NewHTMLUnknownElement,
401       NS_NewSVGSVGElement, nsHtml5TreeBuilder::SVG);
402   ELT_SUP = new nsHtml5ElementName(
403       nsGkAtoms::sup, nsGkAtoms::sup, NS_NewHTMLElement,
404       NS_NewSVGUnknownElement,
405       nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
406   ELT_SET = new nsHtml5ElementName(
407       nsGkAtoms::set, nsGkAtoms::set, NS_NewHTMLUnknownElement,
408       NS_NewSVGSetElement, nsHtml5TreeBuilder::OTHER);
409   ELT_USE = new nsHtml5ElementName(
410       nsGkAtoms::use, nsGkAtoms::use, NS_NewHTMLUnknownElement,
411       NS_NewSVGUseElement, nsHtml5TreeBuilder::OTHER);
412   ELT_VAR = new nsHtml5ElementName(
413       nsGkAtoms::var, nsGkAtoms::var, NS_NewHTMLElement,
414       NS_NewSVGUnknownElement,
415       nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
416   ELT_G = new nsHtml5ElementName(nsGkAtoms::g, nsGkAtoms::g,
417                                  NS_NewHTMLUnknownElement, NS_NewSVGGElement,
418                                  nsHtml5TreeBuilder::OTHER);
419   ELT_WBR = new nsHtml5ElementName(nsGkAtoms::wbr, nsGkAtoms::wbr,
420                                    NS_NewHTMLElement, NS_NewSVGUnknownElement,
421                                    nsHtml5TreeBuilder::AREA_OR_WBR | SPECIAL);
422   ELT_XMP = new nsHtml5ElementName(
423       nsGkAtoms::xmp, nsGkAtoms::xmp, NS_NewHTMLPreElement,
424       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::XMP | SPECIAL);
425   ELT_I = new nsHtml5ElementName(
426       nsGkAtoms::i, nsGkAtoms::i, NS_NewHTMLElement, NS_NewSVGUnknownElement,
427       nsHtml5TreeBuilder::
428           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
429   ELT_P = new nsHtml5ElementName(
430       nsGkAtoms::p, nsGkAtoms::p, NS_NewHTMLParagraphElement,
431       NS_NewSVGUnknownElement,
432       nsHtml5TreeBuilder::P | SPECIAL | OPTIONAL_END_TAG);
433   ELT_Q = new nsHtml5ElementName(
434       nsGkAtoms::q, nsGkAtoms::q, NS_NewHTMLSharedElement,
435       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
436   ELT_S = new nsHtml5ElementName(
437       nsGkAtoms::s, nsGkAtoms::s, NS_NewHTMLElement, NS_NewSVGUnknownElement,
438       nsHtml5TreeBuilder::
439           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
440   ELT_U = new nsHtml5ElementName(
441       nsGkAtoms::u, nsGkAtoms::u, NS_NewHTMLElement, NS_NewSVGUnknownElement,
442       nsHtml5TreeBuilder::
443           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
444   ELT_H1 = new nsHtml5ElementName(
445       nsGkAtoms::h1, nsGkAtoms::h1, NS_NewHTMLHeadingElement,
446       NS_NewSVGUnknownElement,
447       nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
448   ELT_H2 = new nsHtml5ElementName(
449       nsGkAtoms::h2, nsGkAtoms::h2, NS_NewHTMLHeadingElement,
450       NS_NewSVGUnknownElement,
451       nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
452   ELT_H3 = new nsHtml5ElementName(
453       nsGkAtoms::h3, nsGkAtoms::h3, NS_NewHTMLHeadingElement,
454       NS_NewSVGUnknownElement,
455       nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
456   ELT_H4 = new nsHtml5ElementName(
457       nsGkAtoms::h4, nsGkAtoms::h4, NS_NewHTMLHeadingElement,
458       NS_NewSVGUnknownElement,
459       nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
460   ELT_H5 = new nsHtml5ElementName(
461       nsGkAtoms::h5, nsGkAtoms::h5, NS_NewHTMLHeadingElement,
462       NS_NewSVGUnknownElement,
463       nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
464   ELT_H6 = new nsHtml5ElementName(
465       nsGkAtoms::h6, nsGkAtoms::h6, NS_NewHTMLHeadingElement,
466       NS_NewSVGUnknownElement,
467       nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
468   ELT_AREA = new nsHtml5ElementName(
469       nsGkAtoms::area, nsGkAtoms::area, NS_NewHTMLAreaElement,
470       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::AREA_OR_WBR | SPECIAL);
471   ELT_DATA = new nsHtml5ElementName(
472       nsGkAtoms::data, nsGkAtoms::data, NS_NewHTMLDataElement,
473       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
474   ELT_FEFUNCA = new nsHtml5ElementName(
475       nsGkAtoms::fefunca, nsGkAtoms::feFuncA, NS_NewHTMLUnknownElement,
476       NS_NewSVGFEFuncAElement, nsHtml5TreeBuilder::OTHER);
477   ELT_METADATA = new nsHtml5ElementName(
478       nsGkAtoms::metadata, nsGkAtoms::metadata, NS_NewHTMLUnknownElement,
479       NS_NewSVGMetadataElement, nsHtml5TreeBuilder::OTHER);
480   ELT_META = new nsHtml5ElementName(
481       nsGkAtoms::meta, nsGkAtoms::meta, NS_NewHTMLMetaElement,
482       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::META | SPECIAL);
483   ELT_TEXTAREA = new nsHtml5ElementName(
484       nsGkAtoms::textarea, nsGkAtoms::textarea, NS_NewHTMLTextAreaElement,
485       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::TEXTAREA | SPECIAL);
486   ELT_FEFUNCB = new nsHtml5ElementName(
487       nsGkAtoms::fefuncb, nsGkAtoms::feFuncB, NS_NewHTMLUnknownElement,
488       NS_NewSVGFEFuncBElement, nsHtml5TreeBuilder::OTHER);
489   ELT_RB = new nsHtml5ElementName(
490       nsGkAtoms::rb, nsGkAtoms::rb, NS_NewHTMLElement, NS_NewSVGUnknownElement,
491       nsHtml5TreeBuilder::RB_OR_RTC | OPTIONAL_END_TAG);
492   ELT_DESC = new nsHtml5ElementName(
493       nsGkAtoms::desc, nsGkAtoms::desc, NS_NewHTMLUnknownElement,
494       NS_NewSVGDescElement,
495       nsHtml5TreeBuilder::FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG);
496   ELT_DD = new nsHtml5ElementName(
497       nsGkAtoms::dd, nsGkAtoms::dd, NS_NewHTMLElement, NS_NewSVGUnknownElement,
498       nsHtml5TreeBuilder::DD_OR_DT | SPECIAL | OPTIONAL_END_TAG);
499   ELT_BGSOUND = new nsHtml5ElementName(
500       nsGkAtoms::bgsound, nsGkAtoms::bgsound, NS_NewHTMLUnknownElement,
501       NS_NewSVGUnknownElement,
502       nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
503   ELT_EMBED = new nsHtml5ElementName(
504       nsGkAtoms::embed, nsGkAtoms::embed, NS_NewHTMLEmbedElement,
505       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::EMBED | SPECIAL);
506   ELT_FEBLEND = new nsHtml5ElementName(
507       nsGkAtoms::feblend, nsGkAtoms::feBlend, NS_NewHTMLUnknownElement,
508       NS_NewSVGFEBlendElement, nsHtml5TreeBuilder::OTHER);
509   ELT_FEFLOOD = new nsHtml5ElementName(
510       nsGkAtoms::feflood, nsGkAtoms::feFlood, NS_NewHTMLUnknownElement,
511       NS_NewSVGFEFloodElement, nsHtml5TreeBuilder::OTHER);
512   ELT_HEAD = new nsHtml5ElementName(
513       nsGkAtoms::head, nsGkAtoms::head, NS_NewHTMLSharedElement,
514       NS_NewSVGUnknownElement,
515       nsHtml5TreeBuilder::HEAD | SPECIAL | OPTIONAL_END_TAG);
516   ELT_LEGEND = new nsHtml5ElementName(
517       nsGkAtoms::legend, nsGkAtoms::legend, NS_NewHTMLLegendElement,
518       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
519   ELT_NOEMBED = new nsHtml5ElementName(
520       nsGkAtoms::noembed, nsGkAtoms::noembed, NS_NewHTMLElement,
521       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::NOEMBED | SPECIAL);
522   ELT_TD = new nsHtml5ElementName(
523       nsGkAtoms::td, nsGkAtoms::td, NS_NewHTMLTableCellElement,
524       NS_NewSVGUnknownElement,
525       nsHtml5TreeBuilder::TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG);
526   ELT_THEAD = new nsHtml5ElementName(
527       nsGkAtoms::thead, nsGkAtoms::thead, NS_NewHTMLTableSectionElement,
528       NS_NewSVGUnknownElement,
529       nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING |
530           OPTIONAL_END_TAG);
531   ELT_ASIDE = new nsHtml5ElementName(
532       nsGkAtoms::aside, nsGkAtoms::aside, NS_NewHTMLElement,
533       NS_NewSVGUnknownElement,
534       nsHtml5TreeBuilder::
535               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
536           SPECIAL);
537   ELT_ARTICLE = new nsHtml5ElementName(
538       nsGkAtoms::article, nsGkAtoms::article, NS_NewHTMLElement,
539       NS_NewSVGUnknownElement,
540       nsHtml5TreeBuilder::
541               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
542           SPECIAL);
543   ELT_ANIMATE = new nsHtml5ElementName(
544       nsGkAtoms::animate, nsGkAtoms::animate, NS_NewHTMLUnknownElement,
545       NS_NewSVGAnimateElement, nsHtml5TreeBuilder::OTHER);
546   ELT_BASE = new nsHtml5ElementName(
547       nsGkAtoms::base, nsGkAtoms::base, NS_NewHTMLSharedElement,
548       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::BASE | SPECIAL);
549   ELT_BLOCKQUOTE = new nsHtml5ElementName(
550       nsGkAtoms::blockquote, nsGkAtoms::blockquote, NS_NewHTMLSharedElement,
551       NS_NewSVGUnknownElement,
552       nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
553   ELT_CODE = new nsHtml5ElementName(
554       nsGkAtoms::code, nsGkAtoms::code, NS_NewHTMLElement,
555       NS_NewSVGUnknownElement,
556       nsHtml5TreeBuilder::
557           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
558   ELT_CIRCLE = new nsHtml5ElementName(
559       nsGkAtoms::circle, nsGkAtoms::circle, NS_NewHTMLUnknownElement,
560       NS_NewSVGCircleElement, nsHtml5TreeBuilder::OTHER);
561   ELT_CITE = new nsHtml5ElementName(nsGkAtoms::cite, nsGkAtoms::cite,
562                                     NS_NewHTMLElement, NS_NewSVGUnknownElement,
563                                     nsHtml5TreeBuilder::OTHER);
564   ELT_ELLIPSE = new nsHtml5ElementName(
565       nsGkAtoms::ellipse, nsGkAtoms::ellipse, NS_NewHTMLUnknownElement,
566       NS_NewSVGEllipseElement, nsHtml5TreeBuilder::OTHER);
567   ELT_FETURBULENCE = new nsHtml5ElementName(
568       nsGkAtoms::feturbulence, nsGkAtoms::feTurbulence,
569       NS_NewHTMLUnknownElement, NS_NewSVGFETurbulenceElement,
570       nsHtml5TreeBuilder::OTHER);
571   ELT_FEMERGENODE = new nsHtml5ElementName(
572       nsGkAtoms::femergenode, nsGkAtoms::feMergeNode, NS_NewHTMLUnknownElement,
573       NS_NewSVGFEMergeNodeElement, nsHtml5TreeBuilder::OTHER);
574   ELT_FEIMAGE = new nsHtml5ElementName(
575       nsGkAtoms::feimage, nsGkAtoms::feImage, NS_NewHTMLUnknownElement,
576       NS_NewSVGFEImageElement, nsHtml5TreeBuilder::OTHER);
577   ELT_FEMERGE = new nsHtml5ElementName(
578       nsGkAtoms::femerge, nsGkAtoms::feMerge, NS_NewHTMLUnknownElement,
579       NS_NewSVGFEMergeElement, nsHtml5TreeBuilder::OTHER);
580   ELT_FETILE = new nsHtml5ElementName(
581       nsGkAtoms::fetile, nsGkAtoms::feTile, NS_NewHTMLUnknownElement,
582       NS_NewSVGFETileElement, nsHtml5TreeBuilder::OTHER);
583   ELT_FRAME = new nsHtml5ElementName(
584       nsGkAtoms::frame, nsGkAtoms::frame, NS_NewHTMLFrameElement,
585       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::FRAME | SPECIAL);
586   ELT_FIGURE = new nsHtml5ElementName(
587       nsGkAtoms::figure, nsGkAtoms::figure, NS_NewHTMLElement,
588       NS_NewSVGUnknownElement,
589       nsHtml5TreeBuilder::
590               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
591           SPECIAL);
592   ELT_FECOMPOSITE = new nsHtml5ElementName(
593       nsGkAtoms::fecomposite, nsGkAtoms::feComposite, NS_NewHTMLUnknownElement,
594       NS_NewSVGFECompositeElement, nsHtml5TreeBuilder::OTHER);
595   ELT_IMAGE = new nsHtml5ElementName(nsGkAtoms::image, nsGkAtoms::image,
596                                      NS_NewHTMLElement, NS_NewSVGImageElement,
597                                      nsHtml5TreeBuilder::IMAGE);
598   ELT_IFRAME = new nsHtml5ElementName(
599       nsGkAtoms::iframe, nsGkAtoms::iframe, NS_NewHTMLIFrameElement,
600       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::IFRAME | SPECIAL);
601   ELT_LINE = new nsHtml5ElementName(
602       nsGkAtoms::line, nsGkAtoms::line, NS_NewHTMLUnknownElement,
603       NS_NewSVGLineElement, nsHtml5TreeBuilder::OTHER);
604   ELT_MARQUEE = new nsHtml5ElementName(
605       nsGkAtoms::marquee, nsGkAtoms::marquee, NS_NewHTMLMarqueeElement,
606       NS_NewSVGUnknownElement,
607       nsHtml5TreeBuilder::MARQUEE_OR_APPLET | SPECIAL | SCOPING);
608   ELT_POLYLINE = new nsHtml5ElementName(
609       nsGkAtoms::polyline, nsGkAtoms::polyline, NS_NewHTMLUnknownElement,
610       NS_NewSVGPolylineElement, nsHtml5TreeBuilder::OTHER);
611   ELT_PICTURE = new nsHtml5ElementName(
612       nsGkAtoms::picture, nsGkAtoms::picture, NS_NewHTMLPictureElement,
613       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
614   ELT_SOURCE = new nsHtml5ElementName(
615       nsGkAtoms::source, nsGkAtoms::source, NS_NewHTMLSourceElement,
616       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK);
617   ELT_STRIKE = new nsHtml5ElementName(
618       nsGkAtoms::strike, nsGkAtoms::strike, NS_NewHTMLElement,
619       NS_NewSVGUnknownElement,
620       nsHtml5TreeBuilder::
621           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
622   ELT_STYLE = new nsHtml5ElementName(
623       nsGkAtoms::style, nsGkAtoms::style, NS_NewHTMLStyleElement,
624       NS_NewSVGStyleElement, nsHtml5TreeBuilder::STYLE | SPECIAL);
625   ELT_TABLE = new nsHtml5ElementName(
626       nsGkAtoms::table, nsGkAtoms::table, NS_NewHTMLTableElement,
627       NS_NewSVGUnknownElement,
628       nsHtml5TreeBuilder::TABLE | SPECIAL | FOSTER_PARENTING | SCOPING);
629   ELT_TITLE = new nsHtml5ElementName(
630       nsGkAtoms::title, nsGkAtoms::title, NS_NewHTMLTitleElement,
631       NS_NewSVGTitleElement,
632       nsHtml5TreeBuilder::TITLE | SPECIAL | SCOPING_AS_SVG);
633   ELT_TIME = new nsHtml5ElementName(
634       nsGkAtoms::time, nsGkAtoms::time, NS_NewHTMLTimeElement,
635       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
636   ELT_TEMPLATE =
637       new nsHtml5ElementName(nsGkAtoms::_template, nsGkAtoms::_template,
638                              NS_NewHTMLTemplateElement, NS_NewSVGUnknownElement,
639                              nsHtml5TreeBuilder::TEMPLATE | SPECIAL | SCOPING);
640   ELT_ALTGLYPHDEF = new nsHtml5ElementName(
641       nsGkAtoms::altglyphdef, nsGkAtoms::altGlyphDef, NS_NewHTMLUnknownElement,
642       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
643   ELT_GLYPHREF = new nsHtml5ElementName(
644       nsGkAtoms::glyphref, nsGkAtoms::glyphRef, NS_NewHTMLUnknownElement,
645       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
646   ELT_DIALOG = new nsHtml5ElementName(
647       nsGkAtoms::dialog, nsGkAtoms::dialog, NS_NewHTMLDialogElement,
648       NS_NewSVGUnknownElement,
649       nsHtml5TreeBuilder::
650               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
651           SPECIAL);
652   ELT_FEFUNCG = new nsHtml5ElementName(
653       nsGkAtoms::fefuncg, nsGkAtoms::feFuncG, NS_NewHTMLUnknownElement,
654       NS_NewSVGFEFuncGElement, nsHtml5TreeBuilder::OTHER);
655   ELT_FEDIFFUSELIGHTING = new nsHtml5ElementName(
656       nsGkAtoms::fediffuselighting, nsGkAtoms::feDiffuseLighting,
657       NS_NewHTMLUnknownElement, NS_NewSVGFEDiffuseLightingElement,
658       nsHtml5TreeBuilder::OTHER);
659   ELT_FESPECULARLIGHTING = new nsHtml5ElementName(
660       nsGkAtoms::fespecularlighting, nsGkAtoms::feSpecularLighting,
661       NS_NewHTMLUnknownElement, NS_NewSVGFESpecularLightingElement,
662       nsHtml5TreeBuilder::OTHER);
663   ELT_LISTING = new nsHtml5ElementName(
664       nsGkAtoms::listing, nsGkAtoms::listing, NS_NewHTMLPreElement,
665       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::PRE_OR_LISTING | SPECIAL);
666   ELT_STRONG = new nsHtml5ElementName(
667       nsGkAtoms::strong, nsGkAtoms::strong, NS_NewHTMLElement,
668       NS_NewSVGUnknownElement,
669       nsHtml5TreeBuilder::
670           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
671   ELT_ALTGLYPH = new nsHtml5ElementName(
672       nsGkAtoms::altglyph, nsGkAtoms::altGlyph, NS_NewHTMLUnknownElement,
673       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
674   ELT_CLIPPATH = new nsHtml5ElementName(
675       nsGkAtoms::clippath, nsGkAtoms::clipPath, NS_NewHTMLUnknownElement,
676       NS_NewSVGClipPathElement, nsHtml5TreeBuilder::OTHER);
677   ELT_MGLYPH = new nsHtml5ElementName(
678       nsGkAtoms::mglyph_, nsGkAtoms::mglyph_, NS_NewHTMLUnknownElement,
679       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::MGLYPH_OR_MALIGNMARK);
680   ELT_MATH = new nsHtml5ElementName(
681       nsGkAtoms::math, nsGkAtoms::math, NS_NewHTMLUnknownElement,
682       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::MATH);
683   ELT_MPATH = new nsHtml5ElementName(
684       nsGkAtoms::mpath, nsGkAtoms::mpath, NS_NewHTMLUnknownElement,
685       NS_NewSVGMPathElement, nsHtml5TreeBuilder::OTHER);
686   ELT_PATH = new nsHtml5ElementName(
687       nsGkAtoms::path, nsGkAtoms::path, NS_NewHTMLUnknownElement,
688       NS_NewSVGPathElement, nsHtml5TreeBuilder::OTHER);
689   ELT_TH = new nsHtml5ElementName(
690       nsGkAtoms::th, nsGkAtoms::th, NS_NewHTMLTableCellElement,
691       NS_NewSVGUnknownElement,
692       nsHtml5TreeBuilder::TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG);
693   ELT_SWITCH = new nsHtml5ElementName(
694       nsGkAtoms::svgSwitch, nsGkAtoms::svgSwitch, NS_NewHTMLUnknownElement,
695       NS_NewSVGSwitchElement, nsHtml5TreeBuilder::OTHER);
696   ELT_TEXTPATH = new nsHtml5ElementName(
697       nsGkAtoms::textpath, nsGkAtoms::textPath, NS_NewHTMLUnknownElement,
698       NS_NewSVGTextPathElement, nsHtml5TreeBuilder::OTHER);
699   ELT_LI = new nsHtml5ElementName(
700       nsGkAtoms::li, nsGkAtoms::li, NS_NewHTMLLIElement,
701       NS_NewSVGUnknownElement,
702       nsHtml5TreeBuilder::LI | SPECIAL | OPTIONAL_END_TAG);
703   ELT_MI = new nsHtml5ElementName(
704       nsGkAtoms::mi_, nsGkAtoms::mi_, NS_NewHTMLUnknownElement,
705       NS_NewSVGUnknownElement,
706       nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
707   ELT_LINK = new nsHtml5ElementName(
708       nsGkAtoms::link, nsGkAtoms::link, NS_NewHTMLLinkElement,
709       NS_NewSVGUnknownElement,
710       nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
711   ELT_MARK = new nsHtml5ElementName(nsGkAtoms::mark, nsGkAtoms::mark,
712                                     NS_NewHTMLElement, NS_NewSVGUnknownElement,
713                                     nsHtml5TreeBuilder::OTHER);
714   ELT_MALIGNMARK = new nsHtml5ElementName(
715       nsGkAtoms::malignmark_, nsGkAtoms::malignmark_, NS_NewHTMLUnknownElement,
716       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::MGLYPH_OR_MALIGNMARK);
717   ELT_MASK = new nsHtml5ElementName(
718       nsGkAtoms::mask, nsGkAtoms::mask, NS_NewHTMLUnknownElement,
719       NS_NewSVGMaskElement, nsHtml5TreeBuilder::OTHER);
720   ELT_TRACK = new nsHtml5ElementName(
721       nsGkAtoms::track, nsGkAtoms::track, NS_NewHTMLTrackElement,
722       NS_NewSVGUnknownElement,
723       nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK | SPECIAL);
724   ELT_DL = new nsHtml5ElementName(
725       nsGkAtoms::dl, nsGkAtoms::dl, NS_NewHTMLSharedListElement,
726       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
727   ELT_HTML = new nsHtml5ElementName(
728       nsGkAtoms::html, nsGkAtoms::html, NS_NewHTMLSharedElement,
729       NS_NewSVGUnknownElement,
730       nsHtml5TreeBuilder::HTML | SPECIAL | SCOPING | OPTIONAL_END_TAG);
731   ELT_OL = new nsHtml5ElementName(
732       nsGkAtoms::ol, nsGkAtoms::ol, NS_NewHTMLSharedListElement,
733       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
734   ELT_LABEL = new nsHtml5ElementName(
735       nsGkAtoms::label, nsGkAtoms::label, NS_NewHTMLLabelElement,
736       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
737   ELT_UL = new nsHtml5ElementName(
738       nsGkAtoms::ul, nsGkAtoms::ul, NS_NewHTMLSharedListElement,
739       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
740   ELT_SMALL = new nsHtml5ElementName(
741       nsGkAtoms::small, nsGkAtoms::small, NS_NewHTMLElement,
742       NS_NewSVGUnknownElement,
743       nsHtml5TreeBuilder::
744           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
745   ELT_SYMBOL = new nsHtml5ElementName(
746       nsGkAtoms::symbol, nsGkAtoms::symbol, NS_NewHTMLUnknownElement,
747       NS_NewSVGSymbolElement, nsHtml5TreeBuilder::OTHER);
748   ELT_ALTGLYPHITEM =
749       new nsHtml5ElementName(nsGkAtoms::altglyphitem, nsGkAtoms::altGlyphItem,
750                              NS_NewHTMLUnknownElement, NS_NewSVGUnknownElement,
751                              nsHtml5TreeBuilder::OTHER);
752   ELT_ANIMATETRANSFORM = new nsHtml5ElementName(
753       nsGkAtoms::animatetransform, nsGkAtoms::animateTransform,
754       NS_NewHTMLUnknownElement, NS_NewSVGAnimateTransformElement,
755       nsHtml5TreeBuilder::OTHER);
756   ELT_ACRONYM = new nsHtml5ElementName(
757       nsGkAtoms::acronym, nsGkAtoms::acronym, NS_NewHTMLElement,
758       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
759   ELT_EM = new nsHtml5ElementName(
760       nsGkAtoms::em, nsGkAtoms::em, NS_NewHTMLElement, NS_NewSVGUnknownElement,
761       nsHtml5TreeBuilder::
762           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
763   ELT_FORM = new nsHtml5ElementName(
764       nsGkAtoms::form, nsGkAtoms::form, NS_NewHTMLFormElement,
765       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::FORM | SPECIAL);
766   ELT_MENUITEM = new nsHtml5ElementName(
767       nsGkAtoms::menuitem, nsGkAtoms::menuitem, NS_NewHTMLMenuItemElement,
768       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::MENUITEM);
769   ELT_PARAM = new nsHtml5ElementName(
770       nsGkAtoms::param, nsGkAtoms::param, NS_NewHTMLSharedElement,
771       NS_NewSVGUnknownElement,
772       nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK | SPECIAL);
773   ELT_ANIMATEMOTION = new nsHtml5ElementName(
774       nsGkAtoms::animatemotion, nsGkAtoms::animateMotion,
775       NS_NewHTMLUnknownElement, NS_NewSVGAnimateMotionElement,
776       nsHtml5TreeBuilder::OTHER);
777   ELT_BUTTON = new nsHtml5ElementName(
778       nsGkAtoms::button, nsGkAtoms::button, NS_NewHTMLButtonElement,
779       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::BUTTON | SPECIAL);
780   ELT_CAPTION = new nsHtml5ElementName(
781       nsGkAtoms::caption, nsGkAtoms::caption, NS_NewHTMLTableCaptionElement,
782       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::CAPTION | SPECIAL | SCOPING);
783   ELT_FIGCAPTION = new nsHtml5ElementName(
784       nsGkAtoms::figcaption, nsGkAtoms::figcaption, NS_NewHTMLElement,
785       NS_NewSVGUnknownElement,
786       nsHtml5TreeBuilder::
787               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
788           SPECIAL);
789   ELT_MN = new nsHtml5ElementName(
790       nsGkAtoms::mn_, nsGkAtoms::mn_, NS_NewHTMLUnknownElement,
791       NS_NewSVGUnknownElement,
792       nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
793   ELT_KEYGEN = new nsHtml5ElementName(
794       nsGkAtoms::keygen, nsGkAtoms::keygen, NS_NewHTMLElement,
795       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::KEYGEN | SPECIAL);
796   ELT_MAIN = new nsHtml5ElementName(
797       nsGkAtoms::main, nsGkAtoms::main, NS_NewHTMLElement,
798       NS_NewSVGUnknownElement,
799       nsHtml5TreeBuilder::
800               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
801           SPECIAL);
802   ELT_OPTION = new nsHtml5ElementName(
803       nsGkAtoms::option, nsGkAtoms::option, NS_NewHTMLOptionElement,
804       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OPTION | OPTIONAL_END_TAG);
805   ELT_POLYGON = new nsHtml5ElementName(
806       nsGkAtoms::polygon, nsGkAtoms::polygon, NS_NewHTMLUnknownElement,
807       NS_NewSVGPolygonElement, nsHtml5TreeBuilder::OTHER);
808   ELT_PATTERN = new nsHtml5ElementName(
809       nsGkAtoms::pattern, nsGkAtoms::pattern, NS_NewHTMLUnknownElement,
810       NS_NewSVGPatternElement, nsHtml5TreeBuilder::OTHER);
811   ELT_SPAN = new nsHtml5ElementName(
812       nsGkAtoms::span, nsGkAtoms::span, NS_NewHTMLSpanElement,
813       NS_NewSVGUnknownElement,
814       nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
815   ELT_SECTION = new nsHtml5ElementName(
816       nsGkAtoms::section, nsGkAtoms::section, NS_NewHTMLElement,
817       NS_NewSVGUnknownElement,
818       nsHtml5TreeBuilder::
819               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
820           SPECIAL);
821   ELT_TSPAN = new nsHtml5ElementName(
822       nsGkAtoms::tspan, nsGkAtoms::tspan, NS_NewHTMLUnknownElement,
823       NS_NewSVGTSpanElement, nsHtml5TreeBuilder::OTHER);
824   ELT_AUDIO = new nsHtml5ElementName(
825       nsGkAtoms::audio, nsGkAtoms::audio, NS_NewHTMLAudioElement,
826       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
827   ELT_MO = new nsHtml5ElementName(
828       nsGkAtoms::mo_, nsGkAtoms::mo_, NS_NewHTMLUnknownElement,
829       NS_NewSVGUnknownElement,
830       nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
831   ELT_VIDEO = new nsHtml5ElementName(
832       nsGkAtoms::video, nsGkAtoms::video, NS_NewHTMLVideoElement,
833       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
834   ELT_COLGROUP = new nsHtml5ElementName(
835       nsGkAtoms::colgroup, nsGkAtoms::colgroup, NS_NewHTMLTableColElement,
836       NS_NewSVGUnknownElement,
837       nsHtml5TreeBuilder::COLGROUP | SPECIAL | OPTIONAL_END_TAG);
838   ELT_FEDISPLACEMENTMAP = new nsHtml5ElementName(
839       nsGkAtoms::fedisplacementmap, nsGkAtoms::feDisplacementMap,
840       NS_NewHTMLUnknownElement, NS_NewSVGFEDisplacementMapElement,
841       nsHtml5TreeBuilder::OTHER);
842   ELT_HGROUP = new nsHtml5ElementName(
843       nsGkAtoms::hgroup, nsGkAtoms::hgroup, NS_NewHTMLElement,
844       NS_NewSVGUnknownElement,
845       nsHtml5TreeBuilder::
846               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
847           SPECIAL);
848   ELT_RP = new nsHtml5ElementName(
849       nsGkAtoms::rp, nsGkAtoms::rp, NS_NewHTMLElement, NS_NewSVGUnknownElement,
850       nsHtml5TreeBuilder::RT_OR_RP | OPTIONAL_END_TAG);
851   ELT_OPTGROUP = new nsHtml5ElementName(
852       nsGkAtoms::optgroup, nsGkAtoms::optgroup, NS_NewHTMLOptGroupElement,
853       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OPTGROUP | OPTIONAL_END_TAG);
854   ELT_SAMP = new nsHtml5ElementName(nsGkAtoms::samp, nsGkAtoms::samp,
855                                     NS_NewHTMLElement, NS_NewSVGUnknownElement,
856                                     nsHtml5TreeBuilder::OTHER);
857   ELT_STOP = new nsHtml5ElementName(
858       nsGkAtoms::stop, nsGkAtoms::stop, NS_NewHTMLUnknownElement,
859       NS_NewSVGStopElement, nsHtml5TreeBuilder::OTHER);
860   ELT_BR = new nsHtml5ElementName(nsGkAtoms::br, nsGkAtoms::br,
861                                   NS_NewHTMLBRElement, NS_NewSVGUnknownElement,
862                                   nsHtml5TreeBuilder::BR | SPECIAL);
863   ELT_ABBR = new nsHtml5ElementName(nsGkAtoms::abbr, nsGkAtoms::abbr,
864                                     NS_NewHTMLElement, NS_NewSVGUnknownElement,
865                                     nsHtml5TreeBuilder::OTHER);
866   ELT_ANIMATECOLOR =
867       new nsHtml5ElementName(nsGkAtoms::animatecolor, nsGkAtoms::animateColor,
868                              NS_NewHTMLUnknownElement, NS_NewSVGUnknownElement,
869                              nsHtml5TreeBuilder::OTHER);
870   ELT_CENTER = new nsHtml5ElementName(
871       nsGkAtoms::center, nsGkAtoms::center, NS_NewHTMLElement,
872       NS_NewSVGUnknownElement,
873       nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
874   ELT_HR = new nsHtml5ElementName(nsGkAtoms::hr, nsGkAtoms::hr,
875                                   NS_NewHTMLHRElement, NS_NewSVGUnknownElement,
876                                   nsHtml5TreeBuilder::HR | SPECIAL);
877   ELT_FEFUNCR = new nsHtml5ElementName(
878       nsGkAtoms::fefuncr, nsGkAtoms::feFuncR, NS_NewHTMLUnknownElement,
879       NS_NewSVGFEFuncRElement, nsHtml5TreeBuilder::OTHER);
880   ELT_FECOMPONENTTRANSFER = new nsHtml5ElementName(
881       nsGkAtoms::fecomponenttransfer, nsGkAtoms::feComponentTransfer,
882       NS_NewHTMLUnknownElement, NS_NewSVGFEComponentTransferElement,
883       nsHtml5TreeBuilder::OTHER);
884   ELT_FILTER = new nsHtml5ElementName(
885       nsGkAtoms::filter, nsGkAtoms::filter, NS_NewHTMLUnknownElement,
886       NS_NewSVGFilterElement, nsHtml5TreeBuilder::OTHER);
887   ELT_FOOTER = new nsHtml5ElementName(
888       nsGkAtoms::footer, nsGkAtoms::footer, NS_NewHTMLElement,
889       NS_NewSVGUnknownElement,
890       nsHtml5TreeBuilder::
891               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
892           SPECIAL);
893   ELT_FEGAUSSIANBLUR = new nsHtml5ElementName(
894       nsGkAtoms::fegaussianblur, nsGkAtoms::feGaussianBlur,
895       NS_NewHTMLUnknownElement, NS_NewSVGFEGaussianBlurElement,
896       nsHtml5TreeBuilder::OTHER);
897   ELT_HEADER = new nsHtml5ElementName(
898       nsGkAtoms::header, nsGkAtoms::header, NS_NewHTMLElement,
899       NS_NewSVGUnknownElement,
900       nsHtml5TreeBuilder::
901               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
902           SPECIAL);
903   ELT_MARKER = new nsHtml5ElementName(
904       nsGkAtoms::marker, nsGkAtoms::marker, NS_NewHTMLUnknownElement,
905       NS_NewSVGMarkerElement, nsHtml5TreeBuilder::OTHER);
906   ELT_METER = new nsHtml5ElementName(
907       nsGkAtoms::meter, nsGkAtoms::meter, NS_NewHTMLMeterElement,
908       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
909   ELT_NOBR = new nsHtml5ElementName(nsGkAtoms::nobr, nsGkAtoms::nobr,
910                                     NS_NewHTMLElement, NS_NewSVGUnknownElement,
911                                     nsHtml5TreeBuilder::NOBR);
912   ELT_TR = new nsHtml5ElementName(
913       nsGkAtoms::tr, nsGkAtoms::tr, NS_NewHTMLTableRowElement,
914       NS_NewSVGUnknownElement,
915       nsHtml5TreeBuilder::TR | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
916   ELT_ADDRESS = new nsHtml5ElementName(
917       nsGkAtoms::address, nsGkAtoms::address, NS_NewHTMLElement,
918       NS_NewSVGUnknownElement,
919       nsHtml5TreeBuilder::
920               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
921           SPECIAL);
922   ELT_CANVAS = new nsHtml5ElementName(
923       nsGkAtoms::canvas, nsGkAtoms::canvas, NS_NewHTMLCanvasElement,
924       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
925   ELT_DEFS = new nsHtml5ElementName(
926       nsGkAtoms::defs, nsGkAtoms::defs, NS_NewHTMLUnknownElement,
927       NS_NewSVGDefsElement, nsHtml5TreeBuilder::OTHER);
928   ELT_DETAILS = new nsHtml5ElementName(
929       nsGkAtoms::details, nsGkAtoms::details, NS_NewHTMLDetailsElement,
930       NS_NewSVGUnknownElement,
931       nsHtml5TreeBuilder::
932               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
933           SPECIAL);
934   ELT_MS = new nsHtml5ElementName(
935       nsGkAtoms::ms_, nsGkAtoms::ms_, NS_NewHTMLUnknownElement,
936       NS_NewSVGUnknownElement,
937       nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
938   ELT_NOFRAMES = new nsHtml5ElementName(
939       nsGkAtoms::noframes, nsGkAtoms::noframes, NS_NewHTMLElement,
940       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::NOFRAMES | SPECIAL);
941   ELT_PROGRESS = new nsHtml5ElementName(
942       nsGkAtoms::progress, nsGkAtoms::progress, NS_NewHTMLProgressElement,
943       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
944   ELT_DT = new nsHtml5ElementName(
945       nsGkAtoms::dt, nsGkAtoms::dt, NS_NewHTMLElement, NS_NewSVGUnknownElement,
946       nsHtml5TreeBuilder::DD_OR_DT | SPECIAL | OPTIONAL_END_TAG);
947   ELT_APPLET = new nsHtml5ElementName(
948       nsGkAtoms::applet, nsGkAtoms::applet, NS_NewHTMLUnknownElement,
949       NS_NewSVGUnknownElement,
950       nsHtml5TreeBuilder::MARQUEE_OR_APPLET | SPECIAL | SCOPING);
951   ELT_BASEFONT = new nsHtml5ElementName(
952       nsGkAtoms::basefont, nsGkAtoms::basefont, NS_NewHTMLElement,
953       NS_NewSVGUnknownElement,
954       nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
955   ELT_DATALIST = new nsHtml5ElementName(
956       nsGkAtoms::datalist, nsGkAtoms::datalist, NS_NewHTMLDataListElement,
957       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
958   ELT_FOREIGNOBJECT = new nsHtml5ElementName(
959       nsGkAtoms::foreignobject, nsGkAtoms::foreignObject,
960       NS_NewHTMLUnknownElement, NS_NewSVGForeignObjectElement,
961       nsHtml5TreeBuilder::FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG);
962   ELT_FIELDSET = new nsHtml5ElementName(
963       nsGkAtoms::fieldset, nsGkAtoms::fieldset, NS_NewHTMLFieldSetElement,
964       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::FIELDSET | SPECIAL);
965   ELT_FRAMESET = new nsHtml5ElementName(
966       nsGkAtoms::frameset, nsGkAtoms::frameset, NS_NewHTMLFrameSetElement,
967       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::FRAMESET | SPECIAL);
968   ELT_FEOFFSET = new nsHtml5ElementName(
969       nsGkAtoms::feoffset, nsGkAtoms::feOffset, NS_NewHTMLUnknownElement,
970       NS_NewSVGFEOffsetElement, nsHtml5TreeBuilder::OTHER);
971   ELT_FESPOTLIGHT = new nsHtml5ElementName(
972       nsGkAtoms::fespotlight, nsGkAtoms::feSpotLight, NS_NewHTMLUnknownElement,
973       NS_NewSVGFESpotLightElement, nsHtml5TreeBuilder::OTHER);
974   ELT_FEPOINTLIGHT = new nsHtml5ElementName(
975       nsGkAtoms::fepointlight, nsGkAtoms::fePointLight,
976       NS_NewHTMLUnknownElement, NS_NewSVGFEPointLightElement,
977       nsHtml5TreeBuilder::OTHER);
978   ELT_FEDISTANTLIGHT = new nsHtml5ElementName(
979       nsGkAtoms::fedistantlight, nsGkAtoms::feDistantLight,
980       NS_NewHTMLUnknownElement, NS_NewSVGFEDistantLightElement,
981       nsHtml5TreeBuilder::OTHER);
982   ELT_FONT = new nsHtml5ElementName(
983       nsGkAtoms::font, nsGkAtoms::font, NS_NewHTMLFontElement,
984       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::FONT);
985   ELT_INPUT = new nsHtml5ElementName(
986       nsGkAtoms::input, nsGkAtoms::input, NS_NewHTMLInputElement,
987       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::INPUT | SPECIAL);
988   ELT_LINEARGRADIENT = new nsHtml5ElementName(
989       nsGkAtoms::lineargradient, nsGkAtoms::linearGradient,
990       NS_NewHTMLUnknownElement, NS_NewSVGLinearGradientElement,
991       nsHtml5TreeBuilder::OTHER);
992   ELT_MTEXT = new nsHtml5ElementName(
993       nsGkAtoms::mtext_, nsGkAtoms::mtext_, NS_NewHTMLUnknownElement,
994       NS_NewSVGUnknownElement,
995       nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
996   ELT_NOSCRIPT = new nsHtml5ElementName(
997       nsGkAtoms::noscript, nsGkAtoms::noscript, NS_NewHTMLElement,
998       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::NOSCRIPT | SPECIAL);
999   ELT_RT = new nsHtml5ElementName(
1000       nsGkAtoms::rt, nsGkAtoms::rt, NS_NewHTMLElement, NS_NewSVGUnknownElement,
1001       nsHtml5TreeBuilder::RT_OR_RP | OPTIONAL_END_TAG);
1002   ELT_OBJECT = new nsHtml5ElementName(
1003       nsGkAtoms::object, nsGkAtoms::object, NS_NewHTMLObjectElement,
1004       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OBJECT | SPECIAL | SCOPING);
1005   ELT_OUTPUT = new nsHtml5ElementName(
1006       nsGkAtoms::output, nsGkAtoms::output, NS_NewHTMLOutputElement,
1007       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OUTPUT);
1008   ELT_PLAINTEXT = new nsHtml5ElementName(
1009       nsGkAtoms::plaintext, nsGkAtoms::plaintext, NS_NewHTMLElement,
1010       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::PLAINTEXT | SPECIAL);
1011   ELT_TT = new nsHtml5ElementName(
1012       nsGkAtoms::tt, nsGkAtoms::tt, NS_NewHTMLElement, NS_NewSVGUnknownElement,
1013       nsHtml5TreeBuilder::
1014           B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
1015   ELT_RECT = new nsHtml5ElementName(
1016       nsGkAtoms::rect, nsGkAtoms::rect, NS_NewHTMLUnknownElement,
1017       NS_NewSVGRectElement, nsHtml5TreeBuilder::OTHER);
1018   ELT_RADIALGRADIENT = new nsHtml5ElementName(
1019       nsGkAtoms::radialgradient, nsGkAtoms::radialGradient,
1020       NS_NewHTMLUnknownElement, NS_NewSVGRadialGradientElement,
1021       nsHtml5TreeBuilder::OTHER);
1022   ELT_SELECT = new nsHtml5ElementName(
1023       nsGkAtoms::select, nsGkAtoms::select, NS_NewHTMLSelectElement,
1024       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::SELECT | SPECIAL);
1025   ELT_SLOT = new nsHtml5ElementName(
1026       nsGkAtoms::slot, nsGkAtoms::slot, NS_NewHTMLSlotElement,
1027       NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
1028   ELT_SCRIPT = new nsHtml5ElementName(
1029       nsGkAtoms::script, nsGkAtoms::script, NS_NewHTMLScriptElement,
1030       NS_NewSVGScriptElement, nsHtml5TreeBuilder::SCRIPT | SPECIAL);
1031   ELT_TFOOT = new nsHtml5ElementName(
1032       nsGkAtoms::tfoot, nsGkAtoms::tfoot, NS_NewHTMLTableSectionElement,
1033       NS_NewSVGUnknownElement,
1034       nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING |
1035           OPTIONAL_END_TAG);
1036   ELT_TEXT = new nsHtml5ElementName(
1037       nsGkAtoms::text, nsGkAtoms::text, NS_NewHTMLUnknownElement,
1038       NS_NewSVGTextElement, nsHtml5TreeBuilder::OTHER);
1039   ELT_MENU = new nsHtml5ElementName(
1040       nsGkAtoms::menu, nsGkAtoms::menu, NS_NewHTMLMenuElement,
1041       NS_NewSVGUnknownElement,
1042       nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
1043   ELT_FEDROPSHADOW = new nsHtml5ElementName(
1044       nsGkAtoms::fedropshadow, nsGkAtoms::feDropShadow,
1045       NS_NewHTMLUnknownElement, NS_NewSVGFEDropShadowElement,
1046       nsHtml5TreeBuilder::OTHER);
1047   ELT_VIEW = new nsHtml5ElementName(
1048       nsGkAtoms::view, nsGkAtoms::view, NS_NewHTMLUnknownElement,
1049       NS_NewSVGViewElement, nsHtml5TreeBuilder::OTHER);
1050   ELT_FECOLORMATRIX = new nsHtml5ElementName(
1051       nsGkAtoms::fecolormatrix, nsGkAtoms::feColorMatrix,
1052       NS_NewHTMLUnknownElement, NS_NewSVGFEColorMatrixElement,
1053       nsHtml5TreeBuilder::OTHER);
1054   ELT_FECONVOLVEMATRIX = new nsHtml5ElementName(
1055       nsGkAtoms::feconvolvematrix, nsGkAtoms::feConvolveMatrix,
1056       NS_NewHTMLUnknownElement, NS_NewSVGFEConvolveMatrixElement,
1057       nsHtml5TreeBuilder::OTHER);
1058   ELT_BODY = new nsHtml5ElementName(
1059       nsGkAtoms::body, nsGkAtoms::body, NS_NewHTMLBodyElement,
1060       NS_NewSVGUnknownElement,
1061       nsHtml5TreeBuilder::BODY | SPECIAL | OPTIONAL_END_TAG);
1062   ELT_FEMORPHOLOGY = new nsHtml5ElementName(
1063       nsGkAtoms::femorphology, nsGkAtoms::feMorphology,
1064       NS_NewHTMLUnknownElement, NS_NewSVGFEMorphologyElement,
1065       nsHtml5TreeBuilder::OTHER);
1066   ELT_RUBY = new nsHtml5ElementName(
1067       nsGkAtoms::ruby, nsGkAtoms::ruby, NS_NewHTMLElement,
1068       NS_NewSVGUnknownElement,
1069       nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
1070   ELT_SUMMARY = new nsHtml5ElementName(
1071       nsGkAtoms::summary, nsGkAtoms::summary, NS_NewHTMLSummaryElement,
1072       NS_NewSVGUnknownElement,
1073       nsHtml5TreeBuilder::
1074               ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY |
1075           SPECIAL);
1076   ELT_TBODY = new nsHtml5ElementName(
1077       nsGkAtoms::tbody, nsGkAtoms::tbody, NS_NewHTMLTableSectionElement,
1078       NS_NewSVGUnknownElement,
1079       nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING |
1080           OPTIONAL_END_TAG);
1081   ELEMENT_NAMES = new nsHtml5ElementName*[207];
1082   ELEMENT_NAMES[0] = ELT_FIGCAPTION;
1083   ELEMENT_NAMES[1] = ELT_CITE;
1084   ELEMENT_NAMES[2] = ELT_FRAMESET;
1085   ELEMENT_NAMES[3] = ELT_H1;
1086   ELEMENT_NAMES[4] = ELT_CLIPPATH;
1087   ELEMENT_NAMES[5] = ELT_METER;
1088   ELEMENT_NAMES[6] = ELT_RADIALGRADIENT;
1089   ELEMENT_NAMES[7] = ELT_B;
1090   ELEMENT_NAMES[8] = ELT_BGSOUND;
1091   ELEMENT_NAMES[9] = ELT_SOURCE;
1092   ELEMENT_NAMES[10] = ELT_HTML;
1093   ELEMENT_NAMES[11] = ELT_RP;
1094   ELEMENT_NAMES[12] = ELT_NOFRAMES;
1095   ELEMENT_NAMES[13] = ELT_MTEXT;
1096   ELEMENT_NAMES[14] = ELT_VIEW;
1097   ELEMENT_NAMES[15] = ELT_DIV;
1098   ELEMENT_NAMES[16] = ELT_G;
1099   ELEMENT_NAMES[17] = ELT_FEFUNCA;
1100   ELEMENT_NAMES[18] = ELT_THEAD;
1101   ELEMENT_NAMES[19] = ELT_FIGURE;
1102   ELEMENT_NAMES[20] = ELT_GLYPHREF;
1103   ELEMENT_NAMES[21] = ELT_LI;
1104   ELEMENT_NAMES[22] = ELT_ACRONYM;
1105   ELEMENT_NAMES[23] = ELT_SECTION;
1106   ELEMENT_NAMES[24] = ELT_HR;
1107   ELEMENT_NAMES[25] = ELT_CANVAS;
1108   ELEMENT_NAMES[26] = ELT_BASEFONT;
1109   ELEMENT_NAMES[27] = ELT_FEDISTANTLIGHT;
1110   ELEMENT_NAMES[28] = ELT_OUTPUT;
1111   ELEMENT_NAMES[29] = ELT_TFOOT;
1112   ELEMENT_NAMES[30] = ELT_FEMORPHOLOGY;
1113   ELEMENT_NAMES[31] = ELT_COL;
1114   ELEMENT_NAMES[32] = ELT_MAP;
1115   ELEMENT_NAMES[33] = ELT_SUP;
1116   ELEMENT_NAMES[34] = ELT_P;
1117   ELEMENT_NAMES[35] = ELT_H5;
1118   ELEMENT_NAMES[36] = ELT_FEFUNCB;
1119   ELEMENT_NAMES[37] = ELT_HEAD;
1120   ELEMENT_NAMES[38] = ELT_BASE;
1121   ELEMENT_NAMES[39] = ELT_FEIMAGE;
1122   ELEMENT_NAMES[40] = ELT_LINE;
1123   ELEMENT_NAMES[41] = ELT_TITLE;
1124   ELEMENT_NAMES[42] = ELT_FESPECULARLIGHTING;
1125   ELEMENT_NAMES[43] = ELT_PATH;
1126   ELEMENT_NAMES[44] = ELT_MALIGNMARK;
1127   ELEMENT_NAMES[45] = ELT_SMALL;
1128   ELEMENT_NAMES[46] = ELT_PARAM;
1129   ELEMENT_NAMES[47] = ELT_OPTION;
1130   ELEMENT_NAMES[48] = ELT_VIDEO;
1131   ELEMENT_NAMES[49] = ELT_BR;
1132   ELEMENT_NAMES[50] = ELT_FOOTER;
1133   ELEMENT_NAMES[51] = ELT_TR;
1134   ELEMENT_NAMES[52] = ELT_DETAILS;
1135   ELEMENT_NAMES[53] = ELT_DT;
1136   ELEMENT_NAMES[54] = ELT_FOREIGNOBJECT;
1137   ELEMENT_NAMES[55] = ELT_FESPOTLIGHT;
1138   ELEMENT_NAMES[56] = ELT_INPUT;
1139   ELEMENT_NAMES[57] = ELT_RT;
1140   ELEMENT_NAMES[58] = ELT_TT;
1141   ELEMENT_NAMES[59] = ELT_SLOT;
1142   ELEMENT_NAMES[60] = ELT_MENU;
1143   ELEMENT_NAMES[61] = ELT_FECONVOLVEMATRIX;
1144   ELEMENT_NAMES[62] = ELT_SUMMARY;
1145   ELEMENT_NAMES[63] = ELT_BDI;
1146   ELEMENT_NAMES[64] = ELT_DFN;
1147   ELEMENT_NAMES[65] = ELT_INS;
1148   ELEMENT_NAMES[66] = ELT_PRE;
1149   ELEMENT_NAMES[67] = ELT_SUB;
1150   ELEMENT_NAMES[68] = ELT_USE;
1151   ELEMENT_NAMES[69] = ELT_XMP;
1152   ELEMENT_NAMES[70] = ELT_S;
1153   ELEMENT_NAMES[71] = ELT_H3;
1154   ELEMENT_NAMES[72] = ELT_AREA;
1155   ELEMENT_NAMES[73] = ELT_META;
1156   ELEMENT_NAMES[74] = ELT_DESC;
1157   ELEMENT_NAMES[75] = ELT_FEBLEND;
1158   ELEMENT_NAMES[76] = ELT_NOEMBED;
1159   ELEMENT_NAMES[77] = ELT_ARTICLE;
1160   ELEMENT_NAMES[78] = ELT_CODE;
1161   ELEMENT_NAMES[79] = ELT_FETURBULENCE;
1162   ELEMENT_NAMES[80] = ELT_FETILE;
1163   ELEMENT_NAMES[81] = ELT_IMAGE;
1164   ELEMENT_NAMES[82] = ELT_POLYLINE;
1165   ELEMENT_NAMES[83] = ELT_STYLE;
1166   ELEMENT_NAMES[84] = ELT_TEMPLATE;
1167   ELEMENT_NAMES[85] = ELT_FEFUNCG;
1168   ELEMENT_NAMES[86] = ELT_STRONG;
1169   ELEMENT_NAMES[87] = ELT_MATH;
1170   ELEMENT_NAMES[88] = ELT_SWITCH;
1171   ELEMENT_NAMES[89] = ELT_LINK;
1172   ELEMENT_NAMES[90] = ELT_TRACK;
1173   ELEMENT_NAMES[91] = ELT_LABEL;
1174   ELEMENT_NAMES[92] = ELT_ALTGLYPHITEM;
1175   ELEMENT_NAMES[93] = ELT_FORM;
1176   ELEMENT_NAMES[94] = ELT_BUTTON;
1177   ELEMENT_NAMES[95] = ELT_KEYGEN;
1178   ELEMENT_NAMES[96] = ELT_PATTERN;
1179   ELEMENT_NAMES[97] = ELT_AUDIO;
1180   ELEMENT_NAMES[98] = ELT_FEDISPLACEMENTMAP;
1181   ELEMENT_NAMES[99] = ELT_SAMP;
1182   ELEMENT_NAMES[100] = ELT_ANIMATECOLOR;
1183   ELEMENT_NAMES[101] = ELT_FECOMPONENTTRANSFER;
1184   ELEMENT_NAMES[102] = ELT_HEADER;
1185   ELEMENT_NAMES[103] = ELT_NOBR;
1186   ELEMENT_NAMES[104] = ELT_ADDRESS;
1187   ELEMENT_NAMES[105] = ELT_DEFS;
1188   ELEMENT_NAMES[106] = ELT_MS;
1189   ELEMENT_NAMES[107] = ELT_PROGRESS;
1190   ELEMENT_NAMES[108] = ELT_APPLET;
1191   ELEMENT_NAMES[109] = ELT_DATALIST;
1192   ELEMENT_NAMES[110] = ELT_FIELDSET;
1193   ELEMENT_NAMES[111] = ELT_FEOFFSET;
1194   ELEMENT_NAMES[112] = ELT_FEPOINTLIGHT;
1195   ELEMENT_NAMES[113] = ELT_FONT;
1196   ELEMENT_NAMES[114] = ELT_LINEARGRADIENT;
1197   ELEMENT_NAMES[115] = ELT_NOSCRIPT;
1198   ELEMENT_NAMES[116] = ELT_OBJECT;
1199   ELEMENT_NAMES[117] = ELT_PLAINTEXT;
1200   ELEMENT_NAMES[118] = ELT_RECT;
1201   ELEMENT_NAMES[119] = ELT_SELECT;
1202   ELEMENT_NAMES[120] = ELT_SCRIPT;
1203   ELEMENT_NAMES[121] = ELT_TEXT;
1204   ELEMENT_NAMES[122] = ELT_FEDROPSHADOW;
1205   ELEMENT_NAMES[123] = ELT_FECOLORMATRIX;
1206   ELEMENT_NAMES[124] = ELT_BODY;
1207   ELEMENT_NAMES[125] = ELT_RUBY;
1208   ELEMENT_NAMES[126] = ELT_TBODY;
1209   ELEMENT_NAMES[127] = ELT_BIG;
1210   ELEMENT_NAMES[128] = ELT_BDO;
1211   ELEMENT_NAMES[129] = ELT_DEL;
1212   ELEMENT_NAMES[130] = ELT_DIR;
1213   ELEMENT_NAMES[131] = ELT_IMG;
1214   ELEMENT_NAMES[132] = ELT_KBD;
1215   ELEMENT_NAMES[133] = ELT_NAV;
1216   ELEMENT_NAMES[134] = ELT_A;
1217   ELEMENT_NAMES[135] = ELT_RTC;
1218   ELEMENT_NAMES[136] = ELT_SVG;
1219   ELEMENT_NAMES[137] = ELT_SET;
1220   ELEMENT_NAMES[138] = ELT_VAR;
1221   ELEMENT_NAMES[139] = ELT_WBR;
1222   ELEMENT_NAMES[140] = ELT_I;
1223   ELEMENT_NAMES[141] = ELT_Q;
1224   ELEMENT_NAMES[142] = ELT_U;
1225   ELEMENT_NAMES[143] = ELT_H2;
1226   ELEMENT_NAMES[144] = ELT_H4;
1227   ELEMENT_NAMES[145] = ELT_H6;
1228   ELEMENT_NAMES[146] = ELT_DATA;
1229   ELEMENT_NAMES[147] = ELT_METADATA;
1230   ELEMENT_NAMES[148] = ELT_TEXTAREA;
1231   ELEMENT_NAMES[149] = ELT_RB;
1232   ELEMENT_NAMES[150] = ELT_DD;
1233   ELEMENT_NAMES[151] = ELT_EMBED;
1234   ELEMENT_NAMES[152] = ELT_FEFLOOD;
1235   ELEMENT_NAMES[153] = ELT_LEGEND;
1236   ELEMENT_NAMES[154] = ELT_TD;
1237   ELEMENT_NAMES[155] = ELT_ASIDE;
1238   ELEMENT_NAMES[156] = ELT_ANIMATE;
1239   ELEMENT_NAMES[157] = ELT_BLOCKQUOTE;
1240   ELEMENT_NAMES[158] = ELT_CIRCLE;
1241   ELEMENT_NAMES[159] = ELT_ELLIPSE;
1242   ELEMENT_NAMES[160] = ELT_FEMERGENODE;
1243   ELEMENT_NAMES[161] = ELT_FEMERGE;
1244   ELEMENT_NAMES[162] = ELT_FRAME;
1245   ELEMENT_NAMES[163] = ELT_FECOMPOSITE;
1246   ELEMENT_NAMES[164] = ELT_IFRAME;
1247   ELEMENT_NAMES[165] = ELT_MARQUEE;
1248   ELEMENT_NAMES[166] = ELT_PICTURE;
1249   ELEMENT_NAMES[167] = ELT_STRIKE;
1250   ELEMENT_NAMES[168] = ELT_TABLE;
1251   ELEMENT_NAMES[169] = ELT_TIME;
1252   ELEMENT_NAMES[170] = ELT_ALTGLYPHDEF;
1253   ELEMENT_NAMES[171] = ELT_DIALOG;
1254   ELEMENT_NAMES[172] = ELT_FEDIFFUSELIGHTING;
1255   ELEMENT_NAMES[173] = ELT_LISTING;
1256   ELEMENT_NAMES[174] = ELT_ALTGLYPH;
1257   ELEMENT_NAMES[175] = ELT_MGLYPH;
1258   ELEMENT_NAMES[176] = ELT_MPATH;
1259   ELEMENT_NAMES[177] = ELT_TH;
1260   ELEMENT_NAMES[178] = ELT_TEXTPATH;
1261   ELEMENT_NAMES[179] = ELT_MI;
1262   ELEMENT_NAMES[180] = ELT_MARK;
1263   ELEMENT_NAMES[181] = ELT_MASK;
1264   ELEMENT_NAMES[182] = ELT_DL;
1265   ELEMENT_NAMES[183] = ELT_OL;
1266   ELEMENT_NAMES[184] = ELT_UL;
1267   ELEMENT_NAMES[185] = ELT_SYMBOL;
1268   ELEMENT_NAMES[186] = ELT_ANIMATETRANSFORM;
1269   ELEMENT_NAMES[187] = ELT_EM;
1270   ELEMENT_NAMES[188] = ELT_MENUITEM;
1271   ELEMENT_NAMES[189] = ELT_ANIMATEMOTION;
1272   ELEMENT_NAMES[190] = ELT_CAPTION;
1273   ELEMENT_NAMES[191] = ELT_MN;
1274   ELEMENT_NAMES[192] = ELT_MAIN;
1275   ELEMENT_NAMES[193] = ELT_POLYGON;
1276   ELEMENT_NAMES[194] = ELT_SPAN;
1277   ELEMENT_NAMES[195] = ELT_TSPAN;
1278   ELEMENT_NAMES[196] = ELT_MO;
1279   ELEMENT_NAMES[197] = ELT_COLGROUP;
1280   ELEMENT_NAMES[198] = ELT_HGROUP;
1281   ELEMENT_NAMES[199] = ELT_OPTGROUP;
1282   ELEMENT_NAMES[200] = ELT_STOP;
1283   ELEMENT_NAMES[201] = ELT_ABBR;
1284   ELEMENT_NAMES[202] = ELT_CENTER;
1285   ELEMENT_NAMES[203] = ELT_FEFUNCR;
1286   ELEMENT_NAMES[204] = ELT_FILTER;
1287   ELEMENT_NAMES[205] = ELT_FEGAUSSIANBLUR;
1288   ELEMENT_NAMES[206] = ELT_MARKER;
1289 }
1290 
releaseStatics()1291 void nsHtml5ElementName::releaseStatics() {
1292   delete ELT_ANNOTATION_XML;
1293   delete ELT_BIG;
1294   delete ELT_BDI;
1295   delete ELT_BDO;
1296   delete ELT_COL;
1297   delete ELT_DEL;
1298   delete ELT_DFN;
1299   delete ELT_DIR;
1300   delete ELT_DIV;
1301   delete ELT_IMG;
1302   delete ELT_INS;
1303   delete ELT_KBD;
1304   delete ELT_MAP;
1305   delete ELT_NAV;
1306   delete ELT_PRE;
1307   delete ELT_A;
1308   delete ELT_B;
1309   delete ELT_RTC;
1310   delete ELT_SUB;
1311   delete ELT_SVG;
1312   delete ELT_SUP;
1313   delete ELT_SET;
1314   delete ELT_USE;
1315   delete ELT_VAR;
1316   delete ELT_G;
1317   delete ELT_WBR;
1318   delete ELT_XMP;
1319   delete ELT_I;
1320   delete ELT_P;
1321   delete ELT_Q;
1322   delete ELT_S;
1323   delete ELT_U;
1324   delete ELT_H1;
1325   delete ELT_H2;
1326   delete ELT_H3;
1327   delete ELT_H4;
1328   delete ELT_H5;
1329   delete ELT_H6;
1330   delete ELT_AREA;
1331   delete ELT_DATA;
1332   delete ELT_FEFUNCA;
1333   delete ELT_METADATA;
1334   delete ELT_META;
1335   delete ELT_TEXTAREA;
1336   delete ELT_FEFUNCB;
1337   delete ELT_RB;
1338   delete ELT_DESC;
1339   delete ELT_DD;
1340   delete ELT_BGSOUND;
1341   delete ELT_EMBED;
1342   delete ELT_FEBLEND;
1343   delete ELT_FEFLOOD;
1344   delete ELT_HEAD;
1345   delete ELT_LEGEND;
1346   delete ELT_NOEMBED;
1347   delete ELT_TD;
1348   delete ELT_THEAD;
1349   delete ELT_ASIDE;
1350   delete ELT_ARTICLE;
1351   delete ELT_ANIMATE;
1352   delete ELT_BASE;
1353   delete ELT_BLOCKQUOTE;
1354   delete ELT_CODE;
1355   delete ELT_CIRCLE;
1356   delete ELT_CITE;
1357   delete ELT_ELLIPSE;
1358   delete ELT_FETURBULENCE;
1359   delete ELT_FEMERGENODE;
1360   delete ELT_FEIMAGE;
1361   delete ELT_FEMERGE;
1362   delete ELT_FETILE;
1363   delete ELT_FRAME;
1364   delete ELT_FIGURE;
1365   delete ELT_FECOMPOSITE;
1366   delete ELT_IMAGE;
1367   delete ELT_IFRAME;
1368   delete ELT_LINE;
1369   delete ELT_MARQUEE;
1370   delete ELT_POLYLINE;
1371   delete ELT_PICTURE;
1372   delete ELT_SOURCE;
1373   delete ELT_STRIKE;
1374   delete ELT_STYLE;
1375   delete ELT_TABLE;
1376   delete ELT_TITLE;
1377   delete ELT_TIME;
1378   delete ELT_TEMPLATE;
1379   delete ELT_ALTGLYPHDEF;
1380   delete ELT_GLYPHREF;
1381   delete ELT_DIALOG;
1382   delete ELT_FEFUNCG;
1383   delete ELT_FEDIFFUSELIGHTING;
1384   delete ELT_FESPECULARLIGHTING;
1385   delete ELT_LISTING;
1386   delete ELT_STRONG;
1387   delete ELT_ALTGLYPH;
1388   delete ELT_CLIPPATH;
1389   delete ELT_MGLYPH;
1390   delete ELT_MATH;
1391   delete ELT_MPATH;
1392   delete ELT_PATH;
1393   delete ELT_TH;
1394   delete ELT_SWITCH;
1395   delete ELT_TEXTPATH;
1396   delete ELT_LI;
1397   delete ELT_MI;
1398   delete ELT_LINK;
1399   delete ELT_MARK;
1400   delete ELT_MALIGNMARK;
1401   delete ELT_MASK;
1402   delete ELT_TRACK;
1403   delete ELT_DL;
1404   delete ELT_HTML;
1405   delete ELT_OL;
1406   delete ELT_LABEL;
1407   delete ELT_UL;
1408   delete ELT_SMALL;
1409   delete ELT_SYMBOL;
1410   delete ELT_ALTGLYPHITEM;
1411   delete ELT_ANIMATETRANSFORM;
1412   delete ELT_ACRONYM;
1413   delete ELT_EM;
1414   delete ELT_FORM;
1415   delete ELT_MENUITEM;
1416   delete ELT_PARAM;
1417   delete ELT_ANIMATEMOTION;
1418   delete ELT_BUTTON;
1419   delete ELT_CAPTION;
1420   delete ELT_FIGCAPTION;
1421   delete ELT_MN;
1422   delete ELT_KEYGEN;
1423   delete ELT_MAIN;
1424   delete ELT_OPTION;
1425   delete ELT_POLYGON;
1426   delete ELT_PATTERN;
1427   delete ELT_SPAN;
1428   delete ELT_SECTION;
1429   delete ELT_TSPAN;
1430   delete ELT_AUDIO;
1431   delete ELT_MO;
1432   delete ELT_VIDEO;
1433   delete ELT_COLGROUP;
1434   delete ELT_FEDISPLACEMENTMAP;
1435   delete ELT_HGROUP;
1436   delete ELT_RP;
1437   delete ELT_OPTGROUP;
1438   delete ELT_SAMP;
1439   delete ELT_STOP;
1440   delete ELT_BR;
1441   delete ELT_ABBR;
1442   delete ELT_ANIMATECOLOR;
1443   delete ELT_CENTER;
1444   delete ELT_HR;
1445   delete ELT_FEFUNCR;
1446   delete ELT_FECOMPONENTTRANSFER;
1447   delete ELT_FILTER;
1448   delete ELT_FOOTER;
1449   delete ELT_FEGAUSSIANBLUR;
1450   delete ELT_HEADER;
1451   delete ELT_MARKER;
1452   delete ELT_METER;
1453   delete ELT_NOBR;
1454   delete ELT_TR;
1455   delete ELT_ADDRESS;
1456   delete ELT_CANVAS;
1457   delete ELT_DEFS;
1458   delete ELT_DETAILS;
1459   delete ELT_MS;
1460   delete ELT_NOFRAMES;
1461   delete ELT_PROGRESS;
1462   delete ELT_DT;
1463   delete ELT_APPLET;
1464   delete ELT_BASEFONT;
1465   delete ELT_DATALIST;
1466   delete ELT_FOREIGNOBJECT;
1467   delete ELT_FIELDSET;
1468   delete ELT_FRAMESET;
1469   delete ELT_FEOFFSET;
1470   delete ELT_FESPOTLIGHT;
1471   delete ELT_FEPOINTLIGHT;
1472   delete ELT_FEDISTANTLIGHT;
1473   delete ELT_FONT;
1474   delete ELT_INPUT;
1475   delete ELT_LINEARGRADIENT;
1476   delete ELT_MTEXT;
1477   delete ELT_NOSCRIPT;
1478   delete ELT_RT;
1479   delete ELT_OBJECT;
1480   delete ELT_OUTPUT;
1481   delete ELT_PLAINTEXT;
1482   delete ELT_TT;
1483   delete ELT_RECT;
1484   delete ELT_RADIALGRADIENT;
1485   delete ELT_SELECT;
1486   delete ELT_SLOT;
1487   delete ELT_SCRIPT;
1488   delete ELT_TFOOT;
1489   delete ELT_TEXT;
1490   delete ELT_MENU;
1491   delete ELT_FEDROPSHADOW;
1492   delete ELT_VIEW;
1493   delete ELT_FECOLORMATRIX;
1494   delete ELT_FECONVOLVEMATRIX;
1495   delete ELT_BODY;
1496   delete ELT_FEMORPHOLOGY;
1497   delete ELT_RUBY;
1498   delete ELT_SUMMARY;
1499   delete ELT_TBODY;
1500   delete[] ELEMENT_NAMES;
1501 }
1502