New issue
Advanced search Search tips

Issue 776533 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 430155


Participants' hotlists:
Hotlist-AnimationWorklet
Hostlist-AnimationWorklet-OT


Sign in to add a comment

Animation Worklet - Creating a worklet animation should lead to element promotion

Project Member Reported by majidvp@chromium.org, Oct 19 2017

Issue description

Creating WorkletAnimation that animates effects that can run on
compositor should be a hint in Blink to promote the animating
element.

We do this already for regular animations. It is particularly important
for WorkletAnimations.

smcgruer@: Do you know if this goes away once WorkletAnimation becomes
a sub-class of blink::Animation?
 
Addendum: we should also promote the scroll-source of a ScrollTimeline that is associated with a WorkletAnimation that animates effects that can run on the compositor.

Comment 2 by flackr@chromium.org, Oct 23 2017

Re #1, I'm not sure if promoting the scroller  would be expected (i.e. potential quality degradation) from adding an animation which reacts to the scroll position. It may be that doing this should run the animation on main, probably still compositing the animated elements to be able to more efficiently update their transform frame to frame.
Components: Blink>Animation

Comment 4 by gracec@chromium.org, Oct 27 2017

Blocking: 430155

Comment 5 by gracec@chromium.org, Oct 27 2017

Labels: Update-Monthly

Comment 6 by nainar@chromium.org, Oct 30 2017

Labels: -Type-Bug -Update-Monthly Update-Quarterly Type-Feature
> smcgruer@: Do you know if this goes away once WorkletAnimation becomes
a sub-class of blink::Animation?

Currently WorkletAnimations are not tracked by ElementAnimations.

The promotion logic is really controlled by "ElementAnimations::UpdateAnimationFlags" which updates a bunch of flags on style
indicating if its owner element has an active compositor animation. That is 
used later to decide whether to promote element or not.

 

Just to be clear, the answer to question in #0, yes. But an interim fix
is to have ElementAnimations take into account worklet animations for
a give element and use that to set appropriate flags on the style.
Owner: yigu@chromium.org
Status: Assigned (was: Available)
yigu@ is going to own this issue.
Project Member

Comment 10 by bugdroid1@chromium.org, Feb 23 2018

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

commit 3f5c55244c4cf3623184a74872f9298522f132dc
Author: Yi Gu <yigu@chromium.org>
Date: Fri Feb 23 20:46:27 2018

Composite elements with worklet animations

Elements with worklet animations should be composited to run on cc.
Currently the workaround is asking developers to force promoting the
elements by adding will-change property.

This patch is to composite the affected elements automatically based on
their properties.

Bug:  776533 
Change-Id: I8265e27b5aa3c136a622f8f35b83f770c87b58c6
Reviewed-on: https://chromium-review.googlesource.com/930128
Commit-Queue: Yi Gu <yigu@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538888}
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline.html
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-visual-update.html
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/Source/core/animation/ElementAnimations.cpp
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/Source/core/animation/ElementAnimations.h
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/Source/core/animation/WorkletAnimationBase.h
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.cpp
[modify] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.h
[add] https://crrev.com/3f5c55244c4cf3623184a74872f9298522f132dc/third_party/WebKit/Source/modules/animationworklet/WorkletAnimationTest.cpp

Comment 11 by yigu@chromium.org, Feb 23 2018

Status: Fixed (was: Assigned)
Closing the bug as there is no intention to promote scrollers mentioned in #1.
Cc: yigu@chromium.org
Owner: smcgruer@chromium.org
Status: Assigned (was: Fixed)
It was decided that we will be promoting scrollers for the origin trial, to be reverted once we can interact with Animation Worklets from the main thread (at which point we will just fallback to main instead).
Status: Started (was: Assigned)
Summary: Animation Worklet - Creating a worklet animation should lead to element promotion (was: AnimationWorklet - Creating a worklet animation should lead to element promotion)
Project Member

Comment 14 by bugdroid1@chromium.org, May 7 2018

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

commit ddd9f0eec9abf574e6995f9034fa519e069fa1fd
Author: Stephen McGruer <smcgruer@chromium.org>
Date: Mon May 07 20:03:13 2018

Composite ScrollTimeline scrollSource when appropriate.

This CL makes being the scrollSource of an active (i.e. the scrollSource is
scrollable) and attached (i.e. it is being used by at least one WorkletAnimation
as a timeline) ScrollTimeline a compositing reason. It does not change the
requirement that the scrollSource must be composited for the WorkletAnimation to
be sent to the compositor, nor does it change the case where a scrollSource stops
being composited whilst a WorkletAnimation is running. Those will be addressed in
follow-up CLs.

