Bug 1581691 - make transform-origin a mapped CSS attribute r=heycam,hsivonen
authorRobert Longson <longsonr@gmail.com>
Sat, 18 Apr 2020 05:10:29 +0000
changeset 524722 9328b5b058275fa23b003508985378d302d20651
parent 524721 5cb40ea964536e6922fa2475590c57073fda5b0b
child 524723 835b24a1d43e7f2b0a28625916434314c04c96f5
push id113356
push usercmccormack@mozilla.com
push dateSat, 18 Apr 2020 05:11:32 +0000
treeherderautoland@9328b5b05827 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersheycam, hsivonen
bugs1581691
milestone77.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1581691 - make transform-origin a mapped CSS attribute r=heycam,hsivonen Differential Revision: https://phabricator.services.mozilla.com/D63016
dom/base/nsTreeSanitizer.cpp
dom/svg/SVGElement.cpp
layout/reftests/svg/reftest.list
layout/reftests/svg/transform-origin-presentation-01.svg
parser/html/javasrc/AttributeName.java
parser/html/nsHtml5AttributeName.cpp
parser/html/nsHtml5AttributeName.h
testing/web-platform/meta/svg/styling/presentation-attributes-relevant.html.ini
xpcom/ds/StaticAtoms.py
--- a/dom/base/nsTreeSanitizer.cpp
+++ b/dom/base/nsTreeSanitizer.cpp
@@ -558,21 +558,22 @@ const nsStaticAtom* const kAttributesSVG
     nsGkAtoms::systemLanguage,     // systemLanguage
     nsGkAtoms::tableValues,        // tableValues
     nsGkAtoms::target,             // target
     nsGkAtoms::targetX,            // targetX
     nsGkAtoms::targetY,            // targetY
     nsGkAtoms::text_anchor,        // text-anchor
     nsGkAtoms::text_decoration,    // text-decoration
     // textLength
-    nsGkAtoms::text_rendering,  // text-rendering
-    nsGkAtoms::title,           // title
-    nsGkAtoms::to,              // to
-    nsGkAtoms::transform,       // transform
-    nsGkAtoms::type,            // type
+    nsGkAtoms::text_rendering,    // text-rendering
+    nsGkAtoms::title,             // title
+    nsGkAtoms::to,                // to
+    nsGkAtoms::transform,         // transform
+    nsGkAtoms::transform_origin,  // transform-origin
+    nsGkAtoms::type,              // type
     // u1
     // u2
     // underline-position
     // underline-thickness
     // unicode
     nsGkAtoms::unicode_bidi,  // unicode-bidi
     // unicode-range
     // units-per-em
--- a/dom/svg/SVGElement.cpp
+++ b/dom/svg/SVGElement.cpp
@@ -959,16 +959,17 @@ const Element::MappedAttributeEntry SVGE
     {nsGkAtoms::display},
     {nsGkAtoms::filter},
     {nsGkAtoms::image_rendering},
     {nsGkAtoms::mask},
     {nsGkAtoms::opacity},
     {nsGkAtoms::pointer_events},
     {nsGkAtoms::shape_rendering},
     {nsGkAtoms::text_rendering},
