blink/css: Implement text-transform: full-size-kana [chromium/src : main]

0 views
Skip to first unread message

Felipe Erias (Gerrit)

unread,
Jan 28, 2026, 8:12:48 PMJan 28
to Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
Attention needed from Kent Tamura and Koji Ishii

Felipe Erias added 1 comment

Patchset-level comments
File-level comment, Patchset 1:
Felipe Erias . resolved

Hello,

This CL adds support for `text-transform: full-size-kana` defined in

https://www.w3.org/TR/css-text-3/#valdef-text-transform-full-size-kana

Chrome Status:

https://chromestatus.com/feature/5173990610042880

Thank you very much for your review.


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 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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
Gerrit-Change-Number: 7525629
Gerrit-PatchSet: 2
Gerrit-Owner: Felipe Erias <felip...@igalia.com>
Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-Attention: Koji Ishii <ko...@chromium.org>
Gerrit-Attention: Kent Tamura <tk...@chromium.org>
Gerrit-Comment-Date: Thu, 29 Jan 2026 01:12:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Kent Tamura (Gerrit)

unread,
Jan 28, 2026, 8:41:01 PMJan 28
to Felipe Erias, Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
Attention needed from Felipe Erias and Koji Ishii

Kent Tamura added 1 comment

File third_party/blink/renderer/core/style/computed_style.cc
Line 2101, Patchset 2 (Latest): offset_map->Append(text.length(), transformed_string.length());
Kent Tamura . unresolved

The `offset_map` won't have correct content with this code, and I think we will have weird behavior on selecting the transformed text.

Entries in TextOffsetMap are necessary only if text offsets in two strings are different. We need to call `TextOffsetMap::Append` only when `*it > 0xffff` and `FullSizeKanaVariant(*it) > 0xffff` are different.

