diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f10e74c95..f6bf113a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,14 +12,14 @@ on: jobs: build: name: Build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 2 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: - python-version: "3.11" + python-version: "3.14" - run: pip install bikeshed && bikeshed update # Note: `make deploy` will do a deploy dry run on PRs. - run: make deploy diff --git a/dom.bs b/dom.bs index bcba75ec5..12edca8bd 100644 --- a/dom.bs +++ b/dom.bs @@ -4891,7 +4891,7 @@ and an optional document docume
  • If shadowRootRegistry is a global custom element registry, then set shadowRootRegistry to document's - effective global custom element registry. + custom element registry's effective global custom element registry.

  • Attach a shadow root with copy, node's shadow root's mode, true, node's @@ -4936,7 +4936,8 @@ and an optional document docume fallbackRegistry.

  • If registry is a global custom element registry, then set - registry to document's effective global custom element registry. + registry to document's custom element registry + effective global custom element registry.

  • Set copy to the result of creating an element, given document, node's local name, node's @@ -6071,7 +6072,8 @@ algorithm is passed node and oldDocument, as

    then set inclusiveDescendant's custom element registry to - document's effective global custom element registry. + document's custom element registry's + effective global custom element registry.

  • Otherwise, if inclusiveDescendant is an element: @@ -6080,11 +6082,27 @@ algorithm is passed node and oldDocument, as

  • Set the node document of each attribute in inclusiveDescendant's attribute list to document. -

  • If inclusiveDescendant's custom element registry is null - or inclusiveDescendant's custom element registry's - is scoped is false, then set - inclusiveDescendant's custom element registry to - document's effective global custom element registry. +

  • +

    If inclusiveDescendant's custom element registry is null + or inclusiveDescendant's custom element registry's + is scoped is false: + +

      +
    1. Let registry be null. + +

    2. If inclusiveDescendant's custom element registry is + non-null, inclusiveDescendant's parent is null, or + inclusiveDescendant's parent is a {{DocumentFragment}} but not + a {{ShadowRoot}}, then set registry to document's + custom element registry. + +

    3. Otherwise, set registry to the result of + looking up a custom element registry given inclusiveDescendant's + parent. + +

    4. Set inclusiveDescendant's custom element registry + to registry's effective global custom element registry. +

    @@ -6127,13 +6145,12 @@ algorithm is passed node and oldDocument, as is a global custom element registry if registry is non-null and registry's is scoped is false.

    -

    A document document's effective global custom element registry -is: +

    Null or a {{CustomElementRegistry}} object registry's +effective global custom element registry is:

      -
    1. If document's custom element registry - is a global custom element registry, then return document's - custom element registry. +

    2. If registry is a global custom element registry, then return + registry.

    3. Return null.