The <command> element should be treated as invalid in HTML parsing. [chromium/src : main]

0 views
Skip to first unread message

Javier Fernandez (Gerrit)

unread,
Mar 5, 2026, 3:53:33 AM (8 days ago) Mar 5
to Chromium LUCI CQ, chromium...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org

New activity on the change

Open in Gerrit

Related details

Attention set is empty
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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
Gerrit-Change-Number: 7633305
Gerrit-PatchSet: 4
Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
Gerrit-Comment-Date: Thu, 05 Mar 2026 08:53:16 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Javier Fernandez (Gerrit)

unread,
Mar 5, 2026, 3:55:07 AM (8 days ago) Mar 5
to Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Mason Freed

Javier Fernandez added 1 comment

Patchset-level comments
File-level comment, Patchset 4 (Latest):
Javier Fernandez . resolved

Hi @masonf
I have found this other bug while investigating the Adoption Algorithm issue.
It seems that WebKit's parser doesn't know about the <command> element either, so I think we could align with that.

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 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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
Gerrit-Change-Number: 7633305
Gerrit-PatchSet: 4
Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Comment-Date: Thu, 05 Mar 2026 08:54:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Mason Freed (Gerrit)

unread,
Mar 6, 2026, 3:33:01 PM (6 days ago) Mar 6
to Javier Fernandez, Chromium LUCI CQ, chromium...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Javier Fernandez

Mason Freed added 1 comment

Patchset-level comments
Mason Freed . resolved

Nice catch! I'm amazed I hadn't seen that.

As much as I hate to say it, we should probably add a runtime enabled feature for this too, since it's possible someone depends on it or something. I think the changes are small, but better safe than sorry. Otherwise, looks good to me.

Open in Gerrit

Related details

Attention is currently required from:
  • Javier Fernandez
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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
Gerrit-Change-Number: 7633305
Gerrit-PatchSet: 4
Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Javier Fernandez <jfern...@igalia.com>
Gerrit-Comment-Date: Fri, 06 Mar 2026 20:32:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Mason Freed (Gerrit)

unread,
Mar 6, 2026, 3:34:45 PM (6 days ago) Mar 6
to Javier Fernandez, Chromium LUCI CQ, chromium...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Javier Fernandez

Mason Freed added 1 comment

Patchset-level comments
Mason Freed . resolved

Oh one more thing, you should remove `"command"` from third_party/blink/renderer/core/html/html_tag_names.json5

Open in Gerrit

Related details

Attention is currently required from:
  • Javier Fernandez
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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
Gerrit-Change-Number: 7633305
Gerrit-PatchSet: 4
Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Javier Fernandez <jfern...@igalia.com>
Gerrit-Comment-Date: Fri, 06 Mar 2026 20:34:36 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Javier Fernandez (Gerrit)

unread,
Mar 10, 2026, 1:53:53 PM (2 days ago) Mar 10
to AyeAye, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, jmedle...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Mason Freed

Javier Fernandez added 1 comment

Patchset-level comments
Mason Freed . resolved

Oh one more thing, you should remove `"command"` from third_party/blink/renderer/core/html/html_tag_names.json5

Javier Fernandez

I'm not sure how to do this while we still admit the <command> tag when the runtime flag is disabled. The html_tag_names.json5 has a "runtimeEnabled" field, but I think it works in the opposite direction to what we want.

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 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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
Gerrit-Change-Number: 7633305
Gerrit-PatchSet: 8
Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Comment-Date: Tue, 10 Mar 2026 17:53:40 +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,
Mar 10, 2026, 5:33:01 PM (2 days ago) Mar 10
to Javier Fernandez, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, jmedle...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
Attention needed from Javier Fernandez

Mason Freed added 7 comments

Patchset-level comments
Mason Freed . resolved

Oh one more thing, you should remove `"command"` from third_party/blink/renderer/core/html/html_tag_names.json5

Javier Fernandez

I'm not sure how to do this while we still admit the <command> tag when the runtime flag is disabled. The html_tag_names.json5 has a "runtimeEnabled" field, but I think it works in the opposite direction to what we want.

Mason Freed

Oh shoot, you're right. See my comment above - let's just add a comment to not forget.

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

Looks pretty close, but a few changes

