Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2de47ea89dfd08f075fcb94b4a5f576979ec1410
https://github.com/WebKit/WebKit/commit/2de47ea89dfd08f075fcb94b4a5f576979ec1410
Author: Kiet Ho <[email protected]>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-fallback-invalidation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-getComputedStyle-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-inherited-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-invalid-fallback-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-inline-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-multicol-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-multicol-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-multicol-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-dynamic-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-dynamic-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-grid-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-inline-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-005-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-006-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-colspan-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-colspan-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-fixed-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-nested-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-query-fallback-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-minmax-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-replaced-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-writing-modes-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-default-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-eval-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-name-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-typed-om-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-anchor-multicol-display.tentative-expected.txt
M Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.cpp
M Source/WebCore/css/calc/CSSCalcTree+Copy.cpp
M Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp
M Source/WebCore/css/calc/CSSCalcTree+Parser.cpp
M Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp
M Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp
M Source/WebCore/css/calc/CSSCalcTree.h
M Source/WebCore/style/AnchorPositionEvaluator.cpp
M Source/WebCore/style/AnchorPositionEvaluator.h
Log Message:
-----------
[css-anchor-position-1] Implement evaluating anchor-size()
rdar://137158830
https://bugs.webkit.org/show_bug.cgi?id=280789
Reviewed by Antti Koivisto.
This commit implements evaluation of anchor-size(). anchor-size() works
similarily to anchor() - it finds the anchor being referenced and returns
the width or height of the anchor element. Since the current anchor
finding logic lies in anchor(), this commit moves the logic to a separate
function that is shared between anchor() and anchor-size().
* LayoutTests/TestExpectations:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-fallback-invalidation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-getComputedStyle-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-inherited-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-invalid-fallback-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-003-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-inline-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-multicol-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-multicol-003-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-name-multicol-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-dynamic-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-dynamic-003-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-grid-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-inline-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-003-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-005-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-006-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-colspan-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-colspan-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-fixed-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-nested-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-query-fallback-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-minmax-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-replaced-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-writing-modes-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-default-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-eval-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-name-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-typed-om-expected.txt:
* Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.cpp:
(WebCore::CSSCalc::collectComputedStyleDependencies):
* Source/WebCore/css/calc/CSSCalcTree+Copy.cpp:
(WebCore::CSSCalc::copy):
* Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp:
(WebCore::CSSCalc::evaluate): Implement evaluation of anchor-size()
* Source/WebCore/css/calc/CSSCalcTree+Parser.cpp:
(WebCore::CSSCalc::cssValueIDToAnchorSizeDimension):
(WebCore::CSSCalc::consumeAnchorSize):
* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp:
(WebCore::CSSCalc::serializeAnchorSizeDimension):
(WebCore::CSSCalc::serializeMathFunctionArguments):
* Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp:
(WebCore::CSSCalc::simplify): Implement simplification of anchor-size()
(WebCore::CSSCalc::copyAndSimplifyChildren):
* Source/WebCore/css/calc/CSSCalcTree.h:
* Source/WebCore/style/AnchorPositionEvaluator.cpp:
(WebCore::Style::isSizingProperty): Add function to check if a CSS property is
a sizing property.
(WebCore::Style::isMarginProperty): Add function to check if a CSS property is
a margin property.
(WebCore::Style::AnchorPositionEvaluator::findAnchorAndAttemptResolution):
Separate anchor resolution logic into its own function.
(WebCore::Style::AnchorPositionEvaluator::evaluate): Change to use
AnchorPositionEvaluator::findAnchorAndAttemptResolution
(WebCore::Style::defaultDimensionForPropertyID): Add function to get the
default dimension given the current CSS property being resolved, if the
dimension is not explicitly given.
(WebCore::Style::anchorSizeDimensionToPhysicalDimension): Add function to
resolve <anchor-size> to the physical dimension (width or height)
(WebCore::Style::AnchorPositionEvaluator::evaluateSize): Add function to
evaluate anchor-size()
* Source/WebCore/style/AnchorPositionEvaluator.h:
Canonical link: https://commits.webkit.org/285911@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes