Preserve invalid selectors in :is() and :where() [chromium/src : main]

0 views
Skip to first unread message

Byungwoo Lee (Gerrit)

unread,
Jul 10, 2026, 8:20:50 AMJul 10
to Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Rune Lillesveen

Byungwoo Lee added 1 comment

Patchset-level comments
File-level comment, Patchset 4 (Latest):
Byungwoo Lee . resolved

Hello Rune,

This is the CL preserving invalid selectors in :is and :where().

Could you please take a look? Thank you!

Open in Gerrit

Related details

Attention is currently required from:
  • Rune Lillesveen
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: I5d350d815153fbf846ed8763707d0938a2327376
Gerrit-Change-Number: 8068106
Gerrit-PatchSet: 4
Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
Gerrit-Comment-Date: Fri, 10 Jul 2026 12:20:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Rune Lillesveen (Gerrit)

unread,
Jul 20, 2026, 9:17:19 AM (7 days ago) Jul 20
to Byungwoo Lee, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Byungwoo Lee

Rune Lillesveen added 1 comment

Patchset-level comments
File-level comment, Patchset 6 (Latest):
Rune Lillesveen . unresolved

sesse@ had some relevant questions here:

https://github.com/w3c/csswg-drafts/issues/8356#issuecomment-1782860394

Additionally, what about case-sensitivity?

The issues is still marked as NeedsEdits. This is still not covered by the spec?

Open in Gerrit

Related details

