LibWeb: Generate pseudo-element code from JSON

Initially, this generates the enum and to/from-string functions. The
JSON itself contains more data than that, but it's unused for now.
This commit is contained in:
Sam Atkins 2025-03-19 14:58:22 +00:00
commit ffa1dba96a
Notes: github-actions[bot] 2025-03-24 09:51:30 +00:00
14 changed files with 244 additions and 106 deletions

View file

@ -46,6 +46,15 @@ function (generate_css_implementation)
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/PseudoClasses.json"
)
invoke_generator(
"PseudoElement.cpp"
Lagom::GenerateCSSPseudoElement
"${LIBWEB_INPUT_FOLDER}/CSS/PseudoElements.json"
"CSS/PseudoElement.h"
"CSS/PseudoElement.cpp"
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/PseudoElements.json"
)
invoke_generator(
"TransformFunctions.cpp"
Lagom::GenerateCSSTransformFunctions
@ -115,6 +124,7 @@ function (generate_css_implementation)
"CSS/MediaFeatureID.h"
"CSS/PropertyID.h"
"CSS/PseudoClass.h"
"CSS/PseudoElement.h"
"CSS/TransformFunctions.h"
)
list(TRANSFORM CSS_GENERATED_HEADERS PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")