<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[287602] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/287602">287602</a></dd>
<dt>Author</dt> <dd>graouts@webkit.org</dd>
<dt>Date</dt> <dd>2022-01-04 23:03:15 -0800 (Tue, 04 Jan 2022)</dd>
</dl>

<h3>Log Message</h3>
<pre>WPT test css/css-transitions/parsing/transition-shorthand.html has failures
https://bugs.webkit.org/show_bug.cgi?id=234856

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions, all tests in css/css-transitions/parsing/transition-shorthand.html now pass.

* web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt:

Source/WebCore:

Parse the "transition" shorthand the same way we parse the "animation" shorthand
and teach ComputedStyleExtractor::addValueForAnimationPropertyToList() about
"transition-property" so that it correctly returns a CSSValue for it.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::addValueForAnimationPropertyToList):
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeAnimationShorthand):

LayoutTests:

This historical test transitions/transitions-parsing.html is wrong and WPT has exhaustive
coverage for parsing of transition properties, so let's remove it.

Rebaselining some other tests.

* fast/css/shorthand-mismatched-list-crash-expected.txt:
* fast/css/shorthand-mismatched-list-crash.html:
* fast/css/transform-inline-style-expected.txt:
* fast/css/transform-inline-style-remove-expected.txt:
* transitions/transitions-parsing-expected.txt: Removed.
* transitions/transitions-parsing.html: Removed.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastcssshorthandmismatchedlistcrashexpectedtxt">trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssshorthandmismatchedlistcrashhtml">trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash.html</a></li>
<li><a href="#trunkLayoutTestsfastcsstransforminlinestyleexpectedtxt">trunk/LayoutTests/fast/css/transform-inline-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsstransforminlinestyleremoveexpectedtxt">trunk/LayoutTests/fast/css/transform-inline-style-remove-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsstransitionsparsingtransitionshorthandexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParsercpp">trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTeststransitionstransitionsparsingexpectedtxt">trunk/LayoutTests/transitions/transitions-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTeststransitionstransitionsparsinghtml">trunk/LayoutTests/transitions/transitions-parsing.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog      2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/ChangeLog 2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2022-01-04  Antoine Quint  <graouts@webkit.org>
+
+        WPT test css/css-transitions/parsing/transition-shorthand.html has failures
+        https://bugs.webkit.org/show_bug.cgi?id=234856
+
+        Reviewed by Dean Jackson.
+
+        This historical test transitions/transitions-parsing.html is wrong and WPT has exhaustive
+        coverage for parsing of transition properties, so let's remove it.
+
+        Rebaselining some other tests.
+
+        * fast/css/shorthand-mismatched-list-crash-expected.txt:
+        * fast/css/shorthand-mismatched-list-crash.html:
+        * fast/css/transform-inline-style-expected.txt:
+        * fast/css/transform-inline-style-remove-expected.txt:
+        * transitions/transitions-parsing-expected.txt: Removed.
+        * transitions/transitions-parsing.html: Removed.
+
</ins><span class="cx"> 2022-01-04  Diego Pino Garcia  <dpino@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [WPE] fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2.html is a flaky failure
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssshorthandmismatchedlistcrashexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash-expected.txt (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash-expected.txt  2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash-expected.txt     2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> Test for WebKit bug 31559: Crash with mismatched lists and shorthands.
</span><span class="cx"> 
</span><del>-PASS para.style.webkitTransition is "width 1s, left 1s, 1s"
-PASS para.style.webkitTransition is "width 1s, left 1s, top"
</del><ins>+PASS para.style.webkitTransition is "width 1s ease 0s, left 1s ease 0s, 1s ease 0s"
+PASS para.style.webkitTransition is "width 1s ease 0s, left 1s ease 0s, top"
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssshorthandmismatchedlistcrashhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash.html (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash.html  2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/fast/css/shorthand-mismatched-list-crash.html     2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -17,7 +17,7 @@
</span><span class="cx">   para.style.webkitTransition = 'width 1s, left 1s, top 1s';
</span><span class="cx">   para.style.webkitTransitionProperty = 'width, left';
</span><span class="cx"> 
</span><del>-  shouldBeEqualToString("para.style.webkitTransition", "width 1s, left 1s, 1s");
</del><ins>+  shouldBeEqualToString("para.style.webkitTransition", "width 1s ease 0s, left 1s ease 0s, 1s ease 0s");
</ins><span class="cx"> 
</span><span class="cx">   // Test shorter shorthand
</span><span class="cx">   para.style.webkitTransition = 'width 1s, left 1s';
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx">   para.style.webkitTransitionProperty = 'width, left, top';
</span><span class="cx"> 
</span><span class="cx">   // the next line will crash
</span><del>-  shouldBeEqualToString("para.style.webkitTransition", "width 1s, left 1s, top");
</del><ins>+  shouldBeEqualToString("para.style.webkitTransition", "width 1s ease 0s, left 1s ease 0s, top");
</ins><span class="cx"> </script>
</span><span class="cx"> <script src="../../resources/js-test-post.js"></script>
</span><span class="cx"> </body>
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsstransforminlinestyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/transform-inline-style-expected.txt (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/transform-inline-style-expected.txt   2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/fast/css/transform-inline-style-expected.txt      2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> Tests reading inline style of transition, and -webkit-transform-origin
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=22594
</span><span class="cx"> 
</span><del>-style: all 1s ease, left 3s cubic-bezier(0.2, 0.3, 0.6, 0.8) 2s
</del><ins>+style: all 1s ease 0s, left 3s cubic-bezier(0.2, 0.3, 0.6, 0.8) 2s
</ins><span class="cx"> style: left 30%
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsstransforminlinestyleremoveexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/transform-inline-style-remove-expected.txt (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/transform-inline-style-remove-expected.txt    2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/fast/css/transform-inline-style-remove-expected.txt       2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> 
</span><span class="cx"> All "after" results should be null/empty
</span><span class="cx"> 
</span><del>-transition (before): all 1s ease, left 3s cubic-bezier(0.2, 0.3, 0.6, 0.8) 2s
</del><ins>+transition (before): all 1s ease 0s, left 3s cubic-bezier(0.2, 0.3, 0.6, 0.8) 2s
</ins><span class="cx"> transition property (before): all, left
</span><span class="cx"> transition duration (before): 1s, 3s
</span><span class="cx"> transition timing function (before): ease, cubic-bezier(0.2, 0.3, 0.6, 0.8)
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/imported/w3c/ChangeLog    2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1,5 +1,16 @@
</span><span class="cx"> 2022-01-04  Antoine Quint  <graouts@webkit.org>
</span><span class="cx"> 
</span><ins>+        WPT test css/css-transitions/parsing/transition-shorthand.html has failures
+        https://bugs.webkit.org/show_bug.cgi?id=234856
+
+        Reviewed by Dean Jackson.
+
+        Mark WPT progressions, all tests in css/css-transitions/parsing/transition-shorthand.html now pass.
+
+        * web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt:
+
+2022-01-04  Antoine Quint  <graouts@webkit.org>
+
</ins><span class="cx">         [Web Animations] changing the timing of a transition such that it's finished should no longer have it marked as running
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=234823
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsstransitionsparsingtransitionshorthandexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt  2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt     2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -4,14 +4,14 @@
</span><span class="cx"> PASS e.style['transition'] = "1s -3s cubic-bezier(0, -2, 1, 3) top" should set transition-property
</span><span class="cx"> PASS e.style['transition'] = "1s -3s cubic-bezier(0, -2, 1, 3) top" should set transition-timing-function
</span><span class="cx"> PASS e.style['transition'] = "1s -3s cubic-bezier(0, -2, 1, 3) top" should not set unrelated longhands
</span><del>-FAIL e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-delay assert_equals: transition-delay should be canonical expected "-3s, 0s" but got "-3s, initial"
-FAIL e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-duration assert_equals: transition-duration should be canonical expected "1s, 0s" but got "1s, initial"
-FAIL e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-property assert_equals: transition-property should be canonical expected "all, top" but got "initial, top"
-FAIL e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-timing-function assert_equals: transition-timing-function should be canonical expected "ease, cubic-bezier(0, -2, 1, 3)" but got "initial, cubic-bezier(0, -2, 1, 3)"
</del><ins>+PASS e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-delay
+PASS e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-duration
+PASS e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-property
+PASS e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should set transition-timing-function
</ins><span class="cx"> PASS e.style['transition'] = "1s -3s, cubic-bezier(0, -2, 1, 3) top" should not set unrelated longhands
</span><del>-FAIL e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-delay assert_equals: transition-delay should be canonical expected "0s, -3s" but got "initial, -3s"
-FAIL e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-duration assert_equals: transition-duration should be canonical expected "0s, 1s" but got "initial, 1s"
-FAIL e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-property assert_equals: transition-property should be canonical expected "top, all" but got "top, initial"
-FAIL e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-timing-function assert_equals: transition-timing-function should be canonical expected "cubic-bezier(0, -2, 1, 3), ease" but got "cubic-bezier(0, -2, 1, 3), initial"
</del><ins>+PASS e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-delay
+PASS e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-duration
+PASS e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-property
+PASS e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should set transition-timing-function
</ins><span class="cx"> PASS e.style['transition'] = "cubic-bezier(0, -2, 1, 3) top, 1s -3s" should not set unrelated longhands
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTeststransitionstransitionsparsingexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/transitions/transitions-parsing-expected.txt (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/transitions/transitions-parsing-expected.txt   2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/transitions/transitions-parsing-expected.txt      2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1,520 +0,0 @@
</span><del>-Test the parsing and the computed style values of the transitions properties.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Valid transition-property values.
-PASS computedStyle.transitionProperty is 'all'
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is 'none'
-PASS computedStyle.transitionProperty is 'none'
-PASS style.webkitTransitionProperty is 'none'
-PASS computedStyle.webkitTransitionProperty is 'none'
-PASS style.transitionProperty is 'all'
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is 'all'
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is 'all, all'
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is 'all, all'
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is 'background-position'
-PASS computedStyle.transitionProperty is 'background-position'
-PASS style.webkitTransitionProperty is 'background-position'
-PASS computedStyle.webkitTransitionProperty is 'background-position'
-PASS style.transitionProperty is 'background-position, font-size'
-PASS computedStyle.transitionProperty is 'background-position, font-size'
-PASS style.webkitTransitionProperty is 'background-position, font-size'
-PASS computedStyle.webkitTransitionProperty is 'background-position, font-size'
-PASS style.transitionProperty is 'background-position, font-size, color'
-PASS computedStyle.transitionProperty is 'background-position, font-size, color'
-PASS style.webkitTransitionProperty is 'background-position, font-size, color'
-PASS computedStyle.webkitTransitionProperty is 'background-position, font-size, color'
-PASS style.transitionProperty is 'all, font-size, color'
-PASS computedStyle.transitionProperty is 'all, font-size, color'
-PASS style.webkitTransitionProperty is 'all, font-size, color'
-PASS computedStyle.webkitTransitionProperty is 'all, font-size, color'
-PASS style.transitionProperty is 'font-size, color, all'
-PASS computedStyle.transitionProperty is 'font-size, color, all'
-PASS style.webkitTransitionProperty is 'font-size, color, all'
-PASS computedStyle.webkitTransitionProperty is 'font-size, color, all'
-PASS style.transitionProperty is 'font-size, all, color'
-PASS computedStyle.transitionProperty is 'font-size, all, color'
-PASS style.webkitTransitionProperty is 'font-size, all, color'
-PASS computedStyle.webkitTransitionProperty is 'font-size, all, color'
-Invalid transition-property values.
-PASS style.transitionProperty is 'solid, font-size'
-PASS computedStyle.transitionProperty is 'solid, font-size'
-PASS style.webkitTransitionProperty is 'solid, font-size'
-PASS computedStyle.webkitTransitionProperty is 'solid, font-size'
-PASS style.transitionProperty is 'solid, left'
-PASS computedStyle.transitionProperty is 'solid, left'
-PASS style.webkitTransitionProperty is 'solid, left'
-PASS computedStyle.webkitTransitionProperty is 'solid, left'
-PASS style.transitionProperty is 'solid'
-PASS computedStyle.transitionProperty is 'solid'
-PASS style.webkitTransitionProperty is 'solid'
-PASS computedStyle.webkitTransitionProperty is 'solid'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-PASS style.transitionProperty is ''
-PASS computedStyle.transitionProperty is 'all'
-PASS style.webkitTransitionProperty is ''
-PASS computedStyle.webkitTransitionProperty is 'all'
-Valid transition-duration values.
-PASS computedStyle.transitionDuration is '0s'
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is '0s'
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is '0s'
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is '5s'
-PASS computedStyle.transitionDuration is '5s'
-PASS style.webkitTransitionDuration is '5s'
-PASS computedStyle.webkitTransitionDuration is '5s'
-PASS style.transitionDuration is '10ms'
-PASS computedStyle.transitionDuration is '0.01s'
-PASS style.webkitTransitionDuration is '10ms'
-PASS computedStyle.webkitTransitionDuration is '0.01s'
-PASS style.transitionDuration is '10ms, 20s'
-PASS computedStyle.transitionDuration is '0.01s, 20s'
-PASS style.webkitTransitionDuration is '10ms, 20s'
-PASS computedStyle.webkitTransitionDuration is '0.01s, 20s'
-Invalid transition-duration values.
-PASS style.transitionDuration is ''
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is ''
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is ''
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is ''
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is ''
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is ''
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is ''
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is ''
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is ''
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is ''
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is ''
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is ''
-PASS computedStyle.webkitTransitionDuration is '0s'
-PASS style.transitionDuration is ''
-PASS computedStyle.transitionDuration is '0s'
-PASS style.webkitTransitionDuration is ''
-PASS computedStyle.webkitTransitionDuration is '0s'
-Valid transition-timing-function values.
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is 'linear'
-PASS computedStyle.transitionTimingFunction is 'linear'
-PASS style.webkitTransitionTimingFunction is 'linear'
-PASS computedStyle.webkitTransitionTimingFunction is 'linear'
-PASS style.transitionTimingFunction is 'ease'
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is 'ease'
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is 'ease-in'
-PASS computedStyle.transitionTimingFunction is 'ease-in'
-PASS style.webkitTransitionTimingFunction is 'ease-in'
-PASS computedStyle.webkitTransitionTimingFunction is 'ease-in'
-PASS style.transitionTimingFunction is 'ease-out'
-PASS computedStyle.transitionTimingFunction is 'ease-out'
-PASS style.webkitTransitionTimingFunction is 'ease-out'
-PASS computedStyle.webkitTransitionTimingFunction is 'ease-out'
-PASS style.transitionTimingFunction is 'ease-in-out'
-PASS computedStyle.transitionTimingFunction is 'ease-in-out'
-PASS style.webkitTransitionTimingFunction is 'ease-in-out'
-PASS computedStyle.webkitTransitionTimingFunction is 'ease-in-out'
-PASS style.transitionTimingFunction is 'cubic-bezier(0.25, 0.1, 0.25, 1)'
-PASS computedStyle.transitionTimingFunction is 'cubic-bezier(0.25, 0.1, 0.25, 1)'
-PASS style.webkitTransitionTimingFunction is 'cubic-bezier(0.25, 0.1, 0.25, 1)'
-PASS computedStyle.webkitTransitionTimingFunction is 'cubic-bezier(0.25, 0.1, 0.25, 1)'
-PASS style.transitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS computedStyle.transitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS style.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS computedStyle.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS style.transitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 3)'
-PASS computedStyle.transitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 3)'
-PASS style.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 3)'
-PASS computedStyle.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 0, 0.23, 3)'
-PASS style.transitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 3)'
-PASS computedStyle.transitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 3)'
-PASS style.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 3)'
-PASS computedStyle.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 3)'
-PASS style.transitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 0)'
-PASS computedStyle.transitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 0)'
-PASS style.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 0)'
-PASS computedStyle.webkitTransitionTimingFunction is 'cubic-bezier(0.1, 5, 0.23, 0)'
-PASS style.transitionTimingFunction is 'cubic-bezier(0.2, 2, 0.2, -0.4)'
-PASS computedStyle.transitionTimingFunction is 'cubic-bezier(0.2, 2, 0.2, -0.4)'
-PASS style.webkitTransitionTimingFunction is 'cubic-bezier(0.2, 2, 0.2, -0.4)'
-PASS computedStyle.webkitTransitionTimingFunction is 'cubic-bezier(0.2, 2, 0.2, -0.4)'
-PASS style.transitionTimingFunction is 'cubic-bezier(0.2, -2, 0.2, 0.4)'
-PASS computedStyle.transitionTimingFunction is 'cubic-bezier(0.2, -2, 0.2, 0.4)'
-PASS style.webkitTransitionTimingFunction is 'cubic-bezier(0.2, -2, 0.2, 0.4)'
-PASS computedStyle.webkitTransitionTimingFunction is 'cubic-bezier(0.2, -2, 0.2, 0.4)'
-PASS style.transitionTimingFunction is 'steps(1, start)'
-PASS computedStyle.transitionTimingFunction is 'steps(1, start)'
-PASS style.webkitTransitionTimingFunction is 'steps(1, start)'
-PASS computedStyle.webkitTransitionTimingFunction is 'steps(1, start)'
-PASS style.transitionTimingFunction is 'steps(1)'
-PASS computedStyle.transitionTimingFunction is 'steps(1)'
-PASS style.webkitTransitionTimingFunction is 'steps(1)'
-PASS computedStyle.webkitTransitionTimingFunction is 'steps(1)'
-PASS style.transitionTimingFunction is 'steps(3)'
-PASS computedStyle.transitionTimingFunction is 'steps(3)'
-PASS style.webkitTransitionTimingFunction is 'steps(3)'
-PASS computedStyle.webkitTransitionTimingFunction is 'steps(3)'
-PASS style.transitionTimingFunction is 'steps(4)'
-PASS computedStyle.transitionTimingFunction is 'steps(4)'
-PASS style.webkitTransitionTimingFunction is 'steps(4)'
-PASS computedStyle.webkitTransitionTimingFunction is 'steps(4)'
-PASS style.transitionTimingFunction is 'steps(5, start)'
-PASS computedStyle.transitionTimingFunction is 'steps(5, start)'
-PASS style.webkitTransitionTimingFunction is 'steps(5, start)'
-PASS computedStyle.webkitTransitionTimingFunction is 'steps(5, start)'
-FAIL style.transitionTimingFunction should be frames(2). Was steps(5, start).
-FAIL computedStyle.transitionTimingFunction should be frames(2). Was steps(5, start).
-FAIL style.webkitTransitionTimingFunction should be frames(2). Was steps(5, start).
-FAIL computedStyle.webkitTransitionTimingFunction should be frames(2). Was steps(5, start).
-PASS style.transitionTimingFunction is 'ease-in-out, ease-in'
-PASS computedStyle.transitionTimingFunction is 'ease-in-out, ease-in'
-PASS style.webkitTransitionTimingFunction is 'ease-in-out, ease-in'
-PASS computedStyle.webkitTransitionTimingFunction is 'ease-in-out, ease-in'
-PASS style.transitionTimingFunction is 'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS computedStyle.transitionTimingFunction is 'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS style.webkitTransitionTimingFunction is 'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS computedStyle.webkitTransitionTimingFunction is 'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'
-PASS style.transitionTimingFunction is 'steps(3, start), ease-in-out'
-PASS computedStyle.transitionTimingFunction is 'steps(3, start), ease-in-out'
-PASS style.webkitTransitionTimingFunction is 'steps(3, start), ease-in-out'
-PASS computedStyle.webkitTransitionTimingFunction is 'steps(3, start), ease-in-out'
-Invalid transition-timing-function values.
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-PASS style.transitionTimingFunction is ''
-PASS computedStyle.transitionTimingFunction is 'ease'
-PASS style.webkitTransitionTimingFunction is ''
-PASS computedStyle.webkitTransitionTimingFunction is 'ease'
-Valid transition-delay values.
-PASS computedStyle.transitionDelay is '0s'
-PASS computedStyle.webkitTransitionDelay is '0s'
-PASS style.transitionDelay is '0s'
-PASS computedStyle.transitionDelay is '0s'
-PASS style.webkitTransitionDelay is '0s'
-PASS computedStyle.webkitTransitionDelay is '0s'
-PASS style.transitionDelay is '5s'
-PASS computedStyle.transitionDelay is '5s'
-PASS style.webkitTransitionDelay is '5s'
-PASS computedStyle.webkitTransitionDelay is '5s'
-PASS style.transitionDelay is '10ms'
-PASS computedStyle.transitionDelay is '0.01s'
-PASS style.webkitTransitionDelay is '10ms'
-PASS computedStyle.webkitTransitionDelay is '0.01s'
-PASS style.transitionDelay is '-10ms'
-PASS computedStyle.transitionDelay is '-0.01s'
-PASS style.webkitTransitionDelay is '-10ms'
-PASS computedStyle.webkitTransitionDelay is '-0.01s'
-PASS style.transitionDelay is '-10ms, 20s'
-PASS computedStyle.transitionDelay is '-0.01s, 20s'
-PASS style.webkitTransitionDelay is '-10ms, 20s'
-PASS computedStyle.webkitTransitionDelay is '-0.01s, 20s'
-Invalid transition-duration values.
-PASS style.transitionDelay is ''
-PASS computedStyle.transitionDelay is '0s'
-PASS style.webkitTransitionDelay is ''
-PASS computedStyle.webkitTransitionDelay is '0s'
-PASS style.transitionDelay is ''
-PASS computedStyle.transitionDelay is '0s'
-PASS style.webkitTransitionDelay is ''
-PASS computedStyle.webkitTransitionDelay is '0s'
-PASS style.transitionDelay is ''
-PASS computedStyle.transitionDelay is '0s'
-PASS style.webkitTransitionDelay is ''
-PASS computedStyle.webkitTransitionDelay is '0s'
-PASS style.transitionDelay is ''
-PASS computedStyle.transitionDelay is '0s'
-PASS style.webkitTransitionDelay is ''
-PASS computedStyle.webkitTransitionDelay is '0s'
-PASS style.transitionDelay is ''
-PASS computedStyle.transitionDelay is '0s'
-PASS style.webkitTransitionDelay is ''
-PASS computedStyle.webkitTransitionDelay is '0s'
-PASS style.transitionDelay is ''
-PASS computedStyle.transitionDelay is '0s'
-PASS style.webkitTransitionDelay is ''
-PASS computedStyle.webkitTransitionDelay is '0s'
-Valid transition shorthand values.
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is 'none'
-PASS computedStyle.transition is 'none 0s ease 0s'
-PASS style.webkitTransition is 'none'
-PASS computedStyle.webkitTransition is 'none 0s ease 0s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'none 20s'
-PASS computedStyle.transition is 'none 20s ease 0s'
-PASS style.webkitTransition is 'none 20s'
-PASS computedStyle.webkitTransition is 'none 20s ease 0s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'none 20s ease-in'
-PASS computedStyle.transition is 'none 20s ease-in 0s'
-PASS style.webkitTransition is 'none 20s ease-in'
-PASS computedStyle.webkitTransition is 'none 20s ease-in 0s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'opacity 20s ease-in'
-PASS computedStyle.transition is 'opacity 20s ease-in 0s'
-PASS style.webkitTransition is 'opacity 20s ease-in'
-PASS computedStyle.webkitTransition is 'opacity 20s ease-in 0s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'opacity 20s ease-in 10s'
-PASS computedStyle.transition is 'opacity 20s ease-in 10s'
-PASS style.webkitTransition is 'opacity 20s ease-in 10s'
-PASS computedStyle.webkitTransition is 'opacity 20s ease-in 10s'
-PASS computedStyle.transitionDuration is '20s'
-PASS computedStyle.webkitTransitionDuration is '20s'
-PASS computedStyle.transitionDelay is '10s'
-PASS computedStyle.webkitTransitionDelay is '10s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'opacity 20s ease-in 10s'
-PASS computedStyle.transition is 'opacity 20s ease-in 10s'
-PASS style.webkitTransition is 'opacity 20s ease-in 10s'
-PASS computedStyle.webkitTransition is 'opacity 20s ease-in 10s'
-PASS computedStyle.transitionDuration is '20s'
-PASS computedStyle.webkitTransitionDuration is '20s'
-PASS computedStyle.transitionDelay is '10s'
-PASS computedStyle.webkitTransitionDelay is '10s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'
-PASS computedStyle.transition is 'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'
-PASS style.webkitTransition is 'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'
-PASS computedStyle.webkitTransition is 'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'
-PASS computedStyle.transitionDuration is '20s, 10s'
-PASS computedStyle.webkitTransitionDuration is '20s, 10s'
-PASS computedStyle.transitionDelay is '10s, 20s'
-PASS computedStyle.webkitTransitionDelay is '10s, 20s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'all, all'
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is 'all, all'
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is 'all 20s ease-in 10s, all 20s ease-out'
-PASS computedStyle.transition is 'all 20s ease-out 0s'
-PASS style.webkitTransition is 'all 20s ease-in 10s, all 20s ease-out'
-PASS computedStyle.webkitTransition is 'all 20s ease-out 0s'
-PASS style.transition is 'opacity 20s ease-in 10s, all 20s ease-out'
-PASS computedStyle.transition is 'opacity 20s ease-in 10s, all 20s ease-out 0s'
-PASS style.webkitTransition is 'opacity 20s ease-in 10s, all 20s ease-out'
-PASS computedStyle.webkitTransition is 'opacity 20s ease-in 10s, all 20s ease-out 0s'
-PASS checkTransitionShorthandValue() is true
-PASS style.transition is 'all 20s ease-out, opacity 20s ease-in 10s'
-PASS computedStyle.transition is 'all 20s ease-out 0s, opacity 20s ease-in 10s'
-PASS style.webkitTransition is 'all 20s ease-out, opacity 20s ease-in 10s'
-PASS computedStyle.webkitTransition is 'all 20s ease-out 0s, opacity 20s ease-in 10s'
-PASS checkTransitionShorthandValue() is true
-Invalid transition shorthand values.
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is 'widthFoo'
-PASS computedStyle.transition is 'widthFoo 0s ease 0s'
-PASS style.webkitTransition is 'widthFoo'
-PASS computedStyle.webkitTransition is 'widthFoo 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-PASS style.transition is ''
-PASS computedStyle.transition is 'all 0s ease 0s'
-PASS style.webkitTransition is ''
-PASS computedStyle.webkitTransition is 'all 0s ease 0s'
-
-Testing frames() invalid values: frames(-10)
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames(0)
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames(1)
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames(2.5)
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames()
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames(eggs)
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames(NaN)
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames()
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-
-Testing frames() invalid values: frames([object Object])
-PASS framesInvalidElement.style.transitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).transitionTimingFunction is 'ease'
-PASS framesInvalidElement.style.webkitTransitionTimingFunction is ''
-PASS getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction is 'ease'
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTeststransitionstransitionsparsinghtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/transitions/transitions-parsing.html (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/transitions/transitions-parsing.html   2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/LayoutTests/transitions/transitions-parsing.html      2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1,752 +0,0 @@
</span><del>-<!DOCTYPE html>
-<html>
-<head>
-<script src="../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script>
-description("Test the parsing and the computed style values of the transitions properties.")
-
-var testContainer = document.createElement("div");
-document.body.appendChild(testContainer);
-
-testContainer.innerHTML = '<div style="width:500px;height:500px"><div id="test">hello</div></div>';
-
-e = document.getElementById('test');
-style = e.style;
-computedStyle = window.getComputedStyle(e, null);
-
-// This function checks the return value of computedStyle.transition and verifies WebKit can parse it.
-function checkTransitionShorthandValue() {
-    var before = computedStyle.getPropertyValue('transition');
-    e.style.transition = '';
-    e.style.transition = before;
-    return (computedStyle.getPropertyValue('transition') == before);
-}
-
-debug("Valid transition-property values.");
-// Initial test.
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "none";
-shouldBe("style.transitionProperty", "'none'");
-shouldBe("computedStyle.transitionProperty", "'none'");
-shouldBe("style.webkitTransitionProperty", "'none'");
-shouldBe("computedStyle.webkitTransitionProperty", "'none'");
-
-style.transitionProperty = "all";
-shouldBe("style.transitionProperty", "'all'");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "'all'");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "all, all";
-shouldBe("style.transitionProperty", "'all, all'");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "'all, all'");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "background-position";
-shouldBe("style.transitionProperty", "'background-position'");
-shouldBe("computedStyle.transitionProperty", "'background-position'");
-shouldBe("style.webkitTransitionProperty", "'background-position'");
-shouldBe("computedStyle.webkitTransitionProperty", "'background-position'");
-
-style.transitionProperty = "background-position, font-size";
-shouldBe("style.transitionProperty", "'background-position, font-size'");
-shouldBe("computedStyle.transitionProperty", "'background-position, font-size'");
-shouldBe("style.webkitTransitionProperty", "'background-position, font-size'");
-shouldBe("computedStyle.webkitTransitionProperty", "'background-position, font-size'");
-
-style.transitionProperty = "background-position, font-size, color";
-shouldBe("style.transitionProperty", "'background-position, font-size, color'");
-shouldBe("computedStyle.transitionProperty", "'background-position, font-size, color'");
-shouldBe("style.webkitTransitionProperty", "'background-position, font-size, color'");
-shouldBe("computedStyle.webkitTransitionProperty", "'background-position, font-size, color'");
-
-style.transitionProperty = "all, font-size, color";
-shouldBe("style.transitionProperty", "'all, font-size, color'");
-shouldBe("computedStyle.transitionProperty", "'all, font-size, color'");
-shouldBe("style.webkitTransitionProperty", "'all, font-size, color'");
-shouldBe("computedStyle.webkitTransitionProperty", "'all, font-size, color'");
-
-style.transitionProperty = "font-size, color, all";
-shouldBe("style.transitionProperty", "'font-size, color, all'");
-shouldBe("computedStyle.transitionProperty", "'font-size, color, all'");
-shouldBe("style.webkitTransitionProperty", "'font-size, color, all'");
-shouldBe("computedStyle.webkitTransitionProperty", "'font-size, color, all'");
-
-style.transitionProperty = "font-size, all, color";
-shouldBe("style.transitionProperty", "'font-size, all, color'");
-shouldBe("computedStyle.transitionProperty", "'font-size, all, color'");
-shouldBe("style.webkitTransitionProperty", "'font-size, all, color'");
-shouldBe("computedStyle.webkitTransitionProperty", "'font-size, all, color'");
-
-debug("Invalid transition-property values.");
-style.transitionProperty = "";
-
-style.transitionProperty = "solid, font-size";
-shouldBe("style.transitionProperty", "'solid, font-size'");
-shouldBe("computedStyle.transitionProperty", "'solid, font-size'");
-shouldBe("style.webkitTransitionProperty", "'solid, font-size'");
-shouldBe("computedStyle.webkitTransitionProperty", "'solid, font-size'");
-
-style.transitionProperty = "solid, left";
-shouldBe("style.transitionProperty", "'solid, left'");
-shouldBe("computedStyle.transitionProperty", "'solid, left'");
-shouldBe("style.webkitTransitionProperty", "'solid, left'");
-shouldBe("computedStyle.webkitTransitionProperty", "'solid, left'");
-
-style.transitionProperty = "solid";
-shouldBe("style.transitionProperty", "'solid'");
-shouldBe("computedStyle.transitionProperty", "'solid'");
-shouldBe("style.webkitTransitionProperty", "'solid'");
-shouldBe("computedStyle.webkitTransitionProperty", "'solid'");
-
-style.transitionProperty = '';
-
-style.transitionProperty = "20px";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "0";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "'font-size'";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "all none";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "opacity width";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "all, none";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "none, none";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "none, all";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "width, none";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "none, width";
-shouldBe("style.transitionProperty", "''");
-shouldBe("computedStyle.transitionProperty", "'all'");
-shouldBe("style.webkitTransitionProperty", "''");
-shouldBe("computedStyle.webkitTransitionProperty", "'all'");
-
-style.transitionProperty = "";
-
-debug("Valid transition-duration values.");
-// Initial test.
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "0s";
-shouldBe("style.transitionDuration", "'0s'");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "'0s'");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "5s";
-shouldBe("style.transitionDuration", "'5s'");
-shouldBe("computedStyle.transitionDuration", "'5s'");
-shouldBe("style.webkitTransitionDuration", "'5s'");
-shouldBe("computedStyle.webkitTransitionDuration", "'5s'");
-
-style.transitionDuration = "10ms";
-shouldBe("style.transitionDuration", "'10ms'");
-shouldBe("computedStyle.transitionDuration", "'0.01s'");
-shouldBe("style.webkitTransitionDuration", "'10ms'");
-shouldBe("computedStyle.webkitTransitionDuration", "'0.01s'");
-
-style.transitionProperty = "opacity, width";
-
-style.transitionDuration = "10ms, 20s";
-shouldBe("style.transitionDuration", "'10ms, 20s'");
-shouldBe("computedStyle.transitionDuration", "'0.01s, 20s'");
-shouldBe("style.webkitTransitionDuration", "'10ms, 20s'");
-shouldBe("computedStyle.webkitTransitionDuration", "'0.01s, 20s'");
-
-debug("Invalid transition-duration values.");
-style.transitionProperty = "opacity";
-style.transitionDuration = "";
-
-// Negative values are invalid.
-style.transitionDuration = "-10ms";
-shouldBe("style.transitionDuration", "''");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "''");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "'5ms'";
-shouldBe("style.transitionDuration", "''");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "''");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "30px";
-shouldBe("style.transitionDuration", "''");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "''");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "solid";
-shouldBe("style.transitionDuration", "''");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "''");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "20";
-shouldBe("style.transitionDuration", "''");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "''");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "20%";
-shouldBe("style.transitionDuration", "''");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "''");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-style.transitionDuration = "0s, 20px";
-shouldBe("style.transitionDuration", "''");
-shouldBe("computedStyle.transitionDuration", "'0s'");
-shouldBe("style.webkitTransitionDuration", "''");
-shouldBe("computedStyle.webkitTransitionDuration", "'0s'");
-
-debug("Valid transition-timing-function values.");
-// Initial test.
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "linear";
-shouldBe("style.transitionTimingFunction", "'linear'");
-shouldBe("computedStyle.transitionTimingFunction", "'linear'");
-shouldBe("style.webkitTransitionTimingFunction", "'linear'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'linear'");
-
-style.transitionTimingFunction = "ease";
-shouldBe("style.transitionTimingFunction", "'ease'");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "'ease'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "ease-in";
-shouldBe("style.transitionTimingFunction", "'ease-in'");
-shouldBe("computedStyle.transitionTimingFunction", "'ease-in'");
-shouldBe("style.webkitTransitionTimingFunction", "'ease-in'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease-in'");
-
-style.transitionTimingFunction = "ease-out";
-shouldBe("style.transitionTimingFunction", "'ease-out'");
-shouldBe("computedStyle.transitionTimingFunction", "'ease-out'");
-shouldBe("style.webkitTransitionTimingFunction", "'ease-out'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease-out'");
-
-style.transitionTimingFunction = "ease-in-out";
-shouldBe("style.transitionTimingFunction", "'ease-in-out'");
-shouldBe("computedStyle.transitionTimingFunction", "'ease-in-out'");
-shouldBe("style.webkitTransitionTimingFunction", "'ease-in-out'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease-in-out'");
-
-style.transitionTimingFunction = "cubic-bezier(0.25, 0.1, 0.25, 1)";
-shouldBe("style.transitionTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");
-shouldBe("computedStyle.transitionTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");
-shouldBe("style.webkitTransitionTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");
-
-style.transitionTimingFunction = "cubic-bezier(0.1, 0, 0.23, 0.4)";
-shouldBe("style.transitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");
-shouldBe("computedStyle.transitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");
-shouldBe("style.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");
-
-style.transitionTimingFunction = "cubic-bezier(0.1, 0, 0.23, 3)";
-shouldBe("style.transitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");
-shouldBe("computedStyle.transitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");
-shouldBe("style.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");
-
-style.transitionTimingFunction = "cubic-bezier(0.1, 5, 0.23, 3)";
-shouldBe("style.transitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");
-shouldBe("computedStyle.transitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");
-shouldBe("style.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");
-
-style.transitionTimingFunction = "cubic-bezier(0.1, 5, 0.23, 0)";
-shouldBe("style.transitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");
-shouldBe("computedStyle.transitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");
-shouldBe("style.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");
-
-style.transitionTimingFunction = "cubic-bezier(0.2, 2, 0.2, -0.4)";
-shouldBe("style.transitionTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");
-shouldBe("computedStyle.transitionTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");
-shouldBe("style.webkitTransitionTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");
-
-style.transitionTimingFunction = "cubic-bezier(0.2, -2, 0.2, 0.4)";
-shouldBe("style.transitionTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");
-shouldBe("computedStyle.transitionTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");
-shouldBe("style.webkitTransitionTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");
-
-style.transitionTimingFunction = "step-start";
-shouldBe("style.transitionTimingFunction", "'steps(1, start)'");
-shouldBe("computedStyle.transitionTimingFunction", "'steps(1, start)'");
-shouldBe("style.webkitTransitionTimingFunction", "'steps(1, start)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'steps(1, start)'");
-
-style.transitionTimingFunction = "step-end";
-shouldBe("style.transitionTimingFunction", "'steps(1)'");
-shouldBe("computedStyle.transitionTimingFunction", "'steps(1)'");
-shouldBe("style.webkitTransitionTimingFunction", "'steps(1)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'steps(1)'");
-
-style.transitionTimingFunction = "steps(3)";
-shouldBe("style.transitionTimingFunction", "'steps(3)'");
-shouldBe("computedStyle.transitionTimingFunction", "'steps(3)'");
-shouldBe("style.webkitTransitionTimingFunction", "'steps(3)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'steps(3)'");
-
-style.transitionTimingFunction = "steps(4)";
-shouldBe("style.transitionTimingFunction", "'steps(4)'");
-shouldBe("computedStyle.transitionTimingFunction", "'steps(4)'");
-shouldBe("style.webkitTransitionTimingFunction", "'steps(4)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'steps(4)'");
-
-style.transitionTimingFunction = "steps(5, start)";
-shouldBe("style.transitionTimingFunction", "'steps(5, start)'");
-shouldBe("computedStyle.transitionTimingFunction", "'steps(5, start)'");
-shouldBe("style.webkitTransitionTimingFunction", "'steps(5, start)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'steps(5, start)'");
-
-style.transitionTimingFunction = "frames(2)";
-shouldBe("style.transitionTimingFunction", "'frames(2)'");
-shouldBe("computedStyle.transitionTimingFunction", "'frames(2)'");
-shouldBe("style.webkitTransitionTimingFunction", "'frames(2)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'frames(2)'");
-
-style.transitionProperty = "opacity, width";
-
-style.transitionTimingFunction = "ease-in-out, ease-in";
-shouldBe("style.transitionTimingFunction", "'ease-in-out, ease-in'");
-shouldBe("computedStyle.transitionTimingFunction", "'ease-in-out, ease-in'");
-shouldBe("style.webkitTransitionTimingFunction", "'ease-in-out, ease-in'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease-in-out, ease-in'");
-
-style.transitionTimingFunction = "ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)";
-shouldBe("style.transitionTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");
-shouldBe("computedStyle.transitionTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");
-shouldBe("style.webkitTransitionTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");
-
-style.transitionTimingFunction = "steps(3, start), ease-in-out";
-shouldBe("style.transitionTimingFunction", "'steps(3, start), ease-in-out'");
-shouldBe("computedStyle.transitionTimingFunction", "'steps(3, start), ease-in-out'");
-shouldBe("style.webkitTransitionTimingFunction", "'steps(3, start), ease-in-out'");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'steps(3, start), ease-in-out'");
-
-debug("Invalid transition-timing-function values.");
-style.transitionProperty = "";
-style.transitionTimingFunction = "";
-
-style.transitionTimingFunction = "cubic-bezier(3, 0.1, 4, 1)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(1, 0.1, 3, 1)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(0.1, 0, 4, 0.4)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(3, 0, 4, 0.4)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(3, 0, 0.2, 0.4)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(-0.2, 0, 0.2, 0.4)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(0.2, 2, -0.2, 0.4)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "steps(5, 3)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "steps(-5, start)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "steps(5, start, end)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "step(5)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "red";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(0.25, 0.1, 0.25)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-bezier(0.25, 0.1, 0.25, 1, 2)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-style.transitionTimingFunction = "cubic-foo(0.25, 0.1, 0.25, 1)";
-shouldBe("style.transitionTimingFunction", "''");
-shouldBe("computedStyle.transitionTimingFunction", "'ease'");
-shouldBe("style.webkitTransitionTimingFunction", "''");
-shouldBe("computedStyle.webkitTransitionTimingFunction", "'ease'");
-
-debug("Valid transition-delay values.");
-// Initial test.
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-style.transitionDelay = "0s";
-shouldBe("style.transitionDelay", "'0s'");
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("style.webkitTransitionDelay", "'0s'");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-style.transitionDelay = "5s";
-shouldBe("style.transitionDelay", "'5s'");
-shouldBe("computedStyle.transitionDelay", "'5s'");
-shouldBe("style.webkitTransitionDelay", "'5s'");
-shouldBe("computedStyle.webkitTransitionDelay", "'5s'");
-
-style.transitionDelay = "10ms";
-shouldBe("style.transitionDelay", "'10ms'");
-shouldBe("computedStyle.transitionDelay", "'0.01s'");
-shouldBe("style.webkitTransitionDelay", "'10ms'");
-shouldBe("computedStyle.webkitTransitionDelay", "'0.01s'");
-
-style.transitionDelay = "-10ms";
-shouldBe("style.transitionDelay", "'-10ms'");
-shouldBe("computedStyle.transitionDelay", "'-0.01s'");
-shouldBe("style.webkitTransitionDelay", "'-10ms'");
-shouldBe("computedStyle.webkitTransitionDelay", "'-0.01s'");
-
-style.transitionProperty = "opacity, width";
-
-style.transitionDelay = "-10ms, 20s";
-shouldBe("style.transitionDelay", "'-10ms, 20s'");
-shouldBe("computedStyle.transitionDelay", "'-0.01s, 20s'");
-shouldBe("style.webkitTransitionDelay", "'-10ms, 20s'");
-shouldBe("computedStyle.webkitTransitionDelay", "'-0.01s, 20s'");
-
-debug("Invalid transition-duration values.");
-style.transitionProperty = "opacity";
-style.transitionDelay = "";
-
-style.transitionDelay = "'5ms'";
-shouldBe("style.transitionDelay", "''");
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("style.webkitTransitionDelay", "''");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-style.transitionDelay = "30px";
-shouldBe("style.transitionDelay", "''");
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("style.webkitTransitionDelay", "''");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-style.transitionDelay = "solid";
-shouldBe("style.transitionDelay", "''");
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("style.webkitTransitionDelay", "''");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-style.transitionDelay = "20";
-shouldBe("style.transitionDelay", "''");
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("style.webkitTransitionDelay", "''");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-style.transitionDelay = "20%";
-shouldBe("style.transitionDelay", "''");
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("style.webkitTransitionDelay", "''");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-style.transitionDelay = "0s, 20px";
-shouldBe("style.transitionDelay", "''");
-shouldBe("computedStyle.transitionDelay", "'0s'");
-shouldBe("style.webkitTransitionDelay", "''");
-shouldBe("computedStyle.webkitTransitionDelay", "'0s'");
-
-debug("Valid transition shorthand values.");
-style.transition = "";
-// Initial test.
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "none";
-shouldBe("style.transition", "'none'");
-shouldBe("computedStyle.transition", "'none 0s ease 0s'");
-shouldBe("style.webkitTransition", "'none'");
-shouldBe("computedStyle.webkitTransition", "'none 0s ease 0s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = "none 20s";
-shouldBe("style.transition", "'none 20s'");
-shouldBe("computedStyle.transition", "'none 20s ease 0s'");
-shouldBe("style.webkitTransition", "'none 20s'");
-shouldBe("computedStyle.webkitTransition", "'none 20s ease 0s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = "ease-in none 20s";
-shouldBe("style.transition", "'none 20s ease-in'");
-shouldBe("computedStyle.transition", "'none 20s ease-in 0s'");
-shouldBe("style.webkitTransition", "'none 20s ease-in'");
-shouldBe("computedStyle.webkitTransition", "'none 20s ease-in 0s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = "ease-in opacity 20s";
-shouldBe("style.transition", "'opacity 20s ease-in'");
-shouldBe("computedStyle.transition", "'opacity 20s ease-in 0s'");
-shouldBe("style.webkitTransition", "'opacity 20s ease-in'");
-shouldBe("computedStyle.webkitTransition", "'opacity 20s ease-in 0s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = "ease-in opacity 20s 10s";
-shouldBe("style.transition", "'opacity 20s ease-in 10s'");
-shouldBe("computedStyle.transition", "'opacity 20s ease-in 10s'");
-shouldBe("style.webkitTransition", "'opacity 20s ease-in 10s'");
-shouldBe("computedStyle.webkitTransition", "'opacity 20s ease-in 10s'");
-// Let's double check here the delay and duration. As stated in the spec the first value parsed
-// is assigned to the duration.
-shouldBe("computedStyle.transitionDuration", "'20s'");
-shouldBe("computedStyle.webkitTransitionDuration", "'20s'");
-shouldBe("computedStyle.transitionDelay", "'10s'");
-shouldBe("computedStyle.webkitTransitionDelay", "'10s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = "20s ease-in opacity 10s";
-shouldBe("style.transition", "'opacity 20s ease-in 10s'");
-shouldBe("computedStyle.transition", "'opacity 20s ease-in 10s'");
-shouldBe("style.webkitTransition", "'opacity 20s ease-in 10s'");
-shouldBe("computedStyle.webkitTransition", "'opacity 20s ease-in 10s'");
-shouldBe("computedStyle.transitionDuration", "'20s'");
-shouldBe("computedStyle.webkitTransitionDuration", "'20s'");
-shouldBe("computedStyle.transitionDelay", "'10s'");
-shouldBe("computedStyle.webkitTransitionDelay", "'10s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = "ease-in opacity 20s 10s, cubic-bezier(0.32, 0, 1, 1) 10s width 20s";
-shouldBe("style.transition", "'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
-shouldBe("computedStyle.transition", "'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
-shouldBe("style.webkitTransition", "'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
-shouldBe("computedStyle.webkitTransition", "'opacity 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
-// Let's double check here the delay and duration. As stated in the spec the first value parsed
-// is assigned to the duration.
-shouldBe("computedStyle.transitionDuration", "'20s, 10s'");
-shouldBe("computedStyle.webkitTransitionDuration", "'20s, 10s'");
-shouldBe("computedStyle.transitionDelay", "'10s, 20s'");
-shouldBe("computedStyle.webkitTransitionDelay", "'10s, 20s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = "all, all";
-shouldBe("style.transition", "'all, all'");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "'all, all'");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "all 20s 10s ease-in, all ease-out 20s";
-shouldBe("style.transition", "'all 20s ease-in 10s, all 20s ease-out'");
-shouldBe("computedStyle.transition", "'all 20s ease-out 0s'");
-shouldBe("style.webkitTransition", "'all 20s ease-in 10s, all 20s ease-out'");
-shouldBe("computedStyle.webkitTransition", "'all 20s ease-out 0s'");
-
-style.transition = "ease-in opacity 20s 10s, all ease-out 20s";
-shouldBe("style.transition", "'opacity 20s ease-in 10s, all 20s ease-out'");
-shouldBe("computedStyle.transition", "'opacity 20s ease-in 10s, all 20s ease-out 0s'");
-shouldBe("style.webkitTransition", "'opacity 20s ease-in 10s, all 20s ease-out'");
-shouldBe("computedStyle.webkitTransition", "'opacity 20s ease-in 10s, all 20s ease-out 0s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-style.transition = " all ease-out 20s, ease-in opacity 20s 10s";
-shouldBe("style.transition", "'all 20s ease-out, opacity 20s ease-in 10s'");
-shouldBe("computedStyle.transition", "'all 20s ease-out 0s, opacity 20s ease-in 10s'");
-shouldBe("style.webkitTransition", "'all 20s ease-out, opacity 20s ease-in 10s'");
-shouldBe("computedStyle.webkitTransition", "'all 20s ease-out 0s, opacity 20s ease-in 10s'");
-shouldBe("checkTransitionShorthandValue()", "true");
-
-debug("Invalid transition shorthand values.");
-style.transition = "";
-
-style.transition = "20";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "20, 20";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "widthFoo";
-shouldBe("style.transition", "'widthFoo'");
-shouldBe("computedStyle.transition", "'widthFoo 0s ease 0s'");
-shouldBe("style.webkitTransition", "'widthFoo'");
-shouldBe("computedStyle.webkitTransition", "'widthFoo 0s ease 0s'");
-
-style.transition = '';
-
-style.transition = "all 30s width ease-in";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "all 30s ease-in 20px";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "all 30s ease-in 20s, 20px";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "all 30s ease-in 20s, step-start(2)";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "ease-in opacity 20s 10s, none";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "none, ease-in opacity 20s 10s, none";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "none, ease-in opacity 20s 10s";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "ease-in opacity 20s 10s, all 20s ease-out 0s, none";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "ease-in opacity 20s 10s, ease-in width 20s 10s, none";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-style.transition = "none, none";
-shouldBe("style.transition", "''");
-shouldBe("computedStyle.transition", "'all 0s ease 0s'");
-shouldBe("style.webkitTransition", "''");
-shouldBe("computedStyle.webkitTransition", "'all 0s ease 0s'");
-
-document.body.removeChild(testContainer);
-
-let framesInvalidElement;
-[-10, 0, 1, 2.5, "", "eggs", NaN, new Array, {}].forEach(invalidValue => {
-    framesInvalidElement = document.body.appendChild(document.createElement("div"));
-    const value = `frames(${invalidValue})`;
-    debug("");
-    debug(`Testing frames() invalid values: ${value}`);
-    framesInvalidElement.style.transitionTimingFunction = value;
-    shouldBe("framesInvalidElement.style.transitionTimingFunction", "''");
-    shouldBe("getComputedStyle(framesInvalidElement).transitionTimingFunction", "'ease'");
-    shouldBe("framesInvalidElement.style.webkitTransitionTimingFunction", "''");
-    shouldBe("getComputedStyle(framesInvalidElement).webkitTransitionTimingFunction", "'ease'");
-    framesInvalidElement.remove();
-});
-
-</script>
-<script src="../resources/js-test-post.js"></script>
-</body>
-</html>
</del></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/Source/WebCore/ChangeLog      2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2022-01-04  Antoine Quint  <graouts@webkit.org>
+
+        WPT test css/css-transitions/parsing/transition-shorthand.html has failures
+        https://bugs.webkit.org/show_bug.cgi?id=234856
+
+        Reviewed by Dean Jackson.
+
+        Parse the "transition" shorthand the same way we parse the "animation" shorthand
+        and teach ComputedStyleExtractor::addValueForAnimationPropertyToList() about
+        "transition-property" so that it correctly returns a CSSValue for it.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::ComputedStyleExtractor::addValueForAnimationPropertyToList):
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::CSSPropertyParser::consumeAnimationShorthand):
+
</ins><span class="cx"> 2022-01-04  Alan Bujtas  <zalan@apple.com>
</span><span class="cx"> 
</span><span class="cx">         [LFC][IFC] fast/text/combining-mark-paint.html is failing (complex text)
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp    2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1463,8 +1463,13 @@
</span><span class="cx">         list.append(valueForAnimationPlayState(animation ? animation->playState() : Animation::initialPlayState()));
</span><span class="cx">     else if (property == CSSPropertyAnimationName)
</span><span class="cx">         list.append(valueForAnimationName(animation ? animation->name() : Animation::initialName()));
</span><del>-    else if (property == CSSPropertyAnimationTimingFunction || property == CSSPropertyTransitionTimingFunction) {
</del><ins>+    else if (property == CSSPropertyTransitionProperty) {
</ins><span class="cx">         if (animation)
</span><ins>+            list.append(createTransitionPropertyValue(*animation));
+        else
+            list.append(CSSValuePool::singleton().createIdentifierValue(CSSValueAll));
+    } else if (property == CSSPropertyAnimationTimingFunction || property == CSSPropertyTransitionTimingFunction) {
+        if (animation)
</ins><span class="cx">             list.append(valueForAnimationTimingFunction(*animation->timingFunction()));
</span><span class="cx">         else
</span><span class="cx">             list.append(valueForAnimationTimingFunction(CubicBezierTimingFunction::defaultTimingFunction()));
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (287601 => 287602)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp    2022-01-05 02:03:48 UTC (rev 287601)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp       2022-01-05 07:03:15 UTC (rev 287602)
</span><span class="lines">@@ -1657,12 +1657,8 @@
</span><span class="cx"> 
</span><span class="cx">         // FIXME: This will make invalid longhands, see crbug.com/386459
</span><span class="cx">         for (size_t i = 0; i < longhandCount; ++i) {
</span><del>-            if (!parsedLonghand[i]) {
-                if (shorthand.id() == CSSPropertyTransition)
-                    longhands[i]->append(CSSValuePool::singleton().createImplicitInitialValue());
-                else
-                    ComputedStyleExtractor::addValueForAnimationPropertyToList(*longhands[i], shorthand.properties()[i], nullptr);
-            }
</del><ins>+            if (!parsedLonghand[i])
+                ComputedStyleExtractor::addValueForAnimationPropertyToList(*longhands[i], shorthand.properties()[i], nullptr);
</ins><span class="cx">             parsedLonghand[i] = false;
</span><span class="cx">         }
</span><span class="cx">     } while (consumeCommaIncludingWhitespace(m_range));
</span></span></pre>
</div>
</div>

</body>
</html>