Changeset 289167 in webkit
- Timestamp:
- Feb 6, 2022 7:17:32 AM (5 months ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/style/Styleable.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r289165 r289167 1 2022-02-06 Antoine Quint <graouts@webkit.org> 2 3 [css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties 4 https://bugs.webkit.org/show_bug.cgi?id=236197 5 6 Reviewed by Dean Jackson. 7 8 Mark WPT progressions. 9 10 * web-platform-tests/css/css-logical/animation-004-expected.txt: 11 1 12 2022-02-05 Chris Dumez <cdumez@apple.com> 2 13 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004-expected.txt
r289161 r289167 8 8 PASS Physical properties and logical properties can be mixed 9 9 PASS Declaration order is respected on each keyframe individually 10 FAIL Transitions update when the writing-mode is changed assert_equals: expected "0px" but got "50px" 10 PASS Transitions update when the writing-mode is changed 11 11 PASS Filling transitions update when the writing-mode is changed 12 FAIL The number of interpolating properties can be increased when the writing-mode is changed assert_equals: expected "0px" but got "50px" 13 FAIL The number of interpolating properties can be decreased when the writing-mode is changed assert_equals: expected "300px" but got "275px" 12 PASS The number of interpolating properties can be increased when the writing-mode is changed 13 PASS The number of interpolating properties can be decreased when the writing-mode is changed 14 14 FAIL Transitions update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "0px" 15 FAIL Transitions update when the direction is changed assert_equals: expected "0px" but got "50px" 16 FAIL Transitions from logical to physical update when the direction is changed assert_equals: expected "0px" but got "50px" 17 FAIL Transitions from physical to logical update when the direction is changed assert_equals: expected "0px" but got "50px" 15 PASS Transitions update when the direction is changed 16 PASS Transitions from logical to physical update when the direction is changed 17 PASS Transitions from physical to logical update when the direction is changed 18 18 -
trunk/Source/WebCore/ChangeLog
r289163 r289167 1 2022-02-06 Antoine Quint <graouts@webkit.org> 2 3 [css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties 4 https://bugs.webkit.org/show_bug.cgi?id=236197 5 6 Reviewed by Dean Jackson. 7 8 In r289161 we added initial support for transitions of logical properties. However, we would resolve the 9 transition-property in updateCSSTransitionsForStyleableAndProperty() whereas we should resolve them earlier 10 when compiling the list of transition-property values found in the previous style and the new style. 11 12 * style/Styleable.cpp: 13 (WebCore::keyframeEffectForElementAndProperty): 14 (WebCore::compileTransitionPropertiesInStyle): 15 (WebCore::updateCSSTransitionsForStyleableAndProperty): 16 1 17 2022-02-03 Nikolas Zimmermann <nzimmermann@igalia.com> 2 18 -
trunk/Source/WebCore/style/Styleable.cpp
r289161 r289167 322 322 } 323 323 324 static KeyframeEffect* keyframeEffectForElementAndProperty(const Styleable& styleable, CSSPropertyID resolvedProperty, CSSPropertyID unresolvedProperty)324 static KeyframeEffect* keyframeEffectForElementAndProperty(const Styleable& styleable, CSSPropertyID property) 325 325 { 326 326 if (auto* keyframeEffectStack = styleable.keyframeEffectStack()) { 327 327 auto effects = keyframeEffectStack->sortedEffects(); 328 328 for (const auto& effect : makeReversedRange(effects)) { 329 if (effect->animatesProperty( resolvedProperty) || (resolvedProperty != unresolvedProperty && effect->animatesProperty(unresolvedProperty)))329 if (effect->animatesProperty(property)) 330 330 return effect.get(); 331 331 } … … 382 382 auto mode = animation->property().mode; 383 383 if (mode == Animation::TransitionMode::SingleProperty) { 384 auto property = animation->property().id;384 auto property = CSSProperty::resolveDirectionAwareProperty(animation->property().id, style.direction(), style.writingMode()); 385 385 if (isShorthandCSSProperty(property)) { 386 386 for (auto longhand : shorthandForProperty(property)) … … 397 397 static void updateCSSTransitionsForStyleableAndProperty(const Styleable& styleable, CSSPropertyID property, const RenderStyle& currentStyle, const RenderStyle& newStyle, const MonotonicTime generationTime) 398 398 { 399 auto unresolvedProperty = property; 400 property = CSSProperty::resolveDirectionAwareProperty(property, newStyle.direction(), newStyle.writingMode()); 401 402 auto* keyframeEffect = keyframeEffectForElementAndProperty(styleable, property, unresolvedProperty); 399 auto* keyframeEffect = keyframeEffectForElementAndProperty(styleable, property); 403 400 auto* animation = keyframeEffect ? keyframeEffect->animation() : nullptr; 404 401
Note: See TracChangeset
for help on using the changeset viewer.