Add `column-height` to `columns` shorthand. Reset `column-wrap`. [chromium/src : main]

0 views
Skip to first unread message

Morten Stenshorne (Gerrit)

unread,
Aug 19, 2025, 12:07:14 PMAug 19
to Rune Lillesveen, AyeAye, Alexis Menard, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Rune Lillesveen

New activity on the change

Open in Gerrit

Related details

Attention is currently required from:
  • Rune Lillesveen
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
Gerrit-Change-Number: 6850512
Gerrit-PatchSet: 12
Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
Gerrit-Comment-Date: Tue, 19 Aug 2025 16:06:58 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Rune Lillesveen (Gerrit)

unread,
Aug 20, 2025, 4:50:34 AMAug 20
to Morten Stenshorne, Rune Lillesveen, AyeAye, Alexis Menard, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Morten Stenshorne

Rune Lillesveen added 1 comment

File third_party/blink/renderer/core/css/css_properties.json5
Line 8909, Patchset 12 (Latest): longhands: ["column-width", "column-count", "column-height", "column-wrap"],
Rune Lillesveen . unresolved

I think `transition-property:columns` will start transitioning `column-height` and `column-wrap` regardless of the runtime flag?

Open in Gerrit

Related details

Attention is currently required from:
  • Morten Stenshorne
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement 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: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
    Gerrit-Change-Number: 6850512
    Gerrit-PatchSet: 12
    Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
    Gerrit-Comment-Date: Wed, 20 Aug 2025 08:50:19 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Morten Stenshorne (Gerrit)

    unread,
    Aug 20, 2025, 5:08:41 AMAug 20
    to Rune Lillesveen, AyeAye, Alexis Menard, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Rune Lillesveen

    Morten Stenshorne added 1 comment

    File third_party/blink/renderer/core/css/css_properties.json5
    Line 8909, Patchset 12 (Latest): longhands: ["column-width", "column-count", "column-height", "column-wrap"],
    Rune Lillesveen . unresolved

    I think `transition-property:columns` will start transitioning `column-height` and `column-wrap` regardless of the runtime flag?

    Morten Stenshorne

    I was concerned about this change, too. I was wondering how StylePropertySerializer::CommonShorthandChecks() would work when the feature is disabled. But `longhand_count` is 2 when the feature is disabled, and 4 if it's enabled. Since `column-height` and `column-wrap` only exist when the feature is enabled, there seems to be a fairy that takes care of this for us?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Rune Lillesveen
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement 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: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
    Gerrit-Change-Number: 6850512
    Gerrit-PatchSet: 12
    Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
    Gerrit-Comment-Date: Wed, 20 Aug 2025 09:08:23 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Rune Lillesveen <fut...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rune Lillesveen (Gerrit)

    unread,
    Aug 20, 2025, 5:13:46 AMAug 20
    to Morten Stenshorne, Rune Lillesveen, AyeAye, Alexis Menard, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Morten Stenshorne

    Rune Lillesveen voted and added 2 comments

    Votes added by Rune Lillesveen

    Code-Review+1

    2 comments

    Patchset-level comments
    File-level comment, Patchset 12 (Latest):
    Rune Lillesveen . resolved

    lgtm

    File third_party/blink/renderer/core/css/css_properties.json5
    Line 8909, Patchset 12 (Latest): longhands: ["column-width", "column-count", "column-height", "column-wrap"],
    Rune Lillesveen . resolved

    I think `transition-property:columns` will start transitioning `column-height` and `column-wrap` regardless of the runtime flag?

    Morten Stenshorne

    I was concerned about this change, too. I was wondering how StylePropertySerializer::CommonShorthandChecks() would work when the feature is disabled. But `longhand_count` is 2 when the feature is disabled, and 4 if it's enabled. Since `column-height` and `column-wrap` only exist when the feature is enabled, there seems to be a fairy that takes care of this for us?

    Rune Lillesveen

    I was concerned about this change, too. I was wondering how StylePropertySerializer::CommonShorthandChecks() would work when the feature is disabled. But `longhand_count` is 2 when the feature is disabled, and 4 if it's enabled. Since `column-height` and `column-wrap` only exist when the feature is enabled, there seems to be a fairy that takes care of this for us?

    Ah, I missed that these are both covered by the runtime flag. Then they're filtered by the python scripts.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Morten Stenshorne
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement 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: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
      Gerrit-Change-Number: 6850512
      Gerrit-PatchSet: 12
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
      Gerrit-CC: Alexis Menard <alexis...@intel.com>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Comment-Date: Wed, 20 Aug 2025 09:13:32 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Rune Lillesveen <fut...@chromium.org>
      Comment-In-Reply-To: Morten Stenshorne <mste...@chromium.org>
      satisfied_requirement
      open
      diffy

      Morten Stenshorne (Gerrit)

      unread,
      Aug 20, 2025, 5:34:13 AMAug 20
      to Rune Lillesveen, AyeAye, Alexis Menard, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org

      Morten Stenshorne 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
      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: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
      Gerrit-Change-Number: 6850512
      Gerrit-PatchSet: 12
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
      Gerrit-CC: Alexis Menard <alexis...@intel.com>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Comment-Date: Wed, 20 Aug 2025 09:33:57 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Aug 20, 2025, 6:31:08 AMAug 20
      to Morten Stenshorne, Rune Lillesveen, AyeAye, Alexis Menard, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org

      Chromium LUCI CQ submitted the change

      Change information

      Commit message:
      Add `column-height` to `columns` shorthand. Reset `column-wrap`.

      Add `column-height` to the `columns` shorthand, as resolved here:
      https://github.com/w3c/csswg-drafts/issues/12050#issuecomment-3160860557

      The new syntax is: `[ <'column-width'> || <'column-count'> ] [ / <'column-height'> ]?`.

      Additionally the `columns` shorthand now resets the `column-wrap`
      property to its initial value.

      The new serialization code for `columns` also strips extraneous `auto`
      keywords, so that e.g. `columns:auto` gets serialized as `columns:auto`,
      not `columns:auto auto`, so that round-tripping no longer fails in
      CSSParserImplTest.AllPropertiesCanParseImportant. This fix also affects
      other tests, so that their expectations had to be updated.

      Furthermore, since new longhands are added to the `columns` shorthand,
      specifying only `column-count` and `column-width` now will result in
      an empty string from getPropertyValue("columns"), since two longhands
      are missing. Tests had to be updated because of this as well.

      All behind runtime flag MulticolColumnWrapping.

      Generated with gemini-cli assistance #ai-assisted (except for tests -
      they are handwritten)
      Bug: 436847954, 403183884
      Change-Id: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
      Reviewed-by: Rune Lillesveen <fut...@chromium.org>
      Commit-Queue: Morten Stenshorne <mste...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1503842}
      Files:
      • M third_party/blink/renderer/core/css/css_properties.json5
      • M third_party/blink/renderer/core/css/parser/css_parser_impl_test.cc
      • M third_party/blink/renderer/core/css/properties/shorthands/shorthands_custom.cc
      • M third_party/blink/renderer/core/css/style_property_serializer.cc
      • A third_party/blink/web_tests/external/wpt/css/css-multicol/animation/column-wrap-reset-interpolation.html
      • A third_party/blink/web_tests/external/wpt/css/css-multicol/animation/columns-interpolation.html
      • M third_party/blink/web_tests/external/wpt/css/css-multicol/animation/discrete-no-interpolation.html
      • A third_party/blink/web_tests/external/wpt/css/css-multicol/columns-shorthand-reset-wrap.html
      • A third_party/blink/web_tests/external/wpt/css/css-multicol/parsing/columns-computed.html
      • M third_party/blink/web_tests/external/wpt/css/css-multicol/parsing/columns-invalid.html
      • M third_party/blink/web_tests/external/wpt/css/css-multicol/parsing/columns-valid.html
      • M third_party/blink/web_tests/external/wpt/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt
      • M third_party/blink/web_tests/external/wpt/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt
      • M third_party/blink/web_tests/external/wpt/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt
      • M third_party/blink/web_tests/fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand-expected.txt
      • M third_party/blink/web_tests/fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
      • M third_party/blink/web_tests/fast/css/getPropertyValue-columns-expected.txt
      • M third_party/blink/web_tests/fast/css/getPropertyValue-columns.html
      • M third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
      Change size: L
      Delta: 19 files changed, 432 insertions(+), 59 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Rune Lillesveen
      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: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
      Gerrit-Change-Number: 6850512
      Gerrit-PatchSet: 13
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      open
      diffy
      satisfied_requirement

      Blink W3C Test Autoroller (Gerrit)

      unread,
      Aug 20, 2025, 7:17:33 AMAug 20
      to Morten Stenshorne, Chromium LUCI CQ, Rune Lillesveen, AyeAye, Alexis Menard, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@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/54423

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement 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: Iaf56d1fd0320d5df50228c58fb6669647c8728e9
      Gerrit-Change-Number: 6850512
      Gerrit-PatchSet: 13
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
      Gerrit-CC: Alexis Menard <alexis...@intel.com>
      Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Comment-Date: Wed, 20 Aug 2025 11:17:26 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages