haikuwebkit/LayoutTests/animations/additive-transform-animatio...

39 lines
857 B
HTML
Raw Permalink Normal View History

Rotation animations sometimes use the wrong origin (affects apple.com) https://bugs.webkit.org/show_bug.cgi?id=194878 <rdar://problem/43908047> Reviewed by Simon Fraser. Source/WebCore: Some versions of CoreAnimation apply additive animations in reverse order. Detect this and reverse the list of animations we provide. Update the existing animations/additive-transform-animations.html test to be a ref-test that would identify this failure. Previously it relied on a pixel test. * platform/graphics/ca/GraphicsLayerCA.cpp: Use HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED to decide whether or not to flip the list of animations (and mark the correct ones as additive). (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Source/WTF: * wtf/Platform.h: Add HAVE(CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED). LayoutTests: Update an old pixel test to be a new ref test, and remove all the old platform-specific -expected versions. * animations/additive-transform-animations-expected.png: Removed. * animations/additive-transform-animations.html: * legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * legacy-animation-engine/animations/additive-transform-animations.html: * platform/gtk/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/animations/additive-transform-animations-expected.txt: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/win/animations/additive-transform-animations-expected.txt: Removed. * platform/win/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. Canonical link: https://commits.webkit.org/209252@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-21 00:48:37 +00:00
<style>
#original {
position: absolute;
top: 100px;
left: 100px;
width: 100px;
height: 100px;
background-color: blue;
Source/WebCore: Appearance of compound transform animations under apps linked on SnowLeopard is incorrect https://bugs.webkit.org/show_bug.cgi?id=72641 and <rdar://problem/10314267> Reviewed by Dean Jackson. GraphicsLayerCA contains a "linked on or after" check to account for a bug in Core Animation on SnowLeopard and earlier, which is that CA would apply the list of animations in reverse order. Our previous fix was incorrect, because it only adjusted the 'additive' property of the animation list based on ordering, rather than flipping the entire list. This change reverses the list of animations before giving them to CA, which fixes the bug. Test: animations/additive-transform-animations.html * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): * platform/graphics/ca/GraphicsLayerCA.h: LayoutTests: Appearance of compound transform animations under apps linked on SnowLeopard is incorrect https://bugs.webkit.org/show_bug.cgi?id=72641 Reviewed by Dean Jackson. Pixel test for a hardware-animated tranform, where order of operations matters. * animations/additive-transform-animations-expected.png: Added. * animations/additive-transform-animations.html: Added. * platform/mac/animations/additive-transform-animations-expected.txt: Added. Canonical link: https://commits.webkit.org/89293@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@100800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-11-18 19:18:19 +00:00
}
Rotation animations sometimes use the wrong origin (affects apple.com) https://bugs.webkit.org/show_bug.cgi?id=194878 <rdar://problem/43908047> Reviewed by Simon Fraser. Source/WebCore: Some versions of CoreAnimation apply additive animations in reverse order. Detect this and reverse the list of animations we provide. Update the existing animations/additive-transform-animations.html test to be a ref-test that would identify this failure. Previously it relied on a pixel test. * platform/graphics/ca/GraphicsLayerCA.cpp: Use HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED to decide whether or not to flip the list of animations (and mark the correct ones as additive). (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Source/WTF: * wtf/Platform.h: Add HAVE(CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED). LayoutTests: Update an old pixel test to be a new ref test, and remove all the old platform-specific -expected versions. * animations/additive-transform-animations-expected.png: Removed. * animations/additive-transform-animations.html: * legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * legacy-animation-engine/animations/additive-transform-animations.html: * platform/gtk/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/animations/additive-transform-animations-expected.txt: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/win/animations/additive-transform-animations-expected.txt: Removed. * platform/win/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. Canonical link: https://commits.webkit.org/209252@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-21 00:48:37 +00:00
#rotator {
position: absolute;
top: 100px;
left: 100px;
width: 100px;
height: 100px;
background-color: red;
animation: animation 5s infinite linear;
Source/WebCore: Appearance of compound transform animations under apps linked on SnowLeopard is incorrect https://bugs.webkit.org/show_bug.cgi?id=72641 and <rdar://problem/10314267> Reviewed by Dean Jackson. GraphicsLayerCA contains a "linked on or after" check to account for a bug in Core Animation on SnowLeopard and earlier, which is that CA would apply the list of animations in reverse order. Our previous fix was incorrect, because it only adjusted the 'additive' property of the animation list based on ordering, rather than flipping the entire list. This change reverses the list of animations before giving them to CA, which fixes the bug. Test: animations/additive-transform-animations.html * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): * platform/graphics/ca/GraphicsLayerCA.h: LayoutTests: Appearance of compound transform animations under apps linked on SnowLeopard is incorrect https://bugs.webkit.org/show_bug.cgi?id=72641 Reviewed by Dean Jackson. Pixel test for a hardware-animated tranform, where order of operations matters. * animations/additive-transform-animations-expected.png: Added. * animations/additive-transform-animations.html: Added. * platform/mac/animations/additive-transform-animations-expected.txt: Added. Canonical link: https://commits.webkit.org/89293@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@100800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-11-18 19:18:19 +00:00
}
Rotation animations sometimes use the wrong origin (affects apple.com) https://bugs.webkit.org/show_bug.cgi?id=194878 <rdar://problem/43908047> Reviewed by Simon Fraser. Source/WebCore: Some versions of CoreAnimation apply additive animations in reverse order. Detect this and reverse the list of animations we provide. Update the existing animations/additive-transform-animations.html test to be a ref-test that would identify this failure. Previously it relied on a pixel test. * platform/graphics/ca/GraphicsLayerCA.cpp: Use HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED to decide whether or not to flip the list of animations (and mark the correct ones as additive). (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Source/WTF: * wtf/Platform.h: Add HAVE(CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED). LayoutTests: Update an old pixel test to be a new ref test, and remove all the old platform-specific -expected versions. * animations/additive-transform-animations-expected.png: Removed. * animations/additive-transform-animations.html: * legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * legacy-animation-engine/animations/additive-transform-animations.html: * platform/gtk/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/animations/additive-transform-animations-expected.txt: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/win/animations/additive-transform-animations-expected.txt: Removed. * platform/win/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. Canonical link: https://commits.webkit.org/209252@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-21 00:48:37 +00:00
#cover {
position: absolute;
top: 150px;
left: 50px;
width: 200px;
height: 150px;
background-color: green;
}
Source/WebCore: Appearance of compound transform animations under apps linked on SnowLeopard is incorrect https://bugs.webkit.org/show_bug.cgi?id=72641 and <rdar://problem/10314267> Reviewed by Dean Jackson. GraphicsLayerCA contains a "linked on or after" check to account for a bug in Core Animation on SnowLeopard and earlier, which is that CA would apply the list of animations in reverse order. Our previous fix was incorrect, because it only adjusted the 'additive' property of the animation list based on ordering, rather than flipping the entire list. This change reverses the list of animations before giving them to CA, which fixes the bug. Test: animations/additive-transform-animations.html * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): * platform/graphics/ca/GraphicsLayerCA.h: LayoutTests: Appearance of compound transform animations under apps linked on SnowLeopard is incorrect https://bugs.webkit.org/show_bug.cgi?id=72641 Reviewed by Dean Jackson. Pixel test for a hardware-animated tranform, where order of operations matters. * animations/additive-transform-animations-expected.png: Added. * animations/additive-transform-animations.html: Added. * platform/mac/animations/additive-transform-animations-expected.txt: Added. Canonical link: https://commits.webkit.org/89293@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@100800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-11-18 19:18:19 +00:00
Rotation animations sometimes use the wrong origin (affects apple.com) https://bugs.webkit.org/show_bug.cgi?id=194878 <rdar://problem/43908047> Reviewed by Simon Fraser. Source/WebCore: Some versions of CoreAnimation apply additive animations in reverse order. Detect this and reverse the list of animations we provide. Update the existing animations/additive-transform-animations.html test to be a ref-test that would identify this failure. Previously it relied on a pixel test. * platform/graphics/ca/GraphicsLayerCA.cpp: Use HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED to decide whether or not to flip the list of animations (and mark the correct ones as additive). (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Source/WTF: * wtf/Platform.h: Add HAVE(CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED). LayoutTests: Update an old pixel test to be a new ref test, and remove all the old platform-specific -expected versions. * animations/additive-transform-animations-expected.png: Removed. * animations/additive-transform-animations.html: * legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * legacy-animation-engine/animations/additive-transform-animations.html: * platform/gtk/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/animations/additive-transform-animations-expected.txt: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.png: Removed. * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/animations/additive-transform-animations-expected.txt: Removed. * platform/ios/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/animations/additive-transform-animations-expected.txt: Removed. * platform/mac/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/win/animations/additive-transform-animations-expected.txt: Removed. * platform/win/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/animations/additive-transform-animations-expected.txt: Removed. * platform/wincairo/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/animations/additive-transform-animations-expected.txt: Removed. * platform/wpe/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Removed. Canonical link: https://commits.webkit.org/209252@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-21 00:48:37 +00:00
@keyframes animation {
from { transform: rotate(40deg) translate(50%, 50%) }
to { transform: rotate(60deg) translate(50%, 50%) }
}
</style>
<p>You should not see any of the rotating red rectangle</p>
<div id="original"></div>
<div id="rotator"></div>
<div id="cover"></div>