From fd43a8c5497d2fcffb96375dcf30be15cfe844be Mon Sep 17 00:00:00 2001 From: Keith Cirkel Date: Thu, 9 Apr 2026 10:28:38 +0100 Subject: [PATCH] Implement shadowrootcustomelementregistry --- src/nu/validator/htmlparser/impl/AttributeName.java | 2 ++ src/nu/validator/htmlparser/impl/TreeBuilder.java | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/nu/validator/htmlparser/impl/AttributeName.java b/src/nu/validator/htmlparser/impl/AttributeName.java index 35dc0231..6578915e 100644 --- a/src/nu/validator/htmlparser/impl/AttributeName.java +++ b/src/nu/validator/htmlparser/impl/AttributeName.java @@ -806,6 +806,7 @@ boolean equalsAnother(AttributeName another) { 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); + public static final AttributeName SHADOWROOTCUSTOMELEMENTREGISTRY = new AttributeName(ALL_NO_NS, "shadowrootcustomelementregistry", "shadowrootcustomelementregistry", "shadowrootcustomelementregistry", "shadowrootcustomelementregistry", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SHADOWROOTDELEGATESFOCUS = new AttributeName(ALL_NO_NS, "shadowrootdelegatesfocus", "shadowrootdelegatesfocus", "shadowrootdelegatesfocus", "shadowrootdelegatesfocus", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName WORD_SPACING = new AttributeName(ALL_NO_NS, "word-spacing", "word-spacing", "word-spacing", "word-spacing", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName ACCENTUNDER = new AttributeName(ALL_NO_NS, "accentunder", "accentunder", "accentunder", "accentunder", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); @@ -1512,6 +1513,7 @@ boolean equalsAnother(AttributeName another) { SHADOWROOTREFERENCETARGET, SHADOWROOTSERIALIZABLE, STDDEVIATION, + SHADOWROOTCUSTOMELEMENTREGISTRY, SHADOWROOTDELEGATESFOCUS, ACCENTUNDER, ACCESSKEY, diff --git a/src/nu/validator/htmlparser/impl/TreeBuilder.java b/src/nu/validator/htmlparser/impl/TreeBuilder.java index 3d4b3499..2bb1e711 100644 --- a/src/nu/validator/htmlparser/impl/TreeBuilder.java +++ b/src/nu/validator/htmlparser/impl/TreeBuilder.java @@ -2996,9 +2996,10 @@ private T getDeclarativeShadowRoot(T currentNode, T templateNode, HtmlAttributes boolean shadowRootIsClonable = attributes.contains(AttributeName.SHADOWROOTCLONABLE); boolean shadowRootIsSerializable = attributes.contains(AttributeName.SHADOWROOTSERIALIZABLE); boolean shadowRootDelegatesFocus = attributes.contains(AttributeName.SHADOWROOTDELEGATESFOCUS); + boolean shadowRootCustomElementRegistry = attributes.contains(AttributeName.SHADOWROOTCUSTOMELEMENTREGISTRY); String shadowRootReferenceTarget = attributes.getValue(AttributeName.SHADOWROOTREFERENCETARGET); - return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, shadowRootIsClonable, shadowRootIsSerializable, shadowRootDelegatesFocus, shadowRootReferenceTarget); + return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, shadowRootIsClonable, shadowRootIsSerializable, shadowRootDelegatesFocus, shadowRootCustomElementRegistry, shadowRootReferenceTarget); } /** @@ -5379,7 +5380,7 @@ void setDocumentFragmentForTemplate(T template, T fragment) { T getShadowRootFromHost(T host, T template, String shadowRootMode, boolean shadowRootIsClonable, boolean shadowRootIsSerializable, boolean shadowRootDelegatesFocus, - String shadowRootReferenceTarget) { + boolean shadowRootCustomElementRegistry, String shadowRootReferenceTarget) { return null; }