Reland "blink/css: Implement text-transform: full-width" [chromium/src : main]

0 views
Skip to first unread message

Felipe Erias (Gerrit)

unread,
Aug 22, 2025, 8:46:39 AMAug 22
to Kent Tamura, Koji Ishii, Chromium LUCI CQ, Alexis Menard, chromium...@chromium.org, AyeAye, Blink W3C Test Autoroller, blink-...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, kinuko...@chromium.org, blink-rev...@chromium.org
Attention needed from Kent Tamura and Koji Ishii

Felipe Erias added 1 comment

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Felipe Erias . resolved

Hello,

Unfortunately, the previous patch was reverted because these tests failed on Windows:

  • css1/text_properties/text_transform.html
  • css2.1/t1605-c545-txttrans-00-b-ag.html
  • fast/css/textCapitalizeEdgeCases.html
  • virtual/text-antialias/capitalize-empty-generated-string.html
  • external/wpt/css/CSS2/text/text-transform-cap-002.xht
  • external/wpt/css/CSS2/text/text-transform-cap-003.xht
  • external/wpt/css/css-text/text-transform/text-transform-capitalize-033.html
  • external/wpt/css/css-text/text-transform/text-transform-capitalize-036.html

https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Win10/160052/overview

I have rebased the CL and ran the tests again, and this time they passed.

Since those failing tests were not directly related to this CL, maybe it is fine to reland it?

I'll defer to your experience on this decision.

Thank you and best regards,

Felipe

Open in Gerrit

Related details

Attention is currently required from:
  • Kent Tamura
  • Koji Ishii
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: If19334a44d360e705129559a098d22c4fb7d59b9
Gerrit-Change-Number: 6875479
Gerrit-PatchSet: 2
Gerrit-Owner: Felipe Erias <felip...@igalia.com>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
Gerrit-Attention: Kent Tamura <tk...@chromium.org>
Gerrit-Attention: Koji Ishii <ko...@chromium.org>
Gerrit-Comment-Date: Fri, 22 Aug 2025 12:46:04 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Kent Tamura (Gerrit)

unread,
Aug 24, 2025, 9:42:35 PMAug 24
to Felipe Erias, Kent Tamura, Koji Ishii, Chromium LUCI CQ, Alexis Menard, chromium...@chromium.org, AyeAye, Blink W3C Test Autoroller, blink-...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, kinuko...@chromium.org, blink-rev...@chromium.org
Attention needed from Felipe Erias and Koji Ishii

Kent Tamura added 1 comment

Patchset-level comments
Felipe Erias . resolved

Hello,

Unfortunately, the previous patch was reverted because these tests failed on Windows:

  • css1/text_properties/text_transform.html
  • css2.1/t1605-c545-txttrans-00-b-ag.html
  • fast/css/textCapitalizeEdgeCases.html
  • virtual/text-antialias/capitalize-empty-generated-string.html
  • external/wpt/css/CSS2/text/text-transform-cap-002.xht
  • external/wpt/css/CSS2/text/text-transform-cap-003.xht
  • external/wpt/css/css-text/text-transform/text-transform-capitalize-033.html
  • external/wpt/css/css-text/text-transform/text-transform-capitalize-036.html

https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Win10/160052/overview

I have rebased the CL and ran the tests again, and this time they passed.

Since those failing tests were not directly related to this CL, maybe it is fine to reland it?

I'll defer to your experience on this decision.

Thank you and best regards,

Felipe

Kent Tamura

https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Win10?limit=200&cursor=id%3E8705855725554193969

These tests started failing when the original CL was merged, and stopped failing when it was reverted. Merging this without any changes will very likely make the tests start failing again.

Unfortunately we don't have a try bot for "WebKit Win10". Can you try to reproduce the failures with Windows 32bit build?

Open in Gerrit

Related details

Attention is currently required from:
  • Felipe Erias
  • Koji Ishii
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: If19334a44d360e705129559a098d22c4fb7d59b9
Gerrit-Change-Number: 6875479
Gerrit-PatchSet: 2
Gerrit-Owner: Felipe Erias <felip...@igalia.com>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
Gerrit-Attention: Koji Ishii <ko...@chromium.org>
Gerrit-Attention: Felipe Erias <felip...@igalia.com>
Gerrit-Comment-Date: Mon, 25 Aug 2025 01:42:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Felipe Erias <felip...@igalia.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Felipe Erias (Gerrit)

unread,
Aug 29, 2025, 8:00:36 AM (11 days ago) Aug 29
to Kent Tamura, Koji Ishii, Chromium LUCI CQ, Alexis Menard, chromium...@chromium.org, AyeAye, Blink W3C Test Autoroller, blink-...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, kinuko...@chromium.org, blink-rev...@chromium.org
Attention needed from Kent Tamura and Koji Ishii

Felipe Erias voted and added 1 comment

Votes added by Felipe Erias

Commit-Queue+1

1 comment

Patchset-level comments
File-level comment, Patchset 2:
Felipe Erias . unresolved

Hello,

