Title: [289167] trunk
- Revision
- 289167
- Author
- [email protected]
- Date
- 2022-02-06 07:17:32 -0800 (Sun, 06 Feb 2022)
Log Message
[css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties
https://bugs.webkit.org/show_bug.cgi?id=236197
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
* web-platform-tests/css/css-logical/animation-004-expected.txt:
Source/WebCore:
In r289161 we added initial support for transitions of logical properties. However, we would resolve the
transition-property in updateCSSTransitionsForStyleableAndProperty() whereas we should resolve them earlier
when compiling the list of transition-property values found in the previous style and the new style.
* style/Styleable.cpp:
(WebCore::keyframeEffectForElementAndProperty):
(WebCore::compileTransitionPropertiesInStyle):
(WebCore::updateCSSTransitionsForStyleableAndProperty):
Modified Paths
Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (289166 => 289167)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-06 12:34:45 UTC (rev 289166)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-06 15:17:32 UTC (rev 289167)
@@ -1,3 +1,14 @@
+2022-02-06 Antoine Quint <[email protected]>
+
+ [css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties
+ https://bugs.webkit.org/show_bug.cgi?id=236197
+
+ Reviewed by Dean Jackson.
+
+ Mark WPT progressions.
+
+ * web-platform-tests/css/css-logical/animation-004-expected.txt:
+
2022-02-05 Chris Dumez <[email protected]>
Resync web-platform-tests/dom from upstream
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004-expected.txt (289166 => 289167)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004-expected.txt 2022-02-06 12:34:45 UTC (rev 289166)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004-expected.txt 2022-02-06 15:17:32 UTC (rev 289167)
@@ -7,12 +7,12 @@
PASS Declaration order is respected amongst logical properties within declaration blocks
PASS Physical properties and logical properties can be mixed
PASS Declaration order is respected on each keyframe individually
-FAIL Transitions update when the writing-mode is changed assert_equals: expected "0px" but got "50px"
+PASS Transitions update when the writing-mode is changed
PASS Filling transitions update when the writing-mode is changed
-FAIL The number of interpolating properties can be increased when the writing-mode is changed assert_equals: expected "0px" but got "50px"
-FAIL The number of interpolating properties can be decreased when the writing-mode is changed assert_equals: expected "300px" but got "275px"
+PASS The number of interpolating properties can be increased when the writing-mode is changed
+PASS The number of interpolating properties can be decreased when the writing-mode is changed
FAIL Transitions update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "0px"
-FAIL Transitions update when the direction is changed assert_equals: expected "0px" but got "50px"
-FAIL Transitions from logical to physical update when the direction is changed assert_equals: expected "0px" but got "50px"
-FAIL Transitions from physical to logical update when the direction is changed assert_equals: expected "0px" but got "50px"
+PASS Transitions update when the direction is changed
+PASS Transitions from logical to physical update when the direction is changed
+PASS Transitions from physical to logical update when the direction is changed
Modified: trunk/Source/WebCore/ChangeLog (289166 => 289167)
--- trunk/Source/WebCore/ChangeLog 2022-02-06 12:34:45 UTC (rev 289166)
+++ trunk/Source/WebCore/ChangeLog 2022-02-06 15:17:32 UTC (rev 289167)
@@ -1,3 +1,19 @@
+2022-02-06 Antoine Quint <[email protected]>
+
+ [css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties
+ https://bugs.webkit.org/show_bug.cgi?id=236197
+
+ Reviewed by Dean Jackson.
+
+ In r289161 we added initial support for transitions of logical properties. However, we would resolve the
+ transition-property in updateCSSTransitionsForStyleableAndProperty() whereas we should resolve them earlier
+ when compiling the list of transition-property values found in the previous style and the new style.
+
+ * style/Styleable.cpp:
+ (WebCore::keyframeEffectForElementAndProperty):
+ (WebCore::compileTransitionPropertiesInStyle):
+ (WebCore::updateCSSTransitionsForStyleableAndProperty):
+
2022-02-03 Nikolas Zimmermann <[email protected]>
[LBSE] Handle RenderSVGShape in SVGRenderSupport::applyStrokeStyleToContext()
Modified: trunk/Source/WebCore/style/Styleable.cpp (289166 => 289167)
--- trunk/Source/WebCore/style/Styleable.cpp 2022-02-06 12:34:45 UTC (rev 289166)
+++ trunk/Source/WebCore/style/Styleable.cpp 2022-02-06 15:17:32 UTC (rev 289167)
@@ -321,12 +321,12 @@
element.cssAnimationsDidUpdate(pseudoId);
}
-static KeyframeEffect* keyframeEffectForElementAndProperty(const Styleable& styleable, CSSPropertyID resolvedProperty, CSSPropertyID unresolvedProperty)
+static KeyframeEffect* keyframeEffectForElementAndProperty(const Styleable& styleable, CSSPropertyID property)
{
if (auto* keyframeEffectStack = styleable.keyframeEffectStack()) {
auto effects = keyframeEffectStack->sortedEffects();
for (const auto& effect : makeReversedRange(effects)) {
- if (effect->animatesProperty(resolvedProperty) || (resolvedProperty != unresolvedProperty && effect->animatesProperty(unresolvedProperty)))
+ if (effect->animatesProperty(property))
return effect.get();
}
}
@@ -381,7 +381,7 @@
for (const auto& animation : *transitions) {
auto mode = animation->property().mode;
if (mode == Animation::TransitionMode::SingleProperty) {
- auto property = animation->property().id;
+ auto property = CSSProperty::resolveDirectionAwareProperty(animation->property().id, style.direction(), style.writingMode());
if (isShorthandCSSProperty(property)) {
for (auto longhand : shorthandForProperty(property))
transitionProperties.add(longhand);
@@ -396,10 +396,7 @@
static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleable, CSSPropertyID property, const RenderStyle& currentStyle, const RenderStyle& newStyle, const MonotonicTime generationTime)
{
- auto unresolvedProperty = property;
- property = CSSProperty::resolveDirectionAwareProperty(property, newStyle.direction(), newStyle.writingMode());
-
- auto* keyframeEffect = keyframeEffectForElementAndProperty(styleable, property, unresolvedProperty);
+ auto* keyframeEffect = keyframeEffectForElementAndProperty(styleable, property);
auto* animation = keyframeEffect ? keyframeEffect->animation() : nullptr;
bool isDeclarative = false;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes