1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:28:12 +00:00

LibWeb: Fix pseudo-element selector serialization

We want to check the last SimpleSelector, not the first one. We don't
have to check that a SimpleSelector exists since a CompoundSelector
without one is invalid.
This commit is contained in:
Sam Atkins 2021-10-15 11:53:23 +01:00 committed by Linus Groh
parent 3deb58e4bc
commit e5d3a9d10b

View file

@ -214,12 +214,11 @@ String Selector::serialize() const
break;
}
} else {
// 4. If this is the last part of the chain of the selector and there is a pseudo-element, append "::" followed by the name of the pseudo-element, to s.
// FIXME: This doesn't feel entirely correct. Our model of pseudo-elements seems off.
if (!compound_selector.simple_selectors.is_empty()
&& compound_selector.simple_selectors.first().type == Selector::SimpleSelector::Type::PseudoElement) {
// 4. If this is the last part of the chain of the selector and there is a pseudo-element,
// append "::" followed by the name of the pseudo-element, to s.
if (compound_selector.simple_selectors.last().type == Selector::SimpleSelector::Type::PseudoElement) {
s.append("::");
s.append(pseudo_element_name(compound_selector.simple_selectors.first().pseudo_element));
s.append(pseudo_element_name(compound_selector.simple_selectors.last().pseudo_element));
}
}
}