Status Update
Comments
ap...@google.com <ap...@google.com> #2
Branch: main
commit d8c8c5b732058d6e575629aee645aa3708d7377f
Author: Ethan Jimenez <ethavar@microsoft.com>
Date: Tue Jul 09 17:48:56 2024
[Masonry] Add feature flag
Bug: 343257585
Change-Id: I054c05e2e1e334b468e73a07a9d1ff789312a8e0
Reviewed-on:
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1324956}
M third_party/blink/renderer/platform/runtime_enabled_features.json5
ap...@google.com <ap...@google.com> #3
Branch: main
commit 916df7471d167b2a887e3f3da103df9745df3b07
Author: Ethan Jimenez <ethavar@microsoft.com>
Date: Wed Aug 07 00:42:24 2024
[Masonry] Add masonry display type
1. Introducing parsing for the new `masonry` and `inline-masonry` values
for `display`, mapping them to their respective `EDisplay` enums.
2. Renaming feature flag to `CSSMasonryLayout`.
3. Adding test coverage for parsing of these tentative new values.
Bug: 343257585
Change-Id: I076c31c48da249a42e939e4d9a9001c6d9743396
Reviewed-on:
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1338207}
M third_party/blink/renderer/core/css/css_properties.json5
M third_party/blink/renderer/core/css/css_value_id_mappings.h
M third_party/blink/renderer/core/css/css_value_keywords.json5
M third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
M third_party/blink/renderer/core/css/resolver/style_adjuster.cc
M third_party/blink/renderer/core/layout/layout_object.cc
M third_party/blink/renderer/core/style/computed_style_extra_fields.json5
M third_party/blink/renderer/platform/runtime_enabled_features.json5
A third_party/blink/web_tests/external/wpt/css/css-display/parsing/tentative/display-computed.html
A third_party/blink/web_tests/external/wpt/css/css-display/parsing/tentative/display-valid.html
ap...@google.com <ap...@google.com> #4
Branch: main
commit 28b6a3d1797180a122fb0c83b0d4443824879c18
Author: Ethan Jimenez <ethavar@microsoft.com>
Date: Wed Aug 07 02:05:51 2024
[Masonry] Initial plumbing for MasonryLayoutAlgorithm
1. Introducing the `LayoutMasonry` object that will provide the
interface to create and query masonry containers.
2. Introducing the skeleton for `MasonryLayoutAlgorithm`, as well as the
logic to create it when its respective `LayoutObject` is `masonry`.
Bug: 343257585
Change-Id: I7d607f2245f0b6419941ae4ec454a0c4a1ddee76
Reviewed-on:
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1338236}
M third_party/blink/renderer/core/layout/block_node.cc
M third_party/blink/renderer/core/layout/build.gni
M third_party/blink/renderer/core/layout/layout_object.h
A third_party/blink/renderer/core/layout/masonry/layout_masonry.cc
A third_party/blink/renderer/core/layout/masonry/layout_masonry.h
A third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
A third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
ap...@google.com <ap...@google.com> #5
Branch: main
commit 18e831da8ce366ef940f454fdbcb78286bfa7637
Author: Sam Davis Omekara (from Dev Box) <samomekarajr@microsoft.com>
Date: Thu Aug 15 22:18:56 2024
[Masonry] Introduce parsing for masonry-track-end and -start
This CL introduces the parsing for css masonry properties:
masonry-track-end and masonry-track-start.
This is part of:
The properties are behind the CSSMasonryLayout feature flag.
Bug: 343257585
Change-Id: I627cbf82a3200091f462281bd459d12de9ae884d
Reviewed-on:
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Commit-Queue: Sam Davis Omekara <samomekarajr@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1342521}
M third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
M third_party/blink/renderer/core/css/css_properties.json5
M third_party/blink/renderer/core/css/css_property_equality.cc
M third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
A third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/parsing/masonry-track-computed.html
A third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/parsing/masonry-track-invalid.html
A third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/parsing/masonry-track-valid.html
M third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
M third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
M third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
M third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
M third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
M tools/metrics/histograms/enums.xml
ap...@google.com <ap...@google.com> #6
Branch: main
commit eda247570a2c64ff00d1f441edb3eaa8f3651a9d
Author: Ethan Jimenez <ethavar@microsoft.com>
Date: Fri Aug 16 00:55:14 2024
[Masonry] Introduce parsing for masonry-template-tracks
1. Introducing the `masonry-template-tracks` property, which currently
replicates the behavior of `grid-template-[column|rows]`.
This change reuses most of grid's parsing and serialization code.
However, this will be refactored later to match the definitions in
2. Adding web tests to cover parsing for the new property.
Bug: 343257585
Change-Id: I32c4af839ebd4255a71b125f1a5056332fded78d
Reviewed-on:
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1342599}
M third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
M third_party/blink/renderer/build/scripts/core/css/properties/templates/style_builder_functions.tmpl
M third_party/blink/renderer/core/css/css_properties.json5
M third_party/blink/renderer/core/css/css_property_equality.cc
M third_party/blink/renderer/core/css/properties/computed_style_utils.cc
M third_party/blink/renderer/core/css/properties/computed_style_utils.h
M third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
M third_party/blink/renderer/core/style/computed_grid_track_list.h
A third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/parsing/masonry-template-tracks-invalid.html
A third_party/blink/web_tests/external/wpt/css/css-grid/masonry/tentative/parsing/masonry-template-tracks-valid.html
M third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
M third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
M third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
M third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
M third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
M tools/metrics/histograms/enums.xml
ap...@google.com <ap...@google.com> #7
Branch: main
commit 620d6c7713af849cb3ace54640b057bf8da65b9c
Author: Ethan Jimenez <ethavar@microsoft.com>
Date: Fri Aug 16 23:12:19 2024
[Masonry] Move alternate masonry tests into its own folder
See
Moving new Masonry tests into `css/css-masonry`.
Bug: 343257585
Change-Id: Ic1692648d73981315f8731f56f3bdc6aee49aa81
Reviewed-on:
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1343091}
A third_party/blink/web_tests/external/wpt/css/css-masonry/WEB_FEATURES.yml
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-template-tracks-invalid.html
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-template-tracks-valid.html
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-computed.html
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-invalid.html
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-valid.html
ap...@google.com <ap...@google.com> #8
Branch: main
commit 1bb814a91523100b003c65e26067f5966f5ad9c4
Author: Sam Davis Omekara (from Dev Box) <samomekarajr@microsoft.com>
Date: Mon Aug 26 19:29:44 2024
[Masonry] Introduce parsing for masonry-track shorthand
This CL introduces the parsing for css masonry property:
masonry-track
This is part of:
The properties are behind the CSSMasonryLayout feature flag.
Bug: 343257585
Change-Id: Id435852bc7b9c178b885d49feee3dcf0fd90a2a2
Reviewed-on:
Commit-Queue: Sam Davis Omekara <samomekarajr@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1346899}
M third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
M third_party/blink/renderer/core/css/css_properties.json5
M third_party/blink/renderer/core/css/css_property_equality.cc
M third_party/blink/renderer/core/css/properties/shorthands/shorthands_custom.cc
M third_party/blink/renderer/core/css/style_property_serializer.cc
M third_party/blink/renderer/core/css/style_property_serializer.h
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-computed.html
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-invalid.html
M third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-valid.html
M third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
M third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
M tools/metrics/histograms/enums.xml
ap...@google.com <ap...@google.com> #9
Branch: main
commit 8f836460ff1aded634c69d032cbaecb7e8f11077
Author: Ethan Jimenez <ethavar@microsoft.com>
Date: Fri Aug 30 00:03:40 2024
[Masonry] Set up track sizing in MasonryLayoutAlgorithm
1. Introducing a method to expand repeaters from `MasonryTemplateTracks`
into their respective `GridRanges`, which are the first input to
build `GridSizingTrackCollection` in `MasonryLayoutAlgorithm`.
2. Setting up the methods that will be used by `ComputeMinMaxSizes` and
`Layout` to determine the cross axis track sizes for masonry.
3. Adding a unit test to validate that ranges are correctly build.
Bug: 343257585
Change-Id: I1e4a08eaa4a4f3d569d4110e64b9368c2d8e540c
Reviewed-on:
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1348972}
M third_party/blink/renderer/core/layout/build.gni
M third_party/blink/renderer/core/layout/grid/grid_track_collection.h
M third_party/blink/renderer/core/layout/layout_object.cc
M third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
M third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
A third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
al...@gmail.com <al...@gmail.com> #10
ap...@google.com <ap...@google.com> #11
Branch: main
commit f6179ac815beb4d386cf680ac45327b22d93f429
Author: Sam Davis Omekara (from Dev Box) <samomekarajr@microsoft.com>
Date: Wed Sep 11 19:04:30 2024
[Masonry] Introduce parsing for masonry-slack
This CL introduces the parsing for css masonry property:
masonry-slack
This is part of:
The properties are behind the CSSMasonryLayout feature flag.
Bug: 343257585
Change-Id: If6759bf828c8e8d52e0e307e3e9642f9fbfc1c1d
Reviewed-on:
Commit-Queue: Sam Davis Omekara <samomekarajr@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1354110}
M third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
M third_party/blink/renderer/core/css/css_properties.json5
M third_party/blink/renderer/core/css/css_property_equality.cc
M third_party/blink/renderer/core/css/properties/computed_style_utils.cc
M third_party/blink/renderer/core/css/properties/computed_style_utils.h
M third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
M third_party/blink/renderer/core/css/properties/css_parsing_utils.h
M third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
M third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
M third_party/blink/renderer/core/css/resolver/style_builder_converter.h
A third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-computed.html
A third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-invalid.html
A third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-valid.html
M third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
M third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
M third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
M third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
M third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
M tools/metrics/histograms/enums.xml
ap...@google.com <ap...@google.com> #12
Branch: main
commit 976107984a1fa8e7da64f99633e0d2e836005f8f
Author: Ethan Jimenez <ethavar@microsoft.com>
Date: Tue Sep 17 20:50:33 2024
[Masonry] Introduce MasonryNode
Bug: 343257585
Change-Id: I106d483e7f82b3638a098bd0c7d8132251f13736
Reviewed-on:
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1356711}
M third_party/blink/renderer/core/layout/build.gni
M third_party/blink/renderer/core/layout/layout_input_node.h
M third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
A third_party/blink/renderer/core/layout/masonry/masonry_node.h
ap...@google.com <ap...@google.com> #13
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce GetHash to GridSpan
Expand for full commit details
[Masonry] Introduce GetHash to GridSpan
1. This is a prerequisite change for introducing a `HashMap` in masonry
that takes `GridSpan` as part of the key to group items that have the
same span size, explicit placement, and baseline group.
2. Removing some unused code and cleaning up some methods.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: I0a55cf0960a2930134c1eb48f7df2fc4deabac97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5939011
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1370340}
Files:
- M
third_party/blink/renderer/core/style/grid_area.h
Hash: 3e15a7a7785a87988734e342cedbf8845294dd5f
Date: Fri Oct 18 00:07:16 2024
ap...@google.com <ap...@google.com> #14
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce MasonryItemGroups and its properties
Expand for full commit details
[Masonry] Introduce MasonryItemGroups and its properties
Introducing `MasonryItemGroupProperties`, this class represents the
properties that distinguish masonry item groups from each other (see
https://drafts.csswg.org/css-grid-3/#track-sizing-performance) and
it's used as the key for the `MasonryItemGroups` hash map.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: Iaea374e4d6018da059be037e4aaae3966f80c9ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5941425
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1372311}
Files:
- M
third_party/blink/renderer/core/layout/build.gni
- A
third_party/blink/renderer/core/layout/masonry/masonry_item_group.h
Hash: f01541e98b31c528f0cb97bc3bf59a04bdaaf311
Date: Tue Oct 22 21:04:20 2024
ap...@google.com <ap...@google.com> #15
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Introduce parsing for masonry-fill.
Expand for full commit details
[Masonry] Introduce parsing for masonry-fill.
This CL introduces the parsing for the CSS property masonry-fill.
This is part of: https://chromestatus.com/feature/5149560434589696
The properties are behind the CSSMasonryLayout feature flag. The spec definition for masonry-fill can be found here: https://tabatkins.github.io/specs/css-masonry/#masonry-fill.
Bug: 343257585
Change-Id: Iaec9a23dce2a2117c84cd40d096b7edc69248e37
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6089846
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Sam Davis Omekara <samomekarajr@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1396284}
Files:
- M
third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
- M
third_party/blink/renderer/core/css/css_properties.json5
- M
third_party/blink/renderer/core/css/css_property_equality.cc
- M
third_party/blink/renderer/core/css/css_value_keywords.json5
- M
third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
- M
third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-fill-computed.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-fill-invalid.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-fill-valid.html
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
- M
third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
- M
third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
- M
third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
- M
tools/metrics/histograms/enums.xml
Hash: 3305544a6935d255d08670ee15b23d539ec81085
Date: Fri Dec 13 17:08:04 2024
ap...@google.com <ap...@google.com> #16
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Introduce parsing for masonry-direction.
Expand for full commit details
[Masonry] Introduce parsing for masonry-direction.
This CL introduces the parsing for the CSS property masonry-direction.
This is part of: https://chromestatus.com/feature/5149560434589696
The properties are behind the CSSMasonryLayout feature flag. The spec
definition for masonry-direction can be found here:
https://tabatkins.github.io/specs/css-masonry/#masonry-direction.
Bug: 343257585
Change-Id: I9835985037cd9e24107eb7caaf2898c0a16ce2b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6099065
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1399192}
Files:
- M
third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
- M
third_party/blink/renderer/core/css/css_properties.json5
- M
third_party/blink/renderer/core/css/css_property_equality.cc
- M
third_party/blink/renderer/core/css/css_value_keywords.json5
- M
third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
- M
third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-direction-computed.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-direction-invalid.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-direction-valid.html
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
- M
third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
- M
third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
- M
third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
- M
tools/metrics/histograms/enums.xml
Hash: ca61d1b606395642e188054985a3e587221f75c2
Date: Fri Dec 20 08:20:27 2024
ap...@google.com <ap...@google.com> #17
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Introduce parsing for masonry-flow.
Expand for full commit details
[Masonry] Introduce parsing for masonry-flow.
This CL introduces the parsing for the CSS property masonry-flow, which
is the shorthand for masonry-direction and masonry-fill.
This is part of: https://chromestatus.com/feature/5149560434589696
The properties are behind the CSSMasonryLayout feature flag. The spec
definition for masonry-flow can be found here:
https://tabatkins.github.io/specs/css-masonry/#masonry-flow.
Bug: 343257585
Change-Id: Icaba5964a6b377a13958e404f7f464e933efc209
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6106736
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1403080}
Files:
- M
third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
- M
third_party/blink/renderer/core/css/css_properties.json5
- M
third_party/blink/renderer/core/css/css_property_equality.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-masonry/tentative/parsing/masonry-flow-computed.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-flow-invalid.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-flow-valid.html
- M
third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
- M
third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
- M
tools/metrics/histograms/enums.xml
Hash: 87f09eaf78f1fa4dccc9145304289ec67b15a514
Date: Tue Jan 07 10:12:40 2025
ap...@google.com <ap...@google.com> #18
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Introduce parsing for masonry-auto-tracks.
Expand for full commit details
[Masonry] Introduce parsing for masonry-auto-tracks.
This CL introduces the parsing for the CSS property masonry-auto-tracks.
This is part of: https://chromestatus.com/feature/5149560434589696
The properties are behind the CSSMasonryLayout feature flag. The spec
definition for masonry-auto-tracks can be found here:
https://drafts.csswg.org/css-grid-3/#propdef-masonry-auto-tracks
Bug: 343257585
Change-Id: I33a72c50f662195934d1f7af8e199b477546fd89
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6161598
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1405087}
Files:
- M
third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
- M
third_party/blink/renderer/core/css/css_properties.json5
- M
third_party/blink/renderer/core/css/css_property_equality.cc
- M
third_party/blink/renderer/core/css/css_value_keywords.json5
- M
third_party/blink/renderer/core/css/properties/computed_style_utils.cc
- M
third_party/blink/renderer/core/css/properties/computed_style_utils.h
- M
third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-auto-tracks-computed.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-auto-tracks-invalid.html
- A
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-auto-tracks-valid.html
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
- M
third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
- M
third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
- M
third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
- M
tools/metrics/histograms/enums.xml
Hash: b9b1c38a0de07449f85043528c2a0460215cb5f4
Date: Fri Jan 10 16:24:38 2025
ap...@google.com <ap...@google.com> #19
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Update masonry web tests to use the new spec link.
Expand for full commit details
[Masonry] Update masonry web tests to use the new spec link.
Update masonry web tests to use the new spec link
"https://drafts.csswg.org/css-grid-3".
Bug: 343257585
Change-Id: I608ec5fdc2a9c2f3c0e9b002da93d7f9de3192bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6164332
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1405745}
Files:
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-computed.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-invalid.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-valid.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-template-tracks-invalid.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-template-tracks-valid.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-computed.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-invalid.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-track-valid.html
Hash: 17ea05a2581998d793672f0f256b6827b0331156
Date: Mon Jan 13 14:12:07 2025
ap...@google.com <ap...@google.com> #20
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce GridTrackSizingAlgorithm
Expand for full commit details
[Masonry] Introduce GridTrackSizingAlgorithm
In order to reuse Grid's track sizing for Masonry, we need to refactor
its core logic outside of `GridLayoutAlgorithm` and into its own class.
This change introduces `GridTrackSizingAlgorithm` and moves an initial
set of helpers from the sizing algorithm to it. These first helpers are
static, but upcoming ones will require to store some state.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: I6206175ae097eb1b6f9f6f15d957ffd9b2fd6c05
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6177986
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1408132}
Files:
- M
third_party/blink/renderer/core/layout/build.gni
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
- A
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.cc
- A
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.h
Hash: 0b622b853a8f2280b2ffe64ed34f77111f95a126
Date: Fri Jan 17 13:47:21 2025
ap...@google.com <ap...@google.com> #21
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce helpers to get template tracks in Grid and Masonry
Expand for full commit details
[Masonry] Introduce helpers to get template tracks in Grid and Masonry
Most of the grid placement and track sizing code makes reference to
grid-specific properties, e.g., `GridTemplate[Columns|Rows]`.
This CL introduces helpers in `ComputedStyle` to get the equivalent
properties from masonry containers that will reuse some grid logic.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: Ide3edaae657060fdd91f930dee4260a541ba57fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6183425
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1408382}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.cc
- M
third_party/blink/renderer/core/style/computed_style.h
Hash: 76f6e7ccfba1f0ab6ee7045993d92f6647a55ea2
Date: Sat Jan 18 16:21:18 2025
ap...@google.com <ap...@google.com> #22
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Refactor GutterSize into CalculateGutterSize
Expand for full commit details
[Masonry] Refactor GutterSize into CalculateGutterSize
1. Moving the `GutterSize` method out of `GridLayoutAlgorithm` and into
a new static method `GridTrackSizingAlgorithm::CalculateGutterSize`.
2. Refactoring `GridSizingTrackCollection::BuildSets` to make use of
this new method instead of relying on the gutter size being provided
by the caller, since it already has context needed to calculate it.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: Ia12aceba612bbe968ffad5407879963d194c0099
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6183180
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1409221}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.h
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.h
Hash: cdccbf27c764c1ac86498f03bbc0765e1347d412
Date: Tue Jan 21 12:24:02 2025
ap...@google.com <ap...@google.com> #23
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Refactor GridRangeBuilder constructors
Expand for full commit details
[Masonry] Refactor GridRangeBuilder constructors
Previously we had two `GridRangeBuilder` constructors that had the same
logic but different input parameters for testing purposes.
This CL centralizes the logic into a single private constructor that is
callable by the public one, while introducing the use of new helper
methods for querying either the grid or masonry tracks.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: If194369f904751cbd9cc4d5ff816689d831b0eb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6181499
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1409887}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.h
- M
third_party/blink/renderer/core/style/computed_style.h
Hash: 706d7e774d72dff311efc11c9476274a1330c481
Date: Wed Jan 22 12:20:48 2025
ap...@google.com <ap...@google.com> #24
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Build and initialize track sizes for grid axis
Expand for full commit details
[Masonry] Build and initialize track sizes for grid axis
1. Renaming `ComputeCrossAxisTracks` to `BuildGridAxisTracks`.
2. Removing `ExpandRangesFromTemplateTracks` since we are going to avoid
expanding repeaters whenever possible in Masonry too. This will be rare,
but allows for `GridRangeBuilder` to be reused.
3. Building the ranges and sets necessary for initializing the tracks in
`GridSizingTrackCollection` for the grid axis in Masonry.
4. Introducing a unit test for `BuildGridAxisTracks` with only fixed
track sizes, flexible and intrinsic tracks will be resolved later.
Bug: 343257585
Change-Id: I5421b9214d86ebcccdd076b0c2ee67130524b27b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6191504
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1412008}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
Hash: 71f3e9b4fe052e8a9ab794ae1c151d7110495998
Date: Mon Jan 27 17:07:44 2025
ap...@google.com <ap...@google.com> #25
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Refactor GridLineResolver to query MasonryTrack properties
Expand for full commit details
[Masonry] Refactor GridLineResolver to query MasonryTrack properties
In Masonry containers, the way that a child item determines its
placement within the grid axis is controlled by the
`masonry-track-[start|end]` properties.
`GridLineResolver` is the helper class that resolves grid placement from
the `ComputedStyle` of an item. However, the only methods it queries
right now are grid specific `GridColumn[Start|End]` and
`GridRow[Start|End]`. As a result, we need to introduce a mechanism to
determine when a line resolver is created for a Masonry, such that we
can check for `MasonryTrack[Start|End]` instead.
We rename `ResolveGridPositionsFromStyle` to be
`ResolvePositionsFromStyle`, and create a masonry wrapper for this,
`ResolveMasonryPositionsFromStyle`.
We don't add any tests for this change because we haven't implemented
the masonry layout algorithm yet, meaning that the code added in this
change isn't really "active" yet.
Bug: 343257585
Change-Id: I2180d5ede6a151bbf8f12b2eb018d9120cb11167
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6168578
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1412654}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.cc
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.h
- M
third_party/blink/renderer/core/style/computed_style.h
Hash: 7a790073c7f05c7c6f920e373a8c501cf9da38e4
Date: Tue Jan 28 17:32:12 2025
ap...@google.com <ap...@google.com> #26
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce CreateConstraintSpace to MasonryLayoutAlgorithm
Expand for full commit details
[Masonry] Introduce CreateConstraintSpace to MasonryLayoutAlgorithm
This CL is a prerequisite to measure the size of virtual masonry items,
we need to create the constraint space for children of the container in
order to size them and cache the maximum size of a group.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: I16fe8545d692affcdc29bac11ba8034b20c6f1bb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6208256
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1413136}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
Hash: fe15b5b6c3e5a9758ed260fa0f80a22e24c45f9e
Date: Wed Jan 29 13:23:24 2025
ap...@google.com <ap...@google.com> #27
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Fix Track[Start|End] helpers to check its parent properties
Expand for full commit details
[Masonry] Fix Track[Start|End] helpers to check its parent properties
Changing the `ComputedStyle::Track[Start|End]` helper to take the style
of its parent container to correctly determine if it needs to resolve
its placement from the respective grid or masonry properties.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: I4d171ca7c6157e03606fa2c236d80724653fb9df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6213753
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1416583}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.cc
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.h
- M
third_party/blink/renderer/core/style/computed_style.h
Hash: 5145ddcc08cbbad163672e52ffd285e54d0da742
Date: Wed Feb 05 19:45:36 2025
ap...@google.com <ap...@google.com> #28
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce CollectItemGroups to MasonryNode
Expand for full commit details
[Masonry] Introduce CollectItemGroups to MasonryNode
1. Introducing `MasonryNode::CollectItemGroups`, a method that groups
masonry items with the same properties that should be considered
together in the track sizing algorithm for masonry.
2. Adding a test to check that masonry items are correctly grouped.
3. Remove the default constructor for `GridLineResolver` and the
`explicit` tag for constructors that no longer need it.
4. Introduce a "mock layout" for masonry items to prevent crashes in
unit tests when a masonry container has children.
Bug: 343257585
Change-Id: Id8f32064908c28d30cd5e34f58ea95f4136623ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6265747
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1420372}
Files:
- M
third_party/blink/renderer/core/layout/build.gni
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.h
- M
third_party/blink/renderer/core/layout/layout_block_flow_hot.cc
- M
third_party/blink/renderer/core/layout/layout_box.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_item_group.h
- 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
- A
third_party/blink/renderer/core/layout/masonry/masonry_node.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.h
Hash: 11f2c4647a32491b5fbb6744c2fe982294193000
Date: Fri Feb 14 01:15:38 2025
ap...@google.com <ap...@google.com> #29
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Copy intrinsic track resolution to GridTrackSizingAlgorithm
Expand for full commit details
[Masonry] Copy intrinsic track resolution to GridTrackSizingAlgorithm
Copyng intrinsic track resolution logic from `GridLayoutAlgorithm` to
`GridTrackSizingAlgorithm`, which will be shared with masonry.
A future patch will eliminate duplicated code from the grid algorithm.
For now, this CL only establishes the necessary components to enable
basic track sizing in masonry containers with virtual items.
This change shouldn't have any behavioral impact.
Bug: 343257585
Change-Id: Id919e4a0552d9304486d8513307a24bc40b55a10
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6277752
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1422231}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_item.h
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
Hash: 81bb96e7fbd080714c4c6e06afb6b3a9d0c77b2f
Date: Wed Feb 19 15:08:07 2025
ap...@google.com <ap...@google.com> #30
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce VirtualMasonryItems to MasonryLayoutAlgorithm
Expand for full commit details
[Masonry] Introduce VirtualMasonryItems to MasonryLayoutAlgorithm
1. Introducing `MasonryLayoutAlgorithm::VirtualMasonryItems` a method
that takes the item groups from a masonry container and synthesize
them into virtual items that cache the maximum of every intrinsic
contribution among the items that make up its respective group.
2. Refactoring `MasonryNode::CollectItemGroups` to determine the start
offset of explicitly placed items when collecting item groups.
3. Adding a test to check that virtual masonry items correctly resolve
their position and cache their contribution sizes.
Bug: 343257585
Change-Id: I77ea70a2d831638327e679bb818e823f410bbbdc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6272922
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1422273}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_item.cc
- M
third_party/blink/renderer/core/layout/grid/grid_item.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.h
Hash: 5e1d04d309f2ce5a3ffdcab982a1927052884628
Date: Wed Feb 19 16:19:00 2025
ap...@google.com <ap...@google.com> #31
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Plug intrinsic track resolution into BuildGridAxisTracks
Expand for full commit details
[Masonry] Plug intrinsic track resolution into BuildGridAxisTracks
1. Introducing virtual masonry items to `BuildGridAxisTracks` and using
them to determine the size of intrinsic tracks in the grid axis.
2. Introducing a helper `ContributionSizeForVirtualItem` to correctly
determine and adjust the size that a virtual masonry item will
contribute to the intrinsic track resolution step.
3. Copying the first steps of `ComputeUsedTrackSizes` from
`GridLayoutAlgorithm` to `GridTrackSizingAlgorithm`.
4. Adding a unit test for basic intrinsic track resolution for virtual
items with definite placement.
Bug: 343257585
Change-Id: I43bcece787976e6aaaaee70a7fab89e65f354df3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6289026
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1423428}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_item.h
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
Hash: dd380fb2d030ea3e50ab7115d49094290ed71d47
Date: Fri Feb 21 14:46:06 2025
ap...@google.com <ap...@google.com> #32
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Copy MaximizeTracks and StretchAutoTracks logic
Expand for full commit details
[Masonry] Copy MaximizeTracks and StretchAutoTracks logic
1. Copying logic for the `MaximizeTracks` and `StretchAutoTracks` steps
into the shared `GridTrackSizingAlgorithm` class.
2. Passing some data from the masonry container down to the track sizing
algorithm that allow internal methods to determine remaining free
space, sizing constraint, and content alignment within tracks.
3. Adding a unit test to check for these steps of the algorithm.
Bug: 343257585
Change-Id: I08782832fc4c856f0d0408fb2ffcb0a3d318d6d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6292908
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1424103}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
Hash: 167f548a88fdf2904052da24f9ab263849556d90
Date: Mon Feb 24 12:49:56 2025
ap...@google.com <ap...@google.com> #33
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Skeleton for Keeping Track of Running Positions
Expand for full commit details
[Masonry] Skeleton for Keeping Track of Running Positions
Add skeleton code to keep track of and update the running positions of
each track on the grid-axis. The comments also include basic steps of
finding the next span to place an item. Future CL's will actually
implement the methods.
The layout algorithm reference is here:
https://drafts.csswg.org/css-grid-3/#masonry-layout-algorithm
Bug: 343257585
Change-Id: I63b5e9dbd1f4b02411218360389330d6157da754
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6277649
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1424233}
Files:
- M
third_party/blink/renderer/core/layout/build.gni
- A
third_party/blink/renderer/core/layout/masonry/masonry_running_positions.h
Hash: e5b36a4263742f153ddcd44a9812b4d80aad9990
Date: Mon Feb 24 16:54:57 2025
ap...@google.com <ap...@google.com> #34
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce GridLineResolver constructor for masonry containers
Expand for full commit details
[Masonry] Introduce GridLineResolver constructor for masonry containers
Bug: 343257585
Change-Id: Ie8b9d30862471c0e7a48e5753afe327c755c3738
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6299836
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1424234}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.cc
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- M
third_party/blink/renderer/core/style/computed_style.h
Hash: 06a251daed0103ba13d39dc2d019d6cc9018d520
Date: Mon Feb 24 16:59:55 2025
ap...@google.com <ap...@google.com> #35
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Collect masonry items and resolve their span sizes.
Expand for full commit details
[Masonry] Collect masonry items and resolve their span sizes.
Before we begin implementing the Masonry layout algorithm, we need to
first collect all of the masonry items and resolve their span sizes.
The tests ensure that we are correctly retrieving all masonry items and
correctly resolving their span sizes, although we cannot know the exact
start and end lines of the items since we do not yet calculate the
translation of the spans.
Bug: 343257585
Change-Id: I73294a0318ae4021b344275076c9626cb9186eef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6245767
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1424810}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.h
Hash: d09b77604e296bfc71eac1526ec692e02bce2eae
Date: Tue Feb 25 14:42:56 2025
ap...@google.com <ap...@google.com> #36
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Refactor ComputeGridItemAvailableSize into GridItemData
Expand for full commit details
[Masonry] Refactor ComputeGridItemAvailableSize into GridItemData
1. Moving this logic into the new `GridItemData::CalculateAvailableSize`
method, which will be available to use in masonry containers.
2. Renaming `GridLayoutTrackCollection::ComputeSetSpanSize` to
`CalculateSetSpanSize` to reflect the method's simplicity.
3. Addressing some nitpicks in `masonry_layout_algorithm_test.cc`
and `MasonryNode::ConstructMasonryItems`.
Bug: 343257585
Change-Id: I2230c408717f89a9696842706df78bcde609dc95
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6306709
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1425468}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_item.cc
- M
third_party/blink/renderer/core/layout/grid/grid_item.h
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm_test.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.h
Hash: c4b2ba61798a788984f3ccfb08c7082aaecc7b9b
Date: Wed Feb 26 16:46:01 2025
ap...@google.com <ap...@google.com> #37
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Add MasonryLayoutAlgorithm::CreateConstraintSpaceForLayout
Expand for full commit details
[Masonry] Add MasonryLayoutAlgorithm::CreateConstraintSpaceForLayout
Bug: 343257585
Change-Id: Ibaf023e33636c6f228dcfead94f2e03fe5c0841c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6306470
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1425971}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
Hash: 1a97fb2ab0d9ba2ed46a54c4b3a3cc7b665252d6
Date: Thu Feb 27 14:06:19 2025
ap...@google.com <ap...@google.com> #38
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Implement MasonryRunningPositions Methods Pt. 1
Expand for full commit details
[Masonry] Implement MasonryRunningPositions Methods Pt. 1
This change implements the UpdateRunningPositionsForSpan method for the
MasonryRunningPositions class and adds testing for this method.
Bug: 343257585
Change-Id: Iafb08694d4f436cf3e511783ba63e4247f7cb84a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6306303
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1426488}
Files:
- M
third_party/blink/renderer/core/layout/build.gni
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- A
third_party/blink/renderer/core/layout/masonry/masonry_running_positions.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_running_positions.h
Hash: e690c078f9d4e8fe9929b85352a202744d90ba60
Date: Fri Feb 28 11:51:21 2025
ap...@google.com <ap...@google.com> #39
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Ensure track coverage for virtual masonry items
Expand for full commit details
[Masonry] Ensure track coverage for virtual masonry items
1. Introducing logic to ensure virtual masonry items are accounted for
when building the ranges for a track collection. This is necessary
to explicitly place items within the implicit grid.
2. Adding test coverage for this issue in `MasonryLayoutAlgorithmTest`.
Bug: 343257585
Change-Id: Id91c95aa098aea16b0d783e4c48ead20ddc7413c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6312416
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1426558}
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
Hash: 8ece36969f5d9182a13262d6ccefc215f4261406
Date: Fri Feb 28 14:08:02 2025
ap...@google.com <ap...@google.com> #40
Project: chromium/src
Branch: main
Author: Celeste Pan <
Link:
[Masonry] Reference MasonryTemplateTracks in ComputedGridTrackList()
Expand for full commit details
[Masonry] Reference MasonryTemplateTracks in ComputedGridTrackList()
Previously in the code we referenced GridTemplateColumns/Rows when when
computing the grid track list for masonry containers. This change allows
us to use `masonry-template-tracks`/`masonry-tracks` when within a
masonry container.
Bug: 343257585
Change-Id: Ic2e029c6e8711b1465109d56898635df6003f096
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6306663
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1427469}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
Hash: ef8b763ec820354d29babc475dc560eb65c37028
Date: Mon Mar 03 16:37:57 2025
ap...@google.com <ap...@google.com> #41
Project: chromium/src
Branch: main
Author: Ethan Jimenez <
Link:
[Masonry] Introduce PlaceMasonryItems to MasonryLayoutAlgorithm
Expand for full commit details
[Masonry] Introduce PlaceMasonryItems to MasonryLayoutAlgorithm
1. Introducing `BuildMasonryItems`, a method that constructs masonry
items and performs the placement algorithm to determine its final
position and size within the stacking axis.
2. Introducing `PlaceGridItems`, a method that will perform layout for
masonry items and add them to the container builder.
3. Adding a web test to ensure that the entire layout pipeline works.
Bug: 343257585
Change-Id: I39921b625ccdf581d87665defec5536b2640e38b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6313741
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1429735}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- A
third_party/blink/web_tests/fast/css-masonry/explicit-placement-001-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/explicit-placement-001.html
- A
third_party/blink/web_tests/fast/css-masonry/resources/masonry.css
Hash: 0d6fad57b82941423ea24f55ea31e4145e6fa620
Date: Fri Mar 07 13:53:37 2025
dx...@google.com <dx...@google.com> #42
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Implement MasonryRunningPositions Methods Pt. 2
Expand for full commit details
This change implements the methods in MasonryRunningPositions that
finds the first track after the auto-placment cursor within the
tie-threshold of the minimum max-position. Exact details can be found in
the spec here:
https://drafts.csswg.org/css-grid-3/#masonry-layout-algorithm
Bug: 343257585
Change-Id: I8e0af9f59869f5d0ab844b6499ca1ff43dcd96c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6331305
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1432496}
Files:
- 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
Hash: cebe3db7b7a444df94b9d19614ecf77b4cca9b4d
Date: Fri Mar 14 01:22:49 2025
dx...@google.com <dx...@google.com> #43
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Masonry] Compute the maximum end grid line in CollectItemGroups
Expand for full commit details
1. As a prerequisite for considering auto-placed masonry items, we need
to compute the maximum end line of the implicit grid. Adding logic to
compute this value while collecting the item groups in `MasonryNode`.
2. Refactoring several methods in masonry's code to take references as
output parameters, which is now encouraged by the C++ style guide.
3. Previously, translating the span of a virtual masonry item was done
in `BuildVirtualMasonryItems`. This change moves the translation to
`CollectItemGroups`, where it's needed to compute `max_end_line`.
Bug: 343257585
Change-Id: Iaebb61006534faaeeb5378de4dd629bba3f96591
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6365654
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1434493}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_item_group.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_node.h
Hash: 8a0b53fbdab9fd25272f35490d3be08da53d1530
Date: Tue Mar 18 23:08:38 2025
dx...@google.com <dx...@google.com> #44
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Masonry] Consider auto-placed items in BuildVirtualMasonryItems
Expand for full commit details
1. Adding logic to `BuildVirtualMasonryItems` to consider groups of
auto-placed items, which need to be positioned in every possible
start line that can accommodate its indefinite track span.
2. Adding a unit test to check that virtual masonry items produced by
auto-placed items are correctly created and considered.
Bug: 343257585
Change-Id: I9c0e9ba9bfb666474712684bf85072a8875d8abd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6373051
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1435692}
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
Hash: f36e400b76f1a2fa440c42021675416ff61b6e5d
Date: Thu Mar 20 21:25:26 2025
dx...@google.com <dx...@google.com> #45
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Placement Algorithm
Expand for full commit details
Apply placement algorithm to auto-placed items in masonry.
Bug: 343257585
Change-Id: I58710c983193d303f2889e943bfc8f6131ab749f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6374346
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1439077}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- 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/fast/css-masonry/auto-placement-001-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/auto-placement-001.html
- M
third_party/blink/web_tests/fast/css-masonry/explicit-placement-001-expected.html
- M
third_party/blink/web_tests/fast/css-masonry/explicit-placement-001.html
- M
third_party/blink/web_tests/fast/css-masonry/resources/masonry.css
Hash: 90fdd057fc1a09e6d073de994b0c5a30c0496677
Date: Thu Mar 27 23:15:47 2025
dx...@google.com <dx...@google.com> #46
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Add about://flags for CSSMasonryLayout
Expand for full commit details
Add about://flags entry for CSSMasonryLayout.
Bug: 343257585
Change-Id: Ie8c33df6d6c5cbb5443533de0d703cc97ba30bac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6398102
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1439101}
Files:
- M
chrome/browser/about_flags.cc
- M
chrome/browser/flag-metadata.json
- M
chrome/browser/flag_descriptions.cc
- M
chrome/browser/flag_descriptions.h
- M
third_party/blink/renderer/platform/runtime_enabled_features.json5
- M
tools/metrics/histograms/enums.xml
Hash: 5ecad04d9cc46e3594586c5dbf7dfc1b6325cd98
Date: Thu Mar 27 23:47:22 2025
dx...@google.com <dx...@google.com> #47
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Masonry] Introduce ComputeMinMaxSizes for masonry containers
Expand for full commit details
1. Introducing `ComputeMinMaxSizes` logic for masonry containers, which
computes the intrinsic inline size for both its min and max-content.
2. Adding logic to resolve `inline-masonry` as an inline layout node.
3. Fixing minor issues that prevented the track sizing algorithm from
resolving intrinsic track sizes with indefinite available space.
4. Adding a web test to check that masonry containers are correctly
sized when an intrinsic inline size is specified.
Bug: 343257585
Change-Id: I0aa325e27a6e3c2d2ba7696f23d9865a4aa15f19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6398974
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1439571}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/style/computed_style.h
- A
third_party/blink/web_tests/fast/css-masonry/intrinsic-inline-container-size-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/intrinsic-inline-container-size.html
Hash: 2194e58ced06efd6ef64d86243fcf87bfddbd0be
Date: Fri Mar 28 18:31:14 2025
dx...@google.com <dx...@google.com> #48
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Masonry] Copy ExpandFlexibleTracks logic to GridTrackSizingAlgorithm
Expand for full commit details
1. Copying logic to expand flexible tracks to `GridTrackSizingAlgorithm`
from `GridLayoutAlgorithm` to be also used by masonry containers.
2. Adding a unit test to check that flexible tracks are correctly sized.
Bug: 343257585
Change-Id: I6b1bd1aadef45964b109e448efe0608159ea6bfe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6410397
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1440536}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_sizing_algorithm.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
Hash: 696961e5f9763dd0ff309433be2fa29f1813b452
Date: Mon Mar 31 20:40:04 2025
dx...@google.com <dx...@google.com> #49
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Grid] Use GridTrackSizingAlgorithm in ComputeUsedTrackSizes
Expand for full commit details
Removing the logic for `ComputeUsedTrackSizes` that was duplicated in
`GridLayoutAlgorithm` to use the same methods as masonry.
The only difference preventing grid from using the shared algorithm was
accommodating the extra margin of subgrids to its spanned tracks.
This change should not have any behavioral impact.
Bug: 343257585
Change-Id: I0bf9ebb6772497146a21288a8d97aa71b1ab9357
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6434636
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1444255}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.h
Hash: 1e78332a4dd81076fd15491e89997647d3ee2bb2
Date: Tue Apr 8 18:26:10 2025
dx...@google.com <dx...@google.com> #50
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Account for gaps between items
Expand for full commit details
Account for gaps between items in a track.
Bug: 343257585
Change-Id: I445a3f4bbdc82ecf470ae21405c4973e9613197e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6432535
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1444982}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/web_tests/fast/css-masonry/auto-placement-001-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/gaps-001-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/gaps-001.html
- M
third_party/blink/web_tests/fast/css-masonry/resources/masonry.css
Hash: e89e7456afbc9da7a458e083f7347e622c6b637a
Date: Wed Apr 9 22:30:45 2025
dx...@google.com <dx...@google.com> #51
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Renaming masonry-slack property to item-tolerance
Expand for full commit details
Update code to use "item-tolerance" instead of "masonry-slack" in order
to match the results of the discussion here:
https://github.com/w3c/csswg-drafts/issues/10884#issuecomment-2773675152.
Bug: 343257585
Change-Id: I1f4b0c6ead16365e8d819218c3ffaf08747b613c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6398266
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1445062}
Files:
- M
third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
- M
third_party/blink/renderer/core/css/css_properties.json5
- M
third_party/blink/renderer/core/css/css_property_equality.cc
- M
third_party/blink/renderer/core/css/properties/computed_style_utils.cc
- M
third_party/blink/renderer/core/css/properties/computed_style_utils.h
- M
third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
- M
third_party/blink/renderer/core/css/properties/css_parsing_utils.h
- M
third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
- M
third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
- M
third_party/blink/renderer/core/css/resolver/style_builder_converter.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-computed.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-invalid.html
- M
third_party/blink/web_tests/external/wpt/css/css-masonry/tentative/parsing/masonry-slack-valid.html
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
- M
third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
- M
third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
- M
third_party/blink/web_tests/webexposed/css-properties-as-js-properties-expected.txt
- M
third_party/blink/web_tests/webexposed/css-property-listing-expected.txt
- M
tools/metrics/histograms/metadata/blink/enums.xml
Hash: b68c980d9fc8a20d80fc0dac8a3f613a4c32a6e2
Date: Thu Apr 10 02:01:52 2025
dx...@google.com <dx...@google.com> #52
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Implement justify-content/self.
Expand for full commit details
Align items along the grid-axis based on the value for justify-items. We
only account for three values: start, center, and end. This is specified
in the draft spec here:
https://drafts.csswg.org/css-align-3/#content-distribution.
Bug: 343257585
Change-Id: Ib9839734c3daa0664c02a8cf4db65b6a6830c9a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6443323
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1448076}
Files:
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- A
third_party/blink/web_tests/fast/css-masonry/justify-items-center-001-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/justify-items-center-001.html
- A
third_party/blink/web_tests/fast/css-masonry/justify-items-end-justify-self-start-001-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/justify-items-end-justify-self-start-001.html
- A
third_party/blink/web_tests/fast/css-masonry/overflow-alignment-001-expected.html
- A
third_party/blink/web_tests/fast/css-masonry/overflow-alignment-001.html
- M
third_party/blink/web_tests/fast/css-masonry/resources/masonry.css
Hash: 67de19e688acefed0d78f3ffa375648d4b4e4120
Date: Wed Apr 16 23:43:28 2025
dx...@google.com <dx...@google.com> #53
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Masonry] Apply grid properties in the grid axis of masonry containers
Expand for full commit details
As per https://drafts.csswg.org/css-grid-3/#masonry-track-grid-option,
this change updates the properties from which masonry queries the
template tracks for its respective grid axis.
Bug: 343257585
Change-Id: Ic8d1c438a1a4ece0676401f82e148cbb91ca73b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6406096
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1448335}
Files:
- M
chrome/browser/flag_descriptions.cc
- M
third_party/blink/renderer/core/layout/grid/grid_line_resolver.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm_test.cc
- M
third_party/blink/renderer/core/style/computed_style.h
- M
third_party/blink/web_tests/fast/css-masonry/auto-placement-001-expected.html
- M
third_party/blink/web_tests/fast/css-masonry/auto-placement-001.html
- M
third_party/blink/web_tests/fast/css-masonry/explicit-placement-001-expected.html
- M
third_party/blink/web_tests/fast/css-masonry/gaps-001-expected.html
- M
third_party/blink/web_tests/fast/css-masonry/gaps-001.html
- M
third_party/blink/web_tests/fast/css-masonry/intrinsic-inline-container-size-expected.html
- M
third_party/blink/web_tests/fast/css-masonry/intrinsic-inline-container-size.html
- M
third_party/blink/web_tests/fast/css-masonry/justify-items-center-001.html
- M
third_party/blink/web_tests/fast/css-masonry/justify-items-end-justify-self-start-001.html
- M
third_party/blink/web_tests/fast/css-masonry/overflow-alignment-001-expected.html
- M
third_party/blink/web_tests/fast/css-masonry/overflow-alignment-001.html
- M
third_party/blink/web_tests/fast/css-masonry/resources/masonry.css
Hash: c147052eece66a6f9c0aa6e70ef6f25dc3f88950
Date: Thu Apr 17 15:39:08 2025
dx...@google.com <dx...@google.com> #54
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Fix bugs with item-direction: row
Expand for full commit details
```[Masonry] Fix bugs with item-direction: row
1. In `BuildGridAxisTracks`, the GridTrackSizingCollection constructor
was being used incorrectly, in the sense that the `track_direction`
parameter was being used for `must_create_baselines`, leaving
`track_direction` to always fallback to its default value.
2. In `MasonryLayoutAlgorithm::CreateConstraintSpaceForMeasure`, the
inline size needed to be set to `kIndefinite` so that we don't fail the
DCHECK in length_utils.cc:406 which ensures that the inline size is
indefinite so that text can flow when checking the size.
Note that row is still not entirely functional after this CL, but other
bugs will be addressed in other CLs.
Bug: 343257585
Change-Id: I5ca1782e234c01d2198d3fb3917f6c0d75e7f562
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6476517
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ethan Jimenez <ethavar@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1450247}
---
Files:
* M `third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc`
* A `third_party/blink/web_tests/fast/css-masonry/auto-placement-row-expected.html`
* A `third_party/blink/web_tests/fast/css-masonry/auto-placement-row.html`
* M `third_party/blink/web_tests/fast/css-masonry/resources/masonry.css`
---
Hash: 5834c5573f0f0e25b4454b594192a1ca20a2ee1e\
Date: Tue Apr 22 22:12:24 2025
</details>
---
dx...@google.com <dx...@google.com> #55
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Masonry] Fix BuildGridAxisTracks for row direction
Expand for full commit details
Previously, a masonry container with `masonry-direction: row` would
incorrectly set the direction of its `GridSizingTrackCollection`.
This occurred because the constructor mistakenly interpreted the
direction as the `must_create_baselines` boolean.
This CL fixes the issue by switching the order of the parameters in the
constructor and matching uses in grid to this new expectation.
Bug: 343257585
Change-Id: Iedf5aade27e0597ebfa2dae09849f93468da555d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6476797
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1450380}
Files:
- M
third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.cc
- M
third_party/blink/renderer/core/layout/grid/grid_track_collection.h
- 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
Hash: ca2feb208a31c56f6cf497546293deb61ab64c16
Date: Wed Apr 23 04:39:58 2025
dx...@google.com <dx...@google.com> #56
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Move tests to wpt_internal folder and add spec link
Expand for full commit details
Add a link to the spec for all masonry tests and format + move all tests
to the wpt_internal folder to allow for an easier transition once these
tests become public.
Bug: 343257585
Change-Id: Ia1d84f9aff5dd581386b95a359cffa95e9b8b946
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6485668
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1452070}
Files:
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/auto-placement-001-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/auto-placement-001.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/auto-placement-row-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/auto-placement-row.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/explicit-placement-001-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/explicit-placement-001.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/gaps-001-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/gaps-001.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/intrinsic-inline-container-size-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/intrinsic-inline-container-size.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-center-001-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-center-001.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-end-justify-self-start-001-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-end-justify-self-start-001.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/overflow-alignment-001-ref.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/overflow-alignment-001.html
- R
third_party/blink/web_tests/wpt_internal/css/css-masonry/resources/masonry.css
Hash: 5e6e9171f8fb4edfd6591d0764fbab11e2ac4540
Date: Fri Apr 25 21:46:51 2025
dx...@google.com <dx...@google.com> #57
Project: chromium/src
Branch: main
Author: Celeste Pan
Link:
[Masonry] Fix intrinsic block size for item-direction: row
Expand for full commit details
```[Masonry] Fix intrinsic block size for item-direction: row
Fix the calculation of the intrinsic block size when `item-direction` is
is set to row in masonry.
Bug: 343257585
Change-Id: If14fc72e3182325e06e188f80022f76eea6bb38f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6492233
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Commit-Queue: Celeste Pan <celestepan@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1453559}
---
Files:
* M `third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc`
* M `third_party/blink/web_tests/wpt_internal/css/css-masonry/auto-placement-row-ref.html`
* M `third_party/blink/web_tests/wpt_internal/css/css-masonry/auto-placement-row.html`
---
Hash: e67ccf7c3d7cee07f9ded3025c0976332b62328d\
Date: Tue Apr 29 21:47:51 2025
</details>
---
dx...@google.com <dx...@google.com> #58
Project: chromium/src
Branch: main
Author: Ethan Jimenez
Link:
[Masonry] Fix behavior of initial value for item-tolerance
Expand for full commit details
1. Previously, the helper that calculated the tie threshold for masonry
placement from `item-tolerance` only considered definite values.
This CL introduces a new helper that considers percentage values and
resolves the initial value to the specified `1em`.
2. Introducing a web test to check for this new behavior and reworking
other tests in masonry to avoid platform-specific issues.
Bug: 343257585
Change-Id: I2ce95e8e1d8a431a6552b223d22a7896ef963c67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6448575
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1454568}
Files:
- M
third_party/blink/renderer/core/layout/length_utils.cc
- M
third_party/blink/renderer/core/layout/length_utils.h
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.cc
- M
third_party/blink/renderer/core/layout/masonry/masonry_layout_algorithm.h
- A
third_party/blink/web_tests/wpt_internal/css/css-masonry/initial-tie-threshold-ref.html
- A
third_party/blink/web_tests/wpt_internal/css/css-masonry/initial-tie-threshold.html
- M
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-center-001-ref.html
- M
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-center-001.html
- M
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-end-justify-self-start-001-ref.html
- M
third_party/blink/web_tests/wpt_internal/css/css-masonry/justify-items-end-justify-self-start-001.html
- M
third_party/blink/web_tests/wpt_internal/css/css-masonry/resources/masonry.css
Hash: 40b116a52fc6849908f1f2d17b0b189f73aa7658
Date: Thu May 1 18:43:20 2025
Description
Opening this bug to track the implementation of Masonry.