Ensure uncustomized element can be set to null registry [chromium/src : main]

0 views
Skip to first unread message

Jayson Chen (Gerrit)

unread,
Oct 8, 2025, 7:34:52 PM (11 days ago) Oct 8
to AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org

Jayson Chen added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Jayson Chen . unresolved

I'm really debating between this implementation versus keeping `CreateUncustomizedOrUndefinedElement` as is (ignoring the passed in registry if it is nullptr) and explicitly set nullptr registry to the element when needed (in current case, in html_construction_site while parsing fragment. Would like to get your thoughts on this.

Open in Gerrit

Related details

Attention set is empty
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 1
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Comment-Date: Wed, 08 Oct 2025 23:34:31 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Oct 8, 2025, 7:35:40 PM (11 days ago) Oct 8
to Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Joey Arhar and Mason Freed

Jayson Chen added 1 comment

Patchset-level comments
Jayson Chen . resolved

PTAL at this bug fix on scoped registry, thanks!

Open in Gerrit

Related details

Attention is currently required from:
  • Joey Arhar
  • 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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 1
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Wed, 08 Oct 2025 23:35:18 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Oct 8, 2025, 7:38:10 PM (11 days ago) Oct 8
to Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Joey Arhar and Mason Freed

Jayson Chen added 2 comments

Patchset-level comments
Jayson Chen . resolved

I'm really debating between this implementation versus keeping `CreateUncustomizedOrUndefinedElement` as is (ignoring the passed in registry if it is nullptr) and explicitly set nullptr registry to the element when needed (in current case, in html_construction_site while parsing fragment. Would like to get your thoughts on this.

Jayson Chen

Re-commenting this in commit message so it's visible from Files section.

Commit Message
Line 7, Patchset 1 (Latest):Ensure uncustomized element can be set to null registry
Jayson Chen . unresolved

I'm really debating between this implementation versus keeping CreateUncustomizedOrUndefinedElement as is (ignoring the passed in registry if it is nullptr) and explicitly set nullptr registry to the element when needed (in current case, in html_construction_site while parsing fragment. Would like to get your thoughts on this.

Gerrit-Comment-Date: Wed, 08 Oct 2025 23:37:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Joey Arhar (Gerrit)

unread,
Oct 9, 2025, 12:12:47 PM (10 days ago) Oct 9
to Jayson Chen, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Jayson Chen and Mason Freed

Joey Arhar added 1 comment

File third_party/blink/web_tests/external/wpt/custom-elements/registries/Element-innerHTML.html
Joey Arhar . unresolved

Do you know if the other browsers pass these new tests?

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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 1
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Comment-Date: Thu, 09 Oct 2025 16:12:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Oct 9, 2025, 12:48:26 PM (10 days ago) Oct 9
to Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Joey Arhar and Mason Freed

Jayson Chen added 1 comment

File third_party/blink/web_tests/external/wpt/custom-elements/registries/Element-innerHTML.html
Joey Arhar . resolved

Do you know if the other browsers pass these new tests?

Jayson Chen

Safari (the only other browser with SCER) is failing these tests as these tests also pointed out some issue in their implementation. Safari will get the null registry assignment correct but somehow accidentally upgrade some of those uncustomized elements into `WrongNewElement`, which means they somehow used the global registry in the upgrading process.

Open in Gerrit

Related details

Attention is currently required from:
  • Joey Arhar
  • 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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 1
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Thu, 09 Oct 2025 16:48:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Joey Arhar <jar...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Mason Freed (Gerrit)

unread,
Oct 9, 2025, 7:59:56 PM (10 days ago) Oct 9
to Jayson Chen, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Jayson Chen and Joey Arhar

Mason Freed added 2 comments

File third_party/blink/renderer/core/html/custom/custom_element.h
Line 165, Patchset 1: std::optional<CustomElementRegistry*> registry);
Mason Freed . unresolved

So this brings back the (confusing in my opinion) nullopt-vs-nullptr thing. Perhaps add a `bool no_customized_registry` or whatever wording makes sense, rather than the std::optional?

