haikuwebkit/LayoutTests/webanimations/transform-accelerated-anima...

19 lines
313 B
Plaintext
Raw Permalink Normal View History

[Web Animations] Accelerated animations don't run until their natural completion https://bugs.webkit.org/show_bug.cgi?id=207130 <rdar://problem/59106047> Reviewed by Dean Jackson. Source/WebCore: Tests: webanimations/transform-accelerated-animation-finishes-before-removal.html webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html Ensure we don't tear down a composited renderer until all of its runnning accelerated animations are completed. The accelerated animations will be queued for removal in the next animation frame. * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::isRunningAcceleratedAnimationForProperty const): * animation/KeyframeEffect.h: * animation/KeyframeEffectStack.cpp: (WebCore::KeyframeEffectStack::isCurrentlyAffectingProperty const): LayoutTests: Add two new tests that ensures that an accelerated animation still yields compositing on an element when its finished promise is resolved, but that it's no longer the case on the next frame. This required an existing test to be updated to wait until the next frame before checking the composited status of an element on which an animation had just completed. * compositing/geometry/limit-layer-bounds-opacity-transition.html: * webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt: Added. * webanimations/transform-accelerated-animation-finishes-before-removal.html: Added. * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt: Added. * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html: Added. Canonical link: https://commits.webkit.org/220145@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-02-03 22:16:46 +00:00
(GraphicsLayer
(anchor 0.00 0.00)
(bounds 800.00 600.00)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(children 1
(GraphicsLayer
(position 8.00 8.00)
(bounds 100.00 100.00)
(contentsOpaque 1)
)
)
)
)
)