InterpolationTypes are currently associated with a specific property, such that InterpolationType::Apply sets the computed value for that property. This makes it awkward to nest InterpolationTypes, because the inner InterpolationTypes are not necessarily associated with a property.
Example:
Imagine a CSSSimpleListInterpolationType which implements "simple list" interpolation behavior [1]. Such a class could take an "inner" InterpolationType to represent the interpolation of element pairs. The outer list as a whole may be associated with some property (calling ::Apply on it makes sense), but the elements inside that list are not, by themselves, associated with any property (calling ::Apply on them individually does not make sense).
The property association should probably be an optional component of the InterpolationType, to make such nesting more correct.
[1] https://www.w3.org/TR/css-transitions-1/#animtype-simple-list
Comment 1 by smcgruer@chromium.org
, Sep 10