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);