[Masonry] Support column|row-reverse for dense-packing [chromium/src : main]

0 views
Skip to first unread message

Celeste Pan (Gerrit)

unread,
Nov 18, 2025, 12:56:49 PMNov 18
to Alison Maher, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Alison Maher and Kurt Catti-Schmidt

New activity on the change

Open in Gerrit

Related details

Attention is currently required from:
  • Alison Maher
  • Kurt Catti-Schmidt
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: If68752ca4cf7125a286d31c0578754e8dad02a96
Gerrit-Change-Number: 7092762
Gerrit-PatchSet: 12
Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
Gerrit-Attention: Alison Maher <alm...@microsoft.com>
Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
Gerrit-Comment-Date: Tue, 18 Nov 2025 17:56:37 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Alison Maher (Gerrit)

unread,
Nov 18, 2025, 4:12:41 PMNov 18
to Celeste Pan, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Celeste Pan and Kurt Catti-Schmidt

Alison Maher added 11 comments

Patchset-level comments
File-level comment, Patchset 12 (Latest):
Alison Maher . resolved

Some initial thoughts, haven't looked at tests yet

Commit Message
Line 12, Patchset 12 (Latest):This change fixes a previously existing bug in RunningPositionsIterator
Alison Maher . unresolved

nit: missing ``

Line 15, Patchset 12 (Latest):https://issues.chromium.org/issues/458993338, the tests in this change
Alison Maher . unresolved

Might be worth linking to this bug below, as well, or splitting this piece out into a pre-requisite CL

Line 18, Patchset 12 (Latest):Some changes were made to RunningPositionsIterator as we want to make it
Alison Maher . unresolved

nit: Missing ``

File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
Line 14, Patchset 12 (Latest):// TODO(celestepan): we may want to remove the CHECK in the pre-increment
// operator if we choose to have this iterator loop infinitely.
Alison Maher . unresolved

nit: is this now removable at this point?

Line 26, Patchset 12 (Latest): // the direction in which we iterate through the vector.
Alison Maher . unresolved

I'd expand on this comment to include something on `max_index`

Line 33, Patchset 12 (Latest): max_index_(max_index),
Alison Maher . unresolved

Wondering if we should do a CHECK below here that max_index_ is < running_positions.size() (same with auto_placement_index now that I think about it)

Line 45, Patchset 12 (Latest): end_index_ = (current_index_ < max_index_) ? current_index_ + 1 : 0;
Alison Maher . unresolved

I think this is guarenteed to be the case in this else statement (since the if checks `current_index_ >= max_index_`) so we could condense this if else to either

`end_index_ = (current_index_ < max_index_) ? current_index_ + 1 : 0;`

Line 57, Patchset 12 (Latest): // Post-increment operator
Alison Maher . unresolved

nit: missing punctuation. Also might be worth expanding on why we use a post increment operator in the comment if there is an easy to explain reason that is general

Line 128, Patchset 12 (Latest): /*max_index=*/max_running_positions.size() - 1, max_running_positions);
Alison Maher . unresolved

Could this one also be `- span_size` similar to below, or does it need to be - 1 in this case? If so, we could avoid passing in a max_index I think

Line 285, Patchset 12 (Latest): is_reverse_direction_ ? running_positions_.size() : 0, span_size,
Alison Maher . unresolved

Should this be - 1?

Open in Gerrit

Related details