File third_party/blink/web_tests/external/wpt/custom-elements/registries/Element-innerHTML.html
Line 138, Patchset 1:}, 'insertAdjacentHTML should use the element\'s registry even when the registry is null');
Mason Freed . unresolved

This will need at least expectations files to make the bots green.

Open in Gerrit

Related details

Attention is currently required from:
  • Jayson Chen
  • Joey Arhar
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 1
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Thu, 09 Oct 2025 23:59:31 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Oct 9, 2025, 9:27:35 PM (10 days ago) Oct 9
to youssef saikouk, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Joey Arhar, Mason Freed and youssef saikouk

Jayson Chen voted and added 3 comments

Votes added by Jayson Chen

Commit-Queue+1

3 comments

Commit Message
Line 7, Patchset 1:Ensure uncustomized element can be set to null registry
Jayson Chen . resolved

I'm really debating between this implementation versus keeping CreateUncustomizedOrUndefinedElement as is (ignoring the passed in registry if it is nullptr) and explicitly set nullptr registry to the element when needed (in current case, in html_construction_site while parsing fragment. Would like to get your thoughts on this.

Jayson Chen

Done

File third_party/blink/renderer/core/html/custom/custom_element.h
Line 165, Patchset 1: std::optional<CustomElementRegistry*> registry);
Mason Freed . unresolved

So this brings back the (confusing in my opinion) nullopt-vs-nullptr thing. Perhaps add a `bool no_customized_registry` or whatever wording makes sense, rather than the std::optional?

Jayson Chen

Agree, I was really debating when I wrote those nullopt. I updated it to use an additional arg as a flag to indicate we want to keep the null registry or no. Lmk how you think about the naming :)

File third_party/blink/web_tests/external/wpt/custom-elements/registries/Element-innerHTML.html
Line 138, Patchset 1:}, 'insertAdjacentHTML should use the element\'s registry even when the registry is null');
Mason Freed . unresolved

This will need at least expectations files to make the bots green.

Jayson Chen

The dry run seems to be passing in the last patch, am I missing something here?

Open in Gerrit

Related details

Attention is currently required from:
  • Joey Arhar
  • Mason Freed
  • youssef saikouk
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 3
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Fri, 10 Oct 2025 01:27:12 +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>
satisfied_requirement
unsatisfied_requirement
open
diffy

Mason Freed (Gerrit)

unread,
Oct 10, 2025, 2:14:24 PM (9 days ago) Oct 10
to Jayson Chen, youssef saikouk, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Jayson Chen, Joey Arhar and youssef saikouk

Mason Freed added 4 comments

File third_party/blink/renderer/core/html/custom/custom_element.h
Line 165, Patchset 1: std::optional<CustomElementRegistry*> registry);
Mason Freed . unresolved

So this brings back the (confusing in my opinion) nullopt-vs-nullptr thing. Perhaps add a `bool no_customized_registry` or whatever wording makes sense, rather than the std::optional?

Jayson Chen

Agree, I was really debating when I wrote those nullopt. I updated it to use an additional arg as a flag to indicate we want to keep the null registry or no. Lmk how you think about the naming :)

Mason Freed

I think `wait_for_registry` makes it very clear - thanks for this change.

Only thing I'd change is to remove the default value. Otherwise it's kind of unclear what it means to pass in `nullptr`.

File third_party/blink/renderer/core/html/custom/custom_element.cc
Line 172, Patchset 3 (Latest): (registry || wait_for_registry)) {
Mason Freed . unresolved

Seems like it's worth DCHECKing here that if `wait_for_registry` is true, then `registry` is nullptr.

File third_party/blink/renderer/core/html/parser/html_construction_site.cc
Line 1298, Patchset 3 (Latest): // registry on the created element null.
Mason Freed . unresolved

nit: `to null`?

File third_party/blink/web_tests/external/wpt/custom-elements/registries/Element-innerHTML.html
Line 138, Patchset 1:}, 'insertAdjacentHTML should use the element\'s registry even when the registry is null');
Mason Freed . resolved

This will need at least expectations files to make the bots green.

