Implement smarter style invalidation for @keyframes additions
Reported by
r...@opera.com,
Jun 28 2016
|
||||
Issue descriptionWe currently do a full document style recalc when adding @keyframes rules. Instead we can cause a recalc for elements with active animations and elements which failed to resolve @keyframes in a previous recalc.
,
Jun 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9c88a15f059aec65af294b8789a27cc377363da6 commit 9c88a15f059aec65af294b8789a27cc377363da6 Author: rune <rune@opera.com> Date: Thu Jun 30 08:10:17 2016 Optimize style recalc when adding @keyframes. We only need to recalculate the elements with running animations unless we tried to find an @keyframes rule and couldn't, for which we fall back to a full document recalc. The motivation for doing this is that the current WIP for issue 567021 shows that we're still getting full document recalcs due to the presence of @keyframes rules. R=dstockwell@chromium.org,alancutter@chromium.org BUG= 623911 , 567021 Review-Url: https://codereview.chromium.org/2105743002 Cr-Commit-Position: refs/heads/master@{#403118} [add] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/LayoutTests/animations/add-keyframes-recalc.html [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/animation/Animation.cpp [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/animation/Animation.h [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/animation/AnimationTimeline.h [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/css/invalidation/StyleSheetInvalidationAnalysis.cpp [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/css/invalidation/StyleSheetInvalidationAnalysis.h [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/dom/StyleEngine.cpp [modify] https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6/third_party/WebKit/Source/core/dom/StyleEngine.h
,
Jun 30 2016
,
Jul 7 2016
rune@: Could you please confirm if this can be verified manually from the TE's end. Please provide any sample file to test and verify this if any verification is needed here. Thank you!
,
Jul 7 2016
Recording a timeline in inspector when loading anim.html shows a style recalc with a full tree element count 1s after the load. With the fix, that recalc count is 0.
,
Aug 26 2016
Issue 639699 has been merged into this issue. |
||||
►
Sign in to add a comment |
||||
Comment 1 by suzyh@chromium.org
, Jun 28 2016Components: -Blink>Animation