+    {nsGkAtoms::transform_origin},
     {nsGkAtoms::visibility},
     {nullptr}};
 
 // PresentationAttributes-TextContentElements
 /* static */
 const Element::MappedAttributeEntry SVGElement::sTextContentElementsMap[] = {
     // Properties that we don't support are commented out.
     // { nsGkAtoms::alignment_baseline },
--- a/layout/reftests/svg/reftest.list
+++ b/layout/reftests/svg/reftest.list
@@ -500,16 +500,18 @@ fuzzy-if(skiaContent,0-1,0-610) == textP
 random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textPath-line-01.svg textPath-line-01-ref.svg # bug 1392106
 == textPath-path-attribute-01.svg textPath-path-attribute-01-ref.svg
 == textPath-side-attribute-01.svg pass.svg
 
 == text-white-space-01.svg text-white-space-01-ref.svg
 
 == thin-stroke-01.svg pass.svg
 
+== transform-origin-presentation-01.svg pass.svg
+
 == transform-outer-svg-01.svg transform-outer-svg-01-ref.svg
 == css-transform-svg.html css-transform-svg-ref.html
 
 == tspan-dxdy-01.svg tspan-dxdy-ref.svg
 == tspan-dxdy-02.svg tspan-dxdy-ref.svg
 == tspan-dxdy-03.svg tspan-dxdy-ref.svg
 == tspan-dxdy-04.svg tspan-dxdy-ref.svg
 == tspan-dxdy-05.svg tspan-dxdy-ref.svg
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/transform-origin-presentation-01.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 200 100" preserveAspectRatio="none">
+  <rect width="200" height="100" fill="red"/>
+  <rect width="100" height="200" x="50" y="-50" fill="lime" transform="rotate(90)" transform-origin="center"/>
+</svg>
--- a/parser/html/javasrc/AttributeName.java
+++ b/parser/html/javasrc/AttributeName.java
@@ -1064,16 +1064,17 @@ public final class AttributeName
     public static final AttributeName ONINPUT = new AttributeName(ALL_NO_NS, SAME_LOCAL("oninput"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName POINTER_EVENTS = new AttributeName(ALL_NO_NS, SAME_LOCAL("pointer-events"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName POINTS = new AttributeName(ALL_NO_NS, SAME_LOCAL("points"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName POINTSATX = new AttributeName(ALL_NO_NS, SVG_DIFFERENT("pointsatx", "pointsAtX"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName POINTSATY = new AttributeName(ALL_NO_NS, SVG_DIFFERENT("pointsaty", "pointsAtY"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName POINTSATZ = new AttributeName(ALL_NO_NS, SVG_DIFFERENT("pointsatz", "pointsAtZ"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName SPAN = new AttributeName(ALL_NO_NS, SAME_LOCAL("span"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName STANDBY = new AttributeName(ALL_NO_NS, SAME_LOCAL("standby"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
+    public static final AttributeName TRANSFORM_ORIGIN = new AttributeName(ALL_NO_NS, SAME_LOCAL("transform-origin"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName TRANSFORM = new AttributeName(ALL_NO_NS, SAME_LOCAL("transform"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName VLINK = new AttributeName(ALL_NO_NS, SAME_LOCAL("vlink"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName WHEN = new AttributeName(ALL_NO_NS, SAME_LOCAL("when"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName XLINK_HREF = new AttributeName(XLINK_NS, COLONIFIED_LOCAL("xlink:href", "href"), XLINK_PREFIX, NCNAME_FOREIGN);
     public static final AttributeName XLINK_TITLE = new AttributeName(XLINK_NS, COLONIFIED_LOCAL("xlink:title", "title"), XLINK_PREFIX, NCNAME_FOREIGN);
     public static final AttributeName XLINK_ROLE = new AttributeName(XLINK_NS, COLONIFIED_LOCAL("xlink:role", "role"), XLINK_PREFIX, NCNAME_FOREIGN);
     public static final AttributeName XLINK_ARCROLE = new AttributeName(XLINK_NS, COLONIFIED_LOCAL("xlink:arcrole", "arcrole"), XLINK_PREFIX, NCNAME_FOREIGN);
     public static final AttributeName XMLNS_XLINK = new AttributeName(XMLNS_NS, COLONIFIED_LOCAL("xmlns:xlink", "xlink"), XMLNS_PREFIX, IS_XMLNS);
@@ -1266,44 +1267,44 @@ public final class AttributeName
     public static final AttributeName CY = new AttributeName(ALL_NO_NS, SAME_LOCAL("cy"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName DY = new AttributeName(ALL_NO_NS, SAME_LOCAL("dy"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName FY = new AttributeName(ALL_NO_NS, SAME_LOCAL("fy"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName RY = new AttributeName(ALL_NO_NS, SAME_LOCAL("ry"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     public static final AttributeName REFY = new AttributeName(ALL_NO_NS, SVG_DIFFERENT("refy", "refY"), ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG);
     private final static @NoLength AttributeName[] ATTRIBUTE_NAMES = {
     ONCLICK,
     DATETIME,
-    ONDRAGENTER,
+    ONDRAG,
     CLEAR,
     LANG,
-    FLOOD_OPACITY,
-    ONSTART,
+    FLOOD_COLOR,
+    ONSTOP,
     ARIA_DISABLED,
     SPECULAREXPONENT,
     ONBEFORECUT,
     LIMITINGCONEANGLE,
     ONINPUT,
-    CLIP_RULE,
-    ROWSPAN,
+    CLIP,
+    PRESERVEASPECTRATIO,
     VALUETYPE,
     Y,
     ARIA_MULTISELECTABLE,
     ROTATE,
     ACCENTUNDER,
     OBJECT,
     SIZE,
     MATHVARIANT,
     MARKERHEIGHT,
     PRIMITIVEUNITS,
-    XMLNS,
-    ONMOUSEOUT,
-    SHAPE,
-    CLASSID,
-    FONT_WEIGHT,
-    ACCUMULATE,
+    XMLNS_XLINK,
+    ONFOCUS,
+    SCOPE,
+    COLSPAN,
+    FONTWEIGHT,
+    WIDTH,
     RX,
     MIN,
     K3,
     ARIA_CHANNEL,
     ARIA_VALUENOW,
     LOCAL,
     ONABORT,
     LOADING,
@@ -1313,28 +1314,28 @@ public final class AttributeName
     REPEATDUR,
     XREF,
     TARGET,
     ACTIONTYPE,
     SCRIPTSIZEMULTIPLIER,
     AMPLITUDE,
     AZIMUTH,
     ICON,
-    TRANSFORM,
-    COLOR_PROFILE,
-    ONFOCUSIN,
-    STROKE_LINEJOIN,
-    HTTP_EQUIV,
-    ATTRIBUTETYPE,
-    ONDRAGSTART,
-    KEYSYSTEM,
-    CONTROLS,
-    FONTSIZE,
-    SYSTEMLANGUAGE,
-    ONSUBMIT,
+    TRANSFORM_ORIGIN,
+    BGCOLOR,
+    ONMOUSEOVER,
+    STROKE_DASHOFFSET,
+    GLYPHREF,
+    ATTRIBUTENAME,
+    OVERFLOW,
+    IS,
+    CONTENTEDITABLE,
+    FILTERUNITS,
+    STITCHTILES,
+    INPUTMODE,
     VIEWBOX,
     DY,
     END,
     SRC,
     Y1,
     ARIA_GRAB,
     ARIA_REQUIRED,
     ARIA_ATOMIC,
@@ -1364,39 +1365,39 @@ public final class AttributeName
     VISIBILITY,
     MARKERWIDTH,
     FILL_RULE,
     SCALE,
     FRAMESPACING,
     ZOOMANDPAN,
     ONUNLOAD,
     POINTSATY,
-    XLINK_TITLE,
-    AUTOPLAY,
-    COLOR_INTERPOLATION_FILTERS,
-    ONLOAD,
-    ONMOUSELEAVE,
-    RQUOTE,
-    STROKE_WIDTH,
-    DISPLAYSTYLE,
-    SCOPED,
-    TEMPLATE,
-    CHARSET,
-    ONDRAGDROP,
-    AS,
-    CLOSURE,
-    MINSIZE,
-    SUBSCRIPTSHIFT,
-    ENCTYPE,
-    FONT_FAMILY,
-    LIST,
-    PATTERNUNITS,
-    TEXTLENGTH,
-    COLUMNSPACING,
-    RESULT,
+    XLINK_HREF,
+    XLINK_ACTUATE,
+    COLOR,
+    NOMODULE,
+    ONCOPY,
+    TO,
+    SCROLLING,
+    DISPLAY,
+    PROPERTY,
+    STOP_OPACITY,
+    CHAROFF,
+    ONDROP,
+    START,
+    CURSOR,
+    MAXSIZE,
+    SRCSET,
+    DEPTH,
+    FONTFAMILY,
+    LETTER_SPACING,
+    PATTERN,
+    TEXT_ANCHOR,
+    COLUMNALIGN,
+    REQUIREDFEATURES,
     ELEVATION,
     DX,
     BY,
     RY,
     DIR,
     IN2,
     REL,
     R,
@@ -1465,62 +1466,62 @@ public final class AttributeName
     FRAMEBORDER,
     FORM,
     SUMMARY,
     ALINK,
     KERNING,
     ONINVALID,
     POINTS,
     SPAN,
-    WHEN,
-    XLINK_ARCROLE,
-    XLINK_SHOW,
-    AUTOFOCUS,
-    COLOR_INTERPOLATION,
-    EXPONENT,
-    NUMOCTAVES,
-    ONMOUSEENTER,
-    ONZOOM,
-    ONMOUSEUP,
-    ONMOUSEDOWN,
-    STROKE_DASHARRAY,
-    STROKE,
-    COMPACT,
-    CLIPPATHUNITS,
-    GLYPH_ORIENTATION_HORIZONTAL,
-    LOOP,
-    SHAPE_RENDERING,
-    STOP_COLOR,
-    ABBR,
-    COORDS,
-    NOHREF,
-    ONDRAGEND,
-    OPERATOR,
-    STARTOFFSET,
-    BIAS,
-    COLS,
-    CLASS,
-    LOWSRC,
-    PRESERVEALPHA,
-    ROWS,
-    ALTTEXT,
-    CONTEXTMENU,
-    FILTER,
-    FONT_STYLE,
-    FONT_SIZE_ADJUST,
-    KEYTIMES,
-    RT,
-    PATTERNTRANSFORM,
-    RESTART,
-    TEXT_DECORATION,
-    WRITING_MODE,
-    COLUMNLINES,
-    GROUPALIGN,
-    REQUIRED,
-    VALUES,
+    VLINK,
+    XLINK_ROLE,
+    XLINK_TYPE,
+    AUTOCOMPLETE,
+    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,
     VALUE,
     VIEWTARGET,
     CX,
     FX,
     REFX,
     CY,
     FY,
     REFY,
@@ -1667,139 +1668,140 @@ public final class AttributeName
     KERNELMATRIX,
     KERNELUNITLENGTH,
     OPEN,
     ONEND,
     POINTER_EVENTS,
     POINTSATX,
     POINTSATZ,
     STANDBY,
-    VLINK,
-    XLINK_HREF,
-    XLINK_ROLE,
-    XMLNS_XLINK,
-    XLINK_TYPE,
-    XLINK_ACTUATE,
-    AUTOCOMPLETE,
-    BGCOLOR,
-    COLOR_RENDERING,
-    COLOR,
-    ENCODING,
-    FLOOD_COLOR,
-    LQUOTE,
-    NOMODULE,
-    ONMOUSEWHEEL,
-    ONMOUSEOVER,
-    ONCONTEXTMENU,
-    ONCOPY,
-    ONMOUSEMOVE,
-    ONFOCUS,
-    ONFOCUSOUT,
-    TO,
-    STROKE_LINECAP,
-    STROKE_DASHOFFSET,
-    STROKE_MITERLIMIT,
-    SCROLLING,
-    STROKE_OPACITY,
-    CLIP,
-    CLIP_PATH,
-    DISPLAY,
-    GLYPH_ORIENTATION_VERTICAL,
-    GLYPHREF,
-    KEYPOINTS,
-    PROPERTY,
-    STEP,
-    SCOPE,
-    SLOPE,
-    STOP_OPACITY,
-    WRAP,
-    ATTRIBUTENAME,
-    CHAR,
-    CHAROFF,
-    NOWRAP,
-    ONDRAG,
-    ONDRAGOVER,
-    ONDROP,
-    ONERROR,
-    OVERFLOW,
-    ONDRAGLEAVE,
-    START,
-    AXIS,
-    COLSPAN,
-    CROSSORIGIN,
-    CURSOR,
-    CLOSE,
-    IS,
-    KEYSPLINES,
-    MAXSIZE,
-    OFFSET,
-    PRESERVEASPECTRATIO,
-    ROWSPACING,
-    SRCSET,
-    VERSION,
-    CONTENTEDITABLE,
-    CONTENT,
-    DEPTH,
-    FONT_STRETCH,
-    FONTWEIGHT,
-    FONTSTYLE,
-    FONTFAMILY,
-    FONT_VARIANT,
-    FILTERUNITS,
-    FONT_SIZE,
-    LETTER_SPACING,
-    MULTIPLE,
-    ONSTOP,
-    POSTER,
-    PATTERN,
-    PATTERNCONTENTUNITS,
-    STITCHTILES,
-    TEXT_RENDERING,
-    TEXT_ANCHOR,
-    TEXT,
-    WIDTH,
-    COLUMNSPAN,
-    COLUMNALIGN,
-    COLUMNWIDTH,
-    INPUTMODE,
-    ONCUT,
-    REQUIREDFEATURES,
-    REQUIREDEXTENSIONS,
+    TRANSFORM,
+    WHEN,
+    XLINK_TITLE,
+    XLINK_ARCROLE,
+    XMLNS,
+    XLINK_SHOW,
+    AUTOPLAY,
+    AUTOFOCUS,
+    COLOR_PROFILE,
+    COLOR_INTERPOLATION,
+    COLOR_INTERPOLATION_FILTERS,
+    EXPONENT,
+    FLOOD_OPACITY,
+    NUMOCTAVES,
+    ONLOAD,
+    ONMOUSEENTER,
+    ONFOCUSIN,
+    ONZOOM,
+    ONMOUSELEAVE,
+    ONMOUSEUP,
+    ONMOUSEOUT,
+    ONMOUSEDOWN,
+    RQUOTE,
+    STROKE_DASHARRAY,
+    STROKE_LINEJOIN,
+    STROKE,
+    STROKE_WIDTH,
+    COMPACT,
+    CLIP_RULE,
+    CLIPPATHUNITS,
+    DISPLAYSTYLE,
+    GLYPH_ORIENTATION_HORIZONTAL,
+    HTTP_EQUIV,
+    LOOP,
+    SCOPED,
+    SHAPE_RENDERING,
+    SHAPE,
+    STOP_COLOR,
+    TEMPLATE,
+    ABBR,
+    ATTRIBUTETYPE,
+    COORDS,
+    CHARSET,
+    NOHREF,
+    ONDRAGENTER,
+    ONDRAGEND,
+    ONDRAGDROP,
+    OPERATOR,
+    ONDRAGSTART,
+    STARTOFFSET,
+    AS,
+    BIAS,
+    CLASSID,
+    COLS,
+    CLOSURE,
+    CLASS,
+    KEYSYSTEM,
+    LOWSRC,
+    MINSIZE,
+    PRESERVEALPHA,
+    ROWSPAN,
+    ROWS,
+    SUBSCRIPTSHIFT,
+    ALTTEXT,
+    CONTROLS,
+    CONTEXTMENU,
+    ENCTYPE,
+    FILTER,
+    FONT_WEIGHT,
+    FONT_STYLE,
+    FONT_FAMILY,
+    FONT_SIZE_ADJUST,
+    FONTSIZE,
+    KEYTIMES,
+    LIST,
+    RT,
+    ONSTART,
+    PATTERNTRANSFORM,
+    PATTERNUNITS,
+    RESTART,
+    SYSTEMLANGUAGE,
+    TEXT_DECORATION,
+    TEXTLENGTH,
+    WRITING_MODE,
+    ACCUMULATE,
+    COLUMNLINES,
+    COLUMNSPACING,
+    GROUPALIGN,
+    ONSUBMIT,
+    REQUIRED,
+    RESULT,
+    VALUES,
     };
     private final static int[] ATTRIBUTE_HASHES = {
     1872034503,
     1748971848,
-    1972744939,
+    1972656710,
     1681174213,
     1786740932,
-    1917953597,
-    2006516551,
+    1917857531,
+    2006459190,
     1680165421,
     1723336432,
     1754907227,
     1820262641,
     1905902311,
-    1932986153,
-    1991021879,
+    1932959284,
+    1990107683,
     2026893641,
     71827457,
     1680282148,
     1689324870,
     1747295467,
     1754606246,
     1757053236,
     1804069019,
     1854302364,
     1889633006,
-    1910503637,
-    1922679386,
-    1941438085,
-    1983266615,
-    2001634459,
-    2015950026,
+    1910487243,
+    1922677495,
+    1941435445,
+    1983157559,
+    2001634458,
+    2010716309,
     2073034754,
     57205395,
     911736834,
     1680181996,
     1680368221,
     1685882101,
     1704526375,
     1736416327,
@@ -1809,28 +1811,28 @@ public final class AttributeName
     1756471625,
     1776114564,
     1790814502,
     1814558026,
     1823841492,
     1864698185,
     1881750231,
     1902640276,
-    1908462185,
-    1916210285,
-    1922470745,
-    1924570799,
-    1935597338,
-    1965561677,
-    1972962123,
-    1987410233,
-    2000125224,
-    2001898808,
-    2008408414,
-    2023146024,
+    1908316832,
+    1915757815,
+    1922413307,
+    1924517489,
+    1934970504,
+    1965512429,
+    1972922984,
+    1984430082,
+    2000096287,
+    2001826027,
+    2008401563,
+    2019887833,
     2060474743,
     2082471938,
     53006051,
     60345635,
     885522434,
     1680095865,
     1680165533,
     1680229115,
@@ -1860,39 +1862,39 @@ public final class AttributeName
     1825677514,
     1854474395,
     1867448617,
     1874261045,
     1884267068,
     1894552650,
     1905541832,
     1906421049,
-    1910441627,
-    1915025672,
-    1916337499,
-    1922319046,
-    1922665052,
-    1924206934,
-    1924738716,
-    1933508940,
-    1941253366,
-    1942026440,
-    1966454567,
-    1972904522,
-    1980235778,
-    1983416119,
-    1988788535,
-    1991643278,
-    2001210183,
-    2001710299,
-    2004957380,
-    2007064812,
-    2009141482,
-    2016910397,
-    2024763702,
+    1910328970,
+    1910572893,
+    1916286197,
+    1921977416,
+    1922607670,
+    1923088386,
+    1924629705,
+    1933369607,
+    1939976792,
+    1941550652,
+    1966442279,
+    1972904518,
+    1975062341,
+    1983398182,
+    1988784439,
+    1991625270,
+    2000752725,
+    2001710298,
+    2004846654,
+    2007021895,
+    2009079867,
+    2016810187,
+    2024647008,
     2034765641,
     2065694722,
     2081423362,
     2089811970,
     52488851,
     55077603,
     59825747,
     68157441,
@@ -1961,62 +1963,62 @@ public final class AttributeName
     1884142379,
     1884343396,
     1891186903,
     1898428101,
     1903659239,
     1905672729,
     1906408598,
     1907660596,
-    1909819252,
-    1910441773,
-    1910527802,
-    1915341049,
-    1916278099,
-    1917327080,
-    1921894426,
-    1922413292,
-    1922567078,
-    1922671417,
-    1922699851,
-    1924462384,
-    1924585254,
-    1932870919,
-    1933145837,
-    1934917372,
-    1937777860,
-    1941409583,
-    1941454586,
-    1965349396,
-    1966439670,
-    1972196486,
-    1972863609,
-    1972909592,
-    1974849131,
-    1982640164,
-    1983347764,
-    1983461061,
-    1988132214,
-    1990062797,
-    1991392548,
-    1999273799,
-    2000162011,
-    2001578182,
-    2001669450,
-    2001814704,
-    2004199576,
-    2005925890,
-    2007019632,
-    2008084807,
-    2009071951,
-    2010452700,
-    2016787611,
-    2018908874,
-    2024616088,
-    2026741958,
+    1909438149,
+    1910441770,
+    1910507338,
+    1915295948,
+    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,
     2026975253,
     2060302634,
     2065170434,
     2066743298,
     2075005220,
     2081947650,
     2083520514,
     2091784484,
@@ -2163,101 +2165,102 @@ public final class AttributeName
     1903612236,
     1903759600,
     1905628916,
     1905754853,
     1906408542,
     1906419001,
     1906423097,
     1907701479,
-    1909438149,
-    1910328970,
-    1910441770,
-    1910487243,
-    1910507338,
-    1910572893,
-    1915295948,
-    1915757815,
-    1916247343,
-    1916286197,
-    1917295176,
-    1917857531,
-    1921061206,
-    1921977416,
-    1922400908,
-    1922413307,
-    1922566877,
-    1922607670,
-    1922665179,
-    1922677495,
-    1922679610,
-    1923088386,
-    1924443742,
-    1924517489,
-    1924583073,
-    1924629705,
-    1924773438,
-    1932959284,
-    1933123337,
-    1933369607,
-    1934917290,
-    1934970504,
-    1937336473,
-    1939976792,
-    1941286708,
-    1941435445,
-    1941440197,
-    1941550652,
-    1943317364,
-    1965512429,
-    1966384692,
-    1966442279,
-    1972151670,
-    1972656710,
-    1972744954,
-    1972904518,
-    1972908839,
-    1972922984,
-    1972996699,
-    1975062341,
-    1982254612,
-    1983157559,
-    1983290011,
-    1983398182,
-    1983432389,
-    1984430082,
-    1987422362,
-    1988784439,
-    1989522022,
-    1990107683,
-    1991220282,
-    1991625270,
-    1993343287,
-    2000096287,
-    2000160071,
-    2000752725,
-    2001527900,
-    2001634458,
-    2001669449,
-    2001710298,
-    2001732764,
-    2001826027,
-    2001898809,
-    2004846654,
-    2005342360,
-    2006459190,
-    2006824246,
-    2007021895,
-    2007064819,
-    2008401563,
-    2009041198,
-    2009079867,
-    2009231684,
-    2010716309,
-    2016711994,
-    2016810187,
-    2017010843,
-    2019887833,
-    2023342821,
-    2024647008,
-    2024794274,
+    1908462185,
+    1909819252,
+    1910441627,
+    1910441773,
+    1910503637,
+    1910527802,
+    1915025672,
+    1915341049,
+    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,
     };
 }
--- a/parser/html/nsHtml5AttributeName.cpp
+++ b/parser/html/nsHtml5AttributeName.cpp
@@ -426,16 +426,17 @@ nsHtml5AttributeName* nsHtml5AttributeNa
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONINPUT = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTER_EVENTS = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTS = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTSATX = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTSATY = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTSATZ = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPAN = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STANDBY = nullptr;
+nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TRANSFORM_ORIGIN = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TRANSFORM = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VLINK = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WHEN = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_HREF = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_TITLE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_ROLE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_ARCROLE = nullptr;
 nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XMLNS_XLINK = nullptr;
@@ -630,58 +631,58 @@ nsHtml5AttributeName* nsHtml5AttributeNa
 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, 1972744939, 1681174213, 1786740932, 1917953597,
-    2006516551, 1680165421, 1723336432, 1754907227, 1820262641, 1905902311,
-    1932986153, 1991021879, 2026893641, 71827457,   1680282148, 1689324870,
+    1872034503, 1748971848, 1972656710, 1681174213, 1786740932, 1917857531,
+    2006459190, 1680165421, 1723336432, 1754907227, 1820262641, 1905902311,
+    1932959284, 1990107683, 2026893641, 71827457,   1680282148, 1689324870,
     1747295467, 1754606246, 1757053236, 1804069019, 1854302364, 1889633006,
-    1910503637, 1922679386, 1941438085, 1983266615, 2001634459, 2015950026,
+    1910487243, 1922677495, 1941435445, 1983157559, 2001634458, 2010716309,
     2073034754, 57205395,   911736834,  1680181996, 1680368221, 1685882101,
     1704526375, 1736416327, 1747906667, 1752985897, 1754792749, 1756471625,
     1776114564, 1790814502, 1814558026, 1823841492, 1864698185, 1881750231,
-    1902640276, 1908462185, 1916210285, 1922470745, 1924570799, 1935597338,
-    1965561677, 1972962123, 1987410233, 2000125224, 2001898808, 2008408414,
-    2023146024, 2060474743, 2082471938, 53006051,   60345635,   885522434,
+    1902640276, 1908316832, 1915757815, 1922413307, 1924517489, 1934970504,
+    1965512429, 1972922984, 1984430082, 2000096287, 2001826027, 2008401563,
+    2019887833, 2060474743, 2082471938, 53006051,   60345635,   885522434,
     1680095865, 1680165533, 1680229115, 1680343801, 1680437801, 1682440540,
     1687620127, 1692408896, 1721189160, 1733874289, 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, 1922319046, 1922665052, 1924206934, 1924738716, 1933508940,
-    1941253366, 1942026440, 1966454567, 1972904522, 1980235778, 1983416119,
-    1988788535, 1991643278, 2001210183, 2001710299, 2004957380, 2007064812,
-    2009141482, 2016910397, 2024763702, 2034765641, 2065694722, 2081423362,
+    1884267068, 1894552650, 1905541832, 1906421049, 1910328970, 1910572893,
+    1916286197, 1921977416, 1922607670, 1923088386, 1924629705, 1933369607,
+    1939976792, 1941550652, 1966442279, 1972904518, 1975062341, 1983398182,
+    1988784439, 1991625270, 2000752725, 2001710298, 2004846654, 2007021895,
+    2009079867, 2016810187, 2024647008, 2034765641, 2065694722, 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,
     1721347639, 1731048742, 1734182982, 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, 1922413292, 1922567078,
-    1922671417, 1922699851, 1924462384, 1924585254, 1932870919, 1933145837,
-    1934917372, 1937777860, 1941409583, 1941454586, 1965349396, 1966439670,
-    1972196486, 1972863609, 1972909592, 1974849131, 1982640164, 1983347764,
-    1983461061, 1988132214, 1990062797, 1991392548, 1999273799, 2000162011,
-    2001578182, 2001669450, 2001814704, 2004199576, 2005925890, 2007019632,
-    2008084807, 2009071951, 2010452700, 2016787611, 2018908874, 2024616088,
-    2026741958, 2026975253, 2060302634, 2065170434, 2066743298, 2075005220,
+    1905672729, 1906408598, 1907660596, 1909438149, 1910441770, 1910507338,
+    1915295948, 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, 2026975253, 2060302634, 2065170434, 2066743298, 2075005220,
     2081947650, 2083520514, 2091784484, 50917059,   52489043,   53537523,
     56685811,   57210387,   59830867,   60817409,   71303169,   72351745,
     884998146,  894959618,  902299650,  928514050,  1038063816, 1680140893,
     1680159328, 1680165436, 1680165487, 1680165613, 1680181850, 1680185931,
     1680198381, 1680230940, 1680251485, 1680311085, 1680323325, 1680345685,
     1680347981, 1680411449, 1680433915, 1680446153, 1680511804, 1681733672,
     1681969220, 1682587945, 1684319541, 1685902598, 1687164232, 1687751191,
     1689130184, 1689788441, 1691145478, 1692933184, 1704262346, 1714745560,
@@ -697,32 +698,32 @@ static int32_t const ATTRIBUTE_HASHES_DA
     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, 1921977416, 1922400908, 1922413307, 1922566877,
-    1922607670, 1922665179, 1922677495, 1922679610, 1923088386, 1924443742,
-    1924517489, 1924583073, 1924629705, 1924773438, 1932959284, 1933123337,
-    1933369607, 1934917290, 1934970504, 1937336473, 1939976792, 1941286708,
-    1941435445, 1941440197, 1941550652, 1943317364, 1965512429, 1966384692,
-    1966442279, 1972151670, 1972656710, 1972744954, 1972904518, 1972908839,
-    1972922984, 1972996699, 1975062341, 1982254612, 1983157559, 1983290011,
-    1983398182, 1983432389, 1984430082, 1987422362, 1988784439, 1989522022,
-    1990107683, 1991220282, 1991625270, 1993343287, 2000096287, 2000160071,
-    2000752725, 2001527900, 2001634458, 2001669449, 2001710298, 2001732764,
-    2001826027, 2001898809, 2004846654, 2005342360, 2006459190, 2006824246,
-    2007021895, 2007064819, 2008401563, 2009041198, 2009079867, 2009231684,
-    2010716309, 2016711994, 2016810187, 2017010843, 2019887833, 2023342821,
-    2024647008, 2024794274};
+    1907701479, 1908462185, 1909819252, 1910441627, 1910441773, 1910503637,
+    1910527802, 1915025672, 1915341049, 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};
 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;
   XMLNS_NS = new int32_t[3];
@@ -1394,16 +1395,18 @@ void nsHtml5AttributeName::initializeSta
       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_ORIGIN = new nsHtml5AttributeName(
+      ALL_NO_NS, SAME_LOCAL(nsGkAtoms::transform_origin), 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),
@@ -1841,47 +1844,47 @@ void nsHtml5AttributeName::initializeSta
                                      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*[494];
+  ATTRIBUTE_NAMES = new nsHtml5AttributeName*[495];
   ATTRIBUTE_NAMES[0] = ATTR_ONCLICK;
   ATTRIBUTE_NAMES[1] = ATTR_DATETIME;
-  ATTRIBUTE_NAMES[2] = ATTR_ONDRAGENTER;
+  ATTRIBUTE_NAMES[2] = ATTR_ONDRAG;
   ATTRIBUTE_NAMES[3] = ATTR_CLEAR;
   ATTRIBUTE_NAMES[4] = ATTR_LANG;
-  ATTRIBUTE_NAMES[5] = ATTR_FLOOD_OPACITY;
-  ATTRIBUTE_NAMES[6] = ATTR_ONSTART;
+  ATTRIBUTE_NAMES[5] = ATTR_FLOOD_COLOR;
+  ATTRIBUTE_NAMES[6] = ATTR_ONSTOP;
   ATTRIBUTE_NAMES[7] = ATTR_ARIA_DISABLED;
   ATTRIBUTE_NAMES[8] = ATTR_SPECULAREXPONENT;
   ATTRIBUTE_NAMES[9] = ATTR_ONBEFORECUT;
   ATTRIBUTE_NAMES[10] = ATTR_LIMITINGCONEANGLE;
   ATTRIBUTE_NAMES[11] = ATTR_ONINPUT;
-  ATTRIBUTE_NAMES[12] = ATTR_CLIP_RULE;
-  ATTRIBUTE_NAMES[13] = ATTR_ROWSPAN;
+  ATTRIBUTE_NAMES[12] = ATTR_CLIP;
+  ATTRIBUTE_NAMES[13] = ATTR_PRESERVEASPECTRATIO;
   ATTRIBUTE_NAMES[14] = ATTR_VALUETYPE;
   ATTRIBUTE_NAMES[15] = ATTR_Y;
   ATTRIBUTE_NAMES[16] = ATTR_ARIA_MULTISELECTABLE;
   ATTRIBUTE_NAMES[17] = ATTR_ROTATE;
   ATTRIBUTE_NAMES[18] = ATTR_ACCENTUNDER;
   ATTRIBUTE_NAMES[19] = ATTR_OBJECT;
   ATTRIBUTE_NAMES[20] = ATTR_SIZE;
   ATTRIBUTE_NAMES[21] = ATTR_MATHVARIANT;
   ATTRIBUTE_NAMES[22] = ATTR_MARKERHEIGHT;
   ATTRIBUTE_NAMES[23] = ATTR_PRIMITIVEUNITS;
-  ATTRIBUTE_NAMES[24] = ATTR_XMLNS;
-  ATTRIBUTE_NAMES[25] = ATTR_ONMOUSEOUT;
-  ATTRIBUTE_NAMES[26] = ATTR_SHAPE;
-  ATTRIBUTE_NAMES[27] = ATTR_CLASSID;
-  ATTRIBUTE_NAMES[28] = ATTR_FONT_WEIGHT;
-  ATTRIBUTE_NAMES[29] = ATTR_ACCUMULATE;
+  ATTRIBUTE_NAMES[24] = ATTR_XMLNS_XLINK;
+  ATTRIBUTE_NAMES[25] = ATTR_ONFOCUS;
+  ATTRIBUTE_NAMES[26] = ATTR_SCOPE;
+  ATTRIBUTE_NAMES[27] = ATTR_COLSPAN;
+  ATTRIBUTE_NAMES[28] = ATTR_FONTWEIGHT;
+  ATTRIBUTE_NAMES[29] = ATTR_WIDTH;
   ATTRIBUTE_NAMES[30] = ATTR_RX;
   ATTRIBUTE_NAMES[31] = ATTR_MIN;
   ATTRIBUTE_NAMES[32] = ATTR_K3;
   ATTRIBUTE_NAMES[33] = ATTR_ARIA_CHANNEL;
   ATTRIBUTE_NAMES[34] = ATTR_ARIA_VALUENOW;
   ATTRIBUTE_NAMES[35] = ATTR_LOCAL;
   ATTRIBUTE_NAMES[36] = ATTR_ONABORT;
   ATTRIBUTE_NAMES[37] = ATTR_LOADING;
@@ -1891,28 +1894,28 @@ void nsHtml5AttributeName::initializeSta
   ATTRIBUTE_NAMES[41] = ATTR_REPEATDUR;
   ATTRIBUTE_NAMES[42] = ATTR_XREF;
   ATTRIBUTE_NAMES[43] = ATTR_TARGET;
   ATTRIBUTE_NAMES[44] = ATTR_ACTIONTYPE;
   ATTRIBUTE_NAMES[45] = ATTR_SCRIPTSIZEMULTIPLIER;
   ATTRIBUTE_NAMES[46] = ATTR_AMPLITUDE;
   ATTRIBUTE_NAMES[47] = ATTR_AZIMUTH;
   ATTRIBUTE_NAMES[48] = ATTR_ICON;
-  ATTRIBUTE_NAMES[49] = ATTR_TRANSFORM;
-  ATTRIBUTE_NAMES[50] = ATTR_COLOR_PROFILE;
-  ATTRIBUTE_NAMES[51] = ATTR_ONFOCUSIN;
-  ATTRIBUTE_NAMES[52] = ATTR_STROKE_LINEJOIN;
-  ATTRIBUTE_NAMES[53] = ATTR_HTTP_EQUIV;
-  ATTRIBUTE_NAMES[54] = ATTR_ATTRIBUTETYPE;
-  ATTRIBUTE_NAMES[55] = ATTR_ONDRAGSTART;
-  ATTRIBUTE_NAMES[56] = ATTR_KEYSYSTEM;
-  ATTRIBUTE_NAMES[57] = ATTR_CONTROLS;
-  ATTRIBUTE_NAMES[58] = ATTR_FONTSIZE;
-  ATTRIBUTE_NAMES[59] = ATTR_SYSTEMLANGUAGE;
-  ATTRIBUTE_NAMES[60] = ATTR_ONSUBMIT;
+  ATTRIBUTE_NAMES[49] = ATTR_TRANSFORM_ORIGIN;
+  ATTRIBUTE_NAMES[50] = ATTR_BGCOLOR;
+  ATTRIBUTE_NAMES[51] = ATTR_ONMOUSEOVER;
+  ATTRIBUTE_NAMES[52] = ATTR_STROKE_DASHOFFSET;
+  ATTRIBUTE_NAMES[53] = ATTR_GLYPHREF;
+  ATTRIBUTE_NAMES[54] = ATTR_ATTRIBUTENAME;
+  ATTRIBUTE_NAMES[55] = ATTR_OVERFLOW;
+  ATTRIBUTE_NAMES[56] = ATTR_IS;
+  ATTRIBUTE_NAMES[57] = ATTR_CONTENTEDITABLE;
+  ATTRIBUTE_NAMES[58] = ATTR_FILTERUNITS;
+  ATTRIBUTE_NAMES[59] = ATTR_STITCHTILES;
+  ATTRIBUTE_NAMES[60] = ATTR_INPUTMODE;
   ATTRIBUTE_NAMES[61] = ATTR_VIEWBOX;
   ATTRIBUTE_NAMES[62] = ATTR_DY;
   ATTRIBUTE_NAMES[63] = ATTR_END;
   ATTRIBUTE_NAMES[64] = ATTR_SRC;
   ATTRIBUTE_NAMES[65] = ATTR_Y1;
   ATTRIBUTE_NAMES[66] = ATTR_ARIA_GRAB;
   ATTRIBUTE_NAMES[67] = ATTR_ARIA_REQUIRED;
   ATTRIBUTE_NAMES[68] = ATTR_ARIA_ATOMIC;
@@ -1942,39 +1945,39 @@ void nsHtml5AttributeName::initializeSta
   ATTRIBUTE_NAMES[92] = ATTR_VISIBILITY;
   ATTRIBUTE_NAMES[93] = ATTR_MARKERWIDTH;
   ATTRIBUTE_NAMES[94] = ATTR_FILL_RULE;
   ATTRIBUTE_NAMES[95] = ATTR_SCALE;
   ATTRIBUTE_NAMES[96] = ATTR_FRAMESPACING;
   ATTRIBUTE_NAMES[97] = ATTR_ZOOMANDPAN;
   ATTRIBUTE_NAMES[98] = ATTR_ONUNLOAD;
   ATTRIBUTE_NAMES[99] = ATTR_POINTSATY;
-  ATTRIBUTE_NAMES[100] = ATTR_XLINK_TITLE;
-  ATTRIBUTE_NAMES[101] = ATTR_AUTOPLAY;
-  ATTRIBUTE_NAMES[102] = ATTR_COLOR_INTERPOLATION_FILTERS;
-  ATTRIBUTE_NAMES[103] = ATTR_ONLOAD;
-  ATTRIBUTE_NAMES[104] = ATTR_ONMOUSELEAVE;
-  ATTRIBUTE_NAMES[105] = ATTR_RQUOTE;
-  ATTRIBUTE_NAMES[106] = ATTR_STROKE_WIDTH;
-  ATTRIBUTE_NAMES[107] = ATTR_DISPLAYSTYLE;
-  ATTRIBUTE_NAMES[108] = ATTR_SCOPED;
-  ATTRIBUTE_NAMES[109] = ATTR_TEMPLATE;
-  ATTRIBUTE_NAMES[110] = ATTR_CHARSET;
-  ATTRIBUTE_NAMES[111] = ATTR_ONDRAGDROP;
-  ATTRIBUTE_NAMES[112] = ATTR_AS;
-  ATTRIBUTE_NAMES[113] = ATTR_CLOSURE;
-  ATTRIBUTE_NAMES[114] = ATTR_MINSIZE;
-  ATTRIBUTE_NAMES[115] = ATTR_SUBSCRIPTSHIFT;
-  ATTRIBUTE_NAMES[116] = ATTR_ENCTYPE;
-  ATTRIBUTE_NAMES[117] = ATTR_FONT_FAMILY;
-  ATTRIBUTE_NAMES[118] = ATTR_LIST;
-  ATTRIBUTE_NAMES[119] = ATTR_PATTERNUNITS;
-  ATTRIBUTE_NAMES[120] = ATTR_TEXTLENGTH;
-  ATTRIBUTE_NAMES[121] = ATTR_COLUMNSPACING;
-  ATTRIBUTE_NAMES[122] = ATTR_RESULT;
+  ATTRIBUTE_NAMES[100] = ATTR_XLINK_HREF;
+  ATTRIBUTE_NAMES[101] = ATTR_XLINK_ACTUATE;
+  ATTRIBUTE_NAMES[102] = ATTR_COLOR;
+  ATTRIBUTE_NAMES[103] = ATTR_NOMODULE;
+  ATTRIBUTE_NAMES[104] = ATTR_ONCOPY;
+  ATTRIBUTE_NAMES[105] = ATTR_TO;
+  ATTRIBUTE_NAMES[106] = ATTR_SCROLLING;
+  ATTRIBUTE_NAMES[107] = ATTR_DISPLAY;
+  ATTRIBUTE_NAMES[108] = ATTR_PROPERTY;
+  ATTRIBUTE_NAMES[109] = ATTR_STOP_OPACITY;
+  ATTRIBUTE_NAMES[110] = ATTR_CHAROFF;
+  ATTRIBUTE_NAMES[111] = ATTR_ONDROP;
+  ATTRIBUTE_NAMES[112] = ATTR_START;
+  ATTRIBUTE_NAMES[113] = ATTR_CURSOR;
+  ATTRIBUTE_NAMES[114] = ATTR_MAXSIZE;
+  ATTRIBUTE_NAMES[115] = ATTR_SRCSET;
+  ATTRIBUTE_NAMES[116] = ATTR_DEPTH;
+  ATTRIBUTE_NAMES[117] = ATTR_FONTFAMILY;
+  ATTRIBUTE_NAMES[118] = ATTR_LETTER_SPACING;
+  ATTRIBUTE_NAMES[119] = ATTR_PATTERN;
+  ATTRIBUTE_NAMES[120] = ATTR_TEXT_ANCHOR;
+  ATTRIBUTE_NAMES[121] = ATTR_COLUMNALIGN;
+  ATTRIBUTE_NAMES[122] = ATTR_REQUIREDFEATURES;
   ATTRIBUTE_NAMES[123] = ATTR_ELEVATION;
   ATTRIBUTE_NAMES[124] = ATTR_DX;
   ATTRIBUTE_NAMES[125] = ATTR_BY;
   ATTRIBUTE_NAMES[126] = ATTR_RY;
   ATTRIBUTE_NAMES[127] = ATTR_DIR;
   ATTRIBUTE_NAMES[128] = ATTR_IN2;
   ATTRIBUTE_NAMES[129] = ATTR_REL;
   ATTRIBUTE_NAMES[130] = ATTR_R;
@@ -2043,62 +2046,62 @@ void nsHtml5AttributeName::initializeSta
   ATTRIBUTE_NAMES[193] = ATTR_FRAMEBORDER;
   ATTRIBUTE_NAMES[194] = ATTR_FORM;
   ATTRIBUTE_NAMES[195] = ATTR_SUMMARY;
   ATTRIBUTE_NAMES[196] = ATTR_ALINK;
   ATTRIBUTE_NAMES[197] = ATTR_KERNING;
   ATTRIBUTE_NAMES[198] = ATTR_ONINVALID;
   ATTRIBUTE_NAMES[199] = ATTR_POINTS;
   ATTRIBUTE_NAMES[200] = ATTR_SPAN;
-  ATTRIBUTE_NAMES[201] = ATTR_WHEN;
-  ATTRIBUTE_NAMES[202] = ATTR_XLINK_ARCROLE;
-  ATTRIBUTE_NAMES[203] = ATTR_XLINK_SHOW;
-  ATTRIBUTE_NAMES[204] = ATTR_AUTOFOCUS;
-  ATTRIBUTE_NAMES[205] = ATTR_COLOR_INTERPOLATION;
-  ATTRIBUTE_NAMES[206] = ATTR_EXPONENT;
-  ATTRIBUTE_NAMES[207] = ATTR_NUMOCTAVES;
-  ATTRIBUTE_NAMES[208] = ATTR_ONMOUSEENTER;
-  ATTRIBUTE_NAMES[209] = ATTR_ONZOOM;
-  ATTRIBUTE_NAMES[210] = ATTR_ONMOUSEUP;
-  ATTRIBUTE_NAMES[211] = ATTR_ONMOUSEDOWN;
-  ATTRIBUTE_NAMES[212] = ATTR_STROKE_DASHARRAY;
-  ATTRIBUTE_NAMES[213] = ATTR_STROKE;
-  ATTRIBUTE_NAMES[214] = ATTR_COMPACT;
-  ATTRIBUTE_NAMES[215] = ATTR_CLIPPATHUNITS;
-  ATTRIBUTE_NAMES[216] = ATTR_GLYPH_ORIENTATION_HORIZONTAL;
-  ATTRIBUTE_NAMES[217] = ATTR_LOOP;
-  ATTRIBUTE_NAMES[218] = ATTR_SHAPE_RENDERING;
-  ATTRIBUTE_NAMES[219] = ATTR_STOP_COLOR;
-  ATTRIBUTE_NAMES[220] = ATTR_ABBR;
-  ATTRIBUTE_NAMES[221] = ATTR_COORDS;
-  ATTRIBUTE_NAMES[222] = ATTR_NOHREF;
-  ATTRIBUTE_NAMES[223] = ATTR_ONDRAGEND;
-  ATTRIBUTE_NAMES[224] = ATTR_OPERATOR;
-  ATTRIBUTE_NAMES[225] = ATTR_STARTOFFSET;
-  ATTRIBUTE_NAMES[226] = ATTR_BIAS;
-  ATTRIBUTE_NAMES[227] = ATTR_COLS;
-  ATTRIBUTE_NAMES[228] = ATTR_CLASS;
-  ATTRIBUTE_NAMES[229] = ATTR_LOWSRC;
-  ATTRIBUTE_NAMES[230] = ATTR_PRESERVEALPHA;
-  ATTRIBUTE_NAMES[231] = ATTR_ROWS;
-  ATTRIBUTE_NAMES[232] = ATTR_ALTTEXT;
-  ATTRIBUTE_NAMES[233] = ATTR_CONTEXTMENU;
-  ATTRIBUTE_NAMES[234] = ATTR_FILTER;
-  ATTRIBUTE_NAMES[235] = ATTR_FONT_STYLE;
-  ATTRIBUTE_NAMES[236] = ATTR_FONT_SIZE_ADJUST;
-  ATTRIBUTE_NAMES[237] = ATTR_KEYTIMES;
-  ATTRIBUTE_NAMES[238] = ATTR_RT;
-  ATTRIBUTE_NAMES[239] = ATTR_PATTERNTRANSFORM;
-  ATTRIBUTE_NAMES[240] = ATTR_RESTART;
-  ATTRIBUTE_NAMES[241] = ATTR_TEXT_DECORATION;
-  ATTRIBUTE_NAMES[242] = ATTR_WRITING_MODE;
-  ATTRIBUTE_NAMES[243] = ATTR_COLUMNLINES;
-  ATTRIBUTE_NAMES[244] = ATTR_GROUPALIGN;
-  ATTRIBUTE_NAMES[245] = ATTR_REQUIRED;
-  ATTRIBUTE_NAMES[246] = ATTR_VALUES;
+  ATTRIBUTE_NAMES[201] = ATTR_VLINK;
+  ATTRIBUTE_NAMES[202] = ATTR_XLINK_ROLE;
+  ATTRIBUTE_NAMES[203] = ATTR_XLINK_TYPE;
+  ATTRIBUTE_NAMES[204] = ATTR_AUTOCOMPLETE;
+  ATTRIBUTE_NAMES[205] = ATTR_COLOR_RENDERING;
+  ATTRIBUTE_NAMES[206] = ATTR_ENCODING;
+  ATTRIBUTE_NAMES[207] = ATTR_LQUOTE;
+  ATTRIBUTE_NAMES[208] = ATTR_ONMOUSEWHEEL;
+  ATTRIBUTE_NAMES[209] = ATTR_ONCONTEXTMENU;
+  ATTRIBUTE_NAMES[210] = ATTR_ONMOUSEMOVE;
+  ATTRIBUTE_NAMES[211] = ATTR_ONFOCUSOUT;
+  ATTRIBUTE_NAMES[212] = ATTR_STROKE_LINECAP;
+  ATTRIBUTE_NAMES[213] = ATTR_STROKE_MITERLIMIT;
+  ATTRIBUTE_NAMES[214] = ATTR_STROKE_OPACITY;
+  ATTRIBUTE_NAMES[215] = ATTR_CLIP_PATH;
+  ATTRIBUTE_NAMES[216] = ATTR_GLYPH_ORIENTATION_VERTICAL;
+  ATTRIBUTE_NAMES[217] = ATTR_KEYPOINTS;
+  ATTRIBUTE_NAMES[218] = ATTR_STEP;
+  ATTRIBUTE_NAMES[219] = ATTR_SLOPE;
+  ATTRIBUTE_NAMES[220] = ATTR_WRAP;
+  ATTRIBUTE_NAMES[221] = ATTR_CHAR;
+  ATTRIBUTE_NAMES[222] = ATTR_NOWRAP;
+  ATTRIBUTE_NAMES[223] = ATTR_ONDRAGOVER;
+  ATTRIBUTE_NAMES[224] = ATTR_ONERROR;
+  ATTRIBUTE_NAMES[225] = ATTR_ONDRAGLEAVE;
+  ATTRIBUTE_NAMES[226] = ATTR_AXIS;
+  ATTRIBUTE_NAMES[227] = ATTR_CROSSORIGIN;
+  ATTRIBUTE_NAMES[228] = ATTR_CLOSE;
+  ATTRIBUTE_NAMES[229] = ATTR_KEYSPLINES;
+  ATTRIBUTE_NAMES[230] = ATTR_OFFSET;
+  ATTRIBUTE_NAMES[231] = ATTR_ROWSPACING;
+  ATTRIBUTE_NAMES[232] = ATTR_VERSION;
+  ATTRIBUTE_NAMES[233] = ATTR_CONTENT;
+  ATTRIBUTE_NAMES[234] = ATTR_FONT_STRETCH;
+  ATTRIBUTE_NAMES[235] = ATTR_FONTSTYLE;
+  ATTRIBUTE_NAMES[236] = ATTR_FONT_VARIANT;
+  ATTRIBUTE_NAMES[237] = ATTR_FONT_SIZE;
+  ATTRIBUTE_NAMES[238] = ATTR_MULTIPLE;
+  ATTRIBUTE_NAMES[239] = ATTR_POSTER;
+  ATTRIBUTE_NAMES[240] = ATTR_PATTERNCONTENTUNITS;
+  ATTRIBUTE_NAMES[241] = ATTR_TEXT_RENDERING;
+  ATTRIBUTE_NAMES[242] = ATTR_TEXT;
+  ATTRIBUTE_NAMES[243] = ATTR_COLUMNSPAN;
+  ATTRIBUTE_NAMES[244] = ATTR_COLUMNWIDTH;
+  ATTRIBUTE_NAMES[245] = ATTR_ONCUT;
+  ATTRIBUTE_NAMES[246] = ATTR_REQUIREDEXTENSIONS;
   ATTRIBUTE_NAMES[247] = ATTR_VALUE;
   ATTRIBUTE_NAMES[248] = ATTR_VIEWTARGET;
   ATTRIBUTE_NAMES[249] = ATTR_CX;
   ATTRIBUTE_NAMES[250] = ATTR_FX;
   ATTRIBUTE_NAMES[251] = ATTR_REFX;
   ATTRIBUTE_NAMES[252] = ATTR_CY;
   ATTRIBUTE_NAMES[253] = ATTR_FY;
   ATTRIBUTE_NAMES[254] = ATTR_REFY;
@@ -2245,107 +2248,108 @@ void nsHtml5AttributeName::initializeSta
   ATTRIBUTE_NAMES[395] = ATTR_KERNELMATRIX;
   ATTRIBUTE_NAMES[396] = ATTR_KERNELUNITLENGTH;
   ATTRIBUTE_NAMES[397] = ATTR_OPEN;
   ATTRIBUTE_NAMES[398] = ATTR_ONEND;
   ATTRIBUTE_NAMES[399] = ATTR_POINTER_EVENTS;
   ATTRIBUTE_NAMES[400] = ATTR_POINTSATX;
   ATTRIBUTE_NAMES[401] = ATTR_POINTSATZ;
   ATTRIBUTE_NAMES[402] = ATTR_STANDBY;
-  ATTRIBUTE_NAMES[403] = ATTR_VLINK;
-  ATTRIBUTE_NAMES[404] = ATTR_XLINK_HREF;
-  ATTRIBUTE_NAMES[405] = ATTR_XLINK_ROLE;
-  ATTRIBUTE_NAMES[406] = ATTR_XMLNS_XLINK;
-  ATTRIBUTE_NAMES[407] = ATTR_XLINK_TYPE;
-  ATTRIBUTE_NAMES[408] = ATTR_XLINK_ACTUATE;
-  ATTRIBUTE_NAMES[409] = ATTR_AUTOCOMPLETE;
-  ATTRIBUTE_NAMES[410] = ATTR_BGCOLOR;
-  ATTRIBUTE_NAMES[411] = ATTR_COLOR_RENDERING;
-  ATTRIBUTE_NAMES[412] = ATTR_COLOR;
-  ATTRIBUTE_NAMES[413] = ATTR_ENCODING;
-  ATTRIBUTE_NAMES[414] = ATTR_FLOOD_COLOR;
-  ATTRIBUTE_NAMES[415] = ATTR_LQUOTE;
-  ATTRIBUTE_NAMES[416] = ATTR_NOMODULE;
-  ATTRIBUTE_NAMES[417] = ATTR_ONMOUSEWHEEL;
-  ATTRIBUTE_NAMES[418] = ATTR_ONMOUSEOVER;
-  ATTRIBUTE_NAMES[419] = ATTR_ONCONTEXTMENU;
-  ATTRIBUTE_NAMES[420] = ATTR_ONCOPY;
-  ATTRIBUTE_NAMES[421] = ATTR_ONMOUSEMOVE;
-  ATTRIBUTE_NAMES[422] = ATTR_ONFOCUS;
-  ATTRIBUTE_NAMES[423] = ATTR_ONFOCUSOUT;
-  ATTRIBUTE_NAMES[424] = ATTR_TO;
-  ATTRIBUTE_NAMES[425] = ATTR_STROKE_LINECAP;
-  ATTRIBUTE_NAMES[426] = ATTR_STROKE_DASHOFFSET;
-  ATTRIBUTE_NAMES[427] = ATTR_STROKE_MITERLIMIT;
-  ATTRIBUTE_NAMES[428] = ATTR_SCROLLING;
-  ATTRIBUTE_NAMES[429] = ATTR_STROKE_OPACITY;
-  ATTRIBUTE_NAMES[430] = ATTR_CLIP;
-  ATTRIBUTE_NAMES[431] = ATTR_CLIP_PATH;
-  ATTRIBUTE_NAMES[432] = ATTR_DISPLAY;
-  ATTRIBUTE_NAMES[433] = ATTR_GLYPH_ORIENTATION_VERTICAL;
-  ATTRIBUTE_NAMES[434] = ATTR_GLYPHREF;
-  ATTRIBUTE_NAMES[435] = ATTR_KEYPOINTS;
-  ATTRIBUTE_NAMES[436] = ATTR_PROPERTY;
-  ATTRIBUTE_NAMES[437] = ATTR_STEP;
-  ATTRIBUTE_NAMES[438] = ATTR_SCOPE;
-  ATTRIBUTE_NAMES[439] = ATTR_SLOPE;
-  ATTRIBUTE_NAMES[440] = ATTR_STOP_OPACITY;
-  ATTRIBUTE_NAMES[441] = ATTR_WRAP;
-  ATTRIBUTE_NAMES[442] = ATTR_ATTRIBUTENAME;
-  ATTRIBUTE_NAMES[443] = ATTR_CHAR;
-  ATTRIBUTE_NAMES[444] = ATTR_CHAROFF;
-  ATTRIBUTE_NAMES[445] = ATTR_NOWRAP;
-  ATTRIBUTE_NAMES[446] = ATTR_ONDRAG;
-  ATTRIBUTE_NAMES[447] = ATTR_ONDRAGOVER;
-  ATTRIBUTE_NAMES[448] = ATTR_ONDROP;
-  ATTRIBUTE_NAMES[449] = ATTR_ONERROR;
-  ATTRIBUTE_NAMES[450] = ATTR_OVERFLOW;
-  ATTRIBUTE_NAMES[451] = ATTR_ONDRAGLEAVE;
-  ATTRIBUTE_NAMES[452] = ATTR_START;
-  ATTRIBUTE_NAMES[453] = ATTR_AXIS;
-  ATTRIBUTE_NAMES[454] = ATTR_COLSPAN;
-  ATTRIBUTE_NAMES[455] = ATTR_CROSSORIGIN;
-  ATTRIBUTE_NAMES[456] = ATTR_CURSOR;
-  ATTRIBUTE_NAMES[457] = ATTR_CLOSE;
-  ATTRIBUTE_NAMES[458] = ATTR_IS;
-  ATTRIBUTE_NAMES[459] = ATTR_KEYSPLINES;
-  ATTRIBUTE_NAMES[460] = ATTR_MAXSIZE;
-  ATTRIBUTE_NAMES[461] = ATTR_OFFSET;
-  ATTRIBUTE_NAMES[462] = ATTR_PRESERVEASPECTRATIO;
-  ATTRIBUTE_NAMES[463] = ATTR_ROWSPACING;
-  ATTRIBUTE_NAMES[464] = ATTR_SRCSET;
-  ATTRIBUTE_NAMES[465] = ATTR_VERSION;
-  ATTRIBUTE_NAMES[466] = ATTR_CONTENTEDITABLE;
-  ATTRIBUTE_NAMES[467] = ATTR_CONTENT;
-  ATTRIBUTE_NAMES[468] = ATTR_DEPTH;
-  ATTRIBUTE_NAMES[469] = ATTR_FONT_STRETCH;
-  ATTRIBUTE_NAMES[470] = ATTR_FONTWEIGHT;
-  ATTRIBUTE_NAMES[471] = ATTR_FONTSTYLE;
-  ATTRIBUTE_NAMES[472] = ATTR_FONTFAMILY;
-  ATTRIBUTE_NAMES[473] = ATTR_FONT_VARIANT;
-  ATTRIBUTE_NAMES[474] = ATTR_FILTERUNITS;
-  ATTRIBUTE_NAMES[475] = ATTR_FONT_SIZE;
-  ATTRIBUTE_NAMES[476] = ATTR_LETTER_SPACING;
-  ATTRIBUTE_NAMES[477] = ATTR_MULTIPLE;
-  ATTRIBUTE_NAMES[478] = ATTR_ONSTOP;
-  ATTRIBUTE_NAMES[479] = ATTR_POSTER;
-  ATTRIBUTE_NAMES[480] = ATTR_PATTERN;
-  ATTRIBUTE_NAMES[481] = ATTR_PATTERNCONTENTUNITS;
-  ATTRIBUTE_NAMES[482] = ATTR_STITCHTILES;
-  ATTRIBUTE_NAMES[483] = ATTR_TEXT_RENDERING;
-  ATTRIBUTE_NAMES[484] = ATTR_TEXT_ANCHOR;
-  ATTRIBUTE_NAMES[485] = ATTR_TEXT;
-  ATTRIBUTE_NAMES[486] = ATTR_WIDTH;
-  ATTRIBUTE_NAMES[487] = ATTR_COLUMNSPAN;
-  ATTRIBUTE_NAMES[488] = ATTR_COLUMNALIGN;
-  ATTRIBUTE_NAMES[489] = ATTR_COLUMNWIDTH;
-  ATTRIBUTE_NAMES[490] = ATTR_INPUTMODE;
-  ATTRIBUTE_NAMES[491] = ATTR_ONCUT;
-  ATTRIBUTE_NAMES[492] = ATTR_REQUIREDFEATURES;
-  ATTRIBUTE_NAMES[493] = ATTR_REQUIREDEXTENSIONS;
+  ATTRIBUTE_NAMES[403] = ATTR_TRANSFORM;
+  ATTRIBUTE_NAMES[404] = ATTR_WHEN;
+  ATTRIBUTE_NAMES[405] = ATTR_XLINK_TITLE;
+  ATTRIBUTE_NAMES[406] = ATTR_XLINK_ARCROLE;
+  ATTRIBUTE_NAMES[407] = ATTR_XMLNS;
+  ATTRIBUTE_NAMES[408] = ATTR_XLINK_SHOW;
+  ATTRIBUTE_NAMES[409] = ATTR_AUTOPLAY;
+  ATTRIBUTE_NAMES[410] = ATTR_AUTOFOCUS;
+  ATTRIBUTE_NAMES[411] = ATTR_COLOR_PROFILE;
+  ATTRIBUTE_NAMES[412] = ATTR_COLOR_INTERPOLATION;
+  ATTRIBUTE_NAMES[413] = ATTR_COLOR_INTERPOLATION_FILTERS;
+  ATTRIBUTE_NAMES[414] = ATTR_EXPONENT;
+  ATTRIBUTE_NAMES[415] = ATTR_FLOOD_OPACITY;
+  ATTRIBUTE_NAMES[416] = ATTR_NUMOCTAVES;
+  ATTRIBUTE_NAMES[417] = ATTR_ONLOAD;
+  ATTRIBUTE_NAMES[418] = ATTR_ONMOUSEENTER;
+  ATTRIBUTE_NAMES[419] = ATTR_ONFOCUSIN;
+  ATTRIBUTE_NAMES[420] = ATTR_ONZOOM;
+  ATTRIBUTE_NAMES[421] = ATTR_ONMOUSELEAVE;
+  ATTRIBUTE_NAMES[422] = ATTR_ONMOUSEUP;
+  ATTRIBUTE_NAMES[423] = ATTR_ONMOUSEOUT;
+  ATTRIBUTE_NAMES[424] = ATTR_ONMOUSEDOWN;
+  ATTRIBUTE_NAMES[425] = ATTR_RQUOTE;
+  ATTRIBUTE_NAMES[426] = ATTR_STROKE_DASHARRAY;
+  ATTRIBUTE_NAMES[427] = ATTR_STROKE_LINEJOIN;
+  ATTRIBUTE_NAMES[428] = ATTR_STROKE;
+  ATTRIBUTE_NAMES[429] = ATTR_STROKE_WIDTH;
+  ATTRIBUTE_NAMES[430] = ATTR_COMPACT;
+  ATTRIBUTE_NAMES[431] = ATTR_CLIP_RULE;
+  ATTRIBUTE_NAMES[432] = ATTR_CLIPPATHUNITS;
+  ATTRIBUTE_NAMES[433] = ATTR_DISPLAYSTYLE;
+  ATTRIBUTE_NAMES[434] = ATTR_GLYPH_ORIENTATION_HORIZONTAL;
+  ATTRIBUTE_NAMES[435] = ATTR_HTTP_EQUIV;
+  ATTRIBUTE_NAMES[436] = ATTR_LOOP;
+  ATTRIBUTE_NAMES[437] = ATTR_SCOPED;
+  ATTRIBUTE_NAMES[438] = ATTR_SHAPE_RENDERING;
+  ATTRIBUTE_NAMES[439] = ATTR_SHAPE;
+  ATTRIBUTE_NAMES[440] = ATTR_STOP_COLOR;
+  ATTRIBUTE_NAMES[441] = ATTR_TEMPLATE;
+  ATTRIBUTE_NAMES[442] = ATTR_ABBR;
+  ATTRIBUTE_NAMES[443] = ATTR_ATTRIBUTETYPE;
+  ATTRIBUTE_NAMES[444] = ATTR_COORDS;
+  ATTRIBUTE_NAMES[445] = ATTR_CHARSET;
+  ATTRIBUTE_NAMES[446] = ATTR_NOHREF;
+  ATTRIBUTE_NAMES[447] = ATTR_ONDRAGENTER;
+  ATTRIBUTE_NAMES[448] = ATTR_ONDRAGEND;
+  ATTRIBUTE_NAMES[449] = ATTR_ONDRAGDROP;
+  ATTRIBUTE_NAMES[450] = ATTR_OPERATOR;
+  ATTRIBUTE_NAMES[451] = ATTR_ONDRAGSTART;
+  ATTRIBUTE_NAMES[452] = ATTR_STARTOFFSET;
+  ATTRIBUTE_NAMES[453] = ATTR_AS;
+  ATTRIBUTE_NAMES[454] = ATTR_BIAS;
+  ATTRIBUTE_NAMES[455] = ATTR_CLASSID;
+  ATTRIBUTE_NAMES[456] = ATTR_COLS;
+  ATTRIBUTE_NAMES[457] = ATTR_CLOSURE;
+  ATTRIBUTE_NAMES[458] = ATTR_CLASS;
+  ATTRIBUTE_NAMES[459] = ATTR_KEYSYSTEM;
+  ATTRIBUTE_NAMES[460] = ATTR_LOWSRC;
+  ATTRIBUTE_NAMES[461] = ATTR_MINSIZE;
+  ATTRIBUTE_NAMES[462] = ATTR_PRESERVEALPHA;
+  ATTRIBUTE_NAMES[463] = ATTR_ROWSPAN;
+  ATTRIBUTE_NAMES[464] = ATTR_ROWS;
+  ATTRIBUTE_NAMES[465] = ATTR_SUBSCRIPTSHIFT;
+  ATTRIBUTE_NAMES[466] = ATTR_ALTTEXT;
+  ATTRIBUTE_NAMES[467] = ATTR_CONTROLS;
+  ATTRIBUTE_NAMES[468] = ATTR_CONTEXTMENU;
+  ATTRIBUTE_NAMES[469] = ATTR_ENCTYPE;
+  ATTRIBUTE_NAMES[470] = ATTR_FILTER;
+  ATTRIBUTE_NAMES[471] = ATTR_FONT_WEIGHT;
+  ATTRIBUTE_NAMES[472] = ATTR_FONT_STYLE;
+  ATTRIBUTE_NAMES[473] = ATTR_FONT_FAMILY;
+  ATTRIBUTE_NAMES[474] = ATTR_FONT_SIZE_ADJUST;
+  ATTRIBUTE_NAMES[475] = ATTR_FONTSIZE;
+  ATTRIBUTE_NAMES[476] = ATTR_KEYTIMES;
+  ATTRIBUTE_NAMES[477] = ATTR_LIST;
+  ATTRIBUTE_NAMES[478] = ATTR_RT;
+  ATTRIBUTE_NAMES[479] = ATTR_ONSTART;
+  ATTRIBUTE_NAMES[480] = ATTR_PATTERNTRANSFORM;
+  ATTRIBUTE_NAMES[481] = ATTR_PATTERNUNITS;
+  ATTRIBUTE_NAMES[482] = ATTR_RESTART;
+  ATTRIBUTE_NAMES[483] = ATTR_SYSTEMLANGUAGE;
+  ATTRIBUTE_NAMES[484] = ATTR_TEXT_DECORATION;
+  ATTRIBUTE_NAMES[485] = ATTR_TEXTLENGTH;
+  ATTRIBUTE_NAMES[486] = ATTR_WRITING_MODE;
+  ATTRIBUTE_NAMES[487] = ATTR_ACCUMULATE;
+  ATTRIBUTE_NAMES[488] = ATTR_COLUMNLINES;
+  ATTRIBUTE_NAMES[489] = ATTR_COLUMNSPACING;
+  ATTRIBUTE_NAMES[490] = ATTR_GROUPALIGN;
+  ATTRIBUTE_NAMES[491] = ATTR_ONSUBMIT;
+  ATTRIBUTE_NAMES[492] = ATTR_REQUIRED;
+  ATTRIBUTE_NAMES[493] = ATTR_RESULT;
+  ATTRIBUTE_NAMES[494] = ATTR_VALUES;
 }
 
 void nsHtml5AttributeName::releaseStatics() {
   delete[] ALL_NO_NS;
   delete[] XMLNS_NS;
   delete[] XML_NS;
   delete[] XLINK_NS;
   delete[] ALL_NO_PREFIX;
@@ -2642,16 +2646,17 @@ void nsHtml5AttributeName::releaseStatic
   delete ATTR_ONINPUT;
   delete ATTR_POINTER_EVENTS;
   delete ATTR_POINTS;
   delete ATTR_POINTSATX;
   delete ATTR_POINTSATY;
   delete ATTR_POINTSATZ;
   delete ATTR_SPAN;
   delete ATTR_STANDBY;
+  delete ATTR_TRANSFORM_ORIGIN;
   delete ATTR_TRANSFORM;
   delete ATTR_VLINK;
   delete ATTR_WHEN;
   delete ATTR_XLINK_HREF;
   delete ATTR_XLINK_TITLE;
   delete ATTR_XLINK_ROLE;
   delete ATTR_XLINK_ARCROLE;
   delete ATTR_XMLNS_XLINK;
--- a/parser/html/nsHtml5AttributeName.h
+++ b/parser/html/nsHtml5AttributeName.h
@@ -467,16 +467,17 @@ class nsHtml5AttributeName {
   static nsHtml5AttributeName* ATTR_ONINPUT;
   static nsHtml5AttributeName* ATTR_POINTER_EVENTS;
   static nsHtml5AttributeName* ATTR_POINTS;
   static nsHtml5AttributeName* ATTR_POINTSATX;
   static nsHtml5AttributeName* ATTR_POINTSATY;
   static nsHtml5AttributeName* ATTR_POINTSATZ;
   static nsHtml5AttributeName* ATTR_SPAN;
   static nsHtml5AttributeName* ATTR_STANDBY;
+  static nsHtml5AttributeName* ATTR_TRANSFORM_ORIGIN;
   static nsHtml5AttributeName* ATTR_TRANSFORM;
   static nsHtml5AttributeName* ATTR_VLINK;
   static nsHtml5AttributeName* ATTR_WHEN;
   static nsHtml5AttributeName* ATTR_XLINK_HREF;
   static nsHtml5AttributeName* ATTR_XLINK_TITLE;
   static nsHtml5AttributeName* ATTR_XLINK_ROLE;
   static nsHtml5AttributeName* ATTR_XLINK_ARCROLE;
   static nsHtml5AttributeName* ATTR_XMLNS_XLINK;
--- a/testing/web-platform/meta/svg/styling/presentation-attributes-relevant.html.ini
+++ b/testing/web-platform/meta/svg/styling/presentation-attributes-relevant.html.ini
@@ -1,16 +1,13 @@
 [presentation-attributes-relevant.html]
   [color-interpolation presentation attribute supported on a relevant element]
     expected: FAIL
 
   [text-overflow presentation attribute supported on a relevant element]
     expected: FAIL
 
-  [transform-origin presentation attribute supported on a relevant element]
-    expected: FAIL
-
   [transform presentation attribute supported on a relevant element]
     expected: FAIL
 
   [white-space presentation attribute supported on a relevant element]
     expected: FAIL
 
--- a/xpcom/ds/StaticAtoms.py
+++ b/xpcom/ds/StaticAtoms.py
@@ -1536,16 +1536,17 @@ STATIC_ATOMS = [
     Atom("systemLanguage", "systemLanguage"),
     Atom("tableValues", "tableValues"),
     Atom("targetX", "targetX"),
     Atom("targetY", "targetY"),
     Atom("text_anchor", "text-anchor"),
     Atom("text_rendering", "text-rendering"),
     Atom("textLength", "textLength"),
     Atom("textPath", "textPath"),
+    Atom("transform_origin", "transform-origin"),
     Atom("tref", "tref"),
     Atom("tspan", "tspan"),
     Atom("turbulence", "turbulence"),
     Atom("unicode_bidi", "unicode-bidi"),
     Atom("userSpaceOnUse", "userSpaceOnUse"),
     Atom("view", "view"),
     Atom("viewBox", "viewBox"),
     Atom("viewTarget", "viewTarget"),