Implement trailing Ogham Space Mark removal per CSS Text 3 [chromium/src : main]

1 view
Skip to first unread message

Nils Enevoldsen (Gerrit)

unread,
Mar 4, 2026, 12:29:57 PMMar 4
to Koji Ishii, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
Attention needed from Javier Fernandez, Kent Tamura and Koji Ishii

Nils Enevoldsen added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Nils Enevoldsen . resolved

I am a first time contributor so please forgive any inevitable process errors.

Open in Gerrit

Related details

Attention is currently required from:
  • Javier Fernandez
  • 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: I9352dd98e606702b8c856780247d9c78609c390f
Gerrit-Change-Number: 7634418
Gerrit-PatchSet: 1
Gerrit-Owner: Nils Enevoldsen <ni...@wlonk.com>
Gerrit-Reviewer: Javier Fernandez <jfern...@chromium.org>
Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
Gerrit-Attention: Koji Ishii <ko...@chromium.org>
Gerrit-Attention: Kent Tamura <tk...@chromium.org>
Gerrit-Comment-Date: Wed, 04 Mar 2026 17:29:52 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Koji Ishii (Gerrit)

unread,
Mar 4, 2026, 1:58:39 PMMar 4
to Nils Enevoldsen, Chromium LUCI CQ, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
Attention needed from Javier Fernandez, Kent Tamura and Nils Enevoldsen

Koji Ishii added 1 comment

