Right now the spec has a sequence of interfaces that inherit from the following one: CSSURLImageValue : CSSImageValue : CSSResourceValue. No other interfaces currently inherit from any of these types.
However, it seems like in the future there will be value types for other CSS image types, such as gradients. It seems logical that a CSSGradientValue type would inherit from CSSImageValue.
However, this raises the question of how CSSResourceValue should behave when it doesn't represent something that needs to be loaded from the network. It seems to me that either:
- the current
CSSResourceValue spec should specify that, or
- another inheritance hierarchy should be used so that gradients wouldn't end up inheriting from
CSSResourceValue