crrev.com/1950243005 adds CompositorAnimationHost as a simple wrapper that is created from CompositorAnimationTimeline::compositorAnimationHost. This is fundamentally wrong because an AnimationHost attaches/contains AnimationTimelines and not the other way around.
See loyso's doc on Project Heaviside:
https://docs.google.com/document/d/11cVwkPIYuelD_k_SNEeRmLYKuvNkqjCG84fzJHZpzW4/edit
The idea is to expose cc::AnimationHost API for blink properly: It should be
small and simple 1:1 wrapper with all the methods gathered in one class.
This involves:
1) Renaming ScrollableArea::compositorAnimationTimeline() to
ScrollableArea::compositorAnimationHost()
2) Move attachCompositorAnimationTimeline / detachCompositorAnimationTimeline
methods from WebLayerTreeView to CompositorAnimationHost (so they become non
virtual).
It requires a couple of rewrites for other callers (Document.cpp
timeline attachment and LinkHighlightsImpl.cpp timeline attachment. It should be
obvious, though).
Having CompositorAnimationHost introduced properly is a critical impact which
opens a road to extend it easily.
See loyso's comments on https://crrev.com/1950243005 for more info.
Comment 1 by loyso@chromium.org
, May 11 2016