Jayson Chen

The dry run seems to be passing in the last patch, am I missing something here?

Mason Freed

Hmm, it was red when I wrote that. Likely ok.

Open in Gerrit

Related details

Attention is currently required from:
  • Jayson Chen
  • Joey Arhar
  • youssef saikouk
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 3
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Fri, 10 Oct 2025 18:14:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Oct 10, 2025, 2:49:18 PM (9 days ago) Oct 10
to youssef saikouk, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Joey Arhar, Mason Freed and youssef saikouk

Jayson Chen voted and added 3 comments

Votes added by Jayson Chen

Commit-Queue+1

3 comments

File third_party/blink/renderer/core/html/custom/custom_element.h
Line 165, Patchset 1: std::optional<CustomElementRegistry*> registry);
Mason Freed . resolved

So this brings back the (confusing in my opinion) nullopt-vs-nullptr thing. Perhaps add a `bool no_customized_registry` or whatever wording makes sense, rather than the std::optional?

Jayson Chen

Agree, I was really debating when I wrote those nullopt. I updated it to use an additional arg as a flag to indicate we want to keep the null registry or no. Lmk how you think about the naming :)

Mason Freed

I think `wait_for_registry` makes it very clear - thanks for this change.

Only thing I'd change is to remove the default value. Otherwise it's kind of unclear what it means to pass in `nullptr`.

Jayson Chen

Sounds good, removed the default value.

