Consider merging https://chromium.googlesource.com/chromium/blink/+/bdbfdcc73187f8d43216148495a51ab725487609 Developers can now write C++ functions code like the following instead of manually branching on the identifier length and on the characters appearing at each position. SWITCH(characters, nameLength) { CASE("skew(") { ... } CASE("scale(") { .. } CASE("skewx(") { .. } } Code generation expands the SWITCH into nested branching statements.
We adopted CSS Parser from Blink, so I think this might not be needed.