WebKit just implemented the revert keyword. It's more useful than unset, when used with the all shorthand, so I think we should implement it too.
We should be able to just have an additional array on nsRuleData that stores the level each nsCSSValue came from. Then when we encounter revert and have a non-eCSSUnit_Null value on the nsRuleData in a MapRuleInfoInto, we can overwrite the value with eCSSUnit_null if the current mLevel is greater than the level we have in the array. We'll also need to adjust the RuleDetail that gets returned from CheckSpecifiedProperties when we encounter revert.
Could someone add [parity-safari] to the Whiteboard?
Update MDN docs:
This feature turns out to be crucial to a nextgen CSS framework I am working on, but I also think it would be useful for the average developer.
FWIW, you can use "revert" today in most browsers by doing ```property:var(--\\revert)``` instead.
No that is not a dirty hack ^_^ You are welcome :-)