Attention is currently required from:
  • Celeste Pan
  • Kurt Catti-Schmidt
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: If68752ca4cf7125a286d31c0578754e8dad02a96
    Gerrit-Change-Number: 7092762
    Gerrit-PatchSet: 12
    Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
    Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
    Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
    Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
    Gerrit-Attention: Celeste Pan <celes...@microsoft.com>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Comment-Date: Tue, 18 Nov 2025 21:12:33 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Celeste Pan (Gerrit)

    unread,
    Nov 18, 2025, 7:20:31 PMNov 18
    to Alison Maher, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
    Attention needed from Alison Maher and Kurt Catti-Schmidt

    Celeste Pan added 10 comments

    Commit Message
    Line 12, Patchset 12:This change fixes a previously existing bug in RunningPositionsIterator
    Alison Maher . resolved

    nit: missing ``

    Celeste Pan

    Done

    Line 15, Patchset 12:https://issues.chromium.org/issues/458993338, the tests in this change
    Alison Maher . resolved

    Might be worth linking to this bug below, as well, or splitting this piece out into a pre-requisite CL

    Celeste Pan

    Done

    Line 18, Patchset 12:Some changes were made to RunningPositionsIterator as we want to make it
    Alison Maher . resolved

    nit: Missing ``

    Celeste Pan

    Done

    File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
    Line 14, Patchset 12:// TODO(celestepan): we may want to remove the CHECK in the pre-increment

    // operator if we choose to have this iterator loop infinitely.
    Alison Maher . resolved

    nit: is this now removable at this point?

    Celeste Pan

    Yup!

    Line 26, Patchset 12: // the direction in which we iterate through the vector.
    Alison Maher . resolved

    I'd expand on this comment to include something on `max_index`

    Celeste Pan

    `max_index` parameter was removed, added a comment about usage of `max_index_` above the private variable.

    Line 33, Patchset 12: max_index_(max_index),
    Alison Maher . resolved

    Wondering if we should do a CHECK below here that max_index_ is < running_positions.size() (same with auto_placement_index now that I think about it)

    Celeste Pan

    Added check for `max_index_` but not `auto_placement_index` since it's possible that it will be greater than running_positions.size(), and in that case we adjust it.

    Line 45, Patchset 12: end_index_ = (current_index_ < max_index_) ? current_index_ + 1 : 0;
    Alison Maher . resolved

    I think this is guarenteed to be the case in this else statement (since the if checks `current_index_ >= max_index_`) so we could condense this if else to either

    `end_index_ = (current_index_ < max_index_) ? current_index_ + 1 : 0;`

    Celeste Pan

    Done

    Line 57, Patchset 12: // Post-increment operator
    Alison Maher . unresolved

    nit: missing punctuation. Also might be worth expanding on why we use a post increment operator in the comment if there is an easy to explain reason that is general

    Celeste Pan

    The reasoning is that due to infinite looping, if we use `ReturnedToStart()` as a conditional for exiting the loop, we cannot perform incrementation inside of the loop (in our case, the `do` of the loop). By using a post-increment operator, we can cleanly check the value of ReturnedToStart() and increment afterwards.

    I'm kind of on the fence of actually putting this in, since it doesn't feel that general (it's affected by how we're specifically calling RunningPositionsIterator); what are your thoughts?

    Line 128, Patchset 12: /*max_index=*/max_running_positions.size() - 1, max_running_positions);
    Alison Maher . resolved

    Could this one also be `- span_size` similar to below, or does it need to be - 1 in this case? If so, we could avoid passing in a max_index I think

    Celeste Pan

    Technically, the size of `max_running_positions` will always be `running_positions.size() - span_size`. However, I write it like this here so we maintain consistency with the vector that we're actually accessing.

    We can't get rid of `max_index_` and just perform a `running_positions.size() - span_size` calculation, because then that calculation using when we pass in `max_running_positions` for the `running_positions` parameter would be inaccurate.

    I ended up removing the GetMaxPositionsForAllTracks optimization and performing the calculation in the `RunningPositionsIterator` ctor, as it would really only save significant memory for extremely large span sizes. If we hit performance issues specifically for large span sizes, this is something we can easily change.

    Line 285, Patchset 12: is_reverse_direction_ ? running_positions_.size() : 0, span_size,
    Alison Maher . resolved

    Should this be - 1?

    Celeste Pan

    Not in this case, because we should be passing in what is essentially the auto-placement cursor's position, and in this case, it should be at the very last line (if there are 3 tracks, the auto-placement cursor would be at the last line, which in our current 0-index state, would be 3). `auto_placement_index` was what had been suggested in the previous change, but I think that terminology is actually confusing in our case; perhaps simply having `auto_placement_cursor` as the parameter name would be more accurate.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Alison Maher
    • Kurt Catti-Schmidt
    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: If68752ca4cf7125a286d31c0578754e8dad02a96
    Gerrit-Change-Number: 7092762
    Gerrit-PatchSet: 15
    Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
    Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
    Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
    Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
    Gerrit-Attention: Alison Maher <alm...@microsoft.com>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Comment-Date: Wed, 19 Nov 2025 00:20:22 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Alison Maher <alm...@microsoft.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Alison Maher (Gerrit)

    unread,
    Nov 19, 2025, 2:01:05 PMNov 19
    to Celeste Pan, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
    Attention needed from Celeste Pan and Kurt Catti-Schmidt

    Alison Maher added 7 comments

    File third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
    Line 1309, Patchset 16 (Latest): EXPECT_EQ(GetMaxPositionsForAllTracks(running_positions, /*span_size=*/2),
    Vector<LayoutUnit>({LayoutUnit(3), LayoutUnit(3.5), LayoutUnit(3.5),
    LayoutUnit(3.5)}));
    EXPECT_EQ(GetMaxPositionsForAllTracks(running_positions, /*span_size=*/4),
    Vector<LayoutUnit>({LayoutUnit(3.5), LayoutUnit(3.5),
    LayoutUnit(3.5), LayoutUnit(3.5)}));
    Alison Maher . unresolved

    Out of curiosity, why did these end up changing?

    File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
    Line 31, Patchset 16 (Latest): CHECK_LT(max_index_, running_positions_.size());
    Alison Maher . unresolved

    nit: Since we now set this to `(running_positions.size() - span_size)`, rather than passing it in, this is now implied, so ok to remove

    Line 57, Patchset 12: // Post-increment operator
    Alison Maher . resolved

    nit: missing punctuation. Also might be worth expanding on why we use a post increment operator in the comment if there is an easy to explain reason that is general

    Celeste Pan

    The reasoning is that due to infinite looping, if we use `ReturnedToStart()` as a conditional for exiting the loop, we cannot perform incrementation inside of the loop (in our case, the `do` of the loop). By using a post-increment operator, we can cleanly check the value of ReturnedToStart() and increment afterwards.

    I'm kind of on the fence of actually putting this in, since it doesn't feel that general (it's affected by how we're specifically calling RunningPositionsIterator); what are your thoughts?

    Alison Maher

    Yeah I'm ok with leaving that out in this case

    File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-001.html
    Line 7, Patchset 16 (Latest):.masonry {
    display: masonry;
    Alison Maher . unresolved

    As a heads up, I have a change to update everything use grid-lanes https://chromium-review.googlesource.com/c/chromium/src/+/7170998?tab=checks

    I have been dealing with a bunch of merge conflicts from Apple, so in order to avoid more, I'm hoping we can land that one before other CLs with tests. In which case, we'd need to update this and other tests to `display: grid-lanes` and the class name to `.grid-lanes` (but I'd wait updating until that change lands)

    Line 28, Patchset 16 (Latest): <div name="item_is_densely_packed_into_start_most_gap_of_the_same_layout_size_as_auto_placement_without_dense_packing" style="background: yellow; height: 20px;">
    Alison Maher . unresolved

    Is this name, and the ones below needed? Could maybe be a comment, instead, if needed

    Same comment for rows

    File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-multi-span-001.html
    Line 35, Patchset 16 (Latest): <p>Ensure that dense-packing with multi-span items are placed into tracks with the same used size and the same number of tracks.</p>
    Alison Maher . unresolved

    This might make sense as 5 separate tests instead of one

    Same comment for rows

    Line 84, Patchset 16 (Latest): <div style="background: lightsteelblue; height: 60px; grid-column: 1;">
    Alison Maher . unresolved

    Is this needed? Shouldn't it end up here anyways per dense packing?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Celeste Pan
    • Kurt Catti-Schmidt
    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: If68752ca4cf7125a286d31c0578754e8dad02a96
    Gerrit-Change-Number: 7092762
    Gerrit-PatchSet: 16
    Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
    Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
    Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
    Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
    Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
    Gerrit-Attention: Celeste Pan <celes...@microsoft.com>
    Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
    Gerrit-Comment-Date: Wed, 19 Nov 2025 19:00:54 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Celeste Pan <celes...@microsoft.com>
    Comment-In-Reply-To: Alison Maher <alm...@microsoft.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Celeste Pan (Gerrit)

    unread,
    Nov 19, 2025, 6:16:43 PMNov 19
    to Alison Maher, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
    Attention needed from Alison Maher and Kurt Catti-Schmidt

    Celeste Pan added 6 comments

    File third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
    Line 1309, Patchset 16: EXPECT_EQ(GetMaxPositionsForAllTracks(running_positions, /*span_size=*/2),

    Vector<LayoutUnit>({LayoutUnit(3), LayoutUnit(3.5), LayoutUnit(3.5),
    LayoutUnit(3.5)}));
    EXPECT_EQ(GetMaxPositionsForAllTracks(running_positions, /*span_size=*/4),
    Vector<LayoutUnit>({LayoutUnit(3.5), LayoutUnit(3.5),
    LayoutUnit(3.5), LayoutUnit(3.5)}));
    Alison Maher . resolved

    Out of curiosity, why did these end up changing?

    Celeste Pan

    Since I removed the optimization for GetMaxPositionsForAllTracks, now the vector returned by the method will equal the number of tracks, as opposed to number of tracks minus the span size.

    File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
    Line 31, Patchset 16: CHECK_LT(max_index_, running_positions_.size());
    Alison Maher . resolved

    nit: Since we now set this to `(running_positions.size() - span_size)`, rather than passing it in, this is now implied, so ok to remove

    Celeste Pan

    Done

    File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-001.html
    Line 7, Patchset 16:.masonry {
    display: masonry;
    Alison Maher . resolved

    As a heads up, I have a change to update everything use grid-lanes https://chromium-review.googlesource.com/c/chromium/src/+/7170998?tab=checks

    I have been dealing with a bunch of merge conflicts from Apple, so in order to avoid more, I'm hoping we can land that one before other CLs with tests. In which case, we'd need to update this and other tests to `display: grid-lanes` and the class name to `.grid-lanes` (but I'd wait updating until that change lands)

    Celeste Pan

    Sounds good, thank you for the heads up!

    Line 28, Patchset 16: <div name="item_is_densely_packed_into_start_most_gap_of_the_same_layout_size_as_auto_placement_without_dense_packing" style="background: yellow; height: 20px;">
    Alison Maher . resolved

    Is this name, and the ones below needed? Could maybe be a comment, instead, if needed

    Same comment for rows

    Celeste Pan

    I'll add a comment instead then! I do like having these descriptions so later on I can keep track of what's being tested.

    File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-multi-span-001.html
    Line 35, Patchset 16: <p>Ensure that dense-packing with multi-span items are placed into tracks with the same used size and the same number of tracks.</p>
    Alison Maher . resolved

    This might make sense as 5 separate tests instead of one

    Same comment for rows

    Celeste Pan

    Done

    Line 84, Patchset 16: <div style="background: lightsteelblue; height: 60px; grid-column: 1;">
    Alison Maher . resolved

    Is this needed? Shouldn't it end up here anyways per dense packing?

    Celeste Pan

    You're right, removed!

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Alison Maher
    • Kurt Catti-Schmidt
    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: If68752ca4cf7125a286d31c0578754e8dad02a96
      Gerrit-Change-Number: 7092762
      Gerrit-PatchSet: 18
      Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
      Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
      Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
      Gerrit-Attention: Alison Maher <alm...@microsoft.com>
      Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-Comment-Date: Wed, 19 Nov 2025 23:16:34 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Alison Maher <alm...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alison Maher (Gerrit)

      unread,
      Nov 19, 2025, 7:04:34 PMNov 19
      to Celeste Pan, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Celeste Pan and Kurt Catti-Schmidt

      Alison Maher voted and added 2 comments

      Votes added by Alison Maher

      Code-Review+1

      2 comments

      File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-multi-span-001-ref.html
      Line 29, Patchset 18 (Latest):</div>
      Alison Maher . unresolved

      nit: extra div

      File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-multi-span-003-ref.html
      Line 26, Patchset 18 (Latest):</div>
      Alison Maher . unresolved

      nit: extra div

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Celeste Pan
      • Kurt Catti-Schmidt
      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: If68752ca4cf7125a286d31c0578754e8dad02a96
      Gerrit-Change-Number: 7092762
      Gerrit-PatchSet: 18
      Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
      Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
      Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
      Gerrit-Attention: Celeste Pan <celes...@microsoft.com>
      Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-Comment-Date: Thu, 20 Nov 2025 00:04:25 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Kurt Catti-Schmidt (Gerrit)

      unread,
      Nov 19, 2025, 8:10:16 PMNov 19
      to Celeste Pan, Alison Maher, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Celeste Pan

      Kurt Catti-Schmidt added 4 comments

      File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
      Line 49, Patchset 18 (Latest): // Post-increment operator.
      RunningPositionsIterator operator++(int) {
      Kurt Catti-Schmidt . unresolved

      Since you're doing more work after the iteration, does a pre-increment make more sense here?

      Line 51, Patchset 18 (Latest): RunningPositionsIterator prev(*this);
      Kurt Catti-Schmidt . unresolved

      I'm assuming `prev` means previous, but shouldn't this be `next`?

      Line 56, Patchset 18 (Latest): bool ReturnedToStart() { return current_index_ == end_index_; }
      Kurt Catti-Schmidt . unresolved

      Iterators have a concept of "end", that seems like a better fit here, see the example here: https://en.cppreference.com/w/cpp/iterator/iterator.html

      It might be simpler here to just name this `end` instead of returning a new iterator like the example does though.

      Then your usage can be:

      ```
      while (++iterator != iterator.end());
      ```

      Line 196, Patchset 17:// placing multi-span items. Example case: if Track 3 has an opening from 40px
      // -> 50px and Track 4 is fully open starting from 30px, we should be attempting
      // to place an item which spans Track 3 -> Track 4.
      Kurt Catti-Schmidt . unresolved

      This example would be helpful with some ASCII art. Copilot/ChatGPT/Gemini should be able to generate it pretty easily, just double check it.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Celeste Pan
      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: If68752ca4cf7125a286d31c0578754e8dad02a96
      Gerrit-Change-Number: 7092762
      Gerrit-PatchSet: 18
      Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
      Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
      Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
      Gerrit-Attention: Celeste Pan <celes...@microsoft.com>
      Gerrit-Comment-Date: Thu, 20 Nov 2025 01:10:08 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Celeste Pan (Gerrit)

      unread,
      Nov 21, 2025, 2:47:20 PMNov 21
      to Alison Maher, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Kurt Catti-Schmidt

      Celeste Pan added 6 comments

      File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
      Line 49, Patchset 18: // Post-increment operator.
      RunningPositionsIterator operator++(int) {
      Kurt Catti-Schmidt . resolved

      Since you're doing more work after the iteration, does a pre-increment make more sense here?

      Celeste Pan

      I think pre-increment is if incrementing the value before we return `this`, while post-increment is if we're returning the incremented value then doing work, so I believe "post-increment" is the right term in this case!

      Line 51, Patchset 18: RunningPositionsIterator prev(*this);
      Kurt Catti-Schmidt . unresolved

      I'm assuming `prev` means previous, but shouldn't this be `next`?

      Celeste Pan

      Hm, I mean `prev` represents the previous value of `*this` that we return, so I think that using `next` wouldn't necessarily make sense, since it's not the `next` value that this will become. I could do something like `prev_value`; what are your thoughts?

      Line 56, Patchset 18: bool ReturnedToStart() { return current_index_ == end_index_; }
      Kurt Catti-Schmidt . resolved

      Iterators have a concept of "end", that seems like a better fit here, see the example here: https://en.cppreference.com/w/cpp/iterator/iterator.html

      It might be simpler here to just name this `end` instead of returning a new iterator like the example does though.

      Then your usage can be:

      ```
      while (++iterator != iterator.end());
      ```

      Celeste Pan

      Sure, done!

      Line 196, Patchset 17:// placing multi-span items. Example case: if Track 3 has an opening from 40px
      // -> 50px and Track 4 is fully open starting from 30px, we should be attempting
      // to place an item which spans Track 3 -> Track 4.
      Kurt Catti-Schmidt . resolved

      This example would be helpful with some ASCII art. Copilot/ChatGPT/Gemini should be able to generate it pretty easily, just double check it.

      Celeste Pan

      Done

      File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-multi-span-001-ref.html
      Line 29, Patchset 18:</div>
      Alison Maher . resolved

      nit: extra div

      Celeste Pan

      Done

      File third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/item-placement/column-reverse-dense-packing-multi-span-003-ref.html
      Line 26, Patchset 18:</div>
      Alison Maher . resolved

      nit: extra div

      Celeste Pan

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Kurt Catti-Schmidt
      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: If68752ca4cf7125a286d31c0578754e8dad02a96
      Gerrit-Change-Number: 7092762
      Gerrit-PatchSet: 19
      Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
      Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
      Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
      Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-Comment-Date: Fri, 21 Nov 2025 19:47:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Alison Maher <alm...@microsoft.com>
      Comment-In-Reply-To: Kurt Catti-Schmidt <ksc...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Celeste Pan (Gerrit)

      unread,
      Nov 21, 2025, 3:24:25 PMNov 21
      to Alison Maher, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Alison Maher and Kurt Catti-Schmidt

      Celeste Pan added 1 comment

      Patchset-level comments
      File-level comment, Patchset 19:
      Celeste Pan . resolved

      Rebase - tests moved into grid-lanes, but previous comments were addressed before rebase.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alison Maher
      • Kurt Catti-Schmidt
      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: If68752ca4cf7125a286d31c0578754e8dad02a96
      Gerrit-Change-Number: 7092762
      Gerrit-PatchSet: 20
      Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
      Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
      Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
      Gerrit-Attention: Alison Maher <alm...@microsoft.com>
      Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-Comment-Date: Fri, 21 Nov 2025 20:24:17 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alison Maher (Gerrit)

      unread,
      Nov 25, 2025, 6:24:19 PMNov 25
      to Celeste Pan, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Celeste Pan and Kurt Catti-Schmidt

      Alison Maher added 4 comments

      File chrome/browser/ui/views/frame/browser_frame_view_browsertest_win.cc
      Line 498, Patchset 22 (Parent):// TODO(crbug.com/361780162): This test has been flaky on Windows ASan testers.
      Alison Maher . unresolved

      Guessing this was left from a bad merge maybe?

      File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
      Line 51, Patchset 18: RunningPositionsIterator prev(*this);
      Kurt Catti-Schmidt . unresolved

      I'm assuming `prev` means previous, but shouldn't this be `next`?

      Celeste Pan

      Hm, I mean `prev` represents the previous value of `*this` that we return, so I think that using `next` wouldn't necessarily make sense, since it's not the `next` value that this will become. I could do something like `prev_value`; what are your thoughts?

      Alison Maher

      Yeah maybe `prev_position` would help

      Line 204, Patchset 22 (Latest):// able to place the item laid out across Track and Track 2, even though Track 1
      Alison Maher . unresolved

      nit: missing number

      File third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-001.html
      Line 12, Patchset 22 (Latest): masonry-direction: column-reverse;
      Alison Maher . unresolved

      This is now using grid-lanes-direction. Feel free to lmk if I need to take another look after reabse

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Celeste Pan
      • Kurt Catti-Schmidt
      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: If68752ca4cf7125a286d31c0578754e8dad02a96
      Gerrit-Change-Number: 7092762
      Gerrit-PatchSet: 22
      Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
      Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
      Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
      Gerrit-Attention: Celeste Pan <celes...@microsoft.com>
      Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-Comment-Date: Tue, 25 Nov 2025 23:24:11 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Celeste Pan <celes...@microsoft.com>
      Comment-In-Reply-To: Kurt Catti-Schmidt <ksc...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Celeste Pan (Gerrit)

      unread,
      Nov 26, 2025, 3:30:11 PM (13 days ago) Nov 26
      to Ian Kilpatrick, Alison Maher, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Alison Maher, Ian Kilpatrick and Kurt Catti-Schmidt

      Celeste Pan added 5 comments

      Patchset-level comments
      File-level comment, Patchset 23 (Latest):
      Celeste Pan . resolved

      Rebase to use `grid-lanes-direction` instead of `masonry-direction`. Also addressed comments.

      File chrome/browser/ui/views/frame/browser_frame_view_browsertest_win.cc
      Line 498, Patchset 22 (Parent):// TODO(crbug.com/361780162): This test has been flaky on Windows ASan testers.
      Alison Maher . resolved

      Guessing this was left from a bad merge maybe?

      Celeste Pan

      I'm not sure why it's saying that I removed it, when the version I have is what's actually showing up in chromium code search; I was planning on rebasing again later, which I can do now!

      Next time I'll leave a comment with a note. Here's a link to the current code (https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/views/frame/browser_frame_view_browsertest_win.cc;l=498?q=chrome%2Fbrowser%2Fui%2Fviews%2Fframe%2Fbrowser_frame_view_browsertest_win.cc&ss=chromium) which is what I have right now.

      File third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
      Line 51, Patchset 18: RunningPositionsIterator prev(*this);
      Kurt Catti-Schmidt . resolved

      I'm assuming `prev` means previous, but shouldn't this be `next`?

      Celeste Pan

      Hm, I mean `prev` represents the previous value of `*this` that we return, so I think that using `next` wouldn't necessarily make sense, since it's not the `next` value that this will become. I could do something like `prev_value`; what are your thoughts?

      Alison Maher

      Yeah maybe `prev_position` would help

      Celeste Pan

      Done

      Line 204, Patchset 22:// able to place the item laid out across Track and Track 2, even though Track 1
      Alison Maher . resolved

      nit: missing number

      Celeste Pan

      Done

      File third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-001.html
      Line 12, Patchset 22: masonry-direction: column-reverse;
      Alison Maher . resolved

      This is now using grid-lanes-direction. Feel free to lmk if I need to take another look after reabse

      Celeste Pan

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alison Maher
      • Ian Kilpatrick
      • Kurt Catti-Schmidt
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: If68752ca4cf7125a286d31c0578754e8dad02a96
      Gerrit-Change-Number: 7092762
      Gerrit-PatchSet: 23
      Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
      Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
      Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
      Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
      Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
      Gerrit-Attention: Alison Maher <alm...@microsoft.com>
      Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
      Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
      Gerrit-Comment-Date: Wed, 26 Nov 2025 20:30:05 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Celeste Pan <celes...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alison Maher (Gerrit)

      unread,
      Nov 26, 2025, 3:35:54 PM (13 days ago) Nov 26
      to Celeste Pan, Ian Kilpatrick, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Celeste Pan, Ian Kilpatrick and Kurt Catti-Schmidt

      Alison Maher voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Celeste Pan
      • Ian Kilpatrick
      • Kurt Catti-Schmidt
      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: If68752ca4cf7125a286d31c0578754e8dad02a96
        Gerrit-Change-Number: 7092762
        Gerrit-PatchSet: 23
        Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
        Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
        Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
        Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
        Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
        Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
        Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
        Gerrit-Attention: Celeste Pan <celes...@microsoft.com>
        Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
        Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
        Gerrit-Comment-Date: Wed, 26 Nov 2025 20:35:45 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Blink W3C Test Autoroller (Gerrit)

        unread,
        Nov 26, 2025, 3:44:09 PM (13 days ago) Nov 26
        to Celeste Pan, Alison Maher, Ian Kilpatrick, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
        Attention needed from Celeste Pan, Ian Kilpatrick and Kurt Catti-Schmidt

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

        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

        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
        Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
        Gerrit-Attention: Celeste Pan <celes...@microsoft.com>
        Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
        Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
        Gerrit-Comment-Date: Wed, 26 Nov 2025 20:44:01 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy

        Celeste Pan (Gerrit)

        unread,
        Nov 26, 2025, 6:44:09 PM (13 days ago) Nov 26
        to Blink W3C Test Autoroller, Alison Maher, Ian Kilpatrick, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org
        Attention needed from Ian Kilpatrick and Kurt Catti-Schmidt

        Celeste Pan voted Commit-Queue+2

        Commit-Queue+2
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ian Kilpatrick
        • Kurt Catti-Schmidt
        Gerrit-Attention: Kurt Catti-Schmidt <ksc...@microsoft.com>
        Gerrit-Attention: Ian Kilpatrick <ikilp...@chromium.org>
        Gerrit-Comment-Date: Wed, 26 Nov 2025 23:44:00 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Chromium LUCI CQ (Gerrit)

        unread,
        Nov 26, 2025, 7:01:23 PM (13 days ago) Nov 26
        to Celeste Pan, Blink W3C Test Autoroller, Alison Maher, Ian Kilpatrick, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.org

        Chromium LUCI CQ submitted the change

        Change information

        Commit message:
        [Masonry] Support column|row-reverse for dense-packing

        This change adds support for reverse item placement when dense-packing
        is enabled.


        This change fixes a previously existing bug in
        `RunningPositionsIterator` constructor where `end_index_` was not
        correctly calculated. This was caught by multiple fuzzer tests as well
        (listed in the Bug section), and tests were added in this change to
        cover for this case.

        The optimization in `GetMaxPositionsForAllTracks` where a vector
        `span_size` smaller than `running_positions_` is return has been removed
        to allow for cleaner more readable code in `RunningPositionsIterator`.
        The optimization should only be significant when placing an item with a
        very large span size.


        Some changes were made to `RunningPositionsIterator` as we want to make
        it usable for both the regular reverse placement case and the
        dense-packing reverse placement case:

        1) The `RunningPositionsIterator` constructor has been updated to take
        in a `max_index_` (highest possible index we can access safely) value,
        as opposed to calculating the value within the class, given that the
        calculations of what the `max_index_` would be vary across different
        usages of the iterator.

        2) The pre-increment operator for `RunningPositionsIterator` was
        removed, and we now use a post-increment operator, which is needed if we
        wish to use `wtf_size_t` (unsigned values) for our indices, maintain an
        infinite looping capability, and check if the iterator has returned to
        its starting index.
        Bug: 343257585, 458993338, 463029154
        Change-Id: If68752ca4cf7125a286d31c0578754e8dad02a96
        Reviewed-by: Alison Maher <alm...@microsoft.com>
        Commit-Queue: Celeste Pan <celes...@microsoft.com>
        Cr-Commit-Position: refs/heads/main@{#1550779}
        Files:
        • M third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
        • M third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
        • M third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
        • M third_party/blink/renderer/core/layout/masonry/masonry_running_positions.h
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-001-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-001.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-001-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-001.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-002-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-002.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-003-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-003.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-004-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-004.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-005-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/column-reverse-dense-packing-multi-span-005.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-001-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-001.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-001-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-001.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-002-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-002.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-003-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-003.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-004-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-004.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-005-ref.html
        • A third_party/blink/web_tests/external/wpt/css/css-grid/grid-lanes/tentative/item-placement/row-reverse-dense-packing-multi-span-005.html
        Change size: L
        Delta: 28 files changed, 860 insertions(+), 46 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +1 by Alison Maher
        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: If68752ca4cf7125a286d31c0578754e8dad02a96
        Gerrit-Change-Number: 7092762
        Gerrit-PatchSet: 24
        Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
        Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
        Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
        Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        open
        diffy
        satisfied_requirement

        Blink W3C Test Autoroller (Gerrit)

        unread,
        Nov 26, 2025, 10:46:21 PM (13 days ago) Nov 26
        to Celeste Pan, Chromium LUCI CQ, Alison Maher, Ian Kilpatrick, Kurt Catti-Schmidt, Yanling Wang, Hoch Hochkeppel, AyeAye, chromium...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, zol...@webkit.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/56314

        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: If68752ca4cf7125a286d31c0578754e8dad02a96
        Gerrit-Change-Number: 7092762
        Gerrit-PatchSet: 24
        Gerrit-Owner: Celeste Pan <celes...@microsoft.com>
        Gerrit-Reviewer: Alison Maher <alm...@microsoft.com>
        Gerrit-Reviewer: Celeste Pan <celes...@microsoft.com>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Ian Kilpatrick <ikilp...@chromium.org>
        Gerrit-Reviewer: Kurt Catti-Schmidt <ksc...@microsoft.com>
        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        Gerrit-CC: Hoch Hochkeppel <mho...@microsoft.com>
        Gerrit-CC: Yanling Wang <yanli...@microsoft.com>
        Gerrit-Comment-Date: Thu, 27 Nov 2025 03:46:15 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy
        Reply all
        Reply to author
        Forward
        0 new messages