New issue
Advanced search Search tips

Issue 891141 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 17
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 888260



Sign in to add a comment

LayerTreeHost::AnimateLayers doesn't always notify about animations which have finished ticking.

Project Member Reported by flackr@chromium.org, Oct 2

Issue description

LayerTreeHost::AnimateLayers uses the begin_frame_args.frame_time to tick animations, but when animations are serviced by PageAnimator::ServiceScriptedAnimations they use the AnimationClock's time which may not match.

For a detailed diagnosis, see debugging in  issue 888260 .

This bug tracks ensuring that LayerTreeHost and blink's animation states match. This blocks  issue 888260  because BGPT does not generate nodes if the animation is no longer current. This may be an issue without BGPT as well but I haven't put together a proof of concept.
 
I have a patch in progress for this at https://chromium-review.googlesource.com/c/chromium/src/+/1256364
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c1f279e1d7037c566b59251909e82db2f59e9da1

commit c1f279e1d7037c566b59251909e82db2f59e9da1
Author: Robert Flack <flackr@chromium.org>
Date: Wed Oct 10 21:49:13 2018

Finish cc::Animation when blink::Animation is no longer current.

Rather than relying on AnimateLayers to detect finished animations, the blink
animation can notify its corresponding cc animation when the current state
changes.

Bug:  891141 
Cq-Include-Trybots: luci.chromium.try:linux-blink-gen-property-trees;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ifca9853512c30585ae45cf68f73718eb274c656e
Reviewed-on: https://chromium-review.googlesource.com/c/1270528
Commit-Queue: Robert Flack <flackr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598524}
[add] https://crrev.com/c1f279e1d7037c566b59251909e82db2f59e9da1/third_party/WebKit/LayoutTests/animations/stability/animation-end-crash-expected.txt
[add] https://crrev.com/c1f279e1d7037c566b59251909e82db2f59e9da1/third_party/WebKit/LayoutTests/animations/stability/animation-end-crash.html
[modify] https://crrev.com/c1f279e1d7037c566b59251909e82db2f59e9da1/third_party/blink/renderer/core/animation/animation.cc

Status: Fixed (was: Started)
This change fixes the crash by notifying from the blink side about finished animations and canceling the composited animation.

Sign in to add a comment