Problems with the currentColor implementation
Our currentColor implementation resolves currentColor to an RGBA value at compute time. That does not give the expected result, since the css specs say: "currentColor computes to currentColor" and "the used value of currentColor is the color of the style, and the used value of 'color: currentColor' is the color of the parent style". As an example,
parent {
color: red;
caret-color: currentColor;
}
child {
color: blue;
caret-color: inherit;
}
our implementation will yield a caret-color of red for the child. whereas web browsers give blue. What happens is that the parent uses the initial value of currentColor, which gets resolved at compute time to red, and the child inherits the computed value. Web browsers instead have a computed value of currentColor in the parent, inherit that, and then at use time, figure out that they need to use blue.
Changing our implementation to do this is complicated, since currentColor is allowed anywhere a color can be used, such as in shadow or gradient specs, or deep inside color expressions.