1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:47:44 +00:00

LibWeb: Implement CSS selector parsing entry points

They're still using the same parsing code, so there's a lot of room
for improvement, but it's good for now.
This commit is contained in:
Sam Atkins 2021-07-03 12:34:25 +01:00 committed by Andreas Kling
parent 004ae453d1
commit a6085e19ae
2 changed files with 49 additions and 20 deletions

View file

@ -62,11 +62,13 @@ public:
Vector<Vector<StyleComponentValueRule>> parse_as_comma_separated_list_of_component_values();
Vector<CSS::Selector::ComplexSelector> parse_selectors(Vector<StyleComponentValueRule> parts);
Optional<Selector> parse_single_selector(Vector<StyleComponentValueRule> parts, bool is_relative = false);
// FIXME: https://www.w3.org/TR/selectors-4/
Optional<String> parse_a_selector() { return {}; }
Optional<String> parse_a_relative_selector() { return {}; }
// Contrary to the name, these parse a comma-separated list of selectors, according to the spec.
Vector<Selector> parse_a_selector();
Vector<Selector> parse_a_selector(Vector<Vector<StyleComponentValueRule>>&);
Vector<Selector> parse_a_relative_selector();
bool match_a_selector_against_an_element() { return false; }
bool match_a_selector_against_a_pseudo_element() { return false; }
bool match_a_selector_against_a_tree() { return false; }