Issue metadata
Sign in to add a comment
|
element.animate() with a positive delay does not get composited |
||||||||||||||||||||
Issue descriptionOnly the first animation gets composited. See the attached test case. keyframeEffect->snapshotAllCompositorKeyframes is never called in CSSAnimations::calculateCompositorAnimationUpdate. This was a regression CL, I believe: https://codereview.chromium.org/2043273002 It relates to the comment in CompositorAnimations.cpp: // FIXME: This relies on StringKeyframes being eagerly evaluated, which will // not happen eventually. Instead we should extract the CSSValue here // and convert using another set of toAnimatableXXXOperations functions. would be nice to fix it once and for all.
,
Oct 19 2016
Created fix: https://codereview.chromium.org/2427293003 https://codereview.chromium.org/2043273002 is the one that added the call to snapshotCompositorKeyframes() in StyleResolver that (probably) introduced this bug. I believe this patch is in Chrome 54 meaning it's a stable regression. I don't think the fix warrants a merge to stable as it only affects element.animate() calls that have positive delays. If we see reports from users about this we can consider merging the fix.
,
Oct 19 2016
,
Oct 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f4ffc982b16ade07e7b821633110807cc325d272 commit f4ffc982b16ade07e7b821633110807cc325d272 Author: alancutter <alancutter@chromium.org> Date: Thu Oct 20 02:36:36 2016 Remove stale comment regarding StringKeyframe being eagerly evaluated. As of https://codereview.chromium.org/2043273002 we don't snapshot compositor keyframes eagerly, instead we snapshot during style resolve. The compositor animations code relies on style resolve occuring before we commit compositor animations rather than eager evaluation now. BUG= 657242 Review-Url: https://chromiumcodereview.appspot.com/2429353002 Cr-Commit-Position: refs/heads/master@{#426376} [modify] https://crrev.com/f4ffc982b16ade07e7b821633110807cc325d272/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
,
Oct 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7c2e9fef72cd494e3a09599697f015b8ef192fb4 commit 7c2e9fef72cd494e3a09599697f015b8ef192fb4 Author: alancutter <alancutter@chromium.org> Date: Thu Oct 20 04:38:16 2016 Fix calls to element.animate() with positive delays not being composited We were only snapshotting compositor keyframes when there was an animation update. In the case of element.animate() with a positive delay there's no CSS animation change to the animation engine nor are there any effects to be applied. Previously we would early out in this situation, this change ensures we still look for KeyframeEffects that require compositor snapshotting. BUG= 657242 Review-Url: https://chromiumcodereview.appspot.com/2427293003 Cr-Commit-Position: refs/heads/master@{#426404} [add] https://crrev.com/7c2e9fef72cd494e3a09599697f015b8ef192fb4/third_party/WebKit/LayoutTests/virtual/threaded/animations/element-animate-positive-delay.html [modify] https://crrev.com/7c2e9fef72cd494e3a09599697f015b8ef192fb4/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
,
Oct 20 2016
|
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by alancutter@chromium.org
, Oct 19 2016