diff --git a/source b/source index 859efba470b..e388e064e6f 100644 --- a/source +++ b/source @@ -3203,7 +3203,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • node document concept
  • document type concept
  • host concept
  • -
  • The shadow root concept, and its delegates focus, available to element internals, clonable, serializable, and custom element registry.
  • +
  • The shadow root concept, and its delegates focus, available to element internals, clonable, serializable, custom element registry, and keep custom element registry null.
  • The shadow host concept
  • HTMLCollection interface, its @@ -12071,14 +12071,14 @@ document.createElement("bad-1"); // (2)
  • Let registry be null.

  • -

    If current global object's active custom element constructor +

    If the surrounding agent's active custom element constructor map[NewTarget] exists:

      -
    1. Set registry to current global object's active custom +

    2. Set registry to the surrounding agent's active custom element constructor map[NewTarget].

    3. -
    4. Remove current global object's +

    5. Remove the surrounding agent's active custom element constructor map[NewTarget].

    @@ -72692,9 +72692,9 @@ document.body.append(parent);
    -

    Each Window object has an associated active custom - element constructor map, which is a map of constructors to - CustomElementRegistry objects.

    +

    Each similar-origin window agent has an associated active custom element constructor map, which is a map of constructors to CustomElementRegistry objects.

    The customElements attribute of the @@ -72711,8 +72711,8 @@ interface CustomElementRegistry { Promise<CustomElementConstructor> whenDefined(DOMString name); [CEReactions] undefined upgrade(Node root); - HTMLElement createElement(DOMString name); - Node cloneSubtree(Node root); + [CEReactions, NewObject] HTMLElement createElement(DOMString name); + [CEReactions, NewObject] Node cloneSubtree(Node root); }; callback CustomElementConstructor = HTMLElement (); @@ -73253,9 +73253,8 @@ customElements.define("x-foo", class extends HTMLElement {

  • Let registry be element's custom element registry.

  • -
  • Set registry's relevant global - object's active custom element constructor map[C] to - registry.

  • +
  • Set the surrounding agent's active custom + element constructor map[C] to registry.

  • Run the following steps while catching any exceptions:

    @@ -130231,13 +130230,6 @@ document.body.appendChild(text); data-x="attr-template-shadowrootdelegatesfocus">shadowrootdelegatesfocus attribute; otherwise false.

  • -
  • Let registry be declarative shadow host element's custom element registry.

  • - -
  • If template start tag has a shadowrootcustomelementregistry - attribute, then set registry to null.

  • -
  • If declarative shadow host element is a shadow host, then insert an element at the adjusted insertion location with template.

  • @@ -130274,6 +130266,11 @@ document.body.appendChild(text); shadow.

  • Set shadow's available to element internals to true.

  • + +
  • If template start tag has a shadowrootcustomelementregistry + attribute, then set shadow's keep custom element registry null to + true.