Changeset 255593 in webkit
- Timestamp:
- Feb 3, 2020 2:16:46 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r255591 r255593 1 2020-02-03 Antoine Quint <graouts@apple.com> 2 3 [Web Animations] Accelerated animations don't run until their natural completion 4 https://bugs.webkit.org/show_bug.cgi?id=207130 5 <rdar://problem/59106047> 6 7 Reviewed by Dean Jackson. 8 9 Add two new tests that ensures that an accelerated animation still yields compositing on an element when 10 its finished promise is resolved, but that it's no longer the case on the next frame. 11 12 This required an existing test to be updated to wait until the next frame before checking the composited 13 status of an element on which an animation had just completed. 14 15 * compositing/geometry/limit-layer-bounds-opacity-transition.html: 16 * webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt: Added. 17 * webanimations/transform-accelerated-animation-finishes-before-removal.html: Added. 18 * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt: Added. 19 * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html: Added. 20 1 21 2020-02-03 Jacob Uphoff <jacob_uphoff@apple.com> 2 22 -
trunk/LayoutTests/compositing/geometry/limit-layer-bounds-opacity-transition.html
r180441 r255593 41 41 { 42 42 if (window.testRunner) { 43 document.getElementById('layers').innerText = window.internals.layerTreeAsText(document); 44 testRunner.notifyDone(); 43 requestAnimationFrame(() => { 44 document.getElementById('layers').innerText = window.internals.layerTreeAsText(document); 45 testRunner.notifyDone(); 46 }) 45 47 } 46 48 } -
trunk/Source/WebCore/ChangeLog
r255592 r255593 1 2020-02-03 Antoine Quint <graouts@apple.com> 2 3 [Web Animations] Accelerated animations don't run until their natural completion 4 https://bugs.webkit.org/show_bug.cgi?id=207130 5 <rdar://problem/59106047> 6 7 Reviewed by Dean Jackson. 8 9 Tests: webanimations/transform-accelerated-animation-finishes-before-removal.html 10 webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html 11 12 Ensure we don't tear down a composited renderer until all of its runnning accelerated animations are completed. 13 The accelerated animations will be queued for removal in the next animation frame. 14 15 * animation/KeyframeEffect.cpp: 16 (WebCore::KeyframeEffect::isRunningAcceleratedAnimationForProperty const): 17 * animation/KeyframeEffect.h: 18 * animation/KeyframeEffectStack.cpp: 19 (WebCore::KeyframeEffectStack::isCurrentlyAffectingProperty const): 20 1 21 2020-02-03 Jer Noble <jer.noble@apple.com> 2 22 -
trunk/Source/WebCore/animation/KeyframeEffect.cpp
r255422 r255593 1108 1108 } 1109 1109 1110 bool KeyframeEffect::isRunningAcceleratedAnimationForProperty(CSSPropertyID property) const 1111 { 1112 return m_isRunningAccelerated && CSSPropertyAnimation::animationOfPropertyIsAccelerated(property) && m_blendingKeyframes.properties().contains(property); 1113 } 1114 1110 1115 void KeyframeEffect::invalidate() 1111 1116 { -
trunk/Source/WebCore/animation/KeyframeEffect.h
r255396 r255593 149 149 enum class Accelerated : uint8_t { Yes, No }; 150 150 bool isCurrentlyAffectingProperty(CSSPropertyID, Accelerated = Accelerated::No) const; 151 bool isRunningAcceleratedAnimationForProperty(CSSPropertyID) const; 151 152 152 153 private: -
trunk/Source/WebCore/animation/KeyframeEffectStack.cpp
r255383 r255593 64 64 { 65 65 for (auto& effect : m_effects) { 66 if (effect->isCurrentlyAffectingProperty(property) )66 if (effect->isCurrentlyAffectingProperty(property) || effect->isRunningAcceleratedAnimationForProperty(property)) 67 67 return true; 68 68 }
Note: See TracChangeset
for help on using the changeset viewer.