Bug:  776533 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Icae43e1c9cfe2720cc739401c4766b592571f231
Reviewed-on: https://chromium-review.googlesource.com/1036934
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556541}
[modify] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline.html
[modify] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/blink/renderer/core/animation/scroll_timeline.cc
[modify] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/blink/renderer/core/animation/scroll_timeline.h
[add] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/blink/renderer/core/animation/scroll_timeline_test.cc
[modify] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
[modify] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/ddd9f0eec9abf574e6995f9034fa519e069fa1fd/third_party/blink/renderer/platform/graphics/compositing_reasons.h

Project Member

Comment 15 by bugdroid1@chromium.org, May 8 2018

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

commit 91ec2e890254df288e3fb6b05363417fcb86ed48
Author: Kunihiko Sakamoto <ksakamoto@chromium.org>
Date: Tue May 08 05:55:16 2018

Revert "Composite ScrollTimeline scrollSource when appropriate."

This reverts commit ddd9f0eec9abf574e6995f9034fa519e069fa1fd.

Reason for revert: Speculative revert for animation-worklet-scroll-timeline.html failure on WebKit Linux Trusty Leak bot.
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20Leak/18614


Original change's description:
> Composite ScrollTimeline scrollSource when appropriate.
> 
> This CL makes being the scrollSource of an active (i.e. the scrollSource is
> scrollable) and attached (i.e. it is being used by at least one WorkletAnimation
> as a timeline) ScrollTimeline a compositing reason. It does not change the
> requirement that the scrollSource must be composited for the WorkletAnimation to
> be sent to the compositor, nor does it change the case where a scrollSource stops
> being composited whilst a WorkletAnimation is running. Those will be addressed in
> follow-up CLs.
> 
> Bug:  776533 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: Icae43e1c9cfe2720cc739401c4766b592571f231
> Reviewed-on: https://chromium-review.googlesource.com/1036934
> Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
> Reviewed-by: Majid Valipour <majidvp@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#556541}

TBR=pdr@chromium.org,majidvp@chromium.org,smcgruer@chromium.org

Change-Id: I615c3bfd9b9c6346b3a521a6922af3f56da6c308
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  776533 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/1049207
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556703}
[modify] https://crrev.com/91ec2e890254df288e3fb6b05363417fcb86ed48/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline.html
[modify] https://crrev.com/91ec2e890254df288e3fb6b05363417fcb86ed48/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/91ec2e890254df288e3fb6b05363417fcb86ed48/third_party/blink/renderer/core/animation/scroll_timeline.cc
[modify] https://crrev.com/91ec2e890254df288e3fb6b05363417fcb86ed48/third_party/blink/renderer/core/animation/scroll_timeline.h
[delete] https://crrev.com/e7d6c93d3852fd261369392eb1e8898725a050b5/third_party/blink/renderer/core/animation/scroll_timeline_test.cc
[modify] https://crrev.com/91ec2e890254df288e3fb6b05363417fcb86ed48/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
[modify] https://crrev.com/91ec2e890254df288e3fb6b05363417fcb86ed48/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/91ec2e890254df288e3fb6b05363417fcb86ed48/third_party/blink/renderer/platform/graphics/compositing_reasons.h

Crash was from the DCHECK I added in Detach. Strangely only reproduces with --enable-leak-detection, perhaps some sort of race.

[1:1:0508/075013.407071:FATAL:scroll_timeline.cc(163)] Check failed: GetActiveScrollTimelineSet().Contains(scroll_source_). 
#0 0x7fa974bae21d base::debug::StackTrace::StackTrace()
#1 0x7fa9748d84bc base::debug::StackTrace::StackTrace()
#2 0x7fa974949fba logging::LogMessage::~LogMessage()
#3 0x7fa9647c5244 blink::ScrollTimeline::DetachAnimation()
#4 0x7fa960f87302 blink::WorkletAnimation::Dispose()
#5 0x7fa960f89fbc blink::WorkletAnimation::InvokePreFinalizer()
The DCHECK is definitely wrong. I can trigger this manually with the attached test-case, with --js-flags="--expose-gc" set.