I found `ApplyFullwidthTransform()` below had the same issue.

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
    • 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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
    Gerrit-Change-Number: 7525629
    Gerrit-PatchSet: 2
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Felipe Erias <felip...@igalia.com>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Comment-Date: Thu, 29 Jan 2026 01:40:29 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Felipe Erias (Gerrit)

    unread,
    Jan 30, 2026, 12:13:46 AMJan 30
    to Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Kent Tamura and Koji Ishii

    Felipe Erias added 1 comment

    File third_party/blink/renderer/core/style/computed_style.cc
    Line 2101, Patchset 2: offset_map->Append(text.length(), transformed_string.length());
    Kent Tamura . unresolved

    The `offset_map` won't have correct content with this code, and I think we will have weird behavior on selecting the transformed text.

    Entries in TextOffsetMap are necessary only if text offsets in two strings are different. We need to call `TextOffsetMap::Append` only when `*it > 0xffff` and `FullSizeKanaVariant(*it) > 0xffff` are different.

    I found `ApplyFullwidthTransform()` below had the same issue.

    Felipe Erias

    Yes, although I think that `ApplyFullwidthTransform()` is not problematic because all the transformations are from BMP to BMP characters so the UTF-16 length remains the same.

    Nevertheless, I have replaced the incorrect implementation there with a clarifying comment.

    ---

    In the case of `ApplyFullSizeKanaTransform()`, some of the characters involved are encoded as a surrogate pair so the total length can change.

    For example:

    ```
    case 0x1B132: // Hiragana small ko
    return 0x3053;
    ```

    In this case, I have updated the code as suggested.

    Should we also add a test specifically for this?

    Perhaps something similar to `web_tests/editing/selection/modify_move/move-by-character-text-transform.html`?

    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
    • 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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
    Gerrit-Change-Number: 7525629
    Gerrit-PatchSet: 3
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Comment-Date: Fri, 30 Jan 2026 05:13:25 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Kent Tamura <tk...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kent Tamura (Gerrit)

    unread,
    Jan 30, 2026, 1:05:29 AMJan 30
    to Felipe Erias, Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Felipe Erias and Koji Ishii

    Kent Tamura added 1 comment

    File third_party/blink/renderer/core/style/computed_style.cc
    Line 2101, Patchset 2: offset_map->Append(text.length(), transformed_string.length());
    Kent Tamura . unresolved

    The `offset_map` won't have correct content with this code, and I think we will have weird behavior on selecting the transformed text.

    Entries in TextOffsetMap are necessary only if text offsets in two strings are different. We need to call `TextOffsetMap::Append` only when `*it > 0xffff` and `FullSizeKanaVariant(*it) > 0xffff` are different.

    I found `ApplyFullwidthTransform()` below had the same issue.

    Felipe Erias

    Yes, although I think that `ApplyFullwidthTransform()` is not problematic because all the transformations are from BMP to BMP characters so the UTF-16 length remains the same.

    Nevertheless, I have replaced the incorrect implementation there with a clarifying comment.

    ---

    In the case of `ApplyFullSizeKanaTransform()`, some of the characters involved are encoded as a surrogate pair so the total length can change.

    For example:

    ```
    case 0x1B132: // Hiragana small ko
    return 0x3053;
    ```

    In this case, I have updated the code as suggested.

    Should we also add a test specifically for this?

    Perhaps something similar to `web_tests/editing/selection/modify_move/move-by-character-text-transform.html`?

    Kent Tamura

    You're right. `ApplyFullwidthTransform()` has no problems.

    Adding new test cases to `move-by-character-text-transform.html` would be great.

    Also, we may add a WPT like `css/css-text/text-transform/math/text-transform-math-auto-003.html`.

    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
    • 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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
    Gerrit-Change-Number: 7525629
    Gerrit-PatchSet: 3
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Felipe Erias <felip...@igalia.com>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Comment-Date: Fri, 30 Jan 2026 06:05:06 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Felipe Erias <felip...@igalia.com>
    Comment-In-Reply-To: Kent Tamura <tk...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kent Tamura (Gerrit)

    unread,
    Jan 30, 2026, 2:11:04 AMJan 30
    to Felipe Erias, Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Felipe Erias and Koji Ishii

    Kent Tamura added 1 comment

    File third_party/blink/renderer/core/style/computed_style.cc
    Line 2096, Patchset 3 (Latest): CodePointIterator begin(text);
    CodePointIterator end = CodePointIterator::End(text);
    for (auto it = begin; it != end; ++it) {
    UChar32 code_point = *it;
    UChar32 transformed = FullSizeKanaVariant(code_point);
    Kent Tamura . unresolved

    nit: We can simplify this to:

    ```c++
    for (UChar32 code_point : text) {
    ```

    Gerrit-Comment-Date: Fri, 30 Jan 2026 07:10:35 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Koji Ishii (Gerrit)

    unread,
    Feb 2, 2026, 11:45:34 PM (10 days ago) Feb 2
    to Felipe Erias, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Felipe Erias

    Koji Ishii added 1 comment

    File third_party/blink/renderer/core/style/computed_style.cc
    Line 1965, Patchset 4 (Latest):UChar32 FullSizeKanaVariant(UChar32 code_point) {
    Koji Ishii . unresolved

    nit: How about moving this to the `Character` class?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Felipe Erias
    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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
    Gerrit-Change-Number: 7525629
    Gerrit-PatchSet: 4
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Felipe Erias <felip...@igalia.com>
    Gerrit-Comment-Date: Tue, 03 Feb 2026 04:45:00 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Felipe Erias (Gerrit)

    unread,
    Feb 4, 2026, 6:46:45 AM (9 days ago) Feb 4
    to Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Kent Tamura and Koji Ishii

    Felipe Erias added 3 comments

    File third_party/blink/renderer/core/style/computed_style.cc
    Line 1965, Patchset 4:UChar32 FullSizeKanaVariant(UChar32 code_point) {
    Koji Ishii . unresolved

    nit: How about moving this to the `Character` class?

    Felipe Erias

    Yes, that makes sense. I have updated this CL so that `FullSizeKanaVariant` is already in the `Character` class.

    I will do the same for the `full-width` mapping in a separate CL.

    Line 2096, Patchset 3: CodePointIterator begin(text);

    CodePointIterator end = CodePointIterator::End(text);
    for (auto it = begin; it != end; ++it) {
    UChar32 code_point = *it;
    UChar32 transformed = FullSizeKanaVariant(code_point);
    Kent Tamura . resolved

    nit: We can simplify this to:

    ```c++
    for (UChar32 code_point : text) {
    ```

    Felipe Erias

    Done

    Line 2101, Patchset 2: offset_map->Append(text.length(), transformed_string.length());
    Kent Tamura . unresolved

    The `offset_map` won't have correct content with this code, and I think we will have weird behavior on selecting the transformed text.

    Entries in TextOffsetMap are necessary only if text offsets in two strings are different. We need to call `TextOffsetMap::Append` only when `*it > 0xffff` and `FullSizeKanaVariant(*it) > 0xffff` are different.

    I found `ApplyFullwidthTransform()` below had the same issue.

    Felipe Erias

    Yes, although I think that `ApplyFullwidthTransform()` is not problematic because all the transformations are from BMP to BMP characters so the UTF-16 length remains the same.

    Nevertheless, I have replaced the incorrect implementation there with a clarifying comment.

    ---

    In the case of `ApplyFullSizeKanaTransform()`, some of the characters involved are encoded as a surrogate pair so the total length can change.

    For example:

    ```
    case 0x1B132: // Hiragana small ko
    return 0x3053;
    ```

    In this case, I have updated the code as suggested.

    Should we also add a test specifically for this?

    Perhaps something similar to `web_tests/editing/selection/modify_move/move-by-character-text-transform.html`?

    Kent Tamura

    You're right. `ApplyFullwidthTransform()` has no problems.

    Adding new test cases to `move-by-character-text-transform.html` would be great.

    Also, we may add a WPT like `css/css-text/text-transform/math/text-transform-math-auto-003.html`.

    Felipe Erias

    Yes, this CL now includes:

    • new cases in `move-by-character-text-transform.html`
    • `text-transform-full-size-kana-009.html` testing the behaviour of `Selection.toString()`
    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
    • 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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
    Gerrit-Change-Number: 7525629
    Gerrit-PatchSet: 8
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Comment-Date: Wed, 04 Feb 2026 11:46:33 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Felipe Erias <felip...@igalia.com>
    Comment-In-Reply-To: Koji Ishii <ko...@chromium.org>
    Comment-In-Reply-To: Kent Tamura <tk...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kent Tamura (Gerrit)

    unread,
    Feb 4, 2026, 9:25:36 PM (8 days ago) Feb 4
    to Felipe Erias, Kent Tamura, Koji Ishii, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Felipe Erias and Koji Ishii

    Kent Tamura voted Code-Review+1

    Code-Review+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Felipe Erias
    • Koji Ishii
    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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
    Gerrit-Change-Number: 7525629
    Gerrit-PatchSet: 8
    Gerrit-Owner: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Felipe Erias <felip...@igalia.com>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Comment-Date: Thu, 05 Feb 2026 02:25:04 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Koji Ishii (Gerrit)

    unread,
    Feb 6, 2026, 3:43:59 AM (7 days ago) Feb 6
    to Felipe Erias, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Felipe Erias

    Koji Ishii voted and added 1 comment

    Votes added by Koji Ishii

    Code-Review+1

    1 comment

    Patchset-level comments
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Felipe Erias
    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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
      Gerrit-Change-Number: 7525629
      Gerrit-PatchSet: 8
      Gerrit-Owner: Felipe Erias <felip...@igalia.com>
      Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
      Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
      Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Felipe Erias <felip...@igalia.com>
      Gerrit-Comment-Date: Fri, 06 Feb 2026 08:43:18 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Felipe Erias (Gerrit)

      unread,
      Feb 9, 2026, 7:50:45 PM (3 days ago) Feb 9
      to Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

      Felipe Erias added 2 comments

      File third_party/blink/renderer/core/style/computed_style.cc
      Line 1965, Patchset 4:UChar32 FullSizeKanaVariant(UChar32 code_point) {
      Koji Ishii . resolved

      nit: How about moving this to the `Character` class?

      Felipe Erias

      Yes, that makes sense. I have updated this CL so that `FullSizeKanaVariant` is already in the `Character` class.

      I will do the same for the `full-width` mapping in a separate CL.

      Felipe Erias

      Done

      Line 2101, Patchset 2: offset_map->Append(text.length(), transformed_string.length());
      Kent Tamura . resolved

      The `offset_map` won't have correct content with this code, and I think we will have weird behavior on selecting the transformed text.

      Entries in TextOffsetMap are necessary only if text offsets in two strings are different. We need to call `TextOffsetMap::Append` only when `*it > 0xffff` and `FullSizeKanaVariant(*it) > 0xffff` are different.

      I found `ApplyFullwidthTransform()` below had the same issue.

      Felipe Erias

      Yes, although I think that `ApplyFullwidthTransform()` is not problematic because all the transformations are from BMP to BMP characters so the UTF-16 length remains the same.

      Nevertheless, I have replaced the incorrect implementation there with a clarifying comment.

      ---

      In the case of `ApplyFullSizeKanaTransform()`, some of the characters involved are encoded as a surrogate pair so the total length can change.

      For example:

      ```
      case 0x1B132: // Hiragana small ko
      return 0x3053;
      ```

      In this case, I have updated the code as suggested.

      Should we also add a test specifically for this?

      Perhaps something similar to `web_tests/editing/selection/modify_move/move-by-character-text-transform.html`?

      Kent Tamura

      You're right. `ApplyFullwidthTransform()` has no problems.

      Adding new test cases to `move-by-character-text-transform.html` would be great.

      Also, we may add a WPT like `css/css-text/text-transform/math/text-transform-math-auto-003.html`.

      Felipe Erias

      Yes, this CL now includes:

      • new cases in `move-by-character-text-transform.html`
      • `text-transform-full-size-kana-009.html` testing the behaviour of `Selection.toString()`
      Felipe Erias

      Done

      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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
        Gerrit-Change-Number: 7525629
        Gerrit-PatchSet: 8
        Gerrit-Owner: Felipe Erias <felip...@igalia.com>
        Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
        Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
        Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
        Gerrit-CC: Menard, Alexis <alexis...@intel.com>
        Gerrit-Comment-Date: Tue, 10 Feb 2026 00:50:20 +0000
        satisfied_requirement
        open
        diffy

        Felipe Erias (Gerrit)

        unread,
        Feb 9, 2026, 7:50:49 PM (3 days ago) Feb 9
        to Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

        Felipe Erias 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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
        Gerrit-Change-Number: 7525629
        Gerrit-PatchSet: 8
        Gerrit-Owner: Felipe Erias <felip...@igalia.com>
        Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
        Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
        Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
        Gerrit-CC: Menard, Alexis <alexis...@intel.com>
        Gerrit-Comment-Date: Tue, 10 Feb 2026 00:50:27 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Blink W3C Test Autoroller (Gerrit)

        unread,
        Feb 9, 2026, 8:02:11 PM (3 days ago) Feb 9
        to Felipe Erias, Koji Ishii, Kent Tamura, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

        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/57671.

        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 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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
        Gerrit-Change-Number: 7525629
        Gerrit-PatchSet: 8
        Gerrit-Owner: Felipe Erias <felip...@igalia.com>
        Gerrit-Reviewer: Felipe Erias <felip...@igalia.com>
        Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
        Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        Gerrit-CC: Menard, Alexis <alexis...@intel.com>
        Gerrit-Comment-Date: Tue, 10 Feb 2026 01:02:03 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy

        Chromium LUCI CQ (Gerrit)

        unread,
        Feb 9, 2026, 10:46:23 PM (3 days ago) Feb 9
        to Felipe Erias, Blink W3C Test Autoroller, Koji Ishii, Kent Tamura, AyeAye, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

        Chromium LUCI CQ submitted the change

        Change information

        Commit message:
        blink/css: Implement text-transform: full-size-kana

        Supports CSS text-transform: full-size-kana from CSS Text Level 3.

        https://www.w3.org/TR/css-text-3/#valdef-text-transform-full-size-kana

        This value transforms small kana characters to their full-size
        equivalents. It is typically used for ruby annotation text, where small
        kana may be rendered at font sizes too small for legibility.

        The character mappings follow CSS Text Level 3, Appendix G:

        https://www.w3.org/TR/css-text-3/#small-kana

        Tests:

        external/wpt/css/css-text/text-transform-full-size-kana-001.html
        external/wpt/css/css-text/text-transform-full-size-kana-002.html
        external/wpt/css/css-text/text-transform-full-size-kana-003.html
        external/wpt/css/css-text/text-transform-full-size-kana-004.html
        external/wpt/css/css-text/text-transform-full-size-kana-005.html
        external/wpt/css/css-text/text-transform-full-size-kana-006.html
        external/wpt/css/css-text/text-transform-full-size-kana-007.html
        external/wpt/css/css-text/text-transform-full-size-kana-008.html
        external/wpt/css/css-text/text-transform-full-size-kana-009.html
        editing/selection/modify_move/move-by-character-text-transform.html
        Bug: 40928177
        Change-Id: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
        Reviewed-by: Kent Tamura <tk...@chromium.org>
        Commit-Queue: Felipe Erias <felip...@igalia.com>
        Reviewed-by: Koji Ishii <ko...@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#1582247}
        Files:
        • M third_party/blink/renderer/core/css/css_properties.json5
        • M third_party/blink/renderer/core/css/css_value_keywords.json5
        • M third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
        • M third_party/blink/renderer/core/style/computed_style.cc
        • M third_party/blink/renderer/platform/runtime_enabled_features.json5
        • M third_party/blink/renderer/platform/text/character.cc
        • M third_party/blink/renderer/platform/text/character.h
        • M third_party/blink/web_tests/NeverFixTests
        • M third_party/blink/web_tests/TestExpectations
        • M third_party/blink/web_tests/editing/selection/modify_move/move-by-character-text-transform.html
        • M third_party/blink/web_tests/external/wpt/css/css-text/parsing/text-transform-computed-expected.txt
        • M third_party/blink/web_tests/external/wpt/css/css-text/parsing/text-transform-valid-expected.txt
        • A third_party/blink/web_tests/external/wpt/css/css-text/text-transform/text-transform-full-size-kana-009.html
        Change size: L
        Delta: 13 files changed, 299 insertions(+), 24 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +1 by Koji Ishii, +1 by Kent Tamura
        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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
        Gerrit-Change-Number: 7525629
        Gerrit-PatchSet: 9
        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: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        open
        diffy
        satisfied_requirement

        Blink W3C Test Autoroller (Gerrit)

        unread,
        Feb 10, 2026, 12:55:38 AM (3 days ago) Feb 10
        to Chromium LUCI CQ, Felipe Erias, Koji Ishii, Kent Tamura, AyeAye, Menard, Alexis, chromium...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

        Message from Blink W3C Test Autoroller

        The WPT PR for this CL has been merged upstream! https://github.com/web-platform-tests/wpt/pull/57671

        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: Ica0cdbbca3e6222ff6c433d5ea8b79aeada002f0
        Gerrit-Change-Number: 7525629
        Gerrit-PatchSet: 9
        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: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        Gerrit-CC: Menard, Alexis <alexis...@intel.com>
        Gerrit-Comment-Date: Tue, 10 Feb 2026 05:55:32 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy
        Reply all
        Reply to author
        Forward
        0 new messages