Bug 1372276 - Part 0c: Update HTML5 parser; r?wchen draft
authorGordon P. Hemsley <gphemsley@gmail.com>
Thu, 27 Jul 2017 01:29:54 -0400
changeset 618195 30a27786c6081cd8a2696d5a9f28b98c859fda35
parent 618194 7ee572dea1d495f870f43b297515d570b79703f8
child 618196 06a3ac5234e2c3ea1b2df4f4e52d710fbb1f50c2
push id71235
push userbmo:gphemsley@gphemsley.org
push dateSun, 30 Jul 2017 14:44:40 +0000
reviewerswchen
bugs1372276
milestone56.0a1
Bug 1372276 - Part 0c: Update HTML5 parser; r?wchen MozReview-Commit-ID: BS4dy1z84c
parser/html/nsHtml5AttributeName.cpp
parser/html/nsHtml5AttributeName.h
parser/html/nsHtml5ElementName.cpp
parser/html/nsHtml5ElementName.h
parser/html/nsHtml5MetaScanner.cpp
parser/html/nsHtml5NamedCharacters.cpp
parser/html/nsHtml5NamedCharacters.h
parser/html/nsHtml5NamedCharactersAccel.h
parser/html/nsHtml5Portability.h
parser/html/nsHtml5StackNode.cpp
parser/html/nsHtml5StackNode.h
parser/html/nsHtml5Tokenizer.cpp
parser/html/nsHtml5TreeBuilder.cpp
parser/html/nsHtml5TreeBuilder.h
--- a/parser/html/nsHtml5AttributeName.cpp
+++ b/parser/html/nsHtml5AttributeName.cpp
@@ -96,42 +96,40 @@ nsHtml5AttributeName::SAME_LOCAL(nsIAtom
 {
   nsIAtom** arr = new nsIAtom*[4];
   arr[0] = name;
   arr[1] = name;
   arr[2] = name;
   return arr;
 }
 
-nsHtml5AttributeName::nsHtml5AttributeName(int32_t* uri,
-                                           nsIAtom** local,
-                                           nsIAtom** prefix)
-  : uri(uri)
-  , local(local)
-  , prefix(prefix)
-  , custom(false)
+
+nsHtml5AttributeName::nsHtml5AttributeName(int32_t* uri, nsIAtom** local, nsIAtom** prefix)
+  : uri(uri),
+    local(local),
+    prefix(prefix),
+    custom(false)
 {
   MOZ_COUNT_CTOR(nsHtml5AttributeName);
 }
 
+
 nsHtml5AttributeName::nsHtml5AttributeName()
-  : uri(nsHtml5AttributeName::ALL_NO_NS)
-  , local(nsHtml5AttributeName::SAME_LOCAL(nullptr))
-  , prefix(ALL_NO_PREFIX)
-  , custom(true)
+  : uri(nsHtml5AttributeName::ALL_NO_NS),
+    local(nsHtml5AttributeName::SAME_LOCAL(nullptr)),
+    prefix(ALL_NO_PREFIX),
+    custom(true)
 {
   MOZ_COUNT_CTOR(nsHtml5AttributeName);
 }
 
-nsHtml5AttributeName*
+nsHtml5AttributeName* 
 nsHtml5AttributeName::createAttributeName(nsIAtom* name)
 {
-  return new nsHtml5AttributeName(nsHtml5AttributeName::ALL_NO_NS,
-                                  nsHtml5AttributeName::SAME_LOCAL(name),
-                                  ALL_NO_PREFIX);
+  return new nsHtml5AttributeName(nsHtml5AttributeName::ALL_NO_NS, nsHtml5AttributeName::SAME_LOCAL(name), ALL_NO_PREFIX);
 }
 
 
 nsHtml5AttributeName::~nsHtml5AttributeName()
 {
   MOZ_COUNT_DTOR(nsHtml5AttributeName);
   delete[] local;
 }
@@ -152,18 +150,17 @@ nsIAtom*
 nsHtml5AttributeName::getPrefix(int32_t mode)
 {
   return prefix[mode];
 }
 
 bool 
 nsHtml5AttributeName::equalsAnother(nsHtml5AttributeName* another)
 {
-  return this->getLocal(nsHtml5AttributeName::HTML) ==
-         another->getLocal(nsHtml5AttributeName::HTML);
+  return this->getLocal(nsHtml5AttributeName::HTML) == another->getLocal(nsHtml5AttributeName::HTML);
 }
 
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALT = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DIR = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DUR = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_END = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FOR = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_IN2 = nullptr;
@@ -209,18 +206,17 @@ nsHtml5AttributeName* nsHtml5AttributeNa
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_INVALID = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_TEMPLATEID = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_VALUEMIN = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_MULTISELECTABLE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_CONTROLS = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_MULTILINE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_READONLY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_OWNS = nullptr;
-nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_ACTIVEDESCENDANT =
-  nullptr;
+nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_ACTIVEDESCENDANT = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_RELEVANT = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_DATATYPE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_VALUENOW = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_SORT = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_AUTOCOMPLETE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_FLOWTO = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_BUSY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_LIVE = nullptr;
@@ -472,18 +468,17 @@ nsHtml5AttributeName* nsHtml5AttributeNa
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AUTOPLAY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AUTOCOMPLETE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AUTOFOCUS = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BGCOLOR = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_PROFILE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_RENDERING = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_INTERPOLATION = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR = nullptr;
-nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_INTERPOLATION_FILTERS =
-  nullptr;
+nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_INTERPOLATION_FILTERS = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ENCODING = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EXPONENT = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FLOOD_COLOR = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FLOOD_OPACITY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LQUOTE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NUMOCTAVES = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONLOAD = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEWHEEL = nullptr;
@@ -513,20 +508,18 @@ nsHtml5AttributeName* nsHtml5AttributeNa
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_OPACITY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COMPACT = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIP = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIP_RULE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIP_PATH = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIPPATHUNITS = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DISPLAY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DISPLAYSTYLE = nullptr;
-nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPH_ORIENTATION_VERTICAL =
-  nullptr;
-nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPH_ORIENTATION_HORIZONTAL =
-  nullptr;
+nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPH_ORIENTATION_VERTICAL = nullptr;
+nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPH_ORIENTATION_HORIZONTAL = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPHREF = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HTTP_EQUIV = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KEYPOINTS = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LOOP = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PROPERTY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCOPED = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STEP = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SHAPE_RENDERING = nullptr;
@@ -652,100 +645,17 @@ nsHtml5AttributeName* nsHtml5AttributeNa
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REFX = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REFY = nullptr;
 nsHtml5AttributeName** nsHtml5AttributeName::ATTRIBUTE_NAMES = 0;
-static int32_t const ATTRIBUTE_HASHES_DATA[] = {
-  1872034503, 1748971848, 1972744954, 1680511804, 1786740932, 1917953597,
-  2007021895, 1680159328, 1723309623, 1754907227, 1820262641, 1905902311,
-  1933123337, 1991625270, 2026893641, 71827457,   1680251485, 1689130184,
-  1747295467, 1754606246, 1757053236, 1804069019, 1854302364, 1889633006,
-  1910503637, 1922679610, 1941440197, 1983347764, 2001710298, 2016810187,
-  2073034754, 57205395,   911736834,  1680181850, 1680347981, 1684319541,
-  1704262346, 1734404167, 1747906667, 1752985897, 1754792749, 1756471625,
-  1776114564, 1790814502, 1814558026, 1823841492, 1864698185, 1881750231,
-  1902640276, 1908462185, 1916210285, 1922566877, 1924583073, 1937336473,
-  1966384692, 1972996699, 1988784439, 2000752725, 2004846654, 2009079867,
-  2024647008, 2060474743, 2082471938, 53006051,   60345635,   885522434,
-  1038141480, 1680165487, 1680198381, 1680323325, 1680433915, 1681969220,
-  1687164232, 1691145478, 1716303957, 1732771842, 1740096054, 1747479606,
-  1748503880, 1749856356, 1754214628, 1754645079, 1754858317, 1756190926,
-  1756804936, 1767875272, 1782518297, 1787193500, 1801312388, 1804978712,
-  1814986837, 1822002839, 1825677514, 1854474395, 1867448617, 1874261045,
-  1884267068, 1894552650, 1905541832, 1906421049, 1910441627, 1915025672,
-  1916337499, 1922400908, 1922665179, 1924443742, 1924773438, 1934917290,
-  1941286708, 1943317364, 1972151670, 1972908839, 1982640164, 1983461061,
-  1990107683, 2000096287, 2001634458, 2001826027, 2006459190, 2008401563,
-  2010716309, 2019887833, 2024794274, 2034765641, 2065694722, 2081423362,
-  2089811970, 52488851,   55077603,   59825747,   68157441,   878182402,
-  901775362,  1037879561, 1680140893, 1680165436, 1680165613, 1680185931,
-  1680230940, 1680311085, 1680345685, 1680411449, 1680446153, 1681733672,
-  1682587945, 1685902598, 1687751191, 1689788441, 1692933184, 1714745560,
-  1721305962, 1723336528, 1733919469, 1739583824, 1740130375, 1747309881,
-  1747800157, 1748021284, 1748566068, 1749350104, 1751679545, 1753297133,
-  1754546894, 1754643237, 1754647353, 1754798923, 1754872618, 1754958648,
-  1756302628, 1756737685, 1756874572, 1765800271, 1772032615, 1780975314,
-  1785174319, 1786821704, 1788254870, 1791070327, 1804036350, 1804235064,
-  1805715716, 1814656326, 1816144023, 1820928104, 1823580230, 1824377064,
-  1853862084, 1854464212, 1854497003, 1865910347, 1867620412, 1873590471,
-  1874698443, 1884142379, 1884343396, 1891186903, 1898428101, 1903659239,
-  1905672729, 1906408598, 1907660596, 1909819252, 1910441773, 1910527802,
-  1915341049, 1916278099, 1917327080, 1921894426, 1922413307, 1922607670,
-  1922677495, 1923088386, 1924517489, 1924629705, 1932959284, 1933369607,
-  1934970504, 1939976792, 1941435445, 1941550652, 1965512429, 1966442279,
-  1972656710, 1972904518, 1972922984, 1975062341, 1983266615, 1983416119,
-  1987422362, 1989522022, 1991220282, 1993343287, 2000160071, 2001527900,
-  2001669449, 2001732764, 2001898809, 2005342360, 2006824246, 2007064819,
-  2009041198, 2009231684, 2016711994, 2017010843, 2023342821, 2024763702,
-  2026741958, 2026975253, 2060302634, 2065170434, 2066743298, 2075005220,
-  2081947650, 2083520514, 2091784484, 50917059,   52489043,   53537523,
-  56685811,   57210387,   59830867,   60817409,   71303169,   72351745,
-  884998146,  894959618,  902299650,  928514050,  1038063816, 1680095865,
-  1680159327, 1680165421, 1680165437, 1680165533, 1680165692, 1680181996,
-  1680198203, 1680229115, 1680231247, 1680282148, 1680315086, 1680343801,
-  1680345965, 1680368221, 1680413393, 1680437801, 1680452349, 1681174213,
-  1681879063, 1682440540, 1683805446, 1685882101, 1686731997, 1687620127,
-  1689048326, 1689324870, 1689839946, 1692408896, 1699185409, 1704526375,
-  1714763319, 1721189160, 1721347639, 1723336432, 1731048742, 1733874289,
-  1734182982, 1739561208, 1739927860, 1740119884, 1742183484, 1747299630,
-  1747446838, 1747792072, 1747839118, 1747939528, 1748306996, 1748552744,
-  1748869205, 1749027145, 1749399124, 1751507685, 1751755561, 1753049109,
-  1753550036, 1754434872, 1754579720, 1754612424, 1754644293, 1754647074,
-  1754698327, 1754794646, 1754835516, 1754860061, 1754899031, 1754927689,
-  1756147974, 1756219733, 1756360955, 1756704824, 1756762256, 1756836998,
-  1756889417, 1757421892, 1767725700, 1771569964, 1773606972, 1780879045,
-  1781007934, 1784574102, 1786622296, 1786775671, 1786851500, 1787365531,
-  1788842244, 1791068279, 1797886599, 1803561214, 1804054854, 1804081401,
-  1804405895, 1805715690, 1814517574, 1814560070, 1814656840, 1816104145,
-  1816178925, 1820727381, 1821958888, 1823574314, 1823829083, 1824159037,
-  1825437894, 1848600826, 1854285018, 1854366938, 1854466380, 1854497001,
-  1854497008, 1865910331, 1866496199, 1867462756, 1871251689, 1872343590,
-  1873656984, 1874270021, 1874788501, 1884079398, 1884246821, 1884295780,
-  1889569526, 1890996553, 1891937366, 1898415413, 1900544002, 1903612236,
-  1903759600, 1905628916, 1905754853, 1906408542, 1906419001, 1906423097,
-  1907701479, 1909438149, 1910328970, 1910441770, 1910487243, 1910507338,
-  1910572893, 1915295948, 1915757815, 1916247343, 1916286197, 1917295176,
-  1917857531, 1921061206, 1922319046, 1922413292, 1922470745, 1922567078,
-  1922665052, 1922671417, 1922679386, 1922699851, 1924206934, 1924462384,
-  1924570799, 1924585254, 1924738716, 1932870919, 1932986153, 1933145837,
-  1933508940, 1934917372, 1935597338, 1937777860, 1941253366, 1941409583,
-  1941438085, 1941454586, 1942026440, 1965349396, 1965561677, 1966439670,
-  1966454567, 1972196486, 1972744939, 1972863609, 1972904522, 1972909592,
-  1972962123, 1974849131, 1982254612, 1983157559, 1983290011, 1983398182,
-  1983432389, 1987410233, 1988132214, 1988788535, 1990062797, 1991021879,
-  1991392548, 1991643278, 1999273799, 2000125224, 2000162011, 2001210183,
-  2001578182, 2001634459, 2001669450, 2001710299, 2001814704, 2001898808,
-  2004199576, 2004957380, 2005925890, 2006516551, 2007019632, 2007064812,
-  2008084807, 2008408414, 2009071951, 2009141482, 2010452700, 2015950026,
-  2016787611, 2016910397, 2018908874, 2023146024, 2024616088
-};
+static int32_t const ATTRIBUTE_HASHES_DATA[] = { 1872034503, 1748971848, 1972744954, 1680511804, 1786740932, 1917953597, 2007021895, 1680159328, 1723309623, 1754907227, 1820262641, 1905902311, 1933123337, 1991625270, 2026893641, 71827457, 1680251485, 1689130184, 1747295467, 1754606246, 1757053236, 1804069019, 1854302364, 1889633006, 1910503637, 1922679610, 1941440197, 1983347764, 2001710298, 2016810187, 2073034754, 57205395, 911736834, 1680181850, 1680347981, 1684319541, 1704262346, 1734404167, 1747906667, 1752985897, 1754792749, 1756471625, 1776114564, 1790814502, 1814558026, 1823841492, 1864698185, 1881750231, 1902640276, 1908462185, 1916210285, 1922566877, 1924583073, 1937336473, 1966384692, 1972996699, 1988784439, 2000752725, 2004846654, 2009079867, 2024647008, 2060474743, 2082471938, 53006051, 60345635, 885522434, 1038141480, 1680165487, 1680198381, 1680323325, 1680433915, 1681969220, 1687164232, 1691145478, 1716303957, 1732771842, 1740096054, 1747479606, 1748503880, 1749856356, 1754214628, 1754645079, 1754858317, 1756190926, 1756804936, 1767875272, 1782518297, 1787193500, 1801312388, 1804978712, 1814986837, 1822002839, 1825677514, 1854474395, 1867448617, 1874261045, 1884267068, 1894552650, 1905541832, 1906421049, 1910441627, 1915025672, 1916337499, 1922400908, 1922665179, 1924443742, 1924773438, 1934917290, 1941286708, 1943317364, 1972151670, 1972908839, 1982640164, 1983461061, 1990107683, 2000096287, 2001634458, 2001826027, 2006459190, 2008401563, 2010716309, 2019887833, 2024794274, 2034765641, 2065694722, 2081423362, 2089811970, 52488851, 55077603, 59825747, 68157441, 878182402, 901775362, 1037879561, 1680140893, 1680165436, 1680165613, 1680185931, 1680230940, 1680311085, 1680345685, 1680411449, 1680446153, 1681733672, 1682587945, 1685902598, 1687751191, 1689788441, 1692933184, 1714745560, 1721305962, 1723336528, 1733919469, 1739583824, 1740130375, 1747309881, 1747800157, 1748021284, 1748566068, 1749350104, 1751679545, 1753297133, 1754546894, 1754643237, 1754647353, 1754798923, 1754872618, 1754958648, 1756302628, 1756737685, 1756874572, 1765800271, 1772032615, 1780975314, 1785174319, 1786821704, 1788254870, 1791070327, 1804036350, 1804235064, 1805715716, 1814656326, 1816144023, 1820928104, 1823580230, 1824377064, 1853862084, 1854464212, 1854497003, 1865910347, 1867620412, 1873590471, 1874698443, 1884142379, 1884343396, 1891186903, 1898428101, 1903659239, 1905672729, 1906408598, 1907660596, 1909819252, 1910441773, 1910527802, 1915341049, 1916278099, 1917327080, 1921894426, 1922413307, 1922607670, 1922677495, 1923088386, 1924517489, 1924629705, 1932959284, 1933369607, 1934970504, 1939976792, 1941435445, 1941550652, 1965512429, 1966442279, 1972656710, 1972904518, 1972922984, 1975062341, 1983266615, 1983416119, 1987422362, 1989522022, 1991220282, 1993343287, 2000160071, 2001527900, 2001669449, 2001732764, 2001898809, 2005342360, 2006824246, 2007064819, 2009041198, 2009231684, 2016711994, 2017010843, 2023342821, 2024763702, 2026741958, 2026975253, 2060302634, 2065170434, 2066743298, 2075005220, 2081947650, 2083520514, 2091784484, 50917059, 52489043, 53537523, 56685811, 57210387, 59830867, 60817409, 71303169, 72351745, 884998146, 894959618, 902299650, 928514050, 1038063816, 1680095865, 1680159327, 1680165421, 1680165437, 1680165533, 1680165692, 1680181996, 1680198203, 1680229115, 1680231247, 1680282148, 1680315086, 1680343801, 1680345965, 1680368221, 1680413393, 1680437801, 1680452349, 1681174213, 1681879063, 1682440540, 1683805446, 1685882101, 1686731997, 1687620127, 1689048326, 1689324870, 1689839946, 1692408896, 1699185409, 1704526375, 1714763319, 1721189160, 1721347639, 1723336432, 1731048742, 1733874289, 1734182982, 1739561208, 1739927860, 1740119884, 1742183484, 1747299630, 1747446838, 1747792072, 1747839118, 1747939528, 1748306996, 1748552744, 1748869205, 1749027145, 1749399124, 1751507685, 1751755561, 1753049109, 1753550036, 1754434872, 1754579720, 1754612424, 1754644293, 1754647074, 1754698327, 1754794646, 1754835516, 1754860061, 1754899031, 1754927689, 1756147974, 1756219733, 1756360955, 1756704824, 1756762256, 1756836998, 1756889417, 1757421892, 1767725700, 1771569964, 1773606972, 1780879045, 1781007934, 1784574102, 1786622296, 1786775671, 1786851500, 1787365531, 1788842244, 1791068279, 1797886599, 1803561214, 1804054854, 1804081401, 1804405895, 1805715690, 1814517574, 1814560070, 1814656840, 1816104145, 1816178925, 1820727381, 1821958888, 1823574314, 1823829083, 1824159037, 1825437894, 1848600826, 1854285018, 1854366938, 1854466380, 1854497001, 1854497008, 1865910331, 1866496199, 1867462756, 1871251689, 1872343590, 1873656984, 1874270021, 1874788501, 1884079398, 1884246821, 1884295780, 1889569526, 1890996553, 1891937366, 1898415413, 1900544002, 1903612236, 1903759600, 1905628916, 1905754853, 1906408542, 1906419001, 1906423097, 1907701479, 1909438149, 1910328970, 1910441770, 1910487243, 1910507338, 1910572893, 1915295948, 1915757815, 1916247343, 1916286197, 1917295176, 1917857531, 1921061206, 1922319046, 1922413292, 1922470745, 1922567078, 1922665052, 1922671417, 1922679386, 1922699851, 1924206934, 1924462384, 1924570799, 1924585254, 1924738716, 1932870919, 1932986153, 1933145837, 1933508940, 1934917372, 1935597338, 1937777860, 1941253366, 1941409583, 1941438085, 1941454586, 1942026440, 1965349396, 1965561677, 1966439670, 1966454567, 1972196486, 1972744939, 1972863609, 1972904522, 1972909592, 1972962123, 1974849131, 1982254612, 1983157559, 1983290011, 1983398182, 1983432389, 1987410233, 1988132214, 1988788535, 1990062797, 1991021879, 1991392548, 1991643278, 1999273799, 2000125224, 2000162011, 2001210183, 2001578182, 2001634459, 2001669450, 2001710299, 2001814704, 2001898808, 2004199576, 2004957380, 2005925890, 2006516551, 2007019632, 2007064812, 2008084807, 2008408414, 2009071951, 2009141482, 2010452700, 2015950026, 2016787611, 2016910397, 2018908874, 2023146024, 2024616088 };
 staticJArray<int32_t,int32_t> nsHtml5AttributeName::ATTRIBUTE_HASHES = { ATTRIBUTE_HASHES_DATA, MOZ_ARRAY_LENGTH(ATTRIBUTE_HASHES_DATA) };
 void
 nsHtml5AttributeName::initializeStatics()
 {
   ALL_NO_NS = new int32_t[3];
   ALL_NO_NS[0] = kNameSpaceID_None;
   ALL_NO_NS[1] = kNameSpaceID_None;
   ALL_NO_NS[2] = kNameSpaceID_None;
@@ -772,1136 +682,507 @@ nsHtml5AttributeName::initializeStatics(
   XLINK_PREFIX = new nsIAtom*[3];
   XLINK_PREFIX[0] = nullptr;
   XLINK_PREFIX[1] = nsGkAtoms::xlink;
   XLINK_PREFIX[2] = nsGkAtoms::xlink;
   XML_PREFIX = new nsIAtom*[3];
   XML_PREFIX[0] = nullptr;
   XML_PREFIX[1] = nsGkAtoms::xml;
   XML_PREFIX[2] = nsGkAtoms::xml;
-  ATTR_ALT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alt), ALL_NO_PREFIX);
-  ATTR_DIR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dir), ALL_NO_PREFIX);
-  ATTR_DUR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dur), ALL_NO_PREFIX);
-  ATTR_END = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::end), ALL_NO_PREFIX);
-  ATTR_FOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_for), ALL_NO_PREFIX);
-  ATTR_IN2 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::in2), ALL_NO_PREFIX);
-  ATTR_LOW = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::low), ALL_NO_PREFIX);
-  ATTR_MIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::min), ALL_NO_PREFIX);
-  ATTR_MAX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::max), ALL_NO_PREFIX);
-  ATTR_REL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rel), ALL_NO_PREFIX);
-  ATTR_REV = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rev), ALL_NO_PREFIX);
-  ATTR_SRC = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::src), ALL_NO_PREFIX);
-  ATTR_D = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::d), ALL_NO_PREFIX);
-  ATTR_R = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::r), ALL_NO_PREFIX);
-  ATTR_X = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::x), ALL_NO_PREFIX);
-  ATTR_Y = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::y), ALL_NO_PREFIX);
-  ATTR_Z = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::z), ALL_NO_PREFIX);
-  ATTR_K1 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k1), ALL_NO_PREFIX);
-  ATTR_X1 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::x1), ALL_NO_PREFIX);
-  ATTR_Y1 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::y1), ALL_NO_PREFIX);
-  ATTR_K2 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k2), ALL_NO_PREFIX);
-  ATTR_X2 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::x2), ALL_NO_PREFIX);
-  ATTR_Y2 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::y2), ALL_NO_PREFIX);
-  ATTR_K3 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k3), ALL_NO_PREFIX);
-  ATTR_K4 = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k4), ALL_NO_PREFIX);
-  ATTR_XML_SPACE = new nsHtml5AttributeName(
-    XML_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xml_space, nsGkAtoms::space),
-    XML_PREFIX);
-  ATTR_XML_LANG = new nsHtml5AttributeName(
-    XML_NS, COLONIFIED_LOCAL(nsGkAtoms::xml_lang, nsGkAtoms::lang), XML_PREFIX);
-  ATTR_XML_BASE = new nsHtml5AttributeName(
-    XML_NS, COLONIFIED_LOCAL(nsGkAtoms::xml_base, nsGkAtoms::base), XML_PREFIX);
-  ATTR_ARIA_GRAB = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_grab), ALL_NO_PREFIX);
-  ATTR_ARIA_VALUEMAX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_valuemax), ALL_NO_PREFIX);
-  ATTR_ARIA_LABELLEDBY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_labelledby), ALL_NO_PREFIX);
-  ATTR_ARIA_DESCRIBEDBY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_describedby), ALL_NO_PREFIX);
-  ATTR_ARIA_DISABLED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_disabled), ALL_NO_PREFIX);
-  ATTR_ARIA_CHECKED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_checked), ALL_NO_PREFIX);
-  ATTR_ARIA_SELECTED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_selected), ALL_NO_PREFIX);
-  ATTR_ARIA_DROPEFFECT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_dropeffect), ALL_NO_PREFIX);
-  ATTR_ARIA_REQUIRED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_required), ALL_NO_PREFIX);
-  ATTR_ARIA_EXPANDED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_expanded), ALL_NO_PREFIX);
-  ATTR_ARIA_PRESSED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_pressed), ALL_NO_PREFIX);
-  ATTR_ARIA_LEVEL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_level), ALL_NO_PREFIX);
-  ATTR_ARIA_CHANNEL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_channel), ALL_NO_PREFIX);
-  ATTR_ARIA_HIDDEN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_hidden), ALL_NO_PREFIX);
-  ATTR_ARIA_SECRET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_secret), ALL_NO_PREFIX);
-  ATTR_ARIA_POSINSET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_posinset), ALL_NO_PREFIX);
-  ATTR_ARIA_ATOMIC = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_atomic), ALL_NO_PREFIX);
-  ATTR_ARIA_INVALID = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_invalid), ALL_NO_PREFIX);
-  ATTR_ARIA_TEMPLATEID = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_templateid), ALL_NO_PREFIX);
-  ATTR_ARIA_VALUEMIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_valuemin), ALL_NO_PREFIX);
-  ATTR_ARIA_MULTISELECTABLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_multiselectable), ALL_NO_PREFIX);
-  ATTR_ARIA_CONTROLS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_controls), ALL_NO_PREFIX);
-  ATTR_ARIA_MULTILINE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_multiline), ALL_NO_PREFIX);
-  ATTR_ARIA_READONLY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_readonly), ALL_NO_PREFIX);
-  ATTR_ARIA_OWNS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_owns), ALL_NO_PREFIX);
-  ATTR_ARIA_ACTIVEDESCENDANT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_activedescendant), ALL_NO_PREFIX);
-  ATTR_ARIA_RELEVANT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_relevant), ALL_NO_PREFIX);
-  ATTR_ARIA_DATATYPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_datatype), ALL_NO_PREFIX);
-  ATTR_ARIA_VALUENOW = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_valuenow), ALL_NO_PREFIX);
-  ATTR_ARIA_SORT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_sort), ALL_NO_PREFIX);
-  ATTR_ARIA_AUTOCOMPLETE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_autocomplete), ALL_NO_PREFIX);
-  ATTR_ARIA_FLOWTO = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_flowto), ALL_NO_PREFIX);
-  ATTR_ARIA_BUSY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_busy), ALL_NO_PREFIX);
-  ATTR_ARIA_LIVE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_live), ALL_NO_PREFIX);
-  ATTR_ARIA_HASPOPUP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_haspopup), ALL_NO_PREFIX);
-  ATTR_ARIA_SETSIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_setsize), ALL_NO_PREFIX);
-  ATTR_CLEAR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clear), ALL_NO_PREFIX);
-  ATTR_DISABLED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::disabled), ALL_NO_PREFIX);
-  ATTR_DEFAULT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_default), ALL_NO_PREFIX);
-  ATTR_DATA = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::data), ALL_NO_PREFIX);
-  ATTR_EQUALCOLUMNS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::equalcolumns_), ALL_NO_PREFIX);
-  ATTR_EQUALROWS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::equalrows_), ALL_NO_PREFIX);
-  ATTR_HSPACE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::hspace), ALL_NO_PREFIX);
-  ATTR_ISMAP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ismap), ALL_NO_PREFIX);
-  ATTR_LOCAL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::local), ALL_NO_PREFIX);
-  ATTR_LSPACE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lspace_), ALL_NO_PREFIX);
-  ATTR_MOVABLELIMITS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::movablelimits_), ALL_NO_PREFIX);
-  ATTR_NOTATION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::notation_), ALL_NO_PREFIX);
-  ATTR_ONDATAAVAILABLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondataavailable), ALL_NO_PREFIX);
-  ATTR_ONPASTE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onpaste), ALL_NO_PREFIX);
-  ATTR_RSPACE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rspace_), ALL_NO_PREFIX);
-  ATTR_ROWALIGN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowalign_), ALL_NO_PREFIX);
-  ATTR_ROTATE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rotate), ALL_NO_PREFIX);
-  ATTR_SEPARATOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::separator_), ALL_NO_PREFIX);
-  ATTR_SEPARATORS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::separators_), ALL_NO_PREFIX);
-  ATTR_VSPACE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::vspace), ALL_NO_PREFIX);
-  ATTR_XCHANNELSELECTOR = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::xchannelselector, nsGkAtoms::xChannelSelector),
-    ALL_NO_PREFIX);
-  ATTR_YCHANNELSELECTOR = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::ychannelselector, nsGkAtoms::yChannelSelector),
-    ALL_NO_PREFIX);
-  ATTR_ENABLE_BACKGROUND = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::enable_background), ALL_NO_PREFIX);
-  ATTR_ONDBLCLICK = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondblclick), ALL_NO_PREFIX);
-  ATTR_ONABORT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onabort), ALL_NO_PREFIX);
-  ATTR_CALCMODE = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::calcmode, nsGkAtoms::calcMode),
-    ALL_NO_PREFIX);
-  ATTR_CHECKED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::checked), ALL_NO_PREFIX);
-  ATTR_FENCE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fence_), ALL_NO_PREFIX);
-  ATTR_ONSCROLL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onscroll), ALL_NO_PREFIX);
-  ATTR_ONACTIVATE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onactivate), ALL_NO_PREFIX);
-  ATTR_OPACITY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::opacity), ALL_NO_PREFIX);
-  ATTR_SPACING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::spacing), ALL_NO_PREFIX);
-  ATTR_SPECULAREXPONENT = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::specularexponent, nsGkAtoms::specularExponent),
-    ALL_NO_PREFIX);
-  ATTR_SPECULARCONSTANT = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::specularconstant, nsGkAtoms::specularConstant),
-    ALL_NO_PREFIX);
-  ATTR_BORDER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::border), ALL_NO_PREFIX);
-  ATTR_ID = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::id), ALL_NO_PREFIX);
-  ATTR_GRADIENTTRANSFORM = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::gradienttransform, nsGkAtoms::gradientTransform),
-    ALL_NO_PREFIX);
-  ATTR_GRADIENTUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::gradientunits, nsGkAtoms::gradientUnits),
-    ALL_NO_PREFIX);
-  ATTR_HIDDEN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::hidden), ALL_NO_PREFIX);
-  ATTR_HEADERS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::headers), ALL_NO_PREFIX);
-  ATTR_READONLY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::readonly), ALL_NO_PREFIX);
-  ATTR_RENDERING_INTENT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rendering_intent), ALL_NO_PREFIX);
-  ATTR_SEED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::seed), ALL_NO_PREFIX);
-  ATTR_SRCDOC = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::srcdoc), ALL_NO_PREFIX);
-  ATTR_STDDEVIATION = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::stddeviation, nsGkAtoms::stdDeviation),
-    ALL_NO_PREFIX);
-  ATTR_SANDBOX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::sandbox), ALL_NO_PREFIX);
-  ATTR_WORD_SPACING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::word_spacing), ALL_NO_PREFIX);
-  ATTR_ACCENTUNDER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accentunder_), ALL_NO_PREFIX);
-  ATTR_ACCEPT_CHARSET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::acceptcharset), ALL_NO_PREFIX);
-  ATTR_ACCESSKEY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accesskey), ALL_NO_PREFIX);
-  ATTR_ACCENT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accent_), ALL_NO_PREFIX);
-  ATTR_ACCEPT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accept), ALL_NO_PREFIX);
-  ATTR_BEVELLED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::bevelled_), ALL_NO_PREFIX);
-  ATTR_BASEFREQUENCY = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::basefrequency, nsGkAtoms::baseFrequency),
-    ALL_NO_PREFIX);
-  ATTR_BASELINE_SHIFT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::baseline_shift), ALL_NO_PREFIX);
-  ATTR_BASEPROFILE = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::baseprofile, nsGkAtoms::baseProfile),
-    ALL_NO_PREFIX);
-  ATTR_BASELINE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::baseline), ALL_NO_PREFIX);
-  ATTR_BASE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::base), ALL_NO_PREFIX);
-  ATTR_CODE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::code), ALL_NO_PREFIX);
-  ATTR_CODETYPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::codetype), ALL_NO_PREFIX);
-  ATTR_CODEBASE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::codebase), ALL_NO_PREFIX);
-  ATTR_CITE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cite), ALL_NO_PREFIX);
-  ATTR_DEFER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::defer), ALL_NO_PREFIX);
-  ATTR_DATETIME = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::datetime), ALL_NO_PREFIX);
-  ATTR_DIRECTION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::direction), ALL_NO_PREFIX);
-  ATTR_EDGEMODE = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::edgemode, nsGkAtoms::edgeMode),
-    ALL_NO_PREFIX);
-  ATTR_EDGE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::edge_), ALL_NO_PREFIX);
-  ATTR_FACE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::face), ALL_NO_PREFIX);
-  ATTR_INDEX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::index), ALL_NO_PREFIX);
-  ATTR_INTERCEPT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::intercept), ALL_NO_PREFIX);
-  ATTR_INTEGRITY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::integrity), ALL_NO_PREFIX);
-  ATTR_LINEBREAK = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::linebreak_), ALL_NO_PREFIX);
-  ATTR_LABEL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::label), ALL_NO_PREFIX);
-  ATTR_LINETHICKNESS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::linethickness_), ALL_NO_PREFIX);
-  ATTR_MODE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mode), ALL_NO_PREFIX);
-  ATTR_NAME = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::name), ALL_NO_PREFIX);
-  ATTR_NORESIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::noresize), ALL_NO_PREFIX);
-  ATTR_ONBEFOREUNLOAD = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforeunload), ALL_NO_PREFIX);
-  ATTR_ONREPEAT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onrepeat), ALL_NO_PREFIX);
-  ATTR_OBJECT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::object), ALL_NO_PREFIX);
-  ATTR_ONSELECT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onselect), ALL_NO_PREFIX);
-  ATTR_ORDER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::order), ALL_NO_PREFIX);
-  ATTR_OTHER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::other), ALL_NO_PREFIX);
-  ATTR_ONRESET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onreset), ALL_NO_PREFIX);
-  ATTR_ONREADYSTATECHANGE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onreadystatechange), ALL_NO_PREFIX);
-  ATTR_ONMESSAGE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmessage), ALL_NO_PREFIX);
-  ATTR_ONBEGIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbegin), ALL_NO_PREFIX);
-  ATTR_ONBEFOREPRINT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforeprint), ALL_NO_PREFIX);
-  ATTR_ORIENT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::orient), ALL_NO_PREFIX);
-  ATTR_ORIENTATION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::orientation), ALL_NO_PREFIX);
-  ATTR_ONBEFORECOPY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforecopy), ALL_NO_PREFIX);
-  ATTR_ONSELECTSTART = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onselectstart), ALL_NO_PREFIX);
-  ATTR_ONBEFOREPASTE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforepaste), ALL_NO_PREFIX);
-  ATTR_ONKEYPRESS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onkeypress), ALL_NO_PREFIX);
-  ATTR_ONKEYUP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onkeyup), ALL_NO_PREFIX);
-  ATTR_ONBEFORECUT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforecut), ALL_NO_PREFIX);
-  ATTR_ONKEYDOWN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onkeydown), ALL_NO_PREFIX);
-  ATTR_ONRESIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onresize), ALL_NO_PREFIX);
-  ATTR_REPEAT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::repeat), ALL_NO_PREFIX);
-  ATTR_REFERRERPOLICY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::referrerpolicy), ALL_NO_PREFIX);
-  ATTR_RULES = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rules), ALL_NO_PREFIX);
-  ATTR_ROLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::role), ALL_NO_PREFIX);
-  ATTR_REPEATCOUNT = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::repeatcount, nsGkAtoms::repeatCount),
-    ALL_NO_PREFIX);
-  ATTR_REPEATDUR = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::repeatdur, nsGkAtoms::repeatDur),
-    ALL_NO_PREFIX);
-  ATTR_SELECTED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::selected), ALL_NO_PREFIX);
-  ATTR_SIZES = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::sizes), ALL_NO_PREFIX);
-  ATTR_SUPERSCRIPTSHIFT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::superscriptshift_), ALL_NO_PREFIX);
-  ATTR_STRETCHY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stretchy_), ALL_NO_PREFIX);
-  ATTR_SCHEME = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scheme), ALL_NO_PREFIX);
-  ATTR_SPREADMETHOD = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::spreadmethod, nsGkAtoms::spreadMethod),
-    ALL_NO_PREFIX);
-  ATTR_SELECTION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::selection_), ALL_NO_PREFIX);
-  ATTR_SIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::size), ALL_NO_PREFIX);
-  ATTR_TYPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::type), ALL_NO_PREFIX);
-  ATTR_DIFFUSECONSTANT = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::diffuseconstant, nsGkAtoms::diffuseConstant),
-    ALL_NO_PREFIX);
-  ATTR_HREF = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::href), ALL_NO_PREFIX);
-  ATTR_HREFLANG = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::hreflang), ALL_NO_PREFIX);
-  ATTR_ONAFTERPRINT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onafterprint), ALL_NO_PREFIX);
-  ATTR_PROFILE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::profile), ALL_NO_PREFIX);
-  ATTR_SURFACESCALE = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::surfacescale, nsGkAtoms::surfaceScale),
-    ALL_NO_PREFIX);
-  ATTR_XREF = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::xref_), ALL_NO_PREFIX);
-  ATTR_ALIGN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::align), ALL_NO_PREFIX);
-  ATTR_ALIGNMENT_BASELINE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alignment_baseline), ALL_NO_PREFIX);
-  ATTR_ALIGNMENTSCOPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alignmentscope_), ALL_NO_PREFIX);
-  ATTR_DRAGGABLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::draggable), ALL_NO_PREFIX);
-  ATTR_HEIGHT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::height), ALL_NO_PREFIX);
-  ATTR_IMAGE_RENDERING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::image_rendering), ALL_NO_PREFIX);
-  ATTR_LANGUAGE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::language), ALL_NO_PREFIX);
-  ATTR_LANG = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lang), ALL_NO_PREFIX);
-  ATTR_LARGEOP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::largeop_), ALL_NO_PREFIX);
-  ATTR_LONGDESC = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::longdesc), ALL_NO_PREFIX);
-  ATTR_LENGTHADJUST = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::lengthadjust, nsGkAtoms::lengthAdjust),
-    ALL_NO_PREFIX);
-  ATTR_MARGINHEIGHT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marginheight), ALL_NO_PREFIX);
-  ATTR_MARGINWIDTH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marginwidth), ALL_NO_PREFIX);
-  ATTR_ORIGIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::origin), ALL_NO_PREFIX);
-  ATTR_PING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ping), ALL_NO_PREFIX);
-  ATTR_TARGET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::target), ALL_NO_PREFIX);
-  ATTR_TARGETX = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::targetx, nsGkAtoms::targetX),
-    ALL_NO_PREFIX);
-  ATTR_TARGETY = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::targety, nsGkAtoms::targetY),
-    ALL_NO_PREFIX);
-  ATTR_ARCHIVE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::archive), ALL_NO_PREFIX);
-  ATTR_HIGH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::high), ALL_NO_PREFIX);
-  ATTR_LIGHTING_COLOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lighting_color), ALL_NO_PREFIX);
-  ATTR_MATHBACKGROUND = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathbackground_), ALL_NO_PREFIX);
-  ATTR_METHOD = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::method), ALL_NO_PREFIX);
-  ATTR_MATHVARIANT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathvariant_), ALL_NO_PREFIX);
-  ATTR_MATHCOLOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathcolor_), ALL_NO_PREFIX);
-  ATTR_MATHSIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathsize_), ALL_NO_PREFIX);
-  ATTR_NOSHADE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::noshade), ALL_NO_PREFIX);
-  ATTR_ONCHANGE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onchange), ALL_NO_PREFIX);
-  ATTR_PATHLENGTH = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::pathlength, nsGkAtoms::pathLength),
-    ALL_NO_PREFIX);
-  ATTR_PATH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::path), ALL_NO_PREFIX);
-  ATTR_ALTIMG = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::altimg_), ALL_NO_PREFIX);
-  ATTR_ACTIONTYPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::actiontype_), ALL_NO_PREFIX);
-  ATTR_ACTION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::action), ALL_NO_PREFIX);
-  ATTR_ACTIVE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::active), ALL_NO_PREFIX);
-  ATTR_ADDITIVE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::additive), ALL_NO_PREFIX);
-  ATTR_BEGIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::begin), ALL_NO_PREFIX);
-  ATTR_DOMINANT_BASELINE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dominant_baseline), ALL_NO_PREFIX);
-  ATTR_DIVISOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::divisor), ALL_NO_PREFIX);
-  ATTR_DEFINITIONURL = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    MATH_DIFFERENT(nsGkAtoms::definitionurl, nsGkAtoms::definitionURL_),
-    ALL_NO_PREFIX);
-  ATTR_LIMITINGCONEANGLE = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::limitingconeangle, nsGkAtoms::limitingConeAngle),
-    ALL_NO_PREFIX);
-  ATTR_MEDIA = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::media), ALL_NO_PREFIX);
-  ATTR_MANIFEST = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::manifest), ALL_NO_PREFIX);
-  ATTR_ONFINISH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfinish), ALL_NO_PREFIX);
-  ATTR_OPTIMUM = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::optimum), ALL_NO_PREFIX);
-  ATTR_RADIOGROUP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::radiogroup), ALL_NO_PREFIX);
-  ATTR_RADIUS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::radius), ALL_NO_PREFIX);
-  ATTR_SCRIPTLEVEL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scriptlevel_), ALL_NO_PREFIX);
-  ATTR_SCRIPTSIZEMULTIPLIER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scriptsizemultiplier_), ALL_NO_PREFIX);
-  ATTR_SCRIPTMINSIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scriptminsize_), ALL_NO_PREFIX);
-  ATTR_TABINDEX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::tabindex), ALL_NO_PREFIX);
-  ATTR_VALIGN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::valign), ALL_NO_PREFIX);
-  ATTR_VISIBILITY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::visibility), ALL_NO_PREFIX);
-  ATTR_BACKGROUND = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::background), ALL_NO_PREFIX);
-  ATTR_LINK = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::link), ALL_NO_PREFIX);
-  ATTR_MARKER_MID = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marker_mid), ALL_NO_PREFIX);
-  ATTR_MARKERHEIGHT = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::markerheight, nsGkAtoms::markerHeight),
-    ALL_NO_PREFIX);
-  ATTR_MARKER_END = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marker_end), ALL_NO_PREFIX);
-  ATTR_MASK = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mask), ALL_NO_PREFIX);
-  ATTR_MARKER_START = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marker_start), ALL_NO_PREFIX);
-  ATTR_MARKERWIDTH = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::markerwidth, nsGkAtoms::markerWidth),
-    ALL_NO_PREFIX);
-  ATTR_MASKUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::maskunits, nsGkAtoms::maskUnits),
-    ALL_NO_PREFIX);
-  ATTR_MARKERUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::markerunits, nsGkAtoms::markerUnits),
-    ALL_NO_PREFIX);
-  ATTR_MASKCONTENTUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::maskcontentunits, nsGkAtoms::maskContentUnits),
-    ALL_NO_PREFIX);
-  ATTR_AMPLITUDE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::amplitude), ALL_NO_PREFIX);
-  ATTR_CELLSPACING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cellspacing), ALL_NO_PREFIX);
-  ATTR_CELLPADDING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cellpadding), ALL_NO_PREFIX);
-  ATTR_DECLARE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::declare), ALL_NO_PREFIX);
-  ATTR_FILL_RULE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fill_rule), ALL_NO_PREFIX);
-  ATTR_FILL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fill), ALL_NO_PREFIX);
-  ATTR_FILL_OPACITY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fill_opacity), ALL_NO_PREFIX);
-  ATTR_MAXLENGTH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::maxlength), ALL_NO_PREFIX);
-  ATTR_ONCLICK = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onclick), ALL_NO_PREFIX);
-  ATTR_ONBLUR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onblur), ALL_NO_PREFIX);
-  ATTR_REPLACE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::replace), ALL_NO_PREFIX);
-  ATTR_ROWLINES = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowlines_), ALL_NO_PREFIX);
-  ATTR_SCALE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scale), ALL_NO_PREFIX);
-  ATTR_STYLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::style), ALL_NO_PREFIX);
-  ATTR_TABLEVALUES = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::tablevalues, nsGkAtoms::tableValues),
-    ALL_NO_PREFIX);
-  ATTR_TITLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::title), ALL_NO_PREFIX);
-  ATTR_AZIMUTH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::azimuth), ALL_NO_PREFIX);
-  ATTR_FORMAT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::format), ALL_NO_PREFIX);
-  ATTR_FRAMEBORDER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::frameborder), ALL_NO_PREFIX);
-  ATTR_FRAME = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::frame), ALL_NO_PREFIX);
-  ATTR_FRAMESPACING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::framespacing_), ALL_NO_PREFIX);
-  ATTR_FROM = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::from), ALL_NO_PREFIX);
-  ATTR_FORM = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::form), ALL_NO_PREFIX);
-  ATTR_PROMPT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::prompt), ALL_NO_PREFIX);
-  ATTR_PRIMITIVEUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::primitiveunits, nsGkAtoms::primitiveUnits),
-    ALL_NO_PREFIX);
-  ATTR_SYMMETRIC = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::symmetric_), ALL_NO_PREFIX);
-  ATTR_SUMMARY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::summary), ALL_NO_PREFIX);
-  ATTR_USEMAP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::usemap), ALL_NO_PREFIX);
-  ATTR_ZOOMANDPAN = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::zoomandpan, nsGkAtoms::zoomAndPan),
-    ALL_NO_PREFIX);
-  ATTR_ASYNC = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::async), ALL_NO_PREFIX);
-  ATTR_ALINK = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alink), ALL_NO_PREFIX);
-  ATTR_IN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::in), ALL_NO_PREFIX);
-  ATTR_ICON = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::icon), ALL_NO_PREFIX);
-  ATTR_KERNELMATRIX = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::kernelmatrix, nsGkAtoms::kernelMatrix),
-    ALL_NO_PREFIX);
-  ATTR_KERNING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::kerning), ALL_NO_PREFIX);
-  ATTR_KERNELUNITLENGTH = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::kernelunitlength, nsGkAtoms::kernelUnitLength),
-    ALL_NO_PREFIX);
-  ATTR_ONUNLOAD = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onunload), ALL_NO_PREFIX);
-  ATTR_OPEN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::open), ALL_NO_PREFIX);
-  ATTR_ONINVALID = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oninvalid), ALL_NO_PREFIX);
-  ATTR_ONEND = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onend), ALL_NO_PREFIX);
-  ATTR_ONINPUT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oninput), ALL_NO_PREFIX);
-  ATTR_POINTER_EVENTS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::pointer_events), ALL_NO_PREFIX);
-  ATTR_POINTS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::points), ALL_NO_PREFIX);
-  ATTR_POINTSATX = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::pointsatx, nsGkAtoms::pointsAtX),
-    ALL_NO_PREFIX);
-  ATTR_POINTSATY = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::pointsaty, nsGkAtoms::pointsAtY),
-    ALL_NO_PREFIX);
-  ATTR_POINTSATZ = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::pointsatz, nsGkAtoms::pointsAtZ),
-    ALL_NO_PREFIX);
-  ATTR_SPAN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::span), ALL_NO_PREFIX);
-  ATTR_STANDBY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::standby), ALL_NO_PREFIX);
-  ATTR_TRANSFORM = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::transform), ALL_NO_PREFIX);
-  ATTR_VLINK = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::vlink), ALL_NO_PREFIX);
-  ATTR_WHEN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::when), ALL_NO_PREFIX);
-  ATTR_XLINK_HREF = new nsHtml5AttributeName(
-    XLINK_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xlink_href, nsGkAtoms::href),
-    XLINK_PREFIX);
-  ATTR_XLINK_TITLE = new nsHtml5AttributeName(
-    XLINK_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xlink_title, nsGkAtoms::title),
-    XLINK_PREFIX);
-  ATTR_XLINK_ROLE = new nsHtml5AttributeName(
-    XLINK_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xlink_role, nsGkAtoms::role),
-    XLINK_PREFIX);
-  ATTR_XLINK_ARCROLE = new nsHtml5AttributeName(
-    XLINK_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xlink_arcrole, nsGkAtoms::arcrole),
-    XLINK_PREFIX);
-  ATTR_XMLNS_XLINK = new nsHtml5AttributeName(
-    XMLNS_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xmlns_xlink, nsGkAtoms::xlink),
-    XMLNS_PREFIX);
-  ATTR_XMLNS = new nsHtml5AttributeName(
-    XMLNS_NS, SAME_LOCAL(nsGkAtoms::xmlns), ALL_NO_PREFIX);
-  ATTR_XLINK_TYPE = new nsHtml5AttributeName(
-    XLINK_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xlink_type, nsGkAtoms::type),
-    XLINK_PREFIX);
-  ATTR_XLINK_SHOW = new nsHtml5AttributeName(
-    XLINK_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xlink_show, nsGkAtoms::show),
-    XLINK_PREFIX);
-  ATTR_XLINK_ACTUATE = new nsHtml5AttributeName(
-    XLINK_NS,
-    COLONIFIED_LOCAL(nsGkAtoms::xlink_actuate, nsGkAtoms::actuate),
-    XLINK_PREFIX);
-  ATTR_AUTOPLAY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::autoplay), ALL_NO_PREFIX);
-  ATTR_AUTOCOMPLETE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::autocomplete), ALL_NO_PREFIX);
-  ATTR_AUTOFOCUS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::autofocus), ALL_NO_PREFIX);
-  ATTR_BGCOLOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::bgcolor), ALL_NO_PREFIX);
-  ATTR_COLOR_PROFILE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colorProfile), ALL_NO_PREFIX);
-  ATTR_COLOR_RENDERING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::color_rendering), ALL_NO_PREFIX);
-  ATTR_COLOR_INTERPOLATION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colorInterpolation), ALL_NO_PREFIX);
-  ATTR_COLOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::color), ALL_NO_PREFIX);
-  ATTR_COLOR_INTERPOLATION_FILTERS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colorInterpolationFilters), ALL_NO_PREFIX);
-  ATTR_ENCODING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::encoding), ALL_NO_PREFIX);
-  ATTR_EXPONENT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::exponent), ALL_NO_PREFIX);
-  ATTR_FLOOD_COLOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::flood_color), ALL_NO_PREFIX);
-  ATTR_FLOOD_OPACITY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::flood_opacity), ALL_NO_PREFIX);
-  ATTR_LQUOTE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lquote_), ALL_NO_PREFIX);
-  ATTR_NUMOCTAVES = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::numoctaves, nsGkAtoms::numOctaves),
-    ALL_NO_PREFIX);
-  ATTR_ONLOAD = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onload), ALL_NO_PREFIX);
-  ATTR_ONMOUSEWHEEL = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmousewheel), ALL_NO_PREFIX);
-  ATTR_ONMOUSEENTER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseenter), ALL_NO_PREFIX);
-  ATTR_ONMOUSEOVER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseover), ALL_NO_PREFIX);
-  ATTR_ONFOCUSIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfocusin), ALL_NO_PREFIX);
-  ATTR_ONCONTEXTMENU = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oncontextmenu), ALL_NO_PREFIX);
-  ATTR_ONZOOM = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onzoom), ALL_NO_PREFIX);
-  ATTR_ONCOPY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oncopy), ALL_NO_PREFIX);
-  ATTR_ONMOUSELEAVE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseleave), ALL_NO_PREFIX);
-  ATTR_ONMOUSEMOVE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmousemove), ALL_NO_PREFIX);
-  ATTR_ONMOUSEUP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseup), ALL_NO_PREFIX);
-  ATTR_ONFOCUS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfocus), ALL_NO_PREFIX);
-  ATTR_ONMOUSEOUT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseout), ALL_NO_PREFIX);
-  ATTR_ONFOCUSOUT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfocusout), ALL_NO_PREFIX);
-  ATTR_ONMOUSEDOWN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmousedown), ALL_NO_PREFIX);
-  ATTR_TO = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::to), ALL_NO_PREFIX);
-  ATTR_RQUOTE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rquote_), ALL_NO_PREFIX);
-  ATTR_STROKE_LINECAP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_linecap), ALL_NO_PREFIX);
-  ATTR_STROKE_DASHARRAY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_dasharray), ALL_NO_PREFIX);
-  ATTR_STROKE_DASHOFFSET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_dashoffset), ALL_NO_PREFIX);
-  ATTR_STROKE_LINEJOIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_linejoin), ALL_NO_PREFIX);
-  ATTR_STROKE_MITERLIMIT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_miterlimit), ALL_NO_PREFIX);
-  ATTR_STROKE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke), ALL_NO_PREFIX);
-  ATTR_SCROLLING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scrolling), ALL_NO_PREFIX);
-  ATTR_STROKE_WIDTH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_width), ALL_NO_PREFIX);
-  ATTR_STROKE_OPACITY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_opacity), ALL_NO_PREFIX);
-  ATTR_COMPACT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::compact), ALL_NO_PREFIX);
-  ATTR_CLIP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clip), ALL_NO_PREFIX);
-  ATTR_CLIP_RULE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clip_rule), ALL_NO_PREFIX);
-  ATTR_CLIP_PATH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clip_path), ALL_NO_PREFIX);
-  ATTR_CLIPPATHUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::clippathunits, nsGkAtoms::clipPathUnits),
-    ALL_NO_PREFIX);
-  ATTR_DISPLAY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::display), ALL_NO_PREFIX);
-  ATTR_DISPLAYSTYLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::displaystyle_), ALL_NO_PREFIX);
-  ATTR_GLYPH_ORIENTATION_VERTICAL =
-    new nsHtml5AttributeName(ALL_NO_NS,
-                             SAME_LOCAL(nsGkAtoms::glyph_orientation_vertical),
-                             ALL_NO_PREFIX);
-  ATTR_GLYPH_ORIENTATION_HORIZONTAL = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SAME_LOCAL(nsGkAtoms::glyph_orientation_horizontal),
-    ALL_NO_PREFIX);
-  ATTR_GLYPHREF = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::glyphref, nsGkAtoms::glyphRef),
-    ALL_NO_PREFIX);
-  ATTR_HTTP_EQUIV = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::httpEquiv), ALL_NO_PREFIX);
-  ATTR_KEYPOINTS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::keypoints, nsGkAtoms::keyPoints),
-    ALL_NO_PREFIX);
-  ATTR_LOOP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::loop), ALL_NO_PREFIX);
-  ATTR_PROPERTY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::property), ALL_NO_PREFIX);
-  ATTR_SCOPED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scoped), ALL_NO_PREFIX);
-  ATTR_STEP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::step), ALL_NO_PREFIX);
-  ATTR_SHAPE_RENDERING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::shape_rendering), ALL_NO_PREFIX);
-  ATTR_SCOPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scope), ALL_NO_PREFIX);
-  ATTR_SHAPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::shape), ALL_NO_PREFIX);
-  ATTR_SLOPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::slope), ALL_NO_PREFIX);
-  ATTR_STOP_COLOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stop_color), ALL_NO_PREFIX);
-  ATTR_STOP_OPACITY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stop_opacity), ALL_NO_PREFIX);
-  ATTR_TEMPLATE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_template), ALL_NO_PREFIX);
-  ATTR_WRAP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::wrap), ALL_NO_PREFIX);
-  ATTR_ABBR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::abbr), ALL_NO_PREFIX);
-  ATTR_ATTRIBUTENAME = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::attributename, nsGkAtoms::attributeName),
-    ALL_NO_PREFIX);
-  ATTR_ATTRIBUTETYPE = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::attributetype, nsGkAtoms::attributeType),
-    ALL_NO_PREFIX);
-  ATTR_CHAR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_char), ALL_NO_PREFIX);
-  ATTR_COORDS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::coords), ALL_NO_PREFIX);
-  ATTR_CHAROFF = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::charoff), ALL_NO_PREFIX);
-  ATTR_CHARSET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::charset), ALL_NO_PREFIX);
-  ATTR_NOWRAP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::nowrap), ALL_NO_PREFIX);
-  ATTR_NOHREF = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::nohref), ALL_NO_PREFIX);
-  ATTR_ONDRAG = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondrag), ALL_NO_PREFIX);
-  ATTR_ONDRAGENTER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragenter), ALL_NO_PREFIX);
-  ATTR_ONDRAGOVER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragover), ALL_NO_PREFIX);
-  ATTR_ONDRAGEND = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragend), ALL_NO_PREFIX);
-  ATTR_ONDROP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondrop), ALL_NO_PREFIX);
-  ATTR_ONDRAGDROP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragdrop), ALL_NO_PREFIX);
-  ATTR_ONERROR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onerror), ALL_NO_PREFIX);
-  ATTR_OPERATOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_operator), ALL_NO_PREFIX);
-  ATTR_OVERFLOW = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::overflow), ALL_NO_PREFIX);
-  ATTR_ONDRAGSTART = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragstart), ALL_NO_PREFIX);
-  ATTR_ONDRAGLEAVE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragleave), ALL_NO_PREFIX);
-  ATTR_STARTOFFSET = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::startoffset, nsGkAtoms::startOffset),
-    ALL_NO_PREFIX);
-  ATTR_START = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::start), ALL_NO_PREFIX);
-  ATTR_AXIS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::axis), ALL_NO_PREFIX);
-  ATTR_BIAS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::bias), ALL_NO_PREFIX);
-  ATTR_COLSPAN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colspan), ALL_NO_PREFIX);
-  ATTR_CLASSID = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::classid), ALL_NO_PREFIX);
-  ATTR_CROSSORIGIN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::crossorigin), ALL_NO_PREFIX);
-  ATTR_COLS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cols), ALL_NO_PREFIX);
-  ATTR_CURSOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cursor), ALL_NO_PREFIX);
-  ATTR_CLOSURE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::closure_), ALL_NO_PREFIX);
-  ATTR_CLOSE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::close), ALL_NO_PREFIX);
-  ATTR_CLASS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_class), ALL_NO_PREFIX);
-  ATTR_KEYSYSTEM = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::keysystem), ALL_NO_PREFIX);
-  ATTR_KEYSPLINES = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::keysplines, nsGkAtoms::keySplines),
-    ALL_NO_PREFIX);
-  ATTR_LOWSRC = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lowsrc), ALL_NO_PREFIX);
-  ATTR_MAXSIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::maxsize_), ALL_NO_PREFIX);
-  ATTR_MINSIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::minsize_), ALL_NO_PREFIX);
-  ATTR_OFFSET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::offset), ALL_NO_PREFIX);
-  ATTR_PRESERVEALPHA = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::preservealpha, nsGkAtoms::preserveAlpha),
-    ALL_NO_PREFIX);
-  ATTR_PRESERVEASPECTRATIO =
-    new nsHtml5AttributeName(ALL_NO_NS,
-                             SVG_DIFFERENT(nsGkAtoms::preserveaspectratio,
-                                           nsGkAtoms::preserveAspectRatio),
-                             ALL_NO_PREFIX);
-  ATTR_ROWSPAN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowspan), ALL_NO_PREFIX);
-  ATTR_ROWSPACING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowspacing_), ALL_NO_PREFIX);
-  ATTR_ROWS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rows), ALL_NO_PREFIX);
-  ATTR_SRCSET = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::srcset), ALL_NO_PREFIX);
-  ATTR_SUBSCRIPTSHIFT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::subscriptshift_), ALL_NO_PREFIX);
-  ATTR_VERSION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::version), ALL_NO_PREFIX);
-  ATTR_ALTTEXT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alttext), ALL_NO_PREFIX);
-  ATTR_CONTENTEDITABLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::contenteditable), ALL_NO_PREFIX);
-  ATTR_CONTROLS = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::controls), ALL_NO_PREFIX);
-  ATTR_CONTENT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::content), ALL_NO_PREFIX);
-  ATTR_CONTEXTMENU = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::contextmenu), ALL_NO_PREFIX);
-  ATTR_DEPTH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::depth_), ALL_NO_PREFIX);
-  ATTR_ENCTYPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::enctype), ALL_NO_PREFIX);
-  ATTR_FONT_STRETCH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_stretch), ALL_NO_PREFIX);
-  ATTR_FILTER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::filter), ALL_NO_PREFIX);
-  ATTR_FONTWEIGHT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontweight_), ALL_NO_PREFIX);
-  ATTR_FONT_WEIGHT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontWeight), ALL_NO_PREFIX);
-  ATTR_FONTSTYLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontstyle_), ALL_NO_PREFIX);
-  ATTR_FONT_STYLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_style), ALL_NO_PREFIX);
-  ATTR_FONTFAMILY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontfamily_), ALL_NO_PREFIX);
-  ATTR_FONT_FAMILY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_family), ALL_NO_PREFIX);
-  ATTR_FONT_VARIANT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_variant), ALL_NO_PREFIX);
-  ATTR_FONT_SIZE_ADJUST = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_size_adjust), ALL_NO_PREFIX);
-  ATTR_FILTERUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::filterunits, nsGkAtoms::filterUnits),
-    ALL_NO_PREFIX);
-  ATTR_FONTSIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontsize_), ALL_NO_PREFIX);
-  ATTR_FONT_SIZE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_size), ALL_NO_PREFIX);
-  ATTR_KEYTIMES = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::keytimes, nsGkAtoms::keyTimes),
-    ALL_NO_PREFIX);
-  ATTR_LETTER_SPACING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::letter_spacing), ALL_NO_PREFIX);
-  ATTR_LIST = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::list_), ALL_NO_PREFIX);
-  ATTR_MULTIPLE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::multiple), ALL_NO_PREFIX);
-  ATTR_RT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rt), ALL_NO_PREFIX);
-  ATTR_ONSTOP = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onstop), ALL_NO_PREFIX);
-  ATTR_ONSTART = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onstart), ALL_NO_PREFIX);
-  ATTR_POSTER = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::poster), ALL_NO_PREFIX);
-  ATTR_PATTERNTRANSFORM = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::patterntransform, nsGkAtoms::patternTransform),
-    ALL_NO_PREFIX);
-  ATTR_PATTERN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::pattern), ALL_NO_PREFIX);
-  ATTR_PATTERNUNITS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::patternunits, nsGkAtoms::patternUnits),
-    ALL_NO_PREFIX);
-  ATTR_PATTERNCONTENTUNITS =
-    new nsHtml5AttributeName(ALL_NO_NS,
-                             SVG_DIFFERENT(nsGkAtoms::patterncontentunits,
-                                           nsGkAtoms::patternContentUnits),
-                             ALL_NO_PREFIX);
-  ATTR_RESTART = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::restart), ALL_NO_PREFIX);
-  ATTR_STITCHTILES = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::stitchtiles, nsGkAtoms::stitchTiles),
-    ALL_NO_PREFIX);
-  ATTR_SYSTEMLANGUAGE = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::systemlanguage, nsGkAtoms::systemLanguage),
-    ALL_NO_PREFIX);
-  ATTR_TEXT_RENDERING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text_rendering), ALL_NO_PREFIX);
-  ATTR_TEXT_DECORATION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text_decoration), ALL_NO_PREFIX);
-  ATTR_TEXT_ANCHOR = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text_anchor), ALL_NO_PREFIX);
-  ATTR_TEXTLENGTH = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::textlength, nsGkAtoms::textLength),
-    ALL_NO_PREFIX);
-  ATTR_TEXT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text), ALL_NO_PREFIX);
-  ATTR_WRITING_MODE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::writing_mode), ALL_NO_PREFIX);
-  ATTR_WIDTH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::width), ALL_NO_PREFIX);
-  ATTR_ACCUMULATE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accumulate), ALL_NO_PREFIX);
-  ATTR_COLUMNSPAN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnspan_), ALL_NO_PREFIX);
-  ATTR_COLUMNLINES = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnlines_), ALL_NO_PREFIX);
-  ATTR_COLUMNALIGN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnalign_), ALL_NO_PREFIX);
-  ATTR_COLUMNSPACING = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnspacing_), ALL_NO_PREFIX);
-  ATTR_COLUMNWIDTH = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnwidth_), ALL_NO_PREFIX);
-  ATTR_GROUPALIGN = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::groupalign_), ALL_NO_PREFIX);
-  ATTR_INPUTMODE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::inputmode), ALL_NO_PREFIX);
-  ATTR_ONSUBMIT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onsubmit), ALL_NO_PREFIX);
-  ATTR_ONCUT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oncut), ALL_NO_PREFIX);
-  ATTR_REQUIRED = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::required), ALL_NO_PREFIX);
-  ATTR_REQUIREDFEATURES = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::requiredfeatures, nsGkAtoms::requiredFeatures),
-    ALL_NO_PREFIX);
-  ATTR_RESULT = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::result), ALL_NO_PREFIX);
-  ATTR_REQUIREDEXTENSIONS = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::requiredextensions, nsGkAtoms::requiredExtensions),
-    ALL_NO_PREFIX);
-  ATTR_VALUES = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::values), ALL_NO_PREFIX);
-  ATTR_VALUETYPE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::valuetype), ALL_NO_PREFIX);
-  ATTR_VALUE = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::value), ALL_NO_PREFIX);
-  ATTR_ELEVATION = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::elevation), ALL_NO_PREFIX);
-  ATTR_VIEWTARGET = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::viewtarget, nsGkAtoms::viewTarget),
-    ALL_NO_PREFIX);
-  ATTR_VIEWBOX = new nsHtml5AttributeName(
-    ALL_NO_NS,
-    SVG_DIFFERENT(nsGkAtoms::viewbox, nsGkAtoms::viewBox),
-    ALL_NO_PREFIX);
-  ATTR_CX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cx), ALL_NO_PREFIX);
-  ATTR_DX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dx), ALL_NO_PREFIX);
-  ATTR_FX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fx), ALL_NO_PREFIX);
-  ATTR_RX = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rx), ALL_NO_PREFIX);
-  ATTR_REFX = new nsHtml5AttributeName(
-    ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::refx, nsGkAtoms::refX), ALL_NO_PREFIX);
-  ATTR_BY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::by), ALL_NO_PREFIX);
-  ATTR_CY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cy), ALL_NO_PREFIX);
-  ATTR_DY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dy), ALL_NO_PREFIX);
-  ATTR_FY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fy), ALL_NO_PREFIX);
-  ATTR_RY = new nsHtml5AttributeName(
-    ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ry), ALL_NO_PREFIX);
-  ATTR_REFY = new nsHtml5AttributeName(
-    ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::refy, nsGkAtoms::refY), ALL_NO_PREFIX);
+  ATTR_ALT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alt), ALL_NO_PREFIX);
+  ATTR_DIR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dir), ALL_NO_PREFIX);
+  ATTR_DUR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dur), ALL_NO_PREFIX);
+  ATTR_END = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::end), ALL_NO_PREFIX);
+  ATTR_FOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_for), ALL_NO_PREFIX);
+  ATTR_IN2 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::in2), ALL_NO_PREFIX);
+  ATTR_LOW = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::low), ALL_NO_PREFIX);
+  ATTR_MIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::min), ALL_NO_PREFIX);
+  ATTR_MAX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::max), ALL_NO_PREFIX);
+  ATTR_REL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rel), ALL_NO_PREFIX);
+  ATTR_REV = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rev), ALL_NO_PREFIX);
+  ATTR_SRC = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::src), ALL_NO_PREFIX);
+  ATTR_D = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::d), ALL_NO_PREFIX);
+  ATTR_R = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::r), ALL_NO_PREFIX);
+  ATTR_X = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::x), ALL_NO_PREFIX);
+  ATTR_Y = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::y), ALL_NO_PREFIX);
+  ATTR_Z = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::z), ALL_NO_PREFIX);
+  ATTR_K1 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k1), ALL_NO_PREFIX);
+  ATTR_X1 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::x1), ALL_NO_PREFIX);
+  ATTR_Y1 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::y1), ALL_NO_PREFIX);
+  ATTR_K2 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k2), ALL_NO_PREFIX);
+  ATTR_X2 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::x2), ALL_NO_PREFIX);
+  ATTR_Y2 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::y2), ALL_NO_PREFIX);
+  ATTR_K3 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k3), ALL_NO_PREFIX);
+  ATTR_K4 = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::k4), ALL_NO_PREFIX);
+  ATTR_XML_SPACE = new nsHtml5AttributeName(XML_NS, COLONIFIED_LOCAL(nsGkAtoms::xml_space, nsGkAtoms::space), XML_PREFIX);
+  ATTR_XML_LANG = new nsHtml5AttributeName(XML_NS, COLONIFIED_LOCAL(nsGkAtoms::xml_lang, nsGkAtoms::lang), XML_PREFIX);
+  ATTR_XML_BASE = new nsHtml5AttributeName(XML_NS, COLONIFIED_LOCAL(nsGkAtoms::xml_base, nsGkAtoms::base), XML_PREFIX);
+  ATTR_ARIA_GRAB = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_grab), ALL_NO_PREFIX);
+  ATTR_ARIA_VALUEMAX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_valuemax), ALL_NO_PREFIX);
+  ATTR_ARIA_LABELLEDBY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_labelledby), ALL_NO_PREFIX);
+  ATTR_ARIA_DESCRIBEDBY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_describedby), ALL_NO_PREFIX);
+  ATTR_ARIA_DISABLED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_disabled), ALL_NO_PREFIX);
+  ATTR_ARIA_CHECKED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_checked), ALL_NO_PREFIX);
+  ATTR_ARIA_SELECTED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_selected), ALL_NO_PREFIX);
+  ATTR_ARIA_DROPEFFECT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_dropeffect), ALL_NO_PREFIX);
+  ATTR_ARIA_REQUIRED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_required), ALL_NO_PREFIX);
+  ATTR_ARIA_EXPANDED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_expanded), ALL_NO_PREFIX);
+  ATTR_ARIA_PRESSED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_pressed), ALL_NO_PREFIX);
+  ATTR_ARIA_LEVEL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_level), ALL_NO_PREFIX);
+  ATTR_ARIA_CHANNEL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_channel), ALL_NO_PREFIX);
+  ATTR_ARIA_HIDDEN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_hidden), ALL_NO_PREFIX);
+  ATTR_ARIA_SECRET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_secret), ALL_NO_PREFIX);
+  ATTR_ARIA_POSINSET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_posinset), ALL_NO_PREFIX);
+  ATTR_ARIA_ATOMIC = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_atomic), ALL_NO_PREFIX);
+  ATTR_ARIA_INVALID = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_invalid), ALL_NO_PREFIX);
+  ATTR_ARIA_TEMPLATEID = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_templateid), ALL_NO_PREFIX);
+  ATTR_ARIA_VALUEMIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_valuemin), ALL_NO_PREFIX);
+  ATTR_ARIA_MULTISELECTABLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_multiselectable), ALL_NO_PREFIX);
+  ATTR_ARIA_CONTROLS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_controls), ALL_NO_PREFIX);
+  ATTR_ARIA_MULTILINE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_multiline), ALL_NO_PREFIX);
+  ATTR_ARIA_READONLY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_readonly), ALL_NO_PREFIX);
+  ATTR_ARIA_OWNS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_owns), ALL_NO_PREFIX);
+  ATTR_ARIA_ACTIVEDESCENDANT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_activedescendant), ALL_NO_PREFIX);
+  ATTR_ARIA_RELEVANT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_relevant), ALL_NO_PREFIX);
+  ATTR_ARIA_DATATYPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_datatype), ALL_NO_PREFIX);
+  ATTR_ARIA_VALUENOW = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_valuenow), ALL_NO_PREFIX);
+  ATTR_ARIA_SORT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_sort), ALL_NO_PREFIX);
+  ATTR_ARIA_AUTOCOMPLETE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_autocomplete), ALL_NO_PREFIX);
+  ATTR_ARIA_FLOWTO = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_flowto), ALL_NO_PREFIX);
+  ATTR_ARIA_BUSY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_busy), ALL_NO_PREFIX);
+  ATTR_ARIA_LIVE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_live), ALL_NO_PREFIX);
+  ATTR_ARIA_HASPOPUP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_haspopup), ALL_NO_PREFIX);
+  ATTR_ARIA_SETSIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::aria_setsize), ALL_NO_PREFIX);
+  ATTR_CLEAR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clear), ALL_NO_PREFIX);
+  ATTR_DISABLED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::disabled), ALL_NO_PREFIX);
+  ATTR_DEFAULT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_default), ALL_NO_PREFIX);
+  ATTR_DATA = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::data), ALL_NO_PREFIX);
+  ATTR_EQUALCOLUMNS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::equalcolumns_), ALL_NO_PREFIX);
+  ATTR_EQUALROWS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::equalrows_), ALL_NO_PREFIX);
+  ATTR_HSPACE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::hspace), ALL_NO_PREFIX);
+  ATTR_ISMAP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ismap), ALL_NO_PREFIX);
+  ATTR_LOCAL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::local), ALL_NO_PREFIX);
+  ATTR_LSPACE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lspace_), ALL_NO_PREFIX);
+  ATTR_MOVABLELIMITS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::movablelimits_), ALL_NO_PREFIX);
+  ATTR_NOTATION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::notation_), ALL_NO_PREFIX);
+  ATTR_ONDATAAVAILABLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondataavailable), ALL_NO_PREFIX);
+  ATTR_ONPASTE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onpaste), ALL_NO_PREFIX);
+  ATTR_RSPACE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rspace_), ALL_NO_PREFIX);
+  ATTR_ROWALIGN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowalign_), ALL_NO_PREFIX);
+  ATTR_ROTATE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rotate), ALL_NO_PREFIX);
+  ATTR_SEPARATOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::separator_), ALL_NO_PREFIX);
+  ATTR_SEPARATORS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::separators_), ALL_NO_PREFIX);
+  ATTR_VSPACE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::vspace), ALL_NO_PREFIX);
+  ATTR_XCHANNELSELECTOR = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::xchannelselector, nsGkAtoms::xChannelSelector), ALL_NO_PREFIX);
+  ATTR_YCHANNELSELECTOR = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::ychannelselector, nsGkAtoms::yChannelSelector), ALL_NO_PREFIX);
+  ATTR_ENABLE_BACKGROUND = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::enable_background), ALL_NO_PREFIX);
+  ATTR_ONDBLCLICK = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondblclick), ALL_NO_PREFIX);
+  ATTR_ONABORT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onabort), ALL_NO_PREFIX);
+  ATTR_CALCMODE = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::calcmode, nsGkAtoms::calcMode), ALL_NO_PREFIX);
+  ATTR_CHECKED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::checked), ALL_NO_PREFIX);
+  ATTR_FENCE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fence_), ALL_NO_PREFIX);
+  ATTR_ONSCROLL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onscroll), ALL_NO_PREFIX);
+  ATTR_ONACTIVATE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onactivate), ALL_NO_PREFIX);
+  ATTR_OPACITY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::opacity), ALL_NO_PREFIX);
+  ATTR_SPACING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::spacing), ALL_NO_PREFIX);
+  ATTR_SPECULAREXPONENT = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::specularexponent, nsGkAtoms::specularExponent), ALL_NO_PREFIX);
+  ATTR_SPECULARCONSTANT = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::specularconstant, nsGkAtoms::specularConstant), ALL_NO_PREFIX);
+  ATTR_BORDER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::border), ALL_NO_PREFIX);
+  ATTR_ID = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::id), ALL_NO_PREFIX);
+  ATTR_GRADIENTTRANSFORM = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::gradienttransform, nsGkAtoms::gradientTransform), ALL_NO_PREFIX);
+  ATTR_GRADIENTUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::gradientunits, nsGkAtoms::gradientUnits), ALL_NO_PREFIX);
+  ATTR_HIDDEN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::hidden), ALL_NO_PREFIX);
+  ATTR_HEADERS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::headers), ALL_NO_PREFIX);
+  ATTR_READONLY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::readonly), ALL_NO_PREFIX);
+  ATTR_RENDERING_INTENT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rendering_intent), ALL_NO_PREFIX);
+  ATTR_SEED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::seed), ALL_NO_PREFIX);
+  ATTR_SRCDOC = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::srcdoc), ALL_NO_PREFIX);
+  ATTR_STDDEVIATION = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::stddeviation, nsGkAtoms::stdDeviation), ALL_NO_PREFIX);
+  ATTR_SANDBOX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::sandbox), ALL_NO_PREFIX);
+  ATTR_WORD_SPACING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::word_spacing), ALL_NO_PREFIX);
+  ATTR_ACCENTUNDER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accentunder_), ALL_NO_PREFIX);
+  ATTR_ACCEPT_CHARSET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::acceptcharset), ALL_NO_PREFIX);
+  ATTR_ACCESSKEY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accesskey), ALL_NO_PREFIX);
+  ATTR_ACCENT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accent_), ALL_NO_PREFIX);
+  ATTR_ACCEPT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accept), ALL_NO_PREFIX);
+  ATTR_BEVELLED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::bevelled_), ALL_NO_PREFIX);
+  ATTR_BASEFREQUENCY = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::basefrequency, nsGkAtoms::baseFrequency), ALL_NO_PREFIX);
+  ATTR_BASELINE_SHIFT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::baseline_shift), ALL_NO_PREFIX);
+  ATTR_BASEPROFILE = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::baseprofile, nsGkAtoms::baseProfile), ALL_NO_PREFIX);
+  ATTR_BASELINE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::baseline), ALL_NO_PREFIX);
+  ATTR_BASE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::base), ALL_NO_PREFIX);
+  ATTR_CODE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::code), ALL_NO_PREFIX);
+  ATTR_CODETYPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::codetype), ALL_NO_PREFIX);
+  ATTR_CODEBASE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::codebase), ALL_NO_PREFIX);
+  ATTR_CITE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cite), ALL_NO_PREFIX);
+  ATTR_DEFER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::defer), ALL_NO_PREFIX);
+  ATTR_DATETIME = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::datetime), ALL_NO_PREFIX);
+  ATTR_DIRECTION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::direction), ALL_NO_PREFIX);
+  ATTR_EDGEMODE = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::edgemode, nsGkAtoms::edgeMode), ALL_NO_PREFIX);
+  ATTR_EDGE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::edge_), ALL_NO_PREFIX);
+  ATTR_FACE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::face), ALL_NO_PREFIX);
+  ATTR_INDEX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::index), ALL_NO_PREFIX);
+  ATTR_INTERCEPT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::intercept), ALL_NO_PREFIX);
+  ATTR_INTEGRITY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::integrity), ALL_NO_PREFIX);
+  ATTR_LINEBREAK = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::linebreak_), ALL_NO_PREFIX);
+  ATTR_LABEL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::label), ALL_NO_PREFIX);
+  ATTR_LINETHICKNESS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::linethickness_), ALL_NO_PREFIX);
+  ATTR_MODE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mode), ALL_NO_PREFIX);
+  ATTR_NAME = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::name), ALL_NO_PREFIX);
+  ATTR_NORESIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::noresize), ALL_NO_PREFIX);
+  ATTR_ONBEFOREUNLOAD = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforeunload), ALL_NO_PREFIX);
+  ATTR_ONREPEAT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onrepeat), ALL_NO_PREFIX);
+  ATTR_OBJECT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::object), ALL_NO_PREFIX);
+  ATTR_ONSELECT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onselect), ALL_NO_PREFIX);
+  ATTR_ORDER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::order), ALL_NO_PREFIX);
+  ATTR_OTHER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::other), ALL_NO_PREFIX);
+  ATTR_ONRESET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onreset), ALL_NO_PREFIX);
+  ATTR_ONREADYSTATECHANGE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onreadystatechange), ALL_NO_PREFIX);
+  ATTR_ONMESSAGE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmessage), ALL_NO_PREFIX);
+  ATTR_ONBEGIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbegin), ALL_NO_PREFIX);
+  ATTR_ONBEFOREPRINT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforeprint), ALL_NO_PREFIX);
+  ATTR_ORIENT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::orient), ALL_NO_PREFIX);
+  ATTR_ORIENTATION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::orientation), ALL_NO_PREFIX);
+  ATTR_ONBEFORECOPY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforecopy), ALL_NO_PREFIX);
+  ATTR_ONSELECTSTART = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onselectstart), ALL_NO_PREFIX);
+  ATTR_ONBEFOREPASTE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforepaste), ALL_NO_PREFIX);
+  ATTR_ONKEYPRESS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onkeypress), ALL_NO_PREFIX);
+  ATTR_ONKEYUP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onkeyup), ALL_NO_PREFIX);
+  ATTR_ONBEFORECUT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onbeforecut), ALL_NO_PREFIX);
+  ATTR_ONKEYDOWN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onkeydown), ALL_NO_PREFIX);
+  ATTR_ONRESIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onresize), ALL_NO_PREFIX);
+  ATTR_REPEAT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::repeat), ALL_NO_PREFIX);
+  ATTR_REFERRERPOLICY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::referrerpolicy), ALL_NO_PREFIX);
+  ATTR_RULES = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rules), ALL_NO_PREFIX);
+  ATTR_ROLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::role), ALL_NO_PREFIX);
+  ATTR_REPEATCOUNT = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::repeatcount, nsGkAtoms::repeatCount), ALL_NO_PREFIX);
+  ATTR_REPEATDUR = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::repeatdur, nsGkAtoms::repeatDur), ALL_NO_PREFIX);
+  ATTR_SELECTED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::selected), ALL_NO_PREFIX);
+  ATTR_SIZES = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::sizes), ALL_NO_PREFIX);
+  ATTR_SUPERSCRIPTSHIFT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::superscriptshift_), ALL_NO_PREFIX);
+  ATTR_STRETCHY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stretchy_), ALL_NO_PREFIX);
+  ATTR_SCHEME = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scheme), ALL_NO_PREFIX);
+  ATTR_SPREADMETHOD = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::spreadmethod, nsGkAtoms::spreadMethod), ALL_NO_PREFIX);
+  ATTR_SELECTION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::selection_), ALL_NO_PREFIX);
+  ATTR_SIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::size), ALL_NO_PREFIX);
+  ATTR_TYPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::type), ALL_NO_PREFIX);
+  ATTR_DIFFUSECONSTANT = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::diffuseconstant, nsGkAtoms::diffuseConstant), ALL_NO_PREFIX);
+  ATTR_HREF = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::href), ALL_NO_PREFIX);
+  ATTR_HREFLANG = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::hreflang), ALL_NO_PREFIX);
+  ATTR_ONAFTERPRINT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onafterprint), ALL_NO_PREFIX);
+  ATTR_PROFILE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::profile), ALL_NO_PREFIX);
+  ATTR_SURFACESCALE = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::surfacescale, nsGkAtoms::surfaceScale), ALL_NO_PREFIX);
+  ATTR_XREF = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::xref_), ALL_NO_PREFIX);
+  ATTR_ALIGN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::align), ALL_NO_PREFIX);
+  ATTR_ALIGNMENT_BASELINE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alignment_baseline), ALL_NO_PREFIX);
+  ATTR_ALIGNMENTSCOPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alignmentscope_), ALL_NO_PREFIX);
+  ATTR_DRAGGABLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::draggable), ALL_NO_PREFIX);
+  ATTR_HEIGHT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::height), ALL_NO_PREFIX);
+  ATTR_IMAGE_RENDERING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::image_rendering), ALL_NO_PREFIX);
+  ATTR_LANGUAGE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::language), ALL_NO_PREFIX);
+  ATTR_LANG = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lang), ALL_NO_PREFIX);
+  ATTR_LARGEOP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::largeop_), ALL_NO_PREFIX);
+  ATTR_LONGDESC = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::longdesc), ALL_NO_PREFIX);
+  ATTR_LENGTHADJUST = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::lengthadjust, nsGkAtoms::lengthAdjust), ALL_NO_PREFIX);
+  ATTR_MARGINHEIGHT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marginheight), ALL_NO_PREFIX);
+  ATTR_MARGINWIDTH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marginwidth), ALL_NO_PREFIX);
+  ATTR_ORIGIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::origin), ALL_NO_PREFIX);
+  ATTR_PING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ping), ALL_NO_PREFIX);
+  ATTR_TARGET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::target), ALL_NO_PREFIX);
+  ATTR_TARGETX = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::targetx, nsGkAtoms::targetX), ALL_NO_PREFIX);
+  ATTR_TARGETY = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::targety, nsGkAtoms::targetY), ALL_NO_PREFIX);
+  ATTR_ARCHIVE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::archive), ALL_NO_PREFIX);
+  ATTR_HIGH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::high), ALL_NO_PREFIX);
+  ATTR_LIGHTING_COLOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lighting_color), ALL_NO_PREFIX);
+  ATTR_MATHBACKGROUND = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathbackground_), ALL_NO_PREFIX);
+  ATTR_METHOD = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::method), ALL_NO_PREFIX);
+  ATTR_MATHVARIANT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathvariant_), ALL_NO_PREFIX);
+  ATTR_MATHCOLOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathcolor_), ALL_NO_PREFIX);
+  ATTR_MATHSIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mathsize_), ALL_NO_PREFIX);
+  ATTR_NOSHADE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::noshade), ALL_NO_PREFIX);
+  ATTR_ONCHANGE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onchange), ALL_NO_PREFIX);
+  ATTR_PATHLENGTH = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::pathlength, nsGkAtoms::pathLength), ALL_NO_PREFIX);
+  ATTR_PATH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::path), ALL_NO_PREFIX);
+  ATTR_ALTIMG = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::altimg_), ALL_NO_PREFIX);
+  ATTR_ACTIONTYPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::actiontype_), ALL_NO_PREFIX);
+  ATTR_ACTION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::action), ALL_NO_PREFIX);
+  ATTR_ACTIVE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::active), ALL_NO_PREFIX);
+  ATTR_ADDITIVE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::additive), ALL_NO_PREFIX);
+  ATTR_BEGIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::begin), ALL_NO_PREFIX);
+  ATTR_DOMINANT_BASELINE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dominant_baseline), ALL_NO_PREFIX);
+  ATTR_DIVISOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::divisor), ALL_NO_PREFIX);
+  ATTR_DEFINITIONURL = new nsHtml5AttributeName(ALL_NO_NS, MATH_DIFFERENT(nsGkAtoms::definitionurl, nsGkAtoms::definitionURL_), ALL_NO_PREFIX);
+  ATTR_LIMITINGCONEANGLE = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::limitingconeangle, nsGkAtoms::limitingConeAngle), ALL_NO_PREFIX);
+  ATTR_MEDIA = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::media), ALL_NO_PREFIX);
+  ATTR_MANIFEST = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::manifest), ALL_NO_PREFIX);
+  ATTR_ONFINISH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfinish), ALL_NO_PREFIX);
+  ATTR_OPTIMUM = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::optimum), ALL_NO_PREFIX);
+  ATTR_RADIOGROUP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::radiogroup), ALL_NO_PREFIX);
+  ATTR_RADIUS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::radius), ALL_NO_PREFIX);
+  ATTR_SCRIPTLEVEL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scriptlevel_), ALL_NO_PREFIX);
+  ATTR_SCRIPTSIZEMULTIPLIER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scriptsizemultiplier_), ALL_NO_PREFIX);
+  ATTR_SCRIPTMINSIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scriptminsize_), ALL_NO_PREFIX);
+  ATTR_TABINDEX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::tabindex), ALL_NO_PREFIX);
+  ATTR_VALIGN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::valign), ALL_NO_PREFIX);
+  ATTR_VISIBILITY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::visibility), ALL_NO_PREFIX);
+  ATTR_BACKGROUND = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::background), ALL_NO_PREFIX);
+  ATTR_LINK = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::link), ALL_NO_PREFIX);
+  ATTR_MARKER_MID = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marker_mid), ALL_NO_PREFIX);
+  ATTR_MARKERHEIGHT = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::markerheight, nsGkAtoms::markerHeight), ALL_NO_PREFIX);
+  ATTR_MARKER_END = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marker_end), ALL_NO_PREFIX);
+  ATTR_MASK = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::mask), ALL_NO_PREFIX);
+  ATTR_MARKER_START = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::marker_start), ALL_NO_PREFIX);
+  ATTR_MARKERWIDTH = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::markerwidth, nsGkAtoms::markerWidth), ALL_NO_PREFIX);
+  ATTR_MASKUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::maskunits, nsGkAtoms::maskUnits), ALL_NO_PREFIX);
+  ATTR_MARKERUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::markerunits, nsGkAtoms::markerUnits), ALL_NO_PREFIX);
+  ATTR_MASKCONTENTUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::maskcontentunits, nsGkAtoms::maskContentUnits), ALL_NO_PREFIX);
+  ATTR_AMPLITUDE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::amplitude), ALL_NO_PREFIX);
+  ATTR_CELLSPACING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cellspacing), ALL_NO_PREFIX);
+  ATTR_CELLPADDING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cellpadding), ALL_NO_PREFIX);
+  ATTR_DECLARE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::declare), ALL_NO_PREFIX);
+  ATTR_FILL_RULE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fill_rule), ALL_NO_PREFIX);
+  ATTR_FILL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fill), ALL_NO_PREFIX);
+  ATTR_FILL_OPACITY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fill_opacity), ALL_NO_PREFIX);
+  ATTR_MAXLENGTH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::maxlength), ALL_NO_PREFIX);
+  ATTR_ONCLICK = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onclick), ALL_NO_PREFIX);
+  ATTR_ONBLUR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onblur), ALL_NO_PREFIX);
+  ATTR_REPLACE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::replace), ALL_NO_PREFIX);
+  ATTR_ROWLINES = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowlines_), ALL_NO_PREFIX);
+  ATTR_SCALE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scale), ALL_NO_PREFIX);
+  ATTR_STYLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::style), ALL_NO_PREFIX);
+  ATTR_TABLEVALUES = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::tablevalues, nsGkAtoms::tableValues), ALL_NO_PREFIX);
+  ATTR_TITLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::title), ALL_NO_PREFIX);
+  ATTR_AZIMUTH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::azimuth), ALL_NO_PREFIX);
+  ATTR_FORMAT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::format), ALL_NO_PREFIX);
+  ATTR_FRAMEBORDER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::frameborder), ALL_NO_PREFIX);
+  ATTR_FRAME = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::frame), ALL_NO_PREFIX);
+  ATTR_FRAMESPACING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::framespacing_), ALL_NO_PREFIX);
+  ATTR_FROM = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::from), ALL_NO_PREFIX);
+  ATTR_FORM = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::form), ALL_NO_PREFIX);
+  ATTR_PROMPT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::prompt), ALL_NO_PREFIX);
+  ATTR_PRIMITIVEUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::primitiveunits, nsGkAtoms::primitiveUnits), ALL_NO_PREFIX);
+  ATTR_SYMMETRIC = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::symmetric_), ALL_NO_PREFIX);
+  ATTR_SUMMARY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::summary), ALL_NO_PREFIX);
+  ATTR_USEMAP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::usemap), ALL_NO_PREFIX);
+  ATTR_ZOOMANDPAN = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::zoomandpan, nsGkAtoms::zoomAndPan), ALL_NO_PREFIX);
+  ATTR_ASYNC = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::async), ALL_NO_PREFIX);
+  ATTR_ALINK = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alink), ALL_NO_PREFIX);
+  ATTR_IN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::in), ALL_NO_PREFIX);
+  ATTR_ICON = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::icon), ALL_NO_PREFIX);
+  ATTR_KERNELMATRIX = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::kernelmatrix, nsGkAtoms::kernelMatrix), ALL_NO_PREFIX);
+  ATTR_KERNING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::kerning), ALL_NO_PREFIX);
+  ATTR_KERNELUNITLENGTH = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::kernelunitlength, nsGkAtoms::kernelUnitLength), ALL_NO_PREFIX);
+  ATTR_ONUNLOAD = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onunload), ALL_NO_PREFIX);
+  ATTR_OPEN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::open), ALL_NO_PREFIX);
+  ATTR_ONINVALID = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oninvalid), ALL_NO_PREFIX);
+  ATTR_ONEND = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onend), ALL_NO_PREFIX);
+  ATTR_ONINPUT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oninput), ALL_NO_PREFIX);
+  ATTR_POINTER_EVENTS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::pointer_events), ALL_NO_PREFIX);
+  ATTR_POINTS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::points), ALL_NO_PREFIX);
+  ATTR_POINTSATX = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::pointsatx, nsGkAtoms::pointsAtX), ALL_NO_PREFIX);
+  ATTR_POINTSATY = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::pointsaty, nsGkAtoms::pointsAtY), ALL_NO_PREFIX);
+  ATTR_POINTSATZ = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::pointsatz, nsGkAtoms::pointsAtZ), ALL_NO_PREFIX);
+  ATTR_SPAN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::span), ALL_NO_PREFIX);
+  ATTR_STANDBY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::standby), ALL_NO_PREFIX);
+  ATTR_TRANSFORM = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::transform), ALL_NO_PREFIX);
+  ATTR_VLINK = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::vlink), ALL_NO_PREFIX);
+  ATTR_WHEN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::when), ALL_NO_PREFIX);
+  ATTR_XLINK_HREF = new nsHtml5AttributeName(XLINK_NS, COLONIFIED_LOCAL(nsGkAtoms::xlink_href, nsGkAtoms::href), XLINK_PREFIX);
+  ATTR_XLINK_TITLE = new nsHtml5AttributeName(XLINK_NS, COLONIFIED_LOCAL(nsGkAtoms::xlink_title, nsGkAtoms::title), XLINK_PREFIX);
+  ATTR_XLINK_ROLE = new nsHtml5AttributeName(XLINK_NS, COLONIFIED_LOCAL(nsGkAtoms::xlink_role, nsGkAtoms::role), XLINK_PREFIX);
+  ATTR_XLINK_ARCROLE = new nsHtml5AttributeName(XLINK_NS, COLONIFIED_LOCAL(nsGkAtoms::xlink_arcrole, nsGkAtoms::arcrole), XLINK_PREFIX);
+  ATTR_XMLNS_XLINK = new nsHtml5AttributeName(XMLNS_NS, COLONIFIED_LOCAL(nsGkAtoms::xmlns_xlink, nsGkAtoms::xlink), XMLNS_PREFIX);
+  ATTR_XMLNS = new nsHtml5AttributeName(XMLNS_NS, SAME_LOCAL(nsGkAtoms::xmlns), ALL_NO_PREFIX);
+  ATTR_XLINK_TYPE = new nsHtml5AttributeName(XLINK_NS, COLONIFIED_LOCAL(nsGkAtoms::xlink_type, nsGkAtoms::type), XLINK_PREFIX);
+  ATTR_XLINK_SHOW = new nsHtml5AttributeName(XLINK_NS, COLONIFIED_LOCAL(nsGkAtoms::xlink_show, nsGkAtoms::show), XLINK_PREFIX);
+  ATTR_XLINK_ACTUATE = new nsHtml5AttributeName(XLINK_NS, COLONIFIED_LOCAL(nsGkAtoms::xlink_actuate, nsGkAtoms::actuate), XLINK_PREFIX);
+  ATTR_AUTOPLAY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::autoplay), ALL_NO_PREFIX);
+  ATTR_AUTOCOMPLETE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::autocomplete), ALL_NO_PREFIX);
+  ATTR_AUTOFOCUS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::autofocus), ALL_NO_PREFIX);
+  ATTR_BGCOLOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::bgcolor), ALL_NO_PREFIX);
+  ATTR_COLOR_PROFILE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colorProfile), ALL_NO_PREFIX);
+  ATTR_COLOR_RENDERING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::color_rendering), ALL_NO_PREFIX);
+  ATTR_COLOR_INTERPOLATION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colorInterpolation), ALL_NO_PREFIX);
+  ATTR_COLOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::color), ALL_NO_PREFIX);
+  ATTR_COLOR_INTERPOLATION_FILTERS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colorInterpolationFilters), ALL_NO_PREFIX);
+  ATTR_ENCODING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::encoding), ALL_NO_PREFIX);
+  ATTR_EXPONENT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::exponent), ALL_NO_PREFIX);
+  ATTR_FLOOD_COLOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::flood_color), ALL_NO_PREFIX);
+  ATTR_FLOOD_OPACITY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::flood_opacity), ALL_NO_PREFIX);
+  ATTR_LQUOTE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lquote_), ALL_NO_PREFIX);
+  ATTR_NUMOCTAVES = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::numoctaves, nsGkAtoms::numOctaves), ALL_NO_PREFIX);
+  ATTR_ONLOAD = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onload), ALL_NO_PREFIX);
+  ATTR_ONMOUSEWHEEL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmousewheel), ALL_NO_PREFIX);
+  ATTR_ONMOUSEENTER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseenter), ALL_NO_PREFIX);
+  ATTR_ONMOUSEOVER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseover), ALL_NO_PREFIX);
+  ATTR_ONFOCUSIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfocusin), ALL_NO_PREFIX);
+  ATTR_ONCONTEXTMENU = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oncontextmenu), ALL_NO_PREFIX);
+  ATTR_ONZOOM = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onzoom), ALL_NO_PREFIX);
+  ATTR_ONCOPY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oncopy), ALL_NO_PREFIX);
+  ATTR_ONMOUSELEAVE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseleave), ALL_NO_PREFIX);
+  ATTR_ONMOUSEMOVE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmousemove), ALL_NO_PREFIX);
+  ATTR_ONMOUSEUP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseup), ALL_NO_PREFIX);
+  ATTR_ONFOCUS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfocus), ALL_NO_PREFIX);
+  ATTR_ONMOUSEOUT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmouseout), ALL_NO_PREFIX);
+  ATTR_ONFOCUSOUT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onfocusout), ALL_NO_PREFIX);
+  ATTR_ONMOUSEDOWN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onmousedown), ALL_NO_PREFIX);
+  ATTR_TO = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::to), ALL_NO_PREFIX);
+  ATTR_RQUOTE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rquote_), ALL_NO_PREFIX);
+  ATTR_STROKE_LINECAP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_linecap), ALL_NO_PREFIX);
+  ATTR_STROKE_DASHARRAY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_dasharray), ALL_NO_PREFIX);
+  ATTR_STROKE_DASHOFFSET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_dashoffset), ALL_NO_PREFIX);
+  ATTR_STROKE_LINEJOIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_linejoin), ALL_NO_PREFIX);
+  ATTR_STROKE_MITERLIMIT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_miterlimit), ALL_NO_PREFIX);
+  ATTR_STROKE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke), ALL_NO_PREFIX);
+  ATTR_SCROLLING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scrolling), ALL_NO_PREFIX);
+  ATTR_STROKE_WIDTH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_width), ALL_NO_PREFIX);
+  ATTR_STROKE_OPACITY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stroke_opacity), ALL_NO_PREFIX);
+  ATTR_COMPACT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::compact), ALL_NO_PREFIX);
+  ATTR_CLIP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clip), ALL_NO_PREFIX);
+  ATTR_CLIP_RULE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clip_rule), ALL_NO_PREFIX);
+  ATTR_CLIP_PATH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::clip_path), ALL_NO_PREFIX);
+  ATTR_CLIPPATHUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::clippathunits, nsGkAtoms::clipPathUnits), ALL_NO_PREFIX);
+  ATTR_DISPLAY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::display), ALL_NO_PREFIX);
+  ATTR_DISPLAYSTYLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::displaystyle_), ALL_NO_PREFIX);
+  ATTR_GLYPH_ORIENTATION_VERTICAL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::glyph_orientation_vertical), ALL_NO_PREFIX);
+  ATTR_GLYPH_ORIENTATION_HORIZONTAL = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::glyph_orientation_horizontal), ALL_NO_PREFIX);
+  ATTR_GLYPHREF = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::glyphref, nsGkAtoms::glyphRef), ALL_NO_PREFIX);
+  ATTR_HTTP_EQUIV = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::httpEquiv), ALL_NO_PREFIX);
+  ATTR_KEYPOINTS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::keypoints, nsGkAtoms::keyPoints), ALL_NO_PREFIX);
+  ATTR_LOOP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::loop), ALL_NO_PREFIX);
+  ATTR_PROPERTY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::property), ALL_NO_PREFIX);
+  ATTR_SCOPED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scoped), ALL_NO_PREFIX);
+  ATTR_STEP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::step), ALL_NO_PREFIX);
+  ATTR_SHAPE_RENDERING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::shape_rendering), ALL_NO_PREFIX);
+  ATTR_SCOPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::scope), ALL_NO_PREFIX);
+  ATTR_SHAPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::shape), ALL_NO_PREFIX);
+  ATTR_SLOPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::slope), ALL_NO_PREFIX);
+  ATTR_STOP_COLOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stop_color), ALL_NO_PREFIX);
+  ATTR_STOP_OPACITY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::stop_opacity), ALL_NO_PREFIX);
+  ATTR_TEMPLATE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_template), ALL_NO_PREFIX);
+  ATTR_WRAP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::wrap), ALL_NO_PREFIX);
+  ATTR_ABBR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::abbr), ALL_NO_PREFIX);
+  ATTR_ATTRIBUTENAME = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::attributename, nsGkAtoms::attributeName), ALL_NO_PREFIX);
+  ATTR_ATTRIBUTETYPE = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::attributetype, nsGkAtoms::attributeType), ALL_NO_PREFIX);
+  ATTR_CHAR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_char), ALL_NO_PREFIX);
+  ATTR_COORDS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::coords), ALL_NO_PREFIX);
+  ATTR_CHAROFF = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::charoff), ALL_NO_PREFIX);
+  ATTR_CHARSET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::charset), ALL_NO_PREFIX);
+  ATTR_NOWRAP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::nowrap), ALL_NO_PREFIX);
+  ATTR_NOHREF = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::nohref), ALL_NO_PREFIX);
+  ATTR_ONDRAG = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondrag), ALL_NO_PREFIX);
+  ATTR_ONDRAGENTER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragenter), ALL_NO_PREFIX);
+  ATTR_ONDRAGOVER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragover), ALL_NO_PREFIX);
+  ATTR_ONDRAGEND = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragend), ALL_NO_PREFIX);
+  ATTR_ONDROP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondrop), ALL_NO_PREFIX);
+  ATTR_ONDRAGDROP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragdrop), ALL_NO_PREFIX);
+  ATTR_ONERROR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onerror), ALL_NO_PREFIX);
+  ATTR_OPERATOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_operator), ALL_NO_PREFIX);
+  ATTR_OVERFLOW = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::overflow), ALL_NO_PREFIX);
+  ATTR_ONDRAGSTART = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragstart), ALL_NO_PREFIX);
+  ATTR_ONDRAGLEAVE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ondragleave), ALL_NO_PREFIX);
+  ATTR_STARTOFFSET = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::startoffset, nsGkAtoms::startOffset), ALL_NO_PREFIX);
+  ATTR_START = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::start), ALL_NO_PREFIX);
+  ATTR_AXIS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::axis), ALL_NO_PREFIX);
+  ATTR_BIAS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::bias), ALL_NO_PREFIX);
+  ATTR_COLSPAN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::colspan), ALL_NO_PREFIX);
+  ATTR_CLASSID = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::classid), ALL_NO_PREFIX);
+  ATTR_CROSSORIGIN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::crossorigin), ALL_NO_PREFIX);
+  ATTR_COLS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cols), ALL_NO_PREFIX);
+  ATTR_CURSOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cursor), ALL_NO_PREFIX);
+  ATTR_CLOSURE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::closure_), ALL_NO_PREFIX);
+  ATTR_CLOSE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::close), ALL_NO_PREFIX);
+  ATTR_CLASS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::_class), ALL_NO_PREFIX);
+  ATTR_KEYSYSTEM = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::keysystem), ALL_NO_PREFIX);
+  ATTR_KEYSPLINES = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::keysplines, nsGkAtoms::keySplines), ALL_NO_PREFIX);
+  ATTR_LOWSRC = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::lowsrc), ALL_NO_PREFIX);
+  ATTR_MAXSIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::maxsize_), ALL_NO_PREFIX);
+  ATTR_MINSIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::minsize_), ALL_NO_PREFIX);
+  ATTR_OFFSET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::offset), ALL_NO_PREFIX);
+  ATTR_PRESERVEALPHA = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::preservealpha, nsGkAtoms::preserveAlpha), ALL_NO_PREFIX);
+  ATTR_PRESERVEASPECTRATIO = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::preserveaspectratio, nsGkAtoms::preserveAspectRatio), ALL_NO_PREFIX);
+  ATTR_ROWSPAN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowspan), ALL_NO_PREFIX);
+  ATTR_ROWSPACING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rowspacing_), ALL_NO_PREFIX);
+  ATTR_ROWS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rows), ALL_NO_PREFIX);
+  ATTR_SRCSET = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::srcset), ALL_NO_PREFIX);
+  ATTR_SUBSCRIPTSHIFT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::subscriptshift_), ALL_NO_PREFIX);
+  ATTR_VERSION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::version), ALL_NO_PREFIX);
+  ATTR_ALTTEXT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::alttext), ALL_NO_PREFIX);
+  ATTR_CONTENTEDITABLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::contenteditable), ALL_NO_PREFIX);
+  ATTR_CONTROLS = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::controls), ALL_NO_PREFIX);
+  ATTR_CONTENT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::content), ALL_NO_PREFIX);
+  ATTR_CONTEXTMENU = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::contextmenu), ALL_NO_PREFIX);
+  ATTR_DEPTH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::depth_), ALL_NO_PREFIX);
+  ATTR_ENCTYPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::enctype), ALL_NO_PREFIX);
+  ATTR_FONT_STRETCH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_stretch), ALL_NO_PREFIX);
+  ATTR_FILTER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::filter), ALL_NO_PREFIX);
+  ATTR_FONTWEIGHT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontweight_), ALL_NO_PREFIX);
+  ATTR_FONT_WEIGHT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontWeight), ALL_NO_PREFIX);
+  ATTR_FONTSTYLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontstyle_), ALL_NO_PREFIX);
+  ATTR_FONT_STYLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_style), ALL_NO_PREFIX);
+  ATTR_FONTFAMILY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontfamily_), ALL_NO_PREFIX);
+  ATTR_FONT_FAMILY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_family), ALL_NO_PREFIX);
+  ATTR_FONT_VARIANT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_variant), ALL_NO_PREFIX);
+  ATTR_FONT_SIZE_ADJUST = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_size_adjust), ALL_NO_PREFIX);
+  ATTR_FILTERUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::filterunits, nsGkAtoms::filterUnits), ALL_NO_PREFIX);
+  ATTR_FONTSIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fontsize_), ALL_NO_PREFIX);
+  ATTR_FONT_SIZE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::font_size), ALL_NO_PREFIX);
+  ATTR_KEYTIMES = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::keytimes, nsGkAtoms::keyTimes), ALL_NO_PREFIX);
+  ATTR_LETTER_SPACING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::letter_spacing), ALL_NO_PREFIX);
+  ATTR_LIST = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::list_), ALL_NO_PREFIX);
+  ATTR_MULTIPLE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::multiple), ALL_NO_PREFIX);
+  ATTR_RT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rt), ALL_NO_PREFIX);
+  ATTR_ONSTOP = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onstop), ALL_NO_PREFIX);
+  ATTR_ONSTART = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onstart), ALL_NO_PREFIX);
+  ATTR_POSTER = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::poster), ALL_NO_PREFIX);
+  ATTR_PATTERNTRANSFORM = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::patterntransform, nsGkAtoms::patternTransform), ALL_NO_PREFIX);
+  ATTR_PATTERN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::pattern), ALL_NO_PREFIX);
+  ATTR_PATTERNUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::patternunits, nsGkAtoms::patternUnits), ALL_NO_PREFIX);
+  ATTR_PATTERNCONTENTUNITS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::patterncontentunits, nsGkAtoms::patternContentUnits), ALL_NO_PREFIX);
+  ATTR_RESTART = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::restart), ALL_NO_PREFIX);
+  ATTR_STITCHTILES = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::stitchtiles, nsGkAtoms::stitchTiles), ALL_NO_PREFIX);
+  ATTR_SYSTEMLANGUAGE = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::systemlanguage, nsGkAtoms::systemLanguage), ALL_NO_PREFIX);
+  ATTR_TEXT_RENDERING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text_rendering), ALL_NO_PREFIX);
+  ATTR_TEXT_DECORATION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text_decoration), ALL_NO_PREFIX);
+  ATTR_TEXT_ANCHOR = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text_anchor), ALL_NO_PREFIX);
+  ATTR_TEXTLENGTH = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::textlength, nsGkAtoms::textLength), ALL_NO_PREFIX);
+  ATTR_TEXT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::text), ALL_NO_PREFIX);
+  ATTR_WRITING_MODE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::writing_mode), ALL_NO_PREFIX);
+  ATTR_WIDTH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::width), ALL_NO_PREFIX);
+  ATTR_ACCUMULATE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::accumulate), ALL_NO_PREFIX);
+  ATTR_COLUMNSPAN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnspan_), ALL_NO_PREFIX);
+  ATTR_COLUMNLINES = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnlines_), ALL_NO_PREFIX);
+  ATTR_COLUMNALIGN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnalign_), ALL_NO_PREFIX);
+  ATTR_COLUMNSPACING = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnspacing_), ALL_NO_PREFIX);
+  ATTR_COLUMNWIDTH = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::columnwidth_), ALL_NO_PREFIX);
+  ATTR_GROUPALIGN = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::groupalign_), ALL_NO_PREFIX);
+  ATTR_INPUTMODE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::inputmode), ALL_NO_PREFIX);
+  ATTR_ONSUBMIT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::onsubmit), ALL_NO_PREFIX);
+  ATTR_ONCUT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::oncut), ALL_NO_PREFIX);
+  ATTR_REQUIRED = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::required), ALL_NO_PREFIX);
+  ATTR_REQUIREDFEATURES = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::requiredfeatures, nsGkAtoms::requiredFeatures), ALL_NO_PREFIX);
+  ATTR_RESULT = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::result), ALL_NO_PREFIX);
+  ATTR_REQUIREDEXTENSIONS = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::requiredextensions, nsGkAtoms::requiredExtensions), ALL_NO_PREFIX);
+  ATTR_VALUES = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::values), ALL_NO_PREFIX);
+  ATTR_VALUETYPE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::valuetype), ALL_NO_PREFIX);
+  ATTR_VALUE = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::value), ALL_NO_PREFIX);
+  ATTR_ELEVATION = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::elevation), ALL_NO_PREFIX);
+  ATTR_VIEWTARGET = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::viewtarget, nsGkAtoms::viewTarget), ALL_NO_PREFIX);
+  ATTR_VIEWBOX = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::viewbox, nsGkAtoms::viewBox), ALL_NO_PREFIX);
+  ATTR_CX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cx), ALL_NO_PREFIX);
+  ATTR_DX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dx), ALL_NO_PREFIX);
+  ATTR_FX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fx), ALL_NO_PREFIX);
+  ATTR_RX = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::rx), ALL_NO_PREFIX);
+  ATTR_REFX = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::refx, nsGkAtoms::refX), ALL_NO_PREFIX);
+  ATTR_BY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::by), ALL_NO_PREFIX);
+  ATTR_CY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::cy), ALL_NO_PREFIX);
+  ATTR_DY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::dy), ALL_NO_PREFIX);
+  ATTR_FY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::fy), ALL_NO_PREFIX);
+  ATTR_RY = new nsHtml5AttributeName(ALL_NO_NS, SAME_LOCAL(nsGkAtoms::ry), ALL_NO_PREFIX);
+  ATTR_REFY = new nsHtml5AttributeName(ALL_NO_NS, SVG_DIFFERENT(nsGkAtoms::refy, nsGkAtoms::refY), ALL_NO_PREFIX);
   ATTRIBUTE_NAMES = new nsHtml5AttributeName*[491];
   ATTRIBUTE_NAMES[0] = ATTR_ONCLICK;
   ATTRIBUTE_NAMES[1] = ATTR_DATETIME;
   ATTRIBUTE_NAMES[2] = ATTR_ONDRAGOVER;
   ATTRIBUTE_NAMES[3] = ATTR_ARIA_SETSIZE;
   ATTRIBUTE_NAMES[4] = ATTR_LANG;
   ATTRIBUTE_NAMES[5] = ATTR_FLOOD_OPACITY;
   ATTRIBUTE_NAMES[6] = ATTR_PATTERN;
--- a/parser/html/nsHtml5AttributeName.h
+++ b/parser/html/nsHtml5AttributeName.h
@@ -68,48 +68,43 @@ class nsHtml5AttributeName
     static nsIAtom** XMLNS_PREFIX;
     static nsIAtom** XLINK_PREFIX;
     static nsIAtom** XML_PREFIX;
     static nsIAtom** SVG_DIFFERENT(nsIAtom* name, nsIAtom* camel);
     static nsIAtom** MATH_DIFFERENT(nsIAtom* name, nsIAtom* camel);
     static nsIAtom** COLONIFIED_LOCAL(nsIAtom* name, nsIAtom* suffix);
   public:
     static nsIAtom** SAME_LOCAL(nsIAtom* name);
-    inline static int32_t levelOrderBinarySearch(jArray<int32_t, int32_t> data,
-                                                 int32_t key)
+    inline static int32_t levelOrderBinarySearch(jArray<int32_t,int32_t> data, int32_t key)
     {
       int32_t n = data.length;
       int32_t i = 0;
       while (i < n) {
         int32_t val = data[i];
         if (val < key) {
           i = 2 * i + 2;
         } else if (val > key) {
           i = 2 * i + 1;
         } else {
           return i;
         }
       }
       return -1;
     }
 
-    inline static nsHtml5AttributeName* nameByBuffer(char16_t* buf,
-                                                     int32_t offset,
-                                                     int32_t length,
-                                                     nsHtml5AtomTable* interner)
+    inline static nsHtml5AttributeName* nameByBuffer(char16_t* buf, int32_t offset, int32_t length, nsHtml5AtomTable* interner)
     {
       uint32_t hash = nsHtml5AttributeName::bufToHash(buf, length);
-      jArray<int32_t, int32_t> hashes;
+      jArray<int32_t,int32_t> hashes;
       hashes = nsHtml5AttributeName::ATTRIBUTE_HASHES;
       int32_t index = levelOrderBinarySearch(hashes, hash);
       if (index < 0) {
         return nullptr;
       }
-      nsHtml5AttributeName* attributeName =
-        nsHtml5AttributeName::ATTRIBUTE_NAMES[index];
+      nsHtml5AttributeName* attributeName = nsHtml5AttributeName::ATTRIBUTE_NAMES[index];
       nsIAtom* name = attributeName->getLocal(0);
       if (!nsHtml5Portability::localEqualsBuffer(name, buf, offset, length)) {
         return nullptr;
       }
       return attributeName;
     }
 
   private:
@@ -156,17 +151,20 @@ class nsHtml5AttributeName
   private:
     int32_t* uri;
     nsIAtom** local;
     nsIAtom** prefix;
     bool custom;
     nsHtml5AttributeName(int32_t* uri, nsIAtom** local, nsIAtom** prefix);
   public:
     nsHtml5AttributeName();
-    inline bool isInterned() { return !custom; }
+    inline bool isInterned()
+    {
+      return !custom;
+    }
 
     inline void setNameForNonInterned(nsIAtom* name)
     {
       MOZ_ASSERT(custom);
       local[0] = name;
       local[1] = name;
       local[2] = name;
     }
--- a/parser/html/nsHtml5ElementName.cpp
+++ b/parser/html/nsHtml5ElementName.cpp
@@ -57,20 +57,21 @@
 nsHtml5ElementName::nsHtml5ElementName(nsIAtom* name, nsIAtom* camelCaseName, int32_t flags)
   : name(name),
     camelCaseName(camelCaseName),
     flags(flags)
 {
   MOZ_COUNT_CTOR(nsHtml5ElementName);
 }
 
+
 nsHtml5ElementName::nsHtml5ElementName()
-  : name(nullptr)
-  , camelCaseName(nullptr)
-  , flags(nsHtml5TreeBuilder::OTHER | NOT_INTERNED)
+  : name(nullptr),
+    camelCaseName(nullptr),
+    flags(nsHtml5TreeBuilder::OTHER | NOT_INTERNED)
 {
   MOZ_COUNT_CTOR(nsHtml5ElementName);
 }
 
 
 nsHtml5ElementName::~nsHtml5ElementName()
 {
   MOZ_COUNT_DTOR(nsHtml5ElementName);
@@ -276,707 +277,225 @@ nsHtml5ElementName* nsHtml5ElementName::
 nsHtml5ElementName* nsHtml5ElementName::ELT_FECOLORMATRIX = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FECONVOLVEMATRIX = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_BODY = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FEMORPHOLOGY = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_RUBY = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SUMMARY = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TBODY = nullptr;
 nsHtml5ElementName** nsHtml5ElementName::ELEMENT_NAMES = 0;
-static int32_t const ELEMENT_HASHES_DATA[] = {
-  1903302038, 1749656156, 2001349704, 893386754,  1803929812, 1968836118,
-  2007601444, 59821379,   1733054663, 1756625221, 1870268949, 1941178676,
-  1983633431, 2004635806, 2060065124, 55104723,   62450211,   1686491348,
-  1747176599, 1751288021, 1783210839, 1853642948, 1884120164, 1914900309,
-  1967788867, 1973420034, 1998585858, 2001392796, 2006028454, 2008851557,
-  2085266636, 52485715,   57733651,   60354131,   67633153,   960495618,
-  1715310660, 1737099991, 1748100148, 1749801286, 1755076808, 1757268168,
-  1790207270, 1806806678, 1857653029, 1881288348, 1898753862, 1906135367,
-  1934172497, 1965334268, 1967795958, 1971465813, 1982935782, 1988763672,
-  1999397992, 2001349736, 2001495140, 2005719336, 2006896969, 2008125638,
-  2021937364, 2068523856, 2092255447, 51438659,   52488851,   56151587,
-  59244545,   60347747,   61925907,   63438849,   69730305,   926941186,
-  1682547543, 1699324759, 1730965751, 1733890180, 1740181637, 1747814436,
-  1748359220, 1749715159, 1749905526, 1752979652, 1756474198, 1757146773,
-  1766992520, 1783388498, 1798686984, 1805502724, 1818230786, 1854228698,
-  1868312196, 1874053333, 1881613047, 1889085973, 1900845386, 1905563974,
-  1907661127, 1925844629, 1938817026, 1963982850, 1967128578, 1967795910,
-  1968053806, 1971461414, 1971938532, 1982173479, 1983533124, 1986527234,
-  1990037800, 1998724870, 2001309869, 2001349720, 2001392795, 2001392798,
-  2003183333, 2005324101, 2005925890, 2006329158, 2006974466, 2007781534,
-  2008340774, 2008994116, 2051837468, 2068523853, 2083120164, 2091479332,
-  2092557349, 51434643,   51961587,   52486755,   52490899,   55110883,
-  57206291,   58773795,   59768833,   60345171,   60352339,   61395251,
-  62390273,   62973651,   67108865,   68681729,   876609538,  910163970,
-  943718402,  1679960596, 1686489160, 1689922072, 1703936002, 1730150402,
-  1732381397, 1733076167, 1736200310, 1738539010, 1747048757, 1747306711,
-  1747838298, 1748225318, 1749395095, 1749673195, 1749723735, 1749813541,
-  1749932347, 1751386406, 1753362711, 1755148615, 1756600614, 1757137429,
-  1757157700, 1763839627, 1782357526, 1783388497, 1786534215, 1797585096,
-  1803876550, 1803929861, 1805647874, 1807599880, 1818755074, 1854228692,
-  1854245076, 1864368130, 1870135298, 1873281026, 1874102998, 1881498736,
-  1881669634, 1887579800, 1898223949, 1899272519, 1902641154, 1904412884,
-  1906087319, 1907435316, 1907959605, 1919418370, 1932928296, 1935549734,
-  1939219752, 1941221172, 1965115924, 1966223078, 1967760215
-};
+static int32_t const ELEMENT_HASHES_DATA[] = { 1903302038, 1749656156, 2001349704, 893386754, 1803929812, 1968836118, 2007601444, 59821379, 1733054663, 1756625221, 1870268949, 1941178676, 1983633431, 2004635806, 2060065124, 55104723, 62450211, 1686491348, 1747176599, 1751288021, 1783210839, 1853642948, 1884120164, 1914900309, 1967788867, 1973420034, 1998585858, 2001392796, 2006028454, 2008851557, 2085266636, 52485715, 57733651, 60354131, 67633153, 960495618, 1715310660, 1737099991, 1748100148, 1749801286, 1755076808, 1757268168, 1790207270, 1806806678, 1857653029, 1881288348, 1898753862, 1906135367, 1934172497, 1965334268, 1967795958, 1971465813, 1982935782, 1988763672, 1999397992, 2001349736, 2001495140, 2005719336, 2006896969, 2008125638, 2021937364, 2068523856, 2092255447, 51438659, 52488851, 56151587, 59244545, 60347747, 61925907, 63438849, 69730305, 926941186, 1682547543, 1699324759, 1730965751, 1733890180, 1740181637, 1747814436, 1748359220, 1749715159, 1749905526, 1752979652, 1756474198, 1757146773, 1766992520, 1783388498, 1798686984, 1805502724, 1818230786, 1854228698, 1868312196, 1874053333, 1881613047, 1889085973, 1900845386, 1905563974, 1907661127, 1925844629, 1938817026, 1963982850, 1967128578, 1967795910, 1968053806, 1971461414, 1971938532, 1982173479, 1983533124, 1986527234, 1990037800, 1998724870, 2001309869, 2001349720, 2001392795, 2001392798, 2003183333, 2005324101, 2005925890, 2006329158, 2006974466, 2007781534, 2008340774, 2008994116, 2051837468, 2068523853, 2083120164, 2091479332, 2092557349, 51434643, 51961587, 52486755, 52490899, 55110883, 57206291, 58773795, 59768833, 60345171, 60352339, 61395251, 62390273, 62973651, 67108865, 68681729, 876609538, 910163970, 943718402, 1679960596, 1686489160, 1689922072, 1703936002, 1730150402, 1732381397, 1733076167, 1736200310, 1738539010, 1747048757, 1747306711, 1747838298, 1748225318, 1749395095, 1749673195, 1749723735, 1749813541, 1749932347, 1751386406, 1753362711, 1755148615, 1756600614, 1757137429, 1757157700, 1763839627, 1782357526, 1783388497, 1786534215, 1797585096, 1803876550, 1803929861, 1805647874, 1807599880, 1818755074, 1854228692, 1854245076, 1864368130, 1870135298, 1873281026, 1874102998, 1881498736, 1881669634, 1887579800, 1898223949, 1899272519, 1902641154, 1904412884, 1906087319, 1907435316, 1907959605, 1919418370, 1932928296, 1935549734, 1939219752, 1941221172, 1965115924, 1966223078, 1967760215 };
 staticJArray<int32_t,int32_t> nsHtml5ElementName::ELEMENT_HASHES = { ELEMENT_HASHES_DATA, MOZ_ARRAY_LENGTH(ELEMENT_HASHES_DATA) };
 void
 nsHtml5ElementName::initializeStatics()
 {
-  ELT_ANNOTATION_XML = new nsHtml5ElementName(
-    nsGkAtoms::annotation_xml_,
-    nsGkAtoms::annotation_xml_,
-    nsHtml5TreeBuilder::ANNOTATION_XML | SCOPING_AS_MATHML);
-  ELT_BIG = new nsHtml5ElementName(
-    nsGkAtoms::big,
-    nsGkAtoms::big,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_BDO = new nsHtml5ElementName(
-    nsGkAtoms::bdo, nsGkAtoms::bdo, nsHtml5TreeBuilder::OTHER);
-  ELT_COL = new nsHtml5ElementName(
-    nsGkAtoms::col, nsGkAtoms::col, nsHtml5TreeBuilder::COL | SPECIAL);
-  ELT_DEL = new nsHtml5ElementName(
-    nsGkAtoms::del, nsGkAtoms::del, nsHtml5TreeBuilder::OTHER);
-  ELT_DFN = new nsHtml5ElementName(
-    nsGkAtoms::dfn, nsGkAtoms::dfn, nsHtml5TreeBuilder::OTHER);
-  ELT_DIR = new nsHtml5ElementName(
-    nsGkAtoms::dir,
-    nsGkAtoms::dir,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_DIV = new nsHtml5ElementName(
-    nsGkAtoms::div,
-    nsGkAtoms::div,
-    nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
-  ELT_IMG = new nsHtml5ElementName(
-    nsGkAtoms::img, nsGkAtoms::img, nsHtml5TreeBuilder::IMG | SPECIAL);
-  ELT_INS = new nsHtml5ElementName(
-    nsGkAtoms::ins, nsGkAtoms::ins, nsHtml5TreeBuilder::OTHER);
-  ELT_KBD = new nsHtml5ElementName(
-    nsGkAtoms::kbd, nsGkAtoms::kbd, nsHtml5TreeBuilder::OTHER);
-  ELT_MAP = new nsHtml5ElementName(
-    nsGkAtoms::map, nsGkAtoms::map, nsHtml5TreeBuilder::OTHER);
-  ELT_NAV = new nsHtml5ElementName(
-    nsGkAtoms::nav,
-    nsGkAtoms::nav,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_PRE =
-    new nsHtml5ElementName(nsGkAtoms::pre,
-                           nsGkAtoms::pre,
-                           nsHtml5TreeBuilder::PRE_OR_LISTING | SPECIAL);
-  ELT_A =
-    new nsHtml5ElementName(nsGkAtoms::a, nsGkAtoms::a, nsHtml5TreeBuilder::A);
-  ELT_B = new nsHtml5ElementName(
-    nsGkAtoms::b,
-    nsGkAtoms::b,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_RTC =
-    new nsHtml5ElementName(nsGkAtoms::rtc,
-                           nsGkAtoms::rtc,
-                           nsHtml5TreeBuilder::RB_OR_RTC | OPTIONAL_END_TAG);
-  ELT_SUB = new nsHtml5ElementName(
-    nsGkAtoms::sub,
-    nsGkAtoms::sub,
-    nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
-  ELT_SVG = new nsHtml5ElementName(
-    nsGkAtoms::svg, nsGkAtoms::svg, nsHtml5TreeBuilder::SVG);
-  ELT_SUP = new nsHtml5ElementName(
-    nsGkAtoms::sup,
-    nsGkAtoms::sup,
-    nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
-  ELT_SET = new nsHtml5ElementName(
-    nsGkAtoms::set_, nsGkAtoms::set_, nsHtml5TreeBuilder::OTHER);
-  ELT_USE = new nsHtml5ElementName(
-    nsGkAtoms::use, nsGkAtoms::use, nsHtml5TreeBuilder::OTHER);
-  ELT_VAR = new nsHtml5ElementName(
-    nsGkAtoms::var,
-    nsGkAtoms::var,
-    nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
-  ELT_G = new nsHtml5ElementName(
-    nsGkAtoms::g, nsGkAtoms::g, nsHtml5TreeBuilder::OTHER);
-  ELT_WBR = new nsHtml5ElementName(
-    nsGkAtoms::wbr, nsGkAtoms::wbr, nsHtml5TreeBuilder::AREA_OR_WBR | SPECIAL);
-  ELT_XMP = new nsHtml5ElementName(
-    nsGkAtoms::xmp, nsGkAtoms::xmp, nsHtml5TreeBuilder::XMP | SPECIAL);
-  ELT_I = new nsHtml5ElementName(
-    nsGkAtoms::i,
-    nsGkAtoms::i,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_P =
-    new nsHtml5ElementName(nsGkAtoms::p,
-                           nsGkAtoms::p,
-                           nsHtml5TreeBuilder::P | SPECIAL | OPTIONAL_END_TAG);
-  ELT_Q = new nsHtml5ElementName(
-    nsGkAtoms::q, nsGkAtoms::q, nsHtml5TreeBuilder::OTHER);
-  ELT_S = new nsHtml5ElementName(
-    nsGkAtoms::s,
-    nsGkAtoms::s,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_U = new nsHtml5ElementName(
-    nsGkAtoms::u,
-    nsGkAtoms::u,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_H1 = new nsHtml5ElementName(
-    nsGkAtoms::h1,
-    nsGkAtoms::h1,
-    nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
-  ELT_H2 = new nsHtml5ElementName(
-    nsGkAtoms::h2,
-    nsGkAtoms::h2,
-    nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
-  ELT_H3 = new nsHtml5ElementName(
-    nsGkAtoms::h3,
-    nsGkAtoms::h3,
-    nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
-  ELT_H4 = new nsHtml5ElementName(
-    nsGkAtoms::h4,
-    nsGkAtoms::h4,
-    nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
-  ELT_H5 = new nsHtml5ElementName(
-    nsGkAtoms::h5,
-    nsGkAtoms::h5,
-    nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
-  ELT_H6 = new nsHtml5ElementName(
-    nsGkAtoms::h6,
-    nsGkAtoms::h6,
-    nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
-  ELT_AREA = new nsHtml5ElementName(nsGkAtoms::area,
-                                    nsGkAtoms::area,
-                                    nsHtml5TreeBuilder::AREA_OR_WBR | SPECIAL);
-  ELT_FEFUNCA = new nsHtml5ElementName(
-    nsGkAtoms::fefunca, nsGkAtoms::feFuncA, nsHtml5TreeBuilder::OTHER);
-  ELT_METADATA = new nsHtml5ElementName(
-    nsGkAtoms::metadata, nsGkAtoms::metadata, nsHtml5TreeBuilder::OTHER);
-  ELT_META = new nsHtml5ElementName(
-    nsGkAtoms::meta, nsGkAtoms::meta, nsHtml5TreeBuilder::META | SPECIAL);
-  ELT_TEXTAREA = new nsHtml5ElementName(nsGkAtoms::textarea,
-                                        nsGkAtoms::textarea,
-                                        nsHtml5TreeBuilder::TEXTAREA | SPECIAL);
-  ELT_FEFUNCB = new nsHtml5ElementName(
-    nsGkAtoms::fefuncb, nsGkAtoms::feFuncB, nsHtml5TreeBuilder::OTHER);
-  ELT_RB =
-    new nsHtml5ElementName(nsGkAtoms::rb,
-                           nsGkAtoms::rb,
-                           nsHtml5TreeBuilder::RB_OR_RTC | OPTIONAL_END_TAG);
-  ELT_DESC = new nsHtml5ElementName(nsGkAtoms::desc,
-                                    nsGkAtoms::desc,
-                                    nsHtml5TreeBuilder::FOREIGNOBJECT_OR_DESC |
-                                      SCOPING_AS_SVG);
-  ELT_DD = new nsHtml5ElementName(nsGkAtoms::dd,
-                                  nsGkAtoms::dd,
-                                  nsHtml5TreeBuilder::DD_OR_DT | SPECIAL |
-                                    OPTIONAL_END_TAG);
-  ELT_BGSOUND = new nsHtml5ElementName(
-    nsGkAtoms::bgsound,
-    nsGkAtoms::bgsound,
-    nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
-  ELT_EMBED = new nsHtml5ElementName(
-    nsGkAtoms::embed, nsGkAtoms::embed, nsHtml5TreeBuilder::EMBED | SPECIAL);
-  ELT_FEBLEND = new nsHtml5ElementName(
-    nsGkAtoms::feblend, nsGkAtoms::feBlend, nsHtml5TreeBuilder::OTHER);
-  ELT_FEFLOOD = new nsHtml5ElementName(
-    nsGkAtoms::feflood, nsGkAtoms::feFlood, nsHtml5TreeBuilder::OTHER);
-  ELT_HEAD = new nsHtml5ElementName(nsGkAtoms::head,
-                                    nsGkAtoms::head,
-                                    nsHtml5TreeBuilder::HEAD | SPECIAL |
-                                      OPTIONAL_END_TAG);
-  ELT_LEGEND = new nsHtml5ElementName(
-    nsGkAtoms::legend, nsGkAtoms::legend, nsHtml5TreeBuilder::OTHER);
-  ELT_NOEMBED = new nsHtml5ElementName(nsGkAtoms::noembed,
-                                       nsGkAtoms::noembed,
-                                       nsHtml5TreeBuilder::NOEMBED | SPECIAL);
-  ELT_TD = new nsHtml5ElementName(nsGkAtoms::td,
-                                  nsGkAtoms::td,
-                                  nsHtml5TreeBuilder::TD_OR_TH | SPECIAL |
-                                    SCOPING | OPTIONAL_END_TAG);
-  ELT_THEAD =
-    new nsHtml5ElementName(nsGkAtoms::thead,
-                           nsGkAtoms::thead,
-                           nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT |
-                             SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
-  ELT_ASIDE = new nsHtml5ElementName(
-    nsGkAtoms::aside,
-    nsGkAtoms::aside,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_ARTICLE = new nsHtml5ElementName(
-    nsGkAtoms::article,
-    nsGkAtoms::article,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_ANIMATE = new nsHtml5ElementName(
-    nsGkAtoms::animate, nsGkAtoms::animate, nsHtml5TreeBuilder::OTHER);
-  ELT_BASE = new nsHtml5ElementName(
-    nsGkAtoms::base, nsGkAtoms::base, nsHtml5TreeBuilder::BASE | SPECIAL);
-  ELT_BLOCKQUOTE = new nsHtml5ElementName(
-    nsGkAtoms::blockquote,
-    nsGkAtoms::blockquote,
-    nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
-  ELT_CODE = new nsHtml5ElementName(
-    nsGkAtoms::code,
-    nsGkAtoms::code,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_CIRCLE = new nsHtml5ElementName(
-    nsGkAtoms::circle, nsGkAtoms::circle, nsHtml5TreeBuilder::OTHER);
-  ELT_CITE = new nsHtml5ElementName(
-    nsGkAtoms::cite, nsGkAtoms::cite, nsHtml5TreeBuilder::OTHER);
-  ELT_ELLIPSE = new nsHtml5ElementName(
-    nsGkAtoms::ellipse, nsGkAtoms::ellipse, nsHtml5TreeBuilder::OTHER);
-  ELT_FETURBULENCE = new nsHtml5ElementName(nsGkAtoms::feturbulence,
-                                            nsGkAtoms::feTurbulence,
-                                            nsHtml5TreeBuilder::OTHER);
-  ELT_FEMERGENODE = new nsHtml5ElementName(
-    nsGkAtoms::femergenode, nsGkAtoms::feMergeNode, nsHtml5TreeBuilder::OTHER);
-  ELT_FEIMAGE = new nsHtml5ElementName(
-    nsGkAtoms::feimage, nsGkAtoms::feImage, nsHtml5TreeBuilder::OTHER);
-  ELT_FEMERGE = new nsHtml5ElementName(
-    nsGkAtoms::femerge, nsGkAtoms::feMerge, nsHtml5TreeBuilder::OTHER);
-  ELT_FETILE = new nsHtml5ElementName(
-    nsGkAtoms::fetile, nsGkAtoms::feTile, nsHtml5TreeBuilder::OTHER);
-  ELT_FRAME = new nsHtml5ElementName(
-    nsGkAtoms::frame, nsGkAtoms::frame, nsHtml5TreeBuilder::FRAME | SPECIAL);
-  ELT_FIGURE = new nsHtml5ElementName(
-    nsGkAtoms::figure,
-    nsGkAtoms::figure,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_FECOMPOSITE = new nsHtml5ElementName(
-    nsGkAtoms::fecomposite, nsGkAtoms::feComposite, nsHtml5TreeBuilder::OTHER);
-  ELT_IMAGE = new nsHtml5ElementName(
-    nsGkAtoms::image, nsGkAtoms::image, nsHtml5TreeBuilder::IMAGE);
-  ELT_IFRAME = new nsHtml5ElementName(
-    nsGkAtoms::iframe, nsGkAtoms::iframe, nsHtml5TreeBuilder::IFRAME | SPECIAL);
-  ELT_LINE = new nsHtml5ElementName(
-    nsGkAtoms::line, nsGkAtoms::line, nsHtml5TreeBuilder::OTHER);
-  ELT_MARQUEE = new nsHtml5ElementName(nsGkAtoms::marquee,
-                                       nsGkAtoms::marquee,
-                                       nsHtml5TreeBuilder::MARQUEE_OR_APPLET |
-                                         SPECIAL | SCOPING);
-  ELT_POLYLINE = new nsHtml5ElementName(
-    nsGkAtoms::polyline, nsGkAtoms::polyline, nsHtml5TreeBuilder::OTHER);
-  ELT_PICTURE = new nsHtml5ElementName(
-    nsGkAtoms::picture, nsGkAtoms::picture, nsHtml5TreeBuilder::OTHER);
-  ELT_SOURCE =
-    new nsHtml5ElementName(nsGkAtoms::source,
-                           nsGkAtoms::source,
-                           nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK);
-  ELT_STRIKE = new nsHtml5ElementName(
-    nsGkAtoms::strike,
-    nsGkAtoms::strike,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_STYLE = new nsHtml5ElementName(
-    nsGkAtoms::style, nsGkAtoms::style, nsHtml5TreeBuilder::STYLE | SPECIAL);
-  ELT_TABLE = new nsHtml5ElementName(nsGkAtoms::table,
-                                     nsGkAtoms::table,
-                                     nsHtml5TreeBuilder::TABLE | SPECIAL |
-                                       FOSTER_PARENTING | SCOPING);
-  ELT_TITLE = new nsHtml5ElementName(nsGkAtoms::title,
-                                     nsGkAtoms::title,
-                                     nsHtml5TreeBuilder::TITLE | SPECIAL |
-                                       SCOPING_AS_SVG);
-  ELT_TIME = new nsHtml5ElementName(
-    nsGkAtoms::time, nsGkAtoms::time, nsHtml5TreeBuilder::OTHER);
-  ELT_TEMPLATE =
-    new nsHtml5ElementName(nsGkAtoms::_template,
-                           nsGkAtoms::_template,
-                           nsHtml5TreeBuilder::TEMPLATE | SPECIAL | SCOPING);
-  ELT_ALTGLYPHDEF = new nsHtml5ElementName(
-    nsGkAtoms::altglyphdef, nsGkAtoms::altGlyphDef, nsHtml5TreeBuilder::OTHER);
-  ELT_GLYPHREF = new nsHtml5ElementName(
-    nsGkAtoms::glyphref, nsGkAtoms::glyphRef, nsHtml5TreeBuilder::OTHER);
-  ELT_DIALOG = new nsHtml5ElementName(
-    nsGkAtoms::dialog,
-    nsGkAtoms::dialog,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_FEFUNCG = new nsHtml5ElementName(
-    nsGkAtoms::fefuncg, nsGkAtoms::feFuncG, nsHtml5TreeBuilder::OTHER);
-  ELT_FEDIFFUSELIGHTING = new nsHtml5ElementName(nsGkAtoms::fediffuselighting,
-                                                 nsGkAtoms::feDiffuseLighting,
-                                                 nsHtml5TreeBuilder::OTHER);
-  ELT_FESPECULARLIGHTING = new nsHtml5ElementName(nsGkAtoms::fespecularlighting,
-                                                  nsGkAtoms::feSpecularLighting,
-                                                  nsHtml5TreeBuilder::OTHER);
-  ELT_LISTING =
-    new nsHtml5ElementName(nsGkAtoms::listing,
-                           nsGkAtoms::listing,
-                           nsHtml5TreeBuilder::PRE_OR_LISTING | SPECIAL);
-  ELT_STRONG = new nsHtml5ElementName(
-    nsGkAtoms::strong,
-    nsGkAtoms::strong,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_ALTGLYPH = new nsHtml5ElementName(
-    nsGkAtoms::altglyph, nsGkAtoms::altGlyph, nsHtml5TreeBuilder::OTHER);
-  ELT_CLIPPATH = new nsHtml5ElementName(
-    nsGkAtoms::clippath, nsGkAtoms::clipPath, nsHtml5TreeBuilder::OTHER);
-  ELT_MGLYPH = new nsHtml5ElementName(nsGkAtoms::mglyph_,
-                                      nsGkAtoms::mglyph_,
-                                      nsHtml5TreeBuilder::MGLYPH_OR_MALIGNMARK);
-  ELT_MATH = new nsHtml5ElementName(
-    nsGkAtoms::math, nsGkAtoms::math, nsHtml5TreeBuilder::MATH);
-  ELT_MPATH = new nsHtml5ElementName(
-    nsGkAtoms::mpath, nsGkAtoms::mpath, nsHtml5TreeBuilder::OTHER);
-  ELT_PATH = new nsHtml5ElementName(
-    nsGkAtoms::path, nsGkAtoms::path, nsHtml5TreeBuilder::OTHER);
-  ELT_TH = new nsHtml5ElementName(nsGkAtoms::th,
-                                  nsGkAtoms::th,
-                                  nsHtml5TreeBuilder::TD_OR_TH | SPECIAL |
-                                    SCOPING | OPTIONAL_END_TAG);
-  ELT_SWITCH = new nsHtml5ElementName(
-    nsGkAtoms::svgSwitch, nsGkAtoms::svgSwitch, nsHtml5TreeBuilder::OTHER);
-  ELT_TEXTPATH = new nsHtml5ElementName(
-    nsGkAtoms::textpath, nsGkAtoms::textPath, nsHtml5TreeBuilder::OTHER);
-  ELT_LI =
-    new nsHtml5ElementName(nsGkAtoms::li,
-                           nsGkAtoms::li,
-                           nsHtml5TreeBuilder::LI | SPECIAL | OPTIONAL_END_TAG);
-  ELT_MI = new nsHtml5ElementName(nsGkAtoms::mi_,
-                                  nsGkAtoms::mi_,
-                                  nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT |
-                                    SCOPING_AS_MATHML);
-  ELT_LINK = new nsHtml5ElementName(
-    nsGkAtoms::link,
-    nsGkAtoms::link,
-    nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
-  ELT_MARK = new nsHtml5ElementName(
-    nsGkAtoms::mark, nsGkAtoms::mark, nsHtml5TreeBuilder::OTHER);
-  ELT_MALIGNMARK =
-    new nsHtml5ElementName(nsGkAtoms::malignmark_,
-                           nsGkAtoms::malignmark_,
-                           nsHtml5TreeBuilder::MGLYPH_OR_MALIGNMARK);
-  ELT_MASK = new nsHtml5ElementName(
-    nsGkAtoms::mask, nsGkAtoms::mask, nsHtml5TreeBuilder::OTHER);
-  ELT_TRACK = new nsHtml5ElementName(
-    nsGkAtoms::track,
-    nsGkAtoms::track,
-    nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK | SPECIAL);
-  ELT_DL = new nsHtml5ElementName(
-    nsGkAtoms::dl, nsGkAtoms::dl, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
-  ELT_HTML = new nsHtml5ElementName(nsGkAtoms::html,
-                                    nsGkAtoms::html,
-                                    nsHtml5TreeBuilder::HTML | SPECIAL |
-                                      SCOPING | OPTIONAL_END_TAG);
-  ELT_OL = new nsHtml5ElementName(
-    nsGkAtoms::ol, nsGkAtoms::ol, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
-  ELT_LABEL = new nsHtml5ElementName(
-    nsGkAtoms::label, nsGkAtoms::label, nsHtml5TreeBuilder::OTHER);
-  ELT_UL = new nsHtml5ElementName(
-    nsGkAtoms::ul, nsGkAtoms::ul, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
-  ELT_SMALL = new nsHtml5ElementName(
-    nsGkAtoms::small,
-    nsGkAtoms::small,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_SYMBOL = new nsHtml5ElementName(
-    nsGkAtoms::symbol, nsGkAtoms::symbol, nsHtml5TreeBuilder::OTHER);
-  ELT_ALTGLYPHITEM = new nsHtml5ElementName(nsGkAtoms::altglyphitem,
-                                            nsGkAtoms::altGlyphItem,
-                                            nsHtml5TreeBuilder::OTHER);
-  ELT_ANIMATETRANSFORM = new nsHtml5ElementName(nsGkAtoms::animatetransform,
-                                                nsGkAtoms::animateTransform,
-                                                nsHtml5TreeBuilder::OTHER);
-  ELT_ACRONYM = new nsHtml5ElementName(
-    nsGkAtoms::acronym, nsGkAtoms::acronym, nsHtml5TreeBuilder::OTHER);
-  ELT_EM = new nsHtml5ElementName(
-    nsGkAtoms::em,
-    nsGkAtoms::em,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_FORM = new nsHtml5ElementName(
-    nsGkAtoms::form, nsGkAtoms::form, nsHtml5TreeBuilder::FORM | SPECIAL);
-  ELT_MENUITEM = new nsHtml5ElementName(
-    nsGkAtoms::menuitem, nsGkAtoms::menuitem, nsHtml5TreeBuilder::MENUITEM);
-  ELT_PARAM = new nsHtml5ElementName(
-    nsGkAtoms::param,
-    nsGkAtoms::param,
-    nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK | SPECIAL);
-  ELT_ANIMATEMOTION = new nsHtml5ElementName(nsGkAtoms::animatemotion,
-                                             nsGkAtoms::animateMotion,
-                                             nsHtml5TreeBuilder::OTHER);
-  ELT_BUTTON = new nsHtml5ElementName(
-    nsGkAtoms::button, nsGkAtoms::button, nsHtml5TreeBuilder::BUTTON | SPECIAL);
-  ELT_CAPTION =
-    new nsHtml5ElementName(nsGkAtoms::caption,
-                           nsGkAtoms::caption,
-                           nsHtml5TreeBuilder::CAPTION | SPECIAL | SCOPING);
-  ELT_FIGCAPTION = new nsHtml5ElementName(
-    nsGkAtoms::figcaption,
-    nsGkAtoms::figcaption,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_MN = new nsHtml5ElementName(nsGkAtoms::mn_,
-                                  nsGkAtoms::mn_,
-                                  nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT |
-                                    SCOPING_AS_MATHML);
-  ELT_KEYGEN = new nsHtml5ElementName(
-    nsGkAtoms::keygen, nsGkAtoms::keygen, nsHtml5TreeBuilder::KEYGEN);
-  ELT_MAIN = new nsHtml5ElementName(
-    nsGkAtoms::main,
-    nsGkAtoms::main,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_OPTION =
-    new nsHtml5ElementName(nsGkAtoms::option,
-                           nsGkAtoms::option,
-                           nsHtml5TreeBuilder::OPTION | OPTIONAL_END_TAG);
-  ELT_POLYGON = new nsHtml5ElementName(
-    nsGkAtoms::polygon, nsGkAtoms::polygon, nsHtml5TreeBuilder::OTHER);
-  ELT_PATTERN = new nsHtml5ElementName(
-    nsGkAtoms::pattern, nsGkAtoms::pattern, nsHtml5TreeBuilder::OTHER);
-  ELT_SPAN = new nsHtml5ElementName(
-    nsGkAtoms::span,
-    nsGkAtoms::span,
-    nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
-  ELT_SECTION = new nsHtml5ElementName(
-    nsGkAtoms::section,
-    nsGkAtoms::section,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_TSPAN = new nsHtml5ElementName(
-    nsGkAtoms::tspan, nsGkAtoms::tspan, nsHtml5TreeBuilder::OTHER);
-  ELT_AUDIO = new nsHtml5ElementName(
-    nsGkAtoms::audio, nsGkAtoms::audio, nsHtml5TreeBuilder::OTHER);
-  ELT_MO = new nsHtml5ElementName(nsGkAtoms::mo_,
-                                  nsGkAtoms::mo_,
-                                  nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT |
-                                    SCOPING_AS_MATHML);
-  ELT_VIDEO = new nsHtml5ElementName(
-    nsGkAtoms::video, nsGkAtoms::video, nsHtml5TreeBuilder::OTHER);
-  ELT_COLGROUP = new nsHtml5ElementName(nsGkAtoms::colgroup,
-                                        nsGkAtoms::colgroup,
-                                        nsHtml5TreeBuilder::COLGROUP | SPECIAL |
-                                          OPTIONAL_END_TAG);
-  ELT_FEDISPLACEMENTMAP = new nsHtml5ElementName(nsGkAtoms::fedisplacementmap,
-                                                 nsGkAtoms::feDisplacementMap,
-                                                 nsHtml5TreeBuilder::OTHER);
-  ELT_HGROUP = new nsHtml5ElementName(
-    nsGkAtoms::hgroup,
-    nsGkAtoms::hgroup,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_RP =
-    new nsHtml5ElementName(nsGkAtoms::rp,
-                           nsGkAtoms::rp,
-                           nsHtml5TreeBuilder::RT_OR_RP | OPTIONAL_END_TAG);
-  ELT_OPTGROUP =
-    new nsHtml5ElementName(nsGkAtoms::optgroup,
-                           nsGkAtoms::optgroup,
-                           nsHtml5TreeBuilder::OPTGROUP | OPTIONAL_END_TAG);
-  ELT_SAMP = new nsHtml5ElementName(
-    nsGkAtoms::samp, nsGkAtoms::samp, nsHtml5TreeBuilder::OTHER);
-  ELT_STOP = new nsHtml5ElementName(
-    nsGkAtoms::stop, nsGkAtoms::stop, nsHtml5TreeBuilder::OTHER);
-  ELT_BR = new nsHtml5ElementName(
-    nsGkAtoms::br, nsGkAtoms::br, nsHtml5TreeBuilder::BR | SPECIAL);
-  ELT_ABBR = new nsHtml5ElementName(
-    nsGkAtoms::abbr, nsGkAtoms::abbr, nsHtml5TreeBuilder::OTHER);
-  ELT_ANIMATECOLOR = new nsHtml5ElementName(nsGkAtoms::animatecolor,
-                                            nsGkAtoms::animateColor,
-                                            nsHtml5TreeBuilder::OTHER);
-  ELT_CENTER = new nsHtml5ElementName(
-    nsGkAtoms::center,
-    nsGkAtoms::center,
-    nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
-  ELT_HR = new nsHtml5ElementName(
-    nsGkAtoms::hr, nsGkAtoms::hr, nsHtml5TreeBuilder::HR | SPECIAL);
-  ELT_FEFUNCR = new nsHtml5ElementName(
-    nsGkAtoms::fefuncr, nsGkAtoms::feFuncR, nsHtml5TreeBuilder::OTHER);
-  ELT_FECOMPONENTTRANSFER =
-    new nsHtml5ElementName(nsGkAtoms::fecomponenttransfer,
-                           nsGkAtoms::feComponentTransfer,
-                           nsHtml5TreeBuilder::OTHER);
-  ELT_FILTER = new nsHtml5ElementName(
-    nsGkAtoms::filter, nsGkAtoms::filter, nsHtml5TreeBuilder::OTHER);
-  ELT_FOOTER = new nsHtml5ElementName(
-    nsGkAtoms::footer,
-    nsGkAtoms::footer,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_FEGAUSSIANBLUR = new nsHtml5ElementName(nsGkAtoms::fegaussianblur,
-                                              nsGkAtoms::feGaussianBlur,
-                                              nsHtml5TreeBuilder::OTHER);
-  ELT_HEADER = new nsHtml5ElementName(
-    nsGkAtoms::header,
-    nsGkAtoms::header,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_MARKER = new nsHtml5ElementName(
-    nsGkAtoms::marker, nsGkAtoms::marker, nsHtml5TreeBuilder::OTHER);
-  ELT_METER = new nsHtml5ElementName(
-    nsGkAtoms::meter, nsGkAtoms::meter, nsHtml5TreeBuilder::OTHER);
-  ELT_NOBR = new nsHtml5ElementName(
-    nsGkAtoms::nobr, nsGkAtoms::nobr, nsHtml5TreeBuilder::NOBR);
-  ELT_TR = new nsHtml5ElementName(nsGkAtoms::tr,
-                                  nsGkAtoms::tr,
-                                  nsHtml5TreeBuilder::TR | SPECIAL |
-                                    FOSTER_PARENTING | OPTIONAL_END_TAG);
-  ELT_ADDRESS = new nsHtml5ElementName(
-    nsGkAtoms::address,
-    nsGkAtoms::address,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_CANVAS = new nsHtml5ElementName(
-    nsGkAtoms::canvas, nsGkAtoms::canvas, nsHtml5TreeBuilder::OTHER);
-  ELT_DEFS = new nsHtml5ElementName(
-    nsGkAtoms::defs, nsGkAtoms::defs, nsHtml5TreeBuilder::OTHER);
-  ELT_DETAILS = new nsHtml5ElementName(
-    nsGkAtoms::details,
-    nsGkAtoms::details,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_MS = new nsHtml5ElementName(nsGkAtoms::ms_,
-                                  nsGkAtoms::ms_,
-                                  nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT |
-                                    SCOPING_AS_MATHML);
-  ELT_NOFRAMES = new nsHtml5ElementName(nsGkAtoms::noframes,
-                                        nsGkAtoms::noframes,
-                                        nsHtml5TreeBuilder::NOFRAMES | SPECIAL);
-  ELT_PROGRESS = new nsHtml5ElementName(
-    nsGkAtoms::progress, nsGkAtoms::progress, nsHtml5TreeBuilder::OTHER);
-  ELT_DT = new nsHtml5ElementName(nsGkAtoms::dt,
-                                  nsGkAtoms::dt,
-                                  nsHtml5TreeBuilder::DD_OR_DT | SPECIAL |
-                                    OPTIONAL_END_TAG);
-  ELT_APPLET = new nsHtml5ElementName(nsGkAtoms::applet,
-                                      nsGkAtoms::applet,
-                                      nsHtml5TreeBuilder::MARQUEE_OR_APPLET |
-                                        SPECIAL | SCOPING);
-  ELT_BASEFONT = new nsHtml5ElementName(
-    nsGkAtoms::basefont,
-    nsGkAtoms::basefont,
-    nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
-  ELT_FOREIGNOBJECT = new nsHtml5ElementName(
-    nsGkAtoms::foreignobject,
-    nsGkAtoms::foreignObject,
-    nsHtml5TreeBuilder::FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG);
-  ELT_FIELDSET = new nsHtml5ElementName(nsGkAtoms::fieldset,
-                                        nsGkAtoms::fieldset,
-                                        nsHtml5TreeBuilder::FIELDSET | SPECIAL);
-  ELT_FRAMESET = new nsHtml5ElementName(nsGkAtoms::frameset,
-                                        nsGkAtoms::frameset,
-                                        nsHtml5TreeBuilder::FRAMESET | SPECIAL);
-  ELT_FEOFFSET = new nsHtml5ElementName(
-    nsGkAtoms::feoffset, nsGkAtoms::feOffset, nsHtml5TreeBuilder::OTHER);
-  ELT_FESPOTLIGHT = new nsHtml5ElementName(
-    nsGkAtoms::fespotlight, nsGkAtoms::feSpotLight, nsHtml5TreeBuilder::OTHER);
-  ELT_FEPOINTLIGHT = new nsHtml5ElementName(nsGkAtoms::fepointlight,
-                                            nsGkAtoms::fePointLight,
-                                            nsHtml5TreeBuilder::OTHER);
-  ELT_FEDISTANTLIGHT = new nsHtml5ElementName(nsGkAtoms::fedistantlight,
-                                              nsGkAtoms::feDistantLight,
-                                              nsHtml5TreeBuilder::OTHER);
-  ELT_FONT = new nsHtml5ElementName(
-    nsGkAtoms::font, nsGkAtoms::font, nsHtml5TreeBuilder::FONT);
-  ELT_INPUT = new nsHtml5ElementName(
-    nsGkAtoms::input, nsGkAtoms::input, nsHtml5TreeBuilder::INPUT | SPECIAL);
-  ELT_LINEARGRADIENT = new nsHtml5ElementName(nsGkAtoms::lineargradient,
-                                              nsGkAtoms::linearGradient,
-                                              nsHtml5TreeBuilder::OTHER);
-  ELT_MTEXT = new nsHtml5ElementName(nsGkAtoms::mtext_,
-                                     nsGkAtoms::mtext_,
-                                     nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT |
-                                       SCOPING_AS_MATHML);
-  ELT_NOSCRIPT = new nsHtml5ElementName(nsGkAtoms::noscript,
-                                        nsGkAtoms::noscript,
-                                        nsHtml5TreeBuilder::NOSCRIPT | SPECIAL);
-  ELT_RT =
-    new nsHtml5ElementName(nsGkAtoms::rt,
-                           nsGkAtoms::rt,
-                           nsHtml5TreeBuilder::RT_OR_RP | OPTIONAL_END_TAG);
-  ELT_OBJECT =
-    new nsHtml5ElementName(nsGkAtoms::object,
-                           nsGkAtoms::object,
-                           nsHtml5TreeBuilder::OBJECT | SPECIAL | SCOPING);
-  ELT_OUTPUT = new nsHtml5ElementName(
-    nsGkAtoms::output, nsGkAtoms::output, nsHtml5TreeBuilder::OUTPUT);
-  ELT_PLAINTEXT =
-    new nsHtml5ElementName(nsGkAtoms::plaintext,
-                           nsGkAtoms::plaintext,
-                           nsHtml5TreeBuilder::PLAINTEXT | SPECIAL);
-  ELT_TT = new nsHtml5ElementName(
-    nsGkAtoms::tt,
-    nsGkAtoms::tt,
-    nsHtml5TreeBuilder::
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
-  ELT_RECT = new nsHtml5ElementName(
-    nsGkAtoms::rect, nsGkAtoms::rect, nsHtml5TreeBuilder::OTHER);
-  ELT_RADIALGRADIENT = new nsHtml5ElementName(nsGkAtoms::radialgradient,
-                                              nsGkAtoms::radialGradient,
-                                              nsHtml5TreeBuilder::OTHER);
-  ELT_SELECT = new nsHtml5ElementName(
-    nsGkAtoms::select, nsGkAtoms::select, nsHtml5TreeBuilder::SELECT | SPECIAL);
-  ELT_SCRIPT = new nsHtml5ElementName(
-    nsGkAtoms::script, nsGkAtoms::script, nsHtml5TreeBuilder::SCRIPT | SPECIAL);
-  ELT_TFOOT =
-    new nsHtml5ElementName(nsGkAtoms::tfoot,
-                           nsGkAtoms::tfoot,
-                           nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT |
-                             SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
-  ELT_TEXT = new nsHtml5ElementName(
-    nsGkAtoms::text, nsGkAtoms::text, nsHtml5TreeBuilder::OTHER);
-  ELT_MENU = new nsHtml5ElementName(
-    nsGkAtoms::menu,
-    nsGkAtoms::menu,
-    nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
-  ELT_FEDROPSHADOW = new nsHtml5ElementName(nsGkAtoms::fedropshadow,
-                                            nsGkAtoms::feDropShadow,
-                                            nsHtml5TreeBuilder::OTHER);
-  ELT_VIEW = new nsHtml5ElementName(
-    nsGkAtoms::view, nsGkAtoms::view, nsHtml5TreeBuilder::OTHER);
-  ELT_FECOLORMATRIX = new nsHtml5ElementName(nsGkAtoms::fecolormatrix,
-                                             nsGkAtoms::feColorMatrix,
-                                             nsHtml5TreeBuilder::OTHER);
-  ELT_FECONVOLVEMATRIX = new nsHtml5ElementName(nsGkAtoms::feconvolvematrix,
-                                                nsGkAtoms::feConvolveMatrix,
-                                                nsHtml5TreeBuilder::OTHER);
-  ELT_BODY = new nsHtml5ElementName(nsGkAtoms::body,
-                                    nsGkAtoms::body,
-                                    nsHtml5TreeBuilder::BODY | SPECIAL |
-                                      OPTIONAL_END_TAG);
-  ELT_FEMORPHOLOGY = new nsHtml5ElementName(nsGkAtoms::femorphology,
-                                            nsGkAtoms::feMorphology,
-                                            nsHtml5TreeBuilder::OTHER);
-  ELT_RUBY = new nsHtml5ElementName(
-    nsGkAtoms::ruby,
-    nsGkAtoms::ruby,
-    nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
-  ELT_SUMMARY = new nsHtml5ElementName(
-    nsGkAtoms::summary,
-    nsGkAtoms::summary,
-    nsHtml5TreeBuilder::
-        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 |
-      SPECIAL);
-  ELT_TBODY =
-    new nsHtml5ElementName(nsGkAtoms::tbody,
-                           nsGkAtoms::tbody,
-                           nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT |
-                             SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
+  ELT_ANNOTATION_XML = new nsHtml5ElementName(nsGkAtoms::annotation_xml_, nsGkAtoms::annotation_xml_, nsHtml5TreeBuilder::ANNOTATION_XML | SCOPING_AS_MATHML);
+  ELT_BIG = new nsHtml5ElementName(nsGkAtoms::big, nsGkAtoms::big, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_BDO = new nsHtml5ElementName(nsGkAtoms::bdo, nsGkAtoms::bdo, nsHtml5TreeBuilder::OTHER);
+  ELT_COL = new nsHtml5ElementName(nsGkAtoms::col, nsGkAtoms::col, nsHtml5TreeBuilder::COL | SPECIAL);
+  ELT_DEL = new nsHtml5ElementName(nsGkAtoms::del, nsGkAtoms::del, nsHtml5TreeBuilder::OTHER);
+  ELT_DFN = new nsHtml5ElementName(nsGkAtoms::dfn, nsGkAtoms::dfn, nsHtml5TreeBuilder::OTHER);
+  ELT_DIR = new nsHtml5ElementName(nsGkAtoms::dir, nsGkAtoms::dir, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_DIV = new nsHtml5ElementName(nsGkAtoms::div, nsGkAtoms::div, nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
+  ELT_IMG = new nsHtml5ElementName(nsGkAtoms::img, nsGkAtoms::img, nsHtml5TreeBuilder::IMG | SPECIAL);
+  ELT_INS = new nsHtml5ElementName(nsGkAtoms::ins, nsGkAtoms::ins, nsHtml5TreeBuilder::OTHER);
+  ELT_KBD = new nsHtml5ElementName(nsGkAtoms::kbd, nsGkAtoms::kbd, nsHtml5TreeBuilder::OTHER);
+  ELT_MAP = new nsHtml5ElementName(nsGkAtoms::map, nsGkAtoms::map, nsHtml5TreeBuilder::OTHER);
+  ELT_NAV = new nsHtml5ElementName(nsGkAtoms::nav, nsGkAtoms::nav, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_PRE = new nsHtml5ElementName(nsGkAtoms::pre, nsGkAtoms::pre, nsHtml5TreeBuilder::PRE_OR_LISTING | SPECIAL);
+  ELT_A = new nsHtml5ElementName(nsGkAtoms::a, nsGkAtoms::a, nsHtml5TreeBuilder::A);
+  ELT_B = new nsHtml5ElementName(nsGkAtoms::b, nsGkAtoms::b, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_RTC = new nsHtml5ElementName(nsGkAtoms::rtc, nsGkAtoms::rtc, nsHtml5TreeBuilder::RB_OR_RTC | OPTIONAL_END_TAG);
+  ELT_SUB = new nsHtml5ElementName(nsGkAtoms::sub, nsGkAtoms::sub, nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
+  ELT_SVG = new nsHtml5ElementName(nsGkAtoms::svg, nsGkAtoms::svg, nsHtml5TreeBuilder::SVG);
+  ELT_SUP = new nsHtml5ElementName(nsGkAtoms::sup, nsGkAtoms::sup, nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
+  ELT_SET = new nsHtml5ElementName(nsGkAtoms::set_, nsGkAtoms::set_, nsHtml5TreeBuilder::OTHER);
+  ELT_USE = new nsHtml5ElementName(nsGkAtoms::use, nsGkAtoms::use, nsHtml5TreeBuilder::OTHER);
+  ELT_VAR = new nsHtml5ElementName(nsGkAtoms::var, nsGkAtoms::var, nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
+  ELT_G = new nsHtml5ElementName(nsGkAtoms::g, nsGkAtoms::g, nsHtml5TreeBuilder::OTHER);
+  ELT_WBR = new nsHtml5ElementName(nsGkAtoms::wbr, nsGkAtoms::wbr, nsHtml5TreeBuilder::AREA_OR_WBR | SPECIAL);
+  ELT_XMP = new nsHtml5ElementName(nsGkAtoms::xmp, nsGkAtoms::xmp, nsHtml5TreeBuilder::XMP | SPECIAL);
+  ELT_I = new nsHtml5ElementName(nsGkAtoms::i, nsGkAtoms::i, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_P = new nsHtml5ElementName(nsGkAtoms::p, nsGkAtoms::p, nsHtml5TreeBuilder::P | SPECIAL | OPTIONAL_END_TAG);
+  ELT_Q = new nsHtml5ElementName(nsGkAtoms::q, nsGkAtoms::q, nsHtml5TreeBuilder::OTHER);
+  ELT_S = new nsHtml5ElementName(nsGkAtoms::s, nsGkAtoms::s, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_U = new nsHtml5ElementName(nsGkAtoms::u, nsGkAtoms::u, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_H1 = new nsHtml5ElementName(nsGkAtoms::h1, nsGkAtoms::h1, nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
+  ELT_H2 = new nsHtml5ElementName(nsGkAtoms::h2, nsGkAtoms::h2, nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
+  ELT_H3 = new nsHtml5ElementName(nsGkAtoms::h3, nsGkAtoms::h3, nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
+  ELT_H4 = new nsHtml5ElementName(nsGkAtoms::h4, nsGkAtoms::h4, nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
+  ELT_H5 = new nsHtml5ElementName(nsGkAtoms::h5, nsGkAtoms::h5, nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
+  ELT_H6 = new nsHtml5ElementName(nsGkAtoms::h6, nsGkAtoms::h6, nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL);
+  ELT_AREA = new nsHtml5ElementName(nsGkAtoms::area, nsGkAtoms::area, nsHtml5TreeBuilder::AREA_OR_WBR | SPECIAL);
+  ELT_FEFUNCA = new nsHtml5ElementName(nsGkAtoms::fefunca, nsGkAtoms::feFuncA, nsHtml5TreeBuilder::OTHER);
+  ELT_METADATA = new nsHtml5ElementName(nsGkAtoms::metadata, nsGkAtoms::metadata, nsHtml5TreeBuilder::OTHER);
+  ELT_META = new nsHtml5ElementName(nsGkAtoms::meta, nsGkAtoms::meta, nsHtml5TreeBuilder::META | SPECIAL);
+  ELT_TEXTAREA = new nsHtml5ElementName(nsGkAtoms::textarea, nsGkAtoms::textarea, nsHtml5TreeBuilder::TEXTAREA | SPECIAL);
+  ELT_FEFUNCB = new nsHtml5ElementName(nsGkAtoms::fefuncb, nsGkAtoms::feFuncB, nsHtml5TreeBuilder::OTHER);
+  ELT_RB = new nsHtml5ElementName(nsGkAtoms::rb, nsGkAtoms::rb, nsHtml5TreeBuilder::RB_OR_RTC | OPTIONAL_END_TAG);
+  ELT_DESC = new nsHtml5ElementName(nsGkAtoms::desc, nsGkAtoms::desc, nsHtml5TreeBuilder::FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG);
+  ELT_DD = new nsHtml5ElementName(nsGkAtoms::dd, nsGkAtoms::dd, nsHtml5TreeBuilder::DD_OR_DT | SPECIAL | OPTIONAL_END_TAG);
+  ELT_BGSOUND = new nsHtml5ElementName(nsGkAtoms::bgsound, nsGkAtoms::bgsound, nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
+  ELT_EMBED = new nsHtml5ElementName(nsGkAtoms::embed, nsGkAtoms::embed, nsHtml5TreeBuilder::EMBED | SPECIAL);
+  ELT_FEBLEND = new nsHtml5ElementName(nsGkAtoms::feblend, nsGkAtoms::feBlend, nsHtml5TreeBuilder::OTHER);
+  ELT_FEFLOOD = new nsHtml5ElementName(nsGkAtoms::feflood, nsGkAtoms::feFlood, nsHtml5TreeBuilder::OTHER);
+  ELT_HEAD = new nsHtml5ElementName(nsGkAtoms::head, nsGkAtoms::head, nsHtml5TreeBuilder::HEAD | SPECIAL | OPTIONAL_END_TAG);
+  ELT_LEGEND = new nsHtml5ElementName(nsGkAtoms::legend, nsGkAtoms::legend, nsHtml5TreeBuilder::OTHER);
+  ELT_NOEMBED = new nsHtml5ElementName(nsGkAtoms::noembed, nsGkAtoms::noembed, nsHtml5TreeBuilder::NOEMBED | SPECIAL);
+  ELT_TD = new nsHtml5ElementName(nsGkAtoms::td, nsGkAtoms::td, nsHtml5TreeBuilder::TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG);
+  ELT_THEAD = new nsHtml5ElementName(nsGkAtoms::thead, nsGkAtoms::thead, nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
+  ELT_ASIDE = new nsHtml5ElementName(nsGkAtoms::aside, nsGkAtoms::aside, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_ARTICLE = new nsHtml5ElementName(nsGkAtoms::article, nsGkAtoms::article, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_ANIMATE = new nsHtml5ElementName(nsGkAtoms::animate, nsGkAtoms::animate, nsHtml5TreeBuilder::OTHER);
+  ELT_BASE = new nsHtml5ElementName(nsGkAtoms::base, nsGkAtoms::base, nsHtml5TreeBuilder::BASE | SPECIAL);
+  ELT_BLOCKQUOTE = new nsHtml5ElementName(nsGkAtoms::blockquote, nsGkAtoms::blockquote, nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
+  ELT_CODE = new nsHtml5ElementName(nsGkAtoms::code, nsGkAtoms::code, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_CIRCLE = new nsHtml5ElementName(nsGkAtoms::circle, nsGkAtoms::circle, nsHtml5TreeBuilder::OTHER);
+  ELT_CITE = new nsHtml5ElementName(nsGkAtoms::cite, nsGkAtoms::cite, nsHtml5TreeBuilder::OTHER);
+  ELT_ELLIPSE = new nsHtml5ElementName(nsGkAtoms::ellipse, nsGkAtoms::ellipse, nsHtml5TreeBuilder::OTHER);
+  ELT_FETURBULENCE = new nsHtml5ElementName(nsGkAtoms::feturbulence, nsGkAtoms::feTurbulence, nsHtml5TreeBuilder::OTHER);
+  ELT_FEMERGENODE = new nsHtml5ElementName(nsGkAtoms::femergenode, nsGkAtoms::feMergeNode, nsHtml5TreeBuilder::OTHER);
+  ELT_FEIMAGE = new nsHtml5ElementName(nsGkAtoms::feimage, nsGkAtoms::feImage, nsHtml5TreeBuilder::OTHER);
+  ELT_FEMERGE = new nsHtml5ElementName(nsGkAtoms::femerge, nsGkAtoms::feMerge, nsHtml5TreeBuilder::OTHER);
+  ELT_FETILE = new nsHtml5ElementName(nsGkAtoms::fetile, nsGkAtoms::feTile, nsHtml5TreeBuilder::OTHER);
+  ELT_FRAME = new nsHtml5ElementName(nsGkAtoms::frame, nsGkAtoms::frame, nsHtml5TreeBuilder::FRAME | SPECIAL);
+  ELT_FIGURE = new nsHtml5ElementName(nsGkAtoms::figure, nsGkAtoms::figure, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_FECOMPOSITE = new nsHtml5ElementName(nsGkAtoms::fecomposite, nsGkAtoms::feComposite, nsHtml5TreeBuilder::OTHER);
+  ELT_IMAGE = new nsHtml5ElementName(nsGkAtoms::image, nsGkAtoms::image, nsHtml5TreeBuilder::IMAGE);
+  ELT_IFRAME = new nsHtml5ElementName(nsGkAtoms::iframe, nsGkAtoms::iframe, nsHtml5TreeBuilder::IFRAME | SPECIAL);
+  ELT_LINE = new nsHtml5ElementName(nsGkAtoms::line, nsGkAtoms::line, nsHtml5TreeBuilder::OTHER);
+  ELT_MARQUEE = new nsHtml5ElementName(nsGkAtoms::marquee, nsGkAtoms::marquee, nsHtml5TreeBuilder::MARQUEE_OR_APPLET | SPECIAL | SCOPING);
+  ELT_POLYLINE = new nsHtml5ElementName(nsGkAtoms::polyline, nsGkAtoms::polyline, nsHtml5TreeBuilder::OTHER);
+  ELT_PICTURE = new nsHtml5ElementName(nsGkAtoms::picture, nsGkAtoms::picture, nsHtml5TreeBuilder::OTHER);
+  ELT_SOURCE = new nsHtml5ElementName(nsGkAtoms::source, nsGkAtoms::source, nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK);
+  ELT_STRIKE = new nsHtml5ElementName(nsGkAtoms::strike, nsGkAtoms::strike, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_STYLE = new nsHtml5ElementName(nsGkAtoms::style, nsGkAtoms::style, nsHtml5TreeBuilder::STYLE | SPECIAL);
+  ELT_TABLE = new nsHtml5ElementName(nsGkAtoms::table, nsGkAtoms::table, nsHtml5TreeBuilder::TABLE | SPECIAL | FOSTER_PARENTING | SCOPING);
+  ELT_TITLE = new nsHtml5ElementName(nsGkAtoms::title, nsGkAtoms::title, nsHtml5TreeBuilder::TITLE | SPECIAL | SCOPING_AS_SVG);
+  ELT_TIME = new nsHtml5ElementName(nsGkAtoms::time, nsGkAtoms::time, nsHtml5TreeBuilder::OTHER);
+  ELT_TEMPLATE = new nsHtml5ElementName(nsGkAtoms::_template, nsGkAtoms::_template, nsHtml5TreeBuilder::TEMPLATE | SPECIAL | SCOPING);
+  ELT_ALTGLYPHDEF = new nsHtml5ElementName(nsGkAtoms::altglyphdef, nsGkAtoms::altGlyphDef, nsHtml5TreeBuilder::OTHER);
+  ELT_GLYPHREF = new nsHtml5ElementName(nsGkAtoms::glyphref, nsGkAtoms::glyphRef, nsHtml5TreeBuilder::OTHER);
+  ELT_DIALOG = new nsHtml5ElementName(nsGkAtoms::dialog, nsGkAtoms::dialog, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_FEFUNCG = new nsHtml5ElementName(nsGkAtoms::fefuncg, nsGkAtoms::feFuncG, nsHtml5TreeBuilder::OTHER);
+  ELT_FEDIFFUSELIGHTING = new nsHtml5ElementName(nsGkAtoms::fediffuselighting, nsGkAtoms::feDiffuseLighting, nsHtml5TreeBuilder::OTHER);
+  ELT_FESPECULARLIGHTING = new nsHtml5ElementName(nsGkAtoms::fespecularlighting, nsGkAtoms::feSpecularLighting, nsHtml5TreeBuilder::OTHER);
+  ELT_LISTING = new nsHtml5ElementName(nsGkAtoms::listing, nsGkAtoms::listing, nsHtml5TreeBuilder::PRE_OR_LISTING | SPECIAL);
+  ELT_STRONG = new nsHtml5ElementName(nsGkAtoms::strong, nsGkAtoms::strong, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_ALTGLYPH = new nsHtml5ElementName(nsGkAtoms::altglyph, nsGkAtoms::altGlyph, nsHtml5TreeBuilder::OTHER);
+  ELT_CLIPPATH = new nsHtml5ElementName(nsGkAtoms::clippath, nsGkAtoms::clipPath, nsHtml5TreeBuilder::OTHER);
+  ELT_MGLYPH = new nsHtml5ElementName(nsGkAtoms::mglyph_, nsGkAtoms::mglyph_, nsHtml5TreeBuilder::MGLYPH_OR_MALIGNMARK);
+  ELT_MATH = new nsHtml5ElementName(nsGkAtoms::math, nsGkAtoms::math, nsHtml5TreeBuilder::MATH);
+  ELT_MPATH = new nsHtml5ElementName(nsGkAtoms::mpath, nsGkAtoms::mpath, nsHtml5TreeBuilder::OTHER);
+  ELT_PATH = new nsHtml5ElementName(nsGkAtoms::path, nsGkAtoms::path, nsHtml5TreeBuilder::OTHER);
+  ELT_TH = new nsHtml5ElementName(nsGkAtoms::th, nsGkAtoms::th, nsHtml5TreeBuilder::TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG);
+  ELT_SWITCH = new nsHtml5ElementName(nsGkAtoms::svgSwitch, nsGkAtoms::svgSwitch, nsHtml5TreeBuilder::OTHER);
+  ELT_TEXTPATH = new nsHtml5ElementName(nsGkAtoms::textpath, nsGkAtoms::textPath, nsHtml5TreeBuilder::OTHER);
+  ELT_LI = new nsHtml5ElementName(nsGkAtoms::li, nsGkAtoms::li, nsHtml5TreeBuilder::LI | SPECIAL | OPTIONAL_END_TAG);
+  ELT_MI = new nsHtml5ElementName(nsGkAtoms::mi_, nsGkAtoms::mi_, nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
+  ELT_LINK = new nsHtml5ElementName(nsGkAtoms::link, nsGkAtoms::link, nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
+  ELT_MARK = new nsHtml5ElementName(nsGkAtoms::mark, nsGkAtoms::mark, nsHtml5TreeBuilder::OTHER);
+  ELT_MALIGNMARK = new nsHtml5ElementName(nsGkAtoms::malignmark_, nsGkAtoms::malignmark_, nsHtml5TreeBuilder::MGLYPH_OR_MALIGNMARK);
+  ELT_MASK = new nsHtml5ElementName(nsGkAtoms::mask, nsGkAtoms::mask, nsHtml5TreeBuilder::OTHER);
+  ELT_TRACK = new nsHtml5ElementName(nsGkAtoms::track, nsGkAtoms::track, nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK | SPECIAL);
+  ELT_DL = new nsHtml5ElementName(nsGkAtoms::dl, nsGkAtoms::dl, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
+  ELT_HTML = new nsHtml5ElementName(nsGkAtoms::html, nsGkAtoms::html, nsHtml5TreeBuilder::HTML | SPECIAL | SCOPING | OPTIONAL_END_TAG);
+  ELT_OL = new nsHtml5ElementName(nsGkAtoms::ol, nsGkAtoms::ol, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
+  ELT_LABEL = new nsHtml5ElementName(nsGkAtoms::label, nsGkAtoms::label, nsHtml5TreeBuilder::OTHER);
+  ELT_UL = new nsHtml5ElementName(nsGkAtoms::ul, nsGkAtoms::ul, nsHtml5TreeBuilder::UL_OR_OL_OR_DL | SPECIAL);
+  ELT_SMALL = new nsHtml5ElementName(nsGkAtoms::small, nsGkAtoms::small, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_SYMBOL = new nsHtml5ElementName(nsGkAtoms::symbol, nsGkAtoms::symbol, nsHtml5TreeBuilder::OTHER);
+  ELT_ALTGLYPHITEM = new nsHtml5ElementName(nsGkAtoms::altglyphitem, nsGkAtoms::altGlyphItem, nsHtml5TreeBuilder::OTHER);
+  ELT_ANIMATETRANSFORM = new nsHtml5ElementName(nsGkAtoms::animatetransform, nsGkAtoms::animateTransform, nsHtml5TreeBuilder::OTHER);
+  ELT_ACRONYM = new nsHtml5ElementName(nsGkAtoms::acronym, nsGkAtoms::acronym, nsHtml5TreeBuilder::OTHER);
+  ELT_EM = new nsHtml5ElementName(nsGkAtoms::em, nsGkAtoms::em, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_FORM = new nsHtml5ElementName(nsGkAtoms::form, nsGkAtoms::form, nsHtml5TreeBuilder::FORM | SPECIAL);
+  ELT_MENUITEM = new nsHtml5ElementName(nsGkAtoms::menuitem, nsGkAtoms::menuitem, nsHtml5TreeBuilder::MENUITEM);
+  ELT_PARAM = new nsHtml5ElementName(nsGkAtoms::param, nsGkAtoms::param, nsHtml5TreeBuilder::PARAM_OR_SOURCE_OR_TRACK | SPECIAL);
+  ELT_ANIMATEMOTION = new nsHtml5ElementName(nsGkAtoms::animatemotion, nsGkAtoms::animateMotion, nsHtml5TreeBuilder::OTHER);
+  ELT_BUTTON = new nsHtml5ElementName(nsGkAtoms::button, nsGkAtoms::button, nsHtml5TreeBuilder::BUTTON | SPECIAL);
+  ELT_CAPTION = new nsHtml5ElementName(nsGkAtoms::caption, nsGkAtoms::caption, nsHtml5TreeBuilder::CAPTION | SPECIAL | SCOPING);
+  ELT_FIGCAPTION = new nsHtml5ElementName(nsGkAtoms::figcaption, nsGkAtoms::figcaption, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_MN = new nsHtml5ElementName(nsGkAtoms::mn_, nsGkAtoms::mn_, nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
+  ELT_KEYGEN = new nsHtml5ElementName(nsGkAtoms::keygen, nsGkAtoms::keygen, nsHtml5TreeBuilder::KEYGEN);
+  ELT_MAIN = new nsHtml5ElementName(nsGkAtoms::main, nsGkAtoms::main, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_OPTION = new nsHtml5ElementName(nsGkAtoms::option, nsGkAtoms::option, nsHtml5TreeBuilder::OPTION | OPTIONAL_END_TAG);
+  ELT_POLYGON = new nsHtml5ElementName(nsGkAtoms::polygon, nsGkAtoms::polygon, nsHtml5TreeBuilder::OTHER);
+  ELT_PATTERN = new nsHtml5ElementName(nsGkAtoms::pattern, nsGkAtoms::pattern, nsHtml5TreeBuilder::OTHER);
+  ELT_SPAN = new nsHtml5ElementName(nsGkAtoms::span, nsGkAtoms::span, nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
+  ELT_SECTION = new nsHtml5ElementName(nsGkAtoms::section, nsGkAtoms::section, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_TSPAN = new nsHtml5ElementName(nsGkAtoms::tspan, nsGkAtoms::tspan, nsHtml5TreeBuilder::OTHER);
+  ELT_AUDIO = new nsHtml5ElementName(nsGkAtoms::audio, nsGkAtoms::audio, nsHtml5TreeBuilder::OTHER);
+  ELT_MO = new nsHtml5ElementName(nsGkAtoms::mo_, nsGkAtoms::mo_, nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
+  ELT_VIDEO = new nsHtml5ElementName(nsGkAtoms::video, nsGkAtoms::video, nsHtml5TreeBuilder::OTHER);
+  ELT_COLGROUP = new nsHtml5ElementName(nsGkAtoms::colgroup, nsGkAtoms::colgroup, nsHtml5TreeBuilder::COLGROUP | SPECIAL | OPTIONAL_END_TAG);
+  ELT_FEDISPLACEMENTMAP = new nsHtml5ElementName(nsGkAtoms::fedisplacementmap, nsGkAtoms::feDisplacementMap, nsHtml5TreeBuilder::OTHER);
+  ELT_HGROUP = new nsHtml5ElementName(nsGkAtoms::hgroup, nsGkAtoms::hgroup, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_RP = new nsHtml5ElementName(nsGkAtoms::rp, nsGkAtoms::rp, nsHtml5TreeBuilder::RT_OR_RP | OPTIONAL_END_TAG);
+  ELT_OPTGROUP = new nsHtml5ElementName(nsGkAtoms::optgroup, nsGkAtoms::optgroup, nsHtml5TreeBuilder::OPTGROUP | OPTIONAL_END_TAG);
+  ELT_SAMP = new nsHtml5ElementName(nsGkAtoms::samp, nsGkAtoms::samp, nsHtml5TreeBuilder::OTHER);
+  ELT_STOP = new nsHtml5ElementName(nsGkAtoms::stop, nsGkAtoms::stop, nsHtml5TreeBuilder::OTHER);
+  ELT_BR = new nsHtml5ElementName(nsGkAtoms::br, nsGkAtoms::br, nsHtml5TreeBuilder::BR | SPECIAL);
+  ELT_ABBR = new nsHtml5ElementName(nsGkAtoms::abbr, nsGkAtoms::abbr, nsHtml5TreeBuilder::OTHER);
+  ELT_ANIMATECOLOR = new nsHtml5ElementName(nsGkAtoms::animatecolor, nsGkAtoms::animateColor, nsHtml5TreeBuilder::OTHER);
+  ELT_CENTER = new nsHtml5ElementName(nsGkAtoms::center, nsGkAtoms::center, nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
+  ELT_HR = new nsHtml5ElementName(nsGkAtoms::hr, nsGkAtoms::hr, nsHtml5TreeBuilder::HR | SPECIAL);
+  ELT_FEFUNCR = new nsHtml5ElementName(nsGkAtoms::fefuncr, nsGkAtoms::feFuncR, nsHtml5TreeBuilder::OTHER);
+  ELT_FECOMPONENTTRANSFER = new nsHtml5ElementName(nsGkAtoms::fecomponenttransfer, nsGkAtoms::feComponentTransfer, nsHtml5TreeBuilder::OTHER);
+  ELT_FILTER = new nsHtml5ElementName(nsGkAtoms::filter, nsGkAtoms::filter, nsHtml5TreeBuilder::OTHER);
+  ELT_FOOTER = new nsHtml5ElementName(nsGkAtoms::footer, nsGkAtoms::footer, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_FEGAUSSIANBLUR = new nsHtml5ElementName(nsGkAtoms::fegaussianblur, nsGkAtoms::feGaussianBlur, nsHtml5TreeBuilder::OTHER);
+  ELT_HEADER = new nsHtml5ElementName(nsGkAtoms::header, nsGkAtoms::header, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_MARKER = new nsHtml5ElementName(nsGkAtoms::marker, nsGkAtoms::marker, nsHtml5TreeBuilder::OTHER);
+  ELT_METER = new nsHtml5ElementName(nsGkAtoms::meter, nsGkAtoms::meter, nsHtml5TreeBuilder::OTHER);
+  ELT_NOBR = new nsHtml5ElementName(nsGkAtoms::nobr, nsGkAtoms::nobr, nsHtml5TreeBuilder::NOBR);
+  ELT_TR = new nsHtml5ElementName(nsGkAtoms::tr, nsGkAtoms::tr, nsHtml5TreeBuilder::TR | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
+  ELT_ADDRESS = new nsHtml5ElementName(nsGkAtoms::address, nsGkAtoms::address, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_CANVAS = new nsHtml5ElementName(nsGkAtoms::canvas, nsGkAtoms::canvas, nsHtml5TreeBuilder::OTHER);
+  ELT_DEFS = new nsHtml5ElementName(nsGkAtoms::defs, nsGkAtoms::defs, nsHtml5TreeBuilder::OTHER);
+  ELT_DETAILS = new nsHtml5ElementName(nsGkAtoms::details, nsGkAtoms::details, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_MS = new nsHtml5ElementName(nsGkAtoms::ms_, nsGkAtoms::ms_, nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
+  ELT_NOFRAMES = new nsHtml5ElementName(nsGkAtoms::noframes, nsGkAtoms::noframes, nsHtml5TreeBuilder::NOFRAMES | SPECIAL);
+  ELT_PROGRESS = new nsHtml5ElementName(nsGkAtoms::progress, nsGkAtoms::progress, nsHtml5TreeBuilder::OTHER);
+  ELT_DT = new nsHtml5ElementName(nsGkAtoms::dt, nsGkAtoms::dt, nsHtml5TreeBuilder::DD_OR_DT | SPECIAL | OPTIONAL_END_TAG);
+  ELT_APPLET = new nsHtml5ElementName(nsGkAtoms::applet, nsGkAtoms::applet, nsHtml5TreeBuilder::MARQUEE_OR_APPLET | SPECIAL | SCOPING);
+  ELT_BASEFONT = new nsHtml5ElementName(nsGkAtoms::basefont, nsGkAtoms::basefont, nsHtml5TreeBuilder::LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
+  ELT_FOREIGNOBJECT = new nsHtml5ElementName(nsGkAtoms::foreignobject, nsGkAtoms::foreignObject, nsHtml5TreeBuilder::FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG);
+  ELT_FIELDSET = new nsHtml5ElementName(nsGkAtoms::fieldset, nsGkAtoms::fieldset, nsHtml5TreeBuilder::FIELDSET | SPECIAL);
+  ELT_FRAMESET = new nsHtml5ElementName(nsGkAtoms::frameset, nsGkAtoms::frameset, nsHtml5TreeBuilder::FRAMESET | SPECIAL);
+  ELT_FEOFFSET = new nsHtml5ElementName(nsGkAtoms::feoffset, nsGkAtoms::feOffset, nsHtml5TreeBuilder::OTHER);
+  ELT_FESPOTLIGHT = new nsHtml5ElementName(nsGkAtoms::fespotlight, nsGkAtoms::feSpotLight, nsHtml5TreeBuilder::OTHER);
+  ELT_FEPOINTLIGHT = new nsHtml5ElementName(nsGkAtoms::fepointlight, nsGkAtoms::fePointLight, nsHtml5TreeBuilder::OTHER);
+  ELT_FEDISTANTLIGHT = new nsHtml5ElementName(nsGkAtoms::fedistantlight, nsGkAtoms::feDistantLight, nsHtml5TreeBuilder::OTHER);
+  ELT_FONT = new nsHtml5ElementName(nsGkAtoms::font, nsGkAtoms::font, nsHtml5TreeBuilder::FONT);
+  ELT_INPUT = new nsHtml5ElementName(nsGkAtoms::input, nsGkAtoms::input, nsHtml5TreeBuilder::INPUT | SPECIAL);
+  ELT_LINEARGRADIENT = new nsHtml5ElementName(nsGkAtoms::lineargradient, nsGkAtoms::linearGradient, nsHtml5TreeBuilder::OTHER);
+  ELT_MTEXT = new nsHtml5ElementName(nsGkAtoms::mtext_, nsGkAtoms::mtext_, nsHtml5TreeBuilder::MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
+  ELT_NOSCRIPT = new nsHtml5ElementName(nsGkAtoms::noscript, nsGkAtoms::noscript, nsHtml5TreeBuilder::NOSCRIPT | SPECIAL);
+  ELT_RT = new nsHtml5ElementName(nsGkAtoms::rt, nsGkAtoms::rt, nsHtml5TreeBuilder::RT_OR_RP | OPTIONAL_END_TAG);
+  ELT_OBJECT = new nsHtml5ElementName(nsGkAtoms::object, nsGkAtoms::object, nsHtml5TreeBuilder::OBJECT | SPECIAL | SCOPING);
+  ELT_OUTPUT = new nsHtml5ElementName(nsGkAtoms::output, nsGkAtoms::output, nsHtml5TreeBuilder::OUTPUT);
+  ELT_PLAINTEXT = new nsHtml5ElementName(nsGkAtoms::plaintext, nsGkAtoms::plaintext, nsHtml5TreeBuilder::PLAINTEXT | SPECIAL);
+  ELT_TT = new nsHtml5ElementName(nsGkAtoms::tt, nsGkAtoms::tt, nsHtml5TreeBuilder::B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
+  ELT_RECT = new nsHtml5ElementName(nsGkAtoms::rect, nsGkAtoms::rect, nsHtml5TreeBuilder::OTHER);
+  ELT_RADIALGRADIENT = new nsHtml5ElementName(nsGkAtoms::radialgradient, nsGkAtoms::radialGradient, nsHtml5TreeBuilder::OTHER);
+  ELT_SELECT = new nsHtml5ElementName(nsGkAtoms::select, nsGkAtoms::select, nsHtml5TreeBuilder::SELECT | SPECIAL);
+  ELT_SCRIPT = new nsHtml5ElementName(nsGkAtoms::script, nsGkAtoms::script, nsHtml5TreeBuilder::SCRIPT | SPECIAL);
+  ELT_TFOOT = new nsHtml5ElementName(nsGkAtoms::tfoot, nsGkAtoms::tfoot, nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
+  ELT_TEXT = new nsHtml5ElementName(nsGkAtoms::text, nsGkAtoms::text, nsHtml5TreeBuilder::OTHER);
+  ELT_MENU = new nsHtml5ElementName(nsGkAtoms::menu, nsGkAtoms::menu, nsHtml5TreeBuilder::DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
+  ELT_FEDROPSHADOW = new nsHtml5ElementName(nsGkAtoms::fedropshadow, nsGkAtoms::feDropShadow, nsHtml5TreeBuilder::OTHER);
+  ELT_VIEW = new nsHtml5ElementName(nsGkAtoms::view, nsGkAtoms::view, nsHtml5TreeBuilder::OTHER);
+  ELT_FECOLORMATRIX = new nsHtml5ElementName(nsGkAtoms::fecolormatrix, nsGkAtoms::feColorMatrix, nsHtml5TreeBuilder::OTHER);
+  ELT_FECONVOLVEMATRIX = new nsHtml5ElementName(nsGkAtoms::feconvolvematrix, nsGkAtoms::feConvolveMatrix, nsHtml5TreeBuilder::OTHER);
+  ELT_BODY = new nsHtml5ElementName(nsGkAtoms::body, nsGkAtoms::body, nsHtml5TreeBuilder::BODY | SPECIAL | OPTIONAL_END_TAG);
+  ELT_FEMORPHOLOGY = new nsHtml5ElementName(nsGkAtoms::femorphology, nsGkAtoms::feMorphology, nsHtml5TreeBuilder::OTHER);
+  ELT_RUBY = new nsHtml5ElementName(nsGkAtoms::ruby, nsGkAtoms::ruby, nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
+  ELT_SUMMARY = new nsHtml5ElementName(nsGkAtoms::summary, nsGkAtoms::summary, nsHtml5TreeBuilder::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 | SPECIAL);
+  ELT_TBODY = new nsHtml5ElementName(nsGkAtoms::tbody, nsGkAtoms::tbody, nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
   ELEMENT_NAMES = new nsHtml5ElementName*[203];
   ELEMENT_NAMES[0] = ELT_KEYGEN;
   ELEMENT_NAMES[1] = ELT_FETURBULENCE;
   ELEMENT_NAMES[2] = ELT_FIELDSET;
   ELEMENT_NAMES[3] = ELT_H2;
   ELEMENT_NAMES[4] = ELT_MATH;
   ELEMENT_NAMES[5] = ELT_HEADER;
   ELEMENT_NAMES[6] = ELT_RECT;
--- a/parser/html/nsHtml5ElementName.h
+++ b/parser/html/nsHtml5ElementName.h
@@ -51,87 +51,92 @@ class nsHtml5TreeBuilder;
 class nsHtml5MetaScanner;
 class nsHtml5UTF16Buffer;
 class nsHtml5StateSnapshot;
 class nsHtml5Portability;
 
 
 class nsHtml5ElementName
 {
-public:
-  static const int32_t GROUP_MASK = 127;
-
-  static const int32_t NOT_INTERNED = (1 << 30);
+  public:
+    static const int32_t GROUP_MASK = 127;
 
-  static const int32_t SPECIAL = (1 << 29);
-
-  static const int32_t FOSTER_PARENTING = (1 << 28);
+    static const int32_t NOT_INTERNED = (1 << 30);
 
-  static const int32_t SCOPING = (1 << 27);
-
-  static const int32_t SCOPING_AS_SVG = (1 << 26);
+    static const int32_t SPECIAL = (1 << 29);
 
-  static const int32_t SCOPING_AS_MATHML = (1 << 25);
+    static const int32_t FOSTER_PARENTING = (1 << 28);
 
-  static const int32_t HTML_INTEGRATION_POINT = (1 << 24);
-
-  static const int32_t OPTIONAL_END_TAG = (1 << 23);
+    static const int32_t SCOPING = (1 << 27);
 
-private:
-  nsIAtom* name;
-  nsIAtom* camelCaseName;
+    static const int32_t SCOPING_AS_SVG = (1 << 26);
 
-public:
-  int32_t flags;
-  inline nsIAtom* getName() { return name; }
+    static const int32_t SCOPING_AS_MATHML = (1 << 25);
 
-  inline nsIAtom* getCamelCaseName() { return camelCaseName; }
-
-  inline int32_t getFlags() { return flags; }
+    static const int32_t HTML_INTEGRATION_POINT = (1 << 24);
 
-  inline int32_t getGroup() { return flags & nsHtml5ElementName::GROUP_MASK; }
-
-  inline bool isInterned()
-  {
-    return !(flags & nsHtml5ElementName::NOT_INTERNED);
-  }
+    static const int32_t OPTIONAL_END_TAG = (1 << 23);
 
-  inline static int32_t levelOrderBinarySearch(jArray<int32_t, int32_t> data,
-                                               int32_t key)
-  {
-    int32_t n = data.length;
-    int32_t i = 0;
-    while (i < n) {
-      int32_t val = data[i];
-      if (val < key) {
-        i = 2 * i + 2;
-      } else if (val > key) {
-        i = 2 * i + 1;
-      } else {
-        return i;
-      }
+  private:
+    nsIAtom* name;
+    nsIAtom* camelCaseName;
+  public:
+    int32_t flags;
+    inline nsIAtom* getName()
+    {
+      return name;
     }
-    return -1;
+
+    inline nsIAtom* getCamelCaseName()
+    {
+      return camelCaseName;
     }
 
-    inline static nsHtml5ElementName* elementNameByBuffer(
-      char16_t* buf,
-      int32_t offset,
-      int32_t length,
-      nsHtml5AtomTable* interner)
+    inline int32_t getFlags()
+    {
+      return flags;
+    }
+
+    inline int32_t getGroup()
+    {
+      return flags & nsHtml5ElementName::GROUP_MASK;
+    }
+
+    inline bool isInterned()
+    {
+      return !(flags & nsHtml5ElementName::NOT_INTERNED);
+    }
+
+    inline static int32_t levelOrderBinarySearch(jArray<int32_t,int32_t> data, int32_t key)
+    {
+      int32_t n = data.length;
+      int32_t i = 0;
+      while (i < n) {
+        int32_t val = data[i];
+        if (val < key) {
+          i = 2 * i + 2;
+        } else if (val > key) {
+          i = 2 * i + 1;
+        } else {
+          return i;
+        }
+      }
+      return -1;
+    }
+
+    inline static nsHtml5ElementName* elementNameByBuffer(char16_t* buf, int32_t offset, int32_t length, nsHtml5AtomTable* interner)
     {
       uint32_t hash = nsHtml5ElementName::bufToHash(buf, length);
-      jArray<int32_t, int32_t> hashes;
+      jArray<int32_t,int32_t> hashes;
       hashes = nsHtml5ElementName::ELEMENT_HASHES;
       int32_t index = levelOrderBinarySearch(hashes, hash);
       if (index < 0) {
         return nullptr;
       } else {
-        nsHtml5ElementName* elementName =
-          nsHtml5ElementName::ELEMENT_NAMES[index];
+        nsHtml5ElementName* elementName = nsHtml5ElementName::ELEMENT_NAMES[index];
         nsIAtom* name = elementName->name;
         if (!nsHtml5Portability::localEqualsBuffer(name, buf, offset, length)) {
           return nullptr;
         }
         return elementName;
       }
     }
 
--- a/parser/html/nsHtml5MetaScanner.cpp
+++ b/parser/html/nsHtml5MetaScanner.cpp
@@ -59,30 +59,30 @@ staticJArray<char16_t,int32_t> nsHtml5Me
 static char16_t const CONTENT_DATA[] = { 'o', 'n', 't', 'e', 'n', 't' };
 staticJArray<char16_t,int32_t> nsHtml5MetaScanner::CONTENT = { CONTENT_DATA, MOZ_ARRAY_LENGTH(CONTENT_DATA) };
 static char16_t const HTTP_EQUIV_DATA[] = { 't', 't', 'p', '-', 'e', 'q', 'u', 'i', 'v' };
 staticJArray<char16_t,int32_t> nsHtml5MetaScanner::HTTP_EQUIV = { HTTP_EQUIV_DATA, MOZ_ARRAY_LENGTH(HTTP_EQUIV_DATA) };
 static char16_t const CONTENT_TYPE_DATA[] = { 'c', 'o', 'n', 't', 'e', 'n', 't', '-', 't', 'y', 'p', 'e' };
 staticJArray<char16_t,int32_t> nsHtml5MetaScanner::CONTENT_TYPE = { CONTENT_TYPE_DATA, MOZ_ARRAY_LENGTH(CONTENT_TYPE_DATA) };
 
 nsHtml5MetaScanner::nsHtml5MetaScanner(nsHtml5TreeBuilder* tb)
-  : readable(nullptr)
-  , metaState(NO)
-  , contentIndex(INT32_MAX)
-  , charsetIndex(INT32_MAX)
-  , httpEquivIndex(INT32_MAX)
-  , contentTypeIndex(INT32_MAX)
-  , stateSave(DATA)
-  , strBufLen(0)
-  , strBuf(jArray<char16_t, int32_t>::newJArray(36))
-  , content(nullptr)
-  , charset(nullptr)
-  , httpEquivState(HTTP_EQUIV_NOT_SEEN)
-  , treeBuilder(tb)
-  , mEncoding(nullptr)
+  : readable(nullptr),
+    metaState(NO),
+    contentIndex(INT32_MAX),
+    charsetIndex(INT32_MAX),
+    httpEquivIndex(INT32_MAX),
+    contentTypeIndex(INT32_MAX),
+    stateSave(DATA),
+    strBufLen(0),
+    strBuf(jArray<char16_t,int32_t>::newJArray(36)),
+    content(nullptr),
+    charset(nullptr),
+    httpEquivState(HTTP_EQUIV_NOT_SEEN),
+    treeBuilder(tb),
+    mEncoding(nullptr)
 {
   MOZ_COUNT_CTOR(nsHtml5MetaScanner);
 }
 
 
 nsHtml5MetaScanner::~nsHtml5MetaScanner()
 {
   MOZ_COUNT_DTOR(nsHtml5MetaScanner);
@@ -756,21 +756,18 @@ nsHtml5MetaScanner::handleAttributeValue
   if (contentIndex == CONTENT.length && !content) {
     content = nsHtml5Portability::newStringFromBuffer(strBuf, 0, strBufLen, treeBuilder);
     return;
   }
   if (charsetIndex == CHARSET.length && !charset) {
     charset = nsHtml5Portability::newStringFromBuffer(strBuf, 0, strBufLen, treeBuilder);
     return;
   }
-  if (httpEquivIndex == HTTP_EQUIV.length &&
-      httpEquivState == HTTP_EQUIV_NOT_SEEN) {
-    httpEquivState = (contentTypeIndex == CONTENT_TYPE.length)
-                       ? HTTP_EQUIV_CONTENT_TYPE
-                       : HTTP_EQUIV_OTHER;
+  if (httpEquivIndex == HTTP_EQUIV.length && httpEquivState == HTTP_EQUIV_NOT_SEEN) {
+    httpEquivState = (contentTypeIndex == CONTENT_TYPE.length) ? HTTP_EQUIV_CONTENT_TYPE : HTTP_EQUIV_OTHER;
     return;
   }
 }
 
 bool 
 nsHtml5MetaScanner::handleTag()
 {
   bool stop = handleTagInner();
@@ -784,18 +781,17 @@ nsHtml5MetaScanner::handleTag()
 
 bool 
 nsHtml5MetaScanner::handleTagInner()
 {
   if (!!charset && tryCharset(charset)) {
     return true;
   }
   if (!!content && httpEquivState == HTTP_EQUIV_CONTENT_TYPE) {
-    nsHtml5String extract =
-      nsHtml5TreeBuilder::extractCharsetFromContent(content, treeBuilder);
+    nsHtml5String extract = nsHtml5TreeBuilder::extractCharsetFromContent(content, treeBuilder);
     if (!extract) {
       return false;
     }
     bool success = tryCharset(extract);
     extract.Release();
     return success;
   }
   return false;
--- a/parser/html/nsHtml5NamedCharacters.cpp
+++ b/parser/html/nsHtml5NamedCharacters.cpp
@@ -19,18 +19,18 @@
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
  * DEALINGS IN THE SOFTWARE.
  */
 
 #define nsHtml5NamedCharacters_cpp_
 #include "jArray.h"
 #include "nscore.h"
 #include "nsDebug.h"
+#include "prlog.h"
 #include "mozilla/ArrayUtils.h"
-#include "mozilla/Logging.h"
 
 #include "nsHtml5NamedCharacters.h"
 
 const char16_t nsHtml5NamedCharacters::VALUES[][2] = {
 #define NAMED_CHARACTER_REFERENCE(N, CHARS, LEN, FLAG, VALUE) \
 { VALUE },
 #include "nsHtml5NamedCharactersInclude.h"
 #undef NAMED_CHARACTER_REFERENCE
@@ -94,17 +94,18 @@ enum NamePositions {
 NAME_##N##_DUMMY, /* automatically one higher than previous */ \
 NAME_##N##_START = NAME_##N##_DUMMY - 1, \
 NAME_##N##_END = NAME_##N##_START + LEN + FLAG,
 #include "nsHtml5NamedCharactersInclude.h"
 #undef NAMED_CHARACTER_REFERENCE
   DUMMY_FINAL_NAME_VALUE
 };
 
-static_assert(MOZ_ARRAY_LENGTH(ALL_NAMES) < 0x10000, "Start positions should fit in 16 bits");
+/* check that the start positions will fit in 16 bits */
+PR_STATIC_ASSERT(MOZ_ARRAY_LENGTH(ALL_NAMES) < 0x10000);
 
 const nsHtml5CharacterName nsHtml5NamedCharacters::NAMES[] = {
 #ifdef DEBUG
   #define NAMED_CHARACTER_REFERENCE(N, CHARS, LEN, FLAG, VALUE) \
 { NAME_##N##_START, LEN, N },
 #else
   #define NAMED_CHARACTER_REFERENCE(N, CHARS, LEN, FLAG, VALUE) \
 { NAME_##N##_START, LEN, },
--- a/parser/html/nsHtml5NamedCharacters.h
+++ b/parser/html/nsHtml5NamedCharacters.h
@@ -21,18 +21,18 @@
  */
 
 #ifndef nsHtml5NamedCharacters_h
 #define nsHtml5NamedCharacters_h
 
 #include "jArray.h"
 #include "nscore.h"
 #include "nsDebug.h"
-#include "mozilla/Logging.h"
-#include "nsMemory.h"
+#include "prlog.h"
+#include "mozilla/ArrayUtils.h"
 
 struct nsHtml5CharacterName {
   uint16_t nameStart;
   uint16_t nameLen;
   #ifdef DEBUG
   int32_t n;
   #endif
   int32_t length() const;
--- a/parser/html/nsHtml5NamedCharactersAccel.h
+++ b/parser/html/nsHtml5NamedCharactersAccel.h
@@ -7,18 +7,18 @@
  */
 
 #ifndef nsHtml5NamedCharactersAccel_h
 #define nsHtml5NamedCharactersAccel_h
 
 #include "jArray.h"
 #include "nscore.h"
 #include "nsDebug.h"
-#include "mozilla/Logging.h"
-#include "nsMemory.h"
+#include "prlog.h"
+#include "mozilla/ArrayUtils.h"
 
 class nsHtml5NamedCharactersAccel
 {
   public:
     static const int32_t* const HILO_ACCEL[];
 };
 
 #endif // nsHtml5NamedCharactersAccel_h
--- a/parser/html/nsHtml5Portability.h
+++ b/parser/html/nsHtml5Portability.h
@@ -52,34 +52,26 @@ class nsHtml5MetaScanner;
 class nsHtml5UTF16Buffer;
 class nsHtml5StateSnapshot;
 
 
 class nsHtml5Portability
 {
   public:
     static nsIAtom* newLocalNameFromBuffer(char16_t* buf, int32_t offset, int32_t length, nsHtml5AtomTable* interner);
-    static nsHtml5String newStringFromBuffer(char16_t* buf,
-                                             int32_t offset,
-                                             int32_t length,
-                                             nsHtml5TreeBuilder* treeBuilder);
+    static nsHtml5String newStringFromBuffer(char16_t* buf, int32_t offset, int32_t length, nsHtml5TreeBuilder* treeBuilder);
     static nsHtml5String newEmptyString();
     static nsHtml5String newStringFromLiteral(const char* literal);
     static nsHtml5String newStringFromString(nsHtml5String string);
     static jArray<char16_t,int32_t> newCharArrayFromLocal(nsIAtom* local);
-    static jArray<char16_t, int32_t> newCharArrayFromString(
-      nsHtml5String string);
+    static jArray<char16_t,int32_t> newCharArrayFromString(nsHtml5String string);
     static nsIAtom* newLocalFromLocal(nsIAtom* local, nsHtml5AtomTable* interner);
     static bool localEqualsBuffer(nsIAtom* local, char16_t* buf, int32_t offset, int32_t length);
-    static bool lowerCaseLiteralIsPrefixOfIgnoreAsciiCaseString(
-      const char* lowerCaseLiteral,
-      nsHtml5String string);
-    static bool lowerCaseLiteralEqualsIgnoreAsciiCaseString(
-      const char* lowerCaseLiteral,
-      nsHtml5String string);
+    static bool lowerCaseLiteralIsPrefixOfIgnoreAsciiCaseString(const char* lowerCaseLiteral, nsHtml5String string);
+    static bool lowerCaseLiteralEqualsIgnoreAsciiCaseString(const char* lowerCaseLiteral, nsHtml5String string);
     static bool literalEqualsString(const char* literal, nsHtml5String string);
     static bool stringEqualsString(nsHtml5String one, nsHtml5String other);
     static void initializeStatics();
     static void releaseStatics();
 };
 
 #endif
 
--- a/parser/html/nsHtml5StackNode.cpp
+++ b/parser/html/nsHtml5StackNode.cpp
@@ -79,140 +79,118 @@ nsHtml5StackNode::isFosterParenting()
 }
 
 bool 
 nsHtml5StackNode::isHtmlIntegrationPoint()
 {
   return (flags & nsHtml5ElementName::HTML_INTEGRATION_POINT);
 }
 
+
 nsHtml5StackNode::nsHtml5StackNode(int32_t idxInTreeBuilder)
-  : idxInTreeBuilder(idxInTreeBuilder)
-  , refcount(0)
+  : idxInTreeBuilder(idxInTreeBuilder),
+    refcount(0)
 {
   MOZ_COUNT_CTOR(nsHtml5StackNode);
 }
 
-void
-nsHtml5StackNode::setValues(int32_t flags,
-                            int32_t ns,
-                            nsIAtom* name,
-                            nsIContentHandle* node,
-                            nsIAtom* popName,
-                            nsHtml5HtmlAttributes* attributes)
+void 
+nsHtml5StackNode::setValues(int32_t flags, int32_t ns, nsIAtom* name, nsIContentHandle* node, nsIAtom* popName, nsHtml5HtmlAttributes* attributes)
 {
   MOZ_ASSERT(isUnused());
   this->flags = flags;
   this->name = name;
   this->popName = popName;
   this->ns = ns;
   this->node = node;
   this->attributes = attributes;
   this->refcount = 1;
 }
 
-void
-nsHtml5StackNode::setValues(nsHtml5ElementName* elementName,
-                            nsIContentHandle* node)
+void 
+nsHtml5StackNode::setValues(nsHtml5ElementName* elementName, nsIContentHandle* node)
 {
   MOZ_ASSERT(isUnused());
   this->flags = elementName->getFlags();
   this->name = elementName->getName();
   this->popName = elementName->getName();
   this->ns = kNameSpaceID_XHTML;
   this->node = node;
   this->attributes = nullptr;
   this->refcount = 1;
-  MOZ_ASSERT(elementName->isInterned(),
-             "Don't use this constructor for custom elements.");
+  MOZ_ASSERT(elementName->isInterned(), "Don't use this constructor for custom elements.");
 }
 
-void
-nsHtml5StackNode::setValues(nsHtml5ElementName* elementName,
-                            nsIContentHandle* node,
-                            nsHtml5HtmlAttributes* attributes)
+void 
+nsHtml5StackNode::setValues(nsHtml5ElementName* elementName, nsIContentHandle* node, nsHtml5HtmlAttributes* attributes)
 {
   MOZ_ASSERT(isUnused());
   this->flags = elementName->getFlags();
   this->name = elementName->getName();
   this->popName = elementName->getName();
   this->ns = kNameSpaceID_XHTML;
   this->node = node;
   this->attributes = attributes;
   this->refcount = 1;
-  MOZ_ASSERT(elementName->isInterned(),
-             "Don't use this constructor for custom elements.");
+  MOZ_ASSERT(elementName->isInterned(), "Don't use this constructor for custom elements.");
 }
 
-void
-nsHtml5StackNode::setValues(nsHtml5ElementName* elementName,
-                            nsIContentHandle* node,
-                            nsIAtom* popName)
+void 
+nsHtml5StackNode::setValues(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName)
 {
   MOZ_ASSERT(isUnused());
   this->flags = elementName->getFlags();
   this->name = elementName->getName();
   this->popName = popName;
   this->ns = kNameSpaceID_XHTML;
   this->node = node;
   this->attributes = nullptr;
   this->refcount = 1;
 }
 
-void
-nsHtml5StackNode::setValues(nsHtml5ElementName* elementName,
-                            nsIAtom* popName,
-                            nsIContentHandle* node)
+void 
+nsHtml5StackNode::setValues(nsHtml5ElementName* elementName, nsIAtom* popName, nsIContentHandle* node)
 {
   MOZ_ASSERT(isUnused());
   this->flags = prepareSvgFlags(elementName->getFlags());
   this->name = elementName->getName();
   this->popName = popName;
   this->ns = kNameSpaceID_SVG;
   this->node = node;
   this->attributes = nullptr;
   this->refcount = 1;
 }
 
-void
-nsHtml5StackNode::setValues(nsHtml5ElementName* elementName,
-                            nsIContentHandle* node,
-                            nsIAtom* popName,
-                            bool markAsIntegrationPoint)
+void 
+nsHtml5StackNode::setValues(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName, bool markAsIntegrationPoint)
 {
   MOZ_ASSERT(isUnused());
-  this->flags =
-    prepareMathFlags(elementName->getFlags(), markAsIntegrationPoint);
+  this->flags = prepareMathFlags(elementName->getFlags(), markAsIntegrationPoint);
   this->name = elementName->getName();
   this->popName = popName;
   this->ns = kNameSpaceID_MathML;
   this->node = node;
   this->attributes = nullptr;
   this->refcount = 1;
 }
 
 int32_t 
 nsHtml5StackNode::prepareSvgFlags(int32_t flags)
 {
-  flags &=
-    ~(nsHtml5ElementName::FOSTER_PARENTING | nsHtml5ElementName::SCOPING |
-      nsHtml5ElementName::SPECIAL | nsHtml5ElementName::OPTIONAL_END_TAG);
+  flags &= ~(nsHtml5ElementName::FOSTER_PARENTING | nsHtml5ElementName::SCOPING | nsHtml5ElementName::SPECIAL | nsHtml5ElementName::OPTIONAL_END_TAG);
   if ((flags & nsHtml5ElementName::SCOPING_AS_SVG)) {
-    flags |= (nsHtml5ElementName::SCOPING | nsHtml5ElementName::SPECIAL |
-              nsHtml5ElementName::HTML_INTEGRATION_POINT);
+    flags |= (nsHtml5ElementName::SCOPING | nsHtml5ElementName::SPECIAL | nsHtml5ElementName::HTML_INTEGRATION_POINT);
   }
   return flags;
 }
 
 int32_t 
 nsHtml5StackNode::prepareMathFlags(int32_t flags, bool markAsIntegrationPoint)
 {
-  flags &=
-    ~(nsHtml5ElementName::FOSTER_PARENTING | nsHtml5ElementName::SCOPING |
-      nsHtml5ElementName::SPECIAL | nsHtml5ElementName::OPTIONAL_END_TAG);
+  flags &= ~(nsHtml5ElementName::FOSTER_PARENTING | nsHtml5ElementName::SCOPING | nsHtml5ElementName::SPECIAL | nsHtml5ElementName::OPTIONAL_END_TAG);
   if ((flags & nsHtml5ElementName::SCOPING_AS_MATHML)) {
     flags |= (nsHtml5ElementName::SCOPING | nsHtml5ElementName::SPECIAL);
   }
   if (markAsIntegrationPoint) {
     flags |= nsHtml5ElementName::HTML_INTEGRATION_POINT;
   }
   return flags;
 }
@@ -230,33 +208,33 @@ nsHtml5StackNode::dropAttributes()
 }
 
 void 
 nsHtml5StackNode::retain()
 {
   refcount++;
 }
 
-void
+void 
 nsHtml5StackNode::release(nsHtml5TreeBuilder* owningTreeBuilder)
 {
   refcount--;
   MOZ_ASSERT(refcount >= 0);
   if (!refcount) {
     delete attributes;
     if (idxInTreeBuilder >= 0) {
       owningTreeBuilder->notifyUnusedStackNode(idxInTreeBuilder);
     } else {
       MOZ_ASSERT(!owningTreeBuilder);
       delete this;
     }
   }
 }
 
-bool
+bool 
 nsHtml5StackNode::isUnused()
 {
   return !refcount;
 }
 
 void
 nsHtml5StackNode::initializeStatics()
 {
--- a/parser/html/nsHtml5StackNode.h
+++ b/parser/html/nsHtml5StackNode.h
@@ -75,37 +75,22 @@ class nsHtml5StackNode
     }
 
     int32_t getGroup();
     bool isScoping();
     bool isSpecial();
     bool isFosterParenting();
     bool isHtmlIntegrationPoint();
     explicit nsHtml5StackNode(int32_t idxInTreeBuilder);
-    void setValues(int32_t flags,
-                   int32_t ns,
-                   nsIAtom* name,
-                   nsIContentHandle* node,
-                   nsIAtom* popName,
-                   nsHtml5HtmlAttributes* attributes);
+    void setValues(int32_t flags, int32_t ns, nsIAtom* name, nsIContentHandle* node, nsIAtom* popName, nsHtml5HtmlAttributes* attributes);
     void setValues(nsHtml5ElementName* elementName, nsIContentHandle* node);
-    void setValues(nsHtml5ElementName* elementName,
-                   nsIContentHandle* node,
-                   nsHtml5HtmlAttributes* attributes);
-    void setValues(nsHtml5ElementName* elementName,
-                   nsIContentHandle* node,
-                   nsIAtom* popName);
-    void setValues(nsHtml5ElementName* elementName,
-                   nsIAtom* popName,
-                   nsIContentHandle* node);
-    void setValues(nsHtml5ElementName* elementName,
-                   nsIContentHandle* node,
-                   nsIAtom* popName,
-                   bool markAsIntegrationPoint);
-
+    void setValues(nsHtml5ElementName* elementName, nsIContentHandle* node, nsHtml5HtmlAttributes* attributes);
+    void setValues(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName);
+    void setValues(nsHtml5ElementName* elementName, nsIAtom* popName, nsIContentHandle* node);
+    void setValues(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName, bool markAsIntegrationPoint);
   private:
     static int32_t prepareSvgFlags(int32_t flags);
     static int32_t prepareMathFlags(int32_t flags, bool markAsIntegrationPoint);
   public:
     ~nsHtml5StackNode();
     void dropAttributes();
     void retain();
     void release(nsHtml5TreeBuilder* owningTreeBuilder);
--- a/parser/html/nsHtml5Tokenizer.cpp
+++ b/parser/html/nsHtml5Tokenizer.cpp
@@ -82,48 +82,45 @@ static char16_t const IFRAME_ARR_DATA[] 
 staticJArray<char16_t,int32_t> nsHtml5Tokenizer::IFRAME_ARR = { IFRAME_ARR_DATA, MOZ_ARRAY_LENGTH(IFRAME_ARR_DATA) };
 static char16_t const NOEMBED_ARR_DATA[] = { 'n', 'o', 'e', 'm', 'b', 'e', 'd' };
 staticJArray<char16_t,int32_t> nsHtml5Tokenizer::NOEMBED_ARR = { NOEMBED_ARR_DATA, MOZ_ARRAY_LENGTH(NOEMBED_ARR_DATA) };
 static char16_t const NOSCRIPT_ARR_DATA[] = { 'n', 'o', 's', 'c', 'r', 'i', 'p', 't' };
 staticJArray<char16_t,int32_t> nsHtml5Tokenizer::NOSCRIPT_ARR = { NOSCRIPT_ARR_DATA, MOZ_ARRAY_LENGTH(NOSCRIPT_ARR_DATA) };
 static char16_t const NOFRAMES_ARR_DATA[] = { 'n', 'o', 'f', 'r', 'a', 'm', 'e', 's' };
 staticJArray<char16_t,int32_t> nsHtml5Tokenizer::NOFRAMES_ARR = { NOFRAMES_ARR_DATA, MOZ_ARRAY_LENGTH(NOFRAMES_ARR_DATA) };
 
-nsHtml5Tokenizer::nsHtml5Tokenizer(nsHtml5TreeBuilder* tokenHandler,
-                                   bool viewingXmlSource)
-  : tokenHandler(tokenHandler)
-  , encodingDeclarationHandler(nullptr)
-  , charRefBuf(jArray<char16_t, int32_t>::newJArray(32))
-  , bmpChar(jArray<char16_t, int32_t>::newJArray(1))
-  , astralChar(jArray<char16_t, int32_t>::newJArray(2))
-  , containsHyphen(false)
-  , tagName(nullptr)
-  , nonInternedTagName(new nsHtml5ElementName())
-  , attributeName(nullptr)
-  , nonInternedAttributeName(new nsHtml5AttributeName())
-  , doctypeName(nullptr)
-  , publicIdentifier(nullptr)
-  , systemIdentifier(nullptr)
-  , attributes(tokenHandler->HasBuilder() ? new nsHtml5HtmlAttributes(0)
-                                          : nullptr)
-  , newAttributesEachTime(!tokenHandler->HasBuilder())
-  , viewingXmlSource(viewingXmlSource)
+nsHtml5Tokenizer::nsHtml5Tokenizer(nsHtml5TreeBuilder* tokenHandler, bool viewingXmlSource)
+  : tokenHandler(tokenHandler),
+    encodingDeclarationHandler(nullptr),
+    charRefBuf(jArray<char16_t,int32_t>::newJArray(32)),
+    bmpChar(jArray<char16_t,int32_t>::newJArray(1)),
+    astralChar(jArray<char16_t,int32_t>::newJArray(2)),
+    containsHyphen(false),
+    tagName(nullptr),
+    nonInternedTagName(new nsHtml5ElementName()),
+    attributeName(nullptr),
+    nonInternedAttributeName(new nsHtml5AttributeName()),
+    doctypeName(nullptr),
+    publicIdentifier(nullptr),
+    systemIdentifier(nullptr),
+    attributes(tokenHandler->HasBuilder() ? new nsHtml5HtmlAttributes(0) : nullptr),
+    newAttributesEachTime(!tokenHandler->HasBuilder()),
+    viewingXmlSource(viewingXmlSource)
 {
   MOZ_COUNT_CTOR(nsHtml5Tokenizer);
 }
 
 void 
 nsHtml5Tokenizer::setInterner(nsHtml5AtomTable* interner)
 {
   this->interner = interner;
 }
 
-void
-nsHtml5Tokenizer::initLocation(nsHtml5String newPublicId,
-                               nsHtml5String newSystemId)
+void 
+nsHtml5Tokenizer::initLocation(nsHtml5String newPublicId, nsHtml5String newSystemId)
 {
   this->systemId = newSystemId;
   this->publicId = newPublicId;
 }
 
 bool 
 nsHtml5Tokenizer::isViewingXmlSource()
 {
@@ -223,21 +220,20 @@ nsHtml5Tokenizer::emitOrAppendCharRefBuf
   } else {
     if (charRefBufLen > 0) {
       tokenHandler->characters(charRefBuf, 0, charRefBufLen);
       charRefBufLen = 0;
     }
   }
 }
 
-nsHtml5String
+nsHtml5String 
 nsHtml5Tokenizer::strBufToString()
 {
-  nsHtml5String str =
-    nsHtml5Portability::newStringFromBuffer(strBuf, 0, strBufLen, tokenHandler);
+  nsHtml5String str = nsHtml5Portability::newStringFromBuffer(strBuf, 0, strBufLen, tokenHandler);
   clearStrBufAfterUse();
   return str;
 }
 
 void 
 nsHtml5Tokenizer::strBufToDoctypeName()
 {
   doctypeName = nsHtml5Portability::newLocalNameFromBuffer(strBuf, 0, strBufLen, interner);
@@ -284,32 +280,26 @@ nsHtml5Tokenizer::flushChars(char16_t* b
   cstart = INT32_MAX;
 }
 
 void 
 nsHtml5Tokenizer::strBufToElementNameString()
 {
   if (containsHyphen) {
     nsIAtom* annotationName = nsHtml5ElementName::ELT_ANNOTATION_XML->getName();
-    if (nsHtml5Portability::localEqualsBuffer(
-          annotationName, strBuf, 0, strBufLen)) {
+    if (nsHtml5Portability::localEqualsBuffer(annotationName, strBuf, 0, strBufLen)) {
       tagName = nsHtml5ElementName::ELT_ANNOTATION_XML;
     } else {
-      nonInternedTagName->setNameForNonInterned(
-        nsHtml5Portability::newLocalNameFromBuffer(
-          strBuf, 0, strBufLen, interner));
+      nonInternedTagName->setNameForNonInterned(nsHtml5Portability::newLocalNameFromBuffer(strBuf, 0, strBufLen, interner));
       tagName = nonInternedTagName;
     }
   } else {
-    tagName =
-      nsHtml5ElementName::elementNameByBuffer(strBuf, 0, strBufLen, interner);
+    tagName = nsHtml5ElementName::elementNameByBuffer(strBuf, 0, strBufLen, interner);
     if (!tagName) {
-      nonInternedTagName->setNameForNonInterned(
-        nsHtml5Portability::newLocalNameFromBuffer(
-          strBuf, 0, strBufLen, interner));
+      nonInternedTagName->setNameForNonInterned(nsHtml5Portability::newLocalNameFromBuffer(strBuf, 0, strBufLen, interner));
       tagName = nonInternedTagName;
     }
   }
   containsHyphen = false;
   clearStrBufAfterUse();
 }
 
 int32_t 
@@ -346,19 +336,17 @@ nsHtml5Tokenizer::emitCurrentTagToken(bo
   return stateSave;
 }
 
 void 
 nsHtml5Tokenizer::attributeNameComplete()
 {
   attributeName = nsHtml5AttributeName::nameByBuffer(strBuf, 0, strBufLen, interner);
   if (!attributeName) {
-    nonInternedAttributeName->setNameForNonInterned(
-      nsHtml5Portability::newLocalNameFromBuffer(
-        strBuf, 0, strBufLen, interner));
+    nonInternedAttributeName->setNameForNonInterned(nsHtml5Portability::newLocalNameFromBuffer(strBuf, 0, strBufLen, interner));
     attributeName = nonInternedAttributeName;
   }
   clearStrBufAfterUse();
   if (!attributes) {
     attributes = new nsHtml5HtmlAttributes(0);
   }
   if (attributes->contains(attributeName)) {
     errDuplicateAttribute();
@@ -470,27 +458,22 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           }
           switch(c) {
             case '&': {
               flushChars(buf, pos);
               MOZ_ASSERT(!charRefBufLen, "charRefBufLen not reset after previous use!");
               appendCharRefBuf(c);
               setAdditionalAndRememberAmpersandLocation('\0');
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '<': {
               flushChars(buf, pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::TAG_OPEN, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::TAG_OPEN, reconsume, pos);
               NS_HTML5_BREAK(dataloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
               continue;
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
@@ -512,118 +495,97 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           if (c >= 'A' && c <= 'Z') {
             endTag = false;
             clearStrBufBeforeUse();
             appendStrBuf((char16_t) (c + 0x20));
             containsHyphen = false;
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::TAG_NAME, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::TAG_NAME, reconsume, pos);
             NS_HTML5_BREAK(tagopenloop);
           } else if (c >= 'a' && c <= 'z') {
             endTag = false;
             clearStrBufBeforeUse();
             appendStrBuf(c);
             containsHyphen = false;
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::TAG_NAME, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::TAG_NAME, reconsume, pos);
             NS_HTML5_BREAK(tagopenloop);
           }
           switch(c) {
             case '!': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::MARKUP_DECLARATION_OPEN,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::MARKUP_DECLARATION_OPEN, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '/': {
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::CLOSE_TAG_OPEN, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CLOSE_TAG_OPEN, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\?': {
               if (viewingXmlSource) {
-                state = P::transition(mViewSource,
-                                      nsHtml5Tokenizer::PROCESSING_INSTRUCTION,
-                                      reconsume,
-                                      pos);
+                state = P::transition(mViewSource, nsHtml5Tokenizer::PROCESSING_INSTRUCTION, reconsume, pos);
                 NS_HTML5_CONTINUE(stateloop);
               }
               if (P::reportErrors) {
                 errProcessingInstruction();
               }
               clearStrBufBeforeUse();
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errLtGt();
               }
               tokenHandler->characters(nsHtml5Tokenizer::LT_GT, 0, 2);
               cstart = pos + 1;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               if (P::reportErrors) {
                 errBadCharAfterLt(c);
               }
               tokenHandler->characters(nsHtml5Tokenizer::LT_GT, 0, 1);
               cstart = pos;
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         tagopenloop_end: ;
       }
       case TAG_NAME: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\r': {
               silentCarriageReturn();
               strBufToElementNameString();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
               strBufToElementNameString();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_BREAK(tagnameloop);
             }
             case '/': {
               strBufToElementNameString();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SELF_CLOSING_START_TAG,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SELF_CLOSING_START_TAG, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               strBufToElementNameString();
               state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
               if (shouldSuspend) {
                 NS_HTML5_BREAK(stateloop);
               }
@@ -664,20 +626,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '/': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SELF_CLOSING_START_TAG,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SELF_CLOSING_START_TAG, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
               if (shouldSuspend) {
                 NS_HTML5_BREAK(stateloop);
               }
               NS_HTML5_CONTINUE(stateloop);
@@ -695,68 +654,55 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             default: {
               if (c >= 'A' && c <= 'Z') {
                 c += 0x20;
               }
               attributeLine = line;
               clearStrBufBeforeUse();
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::ATTRIBUTE_NAME, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_BREAK(beforeattributenameloop);
             }
           }
         }
         beforeattributenameloop_end: ;
       }
       case ATTRIBUTE_NAME: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\r': {
               silentCarriageReturn();
               attributeNameComplete();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::AFTER_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
               attributeNameComplete();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::AFTER_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '/': {
               attributeNameComplete();
               addAttributeWithoutValue();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SELF_CLOSING_START_TAG,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SELF_CLOSING_START_TAG, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '=': {
               attributeNameComplete();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_VALUE,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_VALUE, reconsume, pos);
               NS_HTML5_BREAK(attributenameloop);
             }
             case '>': {
               attributeNameComplete();
               addAttributeWithoutValue();
               state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
               if (shouldSuspend) {
                 NS_HTML5_BREAK(stateloop);
@@ -801,42 +747,31 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '\"': {
               attributeLine = line;
               clearStrBufBeforeUse();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::ATTRIBUTE_VALUE_DOUBLE_QUOTED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::ATTRIBUTE_VALUE_DOUBLE_QUOTED, reconsume, pos);
               NS_HTML5_BREAK(beforeattributevalueloop);
             }
             case '&': {
               attributeLine = line;
               clearStrBufBeforeUse();
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::ATTRIBUTE_VALUE_UNQUOTED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::ATTRIBUTE_VALUE_UNQUOTED, reconsume, pos);
 
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\'': {
               attributeLine = line;
               clearStrBufBeforeUse();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::ATTRIBUTE_VALUE_SINGLE_QUOTED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::ATTRIBUTE_VALUE_SINGLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errAttributeValueMissing();
               }
               addAttributeWithoutValue();
               state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
@@ -854,20 +789,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               if (P::reportErrors) {
                 errLtOrEqualsOrGraveInUnquotedAttributeOrNull(c);
               }
             }
             default: {
               attributeLine = line;
               clearStrBufBeforeUse();
               appendStrBuf(c);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::ATTRIBUTE_VALUE_UNQUOTED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::ATTRIBUTE_VALUE_UNQUOTED, reconsume, pos);
 
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         beforeattributevalueloop_end: ;
       }
       case ATTRIBUTE_VALUE_DOUBLE_QUOTED: {
@@ -878,33 +810,25 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '\"': {
               addAttributeWithValue();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::AFTER_ATTRIBUTE_VALUE_QUOTED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_ATTRIBUTE_VALUE_QUOTED, reconsume, pos);
               NS_HTML5_BREAK(attributevaluedoublequotedloop);
             }
             case '&': {
               MOZ_ASSERT(!charRefBufLen, "charRefBufLen not reset after previous use!");
               appendCharRefBuf(c);
               setAdditionalAndRememberAmpersandLocation('\"');
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -925,57 +849,45 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\r': {
               silentCarriageReturn();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '/': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SELF_CLOSING_START_TAG,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SELF_CLOSING_START_TAG, reconsume, pos);
               NS_HTML5_BREAK(afterattributevaluequotedloop);
             }
             case '>': {
               state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
               if (shouldSuspend) {
                 NS_HTML5_BREAK(stateloop);
               }
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               if (P::reportErrors) {
                 errNoSpaceBetweenAttributes();
               }
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         afterattributevaluequotedloop_end: ;
       }
       case SELF_CLOSING_START_TAG: {
         if (++pos == endPos) {
@@ -990,20 +902,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             NS_HTML5_CONTINUE(stateloop);
           }
           default: {
             if (P::reportErrors) {
               errSlashNotFollowedByGt();
             }
             reconsume = true;
-            state = P::transition(mViewSource,
-                                  nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                  reconsume,
-                                  pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
         }
       }
       case ATTRIBUTE_VALUE_UNQUOTED: {
         for (; ; ) {
           if (reconsume) {
             reconsume = false;
@@ -1012,45 +921,35 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '\r': {
               silentCarriageReturn();
               addAttributeWithValue();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
               addAttributeWithValue();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '&': {
               MOZ_ASSERT(!charRefBufLen, "charRefBufLen not reset after previous use!");
               appendCharRefBuf(c);
               setAdditionalAndRememberAmpersandLocation('>');
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               addAttributeWithValue();
               state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
               if (shouldSuspend) {
                 NS_HTML5_BREAK(stateloop);
               }
@@ -1092,27 +991,21 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '/': {
               addAttributeWithoutValue();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SELF_CLOSING_START_TAG,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SELF_CLOSING_START_TAG, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '=': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_ATTRIBUTE_VALUE,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_VALUE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               addAttributeWithoutValue();
               state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
               if (shouldSuspend) {
                 NS_HTML5_BREAK(stateloop);
               }
@@ -1130,68 +1023,59 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             default: {
               addAttributeWithoutValue();
               if (c >= 'A' && c <= 'Z') {
                 c += 0x20;
               }
               clearStrBufBeforeUse();
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::ATTRIBUTE_NAME, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::ATTRIBUTE_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
       }
       case MARKUP_DECLARATION_OPEN: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
               clearStrBufBeforeUse();
               appendStrBuf(c);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::MARKUP_DECLARATION_HYPHEN,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::MARKUP_DECLARATION_HYPHEN, reconsume, pos);
               NS_HTML5_BREAK(markupdeclarationopenloop);
             }
             case 'd':
             case 'D': {
               clearStrBufBeforeUse();
               appendStrBuf(c);
               index = 0;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::MARKUP_DECLARATION_OCTYPE,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::MARKUP_DECLARATION_OCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '[': {
               if (tokenHandler->cdataSectionAllowed()) {
                 clearStrBufBeforeUse();
                 appendStrBuf(c);
                 index = 0;
-                state = P::transition(
-                  mViewSource, nsHtml5Tokenizer::CDATA_START, reconsume, pos);
+                state = P::transition(mViewSource, nsHtml5Tokenizer::CDATA_START, reconsume, pos);
                 NS_HTML5_CONTINUE(stateloop);
               }
             }
             default: {
               if (P::reportErrors) {
                 errBogusComment();
               }
               clearStrBufBeforeUse();
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         markupdeclarationopenloop_end: ;
       }
       case MARKUP_DECLARATION_HYPHEN: {
         for (; ; ) {
@@ -1200,95 +1084,83 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\0': {
               NS_HTML5_BREAK(stateloop);
             }
             case '-': {
               clearStrBufAfterOneHyphen();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT_START, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT_START, reconsume, pos);
               NS_HTML5_BREAK(markupdeclarationhyphenloop);
             }
             default: {
               if (P::reportErrors) {
                 errBogusComment();
               }
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         markupdeclarationhyphenloop_end: ;
       }
       case COMMENT_START: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
               appendStrBuf(c);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::COMMENT_START_DASH,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT_START_DASH, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errPrematureEndOfComment();
               }
               emitComment(0, pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_BREAK(commentstartloop);
             }
             case '\0': {
               c = 0xfffd;
             }
             default: {
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_BREAK(commentstartloop);
             }
           }
         }
         commentstartloop_end: ;
       }
       case COMMENT: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
               appendStrBuf(c);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::COMMENT_END_DASH,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT_END_DASH, reconsume, pos);
               NS_HTML5_BREAK(commentloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -1309,179 +1181,158 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT_END, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT_END, reconsume, pos);
               NS_HTML5_BREAK(commentenddashloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               c = 0xfffd;
             }
             default: {
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         commentenddashloop_end: ;
       }
       case COMMENT_END: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '>': {
               emitComment(2, pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '-': {
               adjustDoubleHyphenAndAppendToStrBufAndErr(c);
               continue;
             }
             case '\r': {
               adjustDoubleHyphenAndAppendToStrBufCarriageReturn();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               adjustDoubleHyphenAndAppendToStrBufLineFeed();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '!': {
               if (P::reportErrors) {
                 errHyphenHyphenBang();
               }
               appendStrBuf(c);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::COMMENT_END_BANG,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT_END_BANG, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               c = 0xfffd;
             }
             default: {
               adjustDoubleHyphenAndAppendToStrBufAndErr(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
 
       }
       case COMMENT_END_BANG: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '>': {
               emitComment(3, pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '-': {
               appendStrBuf(c);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::COMMENT_END_DASH,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT_END_DASH, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
               continue;
             }
             case '\0': {
               c = 0xfffd;
             }
             default: {
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
       }
       case COMMENT_START_DASH: {
         if (++pos == endPos) {
           NS_HTML5_BREAK(stateloop);
         }
         c = checkChar(buf, pos);
         switch(c) {
           case '-': {
             appendStrBuf(c);
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::COMMENT_END, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT_END, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           case '>': {
             if (P::reportErrors) {
               errPrematureEndOfComment();
             }
             emitComment(1, pos);
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           case '\r': {
             appendStrBufCarriageReturn();
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
             NS_HTML5_BREAK(stateloop);
           }
           case '\n': {
             appendStrBufLineFeed();
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           case '\0': {
             c = 0xfffd;
           }
           default: {
             appendStrBuf(c);
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::COMMENT, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
         }
       }
       case CDATA_START: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
@@ -1490,28 +1341,26 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           if (index < 6) {
             if (c == nsHtml5Tokenizer::CDATA_LSQB[index]) {
               appendStrBuf(c);
             } else {
               if (P::reportErrors) {
                 errBogusComment();
               }
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             index++;
             continue;
           } else {
             clearStrBufAfterUse();
             cstart = pos;
             reconsume = true;
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::CDATA_SECTION, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::CDATA_SECTION, reconsume, pos);
             break;
           }
         }
       }
       case CDATA_SECTION: {
         for (; ; ) {
           if (reconsume) {
             reconsume = false;
@@ -1519,18 +1368,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case ']': {
               flushChars(buf, pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::CDATA_RSQB, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CDATA_RSQB, reconsume, pos);
               NS_HTML5_BREAK(cdatasectionloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
               continue;
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
@@ -1549,26 +1397,24 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
       case CDATA_RSQB: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case ']': {
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::CDATA_RSQB_RSQB, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CDATA_RSQB_RSQB, reconsume, pos);
               NS_HTML5_BREAK(cdatarsqb);
             }
             default: {
               tokenHandler->characters(nsHtml5Tokenizer::RSQB_RSQB, 0, 1);
               cstart = pos;
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::CDATA_SECTION, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CDATA_SECTION, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         cdatarsqb_end: ;
       }
       case CDATA_RSQB_RSQB: {
         for (; ; ) {
@@ -1578,26 +1424,24 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           c = checkChar(buf, pos);
           switch(c) {
             case ']': {
               tokenHandler->characters(nsHtml5Tokenizer::RSQB_RSQB, 0, 1);
               continue;
             }
             case '>': {
               cstart = pos + 1;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               tokenHandler->characters(nsHtml5Tokenizer::RSQB_RSQB, 0, 2);
               cstart = pos;
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::CDATA_SECTION, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CDATA_SECTION, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
 
       }
       case ATTRIBUTE_VALUE_SINGLE_QUOTED: {
         for (; ; ) {
@@ -1607,33 +1451,25 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '\'': {
               addAttributeWithValue();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::AFTER_ATTRIBUTE_VALUE_QUOTED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_ATTRIBUTE_VALUE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '&': {
               MOZ_ASSERT(!charRefBufLen, "charRefBufLen not reset after previous use!");
               appendCharRefBuf(c);
               setAdditionalAndRememberAmpersandLocation('\'');
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE, reconsume, pos);
               NS_HTML5_BREAK(attributevaluesinglequotedloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -1671,18 +1507,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               cstart = pos;
             }
             reconsume = true;
             state = P::transition(mViewSource, returnState, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           case '#': {
             appendCharRefBuf('#');
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::CONSUME_NCR, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::CONSUME_NCR, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           default: {
             if (c == additional) {
               emitOrAppendCharRefBuf(returnState);
               reconsume = true;
               state = P::transition(mViewSource, returnState, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
@@ -1699,21 +1534,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               if (!(returnState & DATA_AND_RCDATA_MASK)) {
                 cstart = pos;
               }
               reconsume = true;
               state = P::transition(mViewSource, returnState, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             appendCharRefBuf(c);
-            state =
-              P::transition(mViewSource,
-                            nsHtml5Tokenizer::CHARACTER_REFERENCE_HILO_LOOKUP,
-                            reconsume,
-                            pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::CHARACTER_REFERENCE_HILO_LOOKUP, reconsume, pos);
           }
         }
       }
       case CHARACTER_REFERENCE_HILO_LOOKUP: {
         {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
@@ -1741,20 +1572,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             NS_HTML5_CONTINUE(stateloop);
           }
           appendCharRefBuf(c);
           lo = hilo & 0xFFFF;
           hi = hilo >> 16;
           entCol = -1;
           candidate = -1;
           charRefBufMark = 0;
-          state = P::transition(mViewSource,
-                                nsHtml5Tokenizer::CHARACTER_REFERENCE_TAIL,
-                                reconsume,
-                                pos);
+          state = P::transition(mViewSource, nsHtml5Tokenizer::CHARACTER_REFERENCE_TAIL, reconsume, pos);
         }
       }
       case CHARACTER_REFERENCE_TAIL: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
@@ -1801,16 +1629,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               charRefBufMark = charRefBufLen;
             }
             NS_HTML5_BREAK(outer);
           }
           if (hi < lo) {
             NS_HTML5_BREAK(outer);
           }
           appendCharRefBuf(c);
+          continue;
         }
         outer_end: ;
         if (candidate == -1) {
           if (P::reportErrors) {
             errNoNamedCharacterMatch();
           }
           emitOrAppendCharRefBuf(returnState);
           if (!(returnState & DATA_AND_RCDATA_MASK)) {
@@ -1879,24 +1708,22 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
         }
         c = checkChar(buf, pos);
         value = 0;
         seenDigits = false;
         switch(c) {
           case 'x':
           case 'X': {
             appendCharRefBuf(c);
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::HEX_NCR_LOOP, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::HEX_NCR_LOOP, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           default: {
             reconsume = true;
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::DECIMAL_NRC_LOOP, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::DECIMAL_NRC_LOOP, reconsume, pos);
           }
         }
       }
       case DECIMAL_NRC_LOOP: {
         for (; ; ) {
           if (reconsume) {
             reconsume = false;
           } else {
@@ -1913,20 +1740,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               value += c - '0';
             }
             continue;
           } else if (c == ';') {
             if (seenDigits) {
               if (!(returnState & DATA_AND_RCDATA_MASK)) {
                 cstart = pos + 1;
               }
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::HANDLE_NCR_VALUE,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::HANDLE_NCR_VALUE, reconsume, pos);
               NS_HTML5_BREAK(decimalloop);
             } else {
               if (P::reportErrors) {
                 errNoDigitsInNCR();
               }
               appendCharRefBuf(';');
               emitOrAppendCharRefBuf(returnState);
               if (!(returnState & DATA_AND_RCDATA_MASK)) {
@@ -1950,20 +1774,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             } else {
               if (P::reportErrors) {
                 errCharRefLacksSemicolon();
               }
               if (!(returnState & DATA_AND_RCDATA_MASK)) {
                 cstart = pos;
               }
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::HANDLE_NCR_VALUE,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::HANDLE_NCR_VALUE, reconsume, pos);
               NS_HTML5_BREAK(decimalloop);
             }
           }
         }
         decimalloop_end: ;
       }
       case HANDLE_NCR_VALUE: {
         charRefBufLen = 0;
@@ -1999,20 +1820,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               value += c - 'a' + 10;
             }
             continue;
           } else if (c == ';') {
             if (seenDigits) {
               if (!(returnState & DATA_AND_RCDATA_MASK)) {
                 cstart = pos + 1;
               }
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::HANDLE_NCR_VALUE,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::HANDLE_NCR_VALUE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             } else {
               if (P::reportErrors) {
                 errNoDigitsInNCR();
               }
               appendCharRefBuf(';');
               emitOrAppendCharRefBuf(returnState);
               if (!(returnState & DATA_AND_RCDATA_MASK)) {
@@ -2036,20 +1854,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             } else {
               if (P::reportErrors) {
                 errCharRefLacksSemicolon();
               }
               if (!(returnState & DATA_AND_RCDATA_MASK)) {
                 cstart = pos;
               }
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::HANDLE_NCR_VALUE,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::HANDLE_NCR_VALUE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
       }
       case PLAINTEXT: {
         for (; ; ) {
           if (reconsume) {
@@ -2085,65 +1900,60 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
         }
         c = checkChar(buf, pos);
         switch(c) {
           case '>': {
             if (P::reportErrors) {
               errLtSlashGt();
             }
             cstart = pos + 1;
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           case '\r': {
             silentCarriageReturn();
             if (P::reportErrors) {
               errGarbageAfterLtSlash();
             }
             clearStrBufBeforeUse();
             appendStrBuf('\n');
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
             NS_HTML5_BREAK(stateloop);
           }
           case '\n': {
             silentLineFeed();
             if (P::reportErrors) {
               errGarbageAfterLtSlash();
             }
             clearStrBufBeforeUse();
             appendStrBuf(c);
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           case '\0': {
             c = 0xfffd;
           }
           default: {
             if (c >= 'A' && c <= 'Z') {
               c += 0x20;
             }
             if (c >= 'a' && c <= 'z') {
               endTag = true;
               clearStrBufBeforeUse();
               appendStrBuf(c);
               containsHyphen = false;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::TAG_NAME, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::TAG_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             } else {
               if (P::reportErrors) {
                 errGarbageAfterLtSlash();
               }
               clearStrBufBeforeUse();
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
       }
       case RCDATA: {
         for (; ; ) {
           if (reconsume) {
@@ -2156,31 +1966,23 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           }
           switch(c) {
             case '&': {
               flushChars(buf, pos);
               MOZ_ASSERT(!charRefBufLen, "charRefBufLen not reset after previous use!");
               appendCharRefBuf(c);
               setAdditionalAndRememberAmpersandLocation('\0');
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::CONSUME_CHARACTER_REFERENCE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '<': {
               flushChars(buf, pos);
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::RAWTEXT_RCDATA_LESS_THAN_SIGN,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::RAWTEXT_RCDATA_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
               continue;
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
@@ -2205,21 +2007,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '<': {
               flushChars(buf, pos);
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::RAWTEXT_RCDATA_LESS_THAN_SIGN,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::RAWTEXT_RCDATA_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_BREAK(rawtextloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
               continue;
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
@@ -2240,20 +2038,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '/': {
               index = 0;
               clearStrBufBeforeUse();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::NON_DATA_END_TAG_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::NON_DATA_END_TAG_NAME, reconsume, pos);
               NS_HTML5_BREAK(rawtextrcdatalessthansignloop);
             }
             default: {
               tokenHandler->characters(nsHtml5Tokenizer::LT_GT, 0, 1);
               cstart = pos;
               reconsume = true;
               state = P::transition(mViewSource, returnState, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
@@ -2287,41 +2082,32 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             continue;
           } else {
             endTag = true;
             tagName = endTagExpectation;
             switch(c) {
               case '\r': {
                 silentCarriageReturn();
                 clearStrBufAfterUse();
-                state = P::transition(mViewSource,
-                                      nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                      reconsume,
-                                      pos);
+                state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
                 NS_HTML5_BREAK(stateloop);
               }
               case '\n': {
                 silentLineFeed();
               }
               case ' ':
               case '\t':
               case '\f': {
                 clearStrBufAfterUse();
-                state = P::transition(mViewSource,
-                                      nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME,
-                                      reconsume,
-                                      pos);
+                state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_ATTRIBUTE_NAME, reconsume, pos);
                 NS_HTML5_CONTINUE(stateloop);
               }
               case '/': {
                 clearStrBufAfterUse();
-                state = P::transition(mViewSource,
-                                      nsHtml5Tokenizer::SELF_CLOSING_START_TAG,
-                                      reconsume,
-                                      pos);
+                state = P::transition(mViewSource, nsHtml5Tokenizer::SELF_CLOSING_START_TAG, reconsume, pos);
                 NS_HTML5_CONTINUE(stateloop);
               }
               case '>': {
                 clearStrBufAfterUse();
                 state = P::transition(mViewSource, emitCurrentTagToken(false, pos), reconsume, pos);
                 if (shouldSuspend) {
                   NS_HTML5_BREAK(stateloop);
                 }
@@ -2350,26 +2136,22 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '>': {
               emitComment(0, pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '-': {
               appendStrBuf(c);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BOGUS_COMMENT_HYPHEN,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT_HYPHEN, reconsume, pos);
               NS_HTML5_BREAK(boguscommentloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -2382,52 +2164,47 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               appendStrBuf(c);
               continue;
             }
           }
         }
         boguscommentloop_end: ;
       }
       case BOGUS_COMMENT_HYPHEN: {
-      boguscommenthyphenloop:
-        for (;;) {
+        boguscommenthyphenloop: for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '>': {
               emitComment(0, pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '-': {
               appendSecondHyphenToBogusComment();
               NS_HTML5_CONTINUE(boguscommenthyphenloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               c = 0xfffd;
             }
             default: {
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
 
       }
       case SCRIPT_DATA: {
         for (; ; ) {
@@ -2438,21 +2215,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '<': {
               flushChars(buf, pos);
               returnState = state;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_LESS_THAN_SIGN,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_BREAK(scriptdataloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
               continue;
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
@@ -2473,87 +2246,70 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '/': {
               index = 0;
               clearStrBufBeforeUse();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::NON_DATA_END_TAG_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::NON_DATA_END_TAG_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '!': {
               tokenHandler->characters(nsHtml5Tokenizer::LT_GT, 0, 1);
               cstart = pos;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPE_START,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPE_START, reconsume, pos);
               NS_HTML5_BREAK(scriptdatalessthansignloop);
             }
             default: {
               tokenHandler->characters(nsHtml5Tokenizer::LT_GT, 0, 1);
               cstart = pos;
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdatalessthansignloop_end: ;
       }
       case SCRIPT_DATA_ESCAPE_START: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_ESCAPE_START_DASH,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPE_START_DASH, reconsume, pos);
               NS_HTML5_BREAK(scriptdataescapestartloop);
             }
             default: {
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdataescapestartloop_end: ;
       }
       case SCRIPT_DATA_ESCAPE_START_DASH: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_DASH_DASH,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_DASH_DASH, reconsume, pos);
               NS_HTML5_BREAK(scriptdataescapestartdashloop);
             }
             default: {
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdataescapestartdashloop_end: ;
       }
       case SCRIPT_DATA_ESCAPED_DASH_DASH: {
         for (; ; ) {
@@ -2562,52 +2318,38 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
               continue;
             }
             case '<': {
               flushChars(buf, pos);
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(scriptdataescapeddashdashloop);
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             default: {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(scriptdataescapeddashdashloop);
             }
           }
         }
         scriptdataescapeddashdashloop_end: ;
       }
       case SCRIPT_DATA_ESCAPED: {
         for (; ; ) {
@@ -2616,29 +2358,22 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           } else {
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '-': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_DASH,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_DASH, reconsume, pos);
               NS_HTML5_BREAK(scriptdataescapedloop);
             }
             case '<': {
               flushChars(buf, pos);
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
               continue;
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
@@ -2657,56 +2392,39 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
       case SCRIPT_DATA_ESCAPED_DASH: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_DASH_DASH,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_DASH_DASH, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '<': {
               flushChars(buf, pos);
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_BREAK(scriptdataescapeddashloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             default: {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdataescapeddashloop_end: ;
       }
       case SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: {
         for (; ; ) {
@@ -2714,42 +2432,32 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '/': {
               index = 0;
               clearStrBufBeforeUse();
               returnState = nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::NON_DATA_END_TAG_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::NON_DATA_END_TAG_NAME, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case 'S':
             case 's': {
               tokenHandler->characters(nsHtml5Tokenizer::LT_GT, 0, 1);
               cstart = pos;
               index = 1;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPE_START,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPE_START, reconsume, pos);
               NS_HTML5_BREAK(scriptdataescapedlessthanloop);
             }
             default: {
               tokenHandler->characters(nsHtml5Tokenizer::LT_GT, 0, 1);
               cstart = pos;
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdataescapedlessthanloop_end: ;
       }
       case SCRIPT_DATA_DOUBLE_ESCAPE_START: {
         for (; ; ) {
@@ -2760,56 +2468,42 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           MOZ_ASSERT(index > 0);
           if (index < 6) {
             char16_t folded = c;
             if (c >= 'A' && c <= 'Z') {
               folded += 0x20;
             }
             if (folded != nsHtml5Tokenizer::SCRIPT_ARR[index]) {
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             index++;
             continue;
           }
           switch(c) {
             case '\r': {
               emitCarriageReturn(buf, pos);
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f':
             case '/':
             case '>': {
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(scriptdatadoubleescapestartloop);
             }
             default: {
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdatadoubleescapestartloop_end: ;
       }
       case SCRIPT_DATA_DOUBLE_ESCAPED: {
         for (; ; ) {
@@ -2818,29 +2512,21 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           } else {
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '-': {
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_DASH,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_DASH, reconsume, pos);
               NS_HTML5_BREAK(scriptdatadoubleescapedloop);
             }
             case '<': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
               continue;
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
@@ -2859,58 +2545,38 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
       case SCRIPT_DATA_DOUBLE_ESCAPED_DASH: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH, reconsume, pos);
               NS_HTML5_BREAK(scriptdatadoubleescapeddashloop);
             }
             case '<': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             default: {
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdatadoubleescapeddashloop_end: ;
       }
       case SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: {
         for (; ; ) {
@@ -2918,84 +2584,59 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '-': {
               continue;
             }
             case '<': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN, reconsume, pos);
               NS_HTML5_BREAK(scriptdatadoubleescapeddashdashloop);
             }
             case '>': {
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               emitReplacementCharacter(buf, pos);
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               emitCarriageReturn(buf, pos);
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             default: {
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdatadoubleescapeddashdashloop_end: ;
       }
       case SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '/': {
               index = 0;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPE_END,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPE_END, reconsume, pos);
               NS_HTML5_BREAK(scriptdatadoubleescapedlessthanloop);
             }
             default: {
               reconsume = true;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         scriptdatadoubleescapedlessthanloop_end: ;
       }
       case SCRIPT_DATA_DOUBLE_ESCAPE_END: {
         for (; ; ) {
@@ -3005,56 +2646,42 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           c = checkChar(buf, pos);
           if (index < 6) {
             char16_t folded = c;
             if (c >= 'A' && c <= 'Z') {
               folded += 0x20;
             }
             if (folded != nsHtml5Tokenizer::SCRIPT_ARR[index]) {
               reconsume = true;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             index++;
             continue;
           }
           switch(c) {
             case '\r': {
               emitCarriageReturn(buf, pos);
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f':
             case '/':
             case '>': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               reconsume = true;
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::SCRIPT_DATA_DOUBLE_ESCAPED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
 
       }
       case MARKUP_DECLARATION_OCTYPE: {
         for (; ; ) {
@@ -3069,26 +2696,24 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             if (folded == nsHtml5Tokenizer::OCTYPE[index]) {
               appendStrBuf(c);
             } else {
               if (P::reportErrors) {
                 errBogusComment();
               }
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_COMMENT, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             index++;
             continue;
           } else {
             reconsume = true;
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::DOCTYPE, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE, reconsume, pos);
             NS_HTML5_BREAK(markupdeclarationdoctypeloop);
           }
         }
         markupdeclarationdoctypeloop_end: ;
       }
       case DOCTYPE: {
         for (; ; ) {
           if (reconsume) {
@@ -3098,43 +2723,34 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           initDoctypeFields();
           switch(c) {
             case '\r': {
               silentCarriageReturn();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_DOCTYPE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_DOCTYPE_NAME, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_DOCTYPE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_DOCTYPE_NAME, reconsume, pos);
               NS_HTML5_BREAK(doctypeloop);
             }
             default: {
               if (P::reportErrors) {
                 errMissingSpaceBeforeDoctypeName();
               }
               reconsume = true;
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::BEFORE_DOCTYPE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_DOCTYPE_NAME, reconsume, pos);
               NS_HTML5_BREAK(doctypeloop);
             }
           }
         }
         doctypeloop_end: ;
       }
       case BEFORE_DOCTYPE_NAME: {
         for (; ; ) {
@@ -3160,71 +2776,62 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
               continue;
             }
             case '>': {
               if (P::reportErrors) {
                 errNamelessDoctype();
               }
               forceQuirks = true;
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               c = 0xfffd;
             }
             default: {
               if (c >= 'A' && c <= 'Z') {
                 c += 0x20;
               }
               clearStrBufBeforeUse();
               appendStrBuf(c);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DOCTYPE_NAME, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_NAME, reconsume, pos);
               NS_HTML5_BREAK(beforedoctypenameloop);
             }
           }
         }
         beforedoctypenameloop_end: ;
       }
       case DOCTYPE_NAME: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\r': {
               silentCarriageReturn();
               strBufToDoctypeName();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::AFTER_DOCTYPE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_NAME, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
               strBufToDoctypeName();
-              state = P::transition(mViewSource,
-                                    nsHtml5Tokenizer::AFTER_DOCTYPE_NAME,
-                                    reconsume,
-                                    pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_NAME, reconsume, pos);
               NS_HTML5_BREAK(doctypenameloop);
             }
             case '>': {
               strBufToDoctypeName();
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\0': {
               c = 0xfffd;
             }
             default: {
               if (c >= 'A' && c <= 'Z') {
                 c += 0x0020;
@@ -3252,38 +2859,34 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '>': {
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case 'p':
             case 'P': {
               index = 0;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DOCTYPE_UBLIC, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_UBLIC, reconsume, pos);
               NS_HTML5_BREAK(afterdoctypenameloop);
             }
             case 's':
             case 'S': {
               index = 0;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DOCTYPE_YSTEM, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_YSTEM, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctype();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         afterdoctypenameloop_end: ;
       }
       case DOCTYPE_UBLIC: {
         for (; ; ) {
@@ -3294,29 +2897,24 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           if (index < 5) {
             char16_t folded = c;
             if (c >= 'A' && c <= 'Z') {
               folded += 0x20;
             }
             if (folded != nsHtml5Tokenizer::UBLIC[index]) {
               bogusDoctype();
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             index++;
             continue;
           } else {
             reconsume = true;
-            state =
-              P::transition(mViewSource,
-                            nsHtml5Tokenizer::AFTER_DOCTYPE_PUBLIC_KEYWORD,
-                            reconsume,
-                            pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_PUBLIC_KEYWORD, reconsume, pos);
             NS_HTML5_BREAK(doctypeublicloop);
           }
         }
         doctypeublicloop_end: ;
       }
       case AFTER_DOCTYPE_PUBLIC_KEYWORD: {
         for (; ; ) {
           if (reconsume) {
@@ -3325,74 +2923,56 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '\r': {
               silentCarriageReturn();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::BEFORE_DOCTYPE_PUBLIC_IDENTIFIER,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_DOCTYPE_PUBLIC_IDENTIFIER, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::BEFORE_DOCTYPE_PUBLIC_IDENTIFIER,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_DOCTYPE_PUBLIC_IDENTIFIER, reconsume, pos);
               NS_HTML5_BREAK(afterdoctypepublickeywordloop);
             }
             case '\"': {
               if (P::reportErrors) {
                 errNoSpaceBetweenDoctypePublicKeywordAndQuote();
               }
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\'': {
               if (P::reportErrors) {
                 errNoSpaceBetweenDoctypePublicKeywordAndQuote();
               }
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errExpectedPublicId();
               }
               forceQuirks = true;
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctype();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         afterdoctypepublickeywordloop_end: ;
       }
       case BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: {
         for (; ; ) {
@@ -3410,77 +2990,62 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '\"': {
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED, reconsume, pos);
               NS_HTML5_BREAK(beforedoctypepublicidentifierloop);
             }
             case '\'': {
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errExpectedPublicId();
               }
               forceQuirks = true;
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctype();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         beforedoctypepublicidentifierloop_end: ;
       }
       case DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\"': {
               publicIdentifier = strBufToString();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::AFTER_DOCTYPE_PUBLIC_IDENTIFIER,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_PUBLIC_IDENTIFIER, reconsume, pos);
               NS_HTML5_BREAK(doctypepublicidentifierdoublequotedloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errGtInPublicId();
               }
               forceQuirks = true;
               publicIdentifier = strBufToString();
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -3501,70 +3066,52 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\r': {
               silentCarriageReturn();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS, reconsume, pos);
               NS_HTML5_BREAK(afterdoctypepublicidentifierloop);
             }
             case '>': {
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\"': {
               if (P::reportErrors) {
                 errNoSpaceBetweenPublicAndSystemIds();
               }
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\'': {
               if (P::reportErrors) {
                 errNoSpaceBetweenPublicAndSystemIds();
               }
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctype();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         afterdoctypepublicidentifierloop_end: ;
       }
       case BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: {
         for (; ; ) {
@@ -3582,73 +3129,58 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '>': {
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\"': {
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED, reconsume, pos);
               NS_HTML5_BREAK(betweendoctypepublicandsystemidentifiersloop);
             }
             case '\'': {
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctype();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         betweendoctypepublicandsystemidentifiersloop_end: ;
       }
       case DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\"': {
               systemIdentifier = strBufToString();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::AFTER_DOCTYPE_SYSTEM_IDENTIFIER,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_SYSTEM_IDENTIFIER, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errGtInSystemId();
               }
               forceQuirks = true;
               systemIdentifier = strBufToString();
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -3681,24 +3213,22 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '>': {
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctypeWithoutQuirks();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_BREAK(afterdoctypesystemidentifierloop);
             }
           }
         }
         afterdoctypesystemidentifierloop_end: ;
       }
       case BOGUS_DOCTYPE: {
         for (; ; ) {
@@ -3708,18 +3238,17 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '>': {
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               silentCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
@@ -3739,29 +3268,24 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
           if (index < 5) {
             char16_t folded = c;
             if (c >= 'A' && c <= 'Z') {
               folded += 0x20;
             }
             if (folded != nsHtml5Tokenizer::YSTEM[index]) {
               bogusDoctype();
               reconsume = true;
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             index++;
             NS_HTML5_CONTINUE(stateloop);
           } else {
             reconsume = true;
-            state =
-              P::transition(mViewSource,
-                            nsHtml5Tokenizer::AFTER_DOCTYPE_SYSTEM_KEYWORD,
-                            reconsume,
-                            pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_SYSTEM_KEYWORD, reconsume, pos);
             NS_HTML5_BREAK(doctypeystemloop);
           }
         }
         doctypeystemloop_end: ;
       }
       case AFTER_DOCTYPE_SYSTEM_KEYWORD: {
         for (; ; ) {
           if (reconsume) {
@@ -3770,74 +3294,56 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             if (++pos == endPos) {
               NS_HTML5_BREAK(stateloop);
             }
             c = checkChar(buf, pos);
           }
           switch(c) {
             case '\r': {
               silentCarriageReturn();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::BEFORE_DOCTYPE_SYSTEM_IDENTIFIER,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_DOCTYPE_SYSTEM_IDENTIFIER, reconsume, pos);
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               silentLineFeed();
             }
             case ' ':
             case '\t':
             case '\f': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::BEFORE_DOCTYPE_SYSTEM_IDENTIFIER,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BEFORE_DOCTYPE_SYSTEM_IDENTIFIER, reconsume, pos);
               NS_HTML5_BREAK(afterdoctypesystemkeywordloop);
             }
             case '\"': {
               if (P::reportErrors) {
                 errNoSpaceBetweenDoctypeSystemKeywordAndQuote();
               }
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\'': {
               if (P::reportErrors) {
                 errNoSpaceBetweenDoctypeSystemKeywordAndQuote();
               }
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errExpectedPublicId();
               }
               forceQuirks = true;
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctype();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         afterdoctypesystemkeywordloop_end: ;
       }
       case BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: {
         for (; ; ) {
@@ -3855,77 +3361,62 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
             }
             case ' ':
             case '\t':
             case '\f': {
               continue;
             }
             case '\"': {
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\'': {
               clearStrBufBeforeUse();
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED, reconsume, pos);
               NS_HTML5_BREAK(beforedoctypesystemidentifierloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errExpectedSystemId();
               }
               forceQuirks = true;
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             default: {
               bogusDoctype();
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::BOGUS_DOCTYPE, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
           }
         }
         beforedoctypesystemidentifierloop_end: ;
       }
       case DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\'': {
               systemIdentifier = strBufToString();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::AFTER_DOCTYPE_SYSTEM_IDENTIFIER,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_SYSTEM_IDENTIFIER, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errGtInSystemId();
               }
               forceQuirks = true;
               systemIdentifier = strBufToString();
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -3945,32 +3436,27 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\'': {
               publicIdentifier = strBufToString();
-              state =
-                P::transition(mViewSource,
-                              nsHtml5Tokenizer::AFTER_DOCTYPE_PUBLIC_IDENTIFIER,
-                              reconsume,
-                              pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::AFTER_DOCTYPE_PUBLIC_IDENTIFIER, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '>': {
               if (P::reportErrors) {
                 errGtInPublicId();
               }
               forceQuirks = true;
               publicIdentifier = strBufToString();
               emitDoctypeToken(pos);
-              state = P::transition(
-                mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
               NS_HTML5_CONTINUE(stateloop);
             }
             case '\r': {
               appendStrBufCarriageReturn();
               NS_HTML5_BREAK(stateloop);
             }
             case '\n': {
               appendStrBufLineFeed();
@@ -3989,46 +3475,38 @@ nsHtml5Tokenizer::stateLoop(int32_t stat
       case PROCESSING_INSTRUCTION: {
         for (; ; ) {
           if (++pos == endPos) {
             NS_HTML5_BREAK(stateloop);
           }
           c = checkChar(buf, pos);
           switch(c) {
             case '\?': {
-              state = P::transition(
-                mViewSource,
-                nsHtml5Tokenizer::PROCESSING_INSTRUCTION_QUESTION_MARK,
-                reconsume,
-                pos);
+              state = P::transition(mViewSource, nsHtml5Tokenizer::PROCESSING_INSTRUCTION_QUESTION_MARK, reconsume, pos);
               NS_HTML5_BREAK(processinginstructionloop);
             }
             default: {
               continue;
             }
           }
         }
         processinginstructionloop_end: ;
       }
       case PROCESSING_INSTRUCTION_QUESTION_MARK: {
         if (++pos == endPos) {
           NS_HTML5_BREAK(stateloop);
         }
         c = checkChar(buf, pos);
         switch(c) {
           case '>': {
-            state = P::transition(
-              mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::DATA, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
           default: {
-            state = P::transition(mViewSource,
-                                  nsHtml5Tokenizer::PROCESSING_INSTRUCTION,
-                                  reconsume,
-                                  pos);
+            state = P::transition(mViewSource, nsHtml5Tokenizer::PROCESSING_INSTRUCTION, reconsume, pos);
             NS_HTML5_CONTINUE(stateloop);
           }
         }
       }
     }
   }
   stateloop_end: ;
   flushChars(buf, pos);
@@ -4113,17 +3591,17 @@ nsHtml5Tokenizer::handleNcrValue(int32_t
       errNcrSurrogate();
       emitOrAppendOne(nsHtml5Tokenizer::REPLACEMENT_CHARACTER, returnState);
     } else {
       char16_t ch = (char16_t) value;
       bmpChar[0] = ch;
       emitOrAppendOne(bmpChar, returnState);
     }
   } else if (value <= 0x10FFFF) {
-    astralChar[0] = (char16_t)(nsHtml5Tokenizer::LEAD_OFFSET + (value >> 10));
+    astralChar[0] = (char16_t) (nsHtml5Tokenizer::LEAD_OFFSET + (value >> 10));
     astralChar[1] = (char16_t) (0xDC00 + (value & 0x3FF));
     emitOrAppendTwo(astralChar, returnState);
   } else {
     errNcrOutOfRange();
     emitOrAppendOne(nsHtml5Tokenizer::REPLACEMENT_CHARACTER, returnState);
   }
 }
 
@@ -4349,16 +3827,17 @@ nsHtml5Tokenizer::eof()
             } else {
               NS_HTML5_BREAK(loloop);
             }
           }
           loloop_end: ;
           if (hi < lo) {
             NS_HTML5_BREAK(outer);
           }
+          continue;
         }
         outer_end: ;
         if (candidate == -1) {
           errNoNamedCharacterMatch();
           emitOrAppendCharRefBuf(returnState);
           state = returnState;
           NS_HTML5_CONTINUE(eofloop);
         } else {
@@ -4428,31 +3907,32 @@ nsHtml5Tokenizer::eof()
       case DATA:
       default: {
         NS_HTML5_BREAK(eofloop);
       }
     }
   }
   eofloop_end: ;
   tokenHandler->eof();
+  return;
 }
 
 void 
 nsHtml5Tokenizer::emitDoctypeToken(int32_t pos)
 {
   cstart = pos + 1;
   tokenHandler->doctype(doctypeName, publicIdentifier, systemIdentifier, forceQuirks);
   doctypeName = nullptr;
   publicIdentifier.Release();
   publicIdentifier = nullptr;
   systemIdentifier.Release();
   systemIdentifier = nullptr;
 }
 
-bool
+bool 
 nsHtml5Tokenizer::internalEncodingDeclaration(nsHtml5String internalCharset)
 {
   if (encodingDeclarationHandler) {
     return encodingDeclarationHandler->internalEncodingDeclaration(internalCharset);
   }
   return false;
 }
 
@@ -4590,29 +4070,25 @@ nsHtml5Tokenizer::loadState(nsHtml5Token
     publicIdentifier = nsHtml5Portability::newStringFromString(other->publicIdentifier);
   }
   containsHyphen = other->containsHyphen;
   if (!other->tagName) {
     tagName = nullptr;
   } else if (other->tagName->isInterned()) {
     tagName = other->tagName;
   } else {
-    nonInternedTagName->setNameForNonInterned(
-      nsHtml5Portability::newLocalFromLocal(other->tagName->getName(),
-                                            interner));
+    nonInternedTagName->setNameForNonInterned(nsHtml5Portability::newLocalFromLocal(other->tagName->getName(), interner));
     tagName = nonInternedTagName;
   }
   if (!other->attributeName) {
     attributeName = nullptr;
   } else if (other->attributeName->isInterned()) {
     attributeName = other->attributeName;
   } else {
-    nonInternedAttributeName->setNameForNonInterned(
-      nsHtml5Portability::newLocalFromLocal(
-        other->attributeName->getLocal(nsHtml5AttributeName::HTML), interner));
+    nonInternedAttributeName->setNameForNonInterned(nsHtml5Portability::newLocalFromLocal(other->attributeName->getLocal(nsHtml5AttributeName::HTML), interner));
     attributeName = nonInternedAttributeName;
   }
   delete attributes;
   if (!other->attributes) {
     attributes = nullptr;
   } else {
     attributes = other->attributes->cloneAttributes(interner);
   }
--- a/parser/html/nsHtml5TreeBuilder.cpp
+++ b/parser/html/nsHtml5TreeBuilder.cpp
@@ -69,17 +69,17 @@
 
 char16_t nsHtml5TreeBuilder::REPLACEMENT_CHARACTER[] = { 0xfffd };
 static const char* const QUIRKY_PUBLIC_IDS_DATA[] = { "+//silmaril//dtd html pro v0r11 19970101//", "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", "-//as//dtd html 3.0 aswedit + extensions//", "-//ietf//dtd html 2.0 level 1//", "-//ietf//dtd html 2.0 level 2//", "-//ietf//dtd html 2.0 strict level 1//", "-//ietf//dtd html 2.0 strict level 2//", "-//ietf//dtd html 2.0 strict//", "-//ietf//dtd html 2.0//", "-//ietf//dtd html 2.1e//", "-//ietf//dtd html 3.0//", "-//ietf//dtd html 3.2 final//", "-//ietf//dtd html 3.2//", "-//ietf//dtd html 3//", "-//ietf//dtd html level 0//", "-//ietf//dtd html level 1//", "-//ietf//dtd html level 2//", "-//ietf//dtd html level 3//", "-//ietf//dtd html strict level 0//", "-//ietf//dtd html strict level 1//", "-//ietf//dtd html strict level 2//", "-//ietf//dtd html strict level 3//", "-//ietf//dtd html strict//", "-//ietf//dtd html//", "-//metrius//dtd metrius presentational//", "-//microsoft//dtd internet explorer 2.0 html strict//", "-//microsoft//dtd internet explorer 2.0 html//", "-//microsoft//dtd internet explorer 2.0 tables//", "-//microsoft//dtd internet explorer 3.0 html strict//", "-//microsoft//dtd internet explorer 3.0 html//", "-//microsoft//dtd internet explorer 3.0 tables//", "-//netscape comm. corp.//dtd html//", "-//netscape comm. corp.//dtd strict html//", "-//o'reilly and associates//dtd html 2.0//", "-//o'reilly and associates//dtd html extended 1.0//", "-//o'reilly and associates//dtd html extended relaxed 1.0//", "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", "-//spyglass//dtd html 2.0 extended//", "-//sq//dtd html 2.0 hotmetal + extensions//", "-//sun microsystems corp.//dtd hotjava html//", "-//sun microsystems corp.//dtd hotjava strict html//", "-//w3c//dtd html 3 1995-03-24//", "-//w3c//dtd html 3.2 draft//", "-//w3c//dtd html 3.2 final//", "-//w3c//dtd html 3.2//", "-//w3c//dtd html 3.2s draft//", "-//w3c//dtd html 4.0 frameset//", "-//w3c//dtd html 4.0 transitional//", "-//w3c//dtd html experimental 19960712//", "-//w3c//dtd html experimental 970421//", "-//w3c//dtd w3 html//", "-//w3o//dtd w3 html 3.0//", "-//webtechs//dtd mozilla html 2.0//", "-//webtechs//dtd mozilla html//" };
 staticJArray<const char*,int32_t> nsHtml5TreeBuilder::QUIRKY_PUBLIC_IDS = { QUIRKY_PUBLIC_IDS_DATA, MOZ_ARRAY_LENGTH(QUIRKY_PUBLIC_IDS_DATA) };
 void 
 nsHtml5TreeBuilder::startTokenization(nsHtml5Tokenizer* self)
 {
   tokenizer = self;
-  stackNodes = jArray<nsHtml5StackNode*, int32_t>::newJArray(64);
+  stackNodes = jArray<nsHtml5StackNode*,int32_t>::newJArray(64);
   stack = jArray<nsHtml5StackNode*,int32_t>::newJArray(64);
   templateModeStack = jArray<int32_t,int32_t>::newJArray(64);
   listOfActiveFormattingElements = jArray<nsHtml5StackNode*,int32_t>::newJArray(64);
   needToDropLF = false;
   originalMode = INITIAL;
   templateModePtr = -1;
   stackNodesIdx = 0;
   numStackNodes = 0;
@@ -96,119 +96,92 @@ nsHtml5TreeBuilder::startTokenization(ns
     nsIContentHandle* elt;
     if (contextNode) {
       elt = contextNode;
     } else {
       elt = createHtmlElementSetAsRoot(tokenizer->emptyAttributes());
     }
     if (contextNamespace == kNameSpaceID_SVG) {
       nsHtml5ElementName* elementName = nsHtml5ElementName::ELT_SVG;
-      if (nsGkAtoms::title == contextName || nsGkAtoms::desc == contextName ||
-          nsGkAtoms::foreignObject == contextName) {
+      if (nsGkAtoms::title == contextName || nsGkAtoms::desc == contextName || nsGkAtoms::foreignObject == contextName) {
         elementName = nsHtml5ElementName::ELT_FOREIGNOBJECT;
       }
-      nsHtml5StackNode* node =
-        createStackNode(elementName, elementName->getCamelCaseName(), elt);
+      nsHtml5StackNode* node = createStackNode(elementName, elementName->getCamelCaseName(), elt);
       currentPtr++;
       stack[currentPtr] = node;
-      tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::DATA,
-                                              contextName);
+      tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::DATA, contextName);
       mode = FRAMESET_OK;
     } else if (contextNamespace == kNameSpaceID_MathML) {
       nsHtml5ElementName* elementName = nsHtml5ElementName::ELT_MATH;
-      if (nsGkAtoms::mi_ == contextName || nsGkAtoms::mo_ == contextName ||
-          nsGkAtoms::mn_ == contextName || nsGkAtoms::ms_ == contextName ||
-          nsGkAtoms::mtext_ == contextName) {
+      if (nsGkAtoms::mi_ == contextName || nsGkAtoms::mo_ == contextName || nsGkAtoms::mn_ == contextName || nsGkAtoms::ms_ == contextName || nsGkAtoms::mtext_ == contextName) {
         elementName = nsHtml5ElementName::ELT_MTEXT;
       } else if (nsGkAtoms::annotation_xml_ == contextName) {
         elementName = nsHtml5ElementName::ELT_ANNOTATION_XML;
       }
-      nsHtml5StackNode* node =
-        createStackNode(elementName, elt, elementName->getName(), false);
+      nsHtml5StackNode* node = createStackNode(elementName, elt, elementName->getName(), false);
       currentPtr++;
       stack[currentPtr] = node;
-      tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::DATA,
-                                              contextName);
+      tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::DATA, contextName);
       mode = FRAMESET_OK;
     } else {
-      nsHtml5StackNode* node =
-        createStackNode(nsHtml5ElementName::ELT_HTML, elt);
+      nsHtml5StackNode* node = createStackNode(nsHtml5ElementName::ELT_HTML, elt);
       currentPtr++;
       stack[currentPtr] = node;
       if (nsGkAtoms::_template == contextName) {
         pushTemplateMode(IN_TEMPLATE);
       }
       resetTheInsertionMode();
       formPointer = getFormPointerForContext(contextNode);
-      if (nsGkAtoms::title == contextName ||
-          nsGkAtoms::textarea == contextName) {
-        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA,
-                                                contextName);
-      } else if (nsGkAtoms::style == contextName ||
-                 nsGkAtoms::xmp == contextName ||
-                 nsGkAtoms::iframe == contextName ||
-                 nsGkAtoms::noembed == contextName ||
-                 nsGkAtoms::noframes == contextName ||
-                 (scriptingEnabled && nsGkAtoms::noscript == contextName)) {
-        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT,
-                                                contextName);
+      if (nsGkAtoms::title == contextName || nsGkAtoms::textarea == contextName) {
+        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA, contextName);
+      } else if (nsGkAtoms::style == contextName || nsGkAtoms::xmp == contextName || nsGkAtoms::iframe == contextName || nsGkAtoms::noembed == contextName || nsGkAtoms::noframes == contextName || (scriptingEnabled && nsGkAtoms::noscript == contextName)) {
+        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, contextName);
       } else if (nsGkAtoms::plaintext == contextName) {
-        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::PLAINTEXT,
-                                                contextName);
+        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::PLAINTEXT, contextName);
       } else if (nsGkAtoms::script == contextName) {
-        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::SCRIPT_DATA,
-                                                contextName);
+        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::SCRIPT_DATA, contextName);
       } else {
-        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::DATA,
-                                                contextName);
+        tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::DATA, contextName);
       }
     }
     contextName = nullptr;
     contextNode = nullptr;
   } else {
     mode = INITIAL;
     if (tokenizer->isViewingXmlSource()) {
-      nsIContentHandle* elt = createElement(kNameSpaceID_SVG,
-                                            nsGkAtoms::svg,
-                                            tokenizer->emptyAttributes(),
-                                            nullptr);
-      nsHtml5StackNode* node =
-        createStackNode(nsHtml5ElementName::ELT_SVG, nsGkAtoms::svg, elt);
+      nsIContentHandle* elt = createElement(kNameSpaceID_SVG, nsGkAtoms::svg, tokenizer->emptyAttributes(), nullptr);
+      nsHtml5StackNode* node = createStackNode(nsHtml5ElementName::ELT_SVG, nsGkAtoms::svg, elt);
       currentPtr++;
       stack[currentPtr] = node;
     }
   }
 }
 
-void
-nsHtml5TreeBuilder::doctype(nsIAtom* name,
-                            nsHtml5String publicIdentifier,
-                            nsHtml5String systemIdentifier,
-                            bool forceQuirks)
+void 
+nsHtml5TreeBuilder::doctype(nsIAtom* name, nsHtml5String publicIdentifier, nsHtml5String systemIdentifier, bool forceQuirks)
 {
   needToDropLF = false;
   if (!isInForeign() && mode == INITIAL) {
     nsHtml5String emptyString = nsHtml5Portability::newEmptyString();
-    appendDoctypeToDocument(!name ? nsGkAtoms::_empty : name,
-                            !publicIdentifier ? emptyString : publicIdentifier,
-                            !systemIdentifier ? emptyString : systemIdentifier);
+    appendDoctypeToDocument(!name ? nsGkAtoms::_empty : name, !publicIdentifier ? emptyString : publicIdentifier, !systemIdentifier ? emptyString : systemIdentifier);
     emptyString.Release();
     if (isQuirky(name, publicIdentifier, systemIdentifier, forceQuirks)) {
       errQuirkyDoctype();
       documentModeInternal(QUIRKS_MODE, publicIdentifier, systemIdentifier, false);
     } else if (isAlmostStandards(publicIdentifier, systemIdentifier)) {
       errAlmostStandardsDoctype();
       documentModeInternal(ALMOST_STANDARDS_MODE, publicIdentifier, systemIdentifier, false);
     } else {
       documentModeInternal(STANDARDS_MODE, publicIdentifier, systemIdentifier, false);
     }
     mode = BEFORE_HTML;
     return;
   }
   errStrayDoctype();
+  return;
 }
 
 void 
 nsHtml5TreeBuilder::comment(char16_t* buf, int32_t start, int32_t length)
 {
   needToDropLF = false;
   if (!isInForeign()) {
     switch(mode) {
@@ -226,16 +199,17 @@ nsHtml5TreeBuilder::comment(char16_t* bu
       }
       default: {
         break;
       }
     }
   }
   flushCharacters();
   appendComment(stack[currentPtr]->node, buf, start, length);
+  return;
 }
 
 void 
 nsHtml5TreeBuilder::characters(const char16_t* buf, int32_t start, int32_t length)
 {
   if (tokenizer->isViewingXmlSource()) {
     return;
   }
@@ -416,18 +390,17 @@ nsHtml5TreeBuilder::characters(const cha
                 start = i + 1;
                 continue;
               }
               case IN_COLUMN_GROUP: {
                 if (start < i) {
                   accumulateCharacters(buf, start, i - start);
                   start = i;
                 }
-                if (!currentPtr || stack[currentPtr]->getGroup() ==
-                                     nsHtml5TreeBuilder::TEMPLATE) {
+                if (!currentPtr || stack[currentPtr]->getGroup() == nsHtml5TreeBuilder::TEMPLATE) {
                   errNonSpaceInColgroupInFragment();
                   start = i + 1;
                   continue;
                 }
                 flushCharacters();
                 pop();
                 mode = IN_TABLE;
                 i--;
@@ -644,21 +617,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
   int32_t eltPos;
   needToDropLF = false;
   starttagloop: for (; ; ) {
     int32_t group = elementName->getGroup();
     nsIAtom* name = elementName->getName();
     if (isInForeign()) {
       nsHtml5StackNode* currentNode = stack[currentPtr];
       int32_t currNs = currentNode->ns;
-      if (!(currentNode->isHtmlIntegrationPoint() ||
-            (currNs == kNameSpaceID_MathML &&
-             ((currentNode->getGroup() == MI_MO_MN_MS_MTEXT &&
-               group != MGLYPH_OR_MALIGNMARK) ||
-              (currentNode->getGroup() == ANNOTATION_XML && group == SVG))))) {
+      if (!(currentNode->isHtmlIntegrationPoint() || (currNs == kNameSpaceID_MathML && ((currentNode->getGroup() == MI_MO_MN_MS_MTEXT && group != MGLYPH_OR_MALIGNMARK) || (currentNode->getGroup() == ANNOTATION_XML && group == SVG))))) {
         switch(group) {
           case B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U:
           case DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
           case BODY:
           case BR:
           case RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR:
           case DD_OR_DT:
           case UL_OR_OL_OR_DL:
@@ -669,20 +638,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
           case HR:
           case LI:
           case META:
           case NOBR:
           case P:
           case PRE_OR_LISTING:
           case TABLE:
           case FONT: {
-            if (!(group == FONT &&
-                  !(attributes->contains(nsHtml5AttributeName::ATTR_COLOR) ||
-                    attributes->contains(nsHtml5AttributeName::ATTR_FACE) ||
-                    attributes->contains(nsHtml5AttributeName::ATTR_SIZE)))) {
+            if (!(group == FONT && !(attributes->contains(nsHtml5AttributeName::ATTR_COLOR) || attributes->contains(nsHtml5AttributeName::ATTR_FACE) || attributes->contains(nsHtml5AttributeName::ATTR_SIZE)))) {
               errHtmlStartTagInForeignContext(name);
               if (!fragment) {
                 while (!isSpecialParentInForeign(stack[currentPtr])) {
                   pop();
                 }
                 NS_HTML5_CONTINUE(starttagloop);
               }
             }
@@ -908,27 +874,25 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               }
               resetTheInsertionMode();
               NS_HTML5_CONTINUE(starttagloop);
             }
             case SCRIPT: {
               appendToCurrentNodeAndPushElement(elementName, attributes);
               originalMode = mode;
               mode = TEXT;
-              tokenizer->setStateAndEndTagExpectation(
-                nsHtml5Tokenizer::SCRIPT_DATA, elementName);
+              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::SCRIPT_DATA, elementName);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case STYLE: {
               appendToCurrentNodeAndPushElement(elementName, attributes);
               originalMode = mode;
               mode = TEXT;
-              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT,
-                                                      elementName);
+              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, elementName);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case INPUT: {
               errStartTagInTable(name);
               if (!nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("hidden", attributes->getValue(nsHtml5AttributeName::ATTR_TYPE))) {
                 NS_HTML5_BREAK(intableloop);
               }
@@ -1042,22 +1006,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
           case IMG:
           case INPUT:
           case KEYGEN:
           case HR:
           case TEXTAREA:
           case XMP:
           case IFRAME:
           case SELECT: {
-            if (mode == FRAMESET_OK &&
-                !(group == INPUT &&
-                  nsHtml5Portability::
-                    lowerCaseLiteralEqualsIgnoreAsciiCaseString(
-                      "hidden",
-                      attributes->getValue(nsHtml5AttributeName::ATTR_TYPE)))) {
+            if (mode == FRAMESET_OK && !(group == INPUT && nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("hidden", attributes->getValue(nsHtml5AttributeName::ATTR_TYPE)))) {
               framesetOk = false;
               mode = IN_BODY;
             }
           }
           default:
             ; // fall through
         }
       }
@@ -1077,18 +1036,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
             case META:
             case STYLE:
             case SCRIPT:
             case TITLE:
             case TEMPLATE: {
               NS_HTML5_BREAK(inbodyloop);
             }
             case BODY: {
-              if (!currentPtr || stack[1]->getGroup() != BODY ||
-                  isTemplateContents()) {
+              if (!currentPtr || stack[1]->getGroup() != BODY || isTemplateContents()) {
                 MOZ_ASSERT(fragment || isTemplateContents());
                 errStrayStartTag(name);
                 NS_HTML5_BREAK(starttagloop);
               }
               errFooSeenWhenFooOpen(name);
               framesetOk = false;
               if (mode == FRAMESET_OK) {
                 mode = IN_BODY;
@@ -1104,18 +1062,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
             case 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: {
               implicitlyCloseP();
               appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6: {
               implicitlyCloseP();
-              if (stack[currentPtr]->getGroup() ==
-                  H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6) {
+              if (stack[currentPtr]->getGroup() == H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6) {
                 errHeadingWhenHeadingOpen();
                 pop();
               }
               appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case FIELDSET: {
@@ -1151,42 +1108,35 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
                   generateImpliedEndTagsExceptFor(node->name);
                   if (!!MOZ_UNLIKELY(mViewSource) && eltPos != currentPtr) {
                     errUnclosedElementsImplied(eltPos, name);
                   }
                   while (currentPtr >= eltPos) {
                     pop();
                   }
                   break;
-                } else if (!eltPos || (node->isSpecial() &&
-                                       (node->ns != kNameSpaceID_XHTML ||
-                                        (node->name != nsGkAtoms::p &&
-                                         node->name != nsGkAtoms::address &&
-                                         node->name != nsGkAtoms::div)))) {
+                } else if (!eltPos || (node->isSpecial() && (node->ns != kNameSpaceID_XHTML || (node->name != nsGkAtoms::p && node->name != nsGkAtoms::address && node->name != nsGkAtoms::div)))) {
                   break;
                 }
                 eltPos--;
               }
               implicitlyCloseP();
               appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case PLAINTEXT: {
               implicitlyCloseP();
               appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
-              tokenizer->setStateAndEndTagExpectation(
-                nsHtml5Tokenizer::PLAINTEXT, elementName);
+              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::PLAINTEXT, elementName);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case A: {
-              int32_t activeAPos =
-                findInListOfActiveFormattingElementsContainsBetweenEndAndLastMarker(
-                  nsGkAtoms::a);
+              int32_t activeAPos = findInListOfActiveFormattingElementsContainsBetweenEndAndLastMarker(nsGkAtoms::a);
               if (activeAPos != -1) {
                 errFooSeenWhenFooOpen(name);
                 nsHtml5StackNode* activeA = listOfActiveFormattingElements[activeAPos];
                 activeA->retain();
                 adoptionAgencyEndTag(nsGkAtoms::a);
                 removeFromStack(activeA);
                 activeAPos = findInListOfActiveFormattingElements(activeA);
                 if (activeAPos != -1) {
@@ -1197,26 +1147,24 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               reconstructTheActiveFormattingElements();
               appendToCurrentNodeAndPushFormattingElementMayFoster(elementName, attributes);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U:
             case FONT: {
               reconstructTheActiveFormattingElements();
-              maybeForgetEarlierDuplicateFormattingElement(
-                elementName->getName(), attributes);
+              maybeForgetEarlierDuplicateFormattingElement(elementName->getName(), attributes);
               appendToCurrentNodeAndPushFormattingElementMayFoster(elementName, attributes);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case NOBR: {
               reconstructTheActiveFormattingElements();
-              if (nsHtml5TreeBuilder::NOT_FOUND_ON_STACK !=
-                  findLastInScope(nsGkAtoms::nobr)) {
+              if (nsHtml5TreeBuilder::NOT_FOUND_ON_STACK != findLastInScope(nsGkAtoms::nobr)) {
                 errFooSeenWhenFooOpen(name);
                 adoptionAgencyEndTag(nsGkAtoms::nobr);
                 reconstructTheActiveFormattingElements();
               }
               appendToCurrentNodeAndPushFormattingElementMayFoster(elementName, attributes);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
@@ -1294,32 +1242,30 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               reconstructTheActiveFormattingElements();
               appendVoidElementToCurrentMayFoster(name, attributes, formPointer);
               selfClosing = false;
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case TEXTAREA: {
               appendToCurrentNodeAndPushElementMayFoster(elementName, attributes, formPointer);
-              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA,
-                                                      elementName);
+              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA, elementName);
               originalMode = mode;
               mode = TEXT;
               needToDropLF = true;
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case XMP: {
               implicitlyCloseP();
               reconstructTheActiveFormattingElements();
               appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
               originalMode = mode;
               mode = TEXT;
-              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT,
-                                                      elementName);
+              tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, elementName);
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case NOSCRIPT: {
               if (!scriptingEnabled) {
                 reconstructTheActiveFormattingElements();
                 appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
                 attributes = nullptr;
@@ -1477,18 +1423,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case NOSCRIPT: {
               if (scriptingEnabled) {
                 appendToCurrentNodeAndPushElement(elementName, attributes);
                 originalMode = mode;
                 mode = TEXT;
-                tokenizer->setStateAndEndTagExpectation(
-                  nsHtml5Tokenizer::RAWTEXT, elementName);
+                tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, elementName);
               } else {
                 appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
                 mode = IN_HEAD_NOSCRIPT;
               }
               attributes = nullptr;
               NS_HTML5_BREAK(starttagloop);
             }
             case SCRIPT: {
@@ -1543,18 +1488,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
             attributes = nullptr;
             NS_HTML5_BREAK(starttagloop);
           }
           case STYLE:
           case NOFRAMES: {
             appendToCurrentNodeAndPushElement(elementName, attributes);
             originalMode = mode;
             mode = TEXT;
-            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT,
-                                                    elementName);
+            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, elementName);
             attributes = nullptr;
             NS_HTML5_BREAK(starttagloop);
           }
           case HEAD: {
             errFooSeenWhenFooOpen(name);
             NS_HTML5_BREAK(starttagloop);
           }
           case NOSCRIPT: {
@@ -1743,18 +1687,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               attributes = nullptr;
             }
             NS_HTML5_BREAK(starttagloop);
           }
           case NOFRAMES: {
             appendToCurrentNodeAndPushElement(elementName, attributes);
             originalMode = mode;
             mode = TEXT;
-            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT,
-                                                    elementName);
+            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, elementName);
             attributes = nullptr;
             NS_HTML5_BREAK(starttagloop);
           }
           default: {
             errStrayStartTag(name);
             NS_HTML5_BREAK(starttagloop);
           }
         }
@@ -1864,41 +1807,38 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
             NS_HTML5_BREAK(starttagloop);
           }
           case SCRIPT: {
             errFooBetweenHeadAndBody(name);
             pushHeadPointerOntoStack();
             appendToCurrentNodeAndPushElement(elementName, attributes);
             originalMode = mode;
             mode = TEXT;
-            tokenizer->setStateAndEndTagExpectation(
-              nsHtml5Tokenizer::SCRIPT_DATA, elementName);
+            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::SCRIPT_DATA, elementName);
             attributes = nullptr;
             NS_HTML5_BREAK(starttagloop);
           }
           case STYLE:
           case NOFRAMES: {
             errFooBetweenHeadAndBody(name);
             pushHeadPointerOntoStack();
             appendToCurrentNodeAndPushElement(elementName, attributes);
             originalMode = mode;
             mode = TEXT;
-            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT,
-                                                    elementName);
+            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, elementName);
             attributes = nullptr;
             NS_HTML5_BREAK(starttagloop);
           }
           case TITLE: {
             errFooBetweenHeadAndBody(name);
             pushHeadPointerOntoStack();
             appendToCurrentNodeAndPushElement(elementName, attributes);
             originalMode = mode;
             mode = TEXT;
-            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA,
-                                                    elementName);
+            tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA, elementName);
             attributes = nullptr;
             NS_HTML5_BREAK(starttagloop);
           }
           case HEAD: {
             errStrayStartTag(name);
             NS_HTML5_BREAK(starttagloop);
           }
           default: {
@@ -1963,76 +1903,69 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
 }
 
 void 
 nsHtml5TreeBuilder::startTagTitleInHead(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes)
 {
   appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
   originalMode = mode;
   mode = TEXT;
-  tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA,
-                                          elementName);
+  tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RCDATA, elementName);
 }
 
 void 
 nsHtml5TreeBuilder::startTagGenericRawText(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes)
 {
   appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
   originalMode = mode;
   mode = TEXT;
-  tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT,
-                                          elementName);
+  tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::RAWTEXT, elementName);
 }
 
 void 
 nsHtml5TreeBuilder::startTagScriptInHead(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes)
 {
   appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
   originalMode = mode;
   mode = TEXT;
-  tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::SCRIPT_DATA,
-                                          elementName);
+  tokenizer->setStateAndEndTagExpectation(nsHtml5Tokenizer::SCRIPT_DATA, elementName);
 }
 
 void 
 nsHtml5TreeBuilder::startTagTemplateInHead(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes)
 {
   appendToCurrentNodeAndPushElement(elementName, attributes);
   insertMarker();
   framesetOk = false;
   originalMode = mode;
   mode = IN_TEMPLATE;
   pushTemplateMode(IN_TEMPLATE);
 }
 
 bool 
 nsHtml5TreeBuilder::isTemplateContents()
 {
-  return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK !=
-         findLast(nsGkAtoms::_template);
+  return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK != findLast(nsGkAtoms::_template);
 }
 
 bool 
 nsHtml5TreeBuilder::isTemplateModeStackEmpty()
 {
   return templateModePtr == -1;
 }
 
 bool 
 nsHtml5TreeBuilder::isSpecialParentInForeign(nsHtml5StackNode* stackNode)
 {
   int32_t ns = stackNode->ns;
-  return (kNameSpaceID_XHTML == ns) || (stackNode->isHtmlIntegrationPoint()) ||
-         ((kNameSpaceID_MathML == ns) &&
-          (stackNode->getGroup() == MI_MO_MN_MS_MTEXT));
+  return (kNameSpaceID_XHTML == ns) || (stackNode->isHtmlIntegrationPoint()) || ((kNameSpaceID_MathML == ns) && (stackNode->getGroup() == MI_MO_MN_MS_MTEXT));
 }
 
-nsHtml5String
-nsHtml5TreeBuilder::extractCharsetFromContent(nsHtml5String attributeValue,
-                                              nsHtml5TreeBuilder* tb)
+nsHtml5String 
+nsHtml5TreeBuilder::extractCharsetFromContent(nsHtml5String attributeValue, nsHtml5TreeBuilder* tb)
 {
   int32_t charsetState = CHARSET_INITIAL;
   int32_t start = -1;
   int32_t end = -1;
   autoJArray<char16_t,int32_t> buffer = nsHtml5Portability::newCharArrayFromString(attributeValue);
   for (int32_t i = 0; i < buffer.length; i++) {
     char16_t c = buffer[i];
     switch(charsetState) {
@@ -2206,47 +2139,43 @@ nsHtml5TreeBuilder::extractCharsetFromCo
           default: {
             continue;
           }
         }
       }
     }
   }
   charsetloop_end: ;
-    nsHtml5String charset = nullptr;
-    if (start != -1) {
-      if (end == -1) {
-        end = buffer.length;
-      }
-      charset =
-        nsHtml5Portability::newStringFromBuffer(buffer, start, end - start, tb);
+  nsHtml5String charset = nullptr;
+  if (start != -1) {
+    if (end == -1) {
+      end = buffer.length;
+    }
+    charset = nsHtml5Portability::newStringFromBuffer(buffer, start, end - start, tb);
   }
   return charset;
 }
 
 void 
 nsHtml5TreeBuilder::checkMetaCharset(nsHtml5HtmlAttributes* attributes)
 {
-  nsHtml5String charset =
-    attributes->getValue(nsHtml5AttributeName::ATTR_CHARSET);
+  nsHtml5String charset = attributes->getValue(nsHtml5AttributeName::ATTR_CHARSET);
   if (charset) {
     if (tokenizer->internalEncodingDeclaration(charset)) {
       requestSuspension();
       return;
     }
     return;
   }
   if (!nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("content-type", attributes->getValue(nsHtml5AttributeName::ATTR_HTTP_EQUIV))) {
     return;
   }
-  nsHtml5String content =
-    attributes->getValue(nsHtml5AttributeName::ATTR_CONTENT);
+  nsHtml5String content = attributes->getValue(nsHtml5AttributeName::ATTR_CONTENT);
   if (content) {
-    nsHtml5String extract =
-      nsHtml5TreeBuilder::extractCharsetFromContent(content, this);
+    nsHtml5String extract = nsHtml5TreeBuilder::extractCharsetFromContent(content, this);
     if (extract) {
       if (tokenizer->internalEncodingDeclaration(extract)) {
         requestSuspension();
       }
     }
     extract.Release();
   }
 }
@@ -2319,18 +2248,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
               NS_HTML5_BREAK(endtagloop);
             }
             clearStackBackTo(eltPos);
             pop();
             mode = IN_TABLE_BODY;
             continue;
           }
           case TBODY_OR_THEAD_OR_TFOOT: {
-            if (findLastInTableScope(name) ==
-                nsHtml5TreeBuilder::NOT_FOUND_ON_STACK) {
+            if (findLastInTableScope(name) == nsHtml5TreeBuilder::NOT_FOUND_ON_STACK) {
               errStrayEndTag(name);
               NS_HTML5_BREAK(endtagloop);
             }
             eltPos = findLastOrRoot(nsHtml5TreeBuilder::TR);
             if (!eltPos) {
               MOZ_ASSERT(fragment || isTemplateContents());
               errNoTableRowToClose();
               NS_HTML5_BREAK(endtagloop);
@@ -2492,21 +2420,18 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
             }
             clearTheListOfActiveFormattingElementsUpToTheLastMarker();
             mode = IN_ROW;
             NS_HTML5_BREAK(endtagloop);
           }
           case TABLE:
           case TBODY_OR_THEAD_OR_TFOOT:
           case TR: {
-            if (findLastInTableScope(name) ==
-                nsHtml5TreeBuilder::NOT_FOUND_ON_STACK) {
-              MOZ_ASSERT(name == nsGkAtoms::tbody || name == nsGkAtoms::tfoot ||
-                         name == nsGkAtoms::thead || fragment ||
-                         isTemplateContents());
+            if (findLastInTableScope(name) == nsHtml5TreeBuilder::NOT_FOUND_ON_STACK) {
+              MOZ_ASSERT(name == nsGkAtoms::tbody || name == nsGkAtoms::tfoot || name == nsGkAtoms::thead || fragment || isTemplateContents());
               errStrayEndTag(name);
               NS_HTML5_BREAK(endtagloop);
             }
             closeTheCell(findLastInTableScopeTdTh());
             continue;
           }
           case BODY:
           case CAPTION:
@@ -2842,18 +2767,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
             errStrayEndTag(name);
             NS_HTML5_BREAK(endtagloop);
           }
         }
       }
       case IN_COLUMN_GROUP: {
         switch(group) {
           case COLGROUP: {
-            if (!currentPtr ||
-                stack[currentPtr]->getGroup() == nsHtml5TreeBuilder::TEMPLATE) {
+            if (!currentPtr || stack[currentPtr]->getGroup() == nsHtml5TreeBuilder::TEMPLATE) {
               MOZ_ASSERT(fragment || isTemplateContents());
               errGarbageInColgroup();
               NS_HTML5_BREAK(endtagloop);
             }
             pop();
             mode = IN_TABLE;
             NS_HTML5_BREAK(endtagloop);
           }
@@ -2861,18 +2785,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
             errStrayEndTag(name);
             NS_HTML5_BREAK(endtagloop);
           }
           case TEMPLATE: {
             endTagTemplateInHead();
             NS_HTML5_BREAK(endtagloop);
           }
           default: {
-            if (!currentPtr ||
-                stack[currentPtr]->getGroup() == nsHtml5TreeBuilder::TEMPLATE) {
+            if (!currentPtr || stack[currentPtr]->getGroup() == nsHtml5TreeBuilder::TEMPLATE) {
               MOZ_ASSERT(fragment || isTemplateContents());
               errGarbageInColgroup();
               NS_HTML5_BREAK(endtagloop);
             }
             pop();
             mode = IN_TABLE;
             continue;
           }
@@ -2881,18 +2804,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
       case IN_SELECT_IN_TABLE: {
         switch(group) {
           case CAPTION:
           case TABLE:
           case TBODY_OR_THEAD_OR_TFOOT:
           case TR:
           case TD_OR_TH: {
             errEndTagSeenWithSelectOpen(name);
-            if (findLastInTableScope(name) !=
-                nsHtml5TreeBuilder::NOT_FOUND_ON_STACK) {
+            if (findLastInTableScope(name) != nsHtml5TreeBuilder::NOT_FOUND_ON_STACK) {
               eltPos = findLastInTableScope(nsGkAtoms::select);
               if (eltPos == nsHtml5TreeBuilder::NOT_FOUND_ON_STACK) {
                 MOZ_ASSERT(fragment);
                 NS_HTML5_BREAK(endtagloop);
               }
               while (currentPtr >= eltPos) {
                 pop();
               }
@@ -2913,18 +2835,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
               pop();
               NS_HTML5_BREAK(endtagloop);
             } else {
               errStrayEndTag(name);
               NS_HTML5_BREAK(endtagloop);
             }
           }
           case OPTGROUP: {
-            if (isCurrent(nsGkAtoms::option) &&
-                nsGkAtoms::optgroup == stack[currentPtr - 1]->name) {
+            if (isCurrent(nsGkAtoms::option) && nsGkAtoms::optgroup == stack[currentPtr - 1]->name) {
               pop();
             }
             if (isCurrent(nsGkAtoms::optgroup)) {
               pop();
             } else {
               errStrayEndTag(name);
             }
             NS_HTML5_BREAK(endtagloop);
@@ -3100,18 +3021,17 @@ nsHtml5TreeBuilder::endTagTemplateInHead
   popTemplateMode();
   resetTheInsertionMode();
 }
 
 int32_t 
 nsHtml5TreeBuilder::findLastInTableScopeOrRootTemplateTbodyTheadTfoot()
 {
   for (int32_t i = currentPtr; i > 0; i--) {
-    if (stack[i]->getGroup() == nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT ||
-        stack[i]->getGroup() == nsHtml5TreeBuilder::TEMPLATE) {
+    if (stack[i]->getGroup() == nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT || stack[i]->getGroup() == nsHtml5TreeBuilder::TEMPLATE) {
       return i;
     }
   }
   return 0;
 }
 
 int32_t 
 nsHtml5TreeBuilder::findLast(nsIAtom* name)
@@ -3126,18 +3046,17 @@ nsHtml5TreeBuilder::findLast(nsIAtom* na
 
 int32_t 
 nsHtml5TreeBuilder::findLastInTableScope(nsIAtom* name)
 {
   for (int32_t i = currentPtr; i > 0; i--) {
     if (stack[i]->ns == kNameSpaceID_XHTML) {
       if (stack[i]->name == name) {
         return i;
-      } else if (stack[i]->name == nsGkAtoms::table ||
-                 stack[i]->name == nsGkAtoms::_template) {
+      } else if (stack[i]->name == nsGkAtoms::table || stack[i]->name == nsGkAtoms::_template) {
         return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
       }
     }
   }
   return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
 }
 
 int32_t 
@@ -3173,34 +3092,32 @@ nsHtml5TreeBuilder::findLastInScope(nsIA
 
 int32_t 
 nsHtml5TreeBuilder::findLastInListScope(nsIAtom* name)
 {
   for (int32_t i = currentPtr; i > 0; i--) {
     if (stack[i]->ns == kNameSpaceID_XHTML) {
       if (stack[i]->name == name) {
         return i;
-      } else if (stack[i]->name == nsGkAtoms::ul ||
-                 stack[i]->name == nsGkAtoms::ol) {
+      } else if (stack[i]->name == nsGkAtoms::ul || stack[i]->name == nsGkAtoms::ol) {
         return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
       }
     }
     if (stack[i]->isScoping()) {
       return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
     }
   }
   return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
 }
 
 int32_t 
 nsHtml5TreeBuilder::findLastInScopeHn()
 {
   for (int32_t i = currentPtr; i > 0; i--) {
-    if (stack[i]->getGroup() ==
-        nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6) {
+    if (stack[i]->getGroup() == nsHtml5TreeBuilder::H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6) {
       return i;
     } else if (stack[i]->isScoping()) {
       return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
     }
   }
   return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
 }
 
@@ -3253,35 +3170,30 @@ nsHtml5TreeBuilder::generateImpliedEndTa
 }
 
 bool 
 nsHtml5TreeBuilder::isSecondOnStackBody()
 {
   return currentPtr >= 1 && stack[1]->getGroup() == nsHtml5TreeBuilder::BODY;
 }
 
-void
-nsHtml5TreeBuilder::documentModeInternal(
-  nsHtml5DocumentMode m,
-  nsHtml5String publicIdentifier,
-  nsHtml5String systemIdentifier,
-  bool html4SpecificAdditionalErrorChecks)
+void 
+nsHtml5TreeBuilder::documentModeInternal(nsHtml5DocumentMode m, nsHtml5String publicIdentifier, nsHtml5String systemIdentifier, bool html4SpecificAdditionalErrorChecks)
 {
   if (isSrcdocDocument) {
     quirks = false;
     this->documentMode(STANDARDS_MODE);
     return;
   }
   quirks = (m == QUIRKS_MODE);
   this->documentMode(m);
 }
 
-bool
-nsHtml5TreeBuilder::isAlmostStandards(nsHtml5String publicIdentifier,
-                                      nsHtml5String systemIdentifier)
+bool 
+nsHtml5TreeBuilder::isAlmostStandards(nsHtml5String publicIdentifier, nsHtml5String systemIdentifier)
 {
   if (nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("-//w3c//dtd xhtml 1.0 transitional//en", publicIdentifier)) {
     return true;
   }
   if (nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("-//w3c//dtd xhtml 1.0 frameset//en", publicIdentifier)) {
     return true;
   }
   if (systemIdentifier) {
@@ -3290,21 +3202,18 @@ nsHtml5TreeBuilder::isAlmostStandards(ns
     }
     if (nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("-//w3c//dtd html 4.01 frameset//en", publicIdentifier)) {
       return true;
     }
   }
   return false;
 }
 
-bool
-nsHtml5TreeBuilder::isQuirky(nsIAtom* name,
-                             nsHtml5String publicIdentifier,
-                             nsHtml5String systemIdentifier,
-                             bool forceQuirks)
+bool 
+nsHtml5TreeBuilder::isQuirky(nsIAtom* name, nsHtml5String publicIdentifier, nsHtml5String systemIdentifier, bool forceQuirks)
 {
   if (forceQuirks) {
     return true;
   }
   if (name != nsGkAtoms::html) {
     return true;
   }
   if (publicIdentifier) {
@@ -3336,16 +3245,17 @@ nsHtml5TreeBuilder::closeTheCell(int32_t
   if (!!MOZ_UNLIKELY(mViewSource) && eltPos != currentPtr) {
     errUnclosedElementsCell(eltPos);
   }
   while (currentPtr >= eltPos) {
     pop();
   }
   clearTheListOfActiveFormattingElementsUpToTheLastMarker();
   mode = IN_ROW;
+  return;
 }
 
 int32_t 
 nsHtml5TreeBuilder::findLastInTableScopeTdTh()
 {
   for (int32_t i = currentPtr; i > 0; i--) {
     nsIAtom* name = stack[i]->name;
     if (stack[i]->ns == kNameSpaceID_XHTML) {
@@ -3359,20 +3269,17 @@ nsHtml5TreeBuilder::findLastInTableScope
   return nsHtml5TreeBuilder::NOT_FOUND_ON_STACK;
 }
 
 void 
 nsHtml5TreeBuilder::clearStackBackTo(int32_t eltPos)
 {
   int32_t eltGroup = stack[eltPos]->getGroup();
   while (currentPtr > eltPos) {
-    if (stack[currentPtr]->ns == kNameSpaceID_XHTML &&
-        stack[currentPtr]->getGroup() == TEMPLATE &&
-        (eltGroup == TABLE || eltGroup == TBODY_OR_THEAD_OR_TFOOT ||
-         eltGroup == TR || !eltPos)) {
+    if (stack[currentPtr]->ns == kNameSpaceID_XHTML && stack[currentPtr]->getGroup() == TEMPLATE && (eltGroup == TABLE || eltGroup == TBODY_OR_THEAD_OR_TFOOT || eltGroup == TR || !eltPos)) {
       return;
     }
     pop();
   }
 }
 
 void 
 nsHtml5TreeBuilder::resetTheInsertionMode()
@@ -3380,18 +3287,17 @@ nsHtml5TreeBuilder::resetTheInsertionMod
   nsHtml5StackNode* node;
   nsIAtom* name;
   int32_t ns;
   for (int32_t i = currentPtr; i >= 0; i--) {
     node = stack[i];
     name = node->name;
     ns = node->ns;
     if (!i) {
-      if (!(contextNamespace == kNameSpaceID_XHTML &&
-            (contextName == nsGkAtoms::td || contextName == nsGkAtoms::th))) {
+      if (!(contextNamespace == kNameSpaceID_XHTML && (contextName == nsGkAtoms::td || contextName == nsGkAtoms::th))) {
         if (fragment) {
           name = contextName;
           ns = contextNamespace;
         }
       } else {
         mode = framesetOk ? FRAMESET_OK : IN_BODY;
         return;
       }
@@ -3413,18 +3319,17 @@ nsHtml5TreeBuilder::resetTheInsertionMod
       mode = IN_SELECT;
       return;
     } else if (nsGkAtoms::td == name || nsGkAtoms::th == name) {
       mode = IN_CELL;
       return;
     } else if (nsGkAtoms::tr == name) {
       mode = IN_ROW;
       return;
-    } else if (nsGkAtoms::tbody == name || nsGkAtoms::thead == name ||
-               nsGkAtoms::tfoot == name) {
+    } else if (nsGkAtoms::tbody == name || nsGkAtoms::thead == name || nsGkAtoms::tfoot == name) {
       mode = IN_TABLE_BODY;
       return;
     } else if (nsGkAtoms::caption == name) {
       mode = IN_CAPTION;
       return;
     } else if (nsGkAtoms::colgroup == name) {
       mode = IN_COLUMN_GROUP;
       return;
@@ -3702,22 +3607,17 @@ nsHtml5TreeBuilder::adoptionAgencyEndTag
         continue;
       }
       if (nodePos == furthestBlockPos) {
         bookmark = nodeListPos + 1;
       }
       MOZ_ASSERT(node == listOfActiveFormattingElements[nodeListPos]);
       MOZ_ASSERT(node == stack[nodePos]);
       nsIContentHandle* clone = createElement(kNameSpaceID_XHTML, node->name, node->attributes->cloneAttributes(nullptr), commonAncestor->node);
-      nsHtml5StackNode* newNode = createStackNode(node->getFlags(),
-                                                  node->ns,
-                                                  node->name,
-                                                  clone,
-                                                  node->popName,
-                                                  node->attributes);
+      nsHtml5StackNode* newNode = createStackNode(node->getFlags(), node->ns, node->name, clone, node->popName, node->attributes);
       node->dropAttributes();
       stack[nodePos] = newNode;
       newNode->retain();
       listOfActiveFormattingElements[nodeListPos] = newNode;
       node->release(this);
       node->release(this);
       node = newNode;
       detachFromParent(lastNode->node);
@@ -3728,23 +3628,17 @@ nsHtml5TreeBuilder::adoptionAgencyEndTag
 
       detachFromParent(lastNode->node);
       insertIntoFosterParent(lastNode->node);
     } else {
       detachFromParent(lastNode->node);
       appendElement(lastNode->node, commonAncestor->node);
     }
     nsIContentHandle* clone = createElement(kNameSpaceID_XHTML, formattingElt->name, formattingElt->attributes->cloneAttributes(nullptr), furthestBlock->node);
-    nsHtml5StackNode* formattingClone =
-      createStackNode(formattingElt->getFlags(),
-                      formattingElt->ns,
-                      formattingElt->name,
-                      clone,
-                      formattingElt->popName,
-                      formattingElt->attributes);
+    nsHtml5StackNode* formattingClone = createStackNode(formattingElt->getFlags(), formattingElt->ns, formattingElt->name, clone, formattingElt->popName, formattingElt->attributes);
     formattingElt->dropAttributes();
     appendChildrenToNewParent(furthestBlock->node, clone);
     appendElement(clone, furthestBlock->node);
     removeFromListOfActiveFormattingElements(formattingEltListPos);
     insertIntoListOfActiveFormattingElements(formattingClone, bookmark);
     MOZ_ASSERT(formattingEltStackPos < furthestBlockPos);
     removeFromStack(formattingEltStackPos);
     insertIntoStack(formattingClone, furthestBlockPos);
@@ -3902,125 +3796,104 @@ nsHtml5TreeBuilder::reconstructTheActive
     nsHtml5StackNode* currentNode = stack[currentPtr];
     nsIContentHandle* clone;
     if (currentNode->isFosterParenting()) {
       clone = createAndInsertFosterParentedElement(kNameSpaceID_XHTML, entry->name, entry->attributes->cloneAttributes(nullptr));
     } else {
       clone = createElement(kNameSpaceID_XHTML, entry->name, entry->attributes->cloneAttributes(nullptr), currentNode->node);
       appendElement(clone, currentNode->node);
     }
-    nsHtml5StackNode* entryClone = createStackNode(entry->getFlags(),
-                                                   entry->ns,
-                                                   entry->name,
-                                                   clone,
-                                                   entry->popName,
-                                                   entry->attributes);
+    nsHtml5StackNode* entryClone = createStackNode(entry->getFlags(), entry->ns, entry->name, clone, entry->popName, entry->attributes);
     entry->dropAttributes();
     push(entryClone);
     listOfActiveFormattingElements[entryPos] = entryClone;
     entry->release(this);
     entryClone->retain();
   }
 }
 
-void
+void 
 nsHtml5TreeBuilder::notifyUnusedStackNode(int32_t idxInStackNodes)
 {
   if (idxInStackNodes < stackNodesIdx) {
     stackNodesIdx = idxInStackNodes;
   }
 }
 
-nsHtml5StackNode*
+nsHtml5StackNode* 
 nsHtml5TreeBuilder::getUnusedStackNode()
 {
   while (stackNodesIdx < numStackNodes) {
     if (stackNodes[stackNodesIdx]->isUnused()) {
       return stackNodes[stackNodesIdx++];
     }
     stackNodesIdx++;
   }
   if (stackNodesIdx < stackNodes.length) {
     stackNodes[stackNodesIdx] = new nsHtml5StackNode(stackNodesIdx);
     numStackNodes++;
     return stackNodes[stackNodesIdx++];
   }
-  jArray<nsHtml5StackNode*, int32_t> newStack =
-    jArray<nsHtml5StackNode*, int32_t>::newJArray(stackNodes.length + 64);
+  jArray<nsHtml5StackNode*,int32_t> newStack = jArray<nsHtml5StackNode*,int32_t>::newJArray(stackNodes.length + 64);
   nsHtml5ArrayCopy::arraycopy(stackNodes, newStack, stackNodes.length);
   stackNodes = newStack;
   stackNodes[stackNodesIdx] = new nsHtml5StackNode(stackNodesIdx);
   numStackNodes++;
   return stackNodes[stackNodesIdx++];
 }
 
-nsHtml5StackNode*
-nsHtml5TreeBuilder::createStackNode(int32_t flags,
-                                    int32_t ns,
-                                    nsIAtom* name,
-                                    nsIContentHandle* node,
-                                    nsIAtom* popName,
-                                    nsHtml5HtmlAttributes* attributes)
+nsHtml5StackNode* 
+nsHtml5TreeBuilder::createStackNode(int32_t flags, int32_t ns, nsIAtom* name, nsIContentHandle* node, nsIAtom* popName, nsHtml5HtmlAttributes* attributes)
 {
   nsHtml5StackNode* instance = getUnusedStackNode();
   instance->setValues(flags, ns, name, node, popName, attributes);
   return instance;
 }
 
-nsHtml5StackNode*
-nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName,
-                                    nsIContentHandle* node)
+nsHtml5StackNode* 
+nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node)
 {
   nsHtml5StackNode* instance = getUnusedStackNode();
   instance->setValues(elementName, node);
   return instance;
 }
 
-nsHtml5StackNode*
-nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName,
-                                    nsIContentHandle* node,
-                                    nsHtml5HtmlAttributes* attributes)
+nsHtml5StackNode* 
+nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsHtml5HtmlAttributes* attributes)
 {
   nsHtml5StackNode* instance = getUnusedStackNode();
   instance->setValues(elementName, node, attributes);
   return instance;
 }
 
-nsHtml5StackNode*
-nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName,
-                                    nsIContentHandle* node,
-                                    nsIAtom* popName)
+nsHtml5StackNode* 
+nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName)
 {
   nsHtml5StackNode* instance = getUnusedStackNode();
   instance->setValues(elementName, node, popName);
   return instance;
 }
 
-nsHtml5StackNode*
-nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName,
-                                    nsIAtom* popName,
-                                    nsIContentHandle* node)
+nsHtml5StackNode* 
+nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName, nsIAtom* popName, nsIContentHandle* node)
 {
   nsHtml5StackNode* instance = getUnusedStackNode();
   instance->setValues(elementName, popName, node);
   return instance;
 }
 
-nsHtml5StackNode*
-nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName,
-                                    nsIContentHandle* node,
-                                    nsIAtom* popName,
-                                    bool markAsIntegrationPoint)
+nsHtml5StackNode* 
+nsHtml5TreeBuilder::createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName, bool markAsIntegrationPoint)
 {
   nsHtml5StackNode* instance = getUnusedStackNode();
   instance->setValues(elementName, node, popName, markAsIntegrationPoint);
   return instance;
 }
 
-void
+void 
 nsHtml5TreeBuilder::insertIntoFosterParent(nsIContentHandle* child)
 {
   int32_t tablePos = findLastOrRoot(nsHtml5TreeBuilder::TABLE);
   int32_t templatePos = findLastOrRoot(nsHtml5TreeBuilder::TEMPLATE);
   if (templatePos >= tablePos) {
     appendElement(child, stack[templatePos]->node);
     return;
   }
@@ -4108,18 +3981,17 @@ nsHtml5TreeBuilder::appendHtmlElementToD
 {
   appendHtmlElementToDocumentAndPush(tokenizer->emptyAttributes());
 }
 
 void 
 nsHtml5TreeBuilder::appendToCurrentNodeAndPushHeadElement(nsHtml5HtmlAttributes* attributes)
 {
   nsIContentHandle* currentNode = stack[currentPtr]->node;
-  nsIContentHandle* elt =
-    createElement(kNameSpaceID_XHTML, nsGkAtoms::head, attributes, currentNode);
+  nsIContentHandle* elt = createElement(kNameSpaceID_XHTML, nsGkAtoms::head, attributes, currentNode);
   appendElement(elt, currentNode);
   headPointer = elt;
   nsHtml5StackNode* node = createStackNode(nsHtml5ElementName::ELT_HEAD, elt);
   push(node);
 }
 
 void 
 nsHtml5TreeBuilder::appendToCurrentNodeAndPushBodyElement(nsHtml5HtmlAttributes* attributes)
@@ -4135,21 +4007,19 @@ nsHtml5TreeBuilder::appendToCurrentNodeA
 
 void 
 nsHtml5TreeBuilder::appendToCurrentNodeAndPushFormElementMayFoster(nsHtml5HtmlAttributes* attributes)
 {
   nsIContentHandle* elt;
   nsHtml5StackNode* current = stack[currentPtr];
   if (current->isFosterParenting()) {
 
-    elt = createAndInsertFosterParentedElement(
-      kNameSpaceID_XHTML, nsGkAtoms::form, attributes);
+    elt = createAndInsertFosterParentedElement(kNameSpaceID_XHTML, nsGkAtoms::form, attributes);
   } else {
-    elt = createElement(
-      kNameSpaceID_XHTML, nsGkAtoms::form, attributes, current->node);
+    elt = createElement(kNameSpaceID_XHTML, nsGkAtoms::form, attributes, current->node);
     appendElement(elt, current->node);
   }
   if (!isTemplateContents()) {
     formPointer = elt;
   }
   nsHtml5StackNode* node = createStackNode(nsHtml5ElementName::ELT_FORM, elt);
   push(node);
 }
@@ -4157,35 +4027,32 @@ nsHtml5TreeBuilder::appendToCurrentNodeA
 void 
 nsHtml5TreeBuilder::appendToCurrentNodeAndPushFormattingElementMayFoster(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes)
 {
   nsHtml5HtmlAttributes* clone = attributes->cloneAttributes(nullptr);
   nsIContentHandle* elt;
   nsHtml5StackNode* current = stack[currentPtr];
   if (current->isFosterParenting()) {
 
-    elt = createAndInsertFosterParentedElement(
-      kNameSpaceID_XHTML, elementName->getName(), attributes);
+    elt = createAndInsertFosterParentedElement(kNameSpaceID_XHTML, elementName->getName(), attributes);
   } else {
-    elt = createElement(
-      kNameSpaceID_XHTML, elementName->getName(), attributes, current->node);
+    elt = createElement(kNameSpaceID_XHTML, elementName->getName(), attributes, current->node);
     appendElement(elt, current->node);
   }
   nsHtml5StackNode* node = createStackNode(elementName, elt, clone);
   push(node);
   append(node);
   node->retain();
 }
 
 void 
 nsHtml5TreeBuilder::appendToCurrentNodeAndPushElement(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes)
 {
   nsIContentHandle* currentNode = stack[currentPtr]->node;
-  nsIContentHandle* elt = createElement(
-    kNameSpaceID_XHTML, elementName->getName(), attributes, currentNode);
+  nsIContentHandle* elt = createElement(kNameSpaceID_XHTML, elementName->getName(), attributes, currentNode);
   appendElement(elt, currentNode);
   if (nsHtml5ElementName::ELT_TEMPLATE == elementName) {
     elt = getDocumentFragmentForTemplate(elt);
   }
   nsHtml5StackNode* node = createStackNode(elementName, elt);
   push(node);
 }
 
@@ -4218,26 +4085,24 @@ nsHtml5TreeBuilder::appendToCurrentNodeA
   nsHtml5StackNode* current = stack[currentPtr];
   if (current->isFosterParenting()) {
 
     elt = createAndInsertFosterParentedElement(kNameSpaceID_MathML, popName, attributes);
   } else {
     elt = createElement(kNameSpaceID_MathML, popName, attributes, current->node);
     appendElement(elt, current->node);
   }
-  nsHtml5StackNode* node =
-    createStackNode(elementName, elt, popName, markAsHtmlIntegrationPoint);
+  nsHtml5StackNode* node = createStackNode(elementName, elt, popName, markAsHtmlIntegrationPoint);
   push(node);
 }
 
 bool 
 nsHtml5TreeBuilder::annotationXmlEncodingPermitsHtml(nsHtml5HtmlAttributes* attributes)
 {
-  nsHtml5String encoding =
-    attributes->getValue(nsHtml5AttributeName::ATTR_ENCODING);
+  nsHtml5String encoding = attributes->getValue(nsHtml5AttributeName::ATTR_ENCODING);
   if (!encoding) {
     return false;
   }
   return nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("application/xhtml+xml", encoding) || nsHtml5Portability::lowerCaseLiteralEqualsIgnoreAsciiCaseString("text/html", encoding);
 }
 
 void 
 nsHtml5TreeBuilder::appendToCurrentNodeAndPushElementMayFosterSVG(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes)
@@ -4259,24 +4124,19 @@ nsHtml5TreeBuilder::appendToCurrentNodeA
 void 
 nsHtml5TreeBuilder::appendToCurrentNodeAndPushElementMayFoster(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes, nsIContentHandle* form)
 {
   nsIContentHandle* elt;
   nsIContentHandle* formOwner = !form || fragment || isTemplateContents() ? nullptr : form;
   nsHtml5StackNode* current = stack[currentPtr];
   if (current->isFosterParenting()) {
 
-    elt = createAndInsertFosterParentedElement(
-      kNameSpaceID_XHTML, elementName->getName(), attributes, formOwner);
+    elt = createAndInsertFosterParentedElement(kNameSpaceID_XHTML, elementName->getName(), attributes, formOwner);
   } else {
-    elt = createElement(kNameSpaceID_XHTML,
-                        elementName->getName(),
-                        attributes,
-                        formOwner,
-                        current->node);
+    elt = createElement(kNameSpaceID_XHTML, elementName->getName(), attributes, formOwner, current->node);
     appendElement(elt, current->node);
   }
   nsHtml5StackNode* node = createStackNode(elementName, elt);
   push(node);
 }
 
 void 
 nsHtml5TreeBuilder::appendVoidElementToCurrentMayFoster(nsIAtom* name, nsHtml5HtmlAttributes* attributes, nsIContentHandle* form)
@@ -4355,18 +4215,17 @@ nsHtml5TreeBuilder::appendVoidElementToC
   elementPushed(kNameSpaceID_XHTML, name, elt);
   elementPopped(kNameSpaceID_XHTML, name, elt);
 }
 
 void 
 nsHtml5TreeBuilder::appendVoidFormToCurrent(nsHtml5HtmlAttributes* attributes)
 {
   nsIContentHandle* currentNode = stack[currentPtr]->node;
-  nsIContentHandle* elt =
-    createElement(kNameSpaceID_XHTML, nsGkAtoms::form, attributes, currentNode);
+  nsIContentHandle* elt = createElement(kNameSpaceID_XHTML, nsGkAtoms::form, attributes, currentNode);
   formPointer = elt;
   appendElement(elt, currentNode);
   elementPushed(kNameSpaceID_XHTML, nsGkAtoms::form, elt);
   elementPopped(kNameSpaceID_XHTML, nsGkAtoms::form, elt);
 }
 
 void 
 nsHtml5TreeBuilder::requestSuspension()
@@ -4422,18 +4281,17 @@ nsHtml5TreeBuilder::setIsSrcdocDocument(
 {
   this->isSrcdocDocument = isSrcdocDocument;
 }
 
 void 
 nsHtml5TreeBuilder::flushCharacters()
 {
   if (charBufferLen > 0) {
-    if ((mode == IN_TABLE || mode == IN_TABLE_BODY || mode == IN_ROW) &&
-        charBufferContainsNonWhitespace()) {
+    if ((mode == IN_TABLE || mode == IN_TABLE_BODY || mode == IN_ROW) && charBufferContainsNonWhitespace()) {
       errNonSpaceInTable();
       reconstructTheActiveFormattingElements();
       if (!stack[currentPtr]->isFosterParenting()) {
         appendCharacters(currentNode(), charBuffer, 0, charBufferLen);
         charBufferLen = 0;
         return;
       }
       int32_t tablePos = findLastOrRoot(nsHtml5TreeBuilder::TABLE);
@@ -4476,39 +4334,29 @@ nsHtml5TreeBuilder::charBufferContainsNo
 nsAHtml5TreeBuilderState* 
 nsHtml5TreeBuilder::newSnapshot()
 {
   jArray<nsHtml5StackNode*,int32_t> listCopy = jArray<nsHtml5StackNode*,int32_t>::newJArray(listPtr + 1);
   for (int32_t i = 0; i < listCopy.length; i++) {
     nsHtml5StackNode* node = listOfActiveFormattingElements[i];
     if (node) {
       nsHtml5StackNode* newNode = new nsHtml5StackNode(-1);
-      newNode->setValues(node->getFlags(),
-                         node->ns,
-                         node->name,
-                         node->node,
-                         node->popName,
-                         node->attributes->cloneAttributes(nullptr));
+      newNode->setValues(node->getFlags(), node->ns, node->name, node->node, node->popName, node->attributes->cloneAttributes(nullptr));
       listCopy[i] = newNode;
     } else {
       listCopy[i] = nullptr;
     }
   }
   jArray<nsHtml5StackNode*,int32_t> stackCopy = jArray<nsHtml5StackNode*,int32_t>::newJArray(currentPtr + 1);
   for (int32_t i = 0; i < stackCopy.length; i++) {
     nsHtml5StackNode* node = stack[i];
     int32_t listIndex = findInListOfActiveFormattingElements(node);
     if (listIndex == -1) {
       nsHtml5StackNode* newNode = new nsHtml5StackNode(-1);
-      newNode->setValues(node->getFlags(),
-                         node->ns,
-                         node->name,
-                         node->node,
-                         node->popName,
-                         nullptr);
+      newNode->setValues(node->getFlags(), node->ns, node->name, node->node, node->popName, nullptr);
       stackCopy[i] = newNode;
     } else {
       stackCopy[i] = listCopy[listIndex];
       stackCopy[i]->retain();
     }
   }
   jArray<int32_t,int32_t> templateModeStackCopy = jArray<int32_t,int32_t>::newJArray(templateModePtr + 1);
   nsHtml5ArrayCopy::arraycopy(templateModeStack, templateModeStackCopy, templateModeStackCopy.length);
@@ -4577,39 +4425,27 @@ nsHtml5TreeBuilder::loadState(nsAHtml5Tr
   currentPtr = stackLen - 1;
   if (templateModeStack.length < templateModeStackLen) {
     templateModeStack = jArray<int32_t,int32_t>::newJArray(templateModeStackLen);
   }
   templateModePtr = templateModeStackLen - 1;
   for (int32_t i = 0; i < listLen; i++) {
     nsHtml5StackNode* node = listCopy[i];
     if (node) {
-      nsHtml5StackNode* newNode = createStackNode(
-        node->getFlags(),
-        node->ns,
-        nsHtml5Portability::newLocalFromLocal(node->name, interner),
-        node->node,
-        nsHtml5Portability::newLocalFromLocal(node->popName, interner),
-        node->attributes->cloneAttributes(nullptr));
+      nsHtml5StackNode* newNode = createStackNode(node->getFlags(), node->ns, nsHtml5Portability::newLocalFromLocal(node->name, interner), node->node, nsHtml5Portability::newLocalFromLocal(node->popName, interner), node->attributes->cloneAttributes(nullptr));
       listOfActiveFormattingElements[i] = newNode;
     } else {
       listOfActiveFormattingElements[i] = nullptr;
     }
   }
   for (int32_t i = 0; i < stackLen; i++) {
     nsHtml5StackNode* node = stackCopy[i];
     int32_t listIndex = findInArray(node, listCopy);
     if (listIndex == -1) {
-      nsHtml5StackNode* newNode = createStackNode(
-        node->getFlags(),
-        node->ns,
-        nsHtml5Portability::newLocalFromLocal(node->name, interner),
-        node->node,
-        nsHtml5Portability::newLocalFromLocal(node->popName, interner),
-        nullptr);
+      nsHtml5StackNode* newNode = createStackNode(node->getFlags(), node->ns, nsHtml5Portability::newLocalFromLocal(node->name, interner), node->node, nsHtml5Portability::newLocalFromLocal(node->popName, interner), nullptr);
       stack[i] = newNode;
     } else {
       stack[i] = listOfActiveFormattingElements[listIndex];
       stack[i]->retain();
     }
   }
   nsHtml5ArrayCopy::arraycopy(templateModeStackCopy, templateModeStack, templateModeStackLen);
   formPointer = snapshot->getFormPointer();
--- a/parser/html/nsHtml5TreeBuilder.h
+++ b/parser/html/nsHtml5TreeBuilder.h
@@ -156,33 +156,29 @@ class nsHtml5TreeBuilder : public nsAHtm
     static const int32_t DD_OR_DT = 41;
 
     static const int32_t H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 = 42;
 
     static const int32_t MARQUEE_OR_APPLET = 43;
 
     static const int32_t PRE_OR_LISTING = 44;
 
-    static const int32_t
-      B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U =
-        45;
+    static const int32_t B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U = 45;
 
     static const int32_t UL_OR_OL_OR_DL = 46;
 
     static const int32_t IFRAME = 47;
 
     static const int32_t EMBED = 48;
 
     static const int32_t AREA_OR_WBR = 49;
 
     static const int32_t DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU = 50;
 
-    static const int32_t
-      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 =
-        51;
+    static const int32_t 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 = 51;
 
     static const int32_t RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR = 52;
 
     static const int32_t RB_OR_RTC = 53;
 
     static const int32_t PARAM_OR_SOURCE_OR_TRACK = 55;
 
     static const int32_t MGLYPH_OR_MALIGNMARK = 56;
@@ -294,17 +290,17 @@ class nsHtml5TreeBuilder : public nsAHtm
     bool scriptingEnabled;
     bool needToDropLF;
     bool fragment;
     nsIAtom* contextName;
     int32_t contextNamespace;
     nsIContentHandle* contextNode;
     autoJArray<int32_t,int32_t> templateModeStack;
     int32_t templateModePtr;
-    autoJArray<nsHtml5StackNode*, int32_t> stackNodes;
+    autoJArray<nsHtml5StackNode*,int32_t> stackNodes;
     int32_t stackNodesIdx;
     int32_t numStackNodes;
     autoJArray<nsHtml5StackNode*,int32_t> stack;
     int32_t currentPtr;
     autoJArray<nsHtml5StackNode*,int32_t> listOfActiveFormattingElements;
     int32_t listPtr;
     nsIContentHandle* formPointer;
     nsIContentHandle* headPointer;
@@ -312,64 +308,52 @@ class nsHtml5TreeBuilder : public nsAHtm
   protected:
     autoJArray<char16_t,int32_t> charBuffer;
     int32_t charBufferLen;
   private:
     bool quirks;
     bool isSrcdocDocument;
   public:
     void startTokenization(nsHtml5Tokenizer* self);
-    void doctype(nsIAtom* name,
-                 nsHtml5String publicIdentifier,
-                 nsHtml5String systemIdentifier,
-                 bool forceQuirks);
+    void doctype(nsIAtom* name, nsHtml5String publicIdentifier, nsHtml5String systemIdentifier, bool forceQuirks);
     void comment(char16_t* buf, int32_t start, int32_t length);
     void characters(const char16_t* buf, int32_t start, int32_t length);
     void zeroOriginatingReplacementCharacter();
     void eof();
     void endTokenization();
     void startTag(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes, bool selfClosing);
   private:
     void startTagTitleInHead(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes);
     void startTagGenericRawText(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes);
     void startTagScriptInHead(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes);
     void startTagTemplateInHead(nsHtml5ElementName* elementName, nsHtml5HtmlAttributes* attributes);
     bool isTemplateContents();
     bool isTemplateModeStackEmpty();
     bool isSpecialParentInForeign(nsHtml5StackNode* stackNode);
   public:
-    static nsHtml5String extractCharsetFromContent(nsHtml5String attributeValue,
-                                                   nsHtml5TreeBuilder* tb);
-
+    static nsHtml5String extractCharsetFromContent(nsHtml5String attributeValue, nsHtml5TreeBuilder* tb);
   private:
     void checkMetaCharset(nsHtml5HtmlAttributes* attributes);
   public:
     void endTag(nsHtml5ElementName* elementName);
   private:
     void endTagTemplateInHead();
     int32_t findLastInTableScopeOrRootTemplateTbodyTheadTfoot();
     int32_t findLast(nsIAtom* name);
     int32_t findLastInTableScope(nsIAtom* name);
     int32_t findLastInButtonScope(nsIAtom* name);
     int32_t findLastInScope(nsIAtom* name);
     int32_t findLastInListScope(nsIAtom* name);
     int32_t findLastInScopeHn();
     void generateImpliedEndTagsExceptFor(nsIAtom* name);
     void generateImpliedEndTags();
     bool isSecondOnStackBody();
-    void documentModeInternal(nsHtml5DocumentMode m,
-                              nsHtml5String publicIdentifier,
-                              nsHtml5String systemIdentifier,
-                              bool html4SpecificAdditionalErrorChecks);
-    bool isAlmostStandards(nsHtml5String publicIdentifier,
-                           nsHtml5String systemIdentifier);
-    bool isQuirky(nsIAtom* name,
-                  nsHtml5String publicIdentifier,
-                  nsHtml5String systemIdentifier,
-                  bool forceQuirks);
+    void documentModeInternal(nsHtml5DocumentMode m, nsHtml5String publicIdentifier, nsHtml5String systemIdentifier, bool html4SpecificAdditionalErrorChecks);
+    bool isAlmostStandards(nsHtml5String publicIdentifier, nsHtml5String systemIdentifier);
+    bool isQuirky(nsIAtom* name, nsHtml5String publicIdentifier, nsHtml5String systemIdentifier, bool forceQuirks);
     void closeTheCell(int32_t eltPos);
     int32_t findLastInTableScopeTdTh();
     void clearStackBackTo(int32_t eltPos);
     void resetTheInsertionMode();
     void implicitlyCloseP();
     bool debugOnlyClearLastStackSlot();
     bool debugOnlyClearLastListSlot();
     void pushTemplateMode(int32_t mode);
@@ -401,37 +385,22 @@ class nsHtml5TreeBuilder : public nsAHtm
     bool addAttributesToBody(nsHtml5HtmlAttributes* attributes);
     void addAttributesToHtml(nsHtml5HtmlAttributes* attributes);
     void pushHeadPointerOntoStack();
     void reconstructTheActiveFormattingElements();
   public:
     void notifyUnusedStackNode(int32_t idxInStackNodes);
   private:
     nsHtml5StackNode* getUnusedStackNode();
-    nsHtml5StackNode* createStackNode(int32_t flags,
-                                      int32_t ns,
-                                      nsIAtom* name,
-                                      nsIContentHandle* node,
-                                      nsIAtom* popName,
-                                      nsHtml5HtmlAttributes* attributes);
-    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName,
-                                      nsIContentHandle* node);
-    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName,
-                                      nsIContentHandle* node,
-                                      nsHtml5HtmlAttributes* attributes);
-    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName,
-                                      nsIContentHandle* node,
-                                      nsIAtom* popName);
-    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName,
-                                      nsIAtom* popName,
-                                      nsIContentHandle* node);
-    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName,
-                                      nsIContentHandle* node,
-                                      nsIAtom* popName,
-                                      bool markAsIntegrationPoint);
+    nsHtml5StackNode* createStackNode(int32_t flags, int32_t ns, nsIAtom* name, nsIContentHandle* node, nsIAtom* popName, nsHtml5HtmlAttributes* attributes);
+    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node);
+    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsHtml5HtmlAttributes* attributes);
+    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName);
+    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName, nsIAtom* popName, nsIContentHandle* node);
+    nsHtml5StackNode* createStackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName, bool markAsIntegrationPoint);
     void insertIntoFosterParent(nsIContentHandle* child);
     nsIContentHandle* createAndInsertFosterParentedElement(int32_t ns, nsIAtom* name, nsHtml5HtmlAttributes* attributes);
     nsIContentHandle* createAndInsertFosterParentedElement(int32_t ns, nsIAtom* name, nsHtml5HtmlAttributes* attributes, nsIContentHandle* form);
     bool isInStack(nsHtml5StackNode* node);
     void popTemplateMode();
     void pop();
     void silentPop();
     void popOnEof();
@@ -469,19 +438,17 @@ class nsHtml5TreeBuilder : public nsAHtm
     ;void insertFosterParentedCharacters(char16_t* buf, int32_t start, int32_t length, nsIContentHandle* table, nsIContentHandle* stackParent);
     void appendCharacters(nsIContentHandle* parent, char16_t* buf, int32_t start, int32_t length);
     void appendComment(nsIContentHandle* parent, char16_t* buf, int32_t start, int32_t length);
     void appendCommentToDocument(char16_t* buf, int32_t start, int32_t length);
     void addAttributesToElement(nsIContentHandle* element, nsHtml5HtmlAttributes* attributes);
     void markMalformedIfScript(nsIContentHandle* elt);
     void start(bool fragmentMode);
     void end();
-    void appendDoctypeToDocument(nsIAtom* name,
-                                 nsHtml5String publicIdentifier,
-                                 nsHtml5String systemIdentifier);
+    void appendDoctypeToDocument(nsIAtom* name, nsHtml5String publicIdentifier, nsHtml5String systemIdentifier);
     void elementPushed(int32_t ns, nsIAtom* name, nsIContentHandle* node);
     void elementPopped(int32_t ns, nsIAtom* name, nsIContentHandle* node);
   public:
     inline bool cdataSectionAllowed()
     {
       return isInForeign();
     }