Commit be70f57b authored by Adam Vandolder's avatar Adam Vandolder
Browse files

Bug 1890428 - Add shadowrootserializable attribute. r=dom-core,hsivonen

parent b6666d1f
Loading
Loading
Loading
Loading
+355 −354
Original line number Diff line number Diff line
@@ -801,6 +801,7 @@ public final class AttributeName
    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 SHADOWROOTSERIALIZABLE = new AttributeName(ALL_NO_NS, "shadowrootserializable", "shadowrootserializable", "shadowrootserializable", "shadowrootserializable", 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);
@@ -1196,30 +1197,30 @@ 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 = {
    AMPLITUDE,
    CODE,
    MASKCONTENTUNITS,
    BASE,
    WRAP,
    CLEAR,
    ALIGNMENT_BASELINE,
    ALIGN,
    AUTOFOCUS,
    FONT_VARIANT,
    ARIA_DISABLED,
    OPACITY,
    ORIENTATION,
    ACTIONTYPE,
    EVENT,
    ORIENT,
    ALTIMG,
    IN,
    STROKE_LINECAP,
    CLOSE,
    COLUMNWIDTH,
    Y,
    ARIA_MULTISELECTABLE,
    ROTATE,
    SRCDOC,
    LINETHICKNESS,
    SIZES,
    TARGET,
    SCRIPTSIZEMULTIPLIER,
    AZIMUTH,
    SHADOWROOTSERIALIZABLE,
    LABEL,
    SELECTED,
    PING,
    SCRIPTLEVEL,
    TITLE,
    STANDBY,
    ONMOUSEWHEEL,
    GLYPH_ORIENTATION_VERTICAL,
@@ -1234,17 +1235,17 @@ public final class AttributeName
    LOCAL,
    ONABORT,
    HIDDEN,
    ACCENT,
    EDGE,
    ORDER,
    ONRESIZE,
    DIFFUSECONSTANT,
    LANG,
    MATHVARIANT,
    LIMITINGCONEANGLE,
    MARKERHEIGHT,
    ONCLICK,
    PRIMITIVEUNITS,
    ACCESSKEY,
    EDGEMODE,
    ONSELECT,
    ONKEYDOWN,
    TYPE,
    LANGUAGE,
    METHOD,
    DEFINITIONURL,
    MARKER_MID,
    MAXLENGTH,
    PROMPT,
    ONEND,
    XLINK_ARCROLE,
    ENCODING,
@@ -1273,28 +1274,28 @@ public final class AttributeName
    FETCHPRIORITY,
    BORDER,
    RENDERING_INTENT,
    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,
    SHADOWROOTDELEGATESFOCUS,
    BASEFREQUENCY,
    CITE,
    INDEX,
    NORESIZE,
    ONREADYSTATECHANGE,
    ONBEFOREPASTE,
    RULES,
    SCHEME,
    ONAFTERPRINT,
    HEIGHT,
    LENGTHADJUST,
    ARCHIVE,
    NOSHADE,
    ADDITIVE,
    ONFINISH,
    VALIGN,
    MARKER_START,
    DECLARE,
    ROWLINES,
    FRAME,
    USEMAP,
    KERNELUNITLENGTH,
    POINTSATX,
    WHEN,
@@ -1351,50 +1352,50 @@ public final class AttributeName
    GRADIENTTRANSFORM,
    LOADING,
    SEED,
    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,
    STDDEVIATION,
    ACCENTUNDER,
    ACCEPT,
    BASEPROFILE,
    CODETYPE,
    DATETIME,
    ENTERKEYHINT,
    INTEGRITY,
    MODE,
    ONREPEAT,
    OTHER,
    ONBEGIN,
    ONBEFORECOPY,
    ONKEYUP,
    REPEAT,
    REPEATCOUNT,
    SUPERSCRIPTSHIFT,
    SELECTION,
    HREF,
    SURFACESCALE,
    ALIGNMENTSCOPE,
    IMAGESRCSET,
    LARGEOP,
    MARGINWIDTH,
    TARGETX,
    LIGHTING_COLOR,
    MATHCOLOR,
    PATHLENGTH,
    ACTION,
    DOMINANT_BASELINE,
    MEDIA,
    RADIOGROUP,
    SCRIPTMINSIZE,
    BACKGROUND,
    MARKER_END,
    MASKUNITS,
    CELLSPACING,
    FILL,
    ONBLUR,
    STYLE,
    FORMAT,
    FROM,
    SYMMETRIC,
    ASYNC,
    KERNELMATRIX,
    OPEN,
    POINTER_EVENTS,
@@ -1507,94 +1508,94 @@ public final class AttributeName
    READONLY,
    SHADOWROOTMODE,
    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,
    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,
    ICON,
    KERNING,
    ONUNLOAD,
@@ -1703,30 +1704,30 @@ public final class AttributeName
    REFX,
    };
    private final static int[] ATTRIBUTE_HASHES = {
    1864698185,
    1748306996,
    1854497008,
    1748021284,
    1943317364,
    1681174213,
    1780975314,
    1780879045,
    1915341049,
    2001732764,
    1680165421,
    1721347639,
    1754798923,
    1814558026,
    1900548965,
    1754794646,
    1814517574,
    1900544002,
    1924443742,
    1983432389,
    2017010843,
    71827457,
    1680282148,
    1689324870,
    1740096054,
    1753297133,
    1756737685,
    1790814502,
    1823841492,
    1881750231,
    1740045862,
    1753049109,
    1756704824,
    1788842244,
    1823829083,
    1874788501,
    1907701479,
    1922400908,
    1934917290,
@@ -1741,17 +1742,17 @@ public final class AttributeName
    1685882101,
    1704526375,
    1734182982,
    1747446838,
    1749399124,
    1754643237,
    1754958648,
    1765800271,
    1786740932,
    1804069019,
    1820262641,
    1854302364,
    1872034503,
    1889633006,
    1747309881,
    1749350104,
    1754612424,
    1754927689,
    1757421892,
    1786622296,
    1804054854,
    1816178925,
    1854285018,
    1871251689,
    1889569526,
    1905754853,
    1910441773,
    1917295176,
@@ -1780,28 +1781,28 @@ public final class AttributeName
    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,
    1740222216,
    1747800157,
    1748566068,
    1751507685,
    1754434872,
    1754647074,
    1754860061,
    1756219733,
    1756836998,
    1771569964,
    1784574102,
    1786851500,
    1797886599,
    1804405895,
    1814656840,
    1821958888,
    1825437894,
    1854466380,
    1866496199,
    1873656984,
    1884246821,
    1891937366,
    1903759600,
    1906419001,
    1909819252,
@@ -1858,50 +1859,50 @@ public final class AttributeName
    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,
    1740119884,
    1747295467,
    1747479606,
    1747906667,
    1748503880,
    1748971848,
    1749549708,
    1751755561,
    1753550036,
    1754579720,
    1754644293,
    1754698327,
    1754835516,
    1754899031,
    1756147974,
    1756360955,
    1756762256,
    1756889417,
    1767725700,
    1773606972,
    1781007934,
    1785053243,
    1786775671,
    1787365531,
    1791068279,
    1803561214,
    1804081401,
    1805715690,
    1814560070,
    1816104145,
    1820727381,
    1823574314,
    1824159037,
    1848600826,
    1854366938,
    1854497001,
    1865910331,
    1867462756,
    1872343590,
    1874270021,
    1884079398,
    1884295780,
    1890996553,
    1898415413,
    1903612236,
    1905628916,
    1906408542,
@@ -2014,94 +2015,94 @@ public final class AttributeName
    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,
    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,
+3 −2
Original line number Diff line number Diff line
@@ -2990,8 +2990,9 @@ public abstract class TreeBuilder<T> implements TokenHandler,
        }

        boolean shadowRootIsClonable = attributes.contains(AttributeName.SHADOWROOTCLONABLE);
        boolean shadowRootIsSerializable = attributes.contains(AttributeName.SHADOWROOTSERIALIZABLE);
        boolean shadowRootDelegatesFocus = attributes.contains(AttributeName.SHADOWROOTDELEGATESFOCUS);
        return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, shadowRootIsClonable, shadowRootDelegatesFocus);
        return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, shadowRootIsClonable, shadowRootIsSerializable, shadowRootDelegatesFocus);
    }

    /**
@@ -5439,7 +5440,7 @@ public abstract class TreeBuilder<T> implements TokenHandler,
    }

    T getShadowRootFromHost(T host, T template, String shadowRootMode,
            boolean shadowRootIsClonable, boolean shadowRootDelegatesFocus) {
            boolean shadowRootIsClonable, boolean shadowRootIsSerializable, boolean shadowRootDelegatesFocus) {
        return null;
    }

+220 −213

File changed.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Diff line number Diff line
@@ -284,6 +284,7 @@ class nsHtml5AttributeName {
  static nsHtml5AttributeName* ATTR_SHADOWROOTMODE;
  static nsHtml5AttributeName* ATTR_SEED;
  static nsHtml5AttributeName* ATTR_SHADOWROOTCLONABLE;
  static nsHtml5AttributeName* ATTR_SHADOWROOTSERIALIZABLE;
  static nsHtml5AttributeName* ATTR_SRCDOC;
  static nsHtml5AttributeName* ATTR_STDDEVIATION;
  static nsHtml5AttributeName* ATTR_SANDBOX;
+4 −1
Original line number Diff line number Diff line
@@ -2122,10 +2122,13 @@ nsIContentHandle* nsHtml5TreeBuilder::getDeclarativeShadowRoot(
  }
  bool shadowRootIsClonable =
      attributes->contains(nsHtml5AttributeName::ATTR_SHADOWROOTCLONABLE);
  bool shadowRootIsSerializable =
      attributes->contains(nsHtml5AttributeName::ATTR_SHADOWROOTSERIALIZABLE);
  bool shadowRootDelegatesFocus =
      attributes->contains(nsHtml5AttributeName::ATTR_SHADOWROOTDELEGATESFOCUS);
  return getShadowRootFromHost(currentNode, templateNode, shadowRootMode,
                               shadowRootIsClonable, shadowRootDelegatesFocus);
                               shadowRootIsClonable, shadowRootIsSerializable,
                               shadowRootDelegatesFocus);
}

nsHtml5String nsHtml5TreeBuilder::extractCharsetFromContent(
Loading