I suspect the scroll_source_ is gone, so the hash-set for it is cleared, but that's strange because I thought the ScrollTimeline would keep it alive.
scroll_timeline_crash.html
1.3 KB View Download
I root-caused the crash, and posted to platform-architecture-dev@ to check expectations (https://groups.google.com/a/chromium.org/forum/#!topic/platform-architecture-dev/_QWVtLPYz7k).
Project Member

Comment 19 by bugdroid1@chromium.org, May 9 2018

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

commit 48f503a88abc242e8aba16ac1f6ec7eac6d104c3
Author: Stephen McGruer <smcgruer@chromium.org>
Date: Wed May 09 22:38:57 2018

Reland "Composite ScrollTimeline scrollSource when appropriate."

This is a reland of ddd9f0eec9abf574e6995f9034fa519e069fa1fd

Original change's description:
> Composite ScrollTimeline scrollSource when appropriate.
>
> This CL makes being the scrollSource of an active (i.e. the scrollSource is
> scrollable) and attached (i.e. it is being used by at least one WorkletAnimation
> as a timeline) ScrollTimeline a compositing reason. It does not change the
> requirement that the scrollSource must be composited for the WorkletAnimation to
> be sent to the compositor, nor does it change the case where a scrollSource stops
> being composited whilst a WorkletAnimation is running. Those will be addressed in
> follow-up CLs.
>
> Bug:  776533 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: Icae43e1c9cfe2720cc739401c4766b592571f231
> Reviewed-on: https://chromium-review.googlesource.com/1036934
> Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
> Reviewed-by: Majid Valipour <majidvp@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#556541}

TBR=pdr@chromium.org

Bug:  776533 
Change-Id: I36cde2bb53e4c24fc57caef1e33f8dcac159ec77
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/1050547
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557347}
[add] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-dispose.html
[modify] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline.html
[modify] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/blink/renderer/core/animation/scroll_timeline.cc
[modify] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/blink/renderer/core/animation/scroll_timeline.h
[add] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/blink/renderer/core/animation/scroll_timeline_test.cc
[modify] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
[modify] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/48f503a88abc242e8aba16ac1f6ec7eac6d104c3/third_party/blink/renderer/platform/graphics/compositing_reasons.h

Project Member

Comment 20 by bugdroid1@chromium.org, May 10 2018

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

commit 35bab68abc419e3242d5388c7292c3fc1a338099
Author: Daniel Murphy <dmurph@chromium.org>
Date: Thu May 10 18:02:00 2018

Revert "Reland "Composite ScrollTimeline scrollSource when appropriate.""

This reverts commit 48f503a88abc242e8aba16ac1f6ec7eac6d104c3.

Reason for revert: Failing the Linux Trusty Leak bot

Original change's description:
> Reland "Composite ScrollTimeline scrollSource when appropriate."
> 
> This is a reland of ddd9f0eec9abf574e6995f9034fa519e069fa1fd
> 
> Original change's description:
> > Composite ScrollTimeline scrollSource when appropriate.
> >
> > This CL makes being the scrollSource of an active (i.e. the scrollSource is
> > scrollable) and attached (i.e. it is being used by at least one WorkletAnimation
> > as a timeline) ScrollTimeline a compositing reason. It does not change the
> > requirement that the scrollSource must be composited for the WorkletAnimation to
> > be sent to the compositor, nor does it change the case where a scrollSource stops
> > being composited whilst a WorkletAnimation is running. Those will be addressed in
> > follow-up CLs.
> >
> > Bug:  776533 
> > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> > Change-Id: Icae43e1c9cfe2720cc739401c4766b592571f231
> > Reviewed-on: https://chromium-review.googlesource.com/1036934
> > Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
> > Reviewed-by: Majid Valipour <majidvp@chromium.org>
> > Reviewed-by: Philip Rogers <pdr@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#556541}
> 
> TBR=pdr@chromium.org
> 
> Bug:  776533 
> Change-Id: I36cde2bb53e4c24fc57caef1e33f8dcac159ec77
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Reviewed-on: https://chromium-review.googlesource.com/1050547
> Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
> Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
> Reviewed-by: Majid Valipour <majidvp@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#557347}

TBR=pdr@chromium.org,majidvp@chromium.org,smcgruer@chromium.org

Change-Id: Ia89e6d42ef89fceebb1630dcdcbe3b1af6c71964
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  776533 ,  841844 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/1054116
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557583}
[delete] https://crrev.com/0ae5186d1bf72bd375c5cf14c7a762806fe0f29d/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-dispose.html
[modify] https://crrev.com/35bab68abc419e3242d5388c7292c3fc1a338099/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline.html
[modify] https://crrev.com/35bab68abc419e3242d5388c7292c3fc1a338099/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/35bab68abc419e3242d5388c7292c3fc1a338099/third_party/blink/renderer/core/animation/scroll_timeline.cc
[modify] https://crrev.com/35bab68abc419e3242d5388c7292c3fc1a338099/third_party/blink/renderer/core/animation/scroll_timeline.h
[delete] https://crrev.com/0ae5186d1bf72bd375c5cf14c7a762806fe0f29d/third_party/blink/renderer/core/animation/scroll_timeline_test.cc
[modify] https://crrev.com/35bab68abc419e3242d5388c7292c3fc1a338099/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
[modify] https://crrev.com/35bab68abc419e3242d5388c7292c3fc1a338099/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/35bab68abc419e3242d5388c7292c3fc1a338099/third_party/blink/renderer/platform/graphics/compositing_reasons.h

Project Member

Comment 21 by bugdroid1@chromium.org, May 11 2018

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

commit b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51
Author: Stephen McGruer <smcgruer@chromium.org>
Date: Fri May 11 15:31:01 2018

Reland "Composite ScrollTimeline scrollSource when appropriate."

This is a reland of 48f503a88abc242e8aba16ac1f6ec7eac6d104c3

Original change's description:
> Composite ScrollTimeline scrollSource when appropriate.
>
> This CL makes being the scrollSource of an active (i.e. the scrollSource is
> scrollable) and attached (i.e. it is being used by at least one WorkletAnimation
> as a timeline) ScrollTimeline a compositing reason. It does not change the
> requirement that the scrollSource must be composited for the WorkletAnimation to
> be sent to the compositor, nor does it change the case where a scrollSource stops
> being composited whilst a WorkletAnimation is running. Those will be addressed in
> follow-up CLs.
>
> Bug:  776533 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: Icae43e1c9cfe2720cc739401c4766b592571f231
> Reviewed-on: https://chromium-review.googlesource.com/1036934
> Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
> Reviewed-by: Majid Valipour <majidvp@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#556541}

Bug:  776533 
Change-Id: Ideda71c9dcb54dc94dd7ebf837a84890861030b9
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/1054252
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557889}
[add] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-dispose.html
[modify] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline.html
[modify] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/blink/renderer/core/animation/scroll_timeline.cc
[modify] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/blink/renderer/core/animation/scroll_timeline.h
[add] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/blink/renderer/core/animation/scroll_timeline_test.cc
[modify] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
[modify] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/b01f95e1e0c5fbbbefd00d3f39781c81d5a8ad51/third_party/blink/renderer/platform/graphics/compositing_reasons.h

Project Member

Comment 22 by bugdroid1@chromium.org, Jun 14 2018

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

commit 7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7
Author: Stephen McGruer <smcgruer@chromium.org>
Date: Thu Jun 14 12:52:37 2018

Dynamically update cc::ScrollTimeline if scroll source changes compositing state

Previously if the scroll source was not initially composited then the cc-side
ScrollTimeline would never get a valid ElementId. This CL fixes that; we now
update the cc side ScrollTimeline every time the scroll source changes
compositing state.

Bug:  776533 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0e8e37d867c4a4708fee6f4d0adf6e6e86ecfaff
Reviewed-on: https://chromium-review.googlesource.com/1055881
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567234}
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/animation.h
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/animation_host.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/animation_host.h
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/scroll_timeline.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/scroll_timeline.h
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/scroll_timeline_unittest.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/worklet_animation.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/worklet_animation.h
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/animation/worklet_animation_unittest.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/test/animation_timelines_test_common.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/cc/trees/mutator_host.h
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-display-none-expected.html
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-display-none.html
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-dynamic-update-expected.html
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-dynamic-update.html
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-non-compositable-expected.html
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-non-compositable.html
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-overflow-hidden-expected.html
[add] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-scroll-timeline-overflow-hidden.html
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/core/animation/scroll_timeline.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/core/animation/worklet_animation_base.h
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/core/animation/worklet_animation_controller.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/core/animation/worklet_animation_controller.h
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/core/paint/compositing/compositing_layer_assigner.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/modules/animationworklet/worklet_animation.h
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/platform/animation/compositor_animation.cc
[modify] https://crrev.com/7c8cd0bf2bec45b5688dfbe0ea8b7f3b55afdab7/third_party/blink/renderer/platform/animation/compositor_animation.h

Status: Fixed (was: Started)

Sign in to add a comment