Allow the creation of null registry element and shadow root [chromium/src : main]

0 views
Skip to first unread message

YeongHan Kim (Gerrit)

unread,
Nov 24, 2025, 12:27:52 PM11/24/25
to Jayson Chen, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
Attention needed from Jayson Chen and Mason Freed

YeongHan Kim voted and added 1 comment

Votes added by YeongHan Kim

Commit-Queue+1

1 comment

Patchset-level comments
File-level comment, Patchset 2 (Latest):
YeongHan Kim . resolved

Please take a look.
This CL reflects Anne’s latest changes.

Thank you!

Open in Gerrit

Related details

Attention is currently required from:
  • Jayson Chen
  • Mason Freed
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
Gerrit-Change-Number: 7198720
Gerrit-PatchSet: 2
Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Comment-Date: Mon, 24 Nov 2025 17:27:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Nov 24, 2025, 5:06:20 PM11/24/25
to YeongHan Kim, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
Attention needed from Mason Freed and YeongHan Kim

Jayson Chen added 3 comments

Patchset-level comments
Jayson Chen . resolved

The implementation looks good to me, but it seems like it's causing some WPTs and unit tests failure. Would you be able to take a look at the unit test failures on CQ to see if it's something you're able to fix? Feel free to leave it to me to investigate if you're not sure about it.

Also, it may be a good idea to use virtual test suite for now.

File third_party/blink/renderer/core/dom/document.cc
Line 1435, Patchset 2 (Latest): // 3-2. If options[""customElementRegistry"] exists:
Jayson Chen . unresolved

nit: extra "

File third_party/blink/web_tests/external/wpt/custom-elements/registries/scoped-registry-initialize-expected.txt
Line 1, Patchset 2 (Latest):This is a testharness.js-based test.
Jayson Chen . unresolved

