Title: [227101] trunk/Source/WebCore
Revision
227101
Author
jlew...@apple.com
Date
2018-01-17 17:31:36 -0800 (Wed, 17 Jan 2018)

Log Message

Unreviewed, rolling out r227098.

This broke the build.

Reverted changeset:

"Remove linked-on test for Snow Leopard"
https://bugs.webkit.org/show_bug.cgi?id=181770
https://trac.webkit.org/changeset/227098

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (227100 => 227101)


--- trunk/Source/WebCore/ChangeLog	2018-01-18 00:59:26 UTC (rev 227100)
+++ trunk/Source/WebCore/ChangeLog	2018-01-18 01:31:36 UTC (rev 227101)
@@ -1,3 +1,15 @@
+2018-01-17  Matt Lewis  <jlew...@apple.com>
+
+        Unreviewed, rolling out r227098.
+
+        This broke the build.
+
+        Reverted changeset:
+
+        "Remove linked-on test for Snow Leopard"
+        https://bugs.webkit.org/show_bug.cgi?id=181770
+        https://trac.webkit.org/changeset/227098
+
 2018-01-17  Dean Jackson  <d...@apple.com>
 
         Remove linked-on test for Snow Leopard

Modified: trunk/Source/WebCore/PAL/ChangeLog (227100 => 227101)


--- trunk/Source/WebCore/PAL/ChangeLog	2018-01-18 00:59:26 UTC (rev 227100)
+++ trunk/Source/WebCore/PAL/ChangeLog	2018-01-18 01:31:36 UTC (rev 227101)
@@ -1,3 +1,15 @@
+2018-01-17  Matt Lewis  <jlew...@apple.com>
+
+        Unreviewed, rolling out r227098.
+
+        This broke the build.
+
+        Reverted changeset:
+
+        "Remove linked-on test for Snow Leopard"
+        https://bugs.webkit.org/show_bug.cgi?id=181770
+        https://trac.webkit.org/changeset/227098
+
 2018-01-17  Dean Jackson  <d...@apple.com>
 
         Remove linked-on test for Snow Leopard

Modified: trunk/Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h (227100 => 227101)


--- trunk/Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h	2018-01-18 00:59:26 UTC (rev 227100)
+++ trunk/Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h	2018-01-18 01:31:36 UTC (rev 227101)
@@ -48,6 +48,7 @@
 extern const CFStringRef _kCFSystemVersionProductVersionKey;
 
 Boolean _CFAppVersionCheckLessThan(CFStringRef bundleID, int linkedOnAnOlderSystemThan, double versionNumberLessThan);
+Boolean _CFExecutableLinkedOnOrAfter(CFSystemVersion);
 CFDictionaryRef _CFCopySystemVersionDictionary();
 CFDictionaryRef _CFWebServicesCopyProviderInfo(CFStringRef serviceType, Boolean* outIsUserSelection);
 

Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (227100 => 227101)


--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp	2018-01-18 00:59:26 UTC (rev 227100)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp	2018-01-18 01:31:36 UTC (rev 227101)
@@ -3009,16 +3009,35 @@
     bool isMatrixAnimation = listIndex < 0;
     int numAnimations = isMatrixAnimation ? 1 : operations->size();
 
+#if PLATFORM(IOS)
+    bool reverseAnimationList = false;
+#else
+    bool reverseAnimationList = true;
 #if !PLATFORM(WIN)
-    for (int animationIndex = 0; animationIndex < numAnimations; ++animationIndex) {
-#else
-    // QuartzCore on Windows expects animation lists to be applied in reverse order (<rdar://problem/9112233>).
-    for (int animationIndex = numAnimations - 1; animationIndex >= 0; --animationIndex) {
+        // Old versions of Core Animation apply animations in reverse order (<rdar://problem/7095638>) so we need to flip the list.
+        // to be non-additive. For binary compatibility, the current version of Core Animation preserves this behavior for applications linked
+        // on or before Snow Leopard.
+        // FIXME: This fix has not been added to QuartzCore on Windows yet (<rdar://problem/9112233>) so we expect the
+        // reversed animation behavior
+        static bool executableWasLinkedOnOrBeforeSnowLeopard = !_CFExecutableLinkedOnOrAfter(CFSystemVersionLion);
+        if (!executableWasLinkedOnOrBeforeSnowLeopard)
+            reverseAnimationList = false;
 #endif
-        if (!appendToUncommittedAnimations(valueList, operations, animation, animationName, boxSize, animationIndex, timeOffset, isMatrixAnimation)) {
-            validMatrices = false;
-            break;
+#endif // PLATFORM(IOS)
+    if (reverseAnimationList) {
+        for (int animationIndex = numAnimations - 1; animationIndex >= 0; --animationIndex) {
+            if (!appendToUncommittedAnimations(valueList, operations, animation, animationName, boxSize, animationIndex, timeOffset, isMatrixAnimation)) {
+                validMatrices = false;
+                break;
+            }
         }
+    } else {
+        for (int animationIndex = 0; animationIndex < numAnimations; ++animationIndex) {
+            if (!appendToUncommittedAnimations(valueList, operations, animation, animationName, boxSize, animationIndex, timeOffset, isMatrixAnimation)) {
+                validMatrices = false;
+                break;
+            }
+        }
     }
 
     return validMatrices;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to