Unfortunately, the previous patch was reverted because these tests failed on Windows:

  • css1/text_properties/text_transform.html
  • css2.1/t1605-c545-txttrans-00-b-ag.html
  • fast/css/textCapitalizeEdgeCases.html
  • virtual/text-antialias/capitalize-empty-generated-string.html
  • external/wpt/css/CSS2/text/text-transform-cap-002.xht
  • external/wpt/css/CSS2/text/text-transform-cap-003.xht
  • external/wpt/css/css-text/text-transform/text-transform-capitalize-033.html
  • external/wpt/css/css-text/text-transform/text-transform-capitalize-036.html

https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Win10/160052/overview

I have rebased the CL and ran the tests again, and this time they passed.

Since those failing tests were not directly related to this CL, maybe it is fine to reland it?

I'll defer to your experience on this decision.

Thank you and best regards,

Felipe

Kent Tamura

https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Win10?limit=200&cursor=id%3E8705855725554193969

These tests started failing when the original CL was merged, and stopped failing when it was reverted. Merging this without any changes will very likely make the tests start failing again.

Unfortunately we don't have a try bot for "WebKit Win10". Can you try to reproduce the failures with Windows 32bit build?

Felipe Erias

The builder machine that failed was `WebKit Win10`, the page says that is mirrored by the try builder `win_chromium_compile_rel_ng` but I don't know if that is enough for our purposes:

https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Win10

I have spent some time looking into this issue. This is my best guess at the moment.

Before the patch, the generated `ETextTransform` enum looked like this:

```
enum class ETextTransform : uint8_t {
kNone, // 0
kCapitalize, // 1
kUppercase, // 2
kLowercase, // 3
kMathAuto, // 4
};
```

When `full-width` was added, its value is inserted before most of the others in the generated enum:

```
enum class ETextTransform : uint8_t {
kNone, // 0
kFullWidth, // 1 (inserted here)
kCapitalize, // 2 (was 1)
kUppercase, // 3 (was 2)
kLowercase, // 4 (was 3)
kMathAuto, // 5 (was 4)
};
```

All of the failing tests check the interaction between `text-transform:capitalize` inside and `<span>` elements.

In particular, word boundary detection for `text-transform:capitalize` was broken when crossing <span> boundaries. The system was incorrectly treating characters after span boundaries as if they were at the start of a new word.

For example, in `external/wpt/css/CSS2/text/text-transform-cap-002.xht`:

```
T<span style="text-transform:capitalize">his text should be capitalized.</span>
```

  • Expected: `This text should be capitalized.`
  • Actual: `THis text should be capitalized.`

The `h` after the span boundary is incorrectly capitalized, suggesting the system thinks it is at a word boundary when it's actually in the middle of the word `"This"`.

My suspicion is that this builder might have been using stale intermediate files, so some code was using the new enum ordering while other code was using the old one.

I can not be 100% sure, but it seems that this might have reset the `previous_character` so the transform code assumed incorrectly that there was a word boundary.

Like I said, this is my best guess at the moment. If this is correct, then a full rebuild should be enough to fix the issue.

I have ran the standard CQ run plus additional Windows builds, including `win_chromium_compile_rel_ng`. No failures (except an infra failure in `win-arm64-rel`).

Best,
Felipe

Open in Gerrit

Related details

Attention is currently required from:
  • Kent Tamura
  • Koji Ishii
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: If19334a44d360e705129559a098d22c4fb7d59b9
    Gerrit-Change-Number: 6875479
    Gerrit-PatchSet: 5
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Comment-Date: Fri, 29 Aug 2025 12:00:07 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Kent Tamura <tk...@chromium.org>
    Comment-In-Reply-To: Felipe Erias <felip...@igalia.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kent Tamura (Gerrit)

    unread,
    Sep 1, 2025, 2:52:24 AM (9 days ago) Sep 1
    to Felipe Erias, Kent Tamura, Koji Ishii, Chromium LUCI CQ, Alexis Menard, chromium...@chromium.org, AyeAye, Blink W3C Test Autoroller, blink-...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, jmedle...@chromium.org, apavlo...@chromium.org, kinuko...@chromium.org, blink-rev...@chromium.org
    Attention needed from Felipe Erias and Koji Ishii

    Kent Tamura added 1 comment

    Patchset-level comments
    Kent Tamura

    the page says that is mirrored by the try builder `win_chromium_compile_rel_ng` but I don't know if that is enough for our purposes:

    `win_chromium_compile_rel_ng` doesn't run any tests, so it's not helpful.

    Have you tried to reproduce the issue on Windows 32bit locally? If the issue was not reproducible locally, it would be a build issue like the stale files and we should resolve or avoid the build issue. Otherwise, it might affect the production and we need to identify the root cause.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Felipe Erias
    • Koji Ishii
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: If19334a44d360e705129559a098d22c4fb7d59b9
    Gerrit-Change-Number: 6875479
    Gerrit-PatchSet: 5
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Attention: Felipe Erias <felip...@igalia.com>
    Gerrit-Comment-Date: Mon, 01 Sep 2025 06:51:57 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages