[webkit-changes] [WebKit/WebKit] 5fd602: [css-anchor-position-1] Implement parsing support ...
Kiet Ho
noreply at github.com
Sun Feb 9 00:19:16 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5fd602ab52938ca40524eacce9b980b8adf11b6a
https://github.com/WebKit/WebKit/commit/5fd602ab52938ca40524eacce9b980b8adf11b6a
Author: Kiet Ho <kiet.ho at apple.com>
Date: 2025-02-09 (Sun, 09 Feb 2025)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/at-position-try-allowed-declarations-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/at-position-try-cssom-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-align-justify-wm-dir-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-computed-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-computed-insets-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-interpolation-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-parsing-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-wm-dir-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/property-interpolations-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/try-tactic-position-area-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
M LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
M LayoutTests/platform/ipad/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/animation/CSSPropertyAnimation.cpp
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/css/CSSValueKeywords.in
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/css/parser/CSSPropertyParser.cpp
A Source/WebCore/css/parser/CSSPropertyParserConsumer+Anchor.cpp
A Source/WebCore/css/parser/CSSPropertyParserConsumer+Anchor.h
M Source/WebCore/css/process-css-properties.py
A Source/WebCore/rendering/style/PositionArea.cpp
A Source/WebCore/rendering/style/PositionArea.h
M Source/WebCore/rendering/style/RenderStyle.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/rendering/style/StyleRareNonInheritedData.cpp
M Source/WebCore/rendering/style/StyleRareNonInheritedData.h
M Source/WebCore/style/StyleBuilderConverter.h
Log Message:
-----------
[css-anchor-position-1] Implement parsing support for position-area
https://bugs.webkit.org/show_bug.cgi?id=281289
rdar://138173544
Reviewed by Antti Koivisto.
Implement parsing support for position-area, as specified in the
CSS Anchor Positioning spec:
https://drafts.csswg.org/css-anchor-position/#position-area
Note that the spec seems to confuse between the self- keywords
(for example: self-block-end in the syntax, then block-self-end in the
explanation). This patch strictly follows the keywords used in the
syntax definition, which seems to align with Chrome behavior and
WPT tests.
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/at-position-try-allowed-declarations-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/at-position-try-cssom-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-align-justify-wm-dir-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-computed-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-computed-insets-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-interpolation-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-parsing-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-wm-dir-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/property-interpolations-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/try-tactic-position-area-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/ipad/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSValueKeywords.in:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::keywordForPositionAreaSpan):
(WebCore::valueForPositionArea):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle const):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::propertyAllowedInPositionTryRule):
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Anchor.cpp: Added.
(WebCore::CSSPropertyParserHelpers::getKeywordType):
(WebCore::CSSPropertyParserHelpers::typesAreCompatible):
(WebCore::CSSPropertyParserHelpers::typeIsAxisExplicit):
(WebCore::CSSPropertyParserHelpers::typeIsBlockOrXAxis):
(WebCore::CSSPropertyParserHelpers::typeIsInlineOrYAxis):
(WebCore::CSSPropertyParserHelpers::valueForPositionArea):
(WebCore::CSSPropertyParserHelpers::consumePositionArea):
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Anchor.h: Added.
* Source/WebCore/css/process-css-properties.py:
* Source/WebCore/rendering/style/PositionArea.cpp: Added.
(WebCore::PositionAreaSpan::PositionAreaSpan):
(WebCore::axisIsBlockOrX):
(WebCore::axisIsInlineOrY):
(WebCore::PositionArea::PositionArea):
(WebCore::operator<<):
* Source/WebCore/rendering/style/PositionArea.h: Added.
(WebCore::PositionAreaSpan::axis const):
(WebCore::PositionAreaSpan::track const):
(WebCore::PositionAreaSpan::self const):
(WebCore::PositionArea::blockOrXAxis const):
(WebCore::PositionArea::inlineOrYAxis const):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::rareDataChangeRequiresLayout):
(WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::initialPositionArea):
(WebCore::RenderStyle::positionArea const):
* Source/WebCore/rendering/style/RenderStyleSetters.h:
(WebCore::RenderStyle::setPositionArea):
* Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
(WebCore::StyleRareNonInheritedData::dumpDifferences const):
* Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::positionAreaKeywordToAxis):
(WebCore::Style::positionAreaKeywordToTrack):
(WebCore::Style::positionAreaKeywordToSelf):
(WebCore::Style::positionAreaExpandKeyword):
(WebCore::Style::positionAreaOppositeAxis):
(WebCore::Style::BuilderConverter::convertPositionArea):
Canonical link: https://commits.webkit.org/290113@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