Attention is currently required from:
  • Byungwoo Lee
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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 6
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Comment-Date: Mon, 20 Jul 2026 13:16:58 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rune Lillesveen (Gerrit)

    unread,
    Jul 20, 2026, 9:19:45 AM (7 days ago) Jul 20
    to Byungwoo Lee, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Byungwoo Lee

    Rune Lillesveen added 1 comment

    File third_party/blink/renderer/core/css/css_selector.h
    Line 346, Patchset 6 (Latest): kPseudoUnparsedContainingNesting,
    Rune Lillesveen . unresolved

    Why do these need to be two pseudo ids? Isn't different CSSNestingType enough?

    Gerrit-Comment-Date: Mon, 20 Jul 2026 13:19:27 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Byungwoo Lee (Gerrit)

    unread,
    Jul 22, 2026, 5:16:40 AM (5 days ago) Jul 22
    to android-bu...@system.gserviceaccount.com, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Rune Lillesveen

    Byungwoo Lee added 3 comments

    Patchset-level comments
    Rune Lillesveen . unresolved

    sesse@ had some relevant questions here:

    https://github.com/w3c/csswg-drafts/issues/8356#issuecomment-1782860394

    Additionally, what about case-sensitivity?

    The issues is still marked as NeedsEdits. This is still not covered by the spec?

    Byungwoo Lee

    I posted a comment to the issue (https://github.com/w3c/csswg-drafts/issues/8356#issuecomment-5042919620), and updated the CL accordingly.

    Additionally, what about case-sensitivity?

    I cannot clearly understand this question. Could you please share some more context or some examples?

    File-level comment, Patchset 8 (Latest):
    Byungwoo Lee . resolved

    Thanks for the review! I addressed and replied the comments. Could you please take a look?

    File third_party/blink/renderer/core/css/css_selector.h
    Line 346, Patchset 6: kPseudoUnparsedContainingNesting,
    Rune Lillesveen . resolved

    Why do these need to be two pseudo ids? Isn't different CSSNestingType enough?

    Byungwoo Lee

    Yes it is correct. Using `kPseudoUnparsed` with `kNone` nesting type is enough. I fixed this. Thank you!

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Rune Lillesveen
    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 8
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
    Gerrit-Comment-Date: Wed, 22 Jul 2026 09:16:10 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Rune Lillesveen <fut...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rune Lillesveen (Gerrit)

    unread,
    Jul 22, 2026, 8:43:06 AM (5 days ago) Jul 22
    to Byungwoo Lee, android-bu...@system.gserviceaccount.com, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Byungwoo Lee

    Rune Lillesveen added 1 comment

    Patchset-level comments
    Rune Lillesveen . unresolved

    sesse@ had some relevant questions here:

    https://github.com/w3c/csswg-drafts/issues/8356#issuecomment-1782860394

    Additionally, what about case-sensitivity?

    The issues is still marked as NeedsEdits. This is still not covered by the spec?

    Byungwoo Lee

    I posted a comment to the issue (https://github.com/w3c/csswg-drafts/issues/8356#issuecomment-5042919620), and updated the CL accordingly.

    Additionally, what about case-sensitivity?

    I cannot clearly understand this question. Could you please share some more context or some examples?

    Rune Lillesveen

    For instance, the first sub-selector here is invalid, but all simple selectors are known:


    ```
    :is(::before::part(my-part):HOVER , div) {}
    ```

    Do we lower-case :HOVER in the serialization?

    Also, do we strip trailing white-space?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Byungwoo Lee
    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 8
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Comment-Date: Wed, 22 Jul 2026 12:42:49 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Rune Lillesveen <fut...@chromium.org>
    Comment-In-Reply-To: Byungwoo Lee <bl...@igalia.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Byungwoo Lee (Gerrit)

    unread,
    Jul 23, 2026, 12:14:22 AM (4 days ago) Jul 23
    to android-bu...@system.gserviceaccount.com, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Rune Lillesveen

    Byungwoo Lee voted and added 1 comment

    Votes added by Byungwoo Lee

    Commit-Queue+0

    1 comment

    Patchset-level comments
    Rune Lillesveen . unresolved

    sesse@ had some relevant questions here:

    https://github.com/w3c/csswg-drafts/issues/8356#issuecomment-1782860394

    Additionally, what about case-sensitivity?

    The issues is still marked as NeedsEdits. This is still not covered by the spec?

    Byungwoo Lee

    I posted a comment to the issue (https://github.com/w3c/csswg-drafts/issues/8356#issuecomment-5042919620), and updated the CL accordingly.

    Additionally, what about case-sensitivity?

    I cannot clearly understand this question. Could you please share some more context or some examples?

    Rune Lillesveen

    For instance, the first sub-selector here is invalid, but all simple selectors are known:


    ```
    :is(::before::part(my-part):HOVER , div) {}
    ```

    Do we lower-case :HOVER in the serialization?

    Also, do we strip trailing white-space?

    Byungwoo Lee

    Thank you for the example!

    do we strip trailing white-space?

    Yes. Patchset 8 didn't do this, but I have uploaded Patchset 9 to strip trailing whitespaces. AFAIK, trailing spaces are just ignorable whitespaces since it doesn't act as a descendant combinator or other selector token. So, stripping them is looks reasonable.
    Thank you for pointing this!

    Do we lower-case :HOVER in the serialization?

    No we do not lowercase :HOVER in this scenario.
    I think that trying to selectively lowercase tokens like :HOVER inside an invalid selector introduces unnecessary complexity and parsing overhead since we exit parsing early when we detect failure. Consuming following tokens and handling edge cases looks not necessary only for serialization.
    I also added the case to the unittest.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Rune Lillesveen
    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 9
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
    Gerrit-Comment-Date: Thu, 23 Jul 2026 04:13:49 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rune Lillesveen (Gerrit)

    unread,
    Jul 23, 2026, 8:07:24 AM (4 days ago) Jul 23
    to Byungwoo Lee, android-bu...@system.gserviceaccount.com, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Byungwoo Lee

    Rune Lillesveen added 5 comments

    Patchset-level comments
    Rune Lillesveen

    This needs to be specified in the spec before shipping, right?

    File third_party/blink/renderer/core/css/parser/css_selector_parser.cc
    Line 454, Patchset 9 (Latest): }
    Rune Lillesveen . unresolved

    I don't understand what's going on here. What this invalid_list and subpos handling for?

    Line 468, Patchset 9 (Latest): SerializeInvalidSelectorsInForgivingSelectorListEnabled()) {
    Rune Lillesveen . unresolved

    I'm a bit worried this codepath now goes untested (since this is an experimental feature and we ship something else). It's different enough from the previous implementation.

    Line 569, Patchset 9 (Latest): bool ends_with_empty_selector = true;
    Rune Lillesveen . unresolved

    This needs documentation. It's really hard to understand what's going on in this function and what these variables mean.

    File third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc
    Line 3212, Patchset 9 (Latest): ParseSelector(":is(::before:HOVER , .a)");
    Rune Lillesveen . unresolved

    Could these be wpt tests instead to make sure browsers align on this behavior?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Byungwoo Lee
    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 9
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Comment-Date: Thu, 23 Jul 2026 12:07:06 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Byungwoo Lee (Gerrit)

    unread,
    Jul 24, 2026, 1:12:25 AM (3 days ago) Jul 24
    to android-bu...@system.gserviceaccount.com, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Byungwoo Lee

    Byungwoo Lee added 5 comments

    Patchset-level comments
    Byungwoo Lee

    Yes right. I'll follow up the csswg issue.

    File third_party/blink/renderer/core/css/parser/css_selector_parser.cc
    Rune Lillesveen . unresolved

    I don't understand what's going on here. What this invalid_list and subpos handling for?

    Byungwoo Lee

    Ah, right. this looks confusing. This is for marking invalid list, and I think I can do that later by iterating consumed selectors. Will fix it. Thank you!

    Line 468, Patchset 9 (Latest): SerializeInvalidSelectorsInForgivingSelectorListEnabled()) {
    Rune Lillesveen . unresolved

    I'm a bit worried this codepath now goes untested (since this is an experimental feature and we ship something else). It's different enough from the previous implementation.

    Byungwoo Lee

    I think that the unit test I added covers all code paths including serialization itself, feature variation (enabled/disabled), selector list iteration (normal iteration, new iteration including unparsed invalid), and invalid list marking.
    I can see that this path is already covered by the test (from coverage report and manual test with some logs)

    Line 569, Patchset 9 (Latest): bool ends_with_empty_selector = true;
    Rune Lillesveen . unresolved

    This needs documentation. It's really hard to understand what's going on in this function and what these variables mean.

    Byungwoo Lee

    Sorry for the confusion. I'll remove the position and invalid_list to make the code more clear, and add a comment for the `ends_with_empty_selector`.

    FYI, `ends_with_empty_selector` represents that the selector list is empty text (e.g. `:is()`) or ends with comma (e.g. `:is(.a,)`). For both cases, we need to add unparsed-invalid for the empty text.

    File third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc
    Line 3212, Patchset 9 (Latest): ParseSelector(":is(::before:HOVER , .a)");
    Rune Lillesveen . unresolved

    Could these be wpt tests instead to make sure browsers align on this behavior?

    Byungwoo Lee

    Yes, of course. I'll add it.

    Gerrit-Comment-Date: Fri, 24 Jul 2026 05:11:56 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Byungwoo Lee (Gerrit)

    unread,
    Jul 24, 2026, 9:38:31 AM (3 days ago) Jul 24
    to android-bu...@system.gserviceaccount.com, Rune Lillesveen, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Rune Lillesveen

    Byungwoo Lee added 4 comments

    Patchset-level comments
    File-level comment, Patchset 12 (Latest):
    Byungwoo Lee . resolved

    Addressed some of the comments, and added new changes about CSSSelector::Empty() condition. (I updated the commit message as well).

    Could you please take another look? Thank you for your review!

    File third_party/blink/renderer/core/css/parser/css_selector_parser.cc
    Line 454, Patchset 9: }
    Rune Lillesveen . resolved

    I don't understand what's going on here. What this invalid_list and subpos handling for?

    Byungwoo Lee

    Ah, right. this looks confusing. This is for marking invalid list, and I think I can do that later by iterating consumed selectors. Will fix it. Thank you!

    Byungwoo Lee

    I made `MarkAsInvalidListIfNeeded()` method and removed those.

    Line 569, Patchset 9: bool ends_with_empty_selector = true;
    Rune Lillesveen . resolved

    This needs documentation. It's really hard to understand what's going on in this function and what these variables mean.

    Byungwoo Lee

    Sorry for the confusion. I'll remove the position and invalid_list to make the code more clear, and add a comment for the `ends_with_empty_selector`.

    FYI, `ends_with_empty_selector` represents that the selector list is empty text (e.g. `:is()`) or ends with comma (e.g. `:is(.a,)`). For both cases, we need to add unparsed-invalid for the empty text.

    Byungwoo Lee

    Renamed the variable to `has_trailing_empty_argument` and added a comment.

    File third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc
    Line 3212, Patchset 9: ParseSelector(":is(::before:HOVER , .a)");
    Rune Lillesveen . resolved

    Could these be wpt tests instead to make sure browsers align on this behavior?

    Byungwoo Lee

    Yes, of course. I'll add it.

    Byungwoo Lee

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Rune Lillesveen
    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 12
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
    Gerrit-Comment-Date: Fri, 24 Jul 2026 13:37:59 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rune Lillesveen (Gerrit)

    unread,
    Jul 24, 2026, 9:43:19 AM (3 days ago) Jul 24
    to Byungwoo Lee, Rune Lillesveen, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Byungwoo Lee

    Rune Lillesveen voted and added 3 comments

    Votes added by Rune Lillesveen

    Code-Review+1

    3 comments

    Patchset-level comments
    File-level comment, Patchset 6:
    Rune Lillesveen . resolved
    Rune Lillesveen

    Acknowledged

    Rune Lillesveen . resolved

    lgtm

    File third_party/blink/renderer/core/css/parser/css_selector_parser.cc
    Line 468, Patchset 9: SerializeInvalidSelectorsInForgivingSelectorListEnabled()) {
    Rune Lillesveen . resolved

    I'm a bit worried this codepath now goes untested (since this is an experimental feature and we ship something else). It's different enough from the previous implementation.

    Byungwoo Lee

    I think that the unit test I added covers all code paths including serialization itself, feature variation (enabled/disabled), selector list iteration (normal iteration, new iteration including unparsed invalid), and invalid list marking.
    I can see that this path is already covered by the test (from coverage report and manual test with some logs)

    Rune Lillesveen

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Byungwoo Lee
    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 12
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Comment-Date: Fri, 24 Jul 2026 13:42:59 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Blink W3C Test Autoroller (Gerrit)

    unread,
    Jul 24, 2026, 9:49:12 AM (3 days ago) Jul 24
    to Byungwoo Lee, Rune Lillesveen, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Byungwoo Lee

    Message from Blink W3C Test Autoroller

    Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/61514.

    When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.

    WPT Export docs:
    https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Byungwoo Lee
    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 12
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
    Gerrit-Comment-Date: Fri, 24 Jul 2026 13:49:01 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: No
    satisfied_requirement
    open
    diffy

    Byungwoo Lee (Gerrit)

    unread,
    Jul 26, 2026, 7:27:02 PM (9 hours ago) Jul 26
    to Blink W3C Test Autoroller, Rune Lillesveen, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org

    Byungwoo Lee voted and added 1 comment

    Votes added by Byungwoo Lee

    Commit-Queue+2

    1 comment

    Patchset-level comments
    Byungwoo Lee . resolved

    Thank you for the review!

    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: I5d350d815153fbf846ed8763707d0938a2327376
    Gerrit-Change-Number: 8068106
    Gerrit-PatchSet: 12
    Gerrit-Owner: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Byungwoo Lee <bl...@igalia.com>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Comment-Date: Sun, 26 Jul 2026 23:26:22 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages