<!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>[269812] 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/269812">269812</a></dd>
<dt>Author</dt> <dd>graouts@webkit.org</dd>
<dt>Date</dt> <dd>2020-11-14 00:52:49 -0800 (Sat, 14 Nov 2020)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add support for discrete animations of many CSS properties
https://bugs.webkit.org/show_bug.cgi?id=218902

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

By virtue of animation a host of new properties, we run an extra 551 tests and pass 518 of them.

* web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt:
* web-platform-tests/css/css-position/animations/position-interpolation-expected.txt:
* web-platform-tests/css/css-transitions/properties-value-003-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

Add support for discrete animation of the following properties:

-webkit-backface-visibility, -webkit-box-decoration-break, -webkit-hyphens, -webkit-initial-letter,
-webkit-print-color-adjust, -webkit-ruby-position, -webkit-text-emphasis-color, -webkit-text-emphasis-position,
border-bottom-style, border-collapse, border-left-style, border-right-style, border-top-style, box-sizing,
caption-side, clear, column-fill, column-rule-style, column-rule-style, cursor, empty-cells, flex-direction,
flex-wrap, float, grid-auto-columns, grid-auto-flow, grid-auto-rows, grid-column-end, grid-column-start,
grid-row-end, grid-row-start, image-orientation, isolation, justify-content, justify-items, justify-self,
list-style-position, list-style-type, mix-blend-mode, object-fit, outline-style, overflow-wrap, overflow-x,
overflow-y, page-break-after, page-break-before, page-break-inside, paint-order, pointer-events, position,
resize, table-layout, text-align, text-decoration-color, text-decoration-line, text-decoration-style,
text-overflow, text-transform, touch-action, transform-box, transform-style, white-space, word-break.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* rendering/style/GridPosition.cpp:
(WebCore::operator<<):
* rendering/style/GridPosition.h:
* rendering/style/GridTrackSize.cpp: Added.
(WebCore::operator<<):
* rendering/style/GridTrackSize.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsslogicalanimationsfloatinterpolationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsspositionanimationspositioninterpolationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsstransitionspropertiesvalue003expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreSourcestxt">trunk/Source/WebCore/Sources.txt</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreanimationCSSPropertyAnimationcpp">trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleGridPositioncpp">trunk/Source/WebCore/rendering/style/GridPosition.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleGridPositionh">trunk/Source/WebCore/rendering/style/GridPosition.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleGridTrackSizeh">trunk/Source/WebCore/rendering/style/GridTrackSize.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorerenderingstyleGridTrackSizecpp">trunk/Source/WebCore/rendering/style/GridTrackSize.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog 2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/ChangeLog    2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2020-11-13  Antoine Quint  <graouts@webkit.org>
+
+        Add support for discrete animations of many CSS properties
+        https://bugs.webkit.org/show_bug.cgi?id=218902
+
+        Reviewed by Antti Koivisto.
+
+        By virtue of animation a host of new properties, we run an extra 551 tests and pass 518 of them.
+
+        * web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt:
+        * web-platform-tests/css/css-position/animations/position-interpolation-expected.txt:
+        * web-platform-tests/css/css-transitions/properties-value-003-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
+
</ins><span class="cx"> 2020-11-12  Darin Adler  <darin@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Remove unused advanced plug-in features: snapshotting and plug-in load policy
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsslogicalanimationsfloatinterpolationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt    2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt       2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1,30 +1,30 @@
</span><span class="cx"> 
</span><del>-PASS CSS Transitions: property <float> from [left] to [right] at (-0.3) should be [right]
-PASS CSS Transitions: property <float> from [left] to [right] at (0) should be [right]
-PASS CSS Transitions: property <float> from [left] to [right] at (0.3) should be [right]
</del><ins>+FAIL CSS Transitions: property <float> from [left] to [right] at (-0.3) should be [right] assert_equals: expected "right " but got "left "
+FAIL CSS Transitions: property <float> from [left] to [right] at (0) should be [right] assert_equals: expected "right " but got "left "
+FAIL CSS Transitions: property <float> from [left] to [right] at (0.3) should be [right] assert_equals: expected "right " but got "left "
</ins><span class="cx"> PASS CSS Transitions: property <float> from [left] to [right] at (0.5) should be [right]
</span><span class="cx"> PASS CSS Transitions: property <float> from [left] to [right] at (0.6) should be [right]
</span><span class="cx"> PASS CSS Transitions: property <float> from [left] to [right] at (1) should be [right]
</span><span class="cx"> PASS CSS Transitions: property <float> from [left] to [right] at (1.5) should be [right]
</span><del>-PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (-0.3) should be [right]
-PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0) should be [right]
-PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0.3) should be [right]
</del><ins>+FAIL CSS Transitions with transition: all: property <float> from [left] to [right] at (-0.3) should be [right] assert_equals: expected "right " but got "left "
+FAIL CSS Transitions with transition: all: property <float> from [left] to [right] at (0) should be [right] assert_equals: expected "right " but got "left "
+FAIL CSS Transitions with transition: all: property <float> from [left] to [right] at (0.3) should be [right] assert_equals: expected "right " but got "left "
</ins><span class="cx"> PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0.5) should be [right]
</span><span class="cx"> PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0.6) should be [right]
</span><span class="cx"> PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (1) should be [right]
</span><span class="cx"> PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (1.5) should be [right]
</span><del>-FAIL CSS Animations: property <float> from [left] to [right] at (-0.3) should be [left] assert_equals: expected "left " but got "none "
-FAIL CSS Animations: property <float> from [left] to [right] at (0) should be [left] assert_equals: expected "left " but got "none "
-FAIL CSS Animations: property <float> from [left] to [right] at (0.3) should be [left] assert_equals: expected "left " but got "none "
-FAIL CSS Animations: property <float> from [left] to [right] at (0.5) should be [right] assert_equals: expected "right " but got "none "
-FAIL CSS Animations: property <float> from [left] to [right] at (0.6) should be [right] assert_equals: expected "right " but got "none "
-FAIL CSS Animations: property <float> from [left] to [right] at (1) should be [right] assert_equals: expected "right " but got "none "
-FAIL CSS Animations: property <float> from [left] to [right] at (1.5) should be [right] assert_equals: expected "right " but got "none "
-FAIL Web Animations: property <float> from [left] to [right] at (-0.3) should be [left] assert_equals: expected "left " but got "none "
-FAIL Web Animations: property <float> from [left] to [right] at (0) should be [left] assert_equals: expected "left " but got "none "
-FAIL Web Animations: property <float> from [left] to [right] at (0.3) should be [left] assert_equals: expected "left " but got "none "
-FAIL Web Animations: property <float> from [left] to [right] at (0.5) should be [right] assert_equals: expected "right " but got "none "
-FAIL Web Animations: property <float> from [left] to [right] at (0.6) should be [right] assert_equals: expected "right " but got "none "
-FAIL Web Animations: property <float> from [left] to [right] at (1) should be [right] assert_equals: expected "right " but got "none "
-FAIL Web Animations: property <float> from [left] to [right] at (1.5) should be [right] assert_equals: expected "right " but got "none "
</del><ins>+PASS CSS Animations: property <float> from [left] to [right] at (-0.3) should be [left]
+PASS CSS Animations: property <float> from [left] to [right] at (0) should be [left]
+PASS CSS Animations: property <float> from [left] to [right] at (0.3) should be [left]
+PASS CSS Animations: property <float> from [left] to [right] at (0.5) should be [right]
+PASS CSS Animations: property <float> from [left] to [right] at (0.6) should be [right]
+PASS CSS Animations: property <float> from [left] to [right] at (1) should be [right]
+PASS CSS Animations: property <float> from [left] to [right] at (1.5) should be [right]
+PASS Web Animations: property <float> from [left] to [right] at (-0.3) should be [left]
+PASS Web Animations: property <float> from [left] to [right] at (0) should be [left]
+PASS Web Animations: property <float> from [left] to [right] at (0.3) should be [left]
+PASS Web Animations: property <float> from [left] to [right] at (0.5) should be [right]
+PASS Web Animations: property <float> from [left] to [right] at (0.6) should be [right]
+PASS Web Animations: property <float> from [left] to [right] at (1) should be [right]
+PASS Web Animations: property <float> from [left] to [right] at (1.5) should be [right]
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsspositionanimationspositioninterpolationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation-expected.txt        2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation-expected.txt   2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1,28 +1,28 @@
</span><span class="cx"> 
</span><del>-PASS CSS Transitions: property <position> from [absolute] to [static] at (-0.3) should be [static]
-PASS CSS Transitions: property <position> from [absolute] to [static] at (0) should be [static]
-PASS CSS Transitions: property <position> from [absolute] to [static] at (0.3) should be [static]
</del><ins>+FAIL CSS Transitions: property <position> from [absolute] to [static] at (-0.3) should be [static] assert_equals: expected "static " but got "absolute "
+FAIL CSS Transitions: property <position> from [absolute] to [static] at (0) should be [static] assert_equals: expected "static " but got "absolute "
+FAIL CSS Transitions: property <position> from [absolute] to [static] at (0.3) should be [static] assert_equals: expected "static " but got "absolute "
</ins><span class="cx"> PASS CSS Transitions: property <position> from [absolute] to [static] at (0.5) should be [static]
</span><span class="cx"> PASS CSS Transitions: property <position> from [absolute] to [static] at (0.6) should be [static]
</span><span class="cx"> PASS CSS Transitions: property <position> from [absolute] to [static] at (1) should be [static]
</span><span class="cx"> PASS CSS Transitions: property <position> from [absolute] to [static] at (1.5) should be [static]
</span><del>-PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (-0.3) should be [static]
-PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0) should be [static]
-PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.3) should be [static]
</del><ins>+FAIL CSS Transitions with transition: all: property <position> from [absolute] to [static] at (-0.3) should be [static] assert_equals: expected "static " but got "absolute "
+FAIL CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0) should be [static] assert_equals: expected "static " but got "absolute "
+FAIL CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.3) should be [static] assert_equals: expected "static " but got "absolute "
</ins><span class="cx"> PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.5) should be [static]
</span><span class="cx"> PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.6) should be [static]
</span><span class="cx"> PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (1) should be [static]
</span><span class="cx"> PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (1.5) should be [static]
</span><del>-FAIL CSS Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
-FAIL CSS Animations: property <position> from [absolute] to [static] at (0) should be [absolute] assert_equals: expected "absolute " but got "static "
-FAIL CSS Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
</del><ins>+PASS CSS Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute]
+PASS CSS Animations: property <position> from [absolute] to [static] at (0) should be [absolute]
+PASS CSS Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute]
</ins><span class="cx"> PASS CSS Animations: property <position> from [absolute] to [static] at (0.5) should be [static]
</span><span class="cx"> PASS CSS Animations: property <position> from [absolute] to [static] at (0.6) should be [static]
</span><span class="cx"> PASS CSS Animations: property <position> from [absolute] to [static] at (1) should be [static]
</span><span class="cx"> PASS CSS Animations: property <position> from [absolute] to [static] at (1.5) should be [static]
</span><del>-FAIL Web Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
-FAIL Web Animations: property <position> from [absolute] to [static] at (0) should be [absolute] assert_equals: expected "absolute " but got "static "
-FAIL Web Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
</del><ins>+PASS Web Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute]
+PASS Web Animations: property <position> from [absolute] to [static] at (0) should be [absolute]
+PASS Web Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute]
</ins><span class="cx"> PASS Web Animations: property <position> from [absolute] to [static] at (0.5) should be [static]
</span><span class="cx"> PASS Web Animations: property <position> from [absolute] to [static] at (0.6) should be [static]
</span><span class="cx"> PASS Web Animations: property <position> from [absolute] to [static] at (1) should be [static]
</span><span class="lines">@@ -30,8 +30,8 @@
</span><span class="cx"> PASS CSS Animations: property <position> from neutral to [absolute] at (-1) should be [static]
</span><span class="cx"> PASS CSS Animations: property <position> from neutral to [absolute] at (0) should be [static]
</span><span class="cx"> PASS CSS Animations: property <position> from neutral to [absolute] at (0.25) should be [static]
</span><del>-FAIL CSS Animations: property <position> from neutral to [absolute] at (0.5) should be [absolute] assert_equals: expected "absolute " but got "static "
-FAIL CSS Animations: property <position> from neutral to [absolute] at (0.75) should be [absolute] assert_equals: expected "absolute " but got "static "
-FAIL CSS Animations: property <position> from neutral to [absolute] at (1) should be [absolute] assert_equals: expected "absolute " but got "static "
-FAIL CSS Animations: property <position> from neutral to [absolute] at (2) should be [absolute] assert_equals: expected "absolute " but got "static "
</del><ins>+PASS CSS Animations: property <position> from neutral to [absolute] at (0.5) should be [absolute]
+PASS CSS Animations: property <position> from neutral to [absolute] at (0.75) should be [absolute]
+PASS CSS Animations: property <position> from neutral to [absolute] at (1) should be [absolute]
+PASS CSS Animations: property <position> from neutral to [absolute] at (2) should be [absolute]
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsstransitionspropertiesvalue003expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt  2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt     2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -47,8 +47,8 @@
</span><span class="cx"> FAIL marker-offset length(cm) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "marker-offset:2s" but got ""
</span><span class="cx"> FAIL marker-offset length(in) / values assert_not_equals: initial and target values may not match got disallowed value ""
</span><span class="cx"> FAIL marker-offset length(in) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "marker-offset:2s" but got ""
</span><del>-FAIL text-decoration-color color(rgba) / values assert_not_equals: must not be target value after start got disallowed value "rgba(10, 10, 10, 0.4)"
-FAIL text-decoration-color color(rgba) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "text-decoration-color:2s" but got ""
</del><ins>+FAIL text-decoration-color color(rgba) / values assert_not_equals: may not be target value while transitioning on .transition got disallowed value "rgba(10, 10, 10, 0.4)"
+PASS text-decoration-color color(rgba) / events
</ins><span class="cx"> PASS column-count integer(integer) / values
</span><span class="cx"> PASS column-count integer(integer) / events
</span><span class="cx"> PASS column-gap length(pt) / values
</span><span class="lines">@@ -185,11 +185,11 @@
</span><span class="cx"> FAIL display display(static to absolute) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "display:2s" but got ""
</span><span class="cx"> FAIL display display(block to inline-block) / values assert_not_equals: must not be target value after start got disallowed value "inline-block"
</span><span class="cx"> FAIL display display(block to inline-block) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "display:2s" but got ""
</span><del>-FAIL position position(static to absolute) / values assert_not_equals: must not be target value after start got disallowed value "absolute"
-FAIL position position(static to absolute) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "position:2s" but got ""
-FAIL position position(relative to absolute) / values assert_not_equals: must not be target value after start got disallowed value "absolute"
-FAIL position position(relative to absolute) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "position:2s" but got ""
-FAIL position position(absolute to fixed) / values assert_not_equals: must not be target value after start got disallowed value "fixed"
-FAIL position position(absolute to fixed) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "position:2s" but got ""
</del><ins>+PASS position position(static to absolute) / values
+PASS position position(static to absolute) / events
+PASS position position(relative to absolute) / values
+PASS position position(relative to absolute) / events
+PASS position position(absolute to fixed) / values
+PASS position position(absolute to fixed) / events
</ins><span class="cx"> Text sample
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty001expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt      2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt 2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -26,9 +26,15 @@
</span><span class="cx"> FAIL border-bottom-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-bottom-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-bottom-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-bottom-style (type: discrete) has testAccumulation function
+PASS border-bottom-style: "solid" onto "dotted"
+PASS border-bottom-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-bottom-width (type: length) has testAccumulation function
</span><span class="cx"> FAIL border-bottom-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-bottom-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS border-collapse (type: discrete) has testAccumulation function
+PASS border-collapse: "separate" onto "collapse"
+PASS border-collapse: "collapse" onto "separate"
</ins><span class="cx"> PASS border-image-source (type: discrete) has testAccumulation function
</span><span class="cx"> PASS border-image-source: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"
</span><span class="cx"> PASS border-image-source: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"
</span><span class="lines">@@ -39,6 +45,9 @@
</span><span class="cx"> FAIL border-left-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-left-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-left-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-left-style (type: discrete) has testAccumulation function
+PASS border-left-style: "solid" onto "dotted"
+PASS border-left-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-left-width (type: length) has testAccumulation function
</span><span class="cx"> FAIL border-left-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-left-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -49,6 +58,9 @@
</span><span class="cx"> FAIL border-right-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-right-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-right-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-right-style (type: discrete) has testAccumulation function
+PASS border-right-style: "solid" onto "dotted"
+PASS border-right-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-right-width (type: length) has testAccumulation function
</span><span class="cx"> FAIL border-right-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-right-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -62,11 +74,20 @@
</span><span class="cx"> FAIL border-top-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-top-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-top-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-top-style (type: discrete) has testAccumulation function
+PASS border-top-style: "solid" onto "dotted"
+PASS border-top-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-top-width (type: length) has testAccumulation function
</span><span class="cx"> FAIL border-top-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-top-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> PASS box-shadow (type: boxShadowList) has testAccumulation function
</span><span class="cx"> FAIL box-shadow: shadow assert_equals: The value should be rgb(240, 240, 240) 20px 20px 20px 20px at 0ms expected "rgb(240, 240, 240) 20px 20px 20px 20px" but got "rgb(120, 120, 120) 10px 10px 10px 10px"
</span><ins>+PASS box-sizing (type: discrete) has testAccumulation function
+PASS box-sizing: "border-box" onto "content-box"
+PASS box-sizing: "content-box" onto "border-box"
+PASS caption-side (type: discrete) has testAccumulation function
+PASS caption-side: "bottom" onto "top"
+PASS caption-side: "top" onto "bottom"
</ins><span class="cx"> PASS caret-color (type: color) has testAccumulation function
</span><span class="cx"> FAIL caret-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="cx"> FAIL caret-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="lines">@@ -74,6 +95,9 @@
</span><span class="cx"> FAIL caret-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL caret-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL caret-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS clear (type: discrete) has testAccumulation function
+PASS clear: "right" onto "left"
+PASS clear: "left" onto "right"
</ins><span class="cx"> PASS clip (type: rect) has testAccumulation function
</span><span class="cx"> FAIL clip: rect assert_equals: The value should be rect(110px, 110px, 110px, 110px) at 0ms expected "rect(110px, 110px, 110px, 110px)" but got "rect(10px, 10px, 10px, 10px)"
</span><span class="cx"> PASS clip (type: discrete) has testAccumulation function
</span><span class="lines">@@ -106,6 +130,12 @@
</span><span class="cx"> FAIL column-rule-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL column-rule-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL column-rule-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS column-fill (type: discrete) has testAccumulation function
+PASS column-fill: "balance" onto "auto"
+PASS column-fill: "auto" onto "balance"
+PASS column-rule-style (type: discrete) has testAccumulation function
+PASS column-rule-style: "dotted" onto "none"
+PASS column-rule-style: "none" onto "dotted"
</ins><span class="cx"> PASS column-rule-width (type: length) has testAccumulation function
</span><span class="cx"> FAIL column-rule-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL column-rule-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -115,6 +145,12 @@
</span><span class="cx"> PASS column-width (type: discrete) has testAccumulation function
</span><span class="cx"> PASS column-width: "1px" onto "auto"
</span><span class="cx"> FAIL column-width: "auto" onto "1px" assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
</span><ins>+PASS cursor (type: discrete) has testAccumulation function
+PASS cursor: "wait" onto "pointer"
+PASS cursor: "pointer" onto "wait"
+PASS empty-cells (type: discrete) has testAccumulation function
+PASS empty-cells: "hide" onto "show"
+PASS empty-cells: "show" onto "hide"
</ins><span class="cx"> PASS fill-opacity (type: opacity) has testAccumulation function
</span><span class="cx"> FAIL fill-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.30000001192092896"
</span><span class="cx"> FAIL fill-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "0.30000001192092896"
</span><span class="lines">@@ -136,10 +172,16 @@
</span><span class="cx"> PASS flex-basis (type: discrete) has testAccumulation function
</span><span class="cx"> PASS flex-basis: "10px" onto "auto"
</span><span class="cx"> PASS flex-basis: "auto" onto "10px"
</span><ins>+PASS flex-direction (type: discrete) has testAccumulation function
+PASS flex-direction: "row-reverse" onto "row"
+PASS flex-direction: "row" onto "row-reverse"
</ins><span class="cx"> PASS flex-grow (type: positiveNumber) has testAccumulation function
</span><span class="cx"> FAIL flex-grow: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "1.100000023841858"
</span><span class="cx"> PASS flex-shrink (type: positiveNumber) has testAccumulation function
</span><span class="cx"> FAIL flex-shrink: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "1.100000023841858"
</span><ins>+PASS flex-wrap (type: discrete) has testAccumulation function
+PASS flex-wrap: "wrap" onto "nowrap"
+PASS flex-wrap: "nowrap" onto "wrap"
</ins><span class="cx"> PASS flood-color (type: color) has testAccumulation function
</span><span class="cx"> FAIL flood-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="cx"> FAIL flood-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="lines">@@ -155,6 +197,9 @@
</span><span class="cx"> PASS font-style (type: discrete) has testAccumulation function
</span><span class="cx"> PASS font-style: "oblique" onto "italic"
</span><span class="cx"> PASS font-style: "italic" onto "oblique"
</span><ins>+PASS float (type: discrete) has testAccumulation function
+PASS float: "right" onto "left"
+PASS float: "left" onto "right"
</ins><span class="cx"> PASS font-variation-settings (type: fontVariationSettings) has testAccumulation function
</span><span class="cx"> FAIL font-variation-settings with composite type accumulate assert_equals: The value should be "wght" 2.2 at 250ms expected "\"wght\" 2.2" but got "\"wght\" 1.2"
</span><span class="cx"> PASS font-variation-settings (type: discrete) has testAccumulation function
</span><span class="lines">@@ -162,4 +207,28 @@
</span><span class="cx"> FAIL font-variation-settings: ""wdth" 1, "wght" 1.1" onto ""wdth" 5" assert_equals: The value should be "wdth" 1, "wght" 1.1 at 0ms expected "\"wdth\" 1, \"wght\" 1.1" but got "\"wght\" 1.1, \"wdth\" 1"
</span><span class="cx"> PASS font-variation-settings: "normal" onto ""wdth" 5"
</span><span class="cx"> PASS font-variation-settings: ""wdth" 5" onto "normal"
</span><ins>+PASS grid-auto-columns (type: discrete) has testAccumulation function
+PASS grid-auto-columns: "5px" onto "1px"
+PASS grid-auto-columns: "1px" onto "5px"
+PASS grid-auto-flow (type: discrete) has testAccumulation function
+PASS grid-auto-flow: "column" onto "row"
+PASS grid-auto-flow: "row" onto "column"
+PASS grid-auto-rows (type: discrete) has testAccumulation function
+PASS grid-auto-rows: "5px" onto "1px"
+PASS grid-auto-rows: "1px" onto "5px"
+PASS grid-column-end (type: discrete) has testAccumulation function
+PASS grid-column-end: "5" onto "1"
+PASS grid-column-end: "1" onto "5"
+PASS grid-column-start (type: discrete) has testAccumulation function
+PASS grid-column-start: "5" onto "1"
+PASS grid-column-start: "1" onto "5"
+PASS grid-row-end (type: discrete) has testAccumulation function
+PASS grid-row-end: "5" onto "1"
+PASS grid-row-end: "1" onto "5"
+PASS grid-row-start (type: discrete) has testAccumulation function
+PASS grid-row-start: "5" onto "1"
+PASS grid-row-start: "1" onto "5"
+PASS image-orientation (type: discrete) has testAccumulation function
+PASS image-orientation: "from-image" onto "none"
+PASS image-orientation: "none" onto "from-image"
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty002expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt      2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt 2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1,5 +1,17 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Setup
</span><ins>+PASS isolation (type: discrete) has testAccumulation function
+PASS isolation: "isolate" onto "auto"
+PASS isolation: "auto" onto "isolate"
+PASS justify-content (type: discrete) has testAccumulation function
+PASS justify-content: "end" onto "start"
+PASS justify-content: "start" onto "end"
+PASS justify-items (type: discrete) has testAccumulation function
+PASS justify-items: "end" onto "start"
+PASS justify-items: "start" onto "end"
+PASS justify-self (type: discrete) has testAccumulation function
+PASS justify-self: "end" onto "start"
+PASS justify-self: "start" onto "end"
</ins><span class="cx"> PASS letter-spacing (type: length) has testAccumulation function
</span><span class="cx"> FAIL letter-spacing: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL letter-spacing: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -13,6 +25,18 @@
</span><span class="cx"> PASS list-style-image (type: discrete) has testAccumulation function
</span><span class="cx"> PASS list-style-image: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"
</span><span class="cx"> PASS list-style-image: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"
</span><ins>+PASS list-style-position (type: discrete) has testAccumulation function
+PASS list-style-position: "outside" onto "inside"
+PASS list-style-position: "inside" onto "outside"
+PASS list-style-type (type: discrete) has testAccumulation function
+PASS list-style-type: "square" onto "circle"
+PASS list-style-type: "circle" onto "square"
+PASS mix-blend-mode (type: discrete) has testAccumulation function
+PASS mix-blend-mode: "screen" onto "multiply"
+PASS mix-blend-mode: "multiply" onto "screen"
+PASS object-fit (type: discrete) has testAccumulation function
+PASS object-fit: "contain" onto "fill"
+PASS object-fit: "fill" onto "contain"
</ins><span class="cx"> PASS order (type: integer) has testAccumulation function
</span><span class="cx"> FAIL order: integer assert_equals: The value should be -3 at 0ms expected "-3" but got "-2"
</span><span class="cx"> PASS outline-color (type: color) has testAccumulation function
</span><span class="lines">@@ -25,12 +49,45 @@
</span><span class="cx"> PASS outline-offset (type: length) has testAccumulation function
</span><span class="cx"> FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS outline-style (type: discrete) has testAccumulation function
+PASS outline-style: "dotted" onto "none"
+PASS outline-style: "none" onto "dotted"
</ins><span class="cx"> PASS outline-width (type: length) has testAccumulation function
</span><span class="cx"> FAIL outline-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL outline-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS overflow-wrap (type: discrete) has testAccumulation function
+PASS overflow-wrap: "break-word" onto "normal"
+PASS overflow-wrap: "normal" onto "break-word"
+PASS overflow-x (type: discrete) has testAccumulation function
+PASS overflow-x: "hidden" onto "visible"
+PASS overflow-x: "visible" onto "hidden"
+PASS overflow-y (type: discrete) has testAccumulation function
+PASS overflow-y: "hidden" onto "visible"
+PASS overflow-y: "visible" onto "hidden"
+PASS page-break-after (type: discrete) has testAccumulation function
+PASS page-break-after: "auto" onto "always"
+FAIL page-break-after: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-before (type: discrete) has testAccumulation function
+PASS page-break-before: "auto" onto "always"
+FAIL page-break-before: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-inside (type: discrete) has testAccumulation function
+FAIL page-break-inside: "avoid" onto "auto" assert_equals: The value should be avoid at 0ms expected "avoid" but got "auto"
+PASS page-break-inside: "auto" onto "avoid"
+PASS paint-order (type: discrete) has testAccumulation function
+PASS paint-order: "stroke" onto "fill"
+PASS paint-order: "fill" onto "stroke"
</ins><span class="cx"> PASS perspective (type: length) has testAccumulation function
</span><span class="cx"> FAIL perspective: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL perspective: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS pointer-events (type: discrete) has testAccumulation function
+PASS pointer-events: "none" onto "fill"
+PASS pointer-events: "fill" onto "none"
+PASS position (type: discrete) has testAccumulation function
+PASS position: "fixed" onto "absolute"
+PASS position: "absolute" onto "fixed"
+PASS resize (type: discrete) has testAccumulation function
+PASS resize: "horizontal" onto "both"
+PASS resize: "both" onto "horizontal"
</ins><span class="cx"> PASS shape-outside (type: discrete) has testAccumulation function
</span><span class="cx"> PASS shape-outside: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"
</span><span class="cx"> PASS shape-outside: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"
</span><span class="lines">@@ -54,8 +111,36 @@
</span><span class="cx"> PASS stroke-opacity (type: opacity) has testAccumulation function
</span><span class="cx"> FAIL stroke-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.30000001192092896"
</span><span class="cx"> FAIL stroke-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "0.30000001192092896"
</span><ins>+PASS table-layout (type: discrete) has testAccumulation function
+PASS table-layout: "fixed" onto "auto"
+PASS table-layout: "auto" onto "fixed"
+PASS text-align (type: discrete) has testAccumulation function
+PASS text-align: "end" onto "start"
+PASS text-align: "start" onto "end"
+PASS text-decoration-color (type: color) has testAccumulation function
+FAIL text-decoration-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
+FAIL text-decoration-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
+FAIL text-decoration-color supports animating as color of hsl() assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
+FAIL text-decoration-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
+FAIL text-decoration-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
+FAIL text-decoration-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
+PASS text-decoration-line (type: discrete) has testAccumulation function
+PASS text-decoration-line: "overline" onto "underline"
+PASS text-decoration-line: "underline" onto "overline"
+PASS text-decoration-style (type: discrete) has testAccumulation function
+PASS text-decoration-style: "dotted" onto "solid"
+PASS text-decoration-style: "solid" onto "dotted"
+PASS text-overflow (type: discrete) has testAccumulation function
+PASS text-overflow: "ellipsis" onto "clip"
+PASS text-overflow: "clip" onto "ellipsis"
</ins><span class="cx"> PASS text-shadow (type: textShadowList) has testAccumulation function
</span><span class="cx"> FAIL text-shadow: shadow assert_equals: The value should be rgb(240, 240, 240) 20px 20px 20px at 0ms expected "rgb(240, 240, 240) 20px 20px 20px" but got "rgb(120, 120, 120) 10px 10px 10px"
</span><ins>+PASS text-transform (type: discrete) has testAccumulation function
+PASS text-transform: "uppercase" onto "capitalize"
+PASS text-transform: "capitalize" onto "uppercase"
+PASS touch-action (type: discrete) has testAccumulation function
+PASS touch-action: "none" onto "auto"
+PASS touch-action: "auto" onto "none"
</ins><span class="cx"> PASS transform (type: transformList) has testAccumulation function
</span><span class="cx"> FAIL transform: translate assert_approx_equals: expected matrix(1, 0, 0, 1, -100, 0) but got matrix(1, 0, 0, 1, -200, 0): The value should be matrix(1, 0, 0, 1, -100, 0) at 0ms but got matrix(1, 0, 0, 1, -200, 0) expected -100 +/- 0.0001 but got -200
</span><span class="cx"> FAIL transform: rotate assert_approx_equals: expected matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0) but got matrix(0, -1, 1, 0, 0, 0): The value should be matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0) at 0ms but got matrix(0, -1, 1, 0, 0, 0) expected 0.707107 +/- 0.0001 but got 0
</span><span class="lines">@@ -75,6 +160,12 @@
</span><span class="cx"> PASS transform: non-invertible matrices in matched transform lists (invertible onto non-invertible)
</span><span class="cx"> FAIL transform: non-invertible matrices in mismatched transform lists (non-invertible onto invertible) assert_approx_equals: expected matrix(1, 1, 1, 1, 100, 100) but got matrix(1, 1, 1, 1, 150, 50): The value should be matrix(1, 1, 1, 1, 100, 100) at 0ms but got matrix(1, 1, 1, 1, 150, 50) expected 100 +/- 0.0001 but got 150
</span><span class="cx"> PASS transform: non-invertible matrices in mismatched transform lists (invertible onto non-invertible)
</span><ins>+PASS transform-box (type: discrete) has testAccumulation function
+PASS transform-box: "border-box" onto "fill-box"
+PASS transform-box: "fill-box" onto "border-box"
+PASS transform-style (type: discrete) has testAccumulation function
+PASS transform-style: "preserve-3d" onto "flat"
+PASS transform-style: "flat" onto "preserve-3d"
</ins><span class="cx"> PASS rotate (type: rotateList) has testAccumulation function
</span><span class="cx"> FAIL rotate without rotation axes assert_equals: The value should be -45deg at 0ms expected "-45deg" but got "-90deg"
</span><span class="cx"> FAIL rotate with underlying transform assert_equals: The value should be x 45deg at 0ms expected "x 45deg" but got "1 0 0 90deg"
</span><span class="lines">@@ -89,6 +180,12 @@
</span><span class="cx"> PASS visibility (type: visibility) has testAccumulation function
</span><span class="cx"> PASS visibility: onto "visible"
</span><span class="cx"> PASS visibility: onto "hidden"
</span><ins>+PASS white-space (type: discrete) has testAccumulation function
+PASS white-space: "nowrap" onto "pre"
+PASS white-space: "pre" onto "nowrap"
+PASS word-break (type: discrete) has testAccumulation function
+PASS word-break: "break-all" onto "keep-all"
+PASS word-break: "keep-all" onto "break-all"
</ins><span class="cx"> PASS word-spacing (type: lengthPercentageOrCalc) has testAccumulation function
</span><span class="cx"> FAIL word-spacing: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL word-spacing: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty001expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt  2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt     2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -26,9 +26,15 @@
</span><span class="cx"> FAIL border-bottom-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-bottom-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-bottom-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-bottom-style (type: discrete) has testAddition function
+PASS border-bottom-style: "solid" onto "dotted"
+PASS border-bottom-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-bottom-width (type: length) has testAddition function
</span><span class="cx"> FAIL border-bottom-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-bottom-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS border-collapse (type: discrete) has testAddition function
+PASS border-collapse: "separate" onto "collapse"
+PASS border-collapse: "collapse" onto "separate"
</ins><span class="cx"> PASS border-image-source (type: discrete) has testAddition function
</span><span class="cx"> PASS border-image-source: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"
</span><span class="cx"> PASS border-image-source: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"
</span><span class="lines">@@ -39,6 +45,9 @@
</span><span class="cx"> FAIL border-left-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-left-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-left-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-left-style (type: discrete) has testAddition function
+PASS border-left-style: "solid" onto "dotted"
+PASS border-left-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-left-width (type: length) has testAddition function
</span><span class="cx"> FAIL border-left-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-left-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -49,6 +58,9 @@
</span><span class="cx"> FAIL border-right-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-right-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-right-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-right-style (type: discrete) has testAddition function
+PASS border-right-style: "solid" onto "dotted"
+PASS border-right-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-right-width (type: length) has testAddition function
</span><span class="cx"> FAIL border-right-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-right-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -62,11 +74,20 @@
</span><span class="cx"> FAIL border-top-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-top-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL border-top-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS border-top-style (type: discrete) has testAddition function
+PASS border-top-style: "solid" onto "dotted"
+PASS border-top-style: "dotted" onto "solid"
</ins><span class="cx"> PASS border-top-width (type: length) has testAddition function
</span><span class="cx"> FAIL border-top-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL border-top-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> PASS box-shadow (type: boxShadowList) has testAddition function
</span><span class="cx"> FAIL box-shadow: shadow assert_equals: The value should be rgb(0, 0, 0) 0px 0px 0px 0px, rgb(120, 120, 120) 10px 10px 10px 0px at 0ms expected "rgb(0, 0, 0) 0px 0px 0px 0px, rgb(120, 120, 120) 10px 10px 10px 0px" but got "rgb(120, 120, 120) 10px 10px 10px 0px"
</span><ins>+PASS box-sizing (type: discrete) has testAddition function
+PASS box-sizing: "border-box" onto "content-box"
+PASS box-sizing: "content-box" onto "border-box"
+PASS caption-side (type: discrete) has testAddition function
+PASS caption-side: "bottom" onto "top"
+PASS caption-side: "top" onto "bottom"
</ins><span class="cx"> PASS caret-color (type: color) has testAddition function
</span><span class="cx"> FAIL caret-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="cx"> FAIL caret-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="lines">@@ -74,6 +95,9 @@
</span><span class="cx"> FAIL caret-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL caret-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL caret-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS clear (type: discrete) has testAddition function
+PASS clear: "right" onto "left"
+PASS clear: "left" onto "right"
</ins><span class="cx"> PASS clip (type: rect) has testAddition function
</span><span class="cx"> FAIL clip: rect assert_equals: The value should be rect(110px, 110px, 110px, 110px) at 0ms expected "rect(110px, 110px, 110px, 110px)" but got "rect(10px, 10px, 10px, 10px)"
</span><span class="cx"> PASS clip (type: discrete) has testAddition function
</span><span class="lines">@@ -106,6 +130,12 @@
</span><span class="cx"> FAIL column-rule-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL column-rule-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><span class="cx"> FAIL column-rule-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
</span><ins>+PASS column-fill (type: discrete) has testAddition function
+PASS column-fill: "balance" onto "auto"
+PASS column-fill: "auto" onto "balance"
+PASS column-rule-style (type: discrete) has testAddition function
+PASS column-rule-style: "dotted" onto "none"
+PASS column-rule-style: "none" onto "dotted"
</ins><span class="cx"> PASS column-rule-width (type: length) has testAddition function
</span><span class="cx"> FAIL column-rule-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL column-rule-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -115,6 +145,12 @@
</span><span class="cx"> PASS column-width (type: discrete) has testAddition function
</span><span class="cx"> PASS column-width: "1px" onto "auto"
</span><span class="cx"> FAIL column-width: "auto" onto "1px" assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
</span><ins>+PASS cursor (type: discrete) has testAddition function
+PASS cursor: "wait" onto "pointer"
+PASS cursor: "pointer" onto "wait"
+PASS empty-cells (type: discrete) has testAddition function
+PASS empty-cells: "hide" onto "show"
+PASS empty-cells: "show" onto "hide"
</ins><span class="cx"> PASS fill-opacity (type: opacity) has testAddition function
</span><span class="cx"> FAIL fill-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.30000001192092896"
</span><span class="cx"> FAIL fill-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "0.30000001192092896"
</span><span class="lines">@@ -136,10 +172,16 @@
</span><span class="cx"> PASS flex-basis (type: discrete) has testAddition function
</span><span class="cx"> PASS flex-basis: "10px" onto "auto"
</span><span class="cx"> PASS flex-basis: "auto" onto "10px"
</span><ins>+PASS flex-direction (type: discrete) has testAddition function
+PASS flex-direction: "row-reverse" onto "row"
+PASS flex-direction: "row" onto "row-reverse"
</ins><span class="cx"> PASS flex-grow (type: positiveNumber) has testAddition function
</span><span class="cx"> FAIL flex-grow: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "1.100000023841858"
</span><span class="cx"> PASS flex-shrink (type: positiveNumber) has testAddition function
</span><span class="cx"> FAIL flex-shrink: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "1.100000023841858"
</span><ins>+PASS flex-wrap (type: discrete) has testAddition function
+PASS flex-wrap: "wrap" onto "nowrap"
+PASS flex-wrap: "nowrap" onto "wrap"
</ins><span class="cx"> PASS flood-color (type: color) has testAddition function
</span><span class="cx"> FAIL flood-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="cx"> FAIL flood-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
</span><span class="lines">@@ -155,6 +197,9 @@
</span><span class="cx"> PASS font-style (type: discrete) has testAddition function
</span><span class="cx"> PASS font-style: "oblique" onto "italic"
</span><span class="cx"> PASS font-style: "italic" onto "oblique"
</span><ins>+PASS float (type: discrete) has testAddition function
+PASS float: "right" onto "left"
+PASS float: "left" onto "right"
</ins><span class="cx"> PASS font-variation-settings (type: fontVariationSettings) has testAddition function
</span><span class="cx"> FAIL font-variation-settings with composite type add assert_equals: The value should be "wght" 2.2 at 250ms expected "\"wght\" 2.2" but got "\"wght\" 1.2"
</span><span class="cx"> PASS font-variation-settings (type: discrete) has testAddition function
</span><span class="lines">@@ -162,4 +207,28 @@
</span><span class="cx"> FAIL font-variation-settings: ""wdth" 1, "wght" 1.1" onto ""wdth" 5" assert_equals: The value should be "wdth" 1, "wght" 1.1 at 0ms expected "\"wdth\" 1, \"wght\" 1.1" but got "\"wght\" 1.1, \"wdth\" 1"
</span><span class="cx"> PASS font-variation-settings: "normal" onto ""wdth" 5"
</span><span class="cx"> PASS font-variation-settings: ""wdth" 5" onto "normal"
</span><ins>+PASS grid-auto-columns (type: discrete) has testAddition function
+PASS grid-auto-columns: "5px" onto "1px"
+PASS grid-auto-columns: "1px" onto "5px"
+PASS grid-auto-flow (type: discrete) has testAddition function
+PASS grid-auto-flow: "column" onto "row"
+PASS grid-auto-flow: "row" onto "column"
+PASS grid-auto-rows (type: discrete) has testAddition function
+PASS grid-auto-rows: "5px" onto "1px"
+PASS grid-auto-rows: "1px" onto "5px"
+PASS grid-column-end (type: discrete) has testAddition function
+PASS grid-column-end: "5" onto "1"
+PASS grid-column-end: "1" onto "5"
+PASS grid-column-start (type: discrete) has testAddition function
+PASS grid-column-start: "5" onto "1"
+PASS grid-column-start: "1" onto "5"
+PASS grid-row-end (type: discrete) has testAddition function
+PASS grid-row-end: "5" onto "1"
+PASS grid-row-end: "1" onto "5"
+PASS grid-row-start (type: discrete) has testAddition function
+PASS grid-row-start: "5" onto "1"
+PASS grid-row-start: "1" onto "5"
+PASS image-orientation (type: discrete) has testAddition function
+PASS image-orientation: "from-image" onto "none"
+PASS image-orientation: "none" onto "from-image"
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty002expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt  2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt     2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1,5 +1,17 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Setup
</span><ins>+PASS isolation (type: discrete) has testAddition function
+PASS isolation: "isolate" onto "auto"
+PASS isolation: "auto" onto "isolate"
+PASS justify-content (type: discrete) has testAddition function
+PASS justify-content: "end" onto "start"
+PASS justify-content: "start" onto "end"
+PASS justify-items (type: discrete) has testAddition function
+PASS justify-items: "end" onto "start"
+PASS justify-items: "start" onto "end"
+PASS justify-self (type: discrete) has testAddition function
+PASS justify-self: "end" onto "start"
+PASS justify-self: "start" onto "end"
</ins><span class="cx"> PASS letter-spacing (type: length) has testAddition function
</span><span class="cx"> FAIL letter-spacing: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL letter-spacing: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="lines">@@ -13,6 +25,18 @@
</span><span class="cx"> PASS list-style-image (type: discrete) has testAddition function
</span><span class="cx"> PASS list-style-image: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"
</span><span class="cx"> PASS list-style-image: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"
</span><ins>+PASS list-style-position (type: discrete) has testAddition function
+PASS list-style-position: "outside" onto "inside"
+PASS list-style-position: "inside" onto "outside"
+PASS list-style-type (type: discrete) has testAddition function
+PASS list-style-type: "square" onto "circle"
+PASS list-style-type: "circle" onto "square"
+PASS mix-blend-mode (type: discrete) has testAddition function
+PASS mix-blend-mode: "screen" onto "multiply"
+PASS mix-blend-mode: "multiply" onto "screen"
+PASS object-fit (type: discrete) has testAddition function
+PASS object-fit: "contain" onto "fill"
+PASS object-fit: "fill" onto "contain"
</ins><span class="cx"> PASS order (type: integer) has testAddition function
</span><span class="cx"> FAIL order: integer assert_equals: The value should be -3 at 0ms expected "-3" but got "-2"
</span><span class="cx"> PASS outline-color (type: color) has testAddition function
</span><span class="lines">@@ -25,12 +49,45 @@
</span><span class="cx"> PASS outline-offset (type: length) has testAddition function
</span><span class="cx"> FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS outline-style (type: discrete) has testAddition function
+PASS outline-style: "dotted" onto "none"
+PASS outline-style: "none" onto "dotted"
</ins><span class="cx"> PASS outline-width (type: length) has testAddition function
</span><span class="cx"> FAIL outline-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL outline-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS overflow-wrap (type: discrete) has testAddition function
+PASS overflow-wrap: "break-word" onto "normal"
+PASS overflow-wrap: "normal" onto "break-word"
+PASS overflow-x (type: discrete) has testAddition function
+PASS overflow-x: "hidden" onto "visible"
+PASS overflow-x: "visible" onto "hidden"
+PASS overflow-y (type: discrete) has testAddition function
+PASS overflow-y: "hidden" onto "visible"
+PASS overflow-y: "visible" onto "hidden"
+PASS page-break-after (type: discrete) has testAddition function
+PASS page-break-after: "auto" onto "always"
+FAIL page-break-after: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-before (type: discrete) has testAddition function
+PASS page-break-before: "auto" onto "always"
+FAIL page-break-before: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-inside (type: discrete) has testAddition function
+FAIL page-break-inside: "avoid" onto "auto" assert_equals: The value should be avoid at 0ms expected "avoid" but got "auto"
+PASS page-break-inside: "auto" onto "avoid"
+PASS paint-order (type: discrete) has testAddition function
+PASS paint-order: "stroke" onto "fill"
+PASS paint-order: "fill" onto "stroke"
</ins><span class="cx"> PASS perspective (type: length) has testAddition function
</span><span class="cx"> FAIL perspective: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL perspective: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><ins>+PASS pointer-events (type: discrete) has testAddition function
+PASS pointer-events: "none" onto "fill"
+PASS pointer-events: "fill" onto "none"
+PASS position (type: discrete) has testAddition function
+PASS position: "fixed" onto "absolute"
+PASS position: "absolute" onto "fixed"
+PASS resize (type: discrete) has testAddition function
+PASS resize: "horizontal" onto "both"
+PASS resize: "both" onto "horizontal"
</ins><span class="cx"> PASS shape-outside (type: discrete) has testAddition function
</span><span class="cx"> PASS shape-outside: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"
</span><span class="cx"> PASS shape-outside: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"
</span><span class="lines">@@ -54,8 +111,36 @@
</span><span class="cx"> PASS stroke-opacity (type: opacity) has testAddition function
</span><span class="cx"> FAIL stroke-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.30000001192092896"
</span><span class="cx"> FAIL stroke-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "0.30000001192092896"
</span><ins>+PASS table-layout (type: discrete) has testAddition function
+PASS table-layout: "fixed" onto "auto"
+PASS table-layout: "auto" onto "fixed"
+PASS text-align (type: discrete) has testAddition function
+PASS text-align: "end" onto "start"
+PASS text-align: "start" onto "end"
+PASS text-decoration-color (type: color) has testAddition function
+FAIL text-decoration-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
+FAIL text-decoration-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
+FAIL text-decoration-color supports animating as color of hsl() assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
+FAIL text-decoration-color supports animating as color of #RGBa assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
+FAIL text-decoration-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
+FAIL text-decoration-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
+PASS text-decoration-line (type: discrete) has testAddition function
+PASS text-decoration-line: "overline" onto "underline"
+PASS text-decoration-line: "underline" onto "overline"
+PASS text-decoration-style (type: discrete) has testAddition function
+PASS text-decoration-style: "dotted" onto "solid"
+PASS text-decoration-style: "solid" onto "dotted"
+PASS text-overflow (type: discrete) has testAddition function
+PASS text-overflow: "ellipsis" onto "clip"
+PASS text-overflow: "clip" onto "ellipsis"
</ins><span class="cx"> PASS text-shadow (type: textShadowList) has testAddition function
</span><span class="cx"> FAIL text-shadow: shadow assert_equals: The value should be rgb(0, 0, 0) 0px 0px 0px, rgb(120, 120, 120) 10px 10px 10px at 0ms expected "rgb(0, 0, 0) 0px 0px 0px, rgb(120, 120, 120) 10px 10px 10px" but got "rgb(120, 120, 120) 10px 10px 10px"
</span><ins>+PASS text-transform (type: discrete) has testAddition function
+PASS text-transform: "uppercase" onto "capitalize"
+PASS text-transform: "capitalize" onto "uppercase"
+PASS touch-action (type: discrete) has testAddition function
+PASS touch-action: "none" onto "auto"
+PASS touch-action: "auto" onto "none"
</ins><span class="cx"> PASS transform (type: transformList) has testAddition function
</span><span class="cx"> FAIL transform: translate assert_approx_equals: expected matrix(1, 0, 0, 1, -100, 0) but got matrix(1, 0, 0, 1, -200, 0): The value should be matrix(1, 0, 0, 1, -100, 0) at 0ms but got matrix(1, 0, 0, 1, -200, 0) expected -100 +/- 0.0001 but got -200
</span><span class="cx"> FAIL transform: rotate assert_approx_equals: expected matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0) but got matrix(0, -1, 1, 0, 0, 0): The value should be matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0) at 0ms but got matrix(0, -1, 1, 0, 0, 0) expected 0.707107 +/- 0.0001 but got 0
</span><span class="lines">@@ -70,6 +155,12 @@
</span><span class="cx"> FAIL transform: non-invertible matrices assert_approx_equals: expected matrix(-1, 0, 0, -1, 250, 0) but got matrix(-1, 0, 0, -1, 200, 0): The value should be matrix(-1, 0, 0, -1, 250, 0) at 0ms but got matrix(-1, 0, 0, -1, 200, 0) expected 250 +/- 0.0001 but got 200
</span><span class="cx"> FAIL transform: non-invertible matrices in matched transform lists assert_approx_equals: expected matrix(0, -1, 1, 0, 250, 0) but got matrix(0, -1, 1, 0, 200, 0): The value should be matrix(0, -1, 1, 0, 250, 0) at 0ms but got matrix(0, -1, 1, 0, 200, 0) expected 250 +/- 0.0001 but got 200
</span><span class="cx"> FAIL transform: non-invertible matrices in mismatched transform lists assert_approx_equals: expected matrix(-2, 0, 0, -2, 250, 0) but got matrix(-2, 0, 0, -2, 200, 0): The value should be matrix(-2, 0, 0, -2, 250, 0) at 0ms but got matrix(-2, 0, 0, -2, 200, 0) expected 250 +/- 0.0001 but got 200
</span><ins>+PASS transform-box (type: discrete) has testAddition function
+PASS transform-box: "border-box" onto "fill-box"
+PASS transform-box: "fill-box" onto "border-box"
+PASS transform-style (type: discrete) has testAddition function
+PASS transform-style: "preserve-3d" onto "flat"
+PASS transform-style: "flat" onto "preserve-3d"
</ins><span class="cx"> PASS rotate (type: rotateList) has testAddition function
</span><span class="cx"> FAIL rotate without rotation axes assert_equals: The value should be -45deg at 0ms expected "-45deg" but got "-90deg"
</span><span class="cx"> FAIL rotate with underlying transform assert_equals: The value should be y 45deg at 0ms expected "y 45deg" but got "0 1 0 90deg"
</span><span class="lines">@@ -85,6 +176,12 @@
</span><span class="cx"> PASS visibility (type: visibility) has testAddition function
</span><span class="cx"> PASS visibility: onto "visible"
</span><span class="cx"> PASS visibility: onto "hidden"
</span><ins>+PASS white-space (type: discrete) has testAddition function
+PASS white-space: "nowrap" onto "pre"
+PASS white-space: "pre" onto "nowrap"
+PASS word-break (type: discrete) has testAddition function
+PASS word-break: "break-all" onto "keep-all"
+PASS word-break: "keep-all" onto "break-all"
</ins><span class="cx"> PASS word-spacing (type: lengthPercentageOrCalc) has testAddition function
</span><span class="cx"> FAIL word-spacing: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span><span class="cx"> FAIL word-spacing: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty001expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt     2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt        2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -30,9 +30,17 @@
</span><span class="cx"> PASS border-bottom-color supports animating as color of #RGBa
</span><span class="cx"> PASS border-bottom-color supports animating as color of rgba()
</span><span class="cx"> PASS border-bottom-color supports animating as color of hsla()
</span><ins>+PASS border-bottom-style (type: discrete) has testInterpolation function
+PASS border-bottom-style uses discrete animation when animating between "dotted" and "solid" with linear easing
+PASS border-bottom-style uses discrete animation when animating between "dotted" and "solid" with effect easing
+PASS border-bottom-style uses discrete animation when animating between "dotted" and "solid" with keyframe easing
</ins><span class="cx"> PASS border-bottom-width (type: length) has testInterpolation function
</span><span class="cx"> PASS border-bottom-width supports animating as a length
</span><span class="cx"> PASS border-bottom-width supports animating as a length of rem
</span><ins>+PASS border-collapse (type: discrete) has testInterpolation function
+PASS border-collapse uses discrete animation when animating between "collapse" and "separate" with linear easing
+PASS border-collapse uses discrete animation when animating between "collapse" and "separate" with effect easing
+PASS border-collapse uses discrete animation when animating between "collapse" and "separate" with keyframe easing
</ins><span class="cx"> PASS border-image-source (type: discrete) has testInterpolation function
</span><span class="cx"> FAIL border-image-source uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing assert_equals: The value should be url("http://localhost/test-1") at 499ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")"
</span><span class="cx"> FAIL border-image-source uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing assert_equals: The value should be url("http://localhost/test-1") at 940ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")"
</span><span class="lines">@@ -44,6 +52,10 @@
</span><span class="cx"> PASS border-left-color supports animating as color of #RGBa
</span><span class="cx"> PASS border-left-color supports animating as color of rgba()
</span><span class="cx"> PASS border-left-color supports animating as color of hsla()
</span><ins>+PASS border-left-style (type: discrete) has testInterpolation function
+PASS border-left-style uses discrete animation when animating between "dotted" and "solid" with linear easing
+PASS border-left-style uses discrete animation when animating between "dotted" and "solid" with effect easing
+PASS border-left-style uses discrete animation when animating between "dotted" and "solid" with keyframe easing
</ins><span class="cx"> PASS border-left-width (type: length) has testInterpolation function
</span><span class="cx"> PASS border-left-width supports animating as a length
</span><span class="cx"> PASS border-left-width supports animating as a length of rem
</span><span class="lines">@@ -54,6 +66,10 @@
</span><span class="cx"> PASS border-right-color supports animating as color of #RGBa
</span><span class="cx"> PASS border-right-color supports animating as color of rgba()
</span><span class="cx"> PASS border-right-color supports animating as color of hsla()
</span><ins>+PASS border-right-style (type: discrete) has testInterpolation function
+PASS border-right-style uses discrete animation when animating between "dotted" and "solid" with linear easing
+PASS border-right-style uses discrete animation when animating between "dotted" and "solid" with effect easing
+PASS border-right-style uses discrete animation when animating between "dotted" and "solid" with keyframe easing
</ins><span class="cx"> PASS border-right-width (type: length) has testInterpolation function
</span><span class="cx"> PASS border-right-width supports animating as a length
</span><span class="cx"> PASS border-right-width supports animating as a length of rem
</span><span class="lines">@@ -67,6 +83,10 @@
</span><span class="cx"> PASS border-top-color supports animating as color of #RGBa
</span><span class="cx"> PASS border-top-color supports animating as color of rgba()
</span><span class="cx"> PASS border-top-color supports animating as color of hsla()
</span><ins>+PASS border-top-style (type: discrete) has testInterpolation function
+PASS border-top-style uses discrete animation when animating between "dotted" and "solid" with linear easing
+PASS border-top-style uses discrete animation when animating between "dotted" and "solid" with effect easing
+PASS border-top-style uses discrete animation when animating between "dotted" and "solid" with keyframe easing
</ins><span class="cx"> PASS border-top-width (type: length) has testInterpolation function
</span><span class="cx"> PASS border-top-width supports animating as a length
</span><span class="cx"> PASS border-top-width supports animating as a length of rem
</span><span class="lines">@@ -78,6 +98,14 @@
</span><span class="cx"> PASS box-shadow: mismatched list length (from shorter to longer)
</span><span class="cx"> PASS box-shadow: mismatched list length (from longer to shorter)
</span><span class="cx"> PASS box-shadow: with currentcolor
</span><ins>+PASS box-sizing (type: discrete) has testInterpolation function
+PASS box-sizing uses discrete animation when animating between "content-box" and "border-box" with linear easing
+PASS box-sizing uses discrete animation when animating between "content-box" and "border-box" with effect easing
+PASS box-sizing uses discrete animation when animating between "content-box" and "border-box" with keyframe easing
+PASS caption-side (type: discrete) has testInterpolation function
+PASS caption-side uses discrete animation when animating between "top" and "bottom" with linear easing
+PASS caption-side uses discrete animation when animating between "top" and "bottom" with effect easing
+PASS caption-side uses discrete animation when animating between "top" and "bottom" with keyframe easing
</ins><span class="cx"> PASS caret-color (type: color) has testInterpolation function
</span><span class="cx"> PASS caret-color supports animating as color of rgb()
</span><span class="cx"> PASS caret-color supports animating as color of #RGB
</span><span class="lines">@@ -85,6 +113,10 @@
</span><span class="cx"> PASS caret-color supports animating as color of #RGBa
</span><span class="cx"> PASS caret-color supports animating as color of rgba()
</span><span class="cx"> PASS caret-color supports animating as color of hsla()
</span><ins>+PASS clear (type: discrete) has testInterpolation function
+PASS clear uses discrete animation when animating between "left" and "right" with linear easing
+PASS clear uses discrete animation when animating between "left" and "right" with effect easing
+PASS clear uses discrete animation when animating between "left" and "right" with keyframe easing
</ins><span class="cx"> PASS clip (type: rect) has testInterpolation function
</span><span class="cx"> FAIL clip supports animating as a rect assert_equals: The value should be rect(30px, 30px, 30px, 30px) at 500ms expected "rect(30px, 30px, 30px, 30px)" but got "auto"
</span><span class="cx"> PASS clip (type: discrete) has testInterpolation function
</span><span class="lines">@@ -121,6 +153,14 @@
</span><span class="cx"> PASS column-rule-color supports animating as color of #RGBa
</span><span class="cx"> PASS column-rule-color supports animating as color of rgba()
</span><span class="cx"> PASS column-rule-color supports animating as color of hsla()
</span><ins>+PASS column-fill (type: discrete) has testInterpolation function
+PASS column-fill uses discrete animation when animating between "auto" and "balance" with linear easing
+PASS column-fill uses discrete animation when animating between "auto" and "balance" with effect easing
+PASS column-fill uses discrete animation when animating between "auto" and "balance" with keyframe easing
+PASS column-rule-style (type: discrete) has testInterpolation function
+PASS column-rule-style uses discrete animation when animating between "none" and "dotted" with linear easing
+PASS column-rule-style uses discrete animation when animating between "none" and "dotted" with effect easing
+PASS column-rule-style uses discrete animation when animating between "none" and "dotted" with keyframe easing
</ins><span class="cx"> PASS column-rule-width (type: length) has testInterpolation function
</span><span class="cx"> PASS column-rule-width supports animating as a length
</span><span class="cx"> PASS column-rule-width supports animating as a length of rem
</span><span class="lines">@@ -131,6 +171,14 @@
</span><span class="cx"> FAIL column-width uses discrete animation when animating between "auto" and "1px" with linear easing assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
</span><span class="cx"> FAIL column-width uses discrete animation when animating between "auto" and "1px" with effect easing assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
</span><span class="cx"> FAIL column-width uses discrete animation when animating between "auto" and "1px" with keyframe easing assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
</span><ins>+PASS cursor (type: discrete) has testInterpolation function
+PASS cursor uses discrete animation when animating between "pointer" and "wait" with linear easing
+PASS cursor uses discrete animation when animating between "pointer" and "wait" with effect easing
+PASS cursor uses discrete animation when animating between "pointer" and "wait" with keyframe easing
+PASS empty-cells (type: discrete) has testInterpolation function
+PASS empty-cells uses discrete animation when animating between "show" and "hide" with linear easing
+PASS empty-cells uses discrete animation when animating between "show" and "hide" with effect easing
+PASS empty-cells uses discrete animation when animating between "show" and "hide" with keyframe easing
</ins><span class="cx"> PASS fill-opacity (type: opacity) has testInterpolation function
</span><span class="cx"> FAIL fill-opacity supports animating as a [0, 1] number assert_equals: The value should be 0.55 at 500ms expected "0.55" but got "0.550000011920929"
</span><span class="cx"> PASS filter (type: filterList) has testInterpolation function
</span><span class="lines">@@ -158,10 +206,18 @@
</span><span class="cx"> PASS flex-basis uses discrete animation when animating between "auto" and "10px" with linear easing
</span><span class="cx"> PASS flex-basis uses discrete animation when animating between "auto" and "10px" with effect easing
</span><span class="cx"> PASS flex-basis uses discrete animation when animating between "auto" and "10px" with keyframe easing
</span><ins>+PASS flex-direction (type: discrete) has testInterpolation function
+PASS flex-direction uses discrete animation when animating between "row" and "row-reverse" with linear easing
+PASS flex-direction uses discrete animation when animating between "row" and "row-reverse" with effect easing
+PASS flex-direction uses discrete animation when animating between "row" and "row-reverse" with keyframe easing
</ins><span class="cx"> PASS flex-grow (type: positiveNumber) has testInterpolation function
</span><span class="cx"> FAIL flex-grow supports animating as a positive number assert_equals: The value should be 1.3 at 500ms expected "1.3" but got "1.2999999523162842"
</span><span class="cx"> PASS flex-shrink (type: positiveNumber) has testInterpolation function
</span><span class="cx"> FAIL flex-shrink supports animating as a positive number assert_equals: The value should be 1.3 at 500ms expected "1.3" but got "1.2999999523162842"
</span><ins>+PASS flex-wrap (type: discrete) has testInterpolation function
+PASS flex-wrap uses discrete animation when animating between "nowrap" and "wrap" with linear easing
+PASS flex-wrap uses discrete animation when animating between "nowrap" and "wrap" with effect easing
+PASS flex-wrap uses discrete animation when animating between "nowrap" and "wrap" with keyframe easing
</ins><span class="cx"> PASS flood-color (type: color) has testInterpolation function
</span><span class="cx"> PASS flood-color supports animating as color of rgb()
</span><span class="cx"> PASS flood-color supports animating as color of #RGB
</span><span class="lines">@@ -177,6 +233,10 @@
</span><span class="cx"> PASS font-style uses discrete animation when animating between "italic" and "oblique" with linear easing
</span><span class="cx"> PASS font-style uses discrete animation when animating between "italic" and "oblique" with effect easing
</span><span class="cx"> PASS font-style uses discrete animation when animating between "italic" and "oblique" with keyframe easing
</span><ins>+PASS float (type: discrete) has testInterpolation function
+PASS float uses discrete animation when animating between "left" and "right" with linear easing
+PASS float uses discrete animation when animating between "left" and "right" with effect easing
+PASS float uses discrete animation when animating between "left" and "right" with keyframe easing
</ins><span class="cx"> PASS font-variation-settings (type: fontVariationSettings) has testInterpolation function
</span><span class="cx"> PASS font-variation-settings supports animation as float
</span><span class="cx"> PASS font-variation-settings supports animation as float with multiple tags
</span><span class="lines">@@ -188,4 +248,36 @@
</span><span class="cx"> FAIL font-variation-settings uses discrete animation when animating between ""wdth" 5" and "normal" with linear easing assert_equals: The value should be "wdth" 5 at 0ms expected "\"wdth\" 5" but got "normal"
</span><span class="cx"> FAIL font-variation-settings uses discrete animation when animating between ""wdth" 5" and "normal" with effect easing assert_equals: The value should be "wdth" 5 at 0ms expected "\"wdth\" 5" but got "normal"
</span><span class="cx"> FAIL font-variation-settings uses discrete animation when animating between ""wdth" 5" and "normal" with keyframe easing assert_equals: The value should be "wdth" 5 at 0ms expected "\"wdth\" 5" but got "normal"
</span><ins>+PASS grid-auto-columns (type: discrete) has testInterpolation function
+PASS grid-auto-columns uses discrete animation when animating between "1px" and "5px" with linear easing
+PASS grid-auto-columns uses discrete animation when animating between "1px" and "5px" with effect easing
+PASS grid-auto-columns uses discrete animation when animating between "1px" and "5px" with keyframe easing
+PASS grid-auto-flow (type: discrete) has testInterpolation function
+PASS grid-auto-flow uses discrete animation when animating between "row" and "column" with linear easing
+PASS grid-auto-flow uses discrete animation when animating between "row" and "column" with effect easing
+PASS grid-auto-flow uses discrete animation when animating between "row" and "column" with keyframe easing
+PASS grid-auto-rows (type: discrete) has testInterpolation function
+PASS grid-auto-rows uses discrete animation when animating between "1px" and "5px" with linear easing
+PASS grid-auto-rows uses discrete animation when animating between "1px" and "5px" with effect easing
+PASS grid-auto-rows uses discrete animation when animating between "1px" and "5px" with keyframe easing
+PASS grid-column-end (type: discrete) has testInterpolation function
+PASS grid-column-end uses discrete animation when animating between "1" and "5" with linear easing
+PASS grid-column-end uses discrete animation when animating between "1" and "5" with effect easing
+PASS grid-column-end uses discrete animation when animating between "1" and "5" with keyframe easing
+PASS grid-column-start (type: discrete) has testInterpolation function
+PASS grid-column-start uses discrete animation when animating between "1" and "5" with linear easing
+PASS grid-column-start uses discrete animation when animating between "1" and "5" with effect easing
+PASS grid-column-start uses discrete animation when animating between "1" and "5" with keyframe easing
+PASS grid-row-end (type: discrete) has testInterpolation function
+PASS grid-row-end uses discrete animation when animating between "1" and "5" with linear easing
+PASS grid-row-end uses discrete animation when animating between "1" and "5" with effect easing
+PASS grid-row-end uses discrete animation when animating between "1" and "5" with keyframe easing
+PASS grid-row-start (type: discrete) has testInterpolation function
+PASS grid-row-start uses discrete animation when animating between "1" and "5" with linear easing
+PASS grid-row-start uses discrete animation when animating between "1" and "5" with effect easing
+PASS grid-row-start uses discrete animation when animating between "1" and "5" with keyframe easing
+PASS image-orientation (type: discrete) has testInterpolation function
+PASS image-orientation uses discrete animation when animating between "none" and "from-image" with linear easing
+PASS image-orientation uses discrete animation when animating between "none" and "from-image" with effect easing
+PASS image-orientation uses discrete animation when animating between "none" and "from-image" with keyframe easing
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty002expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt     2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt        2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1,5 +1,21 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Setup
</span><ins>+PASS isolation (type: discrete) has testInterpolation function
+PASS isolation uses discrete animation when animating between "auto" and "isolate" with linear easing
+PASS isolation uses discrete animation when animating between "auto" and "isolate" with effect easing
+PASS isolation uses discrete animation when animating between "auto" and "isolate" with keyframe easing
+PASS justify-content (type: discrete) has testInterpolation function
+PASS justify-content uses discrete animation when animating between "start" and "end" with linear easing
+PASS justify-content uses discrete animation when animating between "start" and "end" with effect easing
+PASS justify-content uses discrete animation when animating between "start" and "end" with keyframe easing
+PASS justify-items (type: discrete) has testInterpolation function
+PASS justify-items uses discrete animation when animating between "start" and "end" with linear easing
+PASS justify-items uses discrete animation when animating between "start" and "end" with effect easing
+PASS justify-items uses discrete animation when animating between "start" and "end" with keyframe easing
+PASS justify-self (type: discrete) has testInterpolation function
+PASS justify-self uses discrete animation when animating between "start" and "end" with linear easing
+PASS justify-self uses discrete animation when animating between "start" and "end" with effect easing
+PASS justify-self uses discrete animation when animating between "start" and "end" with keyframe easing
</ins><span class="cx"> PASS letter-spacing (type: length) has testInterpolation function
</span><span class="cx"> PASS letter-spacing supports animating as a length
</span><span class="cx"> PASS letter-spacing supports animating as a length of rem
</span><span class="lines">@@ -14,6 +30,22 @@
</span><span class="cx"> FAIL list-style-image uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing assert_equals: The value should be url("http://localhost/test-1") at 499ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")"
</span><span class="cx"> FAIL list-style-image uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing assert_equals: The value should be url("http://localhost/test-1") at 940ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")"
</span><span class="cx"> FAIL list-style-image uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with keyframe easing assert_equals: The value should be url("http://localhost/test-1") at 940ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")"
</span><ins>+PASS list-style-position (type: discrete) has testInterpolation function
+PASS list-style-position uses discrete animation when animating between "inside" and "outside" with linear easing
+PASS list-style-position uses discrete animation when animating between "inside" and "outside" with effect easing
+PASS list-style-position uses discrete animation when animating between "inside" and "outside" with keyframe easing
+PASS list-style-type (type: discrete) has testInterpolation function
+PASS list-style-type uses discrete animation when animating between "circle" and "square" with linear easing
+PASS list-style-type uses discrete animation when animating between "circle" and "square" with effect easing
+PASS list-style-type uses discrete animation when animating between "circle" and "square" with keyframe easing
+PASS mix-blend-mode (type: discrete) has testInterpolation function
+PASS mix-blend-mode uses discrete animation when animating between "multiply" and "screen" with linear easing
+PASS mix-blend-mode uses discrete animation when animating between "multiply" and "screen" with effect easing
+PASS mix-blend-mode uses discrete animation when animating between "multiply" and "screen" with keyframe easing
+PASS object-fit (type: discrete) has testInterpolation function
+PASS object-fit uses discrete animation when animating between "fill" and "contain" with linear easing
+PASS object-fit uses discrete animation when animating between "fill" and "contain" with effect easing
+PASS object-fit uses discrete animation when animating between "fill" and "contain" with keyframe easing
</ins><span class="cx"> PASS order (type: integer) has testInterpolation function
</span><span class="cx"> PASS order supports animating as an integer
</span><span class="cx"> PASS outline-color (type: color) has testInterpolation function
</span><span class="lines">@@ -26,12 +58,56 @@
</span><span class="cx"> PASS outline-offset (type: length) has testInterpolation function
</span><span class="cx"> PASS outline-offset supports animating as a length
</span><span class="cx"> PASS outline-offset supports animating as a length of rem
</span><ins>+PASS outline-style (type: discrete) has testInterpolation function
+PASS outline-style uses discrete animation when animating between "none" and "dotted" with linear easing
+PASS outline-style uses discrete animation when animating between "none" and "dotted" with effect easing
+PASS outline-style uses discrete animation when animating between "none" and "dotted" with keyframe easing
</ins><span class="cx"> PASS outline-width (type: length) has testInterpolation function
</span><span class="cx"> PASS outline-width supports animating as a length
</span><span class="cx"> PASS outline-width supports animating as a length of rem
</span><ins>+PASS overflow-wrap (type: discrete) has testInterpolation function
+PASS overflow-wrap uses discrete animation when animating between "normal" and "break-word" with linear easing
+PASS overflow-wrap uses discrete animation when animating between "normal" and "break-word" with effect easing
+PASS overflow-wrap uses discrete animation when animating between "normal" and "break-word" with keyframe easing
+PASS overflow-x (type: discrete) has testInterpolation function
+PASS overflow-x uses discrete animation when animating between "visible" and "hidden" with linear easing
+PASS overflow-x uses discrete animation when animating between "visible" and "hidden" with effect easing
+PASS overflow-x uses discrete animation when animating between "visible" and "hidden" with keyframe easing
+PASS overflow-y (type: discrete) has testInterpolation function
+PASS overflow-y uses discrete animation when animating between "visible" and "hidden" with linear easing
+PASS overflow-y uses discrete animation when animating between "visible" and "hidden" with effect easing
+PASS overflow-y uses discrete animation when animating between "visible" and "hidden" with keyframe easing
+PASS page-break-after (type: discrete) has testInterpolation function
+FAIL page-break-after uses discrete animation when animating between "always" and "auto" with linear easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+FAIL page-break-after uses discrete animation when animating between "always" and "auto" with effect easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+FAIL page-break-after uses discrete animation when animating between "always" and "auto" with keyframe easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-before (type: discrete) has testInterpolation function
+FAIL page-break-before uses discrete animation when animating between "always" and "auto" with linear easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+FAIL page-break-before uses discrete animation when animating between "always" and "auto" with effect easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+FAIL page-break-before uses discrete animation when animating between "always" and "auto" with keyframe easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-inside (type: discrete) has testInterpolation function
+FAIL page-break-inside uses discrete animation when animating between "auto" and "avoid" with linear easing assert_equals: The value should be avoid at 500ms expected "avoid" but got "auto"
+FAIL page-break-inside uses discrete animation when animating between "auto" and "avoid" with effect easing assert_equals: The value should be avoid at 960ms expected "avoid" but got "auto"
+FAIL page-break-inside uses discrete animation when animating between "auto" and "avoid" with keyframe easing assert_equals: The value should be avoid at 960ms expected "avoid" but got "auto"
+PASS paint-order (type: discrete) has testInterpolation function
+PASS paint-order uses discrete animation when animating between "fill" and "stroke" with linear easing
+PASS paint-order uses discrete animation when animating between "fill" and "stroke" with effect easing
+PASS paint-order uses discrete animation when animating between "fill" and "stroke" with keyframe easing
</ins><span class="cx"> PASS perspective (type: length) has testInterpolation function
</span><span class="cx"> PASS perspective supports animating as a length
</span><span class="cx"> PASS perspective supports animating as a length of rem
</span><ins>+PASS pointer-events (type: discrete) has testInterpolation function
+PASS pointer-events uses discrete animation when animating between "fill" and "none" with linear easing
+PASS pointer-events uses discrete animation when animating between "fill" and "none" with effect easing
+PASS pointer-events uses discrete animation when animating between "fill" and "none" with keyframe easing
+PASS position (type: discrete) has testInterpolation function
+PASS position uses discrete animation when animating between "absolute" and "fixed" with linear easing
+PASS position uses discrete animation when animating between "absolute" and "fixed" with effect easing
+PASS position uses discrete animation when animating between "absolute" and "fixed" with keyframe easing
+PASS resize (type: discrete) has testInterpolation function
+PASS resize uses discrete animation when animating between "both" and "horizontal" with linear easing
+PASS resize uses discrete animation when animating between "both" and "horizontal" with effect easing
+PASS resize uses discrete animation when animating between "both" and "horizontal" with keyframe easing
</ins><span class="cx"> PASS shape-outside (type: discrete) has testInterpolation function
</span><span class="cx"> FAIL shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing assert_equals: The value should be url("http://localhost/test-1") at 0ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")"
</span><span class="cx"> FAIL shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing assert_equals: The value should be url("http://localhost/test-1") at 0ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")"
</span><span class="lines">@@ -58,6 +134,33 @@
</span><span class="cx"> FAIL stroke-miterlimit supports animating as a positive number assert_equals: The value should be 1.3 at 500ms expected "1.3" but got "1.2999999523162842"
</span><span class="cx"> PASS stroke-opacity (type: opacity) has testInterpolation function
</span><span class="cx"> FAIL stroke-opacity supports animating as a [0, 1] number assert_equals: The value should be 0.55 at 500ms expected "0.55" but got "0.550000011920929"
</span><ins>+PASS table-layout (type: discrete) has testInterpolation function
+PASS table-layout uses discrete animation when animating between "auto" and "fixed" with linear easing
+PASS table-layout uses discrete animation when animating between "auto" and "fixed" with effect easing
+PASS table-layout uses discrete animation when animating between "auto" and "fixed" with keyframe easing
+PASS text-align (type: discrete) has testInterpolation function
+PASS text-align uses discrete animation when animating between "start" and "end" with linear easing
+PASS text-align uses discrete animation when animating between "start" and "end" with effect easing
+PASS text-align uses discrete animation when animating between "start" and "end" with keyframe easing
+PASS text-decoration-color (type: color) has testInterpolation function
+FAIL text-decoration-color supports animating as color of rgb() assert_equals: The value should be rgb(128, 0, 128) at 500ms expected "rgb(128, 0, 128)" but got "rgb(0, 0, 255)"
+FAIL text-decoration-color supports animating as color of #RGB assert_equals: The value should be rgb(128, 0, 128) at 500ms expected "rgb(128, 0, 128)" but got "rgb(0, 0, 255)"
+FAIL text-decoration-color supports animating as color of hsl() assert_equals: The value should be rgb(128, 0, 128) at 500ms expected "rgb(128, 0, 128)" but got "rgb(0, 0, 255)"
+FAIL text-decoration-color supports animating as color of #RGBa assert_equals: The value should be rgba(85, 0, 170, 0.6) at 500ms expected "rgba(85, 0, 170, 0.6)" but got "rgba(0, 0, 255, 0.8)"
+FAIL text-decoration-color supports animating as color of rgba() assert_equals: The value should be rgba(85, 0, 170, 0.6) at 500ms expected "rgba(85, 0, 170, 0.6)" but got "rgba(0, 0, 255, 0.8)"
+FAIL text-decoration-color supports animating as color of hsla() assert_equals: The value should be rgba(85, 0, 170, 0.6) at 500ms expected "rgba(85, 0, 170, 0.6)" but got "rgba(0, 0, 255, 0.8)"
+PASS text-decoration-line (type: discrete) has testInterpolation function
+PASS text-decoration-line uses discrete animation when animating between "underline" and "overline" with linear easing
+PASS text-decoration-line uses discrete animation when animating between "underline" and "overline" with effect easing
+PASS text-decoration-line uses discrete animation when animating between "underline" and "overline" with keyframe easing
+PASS text-decoration-style (type: discrete) has testInterpolation function
+PASS text-decoration-style uses discrete animation when animating between "solid" and "dotted" with linear easing
+PASS text-decoration-style uses discrete animation when animating between "solid" and "dotted" with effect easing
+PASS text-decoration-style uses discrete animation when animating between "solid" and "dotted" with keyframe easing
+PASS text-overflow (type: discrete) has testInterpolation function
+PASS text-overflow uses discrete animation when animating between "clip" and "ellipsis" with linear easing
+PASS text-overflow uses discrete animation when animating between "clip" and "ellipsis" with effect easing
+PASS text-overflow uses discrete animation when animating between "clip" and "ellipsis" with keyframe easing
</ins><span class="cx"> PASS text-shadow (type: textShadowList) has testInterpolation function
</span><span class="cx"> PASS text-shadow: from none to other
</span><span class="cx"> PASS text-shadow: from other to none
</span><span class="lines">@@ -66,6 +169,14 @@
</span><span class="cx"> PASS text-shadow: mismatched list length (from longer to shorter)
</span><span class="cx"> PASS text-shadow: mismatched list length (from shorter to longer)
</span><span class="cx"> PASS text-shadow: with currentcolor
</span><ins>+PASS text-transform (type: discrete) has testInterpolation function
+PASS text-transform uses discrete animation when animating between "capitalize" and "uppercase" with linear easing
+PASS text-transform uses discrete animation when animating between "capitalize" and "uppercase" with effect easing
+PASS text-transform uses discrete animation when animating between "capitalize" and "uppercase" with keyframe easing
+PASS touch-action (type: discrete) has testInterpolation function
+PASS touch-action uses discrete animation when animating between "auto" and "none" with linear easing
+PASS touch-action uses discrete animation when animating between "auto" and "none" with effect easing
+PASS touch-action uses discrete animation when animating between "auto" and "none" with keyframe easing
</ins><span class="cx"> PASS transform (type: transformList) has testInterpolation function
</span><span class="cx"> PASS transform: translate
</span><span class="cx"> PASS transform: rotate
</span><span class="lines">@@ -85,6 +196,14 @@
</span><span class="cx"> FAIL transform: non-invertible matrices in matched transform lists assert_approx_equals: expected matrix(0, -1, 1, 0, 250, 0) but got matrix(-0.229966, -0.692507, 0.329012, -0.3263, 162.600147, 62.44985): The value should be matrix(0, -1, 1, 0, 250, 0) at 499ms but got matrix(-0.229966, -0.692507, 0.329012, -0.3263, 162.600147, 62.44985) expected 0 +/- 0.0001 but got -0.229966
</span><span class="cx"> FAIL transform: non-invertible matrices in mismatched transform lists assert_approx_equals: expected matrix(-2, 0, 0, -2, 250, 0) but got matrix(0.457235, 1.576158, -1.117609, -0.657221, 112.65025, 49.9): The value should be matrix(-2, 0, 0, -2, 250, 0) at 499ms but got matrix(0.457235, 1.576158, -1.117609, -0.657221, 112.65025, 49.9) expected -2 +/- 0.0001 but got 0.457235
</span><span class="cx"> PASS transform: perspective
</span><ins>+PASS transform-box (type: discrete) has testInterpolation function
+PASS transform-box uses discrete animation when animating between "fill-box" and "border-box" with linear easing
+PASS transform-box uses discrete animation when animating between "fill-box" and "border-box" with effect easing
+PASS transform-box uses discrete animation when animating between "fill-box" and "border-box" with keyframe easing
+PASS transform-style (type: discrete) has testInterpolation function
+PASS transform-style uses discrete animation when animating between "flat" and "preserve-3d" with linear easing
+PASS transform-style uses discrete animation when animating between "flat" and "preserve-3d" with effect easing
+PASS transform-style uses discrete animation when animating between "flat" and "preserve-3d" with keyframe easing
</ins><span class="cx"> PASS rotate (type: rotateList) has testInterpolation function
</span><span class="cx"> PASS rotate without rotation axes
</span><span class="cx"> FAIL rotate with rotation axes assert_equals: The value should be y 45deg at 500ms expected "y 45deg" but got "0 1 0 45deg"
</span><span class="lines">@@ -104,6 +223,14 @@
</span><span class="cx"> PASS visibility uses visibility animation when animating from "hidden" to "visible"
</span><span class="cx"> FAIL visibility uses visibility animation when animating from "hidden" to "collapse" assert_equals: The value should be hidden at 0ms expected "hidden" but got "collapse"
</span><span class="cx"> PASS visibility uses visibility animation when animating from "visible" to "hidden" with easeInOutBack easing
</span><ins>+PASS white-space (type: discrete) has testInterpolation function
+PASS white-space uses discrete animation when animating between "pre" and "nowrap" with linear easing
+PASS white-space uses discrete animation when animating between "pre" and "nowrap" with effect easing
+PASS white-space uses discrete animation when animating between "pre" and "nowrap" with keyframe easing
+PASS word-break (type: discrete) has testInterpolation function
+PASS word-break uses discrete animation when animating between "keep-all" and "break-all" with linear easing
+PASS word-break uses discrete animation when animating between "keep-all" and "break-all" with effect easing
+PASS word-break uses discrete animation when animating between "keep-all" and "break-all" with keyframe easing
</ins><span class="cx"> PASS word-spacing (type: lengthPercentageOrCalc) has testInterpolation function
</span><span class="cx"> PASS word-spacing supports animating as a length
</span><span class="cx"> PASS word-spacing supports animating as a length of rem
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/Source/WebCore/ChangeLog      2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1,3 +1,34 @@
</span><ins>+2020-11-13  Antoine Quint  <graouts@webkit.org>
+
+        Add support for discrete animations of many CSS properties
+        https://bugs.webkit.org/show_bug.cgi?id=218902
+
+        Reviewed by Antti Koivisto.
+
+        Add support for discrete animation of the following properties:
+
+        -webkit-backface-visibility, -webkit-box-decoration-break, -webkit-hyphens, -webkit-initial-letter,
+        -webkit-print-color-adjust, -webkit-ruby-position, -webkit-text-emphasis-color, -webkit-text-emphasis-position,
+        border-bottom-style, border-collapse, border-left-style, border-right-style, border-top-style, box-sizing,
+        caption-side, clear, column-fill, column-rule-style, column-rule-style, cursor, empty-cells, flex-direction,
+        flex-wrap, float, grid-auto-columns, grid-auto-flow, grid-auto-rows, grid-column-end, grid-column-start,
+        grid-row-end, grid-row-start, image-orientation, isolation, justify-content, justify-items, justify-self,
+        list-style-position, list-style-type, mix-blend-mode, object-fit, outline-style, overflow-wrap, overflow-x,
+        overflow-y, page-break-after, page-break-before, page-break-inside, paint-order, pointer-events, position,
+        resize, table-layout, text-align, text-decoration-color, text-decoration-line, text-decoration-style,
+        text-overflow, text-transform, touch-action, transform-box, transform-style, white-space, word-break.
+
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * animation/CSSPropertyAnimation.cpp:
+        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
+        * rendering/style/GridPosition.cpp:
+        (WebCore::operator<<):
+        * rendering/style/GridPosition.h:
+        * rendering/style/GridTrackSize.cpp: Added.
+        (WebCore::operator<<):
+        * rendering/style/GridTrackSize.h:
+
</ins><span class="cx"> 2020-11-13  Sihui Liu  <sihui_liu@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Implement basic permission check for SpeechRecognition
</span></span></pre></div>
<a id="trunkSourceWebCoreSourcestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Sources.txt (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Sources.txt 2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/Source/WebCore/Sources.txt    2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -2292,6 +2292,7 @@
</span><span class="cx"> rendering/style/GapLength.cpp
</span><span class="cx"> rendering/style/GridPosition.cpp
</span><span class="cx"> rendering/style/GridPositionsResolver.cpp
</span><ins>+rendering/style/GridTrackSize.cpp
</ins><span class="cx"> rendering/style/KeyframeList.cpp
</span><span class="cx"> rendering/style/NinePieceImage.cpp
</span><span class="cx"> rendering/style/QuotesData.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj   2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj      2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -9963,6 +9963,7 @@
</span><span class="cx">          71EFCEDE202B39C700D7C411 /* JSAnimationEffectCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAnimationEffectCustom.cpp; sourceTree = "<group>"; };
</span><span class="cx">          71F05F7E2512440C0071E693 /* CSSPropertyAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSPropertyAnimation.h; sourceTree = "<group>"; };
</span><span class="cx">          71F05F7F2512440D0071E693 /* CSSPropertyAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSPropertyAnimation.cpp; sourceTree = "<group>"; };
</span><ins>+               71F6EE41255EDF9C00FC4C5B /* GridTrackSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridTrackSize.cpp; sourceTree = "<group>"; };
</ins><span class="cx">           71F936F71DD4F99B00922CC7 /* tracks-support.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "tracks-support.js"; sourceTree = "<group>"; };
</span><span class="cx">          71FF851822A3F81F005D5959 /* NavigatorMaxTouchPoints.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NavigatorMaxTouchPoints.idl; sourceTree = "<group>"; };
</span><span class="cx">          721443452240C8BA00F12FF7 /* SVGAnimatedValueProperty.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedValueProperty.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -26847,6 +26848,7 @@
</span><span class="cx">                          A12705C21656BD6500C2E27C /* GridPosition.h */,
</span><span class="cx">                          CDF7483C18FEBCEC0006ECC0 /* GridPositionsResolver.cpp */,
</span><span class="cx">                          CDF7483D18FEBCEC0006ECC0 /* GridPositionsResolver.h */,
</span><ins>+                               71F6EE41255EDF9C00FC4C5B /* GridTrackSize.cpp */,
</ins><span class="cx">                           A12A104E166444DC008FA311 /* GridTrackSize.h */,
</span><span class="cx">                          BC5EBA0E0E823E4700B25965 /* KeyframeList.cpp */,
</span><span class="cx">                          BC5EBA0F0E823E4700B25965 /* KeyframeList.h */,
</span></span></pre></div>
<a id="trunkSourceWebCoreanimationCSSPropertyAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp  2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp     2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -1900,9 +1900,88 @@
</span><span class="cx">         new PropertyWrapper<float>(CSSPropertyFlexShrink, &RenderStyle::flexShrink, &RenderStyle::setFlexShrink),
</span><span class="cx">         new PropertyWrapper<int>(CSSPropertyOrder, &RenderStyle::order, &RenderStyle::setOrder),
</span><span class="cx"> 
</span><ins>+        // FIXME: The following properties are currently not animatable but should be:
+        // background-attachment, background-blend-mode,background-clip, background-origin,
+        // background-repeat, border-image-repeat, clip-rule, color-interpolation,
+        // color-interpolation-filters, counter-increment, counter-reset, dominant-baseline,
+        // fill-rule, font-family, font-feature-settings, font-kerning, font-language-override,
+        // font-synthesis, font-variant-alternates, font-variant-caps, font-variant-east-asian,
+        // font-variant-ligatures, font-variant-numeric, font-variant-position, grid-template-areas,
+        // ime-mode, marker-end, marker-mid, marker-start, mask, mask-clip, mask-composite, mask-image,
+        // mask-mode, mask-origin, mask-repeat, mask-type, offset-distance, perspective-origin, quotes,
+        // ruby-align, scroll-behavior, shape-rendering, stroke-linecap, stroke-linejoin, text-align-last,
+        // text-anchor, text-emphasis-style, text-rendering, vector-effect
</ins><span class="cx">         new DiscretePropertyWrapper<const StyleContentAlignmentData&>(CSSPropertyAlignContent, &RenderStyle::alignContent, &RenderStyle::setAlignContent),
</span><span class="cx">         new DiscretePropertyWrapper<const StyleSelfAlignmentData&>(CSSPropertyAlignItems, &RenderStyle::alignItems, &RenderStyle::setAlignItems),
</span><span class="cx">         new DiscretePropertyWrapper<const StyleSelfAlignmentData&>(CSSPropertyAlignSelf, &RenderStyle::alignSelf, &RenderStyle::setAlignSelf),
</span><ins>+        new DiscretePropertyWrapper<BackfaceVisibility>(CSSPropertyWebkitBackfaceVisibility, &RenderStyle::backfaceVisibility, &RenderStyle::setBackfaceVisibility),
+        new DiscretePropertyWrapper<BorderStyle>(CSSPropertyBorderBottomStyle, &RenderStyle::borderBottomStyle, &RenderStyle::setBorderBottomStyle),
+        new DiscretePropertyWrapper<BorderCollapse>(CSSPropertyBorderCollapse, &RenderStyle::borderCollapse, &RenderStyle::setBorderCollapse),
+        new DiscretePropertyWrapper<BorderStyle>(CSSPropertyBorderLeftStyle, &RenderStyle::borderLeftStyle, &RenderStyle::setBorderLeftStyle),
+        new DiscretePropertyWrapper<BorderStyle>(CSSPropertyBorderRightStyle, &RenderStyle::borderRightStyle, &RenderStyle::setBorderRightStyle),
+        new DiscretePropertyWrapper<BorderStyle>(CSSPropertyBorderTopStyle, &RenderStyle::borderTopStyle, &RenderStyle::setBorderTopStyle),
+        new DiscretePropertyWrapper<BoxSizing>(CSSPropertyBoxSizing, &RenderStyle::boxSizing, &RenderStyle::setBoxSizing),
+        new DiscretePropertyWrapper<CaptionSide>(CSSPropertyCaptionSide, &RenderStyle::captionSide, &RenderStyle::setCaptionSide),
+        new DiscretePropertyWrapper<Clear>(CSSPropertyClear, &RenderStyle::clear, &RenderStyle::setClear),
+        new DiscretePropertyWrapper<PrintColorAdjust>(CSSPropertyWebkitPrintColorAdjust, &RenderStyle::printColorAdjust, &RenderStyle::setPrintColorAdjust),
+        new DiscretePropertyWrapper<ColumnFill>(CSSPropertyColumnFill, &RenderStyle::columnFill, &RenderStyle::setColumnFill),
+        new DiscretePropertyWrapper<BorderStyle>(CSSPropertyColumnRuleStyle, &RenderStyle::columnRuleStyle, &RenderStyle::setColumnRuleStyle),
+        new DiscretePropertyWrapper<BorderStyle>(CSSPropertyColumnRuleStyle, &RenderStyle::columnRuleStyle, &RenderStyle::setColumnRuleStyle),
+        new DiscretePropertyWrapper<CursorType>(CSSPropertyCursor, &RenderStyle::cursor, &RenderStyle::setCursor),
+        new DiscretePropertyWrapper<EmptyCell>(CSSPropertyEmptyCells, &RenderStyle::emptyCells, &RenderStyle::setEmptyCells),
+        new DiscretePropertyWrapper<FlexDirection>(CSSPropertyFlexDirection, &RenderStyle::flexDirection, &RenderStyle::setFlexDirection),
+        new DiscretePropertyWrapper<FlexWrap>(CSSPropertyFlexWrap, &RenderStyle::flexWrap, &RenderStyle::setFlexWrap),
+        new DiscretePropertyWrapper<Float>(CSSPropertyFloat, &RenderStyle::floating, &RenderStyle::setFloating),
+        new DiscretePropertyWrapper<const Vector<GridTrackSize>&>(CSSPropertyGridAutoColumns, &RenderStyle::gridAutoColumns, &RenderStyle::setGridAutoColumns),
+        new DiscretePropertyWrapper<GridAutoFlow>(CSSPropertyGridAutoFlow, &RenderStyle::gridAutoFlow, &RenderStyle::setGridAutoFlow),
+        new DiscretePropertyWrapper<const Vector<GridTrackSize>&>(CSSPropertyGridAutoRows, &RenderStyle::gridAutoRows, &RenderStyle::setGridAutoRows),
+        new DiscretePropertyWrapper<const GridPosition&>(CSSPropertyGridColumnEnd, &RenderStyle::gridItemColumnEnd, &RenderStyle::setGridItemColumnEnd),
+        new DiscretePropertyWrapper<const GridPosition&>(CSSPropertyGridColumnStart, &RenderStyle::gridItemColumnStart, &RenderStyle::setGridItemColumnStart),
+        new DiscretePropertyWrapper<const GridPosition&>(CSSPropertyGridRowEnd, &RenderStyle::gridItemRowEnd, &RenderStyle::setGridItemRowEnd),
+        new DiscretePropertyWrapper<const GridPosition&>(CSSPropertyGridRowStart, &RenderStyle::gridItemRowStart, &RenderStyle::setGridItemRowStart),
+        new DiscretePropertyWrapper<Hyphens>(CSSPropertyWebkitHyphens, &RenderStyle::hyphens, &RenderStyle::setHyphens),
+        new DiscretePropertyWrapper<ImageOrientation>(CSSPropertyImageOrientation, &RenderStyle::imageOrientation, &RenderStyle::setImageOrientation),
+        new DiscretePropertyWrapper<const IntSize&>(CSSPropertyWebkitInitialLetter, &RenderStyle::initialLetter, &RenderStyle::setInitialLetter),
+        new DiscretePropertyWrapper<const StyleContentAlignmentData&>(CSSPropertyJustifyContent, &RenderStyle::justifyContent, &RenderStyle::setJustifyContent),
+        new DiscretePropertyWrapper<const StyleSelfAlignmentData&>(CSSPropertyJustifyItems, &RenderStyle::justifyItems, &RenderStyle::setJustifyItems),
+        new DiscretePropertyWrapper<const StyleSelfAlignmentData&>(CSSPropertyJustifySelf, &RenderStyle::justifySelf, &RenderStyle::setJustifySelf),
+        new DiscretePropertyWrapper<ListStylePosition>(CSSPropertyListStylePosition, &RenderStyle::listStylePosition, &RenderStyle::setListStylePosition),
+        new DiscretePropertyWrapper<ListStyleType>(CSSPropertyListStyleType, &RenderStyle::listStyleType, &RenderStyle::setListStyleType),
+        new DiscretePropertyWrapper<ObjectFit>(CSSPropertyObjectFit, &RenderStyle::objectFit, &RenderStyle::setObjectFit),
+        new DiscretePropertyWrapper<BorderStyle>(CSSPropertyOutlineStyle, &RenderStyle::outlineStyle, &RenderStyle::setOutlineStyle),
+        new DiscretePropertyWrapper<OverflowWrap>(CSSPropertyOverflowWrap, &RenderStyle::overflowWrap, &RenderStyle::setOverflowWrap),
+        new DiscretePropertyWrapper<Overflow>(CSSPropertyOverflowX, &RenderStyle::overflowX, &RenderStyle::setOverflowX),
+        new DiscretePropertyWrapper<Overflow>(CSSPropertyOverflowY, &RenderStyle::overflowY, &RenderStyle::setOverflowY),
+        new DiscretePropertyWrapper<BreakBetween>(CSSPropertyPageBreakAfter, &RenderStyle::breakAfter, &RenderStyle::setBreakAfter),
+        new DiscretePropertyWrapper<BreakBetween>(CSSPropertyPageBreakBefore, &RenderStyle::breakBefore, &RenderStyle::setBreakBefore),
+        new DiscretePropertyWrapper<BreakInside>(CSSPropertyPageBreakInside, &RenderStyle::breakInside, &RenderStyle::setBreakInside),
+        new DiscretePropertyWrapper<PaintOrder>(CSSPropertyPaintOrder, &RenderStyle::paintOrder, &RenderStyle::setPaintOrder),
+        new DiscretePropertyWrapper<PointerEvents>(CSSPropertyPointerEvents, &RenderStyle::pointerEvents, &RenderStyle::setPointerEvents),
+        new DiscretePropertyWrapper<PositionType>(CSSPropertyPosition, &RenderStyle::position, &RenderStyle::setPosition),
+        new DiscretePropertyWrapper<Resize>(CSSPropertyResize, &RenderStyle::resize, &RenderStyle::setResize),
+        new DiscretePropertyWrapper<RubyPosition>(CSSPropertyWebkitRubyPosition, &RenderStyle::rubyPosition, &RenderStyle::setRubyPosition),
+        new DiscretePropertyWrapper<TableLayoutType>(CSSPropertyTableLayout, &RenderStyle::tableLayout, &RenderStyle::setTableLayout),
+        new DiscretePropertyWrapper<TextAlignMode>(CSSPropertyTextAlign, &RenderStyle::textAlign, &RenderStyle::setTextAlign),
+        new DiscretePropertyWrapper<const Color&>(CSSPropertyTextDecorationColor, &RenderStyle::textDecorationColor, &RenderStyle::setTextDecorationColor),
+        new DiscretePropertyWrapper<OptionSet<TextDecoration>>(CSSPropertyTextDecorationLine, &RenderStyle::textDecoration, &RenderStyle::setTextDecoration),
+        new DiscretePropertyWrapper<TextDecorationStyle>(CSSPropertyTextDecorationStyle, &RenderStyle::textDecorationStyle, &RenderStyle::setTextDecorationStyle),
+        new DiscretePropertyWrapper<const Color&>(CSSPropertyWebkitTextEmphasisColor, &RenderStyle::textEmphasisColor, &RenderStyle::setTextEmphasisColor),
+        new DiscretePropertyWrapper<OptionSet<TextEmphasisPosition>>(CSSPropertyWebkitTextEmphasisPosition, &RenderStyle::textEmphasisPosition, &RenderStyle::setTextEmphasisPosition),
+        new DiscretePropertyWrapper<TextOverflow>(CSSPropertyTextOverflow, &RenderStyle::textOverflow, &RenderStyle::setTextOverflow),
+        new DiscretePropertyWrapper<OptionSet<TouchAction>>(CSSPropertyTouchAction, &RenderStyle::touchActions, &RenderStyle::setTouchActions),
+        new DiscretePropertyWrapper<TextTransform>(CSSPropertyTextTransform, &RenderStyle::textTransform, &RenderStyle::setTextTransform),
+        new DiscretePropertyWrapper<TransformBox>(CSSPropertyTransformBox, &RenderStyle::transformBox, &RenderStyle::setTransformBox),
+        new DiscretePropertyWrapper<TransformStyle3D>(CSSPropertyTransformStyle, &RenderStyle::transformStyle3D, &RenderStyle::setTransformStyle3D),
+        new DiscretePropertyWrapper<WhiteSpace>(CSSPropertyWhiteSpace, &RenderStyle::whiteSpace, &RenderStyle::setWhiteSpace),
+        new DiscretePropertyWrapper<WordBreak>(CSSPropertyWordBreak, &RenderStyle::wordBreak, &RenderStyle::setWordBreak),
+
+#if ENABLE(CSS_BOX_DECORATION_BREAK)
+        new DiscretePropertyWrapper<BoxDecorationBreak>(CSSPropertyWebkitBoxDecorationBreak, &RenderStyle::boxDecorationBreak, &RenderStyle::setBoxDecorationBreak),
+#endif
+#if ENABLE(CSS_COMPOSITING)
+        new DiscretePropertyWrapper<Isolation>(CSSPropertyIsolation, &RenderStyle::isolation, &RenderStyle::setIsolation),
+        new DiscretePropertyWrapper<BlendMode>(CSSPropertyMixBlendMode, &RenderStyle::blendMode, &RenderStyle::setBlendMode),
+#endif
</ins><span class="cx">     };
</span><span class="cx">     const unsigned animatableLonghandPropertiesCount = WTF_ARRAY_LENGTH(animatableLonghandPropertyWrappers);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleGridPositioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/GridPosition.cpp (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/GridPosition.cpp    2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/Source/WebCore/rendering/style/GridPosition.cpp       2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -103,4 +103,19 @@
</span><span class="cx">     gMaxPositionForTesting = static_cast<int>(maxPosition);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+TextStream& operator<<(TextStream& ts, const GridPosition& o)
+{
+    switch (o.type()) {
+    case AutoPosition:
+        return ts << "auto";
+    case ExplicitPosition:
+        return ts << o.namedGridLine() << " " << o.integerPosition();
+    case SpanPosition:
+        return ts << "span" << " " << o.namedGridLine() << " " << o.integerPosition();
+    case NamedGridAreaPosition:
+        return ts << o.namedGridLine();
+    }
+    return ts;
+}
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleGridPositionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/GridPosition.h (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/GridPosition.h      2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/Source/WebCore/rendering/style/GridPosition.h 2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -94,4 +94,6 @@
</span><span class="cx">     String m_namedGridLine;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+WTF::TextStream& operator<<(WTF::TextStream&, const GridPosition&);
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleGridTrackSizecpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/rendering/style/GridTrackSize.cpp (0 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/GridTrackSize.cpp                           (rev 0)
+++ trunk/Source/WebCore/rendering/style/GridTrackSize.cpp      2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GridTrackSize.h"
+
+#include <wtf/text/TextStream.h>
+
+namespace WebCore {
+
+TextStream& operator<<(TextStream& ts, const GridTrackSize& o)
+{
+    // FIXME: this should be expanded to use the other class members.
+    switch (o.type()) {
+    case LengthTrackSizing:
+        return ts << "size";
+    case MinMaxTrackSizing:
+        return ts << "minmax()";
+    case FitContentTrackSizing:
+        return ts << "fit-content()";
+    }
+    return ts;
+}
+
+}
+
</ins></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleGridTrackSizeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/GridTrackSize.h (269811 => 269812)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/GridTrackSize.h     2020-11-14 04:04:26 UTC (rev 269811)
+++ trunk/Source/WebCore/rendering/style/GridTrackSize.h        2020-11-14 08:52:49 UTC (rev 269812)
</span><span class="lines">@@ -143,4 +143,6 @@
</span><span class="cx">     bool m_maxTrackBreadthIsFixed : 1;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+WTF::TextStream& operator<<(WTF::TextStream&, const GridTrackSize&);
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre>
</div>
</div>

</body>
</html>