diff options
Diffstat (limited to 'parser/html')
-rw-r--r-- | parser/html/javasrc/AttributeName.java | 1134 | ||||
-rw-r--r-- | parser/html/javasrc/TreeBuilder.java | 6 | ||||
-rw-r--r-- | parser/html/nsHtml5AttributeName.cpp | 929 | ||||
-rw-r--r-- | parser/html/nsHtml5AttributeName.h | 2 | ||||
-rw-r--r-- | parser/html/nsHtml5SpeculativeLoad.cpp | 2 | ||||
-rw-r--r-- | parser/html/nsHtml5SpeculativeLoad.h | 3 | ||||
-rw-r--r-- | parser/html/nsHtml5StreamParser.cpp | 14 | ||||
-rw-r--r-- | parser/html/nsHtml5TreeBuilder.cpp | 4 | ||||
-rw-r--r-- | parser/html/nsHtml5TreeBuilderCppSupplement.h | 148 | ||||
-rw-r--r-- | parser/html/nsHtml5TreeBuilderHSupplement.h | 1 | ||||
-rw-r--r-- | parser/html/nsHtml5TreeOpExecutor.cpp | 5 | ||||
-rw-r--r-- | parser/html/nsHtml5TreeOpExecutor.h | 3 | ||||
-rw-r--r-- | parser/html/nsHtml5TreeOperation.cpp | 12 | ||||
-rw-r--r-- | parser/html/nsHtml5TreeOperation.h | 3 | ||||
-rw-r--r-- | parser/html/nsParserUtils.cpp | 1 |
15 files changed, 1169 insertions, 1098 deletions
diff --git a/parser/html/javasrc/AttributeName.java b/parser/html/javasrc/AttributeName.java index 87adc29098..fa608ac60d 100644 --- a/parser/html/javasrc/AttributeName.java +++ b/parser/html/javasrc/AttributeName.java @@ -800,6 +800,7 @@ public final class AttributeName public static final AttributeName RENDERING_INTENT = new AttributeName(ALL_NO_NS, "rendering-intent", "rendering-intent", "rendering-intent", "rendering-intent", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SHADOWROOTMODE = new AttributeName(ALL_NO_NS, "shadowrootmode", "shadowrootmode", "shadowrootmode", "shadowrootmode", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SEED = new AttributeName(ALL_NO_NS, "seed", "seed", "seed", "seed", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); + public static final AttributeName SHADOWROOTCLONABLE = new AttributeName(ALL_NO_NS, "shadowrootclonable", "shadowrootclonable", "shadowrootclonable", "shadowrootclonable", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SRCDOC = new AttributeName(ALL_NO_NS, "srcdoc", "srcdoc", "srcdoc", "srcdoc", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName STDDEVIATION = new AttributeName(ALL_NO_NS, "stddeviation", "stddeviation", "stdDeviation", "stddeviation", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SANDBOX = new AttributeName(ALL_NO_NS, "sandbox", "sandbox", "sandbox", "sandbox", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); @@ -976,6 +977,7 @@ public final class AttributeName public static final AttributeName ASYNC = new AttributeName(ALL_NO_NS, "async", "async", "async", "async", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG | CASE_FOLDED | BOOLEAN); public static final AttributeName ALINK = new AttributeName(ALL_NO_NS, "alink", "alink", "alink", "alink", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName IN = new AttributeName(ALL_NO_NS, "in", "in", "in", "in", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); + public static final AttributeName EVENT = new AttributeName(ALL_NO_NS, "event", "event", "event", "event", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName ICON = new AttributeName(ALL_NO_NS, "icon", "icon", "icon", "icon", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName KERNELMATRIX = new AttributeName(ALL_NO_NS, "kernelmatrix", "kernelmatrix", "kernelMatrix", "kernelmatrix", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName KERNING = new AttributeName(ALL_NO_NS, "kerning", "kerning", "kerning", "kerning", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); @@ -1194,37 +1196,37 @@ public final class AttributeName public static final AttributeName RY = new AttributeName(ALL_NO_NS, "ry", "ry", "ry", "ry", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName REFY = new AttributeName(ALL_NO_NS, "refy", "refy", "refY", "refy", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); private final static @NoLength AttributeName[] ATTRIBUTE_NAMES = { - CELLSPACING, - CODETYPE, - ATTRIBUTENAME, + AMPLITUDE, + CODE, + WRAP, CLEAR, - ALIGNMENTSCOPE, - BGCOLOR, - FILTERUNITS, + ALIGNMENT_BASELINE, + AUTOFOCUS, + FONT_VARIANT, ARIA_DISABLED, OPACITY, - ONBEFORECOPY, - ACTION, - KERNELMATRIX, - STROKE_DASHOFFSET, - IS, - INPUTMODE, + ORIENTATION, + ACTIONTYPE, + EVENT, + STROKE_LINECAP, + CLOSE, + COLUMNWIDTH, Y, ARIA_MULTISELECTABLE, ROTATE, - STDDEVIATION, - MODE, - SUPERSCRIPTSHIFT, - TARGETX, - SCRIPTMINSIZE, - FORMAT, - TRANSFORM, - ONMOUSEOVER, - GLYPHREF, - OVERFLOW, - CONTENTEDITABLE, - STITCHTILES, - RX, + SRCDOC, + LINETHICKNESS, + SIZES, + TARGET, + SCRIPTSIZEMULTIPLIER, + AZIMUTH, + STANDBY, + ONMOUSEWHEEL, + GLYPH_ORIENTATION_VERTICAL, + ONERROR, + VERSION, + PATTERNCONTENTUNITS, + DX, MIN, K3, ARIA_CHANNEL, @@ -1232,30 +1234,30 @@ public final class AttributeName LOCAL, ONABORT, HIDDEN, - ACCEPT, - ENTERKEYHINT, - OTHER, - REPEAT, - HREF, - LARGEOP, - MATHCOLOR, - MEDIA, - MARKER_END, - ONBLUR, - SYMMETRIC, - POINTER_EVENTS, - XMLNS, - FLOOD_COLOR, - ONFOCUS, - CLIP, - SCOPE, - ONDRAG, - COLSPAN, - PRESERVEASPECTRATIO, - FONTWEIGHT, - ONSTOP, - WIDTH, - VALUETYPE, + ACCENT, + EDGE, + ORDER, + ONRESIZE, + DIFFUSECONSTANT, + LANG, + MATHVARIANT, + LIMITINGCONEANGLE, + MARKERHEIGHT, + ONCLICK, + PRIMITIVEUNITS, + ONEND, + XLINK_ARCROLE, + ENCODING, + ONMOUSEMOVE, + STROKE_OPACITY, + STEP, + NOWRAP, + AXIS, + OFFSET, + FONT_STRETCH, + MULTIPLE, + TEXT, + REQUIREDEXTENSIONS, DY, END, SRC, @@ -1271,54 +1273,54 @@ public final class AttributeName FETCHPRIORITY, BORDER, RENDERING_INTENT, - ACCENTUNDER, - BASEPROFILE, - DATETIME, - INTEGRITY, - ONREPEAT, - ONBEGIN, - ONKEYUP, - REPEATCOUNT, - SELECTION, - SURFACESCALE, - IMAGESRCSET, - MARGINWIDTH, - LIGHTING_COLOR, - PATHLENGTH, - DOMINANT_BASELINE, - RADIOGROUP, - BACKGROUND, - MASKUNITS, - FILL, - STYLE, - FROM, - ASYNC, - OPEN, - POINTSATZ, - XLINK_TITLE, - AUTOPLAY, - COLOR, - NOMODULE, - ONCOPY, - TO, - SCROLLING, - DISPLAY, - PROPERTY, - STOP_OPACITY, - CHAROFF, - ONDROP, - START, - CURSOR, - MAXSIZE, - SRCSET, - DEPTH, - FONTFAMILY, - LETTER_SPACING, - PATTERN, - TEXT_ANCHOR, - COLUMNALIGN, - REQUIREDFEATURES, - VIEWBOX, + WORD_SPACING, + BASELINE_SHIFT, + DEFER, + INTERCEPT, + ONBEFOREUNLOAD, + ONMESSAGE, + ONKEYPRESS, + ROLE, + SPREADMETHOD, + PROFILE, + IMAGESIZES, + MARGINHEIGHT, + HIGH, + ONCHANGE, + BEGIN, + OPTIMUM, + VISIBILITY, + MARKERWIDTH, + FILL_RULE, + SCALE, + FRAMESPACING, + ZOOMANDPAN, + KERNELUNITLENGTH, + POINTSATX, + WHEN, + XLINK_SHOW, + COLOR_RENDERING, + LQUOTE, + ONCONTEXTMENU, + ONFOCUSOUT, + STROKE_MITERLIMIT, + CLIP_PATH, + KEYPOINTS, + SLOPE, + CHAR, + ONDRAGOVER, + ONDRAGLEAVE, + CROSSORIGIN, + KEYSPLINES, + ROWSPACING, + CONTENT, + FONTSTYLE, + FONT_SIZE, + POSTER, + TEXT_RENDERING, + COLUMNSPAN, + ONCUT, + ELEVATION, BY, RY, DIR, @@ -1349,103 +1351,103 @@ public final class AttributeName GRADIENTTRANSFORM, LOADING, SEED, - SHADOWROOTDELEGATESFOCUS, - ACCESSKEY, - BASEFREQUENCY, - BASE, - CITE, - EDGEMODE, - INDEX, - LABEL, - NORESIZE, - ONSELECT, - ONREADYSTATECHANGE, - ORIENT, - ONBEFOREPASTE, - ONKEYDOWN, - RULES, - SELECTED, - SCHEME, - TYPE, - ONAFTERPRINT, - ALIGN, - HEIGHT, - LANGUAGE, - LENGTHADJUST, - PING, - ARCHIVE, - METHOD, - NOSHADE, - ALTIMG, - ADDITIVE, - DEFINITIONURL, - ONFINISH, - SCRIPTLEVEL, - VALIGN, - MARKER_MID, - MARKER_START, - MASKCONTENTUNITS, - DECLARE, - MAXLENGTH, - ROWLINES, - TITLE, - FRAME, - PROMPT, - USEMAP, - IN, - KERNELUNITLENGTH, - ONEND, - POINTSATX, - STANDBY, - WHEN, - XLINK_ARCROLE, - XLINK_SHOW, - AUTOFOCUS, - COLOR_RENDERING, - ENCODING, - LQUOTE, - ONMOUSEWHEEL, - ONCONTEXTMENU, - ONMOUSEMOVE, - ONFOCUSOUT, - STROKE_LINECAP, - STROKE_MITERLIMIT, - STROKE_OPACITY, - CLIP_PATH, - GLYPH_ORIENTATION_VERTICAL, - KEYPOINTS, - STEP, - SLOPE, - WRAP, - CHAR, - NOWRAP, - ONDRAGOVER, - ONERROR, - ONDRAGLEAVE, - AXIS, - CROSSORIGIN, - CLOSE, - KEYSPLINES, - OFFSET, - ROWSPACING, - VERSION, - CONTENT, - FONT_STRETCH, - FONTSTYLE, - FONT_VARIANT, - FONT_SIZE, - MULTIPLE, - POSTER, - PATTERNCONTENTUNITS, - TEXT_RENDERING, - TEXT, - COLUMNSPAN, - COLUMNWIDTH, - ONCUT, - REQUIREDEXTENSIONS, - ELEVATION, - DX, - REFX, + SANDBOX, + ACCEPT_CHARSET, + BEVELLED, + BASELINE, + CODEBASE, + DIRECTION, + FACE, + LINEBREAK, + NAME, + OBJECT, + ONRESET, + ONBEFOREPRINT, + ONSELECTSTART, + ONBEFORECUT, + REFERRERPOLICY, + REPEATDUR, + STRETCHY, + SIZE, + HREFLANG, + XREF, + DRAGGABLE, + IMAGE_RENDERING, + LONGDESC, + ORIGIN, + TARGETY, + MATHBACKGROUND, + MATHSIZE, + PATH, + ACTIVE, + DIVISOR, + MANIFEST, + RADIUS, + TABINDEX, + LINK, + MASK, + MARKERUNITS, + CELLPADDING, + FILL_OPACITY, + REPLACE, + TABLEVALUES, + FRAMEBORDER, + FORM, + SUMMARY, + ALINK, + KERNELMATRIX, + OPEN, + POINTER_EVENTS, + POINTSATZ, + TRANSFORM, + XLINK_TITLE, + XMLNS, + AUTOPLAY, + BGCOLOR, + COLOR, + FLOOD_COLOR, + NOMODULE, + ONMOUSEOVER, + ONCOPY, + ONFOCUS, + TO, + STROKE_DASHOFFSET, + SCROLLING, + CLIP, + DISPLAY, + GLYPHREF, + PROPERTY, + SCOPE, + STOP_OPACITY, + ATTRIBUTENAME, + CHAROFF, + ONDRAG, + ONDROP, + OVERFLOW, + START, + COLSPAN, + CURSOR, + IS, + MAXSIZE, + PRESERVEASPECTRATIO, + SRCSET, + CONTENTEDITABLE, + DEPTH, + FONTWEIGHT, + FONTFAMILY, + FILTERUNITS, + LETTER_SPACING, + ONSTOP, + PATTERN, + STITCHTILES, + TEXT_ANCHOR, + WIDTH, + COLUMNALIGN, + INPUTMODE, + REQUIREDFEATURES, + VALUETYPE, + VIEWBOX, + RX, CY, FY, REFY, @@ -1504,94 +1506,95 @@ public final class AttributeName HEADERS, READONLY, SHADOWROOTMODE, - SRCDOC, - SANDBOX, - WORD_SPACING, - ACCEPT_CHARSET, - ACCENT, - BEVELLED, - BASELINE_SHIFT, - BASELINE, - CODE, - CODEBASE, - DEFER, - DIRECTION, - EDGE, - FACE, - INTERCEPT, - LINEBREAK, - LINETHICKNESS, - NAME, - ONBEFOREUNLOAD, - OBJECT, - ORDER, - ONRESET, - ONMESSAGE, - ONBEFOREPRINT, - ORIENTATION, - ONSELECTSTART, - ONKEYPRESS, - ONBEFORECUT, - ONRESIZE, - REFERRERPOLICY, - ROLE, - REPEATDUR, - SIZES, - STRETCHY, - SPREADMETHOD, - SIZE, - DIFFUSECONSTANT, - HREFLANG, - PROFILE, - XREF, - ALIGNMENT_BASELINE, - DRAGGABLE, - IMAGESIZES, - IMAGE_RENDERING, - LANG, - LONGDESC, - MARGINHEIGHT, - ORIGIN, - TARGET, - TARGETY, - HIGH, - MATHBACKGROUND, - MATHVARIANT, - MATHSIZE, - ONCHANGE, - PATH, - ACTIONTYPE, - ACTIVE, - BEGIN, - DIVISOR, - LIMITINGCONEANGLE, - MANIFEST, - OPTIMUM, - RADIUS, - SCRIPTSIZEMULTIPLIER, - TABINDEX, - VISIBILITY, - LINK, - MARKERHEIGHT, - MASK, - MARKERWIDTH, - MARKERUNITS, - AMPLITUDE, - CELLPADDING, - FILL_RULE, - FILL_OPACITY, - ONCLICK, - REPLACE, - SCALE, - TABLEVALUES, - AZIMUTH, - FRAMEBORDER, - FRAMESPACING, - FORM, - PRIMITIVEUNITS, - SUMMARY, - ZOOMANDPAN, - ALINK, + SHADOWROOTCLONABLE, + STDDEVIATION, + SHADOWROOTDELEGATESFOCUS, + ACCENTUNDER, + ACCESSKEY, + ACCEPT, + BASEFREQUENCY, + BASEPROFILE, + BASE, + CODETYPE, + CITE, + DATETIME, + EDGEMODE, + ENTERKEYHINT, + INDEX, + INTEGRITY, + LABEL, + MODE, + NORESIZE, + ONREPEAT, + ONSELECT, + OTHER, + ONREADYSTATECHANGE, + ONBEGIN, + ORIENT, + ONBEFORECOPY, + ONBEFOREPASTE, + ONKEYUP, + ONKEYDOWN, + REPEAT, + RULES, + REPEATCOUNT, + SELECTED, + SUPERSCRIPTSHIFT, + SCHEME, + SELECTION, + TYPE, + HREF, + ONAFTERPRINT, + SURFACESCALE, + ALIGN, + ALIGNMENTSCOPE, + HEIGHT, + IMAGESRCSET, + LANGUAGE, + LARGEOP, + LENGTHADJUST, + MARGINWIDTH, + PING, + TARGETX, + ARCHIVE, + LIGHTING_COLOR, + METHOD, + MATHCOLOR, + NOSHADE, + PATHLENGTH, + ALTIMG, + ACTION, + ADDITIVE, + DOMINANT_BASELINE, + DEFINITIONURL, + MEDIA, + ONFINISH, + RADIOGROUP, + SCRIPTLEVEL, + SCRIPTMINSIZE, + VALIGN, + BACKGROUND, + MARKER_MID, + MARKER_END, + MARKER_START, + MASKUNITS, + MASKCONTENTUNITS, + CELLSPACING, + DECLARE, + FILL, + MAXLENGTH, + ONBLUR, + ROWLINES, + STYLE, + TITLE, + FORMAT, + FRAME, + FROM, + PROMPT, + SYMMETRIC, + USEMAP, + ASYNC, + IN, ICON, KERNING, ONUNLOAD, @@ -1697,39 +1700,40 @@ public final class AttributeName VIEWTARGET, CX, FX, + REFX, }; private final static int[] ATTRIBUTE_HASHES = { - 1865910331, - 1748503880, - 1965512429, + 1864698185, + 1748306996, + 1943317364, 1681174213, - 1781007934, - 1915757815, - 2001826027, + 1780975314, + 1915341049, + 2001732764, 1680165421, 1721347639, - 1754835516, - 1814560070, - 1903612236, - 1924517489, - 1984430082, - 2019887833, + 1754798923, + 1814558026, + 1900548965, + 1924443742, + 1983432389, + 2017010843, 71827457, 1680282148, 1689324870, - 1740119884, - 1753550036, - 1756762256, - 1791068279, - 1824159037, - 1884079398, - 1908462185, - 1922413307, - 1934970504, - 1972922984, - 2000096287, - 2008401563, - 2073034754, + 1740096054, + 1753297133, + 1756737685, + 1790814502, + 1823841492, + 1881750231, + 1907701479, + 1922400908, + 1934917290, + 1972908839, + 1993343287, + 2007064819, + 2065694722, 57205395, 911736834, 1680181996, @@ -1737,30 +1741,30 @@ public final class AttributeName 1685882101, 1704526375, 1734182982, - 1747479606, - 1749549708, - 1754644293, - 1756147974, - 1767725700, - 1786775671, - 1804081401, - 1820727381, - 1854366938, - 1872343590, - 1890996553, - 1906408542, - 1910503637, - 1917857531, - 1922677495, - 1932959284, - 1941435445, - 1972656710, - 1983157559, - 1990107683, - 2001634458, - 2006459190, - 2010716309, - 2026893641, + 1747446838, + 1749399124, + 1754643237, + 1754958648, + 1765800271, + 1786740932, + 1804069019, + 1820262641, + 1854302364, + 1872034503, + 1889633006, + 1905754853, + 1910441773, + 1917295176, + 1922665179, + 1924773438, + 1941286708, + 1972151670, + 1982254612, + 1989522022, + 2001527900, + 2005342360, + 2009231684, + 2024794274, 2082471938, 53006051, 60345635, @@ -1776,54 +1780,54 @@ public final class AttributeName 1716623661, 1731048742, 1739583824, - 1747295467, - 1747906667, - 1748971848, - 1751755561, - 1754579720, - 1754698327, - 1754899031, - 1756360955, - 1756889417, - 1773606972, - 1785053243, - 1787365531, - 1803561214, - 1805715690, - 1816104145, - 1823574314, - 1848600826, - 1854497001, - 1867462756, - 1874270021, - 1884295780, - 1898415413, - 1905628916, - 1906423097, - 1910441627, - 1915025672, - 1916286197, - 1921977416, - 1922607670, - 1923088386, - 1924629705, - 1933369607, - 1939976792, - 1941550652, - 1966442279, - 1972904518, - 1975062341, - 1983398182, - 1988784439, - 1991625270, - 2000752725, - 2001710298, - 2004846654, - 2007021895, - 2009079867, - 2016810187, - 2024647008, - 2060474743, + 1742183484, + 1747839118, + 1748869205, + 1751679545, + 1754546894, + 1754647353, + 1754872618, + 1756302628, + 1756874572, + 1772032615, + 1785051290, + 1787193500, + 1801312388, + 1804978712, + 1814986837, + 1822002839, + 1825677514, + 1854474395, + 1867448617, + 1874261045, + 1884267068, + 1894552650, + 1903759600, + 1906419001, + 1909819252, + 1910527802, + 1916247343, + 1921061206, + 1922566877, + 1922679610, + 1924583073, + 1933123337, + 1937336473, + 1941440197, + 1966384692, + 1972744954, + 1972996699, + 1983290011, + 1987422362, + 1991220282, + 2000160071, + 2001669449, + 2001898809, + 2006824246, + 2009041198, + 2016711994, + 2023342821, + 2034765641, 2081423362, 2089811970, 52488851, @@ -1854,103 +1858,103 @@ public final class AttributeName 1733874289, 1736416327, 1739927860, - 1740222216, - 1747309881, - 1747800157, - 1748021284, - 1748566068, - 1749350104, - 1751507685, - 1753049109, - 1754434872, - 1754612424, - 1754647074, - 1754794646, - 1754860061, - 1754927689, - 1756219733, - 1756704824, - 1756836998, - 1757421892, - 1771569964, - 1780879045, - 1784574102, - 1786622296, - 1786851500, - 1788842244, - 1797886599, - 1804054854, - 1804405895, - 1814517574, - 1814656840, - 1816178925, - 1821958888, - 1823829083, - 1825437894, - 1854285018, - 1854466380, - 1854497008, - 1866496199, - 1871251689, - 1873656984, - 1874788501, - 1884246821, - 1889569526, - 1891937366, - 1900544002, - 1903759600, - 1905754853, - 1906419001, - 1907701479, - 1909819252, - 1910441773, - 1910527802, - 1915341049, - 1916247343, - 1917295176, - 1921061206, - 1922400908, - 1922566877, - 1922665179, - 1922679610, - 1924443742, - 1924583073, - 1924773438, - 1933123337, - 1934917290, - 1937336473, - 1941286708, - 1941440197, - 1943317364, - 1966384692, - 1972151670, - 1972744954, - 1972908839, - 1972996699, - 1982254612, - 1983290011, - 1983432389, - 1987422362, - 1989522022, - 1991220282, - 1993343287, - 2000160071, - 2001527900, - 2001669449, - 2001732764, - 2001898809, - 2005342360, - 2006824246, - 2007064819, - 2009041198, - 2009231684, - 2016711994, - 2017010843, - 2023342821, - 2024794274, - 2034765641, - 2065694722, - 2075005220, + 1740130375, + 1747299630, + 1747792072, + 1747939528, + 1748552744, + 1749027145, + 1749856356, + 1752985897, + 1754214628, + 1754606246, + 1754645079, + 1754792749, + 1754858317, + 1754907227, + 1756190926, + 1756471625, + 1756804936, + 1757053236, + 1767875272, + 1776114564, + 1782518297, + 1785174319, + 1786821704, + 1788254870, + 1791070327, + 1804036350, + 1804235064, + 1805715716, + 1814656326, + 1816144023, + 1820928104, + 1823580230, + 1824377064, + 1853862084, + 1854464212, + 1854497003, + 1865910347, + 1867620412, + 1873590471, + 1874698443, + 1884142379, + 1884343396, + 1891186903, + 1898428101, + 1903612236, + 1905628916, + 1906408542, + 1906423097, + 1908462185, + 1910441627, + 1910503637, + 1915025672, + 1915757815, + 1916286197, + 1917857531, + 1921977416, + 1922413307, + 1922607670, + 1922677495, + 1923088386, + 1924517489, + 1924629705, + 1932959284, + 1933369607, + 1934970504, + 1939976792, + 1941435445, + 1941550652, + 1965512429, + 1966442279, + 1972656710, + 1972904518, + 1972922984, + 1975062341, + 1983157559, + 1983398182, + 1984430082, + 1988784439, + 1990107683, + 1991625270, + 2000096287, + 2000752725, + 2001634458, + 2001710298, + 2001826027, + 2004846654, + 2006459190, + 2007021895, + 2008401563, + 2009079867, + 2010716309, + 2016810187, + 2019887833, + 2024647008, + 2026893641, + 2060474743, + 2073034754, 2081947650, 2083520514, 2091784484, @@ -2009,94 +2013,95 @@ public final class AttributeName 1734404167, 1739561208, 1739914974, - 1740096054, - 1740130375, - 1742183484, - 1747299630, - 1747446838, - 1747792072, - 1747839118, - 1747939528, - 1748306996, - 1748552744, - 1748869205, - 1749027145, - 1749399124, - 1749856356, - 1751679545, - 1752985897, - 1753297133, - 1754214628, - 1754546894, - 1754606246, - 1754643237, - 1754645079, - 1754647353, - 1754792749, - 1754798923, - 1754858317, - 1754872618, - 1754907227, - 1754958648, - 1756190926, - 1756302628, - 1756471625, - 1756737685, - 1756804936, - 1756874572, - 1757053236, - 1765800271, - 1767875272, - 1772032615, - 1776114564, - 1780975314, - 1782518297, - 1785051290, - 1785174319, - 1786740932, - 1786821704, - 1787193500, - 1788254870, - 1790814502, - 1791070327, - 1801312388, - 1804036350, - 1804069019, - 1804235064, - 1804978712, - 1805715716, - 1814558026, - 1814656326, - 1814986837, - 1816144023, - 1820262641, - 1820928104, - 1822002839, - 1823580230, - 1823841492, - 1824377064, - 1825677514, - 1853862084, - 1854302364, - 1854464212, - 1854474395, - 1854497003, - 1864698185, - 1865910347, - 1867448617, - 1867620412, - 1872034503, - 1873590471, - 1874261045, - 1874698443, - 1881750231, - 1884142379, - 1884267068, - 1884343396, - 1889633006, - 1891186903, - 1894552650, - 1898428101, + 1740045858, + 1740119884, + 1740222216, + 1747295467, + 1747309881, + 1747479606, + 1747800157, + 1747906667, + 1748021284, + 1748503880, + 1748566068, + 1748971848, + 1749350104, + 1749549708, + 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, + 1785053243, + 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, 1902640276, 1903659239, 1905541832, @@ -2202,5 +2207,6 @@ public final class AttributeName 2060302634, 2065170434, 2066743298, + 2075005220, }; } diff --git a/parser/html/javasrc/TreeBuilder.java b/parser/html/javasrc/TreeBuilder.java index 1fa67647e1..f7b70ee0da 100644 --- a/parser/html/javasrc/TreeBuilder.java +++ b/parser/html/javasrc/TreeBuilder.java @@ -2970,8 +2970,9 @@ public abstract class TreeBuilder<T> implements TokenHandler, return null; } + boolean shadowRootIsClonable = attributes.contains(AttributeName.SHADOWROOTCLONABLE); boolean shadowRootDelegatesFocus = attributes.contains(AttributeName.SHADOWROOTDELEGATESFOCUS); - return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, shadowRootDelegatesFocus); + return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, shadowRootIsClonable, shadowRootDelegatesFocus); } /** @@ -5418,7 +5419,8 @@ public abstract class TreeBuilder<T> implements TokenHandler, void setDocumentFragmentForTemplate(T template, T fragment) { } - T getShadowRootFromHost(T host, T template, String shadowRootMode, boolean shadowRootDelegatesFocus) { + T getShadowRootFromHost(T host, T template, String shadowRootMode, + boolean shadowRootIsClonable, boolean shadowRootDelegatesFocus) { return null; } diff --git a/parser/html/nsHtml5AttributeName.cpp b/parser/html/nsHtml5AttributeName.cpp index f0b0df339e..0915a8cd6d 100644 --- a/parser/html/nsHtml5AttributeName.cpp +++ b/parser/html/nsHtml5AttributeName.cpp @@ -196,6 +196,7 @@ nsHtml5AttributeName* nsHtml5AttributeName::ATTR_READONLY = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RENDERING_INTENT = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SHADOWROOTMODE = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SEED = nullptr; +nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SHADOWROOTCLONABLE = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SRCDOC = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STDDEVIATION = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SANDBOX = nullptr; @@ -373,6 +374,7 @@ nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ZOOMANDPAN = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ASYNC = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALINK = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_IN = nullptr; +nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EVENT = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ICON = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KERNELMATRIX = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KERNING = nullptr; @@ -595,48 +597,48 @@ nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RY = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REFY = nullptr; nsHtml5AttributeName** nsHtml5AttributeName::ATTRIBUTE_NAMES = 0; static int32_t const ATTRIBUTE_HASHES_DATA[] = { - 1865910331, 1748503880, 1965512429, 1681174213, 1781007934, 1915757815, - 2001826027, 1680165421, 1721347639, 1754835516, 1814560070, 1903612236, - 1924517489, 1984430082, 2019887833, 71827457, 1680282148, 1689324870, - 1740119884, 1753550036, 1756762256, 1791068279, 1824159037, 1884079398, - 1908462185, 1922413307, 1934970504, 1972922984, 2000096287, 2008401563, - 2073034754, 57205395, 911736834, 1680181996, 1680368221, 1685882101, - 1704526375, 1734182982, 1747479606, 1749549708, 1754644293, 1756147974, - 1767725700, 1786775671, 1804081401, 1820727381, 1854366938, 1872343590, - 1890996553, 1906408542, 1910503637, 1917857531, 1922677495, 1932959284, - 1941435445, 1972656710, 1983157559, 1990107683, 2001634458, 2006459190, - 2010716309, 2026893641, 2082471938, 53006051, 60345635, 885522434, + 1864698185, 1748306996, 1943317364, 1681174213, 1780975314, 1915341049, + 2001732764, 1680165421, 1721347639, 1754798923, 1814558026, 1900548965, + 1924443742, 1983432389, 2017010843, 71827457, 1680282148, 1689324870, + 1740096054, 1753297133, 1756737685, 1790814502, 1823841492, 1881750231, + 1907701479, 1922400908, 1934917290, 1972908839, 1993343287, 2007064819, + 2065694722, 57205395, 911736834, 1680181996, 1680368221, 1685882101, + 1704526375, 1734182982, 1747446838, 1749399124, 1754643237, 1754958648, + 1765800271, 1786740932, 1804069019, 1820262641, 1854302364, 1872034503, + 1889633006, 1905754853, 1910441773, 1917295176, 1922665179, 1924773438, + 1941286708, 1972151670, 1982254612, 1989522022, 2001527900, 2005342360, + 2009231684, 2024794274, 2082471938, 53006051, 60345635, 885522434, 1680095865, 1680165533, 1680229115, 1680343801, 1680437801, 1682440540, - 1687620127, 1692408896, 1716623661, 1731048742, 1739583824, 1747295467, - 1747906667, 1748971848, 1751755561, 1754579720, 1754698327, 1754899031, - 1756360955, 1756889417, 1773606972, 1785053243, 1787365531, 1803561214, - 1805715690, 1816104145, 1823574314, 1848600826, 1854497001, 1867462756, - 1874270021, 1884295780, 1898415413, 1905628916, 1906423097, 1910441627, - 1915025672, 1916286197, 1921977416, 1922607670, 1923088386, 1924629705, - 1933369607, 1939976792, 1941550652, 1966442279, 1972904518, 1975062341, - 1983398182, 1988784439, 1991625270, 2000752725, 2001710298, 2004846654, - 2007021895, 2009079867, 2016810187, 2024647008, 2060474743, 2081423362, + 1687620127, 1692408896, 1716623661, 1731048742, 1739583824, 1742183484, + 1747839118, 1748869205, 1751679545, 1754546894, 1754647353, 1754872618, + 1756302628, 1756874572, 1772032615, 1785051290, 1787193500, 1801312388, + 1804978712, 1814986837, 1822002839, 1825677514, 1854474395, 1867448617, + 1874261045, 1884267068, 1894552650, 1903759600, 1906419001, 1909819252, + 1910527802, 1916247343, 1921061206, 1922566877, 1922679610, 1924583073, + 1933123337, 1937336473, 1941440197, 1966384692, 1972744954, 1972996699, + 1983290011, 1987422362, 1991220282, 2000160071, 2001669449, 2001898809, + 2006824246, 2009041198, 2016711994, 2023342821, 2034765641, 2081423362, 2089811970, 52488851, 55077603, 59825747, 68157441, 878182402, 901775362, 1037879561, 1680159327, 1680165437, 1680165692, 1680198203, 1680231247, 1680315086, 1680345965, 1680413393, 1680452349, 1681879063, 1683805446, 1686731997, 1689048326, 1689839946, 1699185409, 1714763319, - 1721189160, 1723336432, 1733874289, 1736416327, 1739927860, 1740222216, - 1747309881, 1747800157, 1748021284, 1748566068, 1749350104, 1751507685, - 1753049109, 1754434872, 1754612424, 1754647074, 1754794646, 1754860061, - 1754927689, 1756219733, 1756704824, 1756836998, 1757421892, 1771569964, - 1780879045, 1784574102, 1786622296, 1786851500, 1788842244, 1797886599, - 1804054854, 1804405895, 1814517574, 1814656840, 1816178925, 1821958888, - 1823829083, 1825437894, 1854285018, 1854466380, 1854497008, 1866496199, - 1871251689, 1873656984, 1874788501, 1884246821, 1889569526, 1891937366, - 1900544002, 1903759600, 1905754853, 1906419001, 1907701479, 1909819252, - 1910441773, 1910527802, 1915341049, 1916247343, 1917295176, 1921061206, - 1922400908, 1922566877, 1922665179, 1922679610, 1924443742, 1924583073, - 1924773438, 1933123337, 1934917290, 1937336473, 1941286708, 1941440197, - 1943317364, 1966384692, 1972151670, 1972744954, 1972908839, 1972996699, - 1982254612, 1983290011, 1983432389, 1987422362, 1989522022, 1991220282, - 1993343287, 2000160071, 2001527900, 2001669449, 2001732764, 2001898809, - 2005342360, 2006824246, 2007064819, 2009041198, 2009231684, 2016711994, - 2017010843, 2023342821, 2024794274, 2034765641, 2065694722, 2075005220, + 1721189160, 1723336432, 1733874289, 1736416327, 1739927860, 1740130375, + 1747299630, 1747792072, 1747939528, 1748552744, 1749027145, 1749856356, + 1752985897, 1754214628, 1754606246, 1754645079, 1754792749, 1754858317, + 1754907227, 1756190926, 1756471625, 1756804936, 1757053236, 1767875272, + 1776114564, 1782518297, 1785174319, 1786821704, 1788254870, 1791070327, + 1804036350, 1804235064, 1805715716, 1814656326, 1816144023, 1820928104, + 1823580230, 1824377064, 1853862084, 1854464212, 1854497003, 1865910347, + 1867620412, 1873590471, 1874698443, 1884142379, 1884343396, 1891186903, + 1898428101, 1903612236, 1905628916, 1906408542, 1906423097, 1908462185, + 1910441627, 1910503637, 1915025672, 1915757815, 1916286197, 1917857531, + 1921977416, 1922413307, 1922607670, 1922677495, 1923088386, 1924517489, + 1924629705, 1932959284, 1933369607, 1934970504, 1939976792, 1941435445, + 1941550652, 1965512429, 1966442279, 1972656710, 1972904518, 1972922984, + 1975062341, 1983157559, 1983398182, 1984430082, 1988784439, 1990107683, + 1991625270, 2000096287, 2000752725, 2001634458, 2001710298, 2001826027, + 2004846654, 2006459190, 2007021895, 2008401563, 2009079867, 2010716309, + 2016810187, 2019887833, 2024647008, 2026893641, 2060474743, 2073034754, 2081947650, 2083520514, 2091784484, 50917059, 52489043, 53537523, 56685811, 57210387, 59830867, 60817409, 71303169, 72351745, 884998146, 894959618, 902299650, 928514050, 1038063816, 1680140893, @@ -646,39 +648,40 @@ static int32_t const ATTRIBUTE_HASHES_DATA[] = { 1681969220, 1682587945, 1684319541, 1685902598, 1687164232, 1687751191, 1689130184, 1689788441, 1691145478, 1692933184, 1704262346, 1714745560, 1716303957, 1720503541, 1721305962, 1723309623, 1723336528, 1732771842, - 1733919469, 1734404167, 1739561208, 1739914974, 1740096054, 1740130375, - 1742183484, 1747299630, 1747446838, 1747792072, 1747839118, 1747939528, - 1748306996, 1748552744, 1748869205, 1749027145, 1749399124, 1749856356, - 1751679545, 1752985897, 1753297133, 1754214628, 1754546894, 1754606246, - 1754643237, 1754645079, 1754647353, 1754792749, 1754798923, 1754858317, - 1754872618, 1754907227, 1754958648, 1756190926, 1756302628, 1756471625, - 1756737685, 1756804936, 1756874572, 1757053236, 1765800271, 1767875272, - 1772032615, 1776114564, 1780975314, 1782518297, 1785051290, 1785174319, - 1786740932, 1786821704, 1787193500, 1788254870, 1790814502, 1791070327, - 1801312388, 1804036350, 1804069019, 1804235064, 1804978712, 1805715716, - 1814558026, 1814656326, 1814986837, 1816144023, 1820262641, 1820928104, - 1822002839, 1823580230, 1823841492, 1824377064, 1825677514, 1853862084, - 1854302364, 1854464212, 1854474395, 1854497003, 1864698185, 1865910347, - 1867448617, 1867620412, 1872034503, 1873590471, 1874261045, 1874698443, - 1881750231, 1884142379, 1884267068, 1884343396, 1889633006, 1891186903, - 1894552650, 1898428101, 1902640276, 1903659239, 1905541832, 1905672729, - 1905902311, 1906408598, 1906421049, 1907660596, 1908316832, 1909438149, - 1910328970, 1910441770, 1910487243, 1910507338, 1910572893, 1915295948, - 1915394254, 1916210285, 1916278099, 1916337499, 1917327080, 1917953597, - 1921894426, 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, 1980235778, 1982640164, 1983266615, 1983347764, 1983416119, - 1983461061, 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, 2024763702, - 2026741958, 2026975253, 2060302634, 2065170434, 2066743298}; + 1733919469, 1734404167, 1739561208, 1739914974, 1740045858, 1740119884, + 1740222216, 1747295467, 1747309881, 1747479606, 1747800157, 1747906667, + 1748021284, 1748503880, 1748566068, 1748971848, 1749350104, 1749549708, + 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, 1785053243, + 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, 1902640276, 1903659239, 1905541832, + 1905672729, 1905902311, 1906408598, 1906421049, 1907660596, 1908316832, + 1909438149, 1910328970, 1910441770, 1910487243, 1910507338, 1910572893, + 1915295948, 1915394254, 1916210285, 1916278099, 1916337499, 1917327080, + 1917953597, 1921894426, 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, 1980235778, 1982640164, 1983266615, 1983347764, + 1983416119, 1983461061, 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, + 2024763702, 2026741958, 2026975253, 2060302634, 2065170434, 2066743298, + 2075005220}; staticJArray<int32_t, int32_t> nsHtml5AttributeName::ATTRIBUTE_HASHES = { ATTRIBUTE_HASHES_DATA, MOZ_ARRAY_LENGTH(ATTRIBUTE_HASHES_DATA)}; void nsHtml5AttributeName::initializeStatics() { @@ -1021,6 +1024,9 @@ void nsHtml5AttributeName::initializeStatics() { ATTR_SEED = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::seed, nsGkAtoms::seed, nsGkAtoms::seed, ALL_NO_PREFIX); + ATTR_SHADOWROOTCLONABLE = new nsHtml5AttributeName( + ALL_NO_NS, nsGkAtoms::shadowrootclonable, nsGkAtoms::shadowrootclonable, + nsGkAtoms::shadowrootclonable, ALL_NO_PREFIX); ATTR_SRCDOC = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::srcdoc, nsGkAtoms::srcdoc, nsGkAtoms::srcdoc, ALL_NO_PREFIX); @@ -1550,6 +1556,9 @@ void nsHtml5AttributeName::initializeStatics() { nsGkAtoms::alink, ALL_NO_PREFIX); ATTR_IN = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::in, nsGkAtoms::in, nsGkAtoms::in, ALL_NO_PREFIX); + ATTR_EVENT = + new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::event, nsGkAtoms::event, + nsGkAtoms::event, ALL_NO_PREFIX); ATTR_ICON = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::icon, nsGkAtoms::icon, nsGkAtoms::icon, ALL_NO_PREFIX); @@ -2191,38 +2200,38 @@ void nsHtml5AttributeName::initializeStatics() { ATTR_REFY = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::refy, nsGkAtoms::refy, nsGkAtoms::refY, ALL_NO_PREFIX); - ATTRIBUTE_NAMES = new nsHtml5AttributeName*[503]; - ATTRIBUTE_NAMES[0] = ATTR_CELLSPACING; - ATTRIBUTE_NAMES[1] = ATTR_CODETYPE; - ATTRIBUTE_NAMES[2] = ATTR_ATTRIBUTENAME; + ATTRIBUTE_NAMES = new nsHtml5AttributeName*[505]; + ATTRIBUTE_NAMES[0] = ATTR_AMPLITUDE; + ATTRIBUTE_NAMES[1] = ATTR_CODE; + ATTRIBUTE_NAMES[2] = ATTR_WRAP; ATTRIBUTE_NAMES[3] = ATTR_CLEAR; - ATTRIBUTE_NAMES[4] = ATTR_ALIGNMENTSCOPE; - ATTRIBUTE_NAMES[5] = ATTR_BGCOLOR; - ATTRIBUTE_NAMES[6] = ATTR_FILTERUNITS; + ATTRIBUTE_NAMES[4] = ATTR_ALIGNMENT_BASELINE; + ATTRIBUTE_NAMES[5] = ATTR_AUTOFOCUS; + ATTRIBUTE_NAMES[6] = ATTR_FONT_VARIANT; ATTRIBUTE_NAMES[7] = ATTR_ARIA_DISABLED; ATTRIBUTE_NAMES[8] = ATTR_OPACITY; - ATTRIBUTE_NAMES[9] = ATTR_ONBEFORECOPY; - ATTRIBUTE_NAMES[10] = ATTR_ACTION; - ATTRIBUTE_NAMES[11] = ATTR_KERNELMATRIX; - ATTRIBUTE_NAMES[12] = ATTR_STROKE_DASHOFFSET; - ATTRIBUTE_NAMES[13] = ATTR_IS; - ATTRIBUTE_NAMES[14] = ATTR_INPUTMODE; + ATTRIBUTE_NAMES[9] = ATTR_ORIENTATION; + ATTRIBUTE_NAMES[10] = ATTR_ACTIONTYPE; + ATTRIBUTE_NAMES[11] = ATTR_EVENT; + ATTRIBUTE_NAMES[12] = ATTR_STROKE_LINECAP; + ATTRIBUTE_NAMES[13] = ATTR_CLOSE; + ATTRIBUTE_NAMES[14] = ATTR_COLUMNWIDTH; ATTRIBUTE_NAMES[15] = ATTR_Y; ATTRIBUTE_NAMES[16] = ATTR_ARIA_MULTISELECTABLE; ATTRIBUTE_NAMES[17] = ATTR_ROTATE; - ATTRIBUTE_NAMES[18] = ATTR_STDDEVIATION; - ATTRIBUTE_NAMES[19] = ATTR_MODE; - ATTRIBUTE_NAMES[20] = ATTR_SUPERSCRIPTSHIFT; - ATTRIBUTE_NAMES[21] = ATTR_TARGETX; - ATTRIBUTE_NAMES[22] = ATTR_SCRIPTMINSIZE; - ATTRIBUTE_NAMES[23] = ATTR_FORMAT; - ATTRIBUTE_NAMES[24] = ATTR_TRANSFORM; - ATTRIBUTE_NAMES[25] = ATTR_ONMOUSEOVER; - ATTRIBUTE_NAMES[26] = ATTR_GLYPHREF; - ATTRIBUTE_NAMES[27] = ATTR_OVERFLOW; - ATTRIBUTE_NAMES[28] = ATTR_CONTENTEDITABLE; - ATTRIBUTE_NAMES[29] = ATTR_STITCHTILES; - ATTRIBUTE_NAMES[30] = ATTR_RX; + ATTRIBUTE_NAMES[18] = ATTR_SRCDOC; + ATTRIBUTE_NAMES[19] = ATTR_LINETHICKNESS; + ATTRIBUTE_NAMES[20] = ATTR_SIZES; + ATTRIBUTE_NAMES[21] = ATTR_TARGET; + ATTRIBUTE_NAMES[22] = ATTR_SCRIPTSIZEMULTIPLIER; + ATTRIBUTE_NAMES[23] = ATTR_AZIMUTH; + ATTRIBUTE_NAMES[24] = ATTR_STANDBY; + ATTRIBUTE_NAMES[25] = ATTR_ONMOUSEWHEEL; + ATTRIBUTE_NAMES[26] = ATTR_GLYPH_ORIENTATION_VERTICAL; + ATTRIBUTE_NAMES[27] = ATTR_ONERROR; + ATTRIBUTE_NAMES[28] = ATTR_VERSION; + ATTRIBUTE_NAMES[29] = ATTR_PATTERNCONTENTUNITS; + ATTRIBUTE_NAMES[30] = ATTR_DX; ATTRIBUTE_NAMES[31] = ATTR_MIN; ATTRIBUTE_NAMES[32] = ATTR_K3; ATTRIBUTE_NAMES[33] = ATTR_ARIA_CHANNEL; @@ -2230,30 +2239,30 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[35] = ATTR_LOCAL; ATTRIBUTE_NAMES[36] = ATTR_ONABORT; ATTRIBUTE_NAMES[37] = ATTR_HIDDEN; - ATTRIBUTE_NAMES[38] = ATTR_ACCEPT; - ATTRIBUTE_NAMES[39] = ATTR_ENTERKEYHINT; - ATTRIBUTE_NAMES[40] = ATTR_OTHER; - ATTRIBUTE_NAMES[41] = ATTR_REPEAT; - ATTRIBUTE_NAMES[42] = ATTR_HREF; - ATTRIBUTE_NAMES[43] = ATTR_LARGEOP; - ATTRIBUTE_NAMES[44] = ATTR_MATHCOLOR; - ATTRIBUTE_NAMES[45] = ATTR_MEDIA; - ATTRIBUTE_NAMES[46] = ATTR_MARKER_END; - ATTRIBUTE_NAMES[47] = ATTR_ONBLUR; - ATTRIBUTE_NAMES[48] = ATTR_SYMMETRIC; - ATTRIBUTE_NAMES[49] = ATTR_POINTER_EVENTS; - ATTRIBUTE_NAMES[50] = ATTR_XMLNS; - ATTRIBUTE_NAMES[51] = ATTR_FLOOD_COLOR; - ATTRIBUTE_NAMES[52] = ATTR_ONFOCUS; - ATTRIBUTE_NAMES[53] = ATTR_CLIP; - ATTRIBUTE_NAMES[54] = ATTR_SCOPE; - ATTRIBUTE_NAMES[55] = ATTR_ONDRAG; - ATTRIBUTE_NAMES[56] = ATTR_COLSPAN; - ATTRIBUTE_NAMES[57] = ATTR_PRESERVEASPECTRATIO; - ATTRIBUTE_NAMES[58] = ATTR_FONTWEIGHT; - ATTRIBUTE_NAMES[59] = ATTR_ONSTOP; - ATTRIBUTE_NAMES[60] = ATTR_WIDTH; - ATTRIBUTE_NAMES[61] = ATTR_VALUETYPE; + ATTRIBUTE_NAMES[38] = ATTR_ACCENT; + ATTRIBUTE_NAMES[39] = ATTR_EDGE; + ATTRIBUTE_NAMES[40] = ATTR_ORDER; + ATTRIBUTE_NAMES[41] = ATTR_ONRESIZE; + ATTRIBUTE_NAMES[42] = ATTR_DIFFUSECONSTANT; + ATTRIBUTE_NAMES[43] = ATTR_LANG; + ATTRIBUTE_NAMES[44] = ATTR_MATHVARIANT; + ATTRIBUTE_NAMES[45] = ATTR_LIMITINGCONEANGLE; + ATTRIBUTE_NAMES[46] = ATTR_MARKERHEIGHT; + ATTRIBUTE_NAMES[47] = ATTR_ONCLICK; + ATTRIBUTE_NAMES[48] = ATTR_PRIMITIVEUNITS; + ATTRIBUTE_NAMES[49] = ATTR_ONEND; + ATTRIBUTE_NAMES[50] = ATTR_XLINK_ARCROLE; + ATTRIBUTE_NAMES[51] = ATTR_ENCODING; + ATTRIBUTE_NAMES[52] = ATTR_ONMOUSEMOVE; + ATTRIBUTE_NAMES[53] = ATTR_STROKE_OPACITY; + ATTRIBUTE_NAMES[54] = ATTR_STEP; + ATTRIBUTE_NAMES[55] = ATTR_NOWRAP; + ATTRIBUTE_NAMES[56] = ATTR_AXIS; + ATTRIBUTE_NAMES[57] = ATTR_OFFSET; + ATTRIBUTE_NAMES[58] = ATTR_FONT_STRETCH; + ATTRIBUTE_NAMES[59] = ATTR_MULTIPLE; + ATTRIBUTE_NAMES[60] = ATTR_TEXT; + ATTRIBUTE_NAMES[61] = ATTR_REQUIREDEXTENSIONS; ATTRIBUTE_NAMES[62] = ATTR_DY; ATTRIBUTE_NAMES[63] = ATTR_END; ATTRIBUTE_NAMES[64] = ATTR_SRC; @@ -2269,54 +2278,54 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[74] = ATTR_FETCHPRIORITY; ATTRIBUTE_NAMES[75] = ATTR_BORDER; ATTRIBUTE_NAMES[76] = ATTR_RENDERING_INTENT; - ATTRIBUTE_NAMES[77] = ATTR_ACCENTUNDER; - ATTRIBUTE_NAMES[78] = ATTR_BASEPROFILE; - ATTRIBUTE_NAMES[79] = ATTR_DATETIME; - ATTRIBUTE_NAMES[80] = ATTR_INTEGRITY; - ATTRIBUTE_NAMES[81] = ATTR_ONREPEAT; - ATTRIBUTE_NAMES[82] = ATTR_ONBEGIN; - ATTRIBUTE_NAMES[83] = ATTR_ONKEYUP; - ATTRIBUTE_NAMES[84] = ATTR_REPEATCOUNT; - ATTRIBUTE_NAMES[85] = ATTR_SELECTION; - ATTRIBUTE_NAMES[86] = ATTR_SURFACESCALE; - ATTRIBUTE_NAMES[87] = ATTR_IMAGESRCSET; - ATTRIBUTE_NAMES[88] = ATTR_MARGINWIDTH; - ATTRIBUTE_NAMES[89] = ATTR_LIGHTING_COLOR; - ATTRIBUTE_NAMES[90] = ATTR_PATHLENGTH; - ATTRIBUTE_NAMES[91] = ATTR_DOMINANT_BASELINE; - ATTRIBUTE_NAMES[92] = ATTR_RADIOGROUP; - ATTRIBUTE_NAMES[93] = ATTR_BACKGROUND; - ATTRIBUTE_NAMES[94] = ATTR_MASKUNITS; - ATTRIBUTE_NAMES[95] = ATTR_FILL; - ATTRIBUTE_NAMES[96] = ATTR_STYLE; - ATTRIBUTE_NAMES[97] = ATTR_FROM; - ATTRIBUTE_NAMES[98] = ATTR_ASYNC; - ATTRIBUTE_NAMES[99] = ATTR_OPEN; - ATTRIBUTE_NAMES[100] = ATTR_POINTSATZ; - ATTRIBUTE_NAMES[101] = ATTR_XLINK_TITLE; - ATTRIBUTE_NAMES[102] = ATTR_AUTOPLAY; - ATTRIBUTE_NAMES[103] = ATTR_COLOR; - ATTRIBUTE_NAMES[104] = ATTR_NOMODULE; - ATTRIBUTE_NAMES[105] = ATTR_ONCOPY; - ATTRIBUTE_NAMES[106] = ATTR_TO; - ATTRIBUTE_NAMES[107] = ATTR_SCROLLING; - ATTRIBUTE_NAMES[108] = ATTR_DISPLAY; - ATTRIBUTE_NAMES[109] = ATTR_PROPERTY; - ATTRIBUTE_NAMES[110] = ATTR_STOP_OPACITY; - ATTRIBUTE_NAMES[111] = ATTR_CHAROFF; - ATTRIBUTE_NAMES[112] = ATTR_ONDROP; - ATTRIBUTE_NAMES[113] = ATTR_START; - ATTRIBUTE_NAMES[114] = ATTR_CURSOR; - ATTRIBUTE_NAMES[115] = ATTR_MAXSIZE; - ATTRIBUTE_NAMES[116] = ATTR_SRCSET; - ATTRIBUTE_NAMES[117] = ATTR_DEPTH; - ATTRIBUTE_NAMES[118] = ATTR_FONTFAMILY; - ATTRIBUTE_NAMES[119] = ATTR_LETTER_SPACING; - ATTRIBUTE_NAMES[120] = ATTR_PATTERN; - ATTRIBUTE_NAMES[121] = ATTR_TEXT_ANCHOR; - ATTRIBUTE_NAMES[122] = ATTR_COLUMNALIGN; - ATTRIBUTE_NAMES[123] = ATTR_REQUIREDFEATURES; - ATTRIBUTE_NAMES[124] = ATTR_VIEWBOX; + ATTRIBUTE_NAMES[77] = ATTR_WORD_SPACING; + ATTRIBUTE_NAMES[78] = ATTR_BASELINE_SHIFT; + ATTRIBUTE_NAMES[79] = ATTR_DEFER; + ATTRIBUTE_NAMES[80] = ATTR_INTERCEPT; + ATTRIBUTE_NAMES[81] = ATTR_ONBEFOREUNLOAD; + ATTRIBUTE_NAMES[82] = ATTR_ONMESSAGE; + ATTRIBUTE_NAMES[83] = ATTR_ONKEYPRESS; + ATTRIBUTE_NAMES[84] = ATTR_ROLE; + ATTRIBUTE_NAMES[85] = ATTR_SPREADMETHOD; + ATTRIBUTE_NAMES[86] = ATTR_PROFILE; + ATTRIBUTE_NAMES[87] = ATTR_IMAGESIZES; + ATTRIBUTE_NAMES[88] = ATTR_MARGINHEIGHT; + ATTRIBUTE_NAMES[89] = ATTR_HIGH; + ATTRIBUTE_NAMES[90] = ATTR_ONCHANGE; + ATTRIBUTE_NAMES[91] = ATTR_BEGIN; + ATTRIBUTE_NAMES[92] = ATTR_OPTIMUM; + ATTRIBUTE_NAMES[93] = ATTR_VISIBILITY; + ATTRIBUTE_NAMES[94] = ATTR_MARKERWIDTH; + ATTRIBUTE_NAMES[95] = ATTR_FILL_RULE; + ATTRIBUTE_NAMES[96] = ATTR_SCALE; + ATTRIBUTE_NAMES[97] = ATTR_FRAMESPACING; + ATTRIBUTE_NAMES[98] = ATTR_ZOOMANDPAN; + ATTRIBUTE_NAMES[99] = ATTR_KERNELUNITLENGTH; + ATTRIBUTE_NAMES[100] = ATTR_POINTSATX; + ATTRIBUTE_NAMES[101] = ATTR_WHEN; + ATTRIBUTE_NAMES[102] = ATTR_XLINK_SHOW; + ATTRIBUTE_NAMES[103] = ATTR_COLOR_RENDERING; + ATTRIBUTE_NAMES[104] = ATTR_LQUOTE; + ATTRIBUTE_NAMES[105] = ATTR_ONCONTEXTMENU; + ATTRIBUTE_NAMES[106] = ATTR_ONFOCUSOUT; + ATTRIBUTE_NAMES[107] = ATTR_STROKE_MITERLIMIT; + ATTRIBUTE_NAMES[108] = ATTR_CLIP_PATH; + ATTRIBUTE_NAMES[109] = ATTR_KEYPOINTS; + ATTRIBUTE_NAMES[110] = ATTR_SLOPE; + ATTRIBUTE_NAMES[111] = ATTR_CHAR; + ATTRIBUTE_NAMES[112] = ATTR_ONDRAGOVER; + ATTRIBUTE_NAMES[113] = ATTR_ONDRAGLEAVE; + ATTRIBUTE_NAMES[114] = ATTR_CROSSORIGIN; + ATTRIBUTE_NAMES[115] = ATTR_KEYSPLINES; + ATTRIBUTE_NAMES[116] = ATTR_ROWSPACING; + ATTRIBUTE_NAMES[117] = ATTR_CONTENT; + ATTRIBUTE_NAMES[118] = ATTR_FONTSTYLE; + ATTRIBUTE_NAMES[119] = ATTR_FONT_SIZE; + ATTRIBUTE_NAMES[120] = ATTR_POSTER; + ATTRIBUTE_NAMES[121] = ATTR_TEXT_RENDERING; + ATTRIBUTE_NAMES[122] = ATTR_COLUMNSPAN; + ATTRIBUTE_NAMES[123] = ATTR_ONCUT; + ATTRIBUTE_NAMES[124] = ATTR_ELEVATION; ATTRIBUTE_NAMES[125] = ATTR_BY; ATTRIBUTE_NAMES[126] = ATTR_RY; ATTRIBUTE_NAMES[127] = ATTR_DIR; @@ -2347,103 +2356,103 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[152] = ATTR_GRADIENTTRANSFORM; ATTRIBUTE_NAMES[153] = ATTR_LOADING; ATTRIBUTE_NAMES[154] = ATTR_SEED; - ATTRIBUTE_NAMES[155] = ATTR_SHADOWROOTDELEGATESFOCUS; - ATTRIBUTE_NAMES[156] = ATTR_ACCESSKEY; - ATTRIBUTE_NAMES[157] = ATTR_BASEFREQUENCY; - ATTRIBUTE_NAMES[158] = ATTR_BASE; - ATTRIBUTE_NAMES[159] = ATTR_CITE; - ATTRIBUTE_NAMES[160] = ATTR_EDGEMODE; - ATTRIBUTE_NAMES[161] = ATTR_INDEX; - ATTRIBUTE_NAMES[162] = ATTR_LABEL; - ATTRIBUTE_NAMES[163] = ATTR_NORESIZE; - ATTRIBUTE_NAMES[164] = ATTR_ONSELECT; - ATTRIBUTE_NAMES[165] = ATTR_ONREADYSTATECHANGE; - ATTRIBUTE_NAMES[166] = ATTR_ORIENT; - ATTRIBUTE_NAMES[167] = ATTR_ONBEFOREPASTE; - ATTRIBUTE_NAMES[168] = ATTR_ONKEYDOWN; - ATTRIBUTE_NAMES[169] = ATTR_RULES; - ATTRIBUTE_NAMES[170] = ATTR_SELECTED; - ATTRIBUTE_NAMES[171] = ATTR_SCHEME; - ATTRIBUTE_NAMES[172] = ATTR_TYPE; - ATTRIBUTE_NAMES[173] = ATTR_ONAFTERPRINT; - ATTRIBUTE_NAMES[174] = ATTR_ALIGN; - ATTRIBUTE_NAMES[175] = ATTR_HEIGHT; - ATTRIBUTE_NAMES[176] = ATTR_LANGUAGE; - ATTRIBUTE_NAMES[177] = ATTR_LENGTHADJUST; - ATTRIBUTE_NAMES[178] = ATTR_PING; - ATTRIBUTE_NAMES[179] = ATTR_ARCHIVE; - ATTRIBUTE_NAMES[180] = ATTR_METHOD; - ATTRIBUTE_NAMES[181] = ATTR_NOSHADE; - ATTRIBUTE_NAMES[182] = ATTR_ALTIMG; - ATTRIBUTE_NAMES[183] = ATTR_ADDITIVE; - ATTRIBUTE_NAMES[184] = ATTR_DEFINITIONURL; - ATTRIBUTE_NAMES[185] = ATTR_ONFINISH; - ATTRIBUTE_NAMES[186] = ATTR_SCRIPTLEVEL; - ATTRIBUTE_NAMES[187] = ATTR_VALIGN; - ATTRIBUTE_NAMES[188] = ATTR_MARKER_MID; - ATTRIBUTE_NAMES[189] = ATTR_MARKER_START; - ATTRIBUTE_NAMES[190] = ATTR_MASKCONTENTUNITS; - ATTRIBUTE_NAMES[191] = ATTR_DECLARE; - ATTRIBUTE_NAMES[192] = ATTR_MAXLENGTH; - ATTRIBUTE_NAMES[193] = ATTR_ROWLINES; - ATTRIBUTE_NAMES[194] = ATTR_TITLE; - ATTRIBUTE_NAMES[195] = ATTR_FRAME; - ATTRIBUTE_NAMES[196] = ATTR_PROMPT; - ATTRIBUTE_NAMES[197] = ATTR_USEMAP; - ATTRIBUTE_NAMES[198] = ATTR_IN; - ATTRIBUTE_NAMES[199] = ATTR_KERNELUNITLENGTH; - ATTRIBUTE_NAMES[200] = ATTR_ONEND; - ATTRIBUTE_NAMES[201] = ATTR_POINTSATX; - ATTRIBUTE_NAMES[202] = ATTR_STANDBY; - ATTRIBUTE_NAMES[203] = ATTR_WHEN; - ATTRIBUTE_NAMES[204] = ATTR_XLINK_ARCROLE; - ATTRIBUTE_NAMES[205] = ATTR_XLINK_SHOW; - ATTRIBUTE_NAMES[206] = ATTR_AUTOFOCUS; - ATTRIBUTE_NAMES[207] = ATTR_COLOR_RENDERING; - ATTRIBUTE_NAMES[208] = ATTR_ENCODING; - ATTRIBUTE_NAMES[209] = ATTR_LQUOTE; - ATTRIBUTE_NAMES[210] = ATTR_ONMOUSEWHEEL; - ATTRIBUTE_NAMES[211] = ATTR_ONCONTEXTMENU; - ATTRIBUTE_NAMES[212] = ATTR_ONMOUSEMOVE; - ATTRIBUTE_NAMES[213] = ATTR_ONFOCUSOUT; - ATTRIBUTE_NAMES[214] = ATTR_STROKE_LINECAP; - ATTRIBUTE_NAMES[215] = ATTR_STROKE_MITERLIMIT; - ATTRIBUTE_NAMES[216] = ATTR_STROKE_OPACITY; - ATTRIBUTE_NAMES[217] = ATTR_CLIP_PATH; - ATTRIBUTE_NAMES[218] = ATTR_GLYPH_ORIENTATION_VERTICAL; - ATTRIBUTE_NAMES[219] = ATTR_KEYPOINTS; - ATTRIBUTE_NAMES[220] = ATTR_STEP; - ATTRIBUTE_NAMES[221] = ATTR_SLOPE; - ATTRIBUTE_NAMES[222] = ATTR_WRAP; - ATTRIBUTE_NAMES[223] = ATTR_CHAR; - ATTRIBUTE_NAMES[224] = ATTR_NOWRAP; - ATTRIBUTE_NAMES[225] = ATTR_ONDRAGOVER; - ATTRIBUTE_NAMES[226] = ATTR_ONERROR; - ATTRIBUTE_NAMES[227] = ATTR_ONDRAGLEAVE; - ATTRIBUTE_NAMES[228] = ATTR_AXIS; - ATTRIBUTE_NAMES[229] = ATTR_CROSSORIGIN; - ATTRIBUTE_NAMES[230] = ATTR_CLOSE; - ATTRIBUTE_NAMES[231] = ATTR_KEYSPLINES; - ATTRIBUTE_NAMES[232] = ATTR_OFFSET; - ATTRIBUTE_NAMES[233] = ATTR_ROWSPACING; - ATTRIBUTE_NAMES[234] = ATTR_VERSION; - ATTRIBUTE_NAMES[235] = ATTR_CONTENT; - ATTRIBUTE_NAMES[236] = ATTR_FONT_STRETCH; - ATTRIBUTE_NAMES[237] = ATTR_FONTSTYLE; - ATTRIBUTE_NAMES[238] = ATTR_FONT_VARIANT; - ATTRIBUTE_NAMES[239] = ATTR_FONT_SIZE; - ATTRIBUTE_NAMES[240] = ATTR_MULTIPLE; - ATTRIBUTE_NAMES[241] = ATTR_POSTER; - ATTRIBUTE_NAMES[242] = ATTR_PATTERNCONTENTUNITS; - ATTRIBUTE_NAMES[243] = ATTR_TEXT_RENDERING; - ATTRIBUTE_NAMES[244] = ATTR_TEXT; - ATTRIBUTE_NAMES[245] = ATTR_COLUMNSPAN; - ATTRIBUTE_NAMES[246] = ATTR_COLUMNWIDTH; - ATTRIBUTE_NAMES[247] = ATTR_ONCUT; - ATTRIBUTE_NAMES[248] = ATTR_REQUIREDEXTENSIONS; - ATTRIBUTE_NAMES[249] = ATTR_ELEVATION; - ATTRIBUTE_NAMES[250] = ATTR_DX; - ATTRIBUTE_NAMES[251] = ATTR_REFX; + ATTRIBUTE_NAMES[155] = ATTR_SANDBOX; + ATTRIBUTE_NAMES[156] = ATTR_ACCEPT_CHARSET; + ATTRIBUTE_NAMES[157] = ATTR_BEVELLED; + ATTRIBUTE_NAMES[158] = ATTR_BASELINE; + ATTRIBUTE_NAMES[159] = ATTR_CODEBASE; + ATTRIBUTE_NAMES[160] = ATTR_DIRECTION; + ATTRIBUTE_NAMES[161] = ATTR_FACE; + ATTRIBUTE_NAMES[162] = ATTR_LINEBREAK; + ATTRIBUTE_NAMES[163] = ATTR_NAME; + ATTRIBUTE_NAMES[164] = ATTR_OBJECT; + ATTRIBUTE_NAMES[165] = ATTR_ONRESET; + ATTRIBUTE_NAMES[166] = ATTR_ONBEFOREPRINT; + ATTRIBUTE_NAMES[167] = ATTR_ONSELECTSTART; + ATTRIBUTE_NAMES[168] = ATTR_ONBEFORECUT; + ATTRIBUTE_NAMES[169] = ATTR_REFERRERPOLICY; + ATTRIBUTE_NAMES[170] = ATTR_REPEATDUR; + ATTRIBUTE_NAMES[171] = ATTR_STRETCHY; + ATTRIBUTE_NAMES[172] = ATTR_SIZE; + ATTRIBUTE_NAMES[173] = ATTR_HREFLANG; + ATTRIBUTE_NAMES[174] = ATTR_XREF; + ATTRIBUTE_NAMES[175] = ATTR_DRAGGABLE; + ATTRIBUTE_NAMES[176] = ATTR_IMAGE_RENDERING; + ATTRIBUTE_NAMES[177] = ATTR_LONGDESC; + ATTRIBUTE_NAMES[178] = ATTR_ORIGIN; + ATTRIBUTE_NAMES[179] = ATTR_TARGETY; + ATTRIBUTE_NAMES[180] = ATTR_MATHBACKGROUND; + ATTRIBUTE_NAMES[181] = ATTR_MATHSIZE; + ATTRIBUTE_NAMES[182] = ATTR_PATH; + ATTRIBUTE_NAMES[183] = ATTR_ACTIVE; + ATTRIBUTE_NAMES[184] = ATTR_DIVISOR; + ATTRIBUTE_NAMES[185] = ATTR_MANIFEST; + ATTRIBUTE_NAMES[186] = ATTR_RADIUS; + ATTRIBUTE_NAMES[187] = ATTR_TABINDEX; + ATTRIBUTE_NAMES[188] = ATTR_LINK; + ATTRIBUTE_NAMES[189] = ATTR_MASK; + ATTRIBUTE_NAMES[190] = ATTR_MARKERUNITS; + ATTRIBUTE_NAMES[191] = ATTR_CELLPADDING; + ATTRIBUTE_NAMES[192] = ATTR_FILL_OPACITY; + ATTRIBUTE_NAMES[193] = ATTR_REPLACE; + ATTRIBUTE_NAMES[194] = ATTR_TABLEVALUES; + ATTRIBUTE_NAMES[195] = ATTR_FRAMEBORDER; + ATTRIBUTE_NAMES[196] = ATTR_FORM; + ATTRIBUTE_NAMES[197] = ATTR_SUMMARY; + ATTRIBUTE_NAMES[198] = ATTR_ALINK; + ATTRIBUTE_NAMES[199] = ATTR_KERNELMATRIX; + ATTRIBUTE_NAMES[200] = ATTR_OPEN; + ATTRIBUTE_NAMES[201] = ATTR_POINTER_EVENTS; + ATTRIBUTE_NAMES[202] = ATTR_POINTSATZ; + ATTRIBUTE_NAMES[203] = ATTR_TRANSFORM; + ATTRIBUTE_NAMES[204] = ATTR_XLINK_TITLE; + ATTRIBUTE_NAMES[205] = ATTR_XMLNS; + ATTRIBUTE_NAMES[206] = ATTR_AUTOPLAY; + ATTRIBUTE_NAMES[207] = ATTR_BGCOLOR; + ATTRIBUTE_NAMES[208] = ATTR_COLOR; + ATTRIBUTE_NAMES[209] = ATTR_FLOOD_COLOR; + ATTRIBUTE_NAMES[210] = ATTR_NOMODULE; + ATTRIBUTE_NAMES[211] = ATTR_ONMOUSEOVER; + ATTRIBUTE_NAMES[212] = ATTR_ONCOPY; + ATTRIBUTE_NAMES[213] = ATTR_ONFOCUS; + ATTRIBUTE_NAMES[214] = ATTR_TO; + ATTRIBUTE_NAMES[215] = ATTR_STROKE_DASHOFFSET; + ATTRIBUTE_NAMES[216] = ATTR_SCROLLING; + ATTRIBUTE_NAMES[217] = ATTR_CLIP; + ATTRIBUTE_NAMES[218] = ATTR_DISPLAY; + ATTRIBUTE_NAMES[219] = ATTR_GLYPHREF; + ATTRIBUTE_NAMES[220] = ATTR_PROPERTY; + ATTRIBUTE_NAMES[221] = ATTR_SCOPE; + ATTRIBUTE_NAMES[222] = ATTR_STOP_OPACITY; + ATTRIBUTE_NAMES[223] = ATTR_ATTRIBUTENAME; + ATTRIBUTE_NAMES[224] = ATTR_CHAROFF; + ATTRIBUTE_NAMES[225] = ATTR_ONDRAG; + ATTRIBUTE_NAMES[226] = ATTR_ONDROP; + ATTRIBUTE_NAMES[227] = ATTR_OVERFLOW; + ATTRIBUTE_NAMES[228] = ATTR_START; + ATTRIBUTE_NAMES[229] = ATTR_COLSPAN; + ATTRIBUTE_NAMES[230] = ATTR_CURSOR; + ATTRIBUTE_NAMES[231] = ATTR_IS; + ATTRIBUTE_NAMES[232] = ATTR_MAXSIZE; + ATTRIBUTE_NAMES[233] = ATTR_PRESERVEASPECTRATIO; + ATTRIBUTE_NAMES[234] = ATTR_SRCSET; + ATTRIBUTE_NAMES[235] = ATTR_CONTENTEDITABLE; + ATTRIBUTE_NAMES[236] = ATTR_DEPTH; + ATTRIBUTE_NAMES[237] = ATTR_FONTWEIGHT; + ATTRIBUTE_NAMES[238] = ATTR_FONTFAMILY; + ATTRIBUTE_NAMES[239] = ATTR_FILTERUNITS; + ATTRIBUTE_NAMES[240] = ATTR_LETTER_SPACING; + ATTRIBUTE_NAMES[241] = ATTR_ONSTOP; + ATTRIBUTE_NAMES[242] = ATTR_PATTERN; + ATTRIBUTE_NAMES[243] = ATTR_STITCHTILES; + ATTRIBUTE_NAMES[244] = ATTR_TEXT_ANCHOR; + ATTRIBUTE_NAMES[245] = ATTR_WIDTH; + ATTRIBUTE_NAMES[246] = ATTR_COLUMNALIGN; + ATTRIBUTE_NAMES[247] = ATTR_INPUTMODE; + ATTRIBUTE_NAMES[248] = ATTR_REQUIREDFEATURES; + ATTRIBUTE_NAMES[249] = ATTR_VALUETYPE; + ATTRIBUTE_NAMES[250] = ATTR_VIEWBOX; + ATTRIBUTE_NAMES[251] = ATTR_RX; ATTRIBUTE_NAMES[252] = ATTR_CY; ATTRIBUTE_NAMES[253] = ATTR_FY; ATTRIBUTE_NAMES[254] = ATTR_REFY; @@ -2502,199 +2511,201 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[307] = ATTR_HEADERS; ATTRIBUTE_NAMES[308] = ATTR_READONLY; ATTRIBUTE_NAMES[309] = ATTR_SHADOWROOTMODE; - ATTRIBUTE_NAMES[310] = ATTR_SRCDOC; - ATTRIBUTE_NAMES[311] = ATTR_SANDBOX; - ATTRIBUTE_NAMES[312] = ATTR_WORD_SPACING; - ATTRIBUTE_NAMES[313] = ATTR_ACCEPT_CHARSET; - ATTRIBUTE_NAMES[314] = ATTR_ACCENT; - ATTRIBUTE_NAMES[315] = ATTR_BEVELLED; - ATTRIBUTE_NAMES[316] = ATTR_BASELINE_SHIFT; - ATTRIBUTE_NAMES[317] = ATTR_BASELINE; - ATTRIBUTE_NAMES[318] = ATTR_CODE; - ATTRIBUTE_NAMES[319] = ATTR_CODEBASE; - ATTRIBUTE_NAMES[320] = ATTR_DEFER; - ATTRIBUTE_NAMES[321] = ATTR_DIRECTION; - ATTRIBUTE_NAMES[322] = ATTR_EDGE; - ATTRIBUTE_NAMES[323] = ATTR_FACE; - ATTRIBUTE_NAMES[324] = ATTR_INTERCEPT; - ATTRIBUTE_NAMES[325] = ATTR_LINEBREAK; - ATTRIBUTE_NAMES[326] = ATTR_LINETHICKNESS; - ATTRIBUTE_NAMES[327] = ATTR_NAME; - ATTRIBUTE_NAMES[328] = ATTR_ONBEFOREUNLOAD; - ATTRIBUTE_NAMES[329] = ATTR_OBJECT; - ATTRIBUTE_NAMES[330] = ATTR_ORDER; - ATTRIBUTE_NAMES[331] = ATTR_ONRESET; - ATTRIBUTE_NAMES[332] = ATTR_ONMESSAGE; - ATTRIBUTE_NAMES[333] = ATTR_ONBEFOREPRINT; - ATTRIBUTE_NAMES[334] = ATTR_ORIENTATION; - ATTRIBUTE_NAMES[335] = ATTR_ONSELECTSTART; - ATTRIBUTE_NAMES[336] = ATTR_ONKEYPRESS; - ATTRIBUTE_NAMES[337] = ATTR_ONBEFORECUT; - ATTRIBUTE_NAMES[338] = ATTR_ONRESIZE; - ATTRIBUTE_NAMES[339] = ATTR_REFERRERPOLICY; - ATTRIBUTE_NAMES[340] = ATTR_ROLE; - ATTRIBUTE_NAMES[341] = ATTR_REPEATDUR; - ATTRIBUTE_NAMES[342] = ATTR_SIZES; - ATTRIBUTE_NAMES[343] = ATTR_STRETCHY; - ATTRIBUTE_NAMES[344] = ATTR_SPREADMETHOD; - ATTRIBUTE_NAMES[345] = ATTR_SIZE; - ATTRIBUTE_NAMES[346] = ATTR_DIFFUSECONSTANT; - ATTRIBUTE_NAMES[347] = ATTR_HREFLANG; - ATTRIBUTE_NAMES[348] = ATTR_PROFILE; - ATTRIBUTE_NAMES[349] = ATTR_XREF; - ATTRIBUTE_NAMES[350] = ATTR_ALIGNMENT_BASELINE; - ATTRIBUTE_NAMES[351] = ATTR_DRAGGABLE; - ATTRIBUTE_NAMES[352] = ATTR_IMAGESIZES; - ATTRIBUTE_NAMES[353] = ATTR_IMAGE_RENDERING; - ATTRIBUTE_NAMES[354] = ATTR_LANG; - ATTRIBUTE_NAMES[355] = ATTR_LONGDESC; - ATTRIBUTE_NAMES[356] = ATTR_MARGINHEIGHT; - ATTRIBUTE_NAMES[357] = ATTR_ORIGIN; - ATTRIBUTE_NAMES[358] = ATTR_TARGET; - ATTRIBUTE_NAMES[359] = ATTR_TARGETY; - ATTRIBUTE_NAMES[360] = ATTR_HIGH; - ATTRIBUTE_NAMES[361] = ATTR_MATHBACKGROUND; - ATTRIBUTE_NAMES[362] = ATTR_MATHVARIANT; - ATTRIBUTE_NAMES[363] = ATTR_MATHSIZE; - ATTRIBUTE_NAMES[364] = ATTR_ONCHANGE; - ATTRIBUTE_NAMES[365] = ATTR_PATH; - ATTRIBUTE_NAMES[366] = ATTR_ACTIONTYPE; - ATTRIBUTE_NAMES[367] = ATTR_ACTIVE; - ATTRIBUTE_NAMES[368] = ATTR_BEGIN; - ATTRIBUTE_NAMES[369] = ATTR_DIVISOR; - ATTRIBUTE_NAMES[370] = ATTR_LIMITINGCONEANGLE; - ATTRIBUTE_NAMES[371] = ATTR_MANIFEST; - ATTRIBUTE_NAMES[372] = ATTR_OPTIMUM; - ATTRIBUTE_NAMES[373] = ATTR_RADIUS; - ATTRIBUTE_NAMES[374] = ATTR_SCRIPTSIZEMULTIPLIER; - ATTRIBUTE_NAMES[375] = ATTR_TABINDEX; - ATTRIBUTE_NAMES[376] = ATTR_VISIBILITY; - ATTRIBUTE_NAMES[377] = ATTR_LINK; - ATTRIBUTE_NAMES[378] = ATTR_MARKERHEIGHT; - ATTRIBUTE_NAMES[379] = ATTR_MASK; - ATTRIBUTE_NAMES[380] = ATTR_MARKERWIDTH; - ATTRIBUTE_NAMES[381] = ATTR_MARKERUNITS; - ATTRIBUTE_NAMES[382] = ATTR_AMPLITUDE; - ATTRIBUTE_NAMES[383] = ATTR_CELLPADDING; - ATTRIBUTE_NAMES[384] = ATTR_FILL_RULE; - ATTRIBUTE_NAMES[385] = ATTR_FILL_OPACITY; - ATTRIBUTE_NAMES[386] = ATTR_ONCLICK; - ATTRIBUTE_NAMES[387] = ATTR_REPLACE; - ATTRIBUTE_NAMES[388] = ATTR_SCALE; - ATTRIBUTE_NAMES[389] = ATTR_TABLEVALUES; - ATTRIBUTE_NAMES[390] = ATTR_AZIMUTH; - ATTRIBUTE_NAMES[391] = ATTR_FRAMEBORDER; - ATTRIBUTE_NAMES[392] = ATTR_FRAMESPACING; - ATTRIBUTE_NAMES[393] = ATTR_FORM; - ATTRIBUTE_NAMES[394] = ATTR_PRIMITIVEUNITS; - ATTRIBUTE_NAMES[395] = ATTR_SUMMARY; - ATTRIBUTE_NAMES[396] = ATTR_ZOOMANDPAN; - ATTRIBUTE_NAMES[397] = ATTR_ALINK; - ATTRIBUTE_NAMES[398] = ATTR_ICON; - ATTRIBUTE_NAMES[399] = ATTR_KERNING; - ATTRIBUTE_NAMES[400] = ATTR_ONUNLOAD; - ATTRIBUTE_NAMES[401] = ATTR_ONINVALID; - ATTRIBUTE_NAMES[402] = ATTR_ONINPUT; - ATTRIBUTE_NAMES[403] = ATTR_POINTS; - ATTRIBUTE_NAMES[404] = ATTR_POINTSATY; - ATTRIBUTE_NAMES[405] = ATTR_SPAN; - ATTRIBUTE_NAMES[406] = ATTR_TRANSFORM_ORIGIN; - ATTRIBUTE_NAMES[407] = ATTR_VLINK; - ATTRIBUTE_NAMES[408] = ATTR_XLINK_HREF; - ATTRIBUTE_NAMES[409] = ATTR_XLINK_ROLE; - ATTRIBUTE_NAMES[410] = ATTR_XMLNS_XLINK; - ATTRIBUTE_NAMES[411] = ATTR_XLINK_TYPE; - ATTRIBUTE_NAMES[412] = ATTR_XLINK_ACTUATE; - ATTRIBUTE_NAMES[413] = ATTR_AUTOCOMPLETE; - ATTRIBUTE_NAMES[414] = ATTR_AUTOCAPITALIZE; - ATTRIBUTE_NAMES[415] = ATTR_COLOR_PROFILE; - ATTRIBUTE_NAMES[416] = ATTR_COLOR_INTERPOLATION; - ATTRIBUTE_NAMES[417] = ATTR_COLOR_INTERPOLATION_FILTERS; - ATTRIBUTE_NAMES[418] = ATTR_EXPONENT; - ATTRIBUTE_NAMES[419] = ATTR_FLOOD_OPACITY; - ATTRIBUTE_NAMES[420] = ATTR_NUMOCTAVES; - ATTRIBUTE_NAMES[421] = ATTR_ONLOAD; - ATTRIBUTE_NAMES[422] = ATTR_ONMOUSEENTER; - ATTRIBUTE_NAMES[423] = ATTR_ONFOCUSIN; - ATTRIBUTE_NAMES[424] = ATTR_ONZOOM; - ATTRIBUTE_NAMES[425] = ATTR_ONMOUSELEAVE; - ATTRIBUTE_NAMES[426] = ATTR_ONMOUSEUP; - ATTRIBUTE_NAMES[427] = ATTR_ONMOUSEOUT; - ATTRIBUTE_NAMES[428] = ATTR_ONMOUSEDOWN; - ATTRIBUTE_NAMES[429] = ATTR_RQUOTE; - ATTRIBUTE_NAMES[430] = ATTR_STROKE_DASHARRAY; - ATTRIBUTE_NAMES[431] = ATTR_STROKE_LINEJOIN; - ATTRIBUTE_NAMES[432] = ATTR_STROKE; - ATTRIBUTE_NAMES[433] = ATTR_STROKE_WIDTH; - ATTRIBUTE_NAMES[434] = ATTR_COMPACT; - ATTRIBUTE_NAMES[435] = ATTR_CLIP_RULE; - ATTRIBUTE_NAMES[436] = ATTR_CLIPPATHUNITS; - ATTRIBUTE_NAMES[437] = ATTR_DISPLAYSTYLE; - ATTRIBUTE_NAMES[438] = ATTR_GLYPH_ORIENTATION_HORIZONTAL; - ATTRIBUTE_NAMES[439] = ATTR_HTTP_EQUIV; - ATTRIBUTE_NAMES[440] = ATTR_LOOP; - ATTRIBUTE_NAMES[441] = ATTR_SCOPED; - ATTRIBUTE_NAMES[442] = ATTR_SHAPE_RENDERING; - ATTRIBUTE_NAMES[443] = ATTR_SHAPE; - ATTRIBUTE_NAMES[444] = ATTR_STOP_COLOR; - ATTRIBUTE_NAMES[445] = ATTR_TEMPLATE; - ATTRIBUTE_NAMES[446] = ATTR_ABBR; - ATTRIBUTE_NAMES[447] = ATTR_ATTRIBUTETYPE; - ATTRIBUTE_NAMES[448] = ATTR_COORDS; - ATTRIBUTE_NAMES[449] = ATTR_CHARSET; - ATTRIBUTE_NAMES[450] = ATTR_NOHREF; - ATTRIBUTE_NAMES[451] = ATTR_ONDRAGENTER; - ATTRIBUTE_NAMES[452] = ATTR_ONDRAGEND; - ATTRIBUTE_NAMES[453] = ATTR_ONDRAGDROP; - ATTRIBUTE_NAMES[454] = ATTR_OPERATOR; - ATTRIBUTE_NAMES[455] = ATTR_ONDRAGSTART; - ATTRIBUTE_NAMES[456] = ATTR_STARTOFFSET; - ATTRIBUTE_NAMES[457] = ATTR_AS; - ATTRIBUTE_NAMES[458] = ATTR_BIAS; - ATTRIBUTE_NAMES[459] = ATTR_CLASSID; - ATTRIBUTE_NAMES[460] = ATTR_COLS; - ATTRIBUTE_NAMES[461] = ATTR_CLOSURE; - ATTRIBUTE_NAMES[462] = ATTR_CLASS; - ATTRIBUTE_NAMES[463] = ATTR_KEYSYSTEM; - ATTRIBUTE_NAMES[464] = ATTR_LOWSRC; - ATTRIBUTE_NAMES[465] = ATTR_MINSIZE; - ATTRIBUTE_NAMES[466] = ATTR_PRESERVEALPHA; - ATTRIBUTE_NAMES[467] = ATTR_ROWSPAN; - ATTRIBUTE_NAMES[468] = ATTR_ROWS; - ATTRIBUTE_NAMES[469] = ATTR_SUBSCRIPTSHIFT; - ATTRIBUTE_NAMES[470] = ATTR_ALTTEXT; - ATTRIBUTE_NAMES[471] = ATTR_CONTROLS; - ATTRIBUTE_NAMES[472] = ATTR_CONTEXTMENU; - ATTRIBUTE_NAMES[473] = ATTR_ENCTYPE; - ATTRIBUTE_NAMES[474] = ATTR_FILTER; - ATTRIBUTE_NAMES[475] = ATTR_FONT_WEIGHT; - ATTRIBUTE_NAMES[476] = ATTR_FONT_STYLE; - ATTRIBUTE_NAMES[477] = ATTR_FONT_FAMILY; - ATTRIBUTE_NAMES[478] = ATTR_FONT_SIZE_ADJUST; - ATTRIBUTE_NAMES[479] = ATTR_FONTSIZE; - ATTRIBUTE_NAMES[480] = ATTR_KEYTIMES; - ATTRIBUTE_NAMES[481] = ATTR_LIST; - ATTRIBUTE_NAMES[482] = ATTR_RT; - ATTRIBUTE_NAMES[483] = ATTR_ONSTART; - ATTRIBUTE_NAMES[484] = ATTR_PATTERNTRANSFORM; - ATTRIBUTE_NAMES[485] = ATTR_PATTERNUNITS; - ATTRIBUTE_NAMES[486] = ATTR_RESTART; - ATTRIBUTE_NAMES[487] = ATTR_SYSTEMLANGUAGE; - ATTRIBUTE_NAMES[488] = ATTR_TEXT_DECORATION; - ATTRIBUTE_NAMES[489] = ATTR_TEXTLENGTH; - ATTRIBUTE_NAMES[490] = ATTR_WRITING_MODE; - ATTRIBUTE_NAMES[491] = ATTR_ACCUMULATE; - ATTRIBUTE_NAMES[492] = ATTR_COLUMNLINES; - ATTRIBUTE_NAMES[493] = ATTR_COLUMNSPACING; - ATTRIBUTE_NAMES[494] = ATTR_GROUPALIGN; - ATTRIBUTE_NAMES[495] = ATTR_ONSUBMIT; - ATTRIBUTE_NAMES[496] = ATTR_REQUIRED; - ATTRIBUTE_NAMES[497] = ATTR_RESULT; - ATTRIBUTE_NAMES[498] = ATTR_VALUES; - ATTRIBUTE_NAMES[499] = ATTR_VALUE; - ATTRIBUTE_NAMES[500] = ATTR_VIEWTARGET; - ATTRIBUTE_NAMES[501] = ATTR_CX; - ATTRIBUTE_NAMES[502] = ATTR_FX; + ATTRIBUTE_NAMES[310] = ATTR_SHADOWROOTCLONABLE; + ATTRIBUTE_NAMES[311] = ATTR_STDDEVIATION; + ATTRIBUTE_NAMES[312] = ATTR_SHADOWROOTDELEGATESFOCUS; + ATTRIBUTE_NAMES[313] = ATTR_ACCENTUNDER; + ATTRIBUTE_NAMES[314] = ATTR_ACCESSKEY; + ATTRIBUTE_NAMES[315] = ATTR_ACCEPT; + ATTRIBUTE_NAMES[316] = ATTR_BASEFREQUENCY; + ATTRIBUTE_NAMES[317] = ATTR_BASEPROFILE; + ATTRIBUTE_NAMES[318] = ATTR_BASE; + ATTRIBUTE_NAMES[319] = ATTR_CODETYPE; + ATTRIBUTE_NAMES[320] = ATTR_CITE; + ATTRIBUTE_NAMES[321] = ATTR_DATETIME; + ATTRIBUTE_NAMES[322] = ATTR_EDGEMODE; + ATTRIBUTE_NAMES[323] = ATTR_ENTERKEYHINT; + ATTRIBUTE_NAMES[324] = ATTR_INDEX; + ATTRIBUTE_NAMES[325] = ATTR_INTEGRITY; + ATTRIBUTE_NAMES[326] = ATTR_LABEL; + ATTRIBUTE_NAMES[327] = ATTR_MODE; + ATTRIBUTE_NAMES[328] = ATTR_NORESIZE; + ATTRIBUTE_NAMES[329] = ATTR_ONREPEAT; + ATTRIBUTE_NAMES[330] = ATTR_ONSELECT; + ATTRIBUTE_NAMES[331] = ATTR_OTHER; + ATTRIBUTE_NAMES[332] = ATTR_ONREADYSTATECHANGE; + ATTRIBUTE_NAMES[333] = ATTR_ONBEGIN; + ATTRIBUTE_NAMES[334] = ATTR_ORIENT; + ATTRIBUTE_NAMES[335] = ATTR_ONBEFORECOPY; + ATTRIBUTE_NAMES[336] = ATTR_ONBEFOREPASTE; + ATTRIBUTE_NAMES[337] = ATTR_ONKEYUP; + ATTRIBUTE_NAMES[338] = ATTR_ONKEYDOWN; + ATTRIBUTE_NAMES[339] = ATTR_REPEAT; + ATTRIBUTE_NAMES[340] = ATTR_RULES; + ATTRIBUTE_NAMES[341] = ATTR_REPEATCOUNT; + ATTRIBUTE_NAMES[342] = ATTR_SELECTED; + ATTRIBUTE_NAMES[343] = ATTR_SUPERSCRIPTSHIFT; + ATTRIBUTE_NAMES[344] = ATTR_SCHEME; + ATTRIBUTE_NAMES[345] = ATTR_SELECTION; + ATTRIBUTE_NAMES[346] = ATTR_TYPE; + ATTRIBUTE_NAMES[347] = ATTR_HREF; + ATTRIBUTE_NAMES[348] = ATTR_ONAFTERPRINT; + ATTRIBUTE_NAMES[349] = ATTR_SURFACESCALE; + ATTRIBUTE_NAMES[350] = ATTR_ALIGN; + ATTRIBUTE_NAMES[351] = ATTR_ALIGNMENTSCOPE; + ATTRIBUTE_NAMES[352] = ATTR_HEIGHT; + ATTRIBUTE_NAMES[353] = ATTR_IMAGESRCSET; + ATTRIBUTE_NAMES[354] = ATTR_LANGUAGE; + ATTRIBUTE_NAMES[355] = ATTR_LARGEOP; + ATTRIBUTE_NAMES[356] = ATTR_LENGTHADJUST; + ATTRIBUTE_NAMES[357] = ATTR_MARGINWIDTH; + ATTRIBUTE_NAMES[358] = ATTR_PING; + ATTRIBUTE_NAMES[359] = ATTR_TARGETX; + ATTRIBUTE_NAMES[360] = ATTR_ARCHIVE; + ATTRIBUTE_NAMES[361] = ATTR_LIGHTING_COLOR; + ATTRIBUTE_NAMES[362] = ATTR_METHOD; + ATTRIBUTE_NAMES[363] = ATTR_MATHCOLOR; + ATTRIBUTE_NAMES[364] = ATTR_NOSHADE; + ATTRIBUTE_NAMES[365] = ATTR_PATHLENGTH; + ATTRIBUTE_NAMES[366] = ATTR_ALTIMG; + ATTRIBUTE_NAMES[367] = ATTR_ACTION; + ATTRIBUTE_NAMES[368] = ATTR_ADDITIVE; + ATTRIBUTE_NAMES[369] = ATTR_DOMINANT_BASELINE; + ATTRIBUTE_NAMES[370] = ATTR_DEFINITIONURL; + ATTRIBUTE_NAMES[371] = ATTR_MEDIA; + ATTRIBUTE_NAMES[372] = ATTR_ONFINISH; + ATTRIBUTE_NAMES[373] = ATTR_RADIOGROUP; + ATTRIBUTE_NAMES[374] = ATTR_SCRIPTLEVEL; + ATTRIBUTE_NAMES[375] = ATTR_SCRIPTMINSIZE; + ATTRIBUTE_NAMES[376] = ATTR_VALIGN; + ATTRIBUTE_NAMES[377] = ATTR_BACKGROUND; + ATTRIBUTE_NAMES[378] = ATTR_MARKER_MID; + ATTRIBUTE_NAMES[379] = ATTR_MARKER_END; + ATTRIBUTE_NAMES[380] = ATTR_MARKER_START; + ATTRIBUTE_NAMES[381] = ATTR_MASKUNITS; + ATTRIBUTE_NAMES[382] = ATTR_MASKCONTENTUNITS; + ATTRIBUTE_NAMES[383] = ATTR_CELLSPACING; + ATTRIBUTE_NAMES[384] = ATTR_DECLARE; + ATTRIBUTE_NAMES[385] = ATTR_FILL; + ATTRIBUTE_NAMES[386] = ATTR_MAXLENGTH; + ATTRIBUTE_NAMES[387] = ATTR_ONBLUR; + ATTRIBUTE_NAMES[388] = ATTR_ROWLINES; + ATTRIBUTE_NAMES[389] = ATTR_STYLE; + ATTRIBUTE_NAMES[390] = ATTR_TITLE; + ATTRIBUTE_NAMES[391] = ATTR_FORMAT; + ATTRIBUTE_NAMES[392] = ATTR_FRAME; + ATTRIBUTE_NAMES[393] = ATTR_FROM; + ATTRIBUTE_NAMES[394] = ATTR_PROMPT; + ATTRIBUTE_NAMES[395] = ATTR_SYMMETRIC; + ATTRIBUTE_NAMES[396] = ATTR_USEMAP; + ATTRIBUTE_NAMES[397] = ATTR_ASYNC; + ATTRIBUTE_NAMES[398] = ATTR_IN; + ATTRIBUTE_NAMES[399] = ATTR_ICON; + ATTRIBUTE_NAMES[400] = ATTR_KERNING; + ATTRIBUTE_NAMES[401] = ATTR_ONUNLOAD; + ATTRIBUTE_NAMES[402] = ATTR_ONINVALID; + ATTRIBUTE_NAMES[403] = ATTR_ONINPUT; + ATTRIBUTE_NAMES[404] = ATTR_POINTS; + ATTRIBUTE_NAMES[405] = ATTR_POINTSATY; + ATTRIBUTE_NAMES[406] = ATTR_SPAN; + ATTRIBUTE_NAMES[407] = ATTR_TRANSFORM_ORIGIN; + ATTRIBUTE_NAMES[408] = ATTR_VLINK; + ATTRIBUTE_NAMES[409] = ATTR_XLINK_HREF; + ATTRIBUTE_NAMES[410] = ATTR_XLINK_ROLE; + ATTRIBUTE_NAMES[411] = ATTR_XMLNS_XLINK; + ATTRIBUTE_NAMES[412] = ATTR_XLINK_TYPE; + ATTRIBUTE_NAMES[413] = ATTR_XLINK_ACTUATE; + ATTRIBUTE_NAMES[414] = ATTR_AUTOCOMPLETE; + ATTRIBUTE_NAMES[415] = ATTR_AUTOCAPITALIZE; + ATTRIBUTE_NAMES[416] = ATTR_COLOR_PROFILE; + ATTRIBUTE_NAMES[417] = ATTR_COLOR_INTERPOLATION; + ATTRIBUTE_NAMES[418] = ATTR_COLOR_INTERPOLATION_FILTERS; + ATTRIBUTE_NAMES[419] = ATTR_EXPONENT; + ATTRIBUTE_NAMES[420] = ATTR_FLOOD_OPACITY; + ATTRIBUTE_NAMES[421] = ATTR_NUMOCTAVES; + ATTRIBUTE_NAMES[422] = ATTR_ONLOAD; + ATTRIBUTE_NAMES[423] = ATTR_ONMOUSEENTER; + ATTRIBUTE_NAMES[424] = ATTR_ONFOCUSIN; + ATTRIBUTE_NAMES[425] = ATTR_ONZOOM; + ATTRIBUTE_NAMES[426] = ATTR_ONMOUSELEAVE; + ATTRIBUTE_NAMES[427] = ATTR_ONMOUSEUP; + ATTRIBUTE_NAMES[428] = ATTR_ONMOUSEOUT; + ATTRIBUTE_NAMES[429] = ATTR_ONMOUSEDOWN; + ATTRIBUTE_NAMES[430] = ATTR_RQUOTE; + ATTRIBUTE_NAMES[431] = ATTR_STROKE_DASHARRAY; + ATTRIBUTE_NAMES[432] = ATTR_STROKE_LINEJOIN; + ATTRIBUTE_NAMES[433] = ATTR_STROKE; + ATTRIBUTE_NAMES[434] = ATTR_STROKE_WIDTH; + ATTRIBUTE_NAMES[435] = ATTR_COMPACT; + ATTRIBUTE_NAMES[436] = ATTR_CLIP_RULE; + ATTRIBUTE_NAMES[437] = ATTR_CLIPPATHUNITS; + ATTRIBUTE_NAMES[438] = ATTR_DISPLAYSTYLE; + ATTRIBUTE_NAMES[439] = ATTR_GLYPH_ORIENTATION_HORIZONTAL; + ATTRIBUTE_NAMES[440] = ATTR_HTTP_EQUIV; + ATTRIBUTE_NAMES[441] = ATTR_LOOP; + ATTRIBUTE_NAMES[442] = ATTR_SCOPED; + ATTRIBUTE_NAMES[443] = ATTR_SHAPE_RENDERING; + ATTRIBUTE_NAMES[444] = ATTR_SHAPE; + ATTRIBUTE_NAMES[445] = ATTR_STOP_COLOR; + ATTRIBUTE_NAMES[446] = ATTR_TEMPLATE; + ATTRIBUTE_NAMES[447] = ATTR_ABBR; + ATTRIBUTE_NAMES[448] = ATTR_ATTRIBUTETYPE; + ATTRIBUTE_NAMES[449] = ATTR_COORDS; + ATTRIBUTE_NAMES[450] = ATTR_CHARSET; + ATTRIBUTE_NAMES[451] = ATTR_NOHREF; + ATTRIBUTE_NAMES[452] = ATTR_ONDRAGENTER; + ATTRIBUTE_NAMES[453] = ATTR_ONDRAGEND; + ATTRIBUTE_NAMES[454] = ATTR_ONDRAGDROP; + ATTRIBUTE_NAMES[455] = ATTR_OPERATOR; + ATTRIBUTE_NAMES[456] = ATTR_ONDRAGSTART; + ATTRIBUTE_NAMES[457] = ATTR_STARTOFFSET; + ATTRIBUTE_NAMES[458] = ATTR_AS; + ATTRIBUTE_NAMES[459] = ATTR_BIAS; + ATTRIBUTE_NAMES[460] = ATTR_CLASSID; + ATTRIBUTE_NAMES[461] = ATTR_COLS; + ATTRIBUTE_NAMES[462] = ATTR_CLOSURE; + ATTRIBUTE_NAMES[463] = ATTR_CLASS; + ATTRIBUTE_NAMES[464] = ATTR_KEYSYSTEM; + ATTRIBUTE_NAMES[465] = ATTR_LOWSRC; + ATTRIBUTE_NAMES[466] = ATTR_MINSIZE; + ATTRIBUTE_NAMES[467] = ATTR_PRESERVEALPHA; + ATTRIBUTE_NAMES[468] = ATTR_ROWSPAN; + ATTRIBUTE_NAMES[469] = ATTR_ROWS; + ATTRIBUTE_NAMES[470] = ATTR_SUBSCRIPTSHIFT; + ATTRIBUTE_NAMES[471] = ATTR_ALTTEXT; + ATTRIBUTE_NAMES[472] = ATTR_CONTROLS; + ATTRIBUTE_NAMES[473] = ATTR_CONTEXTMENU; + ATTRIBUTE_NAMES[474] = ATTR_ENCTYPE; + ATTRIBUTE_NAMES[475] = ATTR_FILTER; + ATTRIBUTE_NAMES[476] = ATTR_FONT_WEIGHT; + ATTRIBUTE_NAMES[477] = ATTR_FONT_STYLE; + ATTRIBUTE_NAMES[478] = ATTR_FONT_FAMILY; + ATTRIBUTE_NAMES[479] = ATTR_FONT_SIZE_ADJUST; + ATTRIBUTE_NAMES[480] = ATTR_FONTSIZE; + ATTRIBUTE_NAMES[481] = ATTR_KEYTIMES; + ATTRIBUTE_NAMES[482] = ATTR_LIST; + ATTRIBUTE_NAMES[483] = ATTR_RT; + ATTRIBUTE_NAMES[484] = ATTR_ONSTART; + ATTRIBUTE_NAMES[485] = ATTR_PATTERNTRANSFORM; + ATTRIBUTE_NAMES[486] = ATTR_PATTERNUNITS; + ATTRIBUTE_NAMES[487] = ATTR_RESTART; + ATTRIBUTE_NAMES[488] = ATTR_SYSTEMLANGUAGE; + ATTRIBUTE_NAMES[489] = ATTR_TEXT_DECORATION; + ATTRIBUTE_NAMES[490] = ATTR_TEXTLENGTH; + ATTRIBUTE_NAMES[491] = ATTR_WRITING_MODE; + ATTRIBUTE_NAMES[492] = ATTR_ACCUMULATE; + ATTRIBUTE_NAMES[493] = ATTR_COLUMNLINES; + ATTRIBUTE_NAMES[494] = ATTR_COLUMNSPACING; + ATTRIBUTE_NAMES[495] = ATTR_GROUPALIGN; + ATTRIBUTE_NAMES[496] = ATTR_ONSUBMIT; + ATTRIBUTE_NAMES[497] = ATTR_REQUIRED; + ATTRIBUTE_NAMES[498] = ATTR_RESULT; + ATTRIBUTE_NAMES[499] = ATTR_VALUES; + ATTRIBUTE_NAMES[500] = ATTR_VALUE; + ATTRIBUTE_NAMES[501] = ATTR_VIEWTARGET; + ATTRIBUTE_NAMES[502] = ATTR_CX; + ATTRIBUTE_NAMES[503] = ATTR_FX; + ATTRIBUTE_NAMES[504] = ATTR_REFX; } void nsHtml5AttributeName::releaseStatics() { @@ -2816,6 +2827,7 @@ void nsHtml5AttributeName::releaseStatics() { delete ATTR_RENDERING_INTENT; delete ATTR_SHADOWROOTMODE; delete ATTR_SEED; + delete ATTR_SHADOWROOTCLONABLE; delete ATTR_SRCDOC; delete ATTR_STDDEVIATION; delete ATTR_SANDBOX; @@ -2992,6 +3004,7 @@ void nsHtml5AttributeName::releaseStatics() { delete ATTR_ASYNC; delete ATTR_ALINK; delete ATTR_IN; + delete ATTR_EVENT; delete ATTR_ICON; delete ATTR_KERNELMATRIX; delete ATTR_KERNING; diff --git a/parser/html/nsHtml5AttributeName.h b/parser/html/nsHtml5AttributeName.h index 91e367ecb1..057c53dbcc 100644 --- a/parser/html/nsHtml5AttributeName.h +++ b/parser/html/nsHtml5AttributeName.h @@ -283,6 +283,7 @@ class nsHtml5AttributeName { static nsHtml5AttributeName* ATTR_RENDERING_INTENT; static nsHtml5AttributeName* ATTR_SHADOWROOTMODE; static nsHtml5AttributeName* ATTR_SEED; + static nsHtml5AttributeName* ATTR_SHADOWROOTCLONABLE; static nsHtml5AttributeName* ATTR_SRCDOC; static nsHtml5AttributeName* ATTR_STDDEVIATION; static nsHtml5AttributeName* ATTR_SANDBOX; @@ -459,6 +460,7 @@ class nsHtml5AttributeName { static nsHtml5AttributeName* ATTR_ASYNC; static nsHtml5AttributeName* ATTR_ALINK; static nsHtml5AttributeName* ATTR_IN; + static nsHtml5AttributeName* ATTR_EVENT; static nsHtml5AttributeName* ATTR_ICON; static nsHtml5AttributeName* ATTR_KERNELMATRIX; static nsHtml5AttributeName* ATTR_KERNING; diff --git a/parser/html/nsHtml5SpeculativeLoad.cpp b/parser/html/nsHtml5SpeculativeLoad.cpp index b85c31f655..4ddc15b957 100644 --- a/parser/html/nsHtml5SpeculativeLoad.cpp +++ b/parser/html/nsHtml5SpeculativeLoad.cpp @@ -45,7 +45,7 @@ void nsHtml5SpeculativeLoad::Perform(nsHtml5TreeOpExecutor* aExecutor) { aExecutor->PreloadImage( mUrlOrSizes, mCrossOrigin, mMedia, mCharsetOrSrcset, mTypeOrCharsetSourceOrDocumentModeOrMetaCSPOrSizesOrIntegrity, - mReferrerPolicyOrIntegrity, mIsLinkPreload); + mReferrerPolicyOrIntegrity, mIsLinkPreload, mFetchPriority); break; case eSpeculativeLoadOpenPicture: aExecutor->PreloadOpenPicture(); diff --git a/parser/html/nsHtml5SpeculativeLoad.h b/parser/html/nsHtml5SpeculativeLoad.h index d53d3a5b46..61ec92e6a4 100644 --- a/parser/html/nsHtml5SpeculativeLoad.h +++ b/parser/html/nsHtml5SpeculativeLoad.h @@ -75,7 +75,7 @@ class nsHtml5SpeculativeLoad { inline void InitImage(nsHtml5String aUrl, nsHtml5String aCrossOrigin, nsHtml5String aMedia, nsHtml5String aReferrerPolicy, nsHtml5String aSrcset, nsHtml5String aSizes, - bool aLinkPreload) { + bool aLinkPreload, nsHtml5String aFetchPriority) { MOZ_ASSERT(mOpCode == eSpeculativeLoadUninitialized, "Trying to reinitialize a speculative load!"); mOpCode = eSpeculativeLoadImage; @@ -92,6 +92,7 @@ class nsHtml5SpeculativeLoad { aSizes.ToString( mTypeOrCharsetSourceOrDocumentModeOrMetaCSPOrSizesOrIntegrity); mIsLinkPreload = aLinkPreload; + aFetchPriority.ToString(mFetchPriority); } inline void InitFont(nsHtml5String aUrl, nsHtml5String aCrossOrigin, diff --git a/parser/html/nsHtml5StreamParser.cpp b/parser/html/nsHtml5StreamParser.cpp index a6d9a0c739..82344cfa87 100644 --- a/parser/html/nsHtml5StreamParser.cpp +++ b/parser/html/nsHtml5StreamParser.cpp @@ -8,17 +8,12 @@ #include <stdlib.h> #include <string.h> -#include <algorithm> -#include <new> -#include <type_traits> #include <utility> #include "ErrorList.h" #include "GeckoProfiler.h" #include "js/GCAPI.h" -#include "mozilla/ArrayIterator.h" #include "mozilla/Buffer.h" #include "mozilla/CheckedInt.h" -#include "mozilla/DebugOnly.h" #include "mozilla/Encoding.h" #include "mozilla/EncodingDetector.h" #include "mozilla/Likely.h" @@ -27,24 +22,20 @@ #include "mozilla/ScopeExit.h" #include "mozilla/Services.h" #include "mozilla/StaticPrefs_html5.h" -#include "mozilla/StaticPrefs_intl.h" #include "mozilla/StaticPrefs_network.h" #include "mozilla/TextUtils.h" +#include "mozilla/glean/GleanMetrics.h" -#include "mozilla/UniquePtrExtensions.h" #include "mozilla/Unused.h" #include "mozilla/dom/BindingDeclarations.h" #include "mozilla/dom/BrowsingContext.h" #include "mozilla/dom/DebuggerUtilsBinding.h" -#include "mozilla/dom/DocGroup.h" #include "mozilla/dom/Document.h" -#include "mozilla/mozalloc.h" #include "mozilla/Vector.h" #include "nsContentSink.h" #include "nsContentUtils.h" #include "nsCycleCollectionTraversalCallback.h" #include "nsHtml5AtomTable.h" -#include "nsHtml5ByteReadable.h" #include "nsHtml5Highlighter.h" #include "nsHtml5Module.h" #include "nsHtml5OwningUTF16Buffer.h" @@ -54,13 +45,11 @@ #include "nsHtml5Tokenizer.h" #include "nsHtml5TreeBuilder.h" #include "nsHtml5TreeOpExecutor.h" -#include "nsHtml5TreeOpStage.h" #include "nsIChannel.h" #include "nsIContentSink.h" #include "nsID.h" #include "nsIDTD.h" #include "nsIDocShell.h" -#include "nsIEventTarget.h" #include "nsIHttpChannel.h" #include "nsIInputStream.h" #include "nsINestedURI.h" @@ -70,7 +59,6 @@ #include "nsIScriptError.h" #include "nsIThread.h" #include "nsIThreadRetargetableRequest.h" -#include "nsIThreadRetargetableStreamListener.h" #include "nsITimer.h" #include "nsIURI.h" #include "nsJSEnvironment.h" diff --git a/parser/html/nsHtml5TreeBuilder.cpp b/parser/html/nsHtml5TreeBuilder.cpp index af29910501..26db77865f 100644 --- a/parser/html/nsHtml5TreeBuilder.cpp +++ b/parser/html/nsHtml5TreeBuilder.cpp @@ -2104,10 +2104,12 @@ nsIContentHandle* nsHtml5TreeBuilder::getDeclarativeShadowRoot( if (!shadowRootMode) { return nullptr; } + bool shadowRootIsClonable = + attributes->contains(nsHtml5AttributeName::ATTR_SHADOWROOTCLONABLE); bool shadowRootDelegatesFocus = attributes->contains(nsHtml5AttributeName::ATTR_SHADOWROOTDELEGATESFOCUS); return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, - shadowRootDelegatesFocus); + shadowRootIsClonable, shadowRootDelegatesFocus); } nsHtml5String nsHtml5TreeBuilder::extractCharsetFromContent( diff --git a/parser/html/nsHtml5TreeBuilderCppSupplement.h b/parser/html/nsHtml5TreeBuilderCppSupplement.h index ba9c217cb9..59df6937e2 100644 --- a/parser/html/nsHtml5TreeBuilderCppSupplement.h +++ b/parser/html/nsHtml5TreeBuilderCppSupplement.h @@ -113,6 +113,19 @@ nsHtml5TreeBuilder::~nsHtml5TreeBuilder() { mOpQueue.Clear(); } +static void getTypeString(nsHtml5String& aType, nsAString& aTypeString) { + aType.ToString(aTypeString); + + // Since `typeString` after trimming and lowercasing is only checked + // for "module" and " importmap", we don't need to remember + // pre-trimming emptiness here. + + // ASCII whitespace https://infra.spec.whatwg.org/#ascii-whitespace: + // U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, or U+0020 SPACE. + static const char kASCIIWhitespace[] = "\t\n\f\r "; + aTypeString.Trim(kASCIIWhitespace); +} + nsIContentHandle* nsHtml5TreeBuilder::createElement( int32_t aNamespace, nsAtom* aName, nsHtml5HtmlAttributes* aAttributes, nsIContentHandle* aIntendedParent, nsHtml5ContentCreatorFunction aCreator) { @@ -202,9 +215,11 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement( nsHtml5AttributeName::ATTR_REFERRERPOLICY); nsHtml5String sizes = aAttributes->getValue(nsHtml5AttributeName::ATTR_SIZES); + nsHtml5String fetchPriority = + aAttributes->getValue(nsHtml5AttributeName::ATTR_FETCHPRIORITY); mSpeculativeLoadQueue.AppendElement()->InitImage( url, crossOrigin, /* aMedia = */ nullptr, referrerPolicy, - srcset, sizes, false); + srcset, sizes, false, fetchPriority); } } else if (nsGkAtoms::source == aName) { nsHtml5String srcset = @@ -239,16 +254,7 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement( nsHtml5String type = aAttributes->getValue(nsHtml5AttributeName::ATTR_TYPE); nsAutoString typeString; - type.ToString(typeString); - - // Since `typeString` after trimming and lowercasing is only checked - // for "module" and " importmap", we don't need to remember - // pre-trimming emptiness here. - - // ASCII whitespace https://infra.spec.whatwg.org/#ascii-whitespace: - // U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, or U+0020 SPACE. - static const char kASCIIWhitespace[] = "\t\n\f\r "; - typeString.Trim(kASCIIWhitespace); + getTypeString(type, typeString); bool isModule = typeString.LowerCaseEqualsASCII("module"); bool importmap = typeString.LowerCaseEqualsASCII("importmap"); @@ -431,7 +437,7 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement( nsHtml5AttributeName::ATTR_IMAGESIZES); mSpeculativeLoadQueue.AppendElement()->InitImage( url, crossOrigin, media, referrerPolicy, srcset, sizes, - true); + true, fetchPriority); } else if (as.LowerCaseEqualsASCII("font")) { mSpeculativeLoadQueue.AppendElement()->InitFont( url, crossOrigin, media, referrerPolicy, fetchPriority); @@ -483,8 +489,14 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement( nsHtml5String url = aAttributes->getValue(nsHtml5AttributeName::ATTR_POSTER); if (url) { + // Fetch priority is not supported for video. Nullptr will map to + // the auto state + // (https://html.spec.whatwg.org/#fetch-priority-attribute). + auto fetchPriority = nullptr; + mSpeculativeLoadQueue.AppendElement()->InitImage( - url, nullptr, nullptr, nullptr, nullptr, nullptr, false); + url, nullptr, nullptr, nullptr, nullptr, nullptr, false, + fetchPriority); } } else if (nsGkAtoms::style == aName) { mImportScanner.Start(); @@ -539,8 +551,15 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement( url = aAttributes->getValue(nsHtml5AttributeName::ATTR_XLINK_HREF); } if (url) { + // Currently SVG's `<image>` element lacks support for + // `fetchpriority`, see bug 1847712. Hence passing nullptr which + // maps to the auto state + // (https://html.spec.whatwg.org/#fetch-priority-attribute). + auto fetchPriority = nullptr; + mSpeculativeLoadQueue.AppendElement()->InitImage( - url, nullptr, nullptr, nullptr, nullptr, nullptr, false); + url, nullptr, nullptr, nullptr, nullptr, nullptr, false, + fetchPriority); } } else if (nsGkAtoms::script == aName) { nsHtml5TreeOperation* treeOp = @@ -556,36 +575,70 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement( tokenizer->getColumnNumber() + 1); treeOp->Init(mozilla::AsVariant(operation)); + nsHtml5String type = + aAttributes->getValue(nsHtml5AttributeName::ATTR_TYPE); + nsAutoString typeString; + getTypeString(type, typeString); + + bool isModule = typeString.LowerCaseEqualsASCII("module"); + bool importmap = typeString.LowerCaseEqualsASCII("importmap"); + bool async = false; + bool defer = false; + + if (importmap) { + // If we see an importmap, we don't want to later start speculative + // loads for modulepreloads, since such load might finish before + // the importmap is created. This also applies to module scripts so + // that any modulepreload integrity checks can be performed before + // the modules scripts are loaded. + // This state is not part of speculation rollback: If an importmap + // is seen speculatively and the speculation is rolled back, the + // importmap is still considered seen. + // TODO: Sync importmap seenness between the main thread and the + // parser thread. + // https://bugzilla.mozilla.org/show_bug.cgi?id=1848312 + mHasSeenImportMap = true; + } nsHtml5String url = aAttributes->getValue(nsHtml5AttributeName::ATTR_HREF); if (!url) { url = aAttributes->getValue(nsHtml5AttributeName::ATTR_XLINK_HREF); } if (url) { - nsHtml5String type = - aAttributes->getValue(nsHtml5AttributeName::ATTR_TYPE); - nsHtml5String crossOrigin = - aAttributes->getValue(nsHtml5AttributeName::ATTR_CROSSORIGIN); - nsHtml5String nonce = - aAttributes->getValue(nsHtml5AttributeName::ATTR_NONCE); - nsHtml5String integrity = - aAttributes->getValue(nsHtml5AttributeName::ATTR_INTEGRITY); - nsHtml5String referrerPolicy = aAttributes->getValue( - nsHtml5AttributeName::ATTR_REFERRERPOLICY); + async = aAttributes->contains(nsHtml5AttributeName::ATTR_ASYNC); + defer = aAttributes->contains(nsHtml5AttributeName::ATTR_DEFER); + if ((isModule && !mHasSeenImportMap) || (!isModule && !importmap)) { + nsHtml5String type = + aAttributes->getValue(nsHtml5AttributeName::ATTR_TYPE); + nsHtml5String crossOrigin = + aAttributes->getValue(nsHtml5AttributeName::ATTR_CROSSORIGIN); + nsHtml5String nonce = + aAttributes->getValue(nsHtml5AttributeName::ATTR_NONCE); + nsHtml5String integrity = + aAttributes->getValue(nsHtml5AttributeName::ATTR_INTEGRITY); + nsHtml5String referrerPolicy = aAttributes->getValue( + nsHtml5AttributeName::ATTR_REFERRERPOLICY); - // Bug 1847712: SVG's `<script>` element doesn't support - // `fetchpriority` yet. - // Use the empty string and rely on the - // "invalid value default" state being used later. - // Compared to using a non-empty string, this doesn't - // require calling `Release()` for the string. - nsHtml5String fetchPriority = nsHtml5String::EmptyString(); - - mSpeculativeLoadQueue.AppendElement()->InitScript( - url, nullptr, type, crossOrigin, /* aMedia = */ nullptr, nonce, - fetchPriority, integrity, referrerPolicy, - mode == nsHtml5TreeBuilder::IN_HEAD, false, false, false); + // Bug 1847712: SVG's `<script>` element doesn't support + // `fetchpriority` yet. + // Use the empty string and rely on the + // "invalid value default" state being used later. + // Compared to using a non-empty string, this doesn't + // require calling `Release()` for the string. + nsHtml5String fetchPriority = nsHtml5String::EmptyString(); + + mSpeculativeLoadQueue.AppendElement()->InitScript( + url, nullptr, type, crossOrigin, /* aMedia = */ nullptr, + nonce, fetchPriority, integrity, referrerPolicy, + mode == nsHtml5TreeBuilder::IN_HEAD, async, defer, false); + } } + // `mCurrentHtmlScriptCannotDocumentWriteOrBlock` MUST be computed to + // match the ScriptLoader-perceived kind of the script regardless of + // enqueuing a speculative load. Either the attribute prevents a + // classic script execution or is ignored on a module script. + mCurrentHtmlScriptCannotDocumentWriteOrBlock = + isModule || importmap || async || defer; } else if (nsGkAtoms::style == aName) { mImportScanner.Start(); nsHtml5TreeOperation* treeOp = @@ -638,16 +691,7 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement( nsHtml5String type = aAttributes->getValue(nsHtml5AttributeName::ATTR_TYPE); nsAutoString typeString; - type.ToString(typeString); - - // Since `typeString` after trimming and lowercasing is only checked - // for "module" and " importmap", we don't need to remember - // pre-trimming emptiness here. - - // ASCII whitespace https://infra.spec.whatwg.org/#ascii-whitespace: - // U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, or U+0020 SPACE. - static const char kASCIIWhitespace[] = "\t\n\f\r "; - typeString.Trim(kASCIIWhitespace); + getTypeString(type, typeString); mCurrentHtmlScriptCannotDocumentWriteOrBlock = typeString.LowerCaseEqualsASCII("module") || @@ -1224,8 +1268,9 @@ void nsHtml5TreeBuilder::elementPopped(int32_t aNamespace, nsAtom* aName, return; } if (mCurrentHtmlScriptCannotDocumentWriteOrBlock) { - NS_ASSERTION(aNamespace == kNameSpaceID_XHTML, - "Only HTML scripts may be async/defer."); + NS_ASSERTION( + aNamespace == kNameSpaceID_XHTML || aNamespace == kNameSpaceID_SVG, + "Only HTML and SVG scripts may be async/defer."); nsHtml5TreeOperation* treeOp = mOpQueue.AppendElement(mozilla::fallible); if (MOZ_UNLIKELY(!treeOp)) { MarkAsBrokenAndRequestSuspensionWithoutBuilder(NS_ERROR_OUT_OF_MEMORY); @@ -1661,7 +1706,8 @@ void nsHtml5TreeBuilder::setDocumentFragmentForTemplate( nsIContentHandle* nsHtml5TreeBuilder::getShadowRootFromHost( nsIContentHandle* aHost, nsIContentHandle* aTemplateNode, - nsHtml5String aShadowRootMode, bool aShadowRootDelegatesFocus) { + nsHtml5String aShadowRootMode, bool aShadowRootIsClonable, + bool aShadowRootDelegatesFocus) { mozilla::dom::ShadowRootMode mode; if (aShadowRootMode.LowerCaseEqualsASCII("open")) { mode = mozilla::dom::ShadowRootMode::Open; @@ -1673,7 +1719,8 @@ nsIContentHandle* nsHtml5TreeBuilder::getShadowRootFromHost( if (mBuilder) { nsIContent* root = nsContentUtils::AttachDeclarativeShadowRoot( - static_cast<nsIContent*>(aHost), mode, aShadowRootDelegatesFocus); + static_cast<nsIContent*>(aHost), mode, aShadowRootIsClonable, + aShadowRootDelegatesFocus); if (!root) { nsContentUtils::LogSimpleConsoleError( u"Failed to attach Declarative Shadow DOM."_ns, "DOM"_ns, @@ -1690,6 +1737,7 @@ nsIContentHandle* nsHtml5TreeBuilder::getShadowRootFromHost( } nsIContentHandle* fragHandle = AllocateContentHandle(); opGetShadowRootFromHost operation(aHost, fragHandle, aTemplateNode, mode, + aShadowRootIsClonable, aShadowRootDelegatesFocus); treeOp->Init(mozilla::AsVariant(operation)); return fragHandle; diff --git a/parser/html/nsHtml5TreeBuilderHSupplement.h b/parser/html/nsHtml5TreeBuilderHSupplement.h index 813654cb24..cb0bd5af50 100644 --- a/parser/html/nsHtml5TreeBuilderHSupplement.h +++ b/parser/html/nsHtml5TreeBuilderHSupplement.h @@ -64,6 +64,7 @@ void setDocumentFragmentForTemplate(nsIContentHandle* aTemplate, nsIContentHandle* getShadowRootFromHost(nsIContentHandle* aHost, nsIContentHandle* aTemplateNode, nsHtml5String aShadowRootMode, + bool aShadowRootIsClonable, bool aShadowRootDelegatesFocus); nsIContentHandle* getFormPointerForContext(nsIContentHandle* aContext); diff --git a/parser/html/nsHtml5TreeOpExecutor.cpp b/parser/html/nsHtml5TreeOpExecutor.cpp index 3cb38dcf28..f2c47c42a6 100644 --- a/parser/html/nsHtml5TreeOpExecutor.cpp +++ b/parser/html/nsHtml5TreeOpExecutor.cpp @@ -1261,7 +1261,8 @@ void nsHtml5TreeOpExecutor::PreloadStyle( void nsHtml5TreeOpExecutor::PreloadImage( const nsAString& aURL, const nsAString& aCrossOrigin, const nsAString& aMedia, const nsAString& aSrcset, const nsAString& aSizes, - const nsAString& aImageReferrerPolicy, bool aLinkPreload) { + const nsAString& aImageReferrerPolicy, bool aLinkPreload, + const nsAString& aFetchPriority) { nsCOMPtr<nsIURI> baseURI = BaseURIForPreload(); bool isImgSet = false; nsCOMPtr<nsIURI> uri = @@ -1270,7 +1271,7 @@ void nsHtml5TreeOpExecutor::PreloadImage( // use document wide referrer policy mDocument->MaybePreLoadImage(uri, aCrossOrigin, GetPreloadReferrerPolicy(aImageReferrerPolicy), - isImgSet, aLinkPreload); + isImgSet, aLinkPreload, aFetchPriority); } } diff --git a/parser/html/nsHtml5TreeOpExecutor.h b/parser/html/nsHtml5TreeOpExecutor.h index 3a82256147..169fa5a703 100644 --- a/parser/html/nsHtml5TreeOpExecutor.h +++ b/parser/html/nsHtml5TreeOpExecutor.h @@ -260,7 +260,8 @@ class nsHtml5TreeOpExecutor final void PreloadImage(const nsAString& aURL, const nsAString& aCrossOrigin, const nsAString& aMedia, const nsAString& aSrcset, const nsAString& aSizes, - const nsAString& aImageReferrerPolicy, bool aLinkPreload); + const nsAString& aImageReferrerPolicy, bool aLinkPreload, + const nsAString& aFetchPriority); void PreloadOpenPicture(); diff --git a/parser/html/nsHtml5TreeOperation.cpp b/parser/html/nsHtml5TreeOperation.cpp index eb99869121..9adfad34bd 100644 --- a/parser/html/nsHtml5TreeOperation.cpp +++ b/parser/html/nsHtml5TreeOperation.cpp @@ -257,9 +257,10 @@ nsresult nsHtml5TreeOperation::Append(nsIContent* aNode, nsIContent* aParent, MOZ_ASSERT(aBuilder); MOZ_ASSERT(aBuilder->IsInDocUpdate()); ErrorResult rv; - nsHtml5OtherDocUpdate update(aParent->OwnerDoc(), aBuilder->GetDocument()); + Document* ownerDoc = aParent->OwnerDoc(); + nsHtml5OtherDocUpdate update(ownerDoc, aBuilder->GetDocument()); aParent->AppendChildTo(aNode, false, rv); - if (!rv.Failed()) { + if (!rv.Failed() && !ownerDoc->DOMNotificationsSuspended()) { aNode->SetParserHasNotified(); MutationObservers::NotifyContentAppended(aParent, aNode); } @@ -303,8 +304,10 @@ nsresult nsHtml5TreeOperation::AppendToDocument( return rv.StealNSResult(); } - aNode->SetParserHasNotified(); - MutationObservers::NotifyContentInserted(doc, aNode); + if (!doc->DOMNotificationsSuspended()) { + aNode->SetParserHasNotified(); + MutationObservers::NotifyContentInserted(doc, aNode); + } NS_ASSERTION(!nsContentUtils::IsSafeToRunScript(), "Someone forgot to block scripts"); @@ -930,6 +933,7 @@ nsresult nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder, nsresult operator()(const opGetShadowRootFromHost& aOperation) { nsIContent* root = nsContentUtils::AttachDeclarativeShadowRoot( *aOperation.mHost, aOperation.mShadowRootMode, + aOperation.mShadowRootIsClonable, aOperation.mShadowRootDelegatesFocus); if (root) { *aOperation.mFragHandle = root; diff --git a/parser/html/nsHtml5TreeOperation.h b/parser/html/nsHtml5TreeOperation.h index fa6cb02452..8e4441179a 100644 --- a/parser/html/nsHtml5TreeOperation.h +++ b/parser/html/nsHtml5TreeOperation.h @@ -281,17 +281,20 @@ struct opGetShadowRootFromHost { nsIContent** mFragHandle; nsIContent** mTemplateNode; mozilla::dom::ShadowRootMode mShadowRootMode; + bool mShadowRootIsClonable; bool mShadowRootDelegatesFocus; explicit opGetShadowRootFromHost(nsIContentHandle* aHost, nsIContentHandle* aFragHandle, nsIContentHandle* aTemplateNode, mozilla::dom::ShadowRootMode aShadowRootMode, + bool aShadowRootIsClonable, bool aShadowRootDelegatesFocus) { mHost = static_cast<nsIContent**>(aHost); mFragHandle = static_cast<nsIContent**>(aFragHandle); mTemplateNode = static_cast<nsIContent**>(aTemplateNode); mShadowRootMode = aShadowRootMode; + mShadowRootIsClonable = aShadowRootIsClonable; mShadowRootDelegatesFocus = aShadowRootDelegatesFocus; } }; diff --git a/parser/html/nsParserUtils.cpp b/parser/html/nsParserUtils.cpp index 74b86febe8..8611cb167a 100644 --- a/parser/html/nsParserUtils.cpp +++ b/parser/html/nsParserUtils.cpp @@ -11,7 +11,6 @@ #include "mozilla/dom/ScriptLoader.h" #include "nsAttrName.h" #include "nsCOMPtr.h" -#include "nsContentCID.h" #include "nsContentUtils.h" #include "nsEscape.h" #include "nsHTMLParts.h" |