File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
Line 1399, Patchset 1 (Latest): MappingBuilder>::RemoveTrailingOghamSpaceIfExists() {
Koji Ishii . unresolved

Can you explain why this is a separate function, instead of doing this in `RemoveTrailingCollapsibleSpace`?

Open in Gerrit

Related details

Attention is currently required from:
  • Javier Fernandez
  • Kent Tamura
  • Nils Enevoldsen
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: I9352dd98e606702b8c856780247d9c78609c390f
    Gerrit-Change-Number: 7634418
    Gerrit-PatchSet: 1
    Gerrit-Owner: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Reviewer: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Comment-Date: Wed, 04 Mar 2026 18:58:07 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nils Enevoldsen (Gerrit)

    unread,
    Mar 4, 2026, 2:07:33 PMMar 4
    to Chromium LUCI CQ, Koji Ishii, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Javier Fernandez, Kent Tamura and Koji Ishii

    Nils Enevoldsen added 1 comment

    File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
    Line 1399, Patchset 1 (Latest): MappingBuilder>::RemoveTrailingOghamSpaceIfExists() {
    Koji Ishii . unresolved

    Can you explain why this is a separate function, instead of doing this in `RemoveTrailingCollapsibleSpace`?

    Nils Enevoldsen

    I considered both options, but I did it this way because I thought it aligned with the spec more closely. "A sequence of collapsible spaces at the end of a line is removed, as well as any trailing U+1680   OGHAM SPACE MARK whose white-space property is normal, nowrap, or pre-line." (https://drafts.csswg.org/css-text/#white-space-phase-2) The Ogham Space Mark is not collapsible space, it's just handled at the same time. I can move it into `RemoveTrailingCollapsibleSpace` if you prefer. I also considered renaming `RemoveTrailingCollapsibleSpace` to something that would conceptually include the Ogham Space Mark.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Javier Fernandez
    • 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: I9352dd98e606702b8c856780247d9c78609c390f
    Gerrit-Change-Number: 7634418
    Gerrit-PatchSet: 1
    Gerrit-Owner: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Reviewer: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Comment-Date: Wed, 04 Mar 2026 19:07:25 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Koji Ishii <ko...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nils Enevoldsen (Gerrit)

    unread,
    Mar 4, 2026, 2:14:02 PMMar 4
    to Chromium LUCI CQ, Koji Ishii, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Javier Fernandez, Kent Tamura and Koji Ishii

    Nils Enevoldsen added 1 comment

    File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
    Line 1399, Patchset 1 (Latest): MappingBuilder>::RemoveTrailingOghamSpaceIfExists() {
    Koji Ishii . unresolved

    Can you explain why this is a separate function, instead of doing this in `RemoveTrailingCollapsibleSpace`?

    Nils Enevoldsen

    I considered both options, but I did it this way because I thought it aligned with the spec more closely. "A sequence of collapsible spaces at the end of a line is removed, as well as any trailing U+1680   OGHAM SPACE MARK whose white-space property is normal, nowrap, or pre-line." (https://drafts.csswg.org/css-text/#white-space-phase-2) The Ogham Space Mark is not collapsible space, it's just handled at the same time. I can move it into `RemoveTrailingCollapsibleSpace` if you prefer. I also considered renaming `RemoveTrailingCollapsibleSpace` to something that would conceptually include the Ogham Space Mark.

    Nils Enevoldsen

    Correction: I considered doing this in `RemoveTrailingCollapsibleSpaceIfExists`, not in `RemoveTrailingCollapsibleSpace`. Not sure if that's what you meant as well.

    Gerrit-Comment-Date: Wed, 04 Mar 2026 19:13:58 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Nils Enevoldsen <ni...@wlonk.com>
    Comment-In-Reply-To: Koji Ishii <ko...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Koji Ishii (Gerrit)

    unread,
    Mar 5, 2026, 2:16:53 AMMar 5
    to Nils Enevoldsen, Chromium LUCI CQ, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Javier Fernandez, Kent Tamura and Nils Enevoldsen

    Koji Ishii added 1 comment

    File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
    Line 1399, Patchset 1 (Latest): MappingBuilder>::RemoveTrailingOghamSpaceIfExists() {
    Koji Ishii . unresolved

    Can you explain why this is a separate function, instead of doing this in `RemoveTrailingCollapsibleSpace`?

    Nils Enevoldsen

    I considered both options, but I did it this way because I thought it aligned with the spec more closely. "A sequence of collapsible spaces at the end of a line is removed, as well as any trailing U+1680   OGHAM SPACE MARK whose white-space property is normal, nowrap, or pre-line." (https://drafts.csswg.org/css-text/#white-space-phase-2) The Ogham Space Mark is not collapsible space, it's just handled at the same time. I can move it into `RemoveTrailingCollapsibleSpace` if you prefer. I also considered renaming `RemoveTrailingCollapsibleSpace` to something that would conceptually include the Ogham Space Mark.

    Nils Enevoldsen

    Correction: I considered doing this in `RemoveTrailingCollapsibleSpaceIfExists`, not in `RemoveTrailingCollapsibleSpace`. Not sure if that's what you meant as well.

    Koji Ishii

    Yeah, it'd be better to do it together. to avoid having a copy of logic to find the last characters, both from code maintenance point of view and runtime performance point of view.

    I'm fine to refactor existing functions if doing so helps writing clearer code. If the refactoring goes large, maybe you want to refactor first without changing behaviors though, and you may want a runtime flag to follow the [guideline](https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md).

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Javier Fernandez
    • Kent Tamura
    • Nils Enevoldsen
    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: I9352dd98e606702b8c856780247d9c78609c390f
    Gerrit-Change-Number: 7634418
    Gerrit-PatchSet: 1
    Gerrit-Owner: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Reviewer: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Comment-Date: Thu, 05 Mar 2026 07:16:25 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Koji Ishii (Gerrit)

    unread,
    Mar 5, 2026, 2:18:02 AMMar 5
    to Nils Enevoldsen, Chromium LUCI CQ, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Javier Fernandez, Kent Tamura and Nils Enevoldsen

    Koji Ishii added 1 comment

    File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
    Line 1399, Patchset 1 (Latest): MappingBuilder>::RemoveTrailingOghamSpaceIfExists() {
    Koji Ishii . unresolved

    Can you explain why this is a separate function, instead of doing this in `RemoveTrailingCollapsibleSpace`?

    Nils Enevoldsen

    I considered both options, but I did it this way because I thought it aligned with the spec more closely. "A sequence of collapsible spaces at the end of a line is removed, as well as any trailing U+1680   OGHAM SPACE MARK whose white-space property is normal, nowrap, or pre-line." (https://drafts.csswg.org/css-text/#white-space-phase-2) The Ogham Space Mark is not collapsible space, it's just handled at the same time. I can move it into `RemoveTrailingCollapsibleSpace` if you prefer. I also considered renaming `RemoveTrailingCollapsibleSpace` to something that would conceptually include the Ogham Space Mark.

    Nils Enevoldsen

    Correction: I considered doing this in `RemoveTrailingCollapsibleSpaceIfExists`, not in `RemoveTrailingCollapsibleSpace`. Not sure if that's what you meant as well.

    Koji Ishii

    Yeah, it'd be better to do it together. to avoid having a copy of logic to find the last characters, both from code maintenance point of view and runtime performance point of view.

    I'm fine to refactor existing functions if doing so helps writing clearer code. If the refactoring goes large, maybe you want to refactor first without changing behaviors though, and you may want a runtime flag to follow the [guideline](https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md).

    Koji Ishii

    (This code is quite hot that it's good to consider performance)

    Gerrit-Comment-Date: Thu, 05 Mar 2026 07:17:32 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    chromeperf@appspot.gserviceaccount.com (Gerrit)

    unread,
    Mar 5, 2026, 4:09:30 AMMar 5
    to Nils Enevoldsen, Chromium LUCI CQ, Koji Ishii, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Javier Fernandez, Kent Tamura and Nils Enevoldsen

    Message from chrom...@appspot.gserviceaccount.com

    😿 Job linux-perf/blink_perf.layout failed.

    See results at: https://pinpoint-dot-chromeperf.appspot.com/job/12c26834090000

    Gerrit-Attention: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Comment-Date: Thu, 05 Mar 2026 09:09:17 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nils Enevoldsen (Gerrit)

    unread,
    Mar 10, 2026, 12:09:26 PMMar 10
    to chrom...@appspot.gserviceaccount.com, Chromium LUCI CQ, Koji Ishii, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Javier Fernandez, Kent Tamura and Koji Ishii

    Nils Enevoldsen added 1 comment

    File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
    Line 1399, Patchset 1: MappingBuilder>::RemoveTrailingOghamSpaceIfExists() {
    Koji Ishii . unresolved

    Can you explain why this is a separate function, instead of doing this in `RemoveTrailingCollapsibleSpace`?

    Nils Enevoldsen

    I considered both options, but I did it this way because I thought it aligned with the spec more closely. "A sequence of collapsible spaces at the end of a line is removed, as well as any trailing U+1680   OGHAM SPACE MARK whose white-space property is normal, nowrap, or pre-line." (https://drafts.csswg.org/css-text/#white-space-phase-2) The Ogham Space Mark is not collapsible space, it's just handled at the same time. I can move it into `RemoveTrailingCollapsibleSpace` if you prefer. I also considered renaming `RemoveTrailingCollapsibleSpace` to something that would conceptually include the Ogham Space Mark.

    Nils Enevoldsen

    Correction: I considered doing this in `RemoveTrailingCollapsibleSpaceIfExists`, not in `RemoveTrailingCollapsibleSpace`. Not sure if that's what you meant as well.

    Koji Ishii

    Yeah, it'd be better to do it together. to avoid having a copy of logic to find the last characters, both from code maintenance point of view and runtime performance point of view.

    I'm fine to refactor existing functions if doing so helps writing clearer code. If the refactoring goes large, maybe you want to refactor first without changing behaviors though, and you may want a runtime flag to follow the [guideline](https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md).

    Koji Ishii

    (This code is quite hot that it's good to consider performance)

    Nils Enevoldsen

    Thanks, Koji. I rarely have to worry about performance, but with your feedback I made two main changes in an attempt to improve performance.

    First, instead of creating RemoveTrailingOghamSpaceIfExists that parallels RemoveTrailingCollapsibleSpaceIfExists, I made RemoveTrailingOghamSpace that parallels RemoveTrailingCollapsibleSpace. Both functions are called by RemoveTrailingCollapsibleSpaceIfExists, which consequently now has a very slightly inaccurate name.

    Second, I hoisted some conditions for RemoveTrailingOghamSpace into RemoveTrailingCollapsibleSpaceIfExists, and added a condition for has_non_orc_16bit_ that I believe should quickly fail for most non-CJK text on the internet.

    I tried benchmarking the impact on this change in two ways.

    First, I tried adding a test in third_party/blink/perf_tests/layout/ that created thousands of words with trailing space inside a div, and repeatedly changed the width of the div, running PerfTestRunner.forceLayout each time. The results were too noisy to see any impact of this patch.

    Second, I tried adding an extremely targeted microbenchmark in third_party/blink/renderer/core/layout/inline/inline_items_builder_test.cc that specifically called RemoveTrailingCollapsibleSpaceIfExists five million times for four different strings: "hello", "hello ", "漢字テスト", and "漢字テスト ". These results were much less noisy.

    Latin, no trailing space: 7 ns baseline, 8 ns with patch
    Latin, trailing space: 7 ns baseline, 8 ns with patch
    CJK, no trailing space: 7 ns baseline, 10 ns with patch
    CJK, trailing space: 7 ns baseline, 10 ns with patch

    Then I hooked up a counter to see how often RemoveTrailingCollapsibleSpaceIfExists was called on some typical pages, and tested it on en.wikipedia.org/wiki/Platypus, nytimes.com, and news.cn.

    Wikipedia EN article: ~700 calls, ~200 with has_non_orc_16bit_, net ~1.1 µs overhead
    New York Times: ~3,700 calls, ~200 with has_non_orc_16bit_, net ~4.3 µs overhead
    Xinhua: ~1,800 calls, ~1,000 with has_non_orc_16bit_, net ~4.9 µs overhead

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Javier Fernandez
    • 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: I9352dd98e606702b8c856780247d9c78609c390f
    Gerrit-Change-Number: 7634418
    Gerrit-PatchSet: 2
    Gerrit-Owner: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Reviewer: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Comment-Date: Tue, 10 Mar 2026 16:09:21 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Helmut Januschka (Gerrit)

    unread,
    May 16, 2026, 7:19:12 PMMay 16
    to Nils Enevoldsen, Helmut Januschka, chrom...@appspot.gserviceaccount.com, Chromium LUCI CQ, Koji Ishii, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Javier Fernandez, Kent Tamura, Koji Ishii and Nils Enevoldsen

    Helmut Januschka added 1 comment

    File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
    Helmut Januschka

    Thanks for the thorough benchmarking, Nils, the numbers look good to me, that said koji is the expert here.

    One follow-up on earlier suggestion: since this changes observable behavior on a hot path, it would be worth landing this behind a runtime flag so it can be rolled out safely and disabled quickly if any regression surfaces. The guidelines are here: https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md

    A `base::Feature` (e.g. `kTrailingOghamSpaceRemoval`) wired through `RuntimeEnabledFeatures` and checked in `RemoveTrailingCollapsibleSpaceIfExists` before the Ogham branch should be enough i guess

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Javier Fernandez
    • Kent Tamura
    • Koji Ishii
    • Nils Enevoldsen
    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: I9352dd98e606702b8c856780247d9c78609c390f
    Gerrit-Change-Number: 7634418
    Gerrit-PatchSet: 2
    Gerrit-Owner: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Reviewer: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Helmut Januschka <hel...@januschka.com>
    Gerrit-Attention: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Comment-Date: Sat, 16 May 2026 23:18:53 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nils Enevoldsen (Gerrit)

    unread,
    May 31, 2026, 1:38:30 PM (4 days ago) May 31
    to Helmut Januschka, chrom...@appspot.gserviceaccount.com, Chromium LUCI CQ, Koji Ishii, Javier Fernandez, Kent Tamura, chromium...@chromium.org, Dirk Schulze, Stephen Chenney, blink-revi...@chromium.org, blink-reviews-p...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, drott+bl...@chromium.org, fmalit...@chromium.org, fserb...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Helmut Januschka, Javier Fernandez, Kent Tamura and Koji Ishii

    Nils Enevoldsen added 1 comment

    File third_party/blink/renderer/core/layout/inline/inline_items_builder.cc
    Nils Enevoldsen

    Thanks, Helmut. I have added the flag in PS3.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Helmut Januschka
    • Javier Fernandez
    • 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: I9352dd98e606702b8c856780247d9c78609c390f
    Gerrit-Change-Number: 7634418
    Gerrit-PatchSet: 3
    Gerrit-Owner: Nils Enevoldsen <ni...@wlonk.com>
    Gerrit-Reviewer: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Reviewer: Kent Tamura <tk...@chromium.org>
    Gerrit-Reviewer: Koji Ishii <ko...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Helmut Januschka <hel...@januschka.com>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
    Gerrit-Attention: Javier Fernandez <jfern...@chromium.org>
    Gerrit-Attention: Koji Ishii <ko...@chromium.org>
    Gerrit-Attention: Kent Tamura <tk...@chromium.org>
    Gerrit-Comment-Date: Sun, 31 May 2026 17:38:17 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Helmut Januschka <hel...@januschka.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages