WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
190690
Flakey behavior when an opacity transition ends
https://bugs.webkit.org/show_bug.cgi?id=190690
Summary
Flakey behavior when an opacity transition ends
Simon Fraser (smfr)
Reported
2018-10-17 15:02:26 PDT
Created
attachment 352649
[details]
Testcase I'm having issues with a flakey test (compositing/geometry/limit-layer-bounds-opacity-transition.html; attached) when working on the patch from
bug 90342
. What I see is when the transition ends, we don't always remove the RenderLayer, because in RenderBox::requiresLayer(), hasRunningAcceleratedAnimations() is true. In the good case, the list of animated elements gets updated here: * frame #0: 0x00000006e758ee0b WebCore`WebCore::DocumentTimeline::updateListOfElementsWithRunningAcceleratedAnimationsForElement(this=0x00000006fd0af300, element=0x0000000702f00138) at DocumentTimeline.cpp:429 frame #1: 0x00000006e758f05f WebCore`WebCore::DocumentTimeline::animationAcceleratedRunningStateDidChange(this=0x00000006fd0af300, animation=0x00000006fd0e3540) at DocumentTimeline.cpp:422 frame #2: 0x00000006e7597f48 WebCore`WebCore::WebAnimation::acceleratedStateDidChange(this=0x00000006fd0e3540) at WebAnimation.cpp:1091 frame #3: 0x00000006e7597e91 WebCore`WebCore::KeyframeEffectReadOnly::addPendingAcceleratedAction(this=0x00000006fd0e4630, action=Stop) at KeyframeEffectReadOnly.cpp:1253 frame #4: 0x00000006e7596b64 WebCore`WebCore::KeyframeEffectReadOnly::updateAcceleratedAnimationState(this=0x00000006fd0e4630) at KeyframeEffectReadOnly.cpp:1230 frame #5: 0x00000006e759695c WebCore`WebCore::KeyframeEffectReadOnly::apply(this=0x00000006fd0e4630, targetStyle=0x0000000701a70d80) at KeyframeEffectReadOnly.cpp:982 frame #6: 0x00000006e759e4aa WebCore`WebCore::WebAnimation::resolve(this=0x00000006fd0e3540, targetStyle=0x0000000701a70d80) at WebAnimation.cpp:1074 frame #7: 0x00000006e756d829 WebCore`WebCore::CSSTransition::resolve(this=0x00000006fd0e3540, targetStyle=0x0000000701a70d80) at CSSTransition.cpp:55 frame #8: 0x00000006e758f5ee WebCore`WebCore::DocumentTimeline::resolveAnimationsForElement(this=0x00000006fd0af300, element=0x0000000702f00138, targetStyle=0x0000000701a70d80) at DocumentTimeline.cpp:465 frame #9: 0x00000006e90a132b WebCore`WebCore::Style::TreeResolver::createAnimatedElementUpdate(this=0x00007ffee6d32f00, newStyle=unique_ptr<WebCore::RenderStyle, std::__1::default_delete<WebCore::RenderStyle> > @ 0x00007ffee6d2fac0, element=0x0000000702f00138, parentChange=NoChange) at StyleTreeResolver.cpp:309 frame #10: 0x00000006e90a0547 WebCore`WebCore::Style::TreeResolver::resolveElement(this=0x00007ffee6d32f00, element=0x0000000702f00138) at StyleTreeResolver.cpp:213 frame #11: 0x00000006e90a3084 WebCore`WebCore::Style::TreeResolver::resolveComposedTree(this=0x00007ffee6d32f00) at StyleTreeResolver.cpp:498 frame #12: 0x00000006e90a48f1 WebCore`WebCore::Style::TreeResolver::resolve(this=0x00007ffee6d32f00) at StyleTreeResolver.cpp:556 frame #13: 0x00000006e7afef65 WebCore`WebCore::Document::resolveStyle(this=0x0000000701c02120, type=Normal) at Document.cpp:1904 frame #14: 0x00000006e7b00a8d WebCore`WebCore::Document::updateStyleIfNeeded(this=0x0000000701c02120) at Document.cpp:2025 frame #15: 0x00000006e758d5a8 WebCore`WebCore::DocumentTimeline::updateAnimations(this=0x00000006fd0af300) at DocumentTimeline.cpp:322 frame #16: 0x00000006e758b3e5 WebCore`WebCore::DocumentTimeline::documentAnimationSchedulerDidFire(this=0x00000006fd0af300) at DocumentTimeline.cpp:292 frame #17: 0x00000006e758b31f WebCore`WebCore::DocumentAnimationScheduler::displayRefreshFired(this=0x0000000701a7a888) at DocumentAnimationScheduler.cpp:89 In the bad case, we never even hit updateListOfElementsWithRunningAcceleratedAnimationsForElement(). Good: 14:53:53.138 78416 GraphicsLayerCA 0x17f7d58c0 platformCALayerAnimationEnded keyframe-effect-13c65603-c439-4b93-9e1f-3f4dcadd4590_2_0_0 14:53:53.138 78416 DocumentAnimationScheduler 0x183f2c8f8 displayRefreshFired() 14:53:53.138 78416 DocumentTimeline 0x17f5c9300 updateAnimations() 14:53:53.138 78416 updating style 14:53:53.138 78416 DocumentTimeline 0x17f5c9300 updateListOfElementsWithRunningAcceleratedAnimationsForElement 0x1860009c0 14:53:53.138 78416 DocumentTimeline 0x17f5c9300 runningAnimationsForElementAreAllAccelerated 0x1860009c0: 0 14:53:53.138 78416 RenderLayerModelObject 0x187300fc0 (layer 0x185b9e690) styleDidChange diff 8 opacity 1 (requires layer 0) 14:53:53.138 78416 DocumentTimeline 0x17f5c9300 runningAnimationsForElementAreAllAccelerated 0x1860009c0: 0 14:53:53.138 78416 RenderLayer 0x185b9e690 removeOnlyThisLayer 14:53:53.138 78416 RenderLayer 0x185b9ed20 updateLayerPositionsAfterLayout Bad: 14:53:54.557 78416 GraphicsLayerCA 0x17f7c58c0 platformCALayerAnimationEnded keyframe-effect-ffa21c3c-149f-43ee-ad47-184ef4d9227a_2_0_0 14:53:54.557 78416 DocumentAnimationScheduler 0x185ba4ce8 displayRefreshFired() 14:53:54.557 78416 DocumentTimeline 0x183f72c00 updateAnimations() 14:53:54.557 78416 updating style 14:53:54.557 78416 DocumentTimeline 0x183f72c00 runningAnimationsForElementAreAllAccelerated 0x186000af8: 1 14:53:54.557 78416 RenderLayerModelObject 0x1873018c0 (layer 0x17f574e70) styleDidChange diff 8 opacity 1 (requires layer 1) 14:53:54.558 78416 DocumentTimeline 0x183f72c00 runningAnimationsForElementAreAllAccelerated 0x186000af8: 1 14:53:54.558 78416 RenderLayer 0x17f574e70 styleChanged - opacity is 1.000000 14:53:54.558 78416 DocumentTimeline 0x183f72c00 runningAnimationsForElementAreAllAccelerated 0x186000af8: 1
Attachments
Testcase
(1.54 KB, text/html)
2018-10-17 15:02 PDT
,
Simon Fraser (smfr)
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug