Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ed04b373358b0dab92ff958721ae4ce3fd5d4307
https://github.com/WebKit/WebKit/commit/ed04b373358b0dab92ff958721ae4ce3fd5d4307
Author: Elika Etemad <[email protected]>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set-expected.txt
A
LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set-grid-lanes-expected.txt
A LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set-grid-lanes.html
M LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set.html
M LayoutTests/fast/css-grid-layout/grid-shorthand-get-set-expected.txt
M LayoutTests/fast/css-grid-layout/grid-shorthand-get-set.html
M
LayoutTests/fast/css-grid-layout/resources/grid-definitions-parsing-utils.js
M LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
M
LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-automatic-minimum-for-auto-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-flex-track-intrinsic-sizes-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-intrinsic-track-sizes-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-contribution-baseline-shim-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-contribution-with-percentages-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-size-grid-items-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-size-grid-items-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-007-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-008-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-009-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-010-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-011-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-017-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-018-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-022-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-023-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/inheritance-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-invalid-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-invalid-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-getPropertyValue-common-checks-expected.txt
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/svg/css/getComputedStyle-basic-expected.txt
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Grid.cpp
M Source/WebCore/layout/integration/grid/LayoutIntegrationGridCoverage.cpp
M Source/WebCore/rendering/RenderGrid.cpp
M Source/WebCore/rendering/style/RenderStyle.h
M Source/WebCore/rendering/style/RenderStyleInlines.h
M Source/WebCore/rendering/style/RenderStyleSetters.h
M Source/WebCore/style/StyleAdjuster.cpp
M Source/WebCore/style/StyleExtractorCustom.h
M Source/WebCore/style/values/grid/StyleGridAutoFlow.cpp
M Source/WebCore/style/values/grid/StyleGridAutoFlow.h
M Source/WebCore/style/values/grid/StyleGridTemplateList.h
Log Message:
-----------
Support automatic initial value for grid-auto-flow [css-grid-3][masonry]
https://bugs.webkit.org/show_bug.cgi?id=302569
rdar://164791817
Reviewed by Antti Koivisto and Brandon Stewart.
CSS Grid Level 3, which defines masonry layout, introduces a new initial
value for item-flow (which is essentially grid-auto-flow), which switches
the flow orientation automatically depending on the grid-template-rows &
grid-template-columns properties:
- If only grid-template-columns is set, use waterfall layout.
- If only grid-template-rows is set, use brick layout.
- If both or neither are set, default to waterfall layout.
Implementing this provides an easy interface for authors, and also lets
us run most of the WPT tests for brick layout.
Test: fast/css-grid-layout/grid-auto-flow-get-set-grid-lanes.html
* LayoutTests/TestExpectations:
* LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set-expected.txt:
*
LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set-grid-lanes-expected.txt:
Added.
* LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set-grid-lanes.html:
Added.
* LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set.html:
* LayoutTests/fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
* LayoutTests/fast/css-grid-layout/grid-shorthand-get-set.html:
* LayoutTests/fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
(checkGridAutoFlowSetJSValue):
* LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt:
*
LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-automatic-minimum-for-auto-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-flex-track-intrinsic-sizes-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-intrinsic-track-sizes-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-contribution-baseline-shim-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-contribution-with-percentages-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-size-grid-items-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/items/row-minimum-size-grid-items-003-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-007-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-008-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-009-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-010-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-011-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-017-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-018-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-022-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-lanes/tentative/track-sizing/auto-repeat/row-auto-repeat-023-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/inheritance-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-invalid-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-invalid-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-getPropertyValue-common-checks-expected.txt:
* LayoutTests/platform/ios/TestExpectations:
Pass more tests. Rebaseline a few. Add a new one for grid-lanes-specific
compute value conversions.
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Grid.cpp:
(WebCore::CSSPropertyParserHelpers::consumeGridAutoFlow):
* Source/WebCore/layout/integration/grid/LayoutIntegrationGridCoverage.cpp:
(WebCore::LayoutIntegration::gridLayoutAvoidanceReason):
* Source/WebCore/rendering/RenderGrid.cpp:
(WebCore::RenderGrid::autoPlacementMajorAxisDirection const):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::initialGridAutoFlow):
* Source/WebCore/rendering/style/RenderStyleSetters.h:
(WebCore::RenderStyle::setGridAutoFlowDirection):
* Source/WebCore/style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjust const):
* Source/WebCore/style/StyleExtractorCustom.h:
(WebCore::Style::PropertyExtractorAdaptor<CSSPropertyGridAutoFlow>::computedValue
const):
(WebCore::Style::ExtractorCustom::extractGridAutoFlow):
(WebCore::Style::ExtractorCustom::extractGridAutoFlowSerialization):
* Source/WebCore/style/values/grid/StyleGridAutoFlow.cpp:
(WebCore::Style::CSSValueConversion<GridAutoFlow>::operator):
* Source/WebCore/style/values/grid/StyleGridAutoFlow.h:
(WebCore::Style::GridAutoFlow::GridAutoFlow):
(WebCore::Style::GridAutoFlow::setDirection):
(WebCore::Style::GridAutoFlow::switchOn const):
* Source/WebCore/style/values/grid/StyleGridTemplateList.h:
(WebCore::Style::GridTemplateList::isNone const):
Introduce a new 'normal' initial value (not 'auto' to avoid parsing
ambiguity in the 'grid' shorthand) and make it compute to row or column
as appropriate.
Canonical link: https://commits.webkit.org/303634@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications