Make use of the new changes in the cssparser that allows 'none' keywords
in color components where allowed. We store the none values as 0.0 (as
per the spec) and mark the components with the flags. This way we don't
have to check anything on the components before doing calculations.
As this is the last part intended to be released for the new [color-4]
changes, I've also enabled the changes on nightly.
Differential Revision: https://phabricator.services.mozilla.com/D170208
Computed color values will not be in the correct format, closer to the
one specified by the author. This also means that colors accross the
code are stored now as AbsoluteColor or StyleAbsoluteColor. This allows
color space/gamut information to be available for use.
Some animation related test failures had to be changed, because colors
now has greater precision. Animated a color now causes a lot more
animation updates, which was not initially expected. See the bug for
discussion.
Differential Revision: https://phabricator.services.mozilla.com/D171021
In stead of having the css parser construct a color in it's own format
and then converting it to what Gecko needs to perform operations, we now
construct a Gecko friendly color type directly.
Differential Revision: https://phabricator.services.mozilla.com/D170187
The color mixing is npw using AbsoluteColor and it's conversion
functions. The result is still being converted back to sRGB for now.
Differential Revision: https://phabricator.services.mozilla.com/D169930
Mixing is now using the new color space for specifying the interpolation
color space. For that reason hsl and hwb is added to the color space
and also converting to/from them.
Differential Revision: https://phabricator.services.mozilla.com/D169929
No functional changes, just moving the code to the shared library in
preperation for replacing it with the new AbsoluteColor.
Differential Revision: https://phabricator.services.mozilla.com/D169928