Open Bug 1453224 Opened 6 years ago Updated 2 years ago

Remove nsStyleColor

Categories

(Core :: CSS Parsing and Computation, enhancement, P3)

enhancement

Tracking

()

Tracking Status
firefox61 --- affected

People

(Reporter: xidorn, Unassigned)

References

Details

This style struct has only one 32bit field, it's not worth having a pointer in ComputedStyle and a refcount.

We should either merge it into some inherited struct, or have it embedded into ComputedStyle directly.
(Note that 'color' has to be computed before other properties, so we can determine the meaning of 'currentColor', which is a keyword that all other color-valued properties might use. I'm guessing that's why it's standalone.  But in the new stylo world, maybe this is easy to account for without needing a dedicated style struct.)
All other color values should store currentcolor separately in computed value, i.e. they should use StyleComplexColor instead of mixing color property during computing. Color properties have mostly be updated, but color in other values, e.g. gradient, paint-server, may still need update. At the end, color shouldn't be required to compute before others.

Also Servo uses a property level early/other division, and it doesn't require a whole style struct to be computed together, so it isn't a problem even if we don't have currentcolor in computed value.
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.