These test failures seem a bit odd. Could you help me check if these assert failures are happening on [this check](https://github.com/web-platform-tests/wpt/blob/71663448bfcaabc177533e4d6ce0dfd743aed6bd/custom-elements/registries/scoped-registry-initialize.html#L75)? May be something I need to go investigate.

Open in Gerrit

Related details

Attention is currently required from:
  • Mason Freed
  • YeongHan Kim
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
    Gerrit-Change-Number: 7198720
    Gerrit-PatchSet: 2
    Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
    Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
    Gerrit-Attention: Mason Freed <mas...@chromium.org>
    Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
    Gerrit-Comment-Date: Mon, 24 Nov 2025 22:06:08 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    YeongHan Kim (Gerrit)

    unread,
    Nov 24, 2025, 9:12:28 PM11/24/25
    to Jayson Chen, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
    Attention needed from Mason Freed

    YeongHan Kim added 1 comment

    Patchset-level comments
    YeongHan Kim . resolved

    Thanks for the review!

    I uploaded this CL mainly to confirm the overall direction first.
    I’ll take a closer look at the WPT and unit test failures on CQ and investigate what’s going wrong.

    Thanks again for the helpful inputs!

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Mason Freed
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
    Gerrit-Change-Number: 7198720
    Gerrit-PatchSet: 2
    Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
    Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
    Gerrit-Attention: Mason Freed <mas...@chromium.org>
    Gerrit-Comment-Date: Tue, 25 Nov 2025 02:12:03 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    YeongHan Kim (Gerrit)

    unread,
    Nov 27, 2025, 12:30:32 AM11/27/25
    to Jayson Chen, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
    Attention needed from Jayson Chen and Mason Freed

    YeongHan Kim added 4 comments

    Patchset-level comments
    File-level comment, Patchset 7 (Latest):
    YeongHan Kim . resolved

    Sorry for the wait! When you get a chance, could you take another look?
    Thanks!

    File third_party/blink/renderer/core/dom/document.cc
    Line 1435, Patchset 2: // 3-2. If options[""customElementRegistry"] exists:
    Jayson Chen . resolved

    nit: extra "

    YeongHan Kim

    Done

    Line 1468, Patchset 7 (Parent): is = AtomicString(string_or_options->GetAsString());
    YeongHan Kim . resolved

    According to the specification, the element creation options parameter can accept either a string or an ElementCreationOptions dictionary, and the string must be ignored.
    This behavior is covered by the `Document-createElement-customized-builtins` test.
    However, the current implementation incorrectly assigns the is attribute when a string is provided.

    The reason the test previously passed is that when flattening the CreateElementOptions, the default value of the registry was null, which caused the `definition` step to be skipped.
    Due to the recent spec change, the default registry is now the global custom element registry, which exposed this issue.

    Therefore, this patch updates the behavior so that when a string is passed as the element creation options, it is ignored as required by the specification.

    File third_party/blink/web_tests/external/wpt/custom-elements/registries/scoped-registry-initialize-expected.txt
    Line 1, Patchset 2:This is a testharness.js-based test.
    Jayson Chen . resolved

    These test failures seem a bit odd. Could you help me check if these assert failures are happening on [this check](https://github.com/web-platform-tests/wpt/blob/71663448bfcaabc177533e4d6ce0dfd743aed6bd/custom-elements/registries/scoped-registry-initialize.html#L75)? May be something I need to go investigate.

    YeongHan Kim

    Previously, if the `registry` is coming as null, `SetCustomElementRegisty()` is skipped in `CreateUncustomizedOrUndefinedElementTemplate`[1]. However, with the spec change, if ElementCreationOptions.registry is set to null, we now need to call SetCustomElementRegistry() with null.

    Since `SetCustomElementRegistry` can be invoked in various situations, it should only set the `registry` when ElementCreationOptions.registry is explicitly null. To address this, I introduced an `is_explicit_null` flag.

    I’m not entirely sure if this is the best approach, so I’d appreciate any feedback or suggestions for a better solution.

    [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/custom/custom_element.cc;l=173;drc=4497bff67a809a49fdb7f3fa7635329021000e2f

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jayson Chen
    • Mason Freed
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
      Gerrit-Change-Number: 7198720
      Gerrit-PatchSet: 7
      Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
      Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
      Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Attention: Mason Freed <mas...@chromium.org>
      Gerrit-Comment-Date: Thu, 27 Nov 2025 05:29:59 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Jayson Chen (Gerrit)

      unread,
      Dec 2, 2025, 1:04:20 AM12/2/25
      to YeongHan Kim, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
      Attention needed from Mason Freed and YeongHan Kim

      Jayson Chen added 3 comments

      Patchset-level comments
      Jayson Chen . resolved

      Thanks for looking into the test failures and finding this issue. Left some thoughts about how we can handle the two null cases (explicit vs implicit) in CreateElement

      File third_party/blink/renderer/core/dom/document.cc
      Line 1468, Patchset 7 (Parent): is = AtomicString(string_or_options->GetAsString());
      YeongHan Kim . resolved

      According to the specification, the element creation options parameter can accept either a string or an ElementCreationOptions dictionary, and the string must be ignored.
      This behavior is covered by the `Document-createElement-customized-builtins` test.
      However, the current implementation incorrectly assigns the is attribute when a string is provided.

      The reason the test previously passed is that when flattening the CreateElementOptions, the default value of the registry was null, which caused the `definition` step to be skipped.
      Due to the recent spec change, the default registry is now the global custom element registry, which exposed this issue.

      Therefore, this patch updates the behavior so that when a string is passed as the element creation options, it is ignored as required by the specification.

      Jayson Chen

      Sounds good, thanks for finding this issue.

      File third_party/blink/web_tests/external/wpt/custom-elements/registries/scoped-registry-initialize-expected.txt
      Line 1, Patchset 2:This is a testharness.js-based test.
      Jayson Chen . unresolved

      These test failures seem a bit odd. Could you help me check if these assert failures are happening on [this check](https://github.com/web-platform-tests/wpt/blob/71663448bfcaabc177533e4d6ce0dfd743aed6bd/custom-elements/registries/scoped-registry-initialize.html#L75)? May be something I need to go investigate.

      YeongHan Kim

      Previously, if the `registry` is coming as null, `SetCustomElementRegisty()` is skipped in `CreateUncustomizedOrUndefinedElementTemplate`[1]. However, with the spec change, if ElementCreationOptions.registry is set to null, we now need to call SetCustomElementRegistry() with null.

      Since `SetCustomElementRegistry` can be invoked in various situations, it should only set the `registry` when ElementCreationOptions.registry is explicitly null. To address this, I introduced an `is_explicit_null` flag.

      I’m not entirely sure if this is the best approach, so I’d appreciate any feedback or suggestions for a better solution.

      [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/custom/custom_element.cc;l=173;drc=4497bff67a809a49fdb7f3fa7635329021000e2f

      Jayson Chen

      Thanks for looking into this issue! Now it seems like the main issue is that CreateElement function needs to know whether the passed in nullptr is an explicit null or implicit null (so default registry). I wonder if this will be a good chance for us to overload CreateElement function (as mentioned in the comment in code), one without registry argument so we provide the default registry in the impl and one with registry argument and we always respect the passed in value. This way we don't need to differentiate two different kinds of nullptr in CreateElement and also don't need to have extra explicit null optional argument that may be confusing down the line. This may require some changes to update CreateElement usages though.

      One related question: in flatten element creation option, do we need `is_explicit_null`? Given that we by default use the default registry if not provided by option, is it possible to have a null registry value that should actually be considered as default value? If we do get nullptr from `document->customElementRegistry()` as the default registry value, we'd want to consider that an explicit null registry, right?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Mason Freed
      • YeongHan Kim
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
        Gerrit-Change-Number: 7198720
        Gerrit-PatchSet: 7
        Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
        Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
        Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
        Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
        Gerrit-Attention: Mason Freed <mas...@chromium.org>
        Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
        Gerrit-Comment-Date: Tue, 02 Dec 2025 06:03:57 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
        Comment-In-Reply-To: YeongHan Kim <soosu...@gmail.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        YeongHan Kim (Gerrit)

        unread,
        Dec 3, 2025, 11:08:40 AM12/3/25
        to Jayson Chen, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
        Attention needed from Jayson Chen and Mason Freed

        YeongHan Kim added 2 comments

        Patchset-level comments
        YeongHan Kim . resolved

        Thanks for the review!

        File third_party/blink/web_tests/external/wpt/custom-elements/registries/scoped-registry-initialize-expected.txt
        Line 1, Patchset 2:This is a testharness.js-based test.
        Jayson Chen . resolved

        These test failures seem a bit odd. Could you help me check if these assert failures are happening on [this check](https://github.com/web-platform-tests/wpt/blob/71663448bfcaabc177533e4d6ce0dfd743aed6bd/custom-elements/registries/scoped-registry-initialize.html#L75)? May be something I need to go investigate.

        YeongHan Kim

        Previously, if the `registry` is coming as null, `SetCustomElementRegisty()` is skipped in `CreateUncustomizedOrUndefinedElementTemplate`[1]. However, with the spec change, if ElementCreationOptions.registry is set to null, we now need to call SetCustomElementRegistry() with null.

        Since `SetCustomElementRegistry` can be invoked in various situations, it should only set the `registry` when ElementCreationOptions.registry is explicitly null. To address this, I introduced an `is_explicit_null` flag.

        I’m not entirely sure if this is the best approach, so I’d appreciate any feedback or suggestions for a better solution.

        [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/custom/custom_element.cc;l=173;drc=4497bff67a809a49fdb7f3fa7635329021000e2f

        Jayson Chen

        Thanks for looking into this issue! Now it seems like the main issue is that CreateElement function needs to know whether the passed in nullptr is an explicit null or implicit null (so default registry). I wonder if this will be a good chance for us to overload CreateElement function (as mentioned in the comment in code), one without registry argument so we provide the default registry in the impl and one with registry argument and we always respect the passed in value. This way we don't need to differentiate two different kinds of nullptr in CreateElement and also don't need to have extra explicit null optional argument that may be confusing down the line. This may require some changes to update CreateElement usages though.

        One related question: in flatten element creation option, do we need `is_explicit_null`? Given that we by default use the default registry if not provided by option, is it possible to have a null registry value that should actually be considered as default value? If we do get nullptr from `document->customElementRegistry()` as the default registry value, we'd want to consider that an explicit null registry, right?

        YeongHan Kim

        Thanks for the guidance. I think overloading the CreateElement without a registry parameter is a great approach. Really appreciate the idea!

        Regarding your question: I believe the spec intends for an explicit null registry only when ElementCreationOptions.registry is explicitly set to null. So the nullptr returned from `document->customElementRegistry()` as the default registry should not count as an explicit null. (And this distinction is necessary for the tests to pass.)

        Right now, `is_explicit_null` is used during flattening so that CreateElement can determine whether the null was explicitly provided. But if we move forward with overloading CreateElement to have a version without the registry argument, then I think we can remove is_explicit_null entirely from the flattening step.

        I’ll update the patch soon and ask for another review. Thanks so much for your help!

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Jayson Chen
        • Mason Freed
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
          Gerrit-Change-Number: 7198720
          Gerrit-PatchSet: 7
          Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
          Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
          Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
          Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
          Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
          Gerrit-Attention: Mason Freed <mas...@chromium.org>
          Gerrit-Comment-Date: Wed, 03 Dec 2025 16:08:16 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          YeongHan Kim (Gerrit)

          unread,
          Dec 6, 2025, 9:30:00 AM12/6/25
          to AyeAye, Jayson Chen, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
          Attention needed from Jayson Chen and Mason Freed

          YeongHan Kim added 1 comment

          Patchset-level comments
          File-level comment, Patchset 19 (Latest):
          YeongHan Kim . resolved

          Sorry for the delay.
          Please review it when you get a chance. Thanks!

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Jayson Chen
          • Mason Freed
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
          Gerrit-Change-Number: 7198720
          Gerrit-PatchSet: 19
          Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
          Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
          Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
          Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
          Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
          Gerrit-Attention: Mason Freed <mas...@chromium.org>
          Gerrit-Comment-Date: Sat, 06 Dec 2025 14:29:20 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Jayson Chen (Gerrit)

          unread,
          Dec 8, 2025, 9:52:24 AM12/8/25
          to YeongHan Kim, AyeAye, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
          Attention needed from Mason Freed and YeongHan Kim

          Jayson Chen voted and added 2 comments

          Votes added by Jayson Chen

          Code-Review+1

          2 comments

          Patchset-level comments
          Jayson Chen . resolved

          Overall looks good to me! Thanks for making the change.

          File third_party/blink/renderer/core/dom/document.cc
          Line 1606, Patchset 19 (Latest): const bool wait_for_registry) {
          Jayson Chen . unresolved

          Do we still need this argument? (Correct me if I'm wrong) In the default registry scenario (registry not provided to `CreateElement`), if we get null by looking up document's custom element registry by calling `customElementRegistry()`, we do want to set null registry to the element right?
          Is it possible to remove this argument, and in line 1632 below use `!registry` for the argument for `CreateUncustomizedOrUndefinedElement`?

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Mason Freed
          • YeongHan Kim
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement is not satisfiedCode-Review
            • requirement is not satisfiedNo-Unresolved-Comments
            • requirement is not satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
            Gerrit-Change-Number: 7198720
            Gerrit-PatchSet: 19
            Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
            Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
            Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
            Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
            Gerrit-Attention: Mason Freed <mas...@chromium.org>
            Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
            Gerrit-Comment-Date: Mon, 08 Dec 2025 14:51:48 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            YeongHan Kim (Gerrit)

            unread,
            Dec 9, 2025, 10:54:11 AM12/9/25
            to Jayson Chen, AyeAye, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
            Attention needed from Jayson Chen and Mason Freed

            YeongHan Kim added 2 comments

            Patchset-level comments
            File-level comment, Patchset 20 (Latest):
            YeongHan Kim . resolved

            Thank you so much for reviewing this!

            File third_party/blink/renderer/core/dom/document.cc
            Line 1606, Patchset 19: const bool wait_for_registry) {
            Jayson Chen . resolved

            Do we still need this argument? (Correct me if I'm wrong) In the default registry scenario (registry not provided to `CreateElement`), if we get null by looking up document's custom element registry by calling `customElementRegistry()`, we do want to set null registry to the element right?
            Is it possible to remove this argument, and in line 1632 below use `!registry` for the argument for `CreateUncustomizedOrUndefinedElement`?

            YeongHan Kim

            Oh! I had thought it needed to be set only when `ElementCreationOptions` included a registry, but it seems I misunderstood.

            You’re right, and it looks like we can remove both the `wait_for_registry` argument and the extra `CreateElement()` overload.

            Thanks!

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Jayson Chen
            • Mason Freed
            Submit Requirements:
              • requirement satisfiedCode-Coverage
              • requirement is not satisfiedCode-Owners
              • requirement is not satisfiedCode-Review
              • requirement is not satisfiedReview-Enforcement
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: comment
              Gerrit-Project: chromium/src
              Gerrit-Branch: main
              Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
              Gerrit-Change-Number: 7198720
              Gerrit-PatchSet: 20
              Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
              Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
              Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
              Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
              Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
              Gerrit-Attention: Mason Freed <mas...@chromium.org>
              Gerrit-Comment-Date: Tue, 09 Dec 2025 15:53:37 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Jayson Chen (Gerrit)

              unread,
              Dec 10, 2025, 11:50:54 AM12/10/25
              to YeongHan Kim, AyeAye, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
              Attention needed from Mason Freed and YeongHan Kim

              Jayson Chen voted and added 4 comments

              Votes added by Jayson Chen

              Code-Review+1

              4 comments

              Patchset-level comments
              Jayson Chen . resolved

              LGTM with few nits. Thanks!

              File third_party/blink/renderer/core/dom/document.cc
              Line 1587, Patchset 20 (Latest):Element* Document::CreateElement(const QualifiedName& q_name,
              Jayson Chen . unresolved

              nit: can we get a comment explaining this overload behavior of "not providing registry in arg (default case) so use document's registry?

              Line 1600, Patchset 20 (Latest): // 2. If registry is "default", set registry to the result of looking
              // up a custom element registry given document.
              Jayson Chen . unresolved

              nit: can we also have these lines in the overload function? Since that is the entry point for "registry is default"

              Line 1602, Patchset 20 (Latest): // Note that this step is currently only applicable to scenario when
              // scoped registry is disabled as a valid registry should be assigned for
              // default cases while flattening options.
              Jayson Chen . unresolved

              nit: Prob not entirely accurate now, perhaps something along the line of
              "Note that we need to assign default registry when scoped registry is disabled"
              to explain the following line of code.

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Mason Freed
              • YeongHan Kim
              Submit Requirements:
                • requirement satisfiedCode-Coverage
                • requirement is not satisfiedCode-Owners
                • requirement is not satisfiedCode-Review
                • requirement is not satisfiedNo-Unresolved-Comments
                • requirement is not satisfiedReview-Enforcement
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: comment
                Gerrit-Project: chromium/src
                Gerrit-Branch: main
                Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                Gerrit-Change-Number: 7198720
                Gerrit-PatchSet: 20
                Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                Gerrit-Attention: Mason Freed <mas...@chromium.org>
                Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                Gerrit-Comment-Date: Wed, 10 Dec 2025 16:50:16 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: Yes
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Mason Freed (Gerrit)

                unread,
                Dec 10, 2025, 6:43:23 PM12/10/25
                to YeongHan Kim, Jayson Chen, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                Attention needed from YeongHan Kim

                Mason Freed voted and added 6 comments

                Votes added by Mason Freed

                Code-Review+1

                6 comments

                Patchset-level comments
                Mason Freed . resolved

                LGTM, thanks for working on this bug! I do have a few nits, but nothing major I think.

                File third_party/blink/renderer/core/dom/document.h
                Line 523, Patchset 20 (Latest): Element* CreateElement(const QualifiedName&,
                const CreateElementFlags,
                const AtomicString& is);
                Mason Freed . unresolved

                I think it might (might!) be better *not* to add this overload, and instead explicitly pass in the registry argument? There are 12 callers or so, which isn't too many. I'm just concerned that all callers really should be thinking about custom element registries, rather than perhaps accidentally relying on the default behavior.

                File third_party/blink/renderer/core/dom/document.cc
                Line 1431, Patchset 20 (Latest): // 3-1. If options["is"] exists, then set is to it.
                Mason Freed . unresolved

                `"is"` - see comment below

                Line 1443, Patchset 20 (Latest): "The custom element registry and is option can't be set at the "
                Mason Freed . unresolved

                Perhaps `and "is" option` (with quotation marks) or something? It's too bad "is" is the name of this thing, it makes writing it down confusing.

                Line 1587, Patchset 20 (Latest):Element* Document::CreateElement(const QualifiedName& q_name,
                Jayson Chen . unresolved

                nit: can we get a comment explaining this overload behavior of "not providing registry in arg (default case) so use document's registry?

                Mason Freed

                ...also, I think it'd be easier to read if this overload were defined in the `.h` file instead.

                Line 1624, Patchset 20 (Latest): *this, q_name, flags, is, registry, !registry);
                Mason Freed . unresolved

                nit: `, /*wait_for_registry*/ !registry)`

                Open in Gerrit

                Related details

                Attention is currently required from:
                • YeongHan Kim
                Submit Requirements:
                • requirement satisfiedCode-Coverage
                • requirement satisfiedCode-Owners
                • requirement satisfiedCode-Review
                • requirement is not satisfiedNo-Unresolved-Comments
                • requirement is not satisfiedReview-Enforcement
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: comment
                Gerrit-Project: chromium/src
                Gerrit-Branch: main
                Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                Gerrit-Change-Number: 7198720
                Gerrit-PatchSet: 20
                Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                Gerrit-Comment-Date: Wed, 10 Dec 2025 23:43:06 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: Yes
                Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Jayson Chen (Gerrit)

                unread,
                Dec 10, 2025, 10:00:21 PM12/10/25
                to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                Attention needed from YeongHan Kim

                Jayson Chen added 1 comment

                File third_party/blink/renderer/core/dom/document.h
                Line 523, Patchset 20 (Latest): Element* CreateElement(const QualifiedName&,
                const CreateElementFlags,
                const AtomicString& is);
                Mason Freed . unresolved

                I think it might (might!) be better *not* to add this overload, and instead explicitly pass in the registry argument? There are 12 callers or so, which isn't too many. I'm just concerned that all callers really should be thinking about custom element registries, rather than perhaps accidentally relying on the default behavior.

                Jayson Chen

                I’d argue that we need the overload for default case bc

                • The spec does outline that create element could have a registry given, null or default as registry. Without overloading, we’re not able to differentiate the implicit null (default case) or explicit null (actually want null case) without introducing another argument asking if null is explicit or implicit. I find overloading here clearer and less confusing than having another argument like wait_for_registry. Patch 7 demonstrates what it’s like if we don’t do overload but have another argument.
                • Correct me if I’m wrong, it feels like it is actually the desired behavior to use default registry, unless the caller explicitly wants the registry to specified, so I wouldn’t worry too much about relying on the default behavior.

                But ofc open to thoughts and discussions :)

                Gerrit-Comment-Date: Thu, 11 Dec 2025 02:59:52 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                YeongHan Kim (Gerrit)

                unread,
                Dec 11, 2025, 9:32:20 AM12/11/25
                to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                Attention needed from Jayson Chen and Mason Freed

                YeongHan Kim added 8 comments

                Patchset-level comments
                File-level comment, Patchset 21 (Latest):
                YeongHan Kim . resolved

                Thanks for the review!
                I’ve applied the nit suggestions, and I’ve also shared some of my thoughts in the discussion.

                File third_party/blink/renderer/core/dom/document.h
                Line 523, Patchset 20: Element* CreateElement(const QualifiedName&,

                const CreateElementFlags,
                const AtomicString& is);
                Mason Freed . unresolved

                I think it might (might!) be better *not* to add this overload, and instead explicitly pass in the registry argument? There are 12 callers or so, which isn't too many. I'm just concerned that all callers really should be thinking about custom element registries, rather than perhaps accidentally relying on the default behavior.

                Jayson Chen

                I’d argue that we need the overload for default case bc

                • The spec does outline that create element could have a registry given, null or default as registry. Without overloading, we’re not able to differentiate the implicit null (default case) or explicit null (actually want null case) without introducing another argument asking if null is explicit or implicit. I find overloading here clearer and less confusing than having another argument like wait_for_registry. Patch 7 demonstrates what it’s like if we don’t do overload but have another argument.
                • Correct me if I’m wrong, it feels like it is actually the desired behavior to use default registry, unless the caller explicitly wants the registry to specified, so I wouldn’t worry too much about relying on the default behavior.

                But ofc open to thoughts and discussions :)

                YeongHan Kim

                Thank you for the helpful thoughts!
                I’d like to share my thoughts as well, though cautiously.

                When the registry is not explicitly provided (implicit null), we previously passed nullptr, but now it has been changed so that we pass the default (`customElementRegistry()`) instead.

                Based on that, the way I understand Mason’s suggestion is that instead of using an overload, we could explicitly pass the default registry. In that case, unlike Patch 7, we wouldn’t need an additional argument

                That said, even so, when the registry isn’t explicitly provided, I feel it’s cleaner to rely on the default behavior through an overload rather than requiring callers to explicitly pass the default registry

                File third_party/blink/renderer/core/dom/document.cc
                Line 1431, Patchset 20: // 3-1. If options["is"] exists, then set is to it.
                Mason Freed . resolved

                `"is"` - see comment below

                YeongHan Kim

                Done!

                Line 1443, Patchset 20: "The custom element registry and is option can't be set at the "
                Mason Freed . resolved

                Perhaps `and "is" option` (with quotation marks) or something? It's too bad "is" is the name of this thing, it makes writing it down confusing.

                YeongHan Kim

                Done!

                Line 1587, Patchset 20:Element* Document::CreateElement(const QualifiedName& q_name,
                Jayson Chen . resolved

                nit: can we get a comment explaining this overload behavior of "not providing registry in arg (default case) so use document's registry?

                Mason Freed

                ...also, I think it'd be easier to read if this overload were defined in the `.h` file instead.

                YeongHan Kim

                I’ve added the comment to the `.h` file. Thanks!

                Line 1600, Patchset 20: // 2. If registry is "default", set registry to the result of looking

                // up a custom element registry given document.
                Jayson Chen . resolved

                nit: can we also have these lines in the overload function? Since that is the entry point for "registry is default"

                YeongHan Kim

                Done!

                Line 1602, Patchset 20: // Note that this step is currently only applicable to scenario when

                // scoped registry is disabled as a valid registry should be assigned for
                // default cases while flattening options.
                Jayson Chen . resolved

                nit: Prob not entirely accurate now, perhaps something along the line of
                "Note that we need to assign default registry when scoped registry is disabled"
                to explain the following line of code.

                YeongHan Kim

                Done!

                Line 1624, Patchset 20: *this, q_name, flags, is, registry, !registry);
                Mason Freed . resolved

                nit: `, /*wait_for_registry*/ !registry)`

                YeongHan Kim

                Done!

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Jayson Chen
                • Mason Freed
                Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: chromium/src
                  Gerrit-Branch: main
                  Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                  Gerrit-Change-Number: 7198720
                  Gerrit-PatchSet: 21
                  Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                  Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Attention: Mason Freed <mas...@chromium.org>
                  Gerrit-Comment-Date: Thu, 11 Dec 2025 14:31:44 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
                  Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Jayson Chen (Gerrit)

                  unread,
                  Dec 11, 2025, 12:21:04 PM12/11/25
                  to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                  Attention needed from Mason Freed and YeongHan Kim

                  Jayson Chen voted and added 1 comment

                  Votes added by Jayson Chen

                  Code-Review+1

                  1 comment

                  File third_party/blink/renderer/core/dom/document.h
                  Line 523, Patchset 20: Element* CreateElement(const QualifiedName&,
                  const CreateElementFlags,
                  const AtomicString& is);
                  Mason Freed . unresolved

                  I think it might (might!) be better *not* to add this overload, and instead explicitly pass in the registry argument? There are 12 callers or so, which isn't too many. I'm just concerned that all callers really should be thinking about custom element registries, rather than perhaps accidentally relying on the default behavior.

                  Jayson Chen

                  I’d argue that we need the overload for default case bc

                  • The spec does outline that create element could have a registry given, null or default as registry. Without overloading, we’re not able to differentiate the implicit null (default case) or explicit null (actually want null case) without introducing another argument asking if null is explicit or implicit. I find overloading here clearer and less confusing than having another argument like wait_for_registry. Patch 7 demonstrates what it’s like if we don’t do overload but have another argument.
                  • Correct me if I’m wrong, it feels like it is actually the desired behavior to use default registry, unless the caller explicitly wants the registry to specified, so I wouldn’t worry too much about relying on the default behavior.

                  But ofc open to thoughts and discussions :)

                  YeongHan Kim

                  Thank you for the helpful thoughts!
                  I’d like to share my thoughts as well, though cautiously.

                  When the registry is not explicitly provided (implicit null), we previously passed nullptr, but now it has been changed so that we pass the default (`customElementRegistry()`) instead.

                  Based on that, the way I understand Mason’s suggestion is that instead of using an overload, we could explicitly pass the default registry. In that case, unlike Patch 7, we wouldn’t need an additional argument

                  That said, even so, when the registry isn’t explicitly provided, I feel it’s cleaner to rely on the default behavior through an overload rather than requiring callers to explicitly pass the default registry

                  Jayson Chen

                  Ah yes that makes sense that we wouldn't need an additional argument then. With that in mind, I still slightly lean towards having the overload function as default registry case is explicitly stated in the spec, but I don't feel as strongly about it as before. I guess the question will come down to, moving forward for all the create element caller who don't care about custom element registry, should we expect them to know that they should pass in `document->customElementRegistry()` as the default value? Or we want to offload that responsibility of knowing registry to the overload function.

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Mason Freed
                  • YeongHan Kim
                  Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: chromium/src
                  Gerrit-Branch: main
                  Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                  Gerrit-Change-Number: 7198720
                  Gerrit-PatchSet: 21
                  Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                  Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Attention: Mason Freed <mas...@chromium.org>
                  Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Comment-Date: Thu, 11 Dec 2025 17:20:32 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: Yes
                  Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
                  Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
                  Comment-In-Reply-To: YeongHan Kim <soosu...@gmail.com>
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  YeongHan Kim (Gerrit)

                  unread,
                  Dec 15, 2025, 4:58:32 AM12/15/25
                  to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                  Attention needed from Mason Freed

                  YeongHan Kim added 1 comment

                  Patchset-level comments
                  YeongHan Kim . resolved

                  gentle ping @mas...@chromium.org

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Mason Freed
                  Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: chromium/src
                  Gerrit-Branch: main
                  Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                  Gerrit-Change-Number: 7198720
                  Gerrit-PatchSet: 21
                  Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                  Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Attention: Mason Freed <mas...@chromium.org>
                  Gerrit-Comment-Date: Mon, 15 Dec 2025 09:57:58 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Mason Freed (Gerrit)

                  unread,
                  Dec 15, 2025, 12:31:12 PM12/15/25
                  to YeongHan Kim, Jayson Chen, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                  Attention needed from YeongHan Kim

                  Mason Freed added 1 comment

                  File third_party/blink/renderer/core/dom/document.h
                  Line 523, Patchset 20: Element* CreateElement(const QualifiedName&,
                  const CreateElementFlags,
                  const AtomicString& is);
                  Mason Freed . unresolved

                  I think it might (might!) be better *not* to add this overload, and instead explicitly pass in the registry argument? There are 12 callers or so, which isn't too many. I'm just concerned that all callers really should be thinking about custom element registries, rather than perhaps accidentally relying on the default behavior.

                  Jayson Chen

                  I’d argue that we need the overload for default case bc

                  • The spec does outline that create element could have a registry given, null or default as registry. Without overloading, we’re not able to differentiate the implicit null (default case) or explicit null (actually want null case) without introducing another argument asking if null is explicit or implicit. I find overloading here clearer and less confusing than having another argument like wait_for_registry. Patch 7 demonstrates what it’s like if we don’t do overload but have another argument.
                  • Correct me if I’m wrong, it feels like it is actually the desired behavior to use default registry, unless the caller explicitly wants the registry to specified, so I wouldn’t worry too much about relying on the default behavior.

                  But ofc open to thoughts and discussions :)

                  YeongHan Kim

                  Thank you for the helpful thoughts!
                  I’d like to share my thoughts as well, though cautiously.

                  When the registry is not explicitly provided (implicit null), we previously passed nullptr, but now it has been changed so that we pass the default (`customElementRegistry()`) instead.

                  Based on that, the way I understand Mason’s suggestion is that instead of using an overload, we could explicitly pass the default registry. In that case, unlike Patch 7, we wouldn’t need an additional argument

                  That said, even so, when the registry isn’t explicitly provided, I feel it’s cleaner to rely on the default behavior through an overload rather than requiring callers to explicitly pass the default registry

                  Jayson Chen

                  Ah yes that makes sense that we wouldn't need an additional argument then. With that in mind, I still slightly lean towards having the overload function as default registry case is explicitly stated in the spec, but I don't feel as strongly about it as before. I guess the question will come down to, moving forward for all the create element caller who don't care about custom element registry, should we expect them to know that they should pass in `document->customElementRegistry()` as the default value? Or we want to offload that responsibility of knowing registry to the overload function.

                  Mason Freed

                  My concern here is confusion and bugs in future code. Since there are explicitly three choices:

                   - Implicit null
                  - Explicit null
                  - Explicit non-null registry

                  these three choices need to be apparent in the interface. Right now, there are two overloads, and one of them chooses one of these choices without it being obvious. For example, imagine [this method](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/svg/svg_script_element.cc;l=205;drc=13c2ee3faddbad7baed3819883d2c6438fe01247) were being added *after* this change lands. It might have been possible then, for the author to just not add the fourth argument, and miss that now SVG scripts would not properly construct elements with the right registry. That's bad, right? That relies on tests to catch such bugs, and it relies on the author of the change to know that there's a possible interaction that they might need to add a test for. If nothing breaks when they add it, they'll likely not even notice that there is an interaction.

                  So based on that, I'm still in favor of requiring the `registry` argument, and I think further we should have a static method on CustomElementRegistry called `CustomElementRegistry::ImplicitNullRegistry()` or similar, which is the one used where that makes sense. That feels easier to understand than just passing `customElementRegistry()`, because "customElementRegistry()" doesn't tell me what this means "implicit registry". I agree with the above that the two argument approach is a hassle. But this method still makes the choice explicit at the call site, rather than implicit.

                  I'm still open to being talked out of this, so let me know what I'm missing here. I.e. let's discuss before you make a big change to the API again. I want to avoid making you go through the pain if I've got the wrong idea here.

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • YeongHan Kim
                  Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: chromium/src
                  Gerrit-Branch: main
                  Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                  Gerrit-Change-Number: 7198720
                  Gerrit-PatchSet: 21
                  Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                  Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Comment-Date: Mon, 15 Dec 2025 17:31:01 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  YeongHan Kim (Gerrit)

                  unread,
                  Dec 16, 2025, 7:33:48 AM12/16/25
                  to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                  Attention needed from Jayson Chen and Mason Freed

                  YeongHan Kim added 1 comment

                  File third_party/blink/renderer/core/dom/document.h

                  Thank you for the detailed explanation!
                  I agree with your point.

                  What do you think, Jayson?

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Jayson Chen
                  • Mason Freed
                  Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: chromium/src
                  Gerrit-Branch: main
                  Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                  Gerrit-Change-Number: 7198720
                  Gerrit-PatchSet: 21
                  Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                  Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Attention: Mason Freed <mas...@chromium.org>
                  Gerrit-Comment-Date: Tue, 16 Dec 2025 12:33:24 +0000
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  YeongHan Kim (Gerrit)

                  unread,
                  Dec 18, 2025, 8:47:47 AM12/18/25
                  to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                  Attention needed from Jayson Chen

                  YeongHan Kim added 1 comment

                  Patchset-level comments
                  YeongHan Kim . resolved

                  gentle ping 😄 @jayso...@microsoft.com

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Jayson Chen
                  Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: chromium/src
                  Gerrit-Branch: main
                  Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                  Gerrit-Change-Number: 7198720
                  Gerrit-PatchSet: 21
                  Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                  Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                  Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
                  Gerrit-Comment-Date: Thu, 18 Dec 2025 13:47:10 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  YeongHan Kim (Gerrit)

                  unread,
                  Dec 20, 2025, 4:12:44 AM12/20/25
                  to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                  Attention needed from Jayson Chen and Mason Freed

                  YeongHan Kim added 2 comments

                  Patchset-level comments
                  File-level comment, Patchset 22 (Latest):
                  YeongHan Kim . resolved

                  Sorry for the repeated review requests. I’ve addressed the feedback now.
                  Thanks so much!

                  File third_party/blink/renderer/core/dom/document.h
                  Line 523, Patchset 20: Element* CreateElement(const QualifiedName&,
                  const CreateElementFlags,
                  const AtomicString& is);
                  Mason Freed . resolved
                  YeongHan Kim

                  I removed the overload and explicitly pass the default registry as an argument.

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Jayson Chen
                  • Mason Freed
                  Submit Requirements:
                    • requirement satisfiedCode-Coverage
                    • requirement satisfiedCode-Owners
                    • requirement is not satisfiedCode-Review
                    • requirement is not satisfiedReview-Enforcement
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: chromium/src
                    Gerrit-Branch: main
                    Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                    Gerrit-Change-Number: 7198720
                    Gerrit-PatchSet: 22
                    Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                    Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                    Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                    Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
                    Gerrit-Attention: Mason Freed <mas...@chromium.org>
                    Gerrit-Comment-Date: Sat, 20 Dec 2025 09:12:07 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Jayson Chen (Gerrit)

                    unread,
                    Dec 29, 2025, 12:34:08 AM (13 days ago) 12/29/25
                    to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                    Attention needed from Mason Freed and YeongHan Kim

                    Jayson Chen voted and added 3 comments

                    Votes added by Jayson Chen

                    Code-Review+1

                    3 comments

                    Patchset-level comments
                    File-level comment, Patchset 23 (Latest):
                    Jayson Chen . resolved

                    Like the direction and LGTM. Just few small nits.

                    File third_party/blink/renderer/core/dom/document.h
                    Line 523, Patchset 20: Element* CreateElement(const QualifiedName&,
                    const CreateElementFlags,
                    const AtomicString& is);
                    Mason Freed . unresolved
                    Jayson Chen

                    That makes sense to me! I like the idea of having a static method to capture the missing concept here. Instead of `ImplicitNullRegistry()`, I wonder if it makes sense to just call it `DefaultRegistry()` as that will effectively make the argument fall into these three choices:

                    • Default
                    • Null
                    • Non-null registry

                    which aligns with the spec more; whereas implicit null is more like an implementation detail that is harder to understand while reading the code.

                    File third_party/blink/renderer/core/dom/document.cc
                    Line 1595, Patchset 23 (Latest): registry = customElementRegistry();
                    Jayson Chen . unresolved

                    If we call the static method `DefaultRegistry()`, I'd suggest that we use the static method here as well.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Mason Freed
                    • YeongHan Kim
                    Submit Requirements:
                    • requirement satisfiedCode-Coverage
                    • requirement is not satisfiedCode-Owners
                    • requirement is not satisfiedCode-Review
                    • requirement is not satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: chromium/src
                    Gerrit-Branch: main
                    Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                    Gerrit-Change-Number: 7198720
                    Gerrit-PatchSet: 23
                    Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                    Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                    Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                    Gerrit-Attention: Mason Freed <mas...@chromium.org>
                    Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                    Gerrit-Comment-Date: Mon, 29 Dec 2025 05:33:45 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    YeongHan Kim (Gerrit)

                    unread,
                    Dec 29, 2025, 8:25:56 AM (12 days ago) 12/29/25
                    to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                    Attention needed from Jayson Chen and Mason Freed

                    YeongHan Kim added 4 comments

                    Patchset-level comments
                    File-level comment, Patchset 24:
                    YeongHan Kim . resolved

                    Thanks for the review! I’ve addressed your comments.

                    File third_party/blink/renderer/core/dom/document.h
                    Line 523, Patchset 20: Element* CreateElement(const QualifiedName&,
                    const CreateElementFlags,
                    const AtomicString& is);
                    Mason Freed . resolved
                    YeongHan Kim

                    I agree, `DefaultRegistry()` seems like a more appropriate name.
                    Thanks for the suggestion!

                    File third_party/blink/renderer/core/dom/document.cc
                    Line 1418, Patchset 25 (Latest): CustomElementRegistry::DefaultRegistry(*document);
                    YeongHan Kim . resolved

                    I’ve made the same change here to use `DefaultRegistry()`.

                    Line 1595, Patchset 23: registry = customElementRegistry();
                    Jayson Chen . resolved

                    If we call the static method `DefaultRegistry()`, I'd suggest that we use the static method here as well.

                    YeongHan Kim

                    Done!

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Jayson Chen
                    • Mason Freed
                    Submit Requirements:
                      • requirement satisfiedCode-Coverage
                      • requirement is not satisfiedCode-Owners
                      • requirement is not satisfiedCode-Review
                      • requirement is not satisfiedReview-Enforcement
                      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                      Gerrit-MessageType: comment
                      Gerrit-Project: chromium/src
                      Gerrit-Branch: main
                      Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                      Gerrit-Change-Number: 7198720
                      Gerrit-PatchSet: 25
                      Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                      Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                      Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                      Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
                      Gerrit-Attention: Mason Freed <mas...@chromium.org>
                      Gerrit-Comment-Date: Mon, 29 Dec 2025 13:25:22 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy

                      Jayson Chen (Gerrit)

                      unread,
                      Jan 3, 2026, 10:39:38 PM (7 days ago) Jan 3
                      to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                      Attention needed from Mason Freed and YeongHan Kim

                      Jayson Chen voted Code-Review+1

                      Code-Review+1
                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Mason Freed
                      • YeongHan Kim
                      Submit Requirements:
                      • requirement satisfiedCode-Coverage
                      • requirement is not satisfiedCode-Owners
                      • requirement is not satisfiedCode-Review
                      • requirement is not satisfiedReview-Enforcement
                      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                      Gerrit-MessageType: comment
                      Gerrit-Project: chromium/src
                      Gerrit-Branch: main
                      Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                      Gerrit-Change-Number: 7198720
                      Gerrit-PatchSet: 25
                      Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                      Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                      Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                      Gerrit-Attention: Mason Freed <mas...@chromium.org>
                      Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                      Gerrit-Comment-Date: Sun, 04 Jan 2026 03:39:29 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy

                      Mason Freed (Gerrit)

                      unread,
                      Jan 5, 2026, 12:19:50 PM (5 days ago) Jan 5
                      to YeongHan Kim, Jayson Chen, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                      Attention needed from YeongHan Kim

                      Mason Freed added 5 comments

                      Patchset-level comments
                      File-level comment, Patchset 25 (Latest):
                      Mason Freed . resolved

                      This looks good to me, other than a rename/move, and some nits. Thanks for discussing the overloaded function!

                      File third_party/blink/renderer/core/dom/document.cc
                      Line 1440, Patchset 25 (Latest): "the "
                      Mason Freed . unresolved

                      Nit: please recombine this with the next line.

                      File third_party/blink/renderer/core/editing/commands/editing_commands_utilities.cc
                      Line 383, Patchset 25 (Latest): /*registry*/ CustomElementRegistry::DefaultRegistry(document)));
                      Mason Freed . unresolved

                      nit: you don't need `/*registry*/` here since it's clear from the argument that you're passing a registry.

                      File third_party/blink/renderer/core/editing/commands/indent_outdent_command.cc
                      Line 104, Patchset 25 (Latest): /*registry*/ CustomElementRegistry::DefaultRegistry(GetDocument())));
                      Mason Freed . unresolved

                      ditto here and below

                      File third_party/blink/renderer/core/html/custom/custom_element_registry.cc
                      Line 93, Patchset 25 (Latest):CustomElementRegistry* CustomElementRegistry::DefaultRegistry(
                      Document& document) {
                      return document.customElementRegistry();
                      }
                      Mason Freed . unresolved

                      Rather than `CustomElementRegistry::DefaultRegistry(document)`, perhaps just rename `TreeScope::customElementRegistry` to `TreeScope::DefaultCustomElementRegistry` and change all of the callers to this function to just `document.DefaultCustomElementRegistry()`? (And then delete `CustomElementRegistry::DefaultRegistry`.)

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • YeongHan Kim
                      Submit Requirements:
                        • requirement satisfiedCode-Coverage
                        • requirement is not satisfiedCode-Owners
                        • requirement is not satisfiedCode-Review
                        • requirement is not satisfiedNo-Unresolved-Comments
                        • requirement is not satisfiedReview-Enforcement
                        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                        Gerrit-MessageType: comment
                        Gerrit-Project: chromium/src
                        Gerrit-Branch: main
                        Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                        Gerrit-Change-Number: 7198720
                        Gerrit-PatchSet: 25
                        Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                        Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                        Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Comment-Date: Mon, 05 Jan 2026 17:19:37 +0000
                        Gerrit-HasComments: Yes
                        Gerrit-Has-Labels: No
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy

                        YeongHan Kim (Gerrit)

                        unread,
                        Jan 7, 2026, 10:39:40 AM (3 days ago) Jan 7
                        to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                        Attention needed from Jayson Chen and Mason Freed

                        YeongHan Kim added 5 comments

                        Patchset-level comments
                        File-level comment, Patchset 26 (Latest):
                        YeongHan Kim . resolved

                        Thank you for review!
                        I left a few comments regarding the rename.

                        File third_party/blink/renderer/core/dom/document.cc
                        Line 1440, Patchset 25: "the "
                        Mason Freed . resolved

                        Nit: please recombine this with the next line.

                        YeongHan Kim

                        Done

                        File third_party/blink/renderer/core/editing/commands/editing_commands_utilities.cc
                        Line 383, Patchset 25: /*registry*/ CustomElementRegistry::DefaultRegistry(document)));
                        Mason Freed . resolved

                        nit: you don't need `/*registry*/` here since it's clear from the argument that you're passing a registry.

                        YeongHan Kim

                        Done

                        File third_party/blink/renderer/core/editing/commands/indent_outdent_command.cc
                        Line 104, Patchset 25: /*registry*/ CustomElementRegistry::DefaultRegistry(GetDocument())));
                        Mason Freed . resolved

                        ditto here and below

                        YeongHan Kim

                        Done

                        File third_party/blink/renderer/core/html/custom/custom_element_registry.cc
                        Line 93, Patchset 25:CustomElementRegistry* CustomElementRegistry::DefaultRegistry(
                        Document& document) {
                        return document.customElementRegistry();
                        }
                        Mason Freed . unresolved

                        Rather than `CustomElementRegistry::DefaultRegistry(document)`, perhaps just rename `TreeScope::customElementRegistry` to `TreeScope::DefaultCustomElementRegistry` and change all of the callers to this function to just `document.DefaultCustomElementRegistry()`? (And then delete `CustomElementRegistry::DefaultRegistry`.)

                        YeongHan Kim

                        `TreeScope::customElementRegistry()` is used as a mixin in [document_or_shadow_root.idl](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document_or_shadow_root.idl;l=31), so renaming it would require implementing `customElementRegistry()` on both `Document` and `ShadowRoot`.

                        Could you please confirm whether this direction is what you intended?

                        Open in Gerrit

                        Related details

                        Attention is currently required from:
                        • Jayson Chen
                        • Mason Freed
                        Submit Requirements:
                        • requirement satisfiedCode-Coverage
                        • requirement is not satisfiedCode-Owners
                        • requirement is not satisfiedCode-Review
                        • requirement is not satisfiedNo-Unresolved-Comments
                        • requirement is not satisfiedReview-Enforcement
                        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                        Gerrit-MessageType: comment
                        Gerrit-Project: chromium/src
                        Gerrit-Branch: main
                        Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                        Gerrit-Change-Number: 7198720
                        Gerrit-PatchSet: 26
                        Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                        Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                        Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
                        Gerrit-Attention: Mason Freed <mas...@chromium.org>
                        Gerrit-Comment-Date: Wed, 07 Jan 2026 15:38:59 +0000
                        Gerrit-HasComments: Yes
                        Gerrit-Has-Labels: No
                        Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy

                        Mason Freed (Gerrit)

                        unread,
                        Jan 7, 2026, 1:02:47 PM (3 days ago) Jan 7
                        to YeongHan Kim, Jayson Chen, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                        Attention needed from Jayson Chen and YeongHan Kim

                        Mason Freed voted and added 2 comments

                        Votes added by Mason Freed

                        Code-Review+1

                        2 comments

                        Patchset-level comments
                        Mason Freed . resolved

                        LGTM! Thanks for working on this.

                        File third_party/blink/renderer/core/html/custom/custom_element_registry.cc
                        Line 93, Patchset 25:CustomElementRegistry* CustomElementRegistry::DefaultRegistry(
                        Document& document) {
                        return document.customElementRegistry();
                        }
                        Mason Freed . resolved

                        Rather than `CustomElementRegistry::DefaultRegistry(document)`, perhaps just rename `TreeScope::customElementRegistry` to `TreeScope::DefaultCustomElementRegistry` and change all of the callers to this function to just `document.DefaultCustomElementRegistry()`? (And then delete `CustomElementRegistry::DefaultRegistry`.)

                        YeongHan Kim

                        `TreeScope::customElementRegistry()` is used as a mixin in [document_or_shadow_root.idl](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document_or_shadow_root.idl;l=31), so renaming it would require implementing `customElementRegistry()` on both `Document` and `ShadowRoot`.

                        Could you please confirm whether this direction is what you intended?

                        Mason Freed

                        Oh boo, I forgot that was web exposed. Ok, it's fine as-is. Thanks for checking first.

                        Open in Gerrit

                        Related details

                        Attention is currently required from:
                        • Jayson Chen
                        • YeongHan Kim
                        Submit Requirements:
                        • requirement satisfiedCode-Coverage
                        • requirement satisfiedCode-Owners
                        • requirement is not satisfiedCode-Review
                        • requirement is not satisfiedReview-Enforcement
                        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                        Gerrit-MessageType: comment
                        Gerrit-Project: chromium/src
                        Gerrit-Branch: main
                        Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                        Gerrit-Change-Number: 7198720
                        Gerrit-PatchSet: 26
                        Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                        Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                        Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
                        Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                        Gerrit-Comment-Date: Wed, 07 Jan 2026 18:02:29 +0000
                        Gerrit-HasComments: Yes
                        Gerrit-Has-Labels: Yes
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy

                        Jayson Chen (Gerrit)

                        unread,
                        Jan 7, 2026, 7:49:05 PM (3 days ago) Jan 7
                        to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                        Attention needed from YeongHan Kim

                        Jayson Chen voted Code-Review+1

                        Code-Review+1
                        Open in Gerrit

                        Related details

                        Attention is currently required from:
                        • YeongHan Kim
                        Submit Requirements:
                          • requirement satisfiedCode-Coverage
                          • requirement satisfiedCode-Owners
                          • requirement satisfiedCode-Review
                          • requirement is not satisfiedReview-Enforcement
                          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                          Gerrit-MessageType: comment
                          Gerrit-Project: chromium/src
                          Gerrit-Branch: main
                          Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                          Gerrit-Change-Number: 7198720
                          Gerrit-PatchSet: 26
                          Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                          Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                          Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Comment-Date: Thu, 08 Jan 2026 00:48:53 +0000
                          Gerrit-HasComments: No
                          Gerrit-Has-Labels: Yes
                          satisfied_requirement
                          unsatisfied_requirement
                          open
                          diffy

                          YeongHan Kim (Gerrit)

                          unread,
                          Jan 9, 2026, 2:12:58 AM (yesterday) Jan 9
                          to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org

                          YeongHan Kim added 1 comment

                          Patchset-level comments
                          YeongHan Kim . resolved

                          It looks like the Review-Enforcement requirement hasn’t been satisfied yet.
                          Sorry for the trouble, but could you please take a look and check on this?

                          Thank you so much. I really appreciate it!

                          Open in Gerrit

                          Related details

                          Attention set is empty
                          Submit Requirements:
                          • requirement satisfiedCode-Coverage
                          • requirement satisfiedCode-Owners
                          • requirement satisfiedCode-Review
                          • requirement is not satisfiedReview-Enforcement
                          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                          Gerrit-MessageType: comment
                          Gerrit-Project: chromium/src
                          Gerrit-Branch: main
                          Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                          Gerrit-Change-Number: 7198720
                          Gerrit-PatchSet: 26
                          Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                          Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                          Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Comment-Date: Fri, 09 Jan 2026 07:12:34 +0000
                          Gerrit-HasComments: Yes
                          Gerrit-Has-Labels: No
                          satisfied_requirement
                          unsatisfied_requirement
                          open
                          diffy

                          Jayson Chen (Gerrit)

                          unread,
                          Jan 9, 2026, 12:48:33 PM (yesterday) Jan 9
                          to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                          Attention needed from YeongHan Kim

                          Jayson Chen added 1 comment

                          Patchset-level comments
                          Jayson Chen . resolved

                          I think it has something to do with me never setting up reauth properly. Lemme try to fix it.

                          Open in Gerrit

                          Related details

                          Attention is currently required from:
                          • YeongHan Kim
                          Submit Requirements:
                          • requirement satisfiedCode-Coverage
                          • requirement satisfiedCode-Owners
                          • requirement satisfiedCode-Review
                          • requirement is not satisfiedReview-Enforcement
                          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                          Gerrit-MessageType: comment
                          Gerrit-Project: chromium/src
                          Gerrit-Branch: main
                          Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                          Gerrit-Change-Number: 7198720
                          Gerrit-PatchSet: 26
                          Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                          Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                          Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                          Gerrit-Comment-Date: Fri, 09 Jan 2026 17:48:21 +0000
                          Gerrit-HasComments: Yes
                          Gerrit-Has-Labels: No
                          satisfied_requirement
                          unsatisfied_requirement
                          open
                          diffy

                          Jayson Chen (Gerrit)

                          unread,
                          Jan 9, 2026, 12:49:18 PM (yesterday) Jan 9
                          to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                          Attention needed from YeongHan Kim

                          Jayson Chen voted Code-Review+0

                          Code-Review+0
                          Open in Gerrit

                          Related details

                          Attention is currently required from:
                          • YeongHan Kim
                          Submit Requirements:
                            • requirement satisfiedCode-Coverage
                            • requirement satisfiedCode-Owners
                            • requirement is not satisfiedCode-Review
                            • requirement is not satisfiedReview-Enforcement
                            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                            Gerrit-MessageType: comment
                            Gerrit-Project: chromium/src
                            Gerrit-Branch: main
                            Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                            Gerrit-Change-Number: 7198720
                            Gerrit-PatchSet: 26
                            Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                            Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                            Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                            Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                            Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                            Gerrit-Comment-Date: Fri, 09 Jan 2026 17:49:04 +0000
                            Gerrit-HasComments: No
                            Gerrit-Has-Labels: Yes
                            satisfied_requirement
                            unsatisfied_requirement
                            open
                            diffy

                            Jayson Chen (Gerrit)

                            unread,
                            Jan 9, 2026, 12:49:23 PM (yesterday) Jan 9
                            to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                            Attention needed from YeongHan Kim

                            Jayson Chen voted Code-Review+1

                            Code-Review+1
                            Open in Gerrit

                            Related details

                            Attention is currently required from:
                            • YeongHan Kim
                            Submit Requirements:
                              • requirement satisfiedCode-Coverage
                              • requirement satisfiedCode-Owners
                              • requirement satisfiedCode-Review
                              • requirement satisfiedReview-Enforcement
                              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                              Gerrit-MessageType: comment
                              Gerrit-Project: chromium/src
                              Gerrit-Branch: main
                              Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                              Gerrit-Change-Number: 7198720
                              Gerrit-PatchSet: 26
                              Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                              Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                              Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                              Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                              Gerrit-Attention: YeongHan Kim <soosu...@gmail.com>
                              Gerrit-Comment-Date: Fri, 09 Jan 2026 17:49:11 +0000
                              Gerrit-HasComments: No
                              Gerrit-Has-Labels: Yes
                              satisfied_requirement
                              open
                              diffy

                              Jayson Chen (Gerrit)

                              unread,
                              Jan 9, 2026, 12:49:51 PM (yesterday) Jan 9
                              to YeongHan Kim, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org
                              Attention needed from YeongHan Kim

                              Jayson Chen added 1 comment

                              Patchset-level comments
                              Jayson Chen . resolved

                              Should be good now. Thanks again for working on this :))

                              Gerrit-Comment-Date: Fri, 09 Jan 2026 17:49:37 +0000
                              Gerrit-HasComments: Yes
                              Gerrit-Has-Labels: No
                              satisfied_requirement
                              open
                              diffy

                              YeongHan Kim (Gerrit)

                              unread,
                              Jan 9, 2026, 8:46:38 PM (19 hours ago) Jan 9
                              to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org

                              YeongHan Kim voted Commit-Queue+2

                              Commit-Queue+2
                              Open in Gerrit

                              Related details

                              Attention set is empty
                              Submit Requirements:
                              • requirement satisfiedCode-Coverage
                              • requirement satisfiedCode-Owners
                              • requirement satisfiedCode-Review
                              • requirement satisfiedReview-Enforcement
                              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                              Gerrit-MessageType: comment
                              Gerrit-Project: chromium/src
                              Gerrit-Branch: main
                              Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                              Gerrit-Change-Number: 7198720
                              Gerrit-PatchSet: 26
                              Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                              Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                              Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                              Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                              Gerrit-Comment-Date: Sat, 10 Jan 2026 01:46:03 +0000
                              Gerrit-HasComments: No
                              Gerrit-Has-Labels: Yes
                              satisfied_requirement
                              open
                              diffy

                              Chromium LUCI CQ (Gerrit)

                              unread,
                              Jan 9, 2026, 10:20:00 PM (18 hours ago) Jan 9
                              to YeongHan Kim, Jayson Chen, Mason Freed, AyeAye, chromium...@chromium.org, mac-r...@chromium.org, dom+...@chromium.org, dominicc+...@chromium.org, hiroshig...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, kouhei...@chromium.org, blink-rev...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org

                              Chromium LUCI CQ submitted the change

                              Change information

                              Commit message:
                              Allow the creation of null registry element and shadow root

                              As discussed in [1], support is being added to allow elements to have
                              a null customElementRegistry without Shadow DOM. To support this, the
                              specification has been updated [2] to allow null as a valid argument for
                              creating elements and shadow roots.
                              This patch implements that update.

                              [1] https://github.com/whatwg/dom/issues/1413
                              [2] https://github.com/whatwg/dom/pull/1424
                              Bug: 399124619
                              Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                              Reviewed-by: Mason Freed <mas...@chromium.org>
                              Reviewed-by: Jayson Chen <jayso...@microsoft.com>
                              Commit-Queue: YeongHan Kim <soosu...@gmail.com>
                              Cr-Commit-Position: refs/heads/main@{#1567340}
                              Files:
                              • M third_party/blink/renderer/core/dom/document.cc
                              • M third_party/blink/renderer/core/dom/element.cc
                              • M third_party/blink/renderer/core/dom/element_creation_options.idl
                              • M third_party/blink/renderer/core/editing/commands/editing_commands_utilities.cc
                              • M third_party/blink/renderer/core/editing/commands/indent_outdent_command.cc
                              • M third_party/blink/renderer/core/html/custom/custom_element_registry.cc
                              • M third_party/blink/renderer/core/html/custom/custom_element_registry.h
                              • M third_party/blink/renderer/core/html/custom/custom_element_test_helpers.h
                              • M third_party/blink/renderer/core/html/parser/html_construction_site.cc
                              • M third_party/blink/renderer/core/xml/parser/xml_document_parser.cc
                              • M third_party/blink/renderer/core/xml/parser/xml_document_parser_rs.cc
                              • D third_party/blink/web_tests/external/wpt/custom-elements/Document-createElement-customized-builtins-expected.txt
                              • D third_party/blink/web_tests/external/wpt/custom-elements/Document-createElementNS-customized-builtins-expected.txt
                              • D third_party/blink/web_tests/platform/mac/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/element-mutation-expected.txt
                              • M third_party/blink/web_tests/platform/mac/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/template.window-expected.txt
                              • D third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/Document-createElement-customized-builtins-expected.txt
                              • D third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/Document-createElementNS-customized-builtins-expected.txt
                              • M third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/Document-createElement-expected.txt
                              • M third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/Document-createElementNS-expected.txt
                              • M third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/Element-customElementRegistry-expected.txt
                              • M third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/ShadowRoot-init-customElementRegistry-expected.txt
                              • M third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/scoped-custom-element-registry-customelementregistry-attribute-expected.txt
                              • M third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/scoped-registry-append-does-not-upgrade-expected.txt
                              • M third_party/blink/web_tests/virtual/scoped-custom-element-registry/external/wpt/custom-elements/registries/template.window-expected.txt
                              Change size: M
                              Delta: 24 files changed, 64 insertions(+), 116 deletions(-)
                              Branch: refs/heads/main
                              Submit Requirements:
                              • requirement satisfiedCode-Review: +1 by Jayson Chen, +1 by Mason Freed
                              Open in Gerrit
                              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                              Gerrit-MessageType: merged
                              Gerrit-Project: chromium/src
                              Gerrit-Branch: main
                              Gerrit-Change-Id: I14c2638d779b947d0486a154b062b722073c4089
                              Gerrit-Change-Number: 7198720
                              Gerrit-PatchSet: 27
                              Gerrit-Owner: YeongHan Kim <soosu...@gmail.com>
                              Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                              Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
                              Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
                              Gerrit-Reviewer: YeongHan Kim <soosu...@gmail.com>
                              open
                              diffy
                              satisfied_requirement
                              Reply all
                              Reply to author
                              Forward
                              0 new messages