File third_party/blink/renderer/core/html/parser/html_stack_item.h
Line 216, Patchset 8 (Latest): if (GetHTMLTag() == html_names::HTMLTag::kCommand) {
Mason Freed . unresolved

For speed, let's actually stick this into the `switch` below as a case.

File third_party/blink/renderer/core/html/parser/html_tree_builder.cc
Line 2735, Patchset 8 (Latest): // Early exit: reject command elements when removal is enabled
Mason Freed . unresolved

ditto

File third_party/blink/renderer/platform/runtime_enabled_features.json5
Line 3072, Patchset 8 (Latest): // This shipped in M147 and the flag can be removed in M149.
Mason Freed . unresolved

sorry - now M148 and M150.

Line 3074, Patchset 8 (Latest): {
Mason Freed . unresolved

Maybe just add a comment right here:

```
// NOTE: when this flag is removed, be sure to also remove "command"
// from third_party/blink/renderer/core/html/html_tag_names.json5.
```

Line 3076, Patchset 8 (Latest): status: "experimental",
Mason Freed . unresolved

This can be set to `"stable"` immediately. This is just in case of problems.

Open in Gerrit

Related details

Attention is currently required from:
  • Javier Fernandez
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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
    Gerrit-Change-Number: 7633305
    Gerrit-PatchSet: 8
    Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
    Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-Attention: Javier Fernandez <jfern...@igalia.com>
    Gerrit-Comment-Date: Tue, 10 Mar 2026 21:32:53 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
    Comment-In-Reply-To: Javier Fernandez <jfern...@igalia.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Javier Fernandez (Gerrit)

    unread,
    Mar 11, 2026, 4:43:02 AM (2 days ago) Mar 11
    to AyeAye, Mason Freed, Chromium LUCI CQ, chromium...@chromium.org, jmedle...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
    Attention needed from Mason Freed

    Javier Fernandez added 6 comments

    Patchset-level comments
    File-level comment, Patchset 9 (Latest):
    Javier Fernandez . resolved

    Thanks for the review.
    I have applied the suggested changes.

    File third_party/blink/renderer/core/html/parser/html_stack_item.h
    Line 216, Patchset 8: if (GetHTMLTag() == html_names::HTMLTag::kCommand) {
    Mason Freed . resolved

    For speed, let's actually stick this into the `switch` below as a case.

    Javier Fernandez

    Done

    File third_party/blink/renderer/core/html/parser/html_tree_builder.cc
    Line 2735, Patchset 8: // Early exit: reject command elements when removal is enabled
    Mason Freed . resolved

    ditto

    Javier Fernandez

    Done

    File third_party/blink/renderer/platform/runtime_enabled_features.json5
    Line 3072, Patchset 8: // This shipped in M147 and the flag can be removed in M149.
    Mason Freed . resolved

    sorry - now M148 and M150.

    Javier Fernandez

    Done

    Line 3074, Patchset 8: {
    Mason Freed . resolved

    Maybe just add a comment right here:

    ```
    // NOTE: when this flag is removed, be sure to also remove "command"
    // from third_party/blink/renderer/core/html/html_tag_names.json5.
    ```

    Javier Fernandez

    Done

    Line 3076, Patchset 8: status: "experimental",
    Mason Freed . resolved

    This can be set to `"stable"` immediately. This is just in case of problems.

    Javier Fernandez

    Done

    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 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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
      Gerrit-Change-Number: 7633305
      Gerrit-PatchSet: 9
      Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
      Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Attention: Mason Freed <mas...@chromium.org>
      Gerrit-Comment-Date: Wed, 11 Mar 2026 08:42:40 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mason Freed (Gerrit)

      unread,
      Mar 11, 2026, 2:41:14 PM (2 days ago) Mar 11
      to Javier Fernandez, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, jmedle...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org
      Attention needed from Javier Fernandez

      Mason Freed voted and added 1 comment

      Votes added by Mason Freed

      Code-Review+1

      1 comment

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

      Thank you! LGTM.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Javier Fernandez
      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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
        Gerrit-Change-Number: 7633305
        Gerrit-PatchSet: 11
        Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
        Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
        Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
        Gerrit-Attention: Javier Fernandez <jfern...@igalia.com>
        Gerrit-Comment-Date: Wed, 11 Mar 2026 18:41:04 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Javier Fernandez (Gerrit)

        unread,
        Mar 11, 2026, 6:42:12 PM (2 days ago) Mar 11
        to Mason Freed, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, jmedle...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org

        Javier Fernandez 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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
        Gerrit-Change-Number: 7633305
        Gerrit-PatchSet: 11
        Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
        Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
        Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
        Gerrit-Comment-Date: Wed, 11 Mar 2026 22:41:51 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Chromium LUCI CQ (Gerrit)

        unread,
        Mar 11, 2026, 7:03:25 PM (2 days ago) Mar 11
        to Javier Fernandez, Mason Freed, AyeAye, chromium...@chromium.org, jmedle...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org

        Chromium LUCI CQ submitted the change

        Change information

        Commit message:
        The <command> element should be treated as invalid in HTML parsing.

        The WHATWG HTML spec removed <command> as a known element long ago. It
        should be parsed as an ordinary unknown element (non-void, can have
        children). We are still treating it as a void head element and a
        "special" element.
        Bug: 40775952, 491158089
        Change-Id: Ia35e19daa2fd02319729397ecc201bfc697b8f99
        Reviewed-by: Mason Freed <mas...@chromium.org>
        Commit-Queue: Javier Fernandez <jfern...@igalia.com>
        Cr-Commit-Position: refs/heads/main@{#1598051}
        Files:
        • M third_party/blink/renderer/core/html/html_tag_names.json5
        • M third_party/blink/renderer/core/html/parser/html_stack_item.h
        • M third_party/blink/renderer/core/html/parser/html_tree_builder.cc
        • M third_party/blink/renderer/platform/runtime_enabled_features.json5
        • D third_party/blink/web_tests/external/wpt/html/syntax/parsing/html5lib_tests25_run_type=uri-expected.txt
        • D third_party/blink/web_tests/external/wpt/html/syntax/parsing/html5lib_tests25_run_type=write-expected.txt
        • D third_party/blink/web_tests/external/wpt/html/syntax/parsing/html5lib_tests25_run_type=write_single-expected.txt
        • M third_party/blink/web_tests/html5lib/generated/run-tests25-data-expected.txt
        • M third_party/blink/web_tests/html5lib/generated/run-tests25-write-expected.txt
        Change size: M
        Delta: 9 files changed, 28 insertions(+), 56 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +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: Ia35e19daa2fd02319729397ecc201bfc697b8f99
        Gerrit-Change-Number: 7633305
        Gerrit-PatchSet: 12
        Gerrit-Owner: Javier Fernandez <jfern...@igalia.com>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Javier Fernandez <jfern...@igalia.com>
        Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
        open
        diffy
        satisfied_requirement
        Reply all
        Reply to author
        Forward
        0 new messages