In CSSProperties.json, properties can be defined with "auto-functions":true, this generates a style builder like static void applyValueOrphans(BuilderState& builderState, CSSValue& value) { if (downcast<CSSPrimitiveValue>(value).valueID() == CSSValueAuto) { builderState.style().setHasAutoOrphans(); return; } builderState.style().setOrphans(downcast<CSSPrimitiveValue>(value)); } However, this is useless if the parser doesn't accept `auto` as a valid keyword! So I think that an error should be reported if parser-grammar doesn't contain "auto", or something like that. Or maybe don't require that but let auto-functions automatically imply that `auto` is a valid keyword. But the current state is bad, it means that orphans:initial doesn't map to any value of its grammar, and getComputedStyle().orphans can return "auto" which is not a supported value. Both `orphans` and `widows` are affected.
<rdar://problem/103180481>