File third_party/blink/renderer/core/html/custom/custom_element.cc
Line 172, Patchset 3: (registry || wait_for_registry)) {
Mason Freed . unresolved

Seems like it's worth DCHECKing here that if `wait_for_registry` is true, then `registry` is nullptr.

Jayson Chen

Imo the registry doesn't have to be nullptr when we set `wait_for_registry` to true. See the usage in `html_construction_site`, I was thinking this flag is there to indicate that "if you get nullptr, don't ignore it!", but it can totally still receive valid registry.

File third_party/blink/renderer/core/html/parser/html_construction_site.cc
Line 1298, Patchset 3: // registry on the created element null.
Mason Freed . resolved

nit: `to null`?

Jayson Chen

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Joey Arhar
  • Mason Freed
  • youssef saikouk
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 4
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Fri, 10 Oct 2025 18:48:56 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Mason Freed (Gerrit)

unread,
Oct 10, 2025, 7:09:55 PM (9 days ago) Oct 10
to Jayson Chen, youssef saikouk, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Jayson Chen, Joey Arhar and youssef saikouk

Mason Freed added 2 comments

File third_party/blink/renderer/core/html/custom/custom_element.h
Line 111, Patchset 4 (Latest): // Wait for registry flag indicates whether we want to ignore a passed
// in null registry and let element implicitly pick up the tree scope's
// registry or keep it null and wait for a registry to be set later.
Mason Freed . unresolved

This is still a bit unclear, at least to me. What about this?

```
If `wait_for_registry` is false, `registry` will be used even if it is
nullptr, meaning the element will use the TreeScope's registry. If
`wait_for_registry` is true, then `registry` will be ignored, and
the element will wait for a registry to be provided.
```

File third_party/blink/renderer/core/html/custom/custom_element.cc
Line 172, Patchset 3: (registry || wait_for_registry)) {
Mason Freed . unresolved

Seems like it's worth DCHECKing here that if `wait_for_registry` is true, then `registry` is nullptr.

Jayson Chen

Imo the registry doesn't have to be nullptr when we set `wait_for_registry` to true. See the usage in `html_construction_site`, I was thinking this flag is there to indicate that "if you get nullptr, don't ignore it!", but it can totally still receive valid registry.

Mason Freed

Man I'm still confused. I think maybe the description I wrote above might even be wrong. I thought we had three cases:

1. Wait for a registry. Don't use a higher-level registry, just don't upgrade elements.
2. Nullptr registry. Use the TreeScope's (or higher level) registry.
3. non-nullptr registry. Use that registry.

I would think these three are mutually exclusive. What does it mean to "wait for a registry" while also "using the non-nullptr registry you have"?

Open in Gerrit

Related details

Attention is currently required from:
  • Jayson Chen
  • Joey Arhar
  • youssef saikouk
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 4
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Fri, 10 Oct 2025 23:09:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Oct 10, 2025, 7:39:05 PM (9 days ago) Oct 10
to youssef saikouk, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Joey Arhar, Mason Freed and youssef saikouk

Jayson Chen added 1 comment

File third_party/blink/renderer/core/html/custom/custom_element.cc
Line 172, Patchset 3: (registry || wait_for_registry)) {
Mason Freed . unresolved

Seems like it's worth DCHECKing here that if `wait_for_registry` is true, then `registry` is nullptr.

Jayson Chen

Imo the registry doesn't have to be nullptr when we set `wait_for_registry` to true. See the usage in `html_construction_site`, I was thinking this flag is there to indicate that "if you get nullptr, don't ignore it!", but it can totally still receive valid registry.

Mason Freed

Man I'm still confused. I think maybe the description I wrote above might even be wrong. I thought we had three cases:

1. Wait for a registry. Don't use a higher-level registry, just don't upgrade elements.
2. Nullptr registry. Use the TreeScope's (or higher level) registry.
3. non-nullptr registry. Use that registry.

I would think these three are mutually exclusive. What does it mean to "wait for a registry" while also "using the non-nullptr registry you have"?

Jayson Chen

Hmm I may have confused you a bit. Let's reset and rename this arg to `allow_null_registry` so we don't get confused with the exisiting wait-for-registry concept. I think the confusion may be coming from that.

You're correct, these are the three cases we have and they're mutually exclusive. I'll add a small annotation as below:
1. Wait for a registry (Explicit null). Don't use a higher-level registry, just don't upgrade elements.
2. Didn't set registry (Implicit null). Use the TreeScope's (or higher level) registry.


3. non-nullptr registry. Use that registry.

The goal we're trying to achieve in this patch is that when we're creating uncustomized element, we want to have control over the created uncustomized element being in case(1) or case(2). For most of the time, we want to do case(2) so it will just pick up the tree scope's registry. However, when we're parsing fragment, aka dealing with innerHTML, the registry assignment is dependent on the container element, which can be a valid registry or nullptr. The happy path is getting a valid registry, but in the case of nullptr registry, we need to make sure the element is actually set to explicit null registry bc the treescope may have valid registry and the new uncustomized element will pick up the tree scope registry if we don't make it explicit null. This awkwardness is due to the fact that we're expecting an element acting as a scoping object but implementation wise, we have no real way to make connection between an inserted element and its original container element, so explicitly setting it to null is necessary.

Back to the usage in html construction site, it's trying to create uncustomized element while parsing fragment, and we want to turn on `allow_null_registry` flag to make sure if we actually want to use null as registry to create this uncustomizeed element, we can explicitly set it.

Does renaming the arg make the reasoning a bit clearer?

Open in Gerrit

Related details

Attention is currently required from:
  • Joey Arhar
  • Mason Freed
  • youssef saikouk
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 4
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Fri, 10 Oct 2025 23:38:43 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Mason Freed (Gerrit)

unread,
Oct 13, 2025, 5:43:31 PM (6 days ago) Oct 13
to Jayson Chen, youssef saikouk, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Jayson Chen, Joey Arhar and youssef saikouk

Mason Freed added 1 comment

File third_party/blink/renderer/core/html/custom/custom_element.cc
Line 172, Patchset 3: (registry || wait_for_registry)) {
Mason Freed . unresolved

Seems like it's worth DCHECKing here that if `wait_for_registry` is true, then `registry` is nullptr.

Jayson Chen

Imo the registry doesn't have to be nullptr when we set `wait_for_registry` to true. See the usage in `html_construction_site`, I was thinking this flag is there to indicate that "if you get nullptr, don't ignore it!", but it can totally still receive valid registry.

Mason Freed

Man I'm still confused. I think maybe the description I wrote above might even be wrong. I thought we had three cases:

1. Wait for a registry. Don't use a higher-level registry, just don't upgrade elements.
2. Nullptr registry. Use the TreeScope's (or higher level) registry.
3. non-nullptr registry. Use that registry.

I would think these three are mutually exclusive. What does it mean to "wait for a registry" while also "using the non-nullptr registry you have"?

Jayson Chen

Hmm I may have confused you a bit. Let's reset and rename this arg to `allow_null_registry` so we don't get confused with the exisiting wait-for-registry concept. I think the confusion may be coming from that.

You're correct, these are the three cases we have and they're mutually exclusive. I'll add a small annotation as below:
1. Wait for a registry (Explicit null). Don't use a higher-level registry, just don't upgrade elements.
2. Didn't set registry (Implicit null). Use the TreeScope's (or higher level) registry.
3. non-nullptr registry. Use that registry.

The goal we're trying to achieve in this patch is that when we're creating uncustomized element, we want to have control over the created uncustomized element being in case(1) or case(2). For most of the time, we want to do case(2) so it will just pick up the tree scope's registry. However, when we're parsing fragment, aka dealing with innerHTML, the registry assignment is dependent on the container element, which can be a valid registry or nullptr. The happy path is getting a valid registry, but in the case of nullptr registry, we need to make sure the element is actually set to explicit null registry bc the treescope may have valid registry and the new uncustomized element will pick up the tree scope registry if we don't make it explicit null. This awkwardness is due to the fact that we're expecting an element acting as a scoping object but implementation wise, we have no real way to make connection between an inserted element and its original container element, so explicitly setting it to null is necessary.

Back to the usage in html construction site, it's trying to create uncustomized element while parsing fragment, and we want to turn on `allow_null_registry` flag to make sure if we actually want to use null as registry to create this uncustomizeed element, we can explicitly set it.

Does renaming the arg make the reasoning a bit clearer?

Mason Freed

Thanks for the great explanation here! I think some part of that big middle paragraph should likely make its way into the comment above `CreateUncustomizedOrUndefinedElementTemplate()` in the header file.

But given what you said, I really don't like `allow_null_registry` since that doesn't really tell me what's going on. Like "allow" in what sense? I'd rather be more explicit, and given your explanation, I actually really like `wait_for_registry` as a name. That tells me what will happen.

I'll come back to my comment - I think you should `CHECK(!wait_for_registry || !registry)`. You mentioned there were cases that would hit that - I'd modify those call sites to never do that. Because this is an unmentioned 4th case: non-nullptr registry but also wait_for_registry - which one wins? Let's just avoid that case.

Open in Gerrit

Related details

Attention is currently required from:
  • Jayson Chen
  • Joey Arhar
  • youssef saikouk
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: I3adc282657d0af3870bb68af1edd04ab6229528d
Gerrit-Change-Number: 7023674
Gerrit-PatchSet: 4
Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Mon, 13 Oct 2025 21:43:06 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Jayson Chen (Gerrit)

unread,
Oct 13, 2025, 8:52:37 PM (6 days ago) Oct 13
to youssef saikouk, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Joey Arhar, Mason Freed and youssef saikouk

Jayson Chen voted and added 2 comments

Votes added by Jayson Chen

Commit-Queue+1

2 comments

File third_party/blink/renderer/core/html/custom/custom_element.h
Line 111, Patchset 4: // Wait for registry flag indicates whether we want to ignore a passed

// in null registry and let element implicitly pick up the tree scope's
// registry or keep it null and wait for a registry to be set later.
Mason Freed . resolved

This is still a bit unclear, at least to me. What about this?

```
If `wait_for_registry` is false, `registry` will be used even if it is
nullptr, meaning the element will use the TreeScope's registry. If
`wait_for_registry` is true, then `registry` will be ignored, and
the element will wait for a registry to be provided.
```

Jayson Chen

Updated the comments and put it above `CreateUncustomizedOrUndefinedElementTemplate`

File third_party/blink/renderer/core/html/custom/custom_element.cc
Line 172, Patchset 3: (registry || wait_for_registry)) {
Mason Freed . resolved

Seems like it's worth DCHECKing here that if `wait_for_registry` is true, then `registry` is nullptr.

Jayson Chen

Imo the registry doesn't have to be nullptr when we set `wait_for_registry` to true. See the usage in `html_construction_site`, I was thinking this flag is there to indicate that "if you get nullptr, don't ignore it!", but it can totally still receive valid registry.

Mason Freed

Man I'm still confused. I think maybe the description I wrote above might even be wrong. I thought we had three cases:

1. Wait for a registry. Don't use a higher-level registry, just don't upgrade elements.
2. Nullptr registry. Use the TreeScope's (or higher level) registry.
3. non-nullptr registry. Use that registry.

I would think these three are mutually exclusive. What does it mean to "wait for a registry" while also "using the non-nullptr registry you have"?

Jayson Chen

Hmm I may have confused you a bit. Let's reset and rename this arg to `allow_null_registry` so we don't get confused with the exisiting wait-for-registry concept. I think the confusion may be coming from that.

You're correct, these are the three cases we have and they're mutually exclusive. I'll add a small annotation as below:
1. Wait for a registry (Explicit null). Don't use a higher-level registry, just don't upgrade elements.
2. Didn't set registry (Implicit null). Use the TreeScope's (or higher level) registry.
3. non-nullptr registry. Use that registry.

The goal we're trying to achieve in this patch is that when we're creating uncustomized element, we want to have control over the created uncustomized element being in case(1) or case(2). For most of the time, we want to do case(2) so it will just pick up the tree scope's registry. However, when we're parsing fragment, aka dealing with innerHTML, the registry assignment is dependent on the container element, which can be a valid registry or nullptr. The happy path is getting a valid registry, but in the case of nullptr registry, we need to make sure the element is actually set to explicit null registry bc the treescope may have valid registry and the new uncustomized element will pick up the tree scope registry if we don't make it explicit null. This awkwardness is due to the fact that we're expecting an element acting as a scoping object but implementation wise, we have no real way to make connection between an inserted element and its original container element, so explicitly setting it to null is necessary.

Back to the usage in html construction site, it's trying to create uncustomized element while parsing fragment, and we want to turn on `allow_null_registry` flag to make sure if we actually want to use null as registry to create this uncustomizeed element, we can explicitly set it.

Does renaming the arg make the reasoning a bit clearer?

Mason Freed

Thanks for the great explanation here! I think some part of that big middle paragraph should likely make its way into the comment above `CreateUncustomizedOrUndefinedElementTemplate()` in the header file.

But given what you said, I really don't like `allow_null_registry` since that doesn't really tell me what's going on. Like "allow" in what sense? I'd rather be more explicit, and given your explanation, I actually really like `wait_for_registry` as a name. That tells me what will happen.

I'll come back to my comment - I think you should `CHECK(!wait_for_registry || !registry)`. You mentioned there were cases that would hit that - I'd modify those call sites to never do that. Because this is an unmentioned 4th case: non-nullptr registry but also wait_for_registry - which one wins? Let's just avoid that case.

Jayson Chen

Sounds good! Updated the call site to make sure the use of `wait_for_registry` flag is intentional on specific scenarios. (also updated the comments)

Open in Gerrit

Related details

Attention is currently required from:
  • Joey Arhar
  • Mason Freed
  • youssef saikouk
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: I3adc282657d0af3870bb68af1edd04ab6229528d
    Gerrit-Change-Number: 7023674
    Gerrit-PatchSet: 6
    Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
    Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
    Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
    Gerrit-Attention: Mason Freed <mas...@chromium.org>
    Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
    Gerrit-Attention: Joey Arhar <jar...@chromium.org>
    Gerrit-Comment-Date: Tue, 14 Oct 2025 00:52:14 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Joey Arhar (Gerrit)

    unread,
    Oct 17, 2025, 5:07:02 PM (2 days ago) Oct 17
    to Jayson Chen, youssef saikouk, Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
    Attention needed from Jayson Chen, Mason Freed and youssef saikouk

    Joey Arhar added 6 comments

    File third_party/blink/renderer/core/html/custom/custom_element.h
    Line 164, Patchset 6 (Latest): // it to null and it will wait for a registry to be set later.
    Joey Arhar . unresolved

    Is this comment about the wait_for_registry parameter? If so, want to mention it by name?

    Line 161, Patchset 6 (Latest): // When a null registry is pasaed in, we want to have control over if the
    Joey Arhar . unresolved

    passed?

    Line 161, Patchset 6 (Latest): // When a null registry is pasaed in, we want to have control over if the
    Joey Arhar . unresolved

    over whether? or does this mean something else?

    File third_party/blink/renderer/core/html/custom/custom_element.cc
    Line 141, Patchset 6 (Latest):// Wait for registry flag indicates whether we want to ignore a passed
    Joey Arhar . unresolved

    The `wait_for_registry`?

    File third_party/blink/renderer/core/html/parser/html_construction_site.cc
    Line 1298, Patchset 6 (Latest): // registry during fragment parsing. Set wait for registry flag to true
    Joey Arhar . unresolved

    The `wait_for_registry`

    File third_party/blink/web_tests/external/wpt/custom-elements/registries/Element-innerHTML.html
    File-level comment, Patchset 1:
    Joey Arhar . unresolved

    Do you know if the other browsers pass these new tests?

    Jayson Chen

    Safari (the only other browser with SCER) is failing these tests as these tests also pointed out some issue in their implementation. Safari will get the null registry assignment correct but somehow accidentally upgrade some of those uncustomized elements into `WrongNewElement`, which means they somehow used the global registry in the upgrading process.

    Joey Arhar

    Is anyone on webkit aware of this? Should the spec be changed or a spec issue get opened?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jayson Chen
    • Mason Freed
    • youssef saikouk
    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: I3adc282657d0af3870bb68af1edd04ab6229528d
      Gerrit-Change-Number: 7023674
      Gerrit-PatchSet: 6
      Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
      Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Attention: Mason Freed <mas...@chromium.org>
      Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
      Gerrit-Comment-Date: Fri, 17 Oct 2025 21:06:52 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Jayson Chen <jayso...@microsoft.com>
      Comment-In-Reply-To: Joey Arhar <jar...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mason Freed (Gerrit)

      unread,
      Oct 17, 2025, 6:59:21 PM (2 days ago) Oct 17
      to Jayson Chen, youssef saikouk, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, dominicc+...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
      Attention needed from Jayson Chen and youssef saikouk

      Mason Freed voted and added 3 comments

      Votes added by Mason Freed

      Code-Review+1

      3 comments

      Patchset-level comments
      File third_party/blink/renderer/core/html/custom/custom_element.cc
      Line 174, Patchset 6 (Latest): // Keep the usage intentional that wait_for_registry is meant for the
      // scenario where we get null registry passed in and want to create an
      // element with explicit null registry.
      Mason Freed . unresolved

      Ok as-is, but this comment likely isn't needed. That's what the DCHECK says: either registry is `nullptr` or we're not `waiting_for_registry`.

      File third_party/blink/web_tests/external/wpt/custom-elements/registries/Element-innerHTML.html
      Line 126, Patchset 6 (Latest): assert_equals(container_element.querySelector('new-element').customElementRegistry, null);
      Mason Freed . unresolved

      Maybe add

      ```
      const outer_element = container_element.querySelector('new-element');
      const inner_element = outer_element.querySelector('new-element');
      ```

      and then use those in all the places?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Jayson Chen
      • youssef saikouk
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • 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: I3adc282657d0af3870bb68af1edd04ab6229528d
      Gerrit-Change-Number: 7023674
      Gerrit-PatchSet: 6
      Gerrit-Owner: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Reviewer: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-CC: youssef saikouk <youssefs...@gmail.com>
      Gerrit-Attention: Jayson Chen <jayso...@microsoft.com>
      Gerrit-Attention: youssef saikouk <youssefs...@gmail.com>
      Gerrit-Comment-Date: Fri, 17 Oct 2025 22:59:09 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages