Currently WorkletAnimationPlayer has (or will have, once https://chromium-review.googlesource.com/c/chromium/src/+/738437 lands) a ScrollTimeline pointer. If this pointer is invalid, we assume the animation is DocumentTimeline based instead and generate the current time ourselves.
As DocumentTimeline allows for a per-instance origin offset, we need to have an actual object representing that. Once we have a cc::DocumentTimeline, we should update WorkletAnimationPlayer to have either a ScrollTimeline or a DocumentTimeline pointer (which must be valid), likely via a common AnimationTimeline super-class.
Comment 1 by smcgruer@chromium.org
, Oct 31 2017