Title: [251839] trunk
Revision
251839
Author
commit-qu...@webkit.org
Date
2019-10-31 05:42:55 -0700 (Thu, 31 Oct 2019)

Log Message

[Web Animations] transform property is always "none" for getKeyframes() output of a CSS Animation
https://bugs.webkit.org/show_bug.cgi?id=203669

Patch by Antoine Quint <grao...@apple.com> on 2019-10-31
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark a progression, although the test still fails overall, it fails in a better way.

* web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:

Source/WebCore:

Calling valueForPropertyInStyle() with CSSPropertyTransform will eventually call into computedTransform()
which requires a renderer. Note that right now we're returning the computed style instead of the parsed
style, this will be addressed in a separate patch.

* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::getKeyframes):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (251838 => 251839)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2019-10-31 12:01:11 UTC (rev 251838)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2019-10-31 12:42:55 UTC (rev 251839)
@@ -1,3 +1,14 @@
+2019-10-31  Antoine Quint  <grao...@apple.com>
+
+        [Web Animations] transform property is always "none" for getKeyframes() output of a CSS Animation
+        https://bugs.webkit.org/show_bug.cgi?id=203669
+
+        Reviewed by Dean Jackson.
+
+        Mark a progression, although the test still fails overall, it fails in a better way.
+
+        * web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:
+
 2019-10-30  Simon Fraser  <simon.fra...@apple.com>
 
         Opacity should always serialize as a number

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt (251838 => 251839)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt	2019-10-31 12:01:11 UTC (rev 251838)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt	2019-10-31 12:42:55 UTC (rev 251839)
@@ -22,5 +22,5 @@
 FAIL KeyframeEffect.getKeyframes() returns expected values for animations with CSS variables as keyframe values assert_equals: properties on ComputedKeyframe #0 expected "composite,computedOffset,easing,offset,transform" but got "composite,computedOffset,easing,offset"
 FAIL KeyframeEffect.getKeyframes() returns expected values for animations with CSS variables as keyframe values in a shorthand property assert_equals: properties on ComputedKeyframe #0 expected "composite,computedOffset,easing,marginBottom,marginLeft,marginRight,marginTop,offset" but got "composite,computedOffset,easing,offset"
 FAIL KeyframeEffect.getKeyframes() returns expected values for animations with a CSS variable which is overriden by the value in keyframe assert_equals: properties on ComputedKeyframe #0 expected "color,composite,computedOffset,easing,offset" but got "composite,computedOffset,easing,offset"
-FAIL KeyframeEffect.getKeyframes() returns expected values for animations with only custom property in a keyframe assert_equals: value for 'transform' on ComputedKeyframe #0 expected "translate(100px)" but got "none"
+FAIL KeyframeEffect.getKeyframes() returns expected values for animations with only custom property in a keyframe assert_equals: value for 'transform' on ComputedKeyframe #0 expected "translate(100px)" but got "matrix(1, 0, 0, 1, 100, 0)"
 

Modified: trunk/Source/WebCore/ChangeLog (251838 => 251839)


--- trunk/Source/WebCore/ChangeLog	2019-10-31 12:01:11 UTC (rev 251838)
+++ trunk/Source/WebCore/ChangeLog	2019-10-31 12:42:55 UTC (rev 251839)
@@ -1,3 +1,17 @@
+2019-10-31  Antoine Quint  <grao...@apple.com>
+
+        [Web Animations] transform property is always "none" for getKeyframes() output of a CSS Animation
+        https://bugs.webkit.org/show_bug.cgi?id=203669
+
+        Reviewed by Dean Jackson.
+
+        Calling valueForPropertyInStyle() with CSSPropertyTransform will eventually call into computedTransform()
+        which requires a renderer. Note that right now we're returning the computed style instead of the parsed
+        style, this will be addressed in a separate patch.
+
+        * animation/KeyframeEffect.cpp:
+        (WebCore::KeyframeEffect::getKeyframes):
+
 2019-10-31  Miguel Gomez  <mago...@igalia.com>
 
         Unreviewed, rolling out r251772.

Modified: trunk/Source/WebCore/animation/KeyframeEffect.cpp (251838 => 251839)


--- trunk/Source/WebCore/animation/KeyframeEffect.cpp	2019-10-31 12:01:11 UTC (rev 251838)
+++ trunk/Source/WebCore/animation/KeyframeEffect.cpp	2019-10-31 12:42:55 UTC (rev 251839)
@@ -570,6 +570,7 @@
 
     // 3. For each keyframe in keyframes perform the following steps:
     if (is<DeclarativeAnimation>(animation())) {
+        auto* renderer = m_target->renderer();
         auto computedStyleExtractor = ComputedStyleExtractor(m_target.get());
         for (size_t i = 0; i < m_blendingKeyframes.size(); ++i) {
             // 1. Initialize a dictionary object, output keyframe, using the following definition:
@@ -602,7 +603,7 @@
                 auto propertyName = CSSPropertyIDToIDLAttributeName(cssPropertyId);
                 // 2. Let IDL value be the result of serializing the property value of declaration by passing declaration to the algorithm to serialize a CSS value.
                 String idlValue = "";
-                if (auto cssValue = computedStyleExtractor.valueForPropertyInStyle(style, cssPropertyId))
+                if (auto cssValue = computedStyleExtractor.valueForPropertyInStyle(style, cssPropertyId, renderer))
                     idlValue = cssValue->cssText();
                 // 3. Let value be the result of converting IDL value to an ECMAScript String value.
                 auto value = toJS<IDLDOMString>(lexicalGlobalObject, idlValue);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to