[webkit-changes] [WebKit/WebKit] 348917: [css-anchor-position-1] Implement parsing support ...
Kiet Ho
noreply at github.com
Thu Oct 3 13:21:50 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 348917fed580492c717b5176875bc301268f6c67
https://github.com/WebKit/WebKit/commit/348917fed580492c717b5176875bc301268f6c67
Author: Kiet Ho <kiet.ho at apple.com>
Date: 2024-10-03 (Thu, 03 Oct 2024)
Changed paths:
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-invalid-fallback-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-parse-invalid-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-animation-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-parse-valid-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-transition-001-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-typed-om-expected.txt
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/css/CSSValueKeywords.in
M Source/WebCore/css/calc/CSSCalcTree+CalculationValue.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+Simplification.h
M Source/WebCore/css/calc/CSSCalcTree.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.h
M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
M Source/WebCore/css/parser/CSSPropertyParserOptions.h
M Source/WebCore/css/process-css-properties.py
Log Message:
-----------
[css-anchor-position-1] Implement parsing support for anchor-size()
rdar://136444595
https://bugs.webkit.org/show_bug.cgi?id=280148
Reviewed by Antti Koivisto.
Implement parsing anchor-size() as a calc() function.
* 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-invalid-fallback-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-parse-invalid-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-animation-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-parse-valid-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-transition-001-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-typed-om-expected.txt:
* Source/WebCore/css/CSSProperties.json: Extended grammar of several properties to accept anchor-size()
* Source/WebCore/css/CSSValueKeywords.in: Added new value keywords required by anchor-size()
* Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp:
(WebCore::CSSCalc::toCalculationValue): Added toCalculationValue() for AnchorSize
* Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp:
(WebCore::CSSCalc::evaluate): Added dummy evaluate() for AnchorSize
* Source/WebCore/css/calc/CSSCalcTree+Parser.cpp:
(WebCore::CSSCalc::checkDepth): renamed from checkDepthAndIndex.
Remove empty token range check, because anchor-size() is valid and allowed.
(WebCore::CSSCalc::isCalcFunction): Recognized anchor-size() as a valid calc() function.
(WebCore::CSSCalc::consumeAnchorSize): Added function to parse anchor-size()
(WebCore::CSSCalc::parseCalcFunction):
(WebCore::CSSCalc::parseCalcSum):
(WebCore::CSSCalc::parseCalcProduct):
(WebCore::CSSCalc::parseCalcValue):
(WebCore::CSSCalc::checkDepthAndIndex): Deleted.
* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp:
(WebCore::CSSCalc::serializeMathFunctionArguments): Implemented serializeMathFunctionArguments for AnchorSize
* Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp:
(WebCore::CSSCalc::simplify): Added stub simplify() for AnchorSize
* Source/WebCore/css/calc/CSSCalcTree+Simplification.h:
* Source/WebCore/css/calc/CSSCalcTree.h: Added new AnchorSize type, representing an anchor-size()
* Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.cpp:
(WebCore::CSSPropertyParserHelpers::consumeLengthPercentage):
* Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.h:
Added new argument to consumeLengthPercentage that controls parsing of anchor-size()
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeAutoOrLengthPercentage): Added new argument to control parsing of anchor-size()
(WebCore::CSSPropertyParserHelpers::consumeMarginSide): Allow parsing anchor-size()
(WebCore::CSSPropertyParserHelpers::consumeSide): Allow parsing anchor-size()
(WebCore::CSSPropertyParserHelpers::consumeInsetLogicalStartEnd): Allow parsing anchor-size()
* Source/WebCore/css/parser/CSSPropertyParserOptions.h:
Added a new parsing policy to control whether to allow anchor-size() or not.
* Source/WebCore/css/process-css-properties.py:
(ReferenceTerm): Added all optional parameters supported by <length-percentage>.
Canonical link: https://commits.webkit.org/284630@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list