<!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>[203557] branches/safari-602-branch</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/203557">203557</a></dd>
<dt>Author</dt> <dd>bshafiei@apple.com</dd>
<dt>Date</dt> <dd>2016-07-22 02:25:06 -0700 (Fri, 22 Jul 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/203380">r203380</a>. rdar://problem/27391725</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari602branchLayoutTestsChangeLog">branches/safari-602-branch/LayoutTests/ChangeLog</a></li>
<li><a href="#branchessafari602branchLayoutTestsanimationsfillmodeforwardszerodurationhtml">branches/safari-602-branch/LayoutTests/animations/fill-mode-forwards-zero-duration.html</a></li>
<li><a href="#branchessafari602branchLayoutTestsanimationsplaystatestartpausedhtml">branches/safari-602-branch/LayoutTests/animations/play-state-start-paused.html</a></li>
<li><a href="#branchessafari602branchLayoutTestsanimationsscripttestsspringparsingjs">branches/safari-602-branch/LayoutTests/animations/script-tests/spring-parsing.js</a></li>
<li><a href="#branchessafari602branchLayoutTestsanimationsspringparsingexpectedtxt">branches/safari-602-branch/LayoutTests/animations/spring-parsing-expected.txt</a></li>
<li><a href="#branchessafari602branchLayoutTestsanimationsunprefixedpropertiesexpectedtxt">branches/safari-602-branch/LayoutTests/animations/unprefixed-properties-expected.txt</a></li>
<li><a href="#branchessafari602branchLayoutTestsanimationsunprefixedpropertieshtml">branches/safari-602-branch/LayoutTests/animations/unprefixed-properties.html</a></li>
<li><a href="#branchessafari602branchLayoutTestsfastcssprefixedunprefixedvariantstyledeclarationexpectedtxt">branches/safari-602-branch/LayoutTests/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt</a></li>
<li><a href="#branchessafari602branchLayoutTestsfastcssshorthandomittedinitialvalueoverridesshorthandexpectedtxt">branches/safari-602-branch/LayoutTests/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt</a></li>
<li><a href="#branchessafari602branchSourceWebCoreChangeLog">branches/safari-602-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari602branchSourceWebCorecssCSSParsercpp">branches/safari-602-branch/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#branchessafari602branchSourceWebCorecssCSSPropertyNamesin">branches/safari-602-branch/Source/WebCore/css/CSSPropertyNames.in</a></li>
<li><a href="#branchessafari602branchSourceWebCorecssPropertySetCSSStyleDeclarationcpp">branches/safari-602-branch/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp</a></li>
<li><a href="#branchessafari602branchSourceWebCorecssStylePropertiescpp">branches/safari-602-branch/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#branchessafari602branchSourceWebCorecssStylePropertiesh">branches/safari-602-branch/Source/WebCore/css/StyleProperties.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari602branchLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/ChangeLog (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/ChangeLog        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/ChangeLog        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -1,3 +1,30 @@
</span><ins>+2016-07-22 Babak Shafiei <bshafiei@apple.com>
+
+ Merge r203380. rdar://problem/27391725
+
+ 2016-07-18 Dean Jackson <dino@apple.com>
+
+ REGRESSION (r202950): Image zoom animations are broken at medium.com (159861)
+ https://bugs.webkit.org/show_bug.cgi?id=159906
+ <rdar://problem/27391725>
+
+ Reviewed by Simon Fraser.
+
+ The fix for webkit.org/b/157569 in r200769 broke AMP pages.
+ The followup fix for webkit.org/b/159450 in r202950 broke Medium pages.
+
+ Revert them both until we have better testing.
+
+ * animations/fill-mode-forwards-zero-duration.html:
+ * animations/play-state-start-paused.html:
+ * animations/script-tests/spring-parsing.js:
+ (testSpring):
+ * animations/spring-parsing-expected.txt:
+ * animations/unprefixed-properties-expected.txt:
+ * animations/unprefixed-properties.html:
+ * fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt:
+ * fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt:
+
</ins><span class="cx"> 2016-07-21 Ryan Haddad <ryanhaddad@apple.com>
</span><span class="cx">
</span><span class="cx"> Merge r203506. rdar://problem/27353750
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsanimationsfillmodeforwardszerodurationhtml"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/animations/fill-mode-forwards-zero-duration.html (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/animations/fill-mode-forwards-zero-duration.html        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/animations/fill-mode-forwards-zero-duration.html        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -9,7 +9,8 @@
</span><span class="cx"> height: 100px;
</span><span class="cx"> width: 100px;
</span><span class="cx"> background-color: blue;
</span><del>- animation: anim1 0 2s linear forwards;
</del><ins>+ animation-fill-mode: forwards;
+ animation: anim1 0 2s linear;
</ins><span class="cx"> }
</span><span class="cx"> @keyframes anim1 {
</span><span class="cx"> from { left: 400px; }
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsanimationsplaystatestartpausedhtml"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/animations/play-state-start-paused.html (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/animations/play-state-start-paused.html        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/animations/play-state-start-paused.html        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -13,6 +13,8 @@
</span><span class="cx"> width: 100px;
</span><span class="cx"> height: 100px;
</span><span class="cx"> background-color: green;
</span><ins>+ animation-delay: -0.5s;
+ animation-play-state: paused;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> /* For manual testing. */
</span><span class="lines">@@ -21,11 +23,11 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> .mover {
</span><del>- animation: move 1s linear -0.5s paused;
</del><ins>+ animation: move 1s linear;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> .slider {
</span><del>- animation: slide 1s linear -0.5s paused;
</del><ins>+ animation: slide 1s linear;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> @keyframes move {
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsanimationsscripttestsspringparsingjs"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/animations/script-tests/spring-parsing.js (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/animations/script-tests/spring-parsing.js        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/animations/script-tests/spring-parsing.js        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- shouldBe("declaration.length", "1");
</del><ins>+ shouldBe("declaration.length", "2");
</ins><span class="cx"> shouldBe("declaration.getPropertyValue('transition-timing-function')", "'" + expectedValue + "'");
</span><span class="cx">
</span><span class="cx"> propertyValue = declaration.getPropertyCSSValue("transition-timing-function");
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsanimationsspringparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/animations/spring-parsing-expected.txt (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/animations/spring-parsing-expected.txt        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/animations/spring-parsing-expected.txt        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -9,37 +9,37 @@
</span><span class="cx">
</span><span class="cx"> Basic : spring(1 100 10 0)
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 10 0)'
</span><span class="cx"> PASS propertyValue.cssText is 'spring(1 100 10 0)'
</span><span class="cx">
</span><span class="cx"> Negative Velocity : spring(1 100 10 -10)
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 10 -10)'
</span><span class="cx"> PASS propertyValue.cssText is 'spring(1 100 10 -10)'
</span><span class="cx">
</span><span class="cx"> Positive Velocity : spring(1 100 10 10)
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 10 10)'
</span><span class="cx"> PASS propertyValue.cssText is 'spring(1 100 10 10)'
</span><span class="cx">
</span><span class="cx"> Zero Damping : spring(1 100 0 10)
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 0 10)'
</span><span class="cx"> PASS propertyValue.cssText is 'spring(1 100 0 10)'
</span><span class="cx">
</span><span class="cx"> Minimum Values : spring(1 1 0 -999999)
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 1 0 -999999)'
</span><span class="cx"> PASS propertyValue.cssText is 'spring(1 1 0 -999999)'
</span><span class="cx">
</span><span class="cx"> Floating Point Values : spring(1.5 2.3 3.7 -1.8)
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1.5 2.3 3.7 -1.8)'
</span><span class="cx"> PASS propertyValue.cssText is 'spring(1.5 2.3 3.7 -1.8)'
</span><span class="cx">
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsanimationsunprefixedpropertiesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/animations/unprefixed-properties-expected.txt (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/animations/unprefixed-properties-expected.txt        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/animations/unprefixed-properties-expected.txt        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -6,13 +6,13 @@
</span><span class="cx">
</span><span class="cx"> Parsing - Basic animation-name : waldo
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-name') is 'waldo'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-name') is 'waldo'
</span><span class="cx">
</span><span class="cx"> Parsing - Multiple animation-names : waldo, wally
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-name') is 'waldo, wally'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-name') is 'waldo, wally'
</span><span class="cx"> PASS subRule.cssText is 'waldo'
</span><span class="lines">@@ -20,13 +20,13 @@
</span><span class="cx">
</span><span class="cx"> Parsing - Basic animation-duration : 5s
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-duration') is '5s'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-duration') is '5s'
</span><span class="cx">
</span><span class="cx"> Parsing - Multiple animation-durations : 10s, 20ms
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-duration') is '10s, 20ms'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-duration') is '10s, 20ms'
</span><span class="cx"> PASS subRule.cssText is '10s'
</span><span class="lines">@@ -34,13 +34,13 @@
</span><span class="cx">
</span><span class="cx"> Parsing - Basic animation-delay : 5s
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-delay') is '5s'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-delay') is '5s'
</span><span class="cx">
</span><span class="cx"> Parsing - Multiple animation-delays : 10s, 20ms
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-delay') is '10s, 20ms'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-delay') is '10s, 20ms'
</span><span class="cx"> PASS subRule.cssText is '10s'
</span><span class="lines">@@ -48,19 +48,19 @@
</span><span class="cx">
</span><span class="cx"> Parsing - Basic animation-timing-function : ease-in-out
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-timing-function') is 'ease-in-out'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-timing-function') is 'ease-in-out'
</span><span class="cx">
</span><span class="cx"> Parsing - animation-timing-function with bezier : cubic-bezier(0.2, 0.3, 0.4, 0.5)
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-timing-function') is 'cubic-bezier(0.2, 0.3, 0.4, 0.5)'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-timing-function') is 'cubic-bezier(0.2, 0.3, 0.4, 0.5)'
</span><span class="cx">
</span><span class="cx"> Parsing - Multiple animation-timing-functions : ease-in, ease-out
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-timing-function') is 'ease-in, ease-out'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-timing-function') is 'ease-in, ease-out'
</span><span class="cx"> PASS subRule.cssText is 'ease-in'
</span><span class="lines">@@ -68,19 +68,19 @@
</span><span class="cx">
</span><span class="cx"> Parsing - Basic animation-iteration-count : 4
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-iteration-count') is '4'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-iteration-count') is '4'
</span><span class="cx">
</span><span class="cx"> Parsing - animation-iteration-count with keyword : infinite
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-iteration-count') is 'infinite'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-iteration-count') is 'infinite'
</span><span class="cx">
</span><span class="cx"> Parsing - Multiple animation-iteration-counts : 2, infinite, 4
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-iteration-count') is '2, infinite, 4'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-iteration-count') is '2, infinite, 4'
</span><span class="cx"> PASS subRule.cssText is '2'
</span><span class="lines">@@ -89,31 +89,31 @@
</span><span class="cx">
</span><span class="cx"> Parsing - Normal animation-direction : normal
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-direction') is 'normal'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-direction') is 'normal'
</span><span class="cx">
</span><span class="cx"> Parsing - Alternate animation-direction : alternate
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-direction') is 'alternate'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-direction') is 'alternate'
</span><span class="cx">
</span><span class="cx"> Parsing - Reverse animation-direction : reverse
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-direction') is 'reverse'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-direction') is 'reverse'
</span><span class="cx">
</span><span class="cx"> Parsing - Alternate Reverse animation-direction : alternate-reverse
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-direction') is 'alternate-reverse'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-direction') is 'alternate-reverse'
</span><span class="cx">
</span><span class="cx"> Parsing - Multiple animation-directions : alternate, alternate, normal
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-direction') is 'alternate, alternate, normal'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-direction') is 'alternate, alternate, normal'
</span><span class="cx"> PASS subRule.cssText is 'alternate'
</span><span class="lines">@@ -122,31 +122,31 @@
</span><span class="cx">
</span><span class="cx"> Parsing - None animation-fill-mode : none
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-fill-mode') is 'none'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'none'
</span><span class="cx">
</span><span class="cx"> Parsing - Forwards animation-fill-mode : forwards
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-fill-mode') is 'forwards'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'forwards'
</span><span class="cx">
</span><span class="cx"> Parsing - Backwards animation-fill-mode : backwards
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-fill-mode') is 'backwards'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'backwards'
</span><span class="cx">
</span><span class="cx"> Parsing - Both animation-fill-mode : both
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-fill-mode') is 'both'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'both'
</span><span class="cx">
</span><span class="cx"> Parsing - Multiple animation-fill-modes : none, forwards, backwards, both
</span><span class="cx"> PASS cssRule.type is 1
</span><del>-PASS declaration.length is 1
</del><ins>+PASS declaration.length is 2
</ins><span class="cx"> PASS declaration.getPropertyValue('animation-fill-mode') is 'none, forwards, backwards, both'
</span><span class="cx"> PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'none, forwards, backwards, both'
</span><span class="cx"> PASS subRule.cssText is 'none'
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsanimationsunprefixedpropertieshtml"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/animations/unprefixed-properties.html (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/animations/unprefixed-properties.html        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/animations/unprefixed-properties.html        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> shouldBe("cssRule.type", "1");
</span><span class="cx">
</span><span class="cx"> declaration = cssRule.style;
</span><del>- shouldBe("declaration.length", "1");
</del><ins>+ shouldBe("declaration.length", "2"); // We set both the prefixed and unprefixed version.
</ins><span class="cx"> shouldBe("declaration.getPropertyValue('" + property + "')", "'" + value + "'");
</span><span class="cx"> shouldBe("declaration.getPropertyValue('-webkit-" + property + "')", "'" + value + "'");
</span><span class="cx">
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsfastcssprefixedunprefixedvariantstyledeclarationexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-property")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-property")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-property")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "transition-property: width;" but got "transition-property: width; -webkit-transition-property: width;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-transition-property" to "width"
</span><span class="cx"> PASS element.style.transitionProperty
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-property")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-property")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-property")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-transition-property: width;" but got "-webkit-transition-property: width; transition-property: width;"
</ins><span class="cx">
</span><span class="cx"> Setting "transition-duration" to "1s"
</span><span class="cx"> PASS element.style.transitionDuration
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-duration")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "transition-duration: 1s;" but got "transition-duration: 1s; -webkit-transition-duration: 1s;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-transition-duration" to "1s"
</span><span class="cx"> PASS element.style.transitionDuration
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-duration")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-transition-duration: 1s;" but got "-webkit-transition-duration: 1s; transition-duration: 1s;"
</ins><span class="cx">
</span><span class="cx"> Setting "transition-timing-function" to "linear"
</span><span class="cx"> PASS element.style.transitionTimingFunction
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-timing-function")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "transition-timing-function: linear;" but got "transition-timing-function: linear; -webkit-transition-timing-function: linear;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-transition-timing-function" to "linear"
</span><span class="cx"> PASS element.style.transitionTimingFunction
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-timing-function")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-transition-timing-function: linear;" but got "-webkit-transition-timing-function: linear; transition-timing-function: linear;"
</ins><span class="cx">
</span><span class="cx"> Setting "transition-delay" to "0.5s"
</span><span class="cx"> PASS element.style.transitionDelay
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-delay")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "transition-delay: 0.5s;" but got "transition-delay: 0.5s; -webkit-transition-delay: 0.5s;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-transition-delay" to "0.5s"
</span><span class="cx"> PASS element.style.transitionDelay
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-transition-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("transition-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-delay")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-transition-delay: 0.5s;" but got "-webkit-transition-delay: 0.5s; transition-delay: 0.5s;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-name" to "foo"
</span><span class="cx"> PASS element.style.animationName
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-name")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-name")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-name")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-name: foo;" but got "animation-name: foo; -webkit-animation-name: foo;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-name" to "foo"
</span><span class="cx"> PASS element.style.animationName
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-name")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-name")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-name")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-name: foo;" but got "-webkit-animation-name: foo; animation-name: foo;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-duration" to "1s"
</span><span class="cx"> PASS element.style.animationDuration
</span><span class="lines">@@ -166,7 +166,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-duration")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-duration: 1s;" but got "animation-duration: 1s; -webkit-animation-duration: 1s;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-duration" to "1s"
</span><span class="cx"> PASS element.style.animationDuration
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-duration")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-duration")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-duration: 1s;" but got "-webkit-animation-duration: 1s; animation-duration: 1s;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-timing-function" to "linear"
</span><span class="cx"> PASS element.style.animationTimingFunction
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-timing-function")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-timing-function: linear;" but got "animation-timing-function: linear; -webkit-animation-timing-function: linear;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-timing-function" to "linear"
</span><span class="cx"> PASS element.style.animationTimingFunction
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-timing-function")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-timing-function")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-timing-function: linear;" but got "-webkit-animation-timing-function: linear; animation-timing-function: linear;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-iteration-count" to "5"
</span><span class="cx"> PASS element.style.animationIterationCount
</span><span class="lines">@@ -226,7 +226,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-iteration-count")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-iteration-count")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-iteration-count")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-iteration-count: 5;" but got "animation-iteration-count: 5; -webkit-animation-iteration-count: 5;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-iteration-count" to "5"
</span><span class="cx"> PASS element.style.animationIterationCount
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-iteration-count")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-iteration-count")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-iteration-count")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-iteration-count: 5;" but got "-webkit-animation-iteration-count: 5; animation-iteration-count: 5;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-direction" to "reverse"
</span><span class="cx"> PASS element.style.animationDirection
</span><span class="lines">@@ -256,7 +256,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-direction")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-direction")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-direction")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-direction: reverse;" but got "animation-direction: reverse; -webkit-animation-direction: reverse;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-direction" to "reverse"
</span><span class="cx"> PASS element.style.animationDirection
</span><span class="lines">@@ -271,7 +271,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-direction")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-direction")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-direction")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-direction: reverse;" but got "-webkit-animation-direction: reverse; animation-direction: reverse;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-play-state" to "paused"
</span><span class="cx"> PASS element.style.animationPlayState
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-play-state")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-play-state")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-play-state")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-play-state: paused;" but got "animation-play-state: paused; -webkit-animation-play-state: paused;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-play-state" to "paused"
</span><span class="cx"> PASS element.style.animationPlayState
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-play-state")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-play-state")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-play-state")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-play-state: paused;" but got "-webkit-animation-play-state: paused; animation-play-state: paused;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-delay" to "0.5s"
</span><span class="cx"> PASS element.style.animationDelay
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-delay")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-delay: 0.5s;" but got "animation-delay: 0.5s; -webkit-animation-delay: 0.5s;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-delay" to "0.5s"
</span><span class="cx"> PASS element.style.animationDelay
</span><span class="lines">@@ -331,7 +331,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-delay")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-delay")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-delay: 0.5s;" but got "-webkit-animation-delay: 0.5s; animation-delay: 0.5s;"
</ins><span class="cx">
</span><span class="cx"> Setting "animation-fill-mode" to "forwards"
</span><span class="cx"> PASS element.style.animationFillMode
</span><span class="lines">@@ -346,7 +346,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-fill-mode")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-fill-mode")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-fill-mode")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "animation-fill-mode: forwards;" but got "animation-fill-mode: forwards; -webkit-animation-fill-mode: forwards;"
</ins><span class="cx">
</span><span class="cx"> Setting "-webkit-animation-fill-mode" to "forwards"
</span><span class="cx"> PASS element.style.animationFillMode
</span><span class="lines">@@ -361,7 +361,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue("-webkit-animation-fill-mode")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("animation-fill-mode")
</span><span class="cx"> PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-fill-mode")
</span><del>-PASS element.style.cssText
</del><ins>+FAIL expected element.style.cssText to be "-webkit-animation-fill-mode: forwards;" but got "-webkit-animation-fill-mode: forwards; animation-fill-mode: forwards;"
</ins><span class="cx">
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span></span></pre></div>
<a id="branchessafari602branchLayoutTestsfastcssshorthandomittedinitialvalueoverridesshorthandexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/LayoutTests/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/LayoutTests/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/LayoutTests/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -16,20 +16,20 @@
</span><span class="cx"> PASS transition-property
</span><span class="cx">
</span><span class="cx"> Animation properties
</span><del>-PASS animation-name
-PASS animation-duration
-PASS animation-timing-function
-PASS animation-iteration-count
-PASS animation-direction
-PASS animation-play-state
-PASS animation-delay
-PASS animation-fill-mode
</del><ins>+FAIL expected that setting "animation-name: foo; animation: 1s;" would compute animation-name to "none" but got "foo"
+FAIL expected that setting "animation-duration: 1s; animation: none;" would compute animation-duration to "0s" but got "1s"
+FAIL expected that setting "animation-timing-function: linear; animation: none;" would compute animation-timing-function to "ease" but got "linear"
+FAIL expected that setting "animation-iteration-count: 5; animation: none;" would compute animation-iteration-count to "1" but got "5"
+FAIL expected that setting "animation-direction: reverse; animation: none;" would compute animation-direction to "normal" but got "reverse"
+FAIL expected that setting "animation-play-state: paused; animation: none;" would compute animation-play-state to "running" but got "paused"
+FAIL expected that setting "animation-delay: 1s; animation: none;" would compute animation-delay to "0s" but got "1s"
+FAIL expected that setting "animation-fill-mode: forwards; animation: none;" would compute animation-fill-mode to "none" but got "forwards"
</ins><span class="cx">
</span><span class="cx"> Prefixed animation properties
</span><span class="cx"> PASS -webkit-animation-name
</span><del>-PASS animation-name
</del><ins>+FAIL expected that setting "-webkit-animation-name: foo; animation: none;" would compute animation-name to "none" but got "foo"
</ins><span class="cx"> PASS -webkit-animation-name
</span><del>-PASS animation-name
</del><ins>+FAIL expected that setting "animation-name: foo; animation: none;" would compute animation-name to "none" but got "foo"
</ins><span class="cx">
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/ChangeLog (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/ChangeLog        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/Source/WebCore/ChangeLog        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -1,5 +1,44 @@
</span><span class="cx"> 2016-07-22 Babak Shafiei <bshafiei@apple.com>
</span><span class="cx">
</span><ins>+ Merge r203380. rdar://problem/27391725
+
+ 2016-07-18 Dean Jackson <dino@apple.com>
+
+ REGRESSION (r202950): Image zoom animations are broken at medium.com (159861)
+ https://bugs.webkit.org/show_bug.cgi?id=159906
+ <rdar://problem/27391725>
+
+ Reviewed by Simon Fraser.
+
+ The fix for webkit.org/b/157569 in r200769 broke AMP pages.
+ The followup fix for webkit.org/b/159450 in r202950 broke Medium pages.
+
+ Revert them both until we have better testing.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::addPropertyWithPrefixingVariant):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseAnimationShorthand):
+ (WebCore::CSSParser::parseTransitionShorthand): Deleted.
+ * css/CSSPropertyNames.in:
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
+ * css/StyleProperties.cpp:
+ (WebCore::MutableStyleProperties::removeShorthandProperty):
+ (WebCore::MutableStyleProperties::removeProperty):
+ (WebCore::MutableStyleProperties::removePrefixedOrUnprefixedProperty):
+ (WebCore::MutableStyleProperties::setProperty):
+ (WebCore::getIndexInShorthandVectorForPrefixingVariant):
+ (WebCore::MutableStyleProperties::appendPrefixingVariantProperty):
+ (WebCore::MutableStyleProperties::setPrefixingVariantProperty):
+ (WebCore::StyleProperties::asText): Deleted.
+ * css/StyleProperties.h:
+
+2016-07-22 Babak Shafiei <bshafiei@apple.com>
+
</ins><span class="cx"> Merge r203362. rdar://problem/27371624
</span><span class="cx">
</span><span class="cx"> 2016-07-18 Eric Carlson <eric.carlson@apple.com>
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/css/CSSParser.cpp (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/css/CSSParser.cpp        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/Source/WebCore/css/CSSParser.cpp        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -1605,6 +1605,23 @@
</span><span class="cx"> return ImmutableStyleProperties::create(results.data(), results.size(), m_context.mode);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void CSSParser::addPropertyWithPrefixingVariant(CSSPropertyID propId, RefPtr<CSSValue>&& value, bool important, bool implicit)
+{
+ addProperty(propId, value.copyRef(), important, implicit);
+
+ CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propId);
+ if (prefixingVariant == propId)
+ return;
+
+ if (m_currentShorthand) {
+ // We can't use ShorthandScope here as we can already be inside one (e.g we are parsing CSSTransition).
+ m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);
+ addProperty(prefixingVariant, WTFMove(value), important, implicit);
+ m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);
+ } else
+ addProperty(prefixingVariant, WTFMove(value), important, implicit);
+}
+
</ins><span class="cx"> void CSSParser::addProperty(CSSPropertyID propId, RefPtr<CSSValue>&& value, bool important, bool implicit)
</span><span class="cx"> {
</span><span class="cx"> // This property doesn't belong to a shorthand or is a CSS variable (which will be resolved later).
</span><span class="lines">@@ -2722,7 +2739,7 @@
</span><span class="cx"> RefPtr<CSSValue> val;
</span><span class="cx"> AnimationParseContext context;
</span><span class="cx"> if (parseAnimationProperty(propId, val, context)) {
</span><del>- addProperty(propId, WTFMove(val), important);
</del><ins>+ addPropertyWithPrefixingVariant(propId, WTFMove(val), important);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> return false;
</span><span class="lines">@@ -3816,40 +3833,17 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- // Fill in any remaining properties with the initial value.
</del><span class="cx"> for (i = 0; i < numProperties; ++i) {
</span><ins>+ // If we didn't find the property, set an intial value.
</ins><span class="cx"> if (!parsedProperty[i])
</span><span class="cx"> addAnimationValue(values[i], cssValuePool.createImplicitInitialValue());
</span><ins>+
+ addProperty(shorthand.properties()[i], WTFMove(values[i]), important);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- // Now add all of the properties we found.
- // In this case we have to explicitly set the variant form as well,
- // to make sure that a shorthand clears all existing prefixed and
- // unprefixed values.
- for (i = 0; i < numProperties; ++i)
- addPropertyWithPrefixingVariant(shorthand.properties()[i], WTFMove(values[i]), important);
-
</del><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CSSParser::addPropertyWithPrefixingVariant(CSSPropertyID propId, RefPtr<CSSValue>&& value, bool important, bool implicit)
-{
- addProperty(propId, value.copyRef(), important, implicit);
-
- CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propId);
- if (prefixingVariant == propId)
- return;
-
- if (m_currentShorthand) {
- // We can't use ShorthandScope here as we can already be inside one (e.g we are parsing CSSTransition).
- m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);
- addProperty(prefixingVariant, WTFMove(value), important, implicit);
- m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);
- } else
- addProperty(prefixingVariant, WTFMove(value), important, implicit);
-}
-
-
</del><span class="cx"> RefPtr<CSSPrimitiveValue> CSSParser::parseColumnWidth()
</span><span class="cx"> {
</span><span class="cx"> ValueWithCalculation valueWithCalculation(*m_valueList->current());
</span><span class="lines">@@ -3977,9 +3971,6 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Now add all of the properties we found.
</span><del>- // In this case we have to explicitly set the variant form as well,
- // to make sure that a shorthand clears all existing prefixed and
- // unprefixed values.
</del><span class="cx"> for (i = 0; i < numProperties; ++i)
</span><span class="cx"> addPropertyWithPrefixingVariant(shorthand.properties()[i], WTFMove(values[i]), important);
</span><span class="cx">
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCorecssCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/css/CSSPropertyNames.in (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/css/CSSPropertyNames.in        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/Source/WebCore/css/CSSPropertyNames.in        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -348,10 +348,10 @@
</span><span class="cx"> text-underline-width [SkipBuilder]
</span><span class="cx"> top [Initial=initialOffset, Converter=LengthOrAuto]
</span><span class="cx"> transition [Longhands=transition-property|transition-duration|transition-timing-function|transition-delay]
</span><del>-transition-delay [AnimationProperty, NameForMethods=Delay]
-transition-duration [AnimationProperty, NameForMethods=Duration]
-transition-property [AnimationProperty, NameForMethods=Property]
-transition-timing-function [AnimationProperty, NameForMethods=TimingFunction]
</del><ins>+transition-delay [SkipBuilder]
+transition-duration [SkipBuilder]
+transition-property [SkipBuilder]
+transition-timing-function [SkipBuilder]
</ins><span class="cx">
</span><span class="cx"> unicode-bidi
</span><span class="cx"> unicode-range [SkipBuilder]
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCorecssPropertySetCSSStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx"> CSSPropertyID propertyID = cssPropertyID(propertyName);
</span><span class="cx"> if (!propertyID)
</span><span class="cx"> return nullptr;
</span><del>- return cloneAndCacheForCSSOM(getPropertyCSSValueInternal(propertyID).get());
</del><ins>+ return cloneAndCacheForCSSOM(m_propertySet->getPropertyCSSValue(propertyID).get());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String PropertySetCSSStyleDeclaration::getPropertyValue(const String& propertyName)
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx"> CSSPropertyID propertyID = cssPropertyID(propertyName);
</span><span class="cx"> if (!propertyID)
</span><span class="cx"> return String();
</span><del>- return getPropertyValueInternal(propertyID);
</del><ins>+ return m_propertySet->getPropertyValue(propertyID);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String PropertySetCSSStyleDeclaration::getPropertyPriority(const String& propertyName)
</span><span class="lines">@@ -265,28 +265,12 @@
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSValue> PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal(CSSPropertyID propertyID)
</span><span class="cx"> {
</span><del>- RefPtr<CSSValue> value = m_propertySet->getPropertyCSSValue(propertyID);
- if (value)
- return value;
-
- CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propertyID);
- if (prefixingVariant != propertyID)
- return m_propertySet->getPropertyCSSValue(prefixingVariant);
-
- return nullptr;
</del><ins>+ return m_propertySet->getPropertyCSSValue(propertyID);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String PropertySetCSSStyleDeclaration::getPropertyValueInternal(CSSPropertyID propertyID)
</span><del>-{
- String value = m_propertySet->getPropertyValue(propertyID);
- if (!value.isEmpty())
- return value;
-
- CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propertyID);
- if (prefixingVariant != propertyID)
- return m_propertySet->getPropertyValue(prefixingVariant);
-
- return String();
</del><ins>+{
+ return m_propertySet->getPropertyValue(propertyID);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool PropertySetCSSStyleDeclaration::setPropertyInternal(CSSPropertyID propertyID, const String& value, bool important, ExceptionCode& ec)
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/css/StyleProperties.cpp (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/css/StyleProperties.cpp        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/Source/WebCore/css/StyleProperties.cpp        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -640,15 +640,14 @@
</span><span class="cx"> if (!shorthand.length())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- bool propertiesWereRemoved = removePropertiesInSet(shorthand.properties(), shorthand.length());
</del><ins>+ bool ret = removePropertiesInSet(shorthand.properties(), shorthand.length());
</ins><span class="cx">
</span><span class="cx"> CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propertyID);
</span><span class="cx"> if (prefixingVariant == propertyID)
</span><del>- return propertiesWereRemoved;
</del><ins>+ return ret;
</ins><span class="cx">
</span><span class="cx"> StylePropertyShorthand shorthandPrefixingVariant = shorthandForProperty(prefixingVariant);
</span><del>- bool prefixedVariantPropertiesWereRemoved = removePropertiesInSet(shorthandPrefixingVariant.properties(), shorthandPrefixingVariant.length());
- return propertiesWereRemoved || prefixedVariantPropertiesWereRemoved;
</del><ins>+ return removePropertiesInSet(shorthandPrefixingVariant.properties(), shorthandPrefixingVariant.length());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool MutableStyleProperties::removeProperty(CSSPropertyID propertyID, String* returnText)
</span><span class="lines">@@ -674,6 +673,8 @@
</span><span class="cx"> // and sweeping them when the vector grows too big.
</span><span class="cx"> m_propertyVector.remove(foundPropertyIndex);
</span><span class="cx">
</span><ins>+ removePrefixedOrUnprefixedProperty(propertyID);
+
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -696,6 +697,14 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void MutableStyleProperties::removePrefixedOrUnprefixedProperty(CSSPropertyID propertyID)
+{
+ int foundPropertyIndex = findPropertyIndex(prefixingVariantForPropertyId(propertyID));
+ if (foundPropertyIndex == -1)
+ return;
+ m_propertyVector.remove(foundPropertyIndex);
+}
+
</ins><span class="cx"> bool StyleProperties::propertyIsImportant(CSSPropertyID propertyID) const
</span><span class="cx"> {
</span><span class="cx"> int foundPropertyIndex = findPropertyIndex(propertyID);
</span><span class="lines">@@ -792,14 +801,42 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> *toReplace = property;
</span><ins>+ setPrefixingVariantProperty(property);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+ return appendPrefixingVariantProperty(property);
+}
+
+static unsigned getIndexInShorthandVectorForPrefixingVariant(const CSSProperty& property, CSSPropertyID prefixingVariant)
+{
+ if (!property.isSetFromShorthand())
+ return 0;
+
+ CSSPropertyID prefixedShorthand = prefixingVariantForPropertyId(property.shorthandID());
+ return indexOfShorthandForLonghand(prefixedShorthand, matchingShorthandsForLonghand(prefixingVariant));
+}
+
+bool MutableStyleProperties::appendPrefixingVariantProperty(const CSSProperty& property)
+{
</ins><span class="cx"> m_propertyVector.append(property);
</span><ins>+ CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(property.id());
+ if (prefixingVariant == property.id())
+ return true;
+
+ m_propertyVector.append(CSSProperty(prefixingVariant, property.value(), property.isImportant(), property.isSetFromShorthand(), getIndexInShorthandVectorForPrefixingVariant(property, prefixingVariant), property.metadata().m_implicit));
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void MutableStyleProperties::setPrefixingVariantProperty(const CSSProperty& property)
+{
+ CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(property.id());
+ CSSProperty* toReplace = findCSSPropertyWithID(prefixingVariant);
+ if (toReplace && prefixingVariant != property.id())
+ *toReplace = CSSProperty(prefixingVariant, property.value(), property.isImportant(), property.isSetFromShorthand(), getIndexInShorthandVectorForPrefixingVariant(property, prefixingVariant), property.metadata().m_implicit);
+}
+
</ins><span class="cx"> bool MutableStyleProperties::setProperty(CSSPropertyID propertyID, CSSValueID identifier, bool important)
</span><span class="cx"> {
</span><span class="cx"> return setProperty(CSSProperty(propertyID, CSSValuePool::singleton().createIdentifierValue(identifier), important));
</span><span class="lines">@@ -888,7 +925,6 @@
</span><span class="cx"> case CSSPropertyAnimationIterationCount:
</span><span class="cx"> case CSSPropertyAnimationDirection:
</span><span class="cx"> case CSSPropertyAnimationFillMode:
</span><del>- case CSSPropertyAnimationPlayState:
</del><span class="cx"> shorthandPropertyID = CSSPropertyAnimation;
</span><span class="cx"> break;
</span><span class="cx"> case CSSPropertyBackgroundPositionX:
</span><span class="lines">@@ -988,7 +1024,6 @@
</span><span class="cx"> case CSSPropertyWebkitAnimationIterationCount:
</span><span class="cx"> case CSSPropertyWebkitAnimationDirection:
</span><span class="cx"> case CSSPropertyWebkitAnimationFillMode:
</span><del>- case CSSPropertyWebkitAnimationPlayState:
</del><span class="cx"> shorthandPropertyID = CSSPropertyWebkitAnimation;
</span><span class="cx"> break;
</span><span class="cx"> case CSSPropertyFlexDirection:
</span></span></pre></div>
<a id="branchessafari602branchSourceWebCorecssStylePropertiesh"></a>
<div class="modfile"><h4>Modified: branches/safari-602-branch/Source/WebCore/css/StyleProperties.h (203556 => 203557)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-602-branch/Source/WebCore/css/StyleProperties.h        2016-07-22 09:25:00 UTC (rev 203556)
+++ branches/safari-602-branch/Source/WebCore/css/StyleProperties.h        2016-07-22 09:25:06 UTC (rev 203557)
</span><span class="lines">@@ -207,9 +207,12 @@
</span><span class="cx"> // These do not. FIXME: This is too messy, we can do better.
</span><span class="cx"> bool setProperty(CSSPropertyID, CSSValueID identifier, bool important = false);
</span><span class="cx"> bool setProperty(CSSPropertyID, CSSPropertyID identifier, bool important = false);
</span><ins>+ bool appendPrefixingVariantProperty(const CSSProperty&);
+ void setPrefixingVariantProperty(const CSSProperty&);
</ins><span class="cx"> bool setProperty(const CSSProperty&, CSSProperty* slot = nullptr);
</span><span class="cx">
</span><span class="cx"> bool removeProperty(CSSPropertyID, String* returnText = nullptr);
</span><ins>+ void removePrefixedOrUnprefixedProperty(CSSPropertyID);
</ins><span class="cx"> void removeBlockProperties();
</span><span class="cx"> bool removePropertiesInSet(const CSSPropertyID* set, unsigned length);
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>