Open Bug 1454823 Opened 2 years ago Updated 10 months ago

Make it clear what being INTERNAL means for a CSS property

Categories

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

enhancement

Tracking

()

Tracking Status
firefox61 --- affected

People

(Reporter: xidorn, Unassigned)

References

Details

There is a CSS property flag CSS_PROPERTY_INTERNAL, which we currently apply to all properties which are never exposed to content (i.e. not pref-controlled and have enabled_in restriction) plus two other properties: -moz-context-properties and -moz-control-character-visibility.

This flag is currently used to avoid a property from being accessible via CSSOM, but this is not really what the word "internal" means.

We probably should audit the usage of this flag, and either rename it or remove it.
Priority: -- → P3

On IRC:

<Mardak> is it expected that node.style = "-moz-context-properties: fill"; has node.style[0] === "-moz-context-properties" but there's no style.MozContextProperties or stye['-moz-context-properties'] ?

so maybe we're not even consistently hiding these properties from the CSSOM, if they're visible through the indexed getter.

I ran into this when testing bug 1513311 where we iterate over all properties to check if the value is allowed. [...node.style] had an entry for "-moz-context-properties" and trying to access it resulted in undefined. So as a workaround, I just treat it as an empty value for now…

This would be a bit problematic if we actually wanted to disallow a specific value of -moz-context-properties, but we don't care in this case.

See Also: → 1513311

We should just make the two cases that are exposed to content either fully exposed or fully hidden. That CSS_PROPERTY_INTERNAL flag should only be used for restricted properties, which would not parse in content at all.

You need to log in before you can comment on or make changes to this bug.