mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-19 15:32:31 +00:00
LibWeb/CSS: Move and rename PseudoElement types to prep for code gen
The upcoming generated types will match those for pseudo-classes: A PseudoElementSelector type, that then holds a PseudoElement enum defining what it is. That enum will be at the top level in the Web::CSS namespace. In order to keep the diffs clearer, this commit renames and moves the types, and then a following one will replace the handwritten enum with a generated one.
This commit is contained in:
parent
40760308c6
commit
eb1ad8655e
42 changed files with 270 additions and 271 deletions
|
@ -535,70 +535,70 @@ String serialize_a_group_of_selectors(SelectorList const& selectors)
|
|||
return MUST(String::join(", "sv, selectors));
|
||||
}
|
||||
|
||||
StringView Selector::PseudoElement::name(Selector::PseudoElement::Type pseudo_element)
|
||||
StringView Selector::PseudoElementSelector::name(PseudoElement pseudo_element)
|
||||
{
|
||||
switch (pseudo_element) {
|
||||
case Selector::PseudoElement::Type::Before:
|
||||
case PseudoElement::Before:
|
||||
return "before"sv;
|
||||
case Selector::PseudoElement::Type::After:
|
||||
case PseudoElement::After:
|
||||
return "after"sv;
|
||||
case Selector::PseudoElement::Type::FirstLine:
|
||||
case PseudoElement::FirstLine:
|
||||
return "first-line"sv;
|
||||
case Selector::PseudoElement::Type::FirstLetter:
|
||||
case PseudoElement::FirstLetter:
|
||||
return "first-letter"sv;
|
||||
case Selector::PseudoElement::Type::Marker:
|
||||
case PseudoElement::Marker:
|
||||
return "marker"sv;
|
||||
case Selector::PseudoElement::Type::Track:
|
||||
case PseudoElement::Track:
|
||||
return "track"sv;
|
||||
case Selector::PseudoElement::Type::Fill:
|
||||
case PseudoElement::Fill:
|
||||
return "fill"sv;
|
||||
case Selector::PseudoElement::Type::Thumb:
|
||||
case PseudoElement::Thumb:
|
||||
return "thumb"sv;
|
||||
case Selector::PseudoElement::Type::Placeholder:
|
||||
case PseudoElement::Placeholder:
|
||||
return "placeholder"sv;
|
||||
case Selector::PseudoElement::Type::Selection:
|
||||
case PseudoElement::Selection:
|
||||
return "selection"sv;
|
||||
case Selector::PseudoElement::Type::Backdrop:
|
||||
case PseudoElement::Backdrop:
|
||||
return "backdrop"sv;
|
||||
case Selector::PseudoElement::Type::FileSelectorButton:
|
||||
case PseudoElement::FileSelectorButton:
|
||||
return "file-selector-button"sv;
|
||||
case Selector::PseudoElement::Type::DetailsContent:
|
||||
case PseudoElement::DetailsContent:
|
||||
return "details-content"sv;
|
||||
case Selector::PseudoElement::Type::KnownPseudoElementCount:
|
||||
case Selector::PseudoElement::Type::UnknownWebKit:
|
||||
case PseudoElement::KnownPseudoElementCount:
|
||||
case PseudoElement::UnknownWebKit:
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
Optional<Selector::PseudoElement> Selector::PseudoElement::from_string(FlyString const& name)
|
||||
Optional<Selector::PseudoElementSelector> Selector::PseudoElementSelector::from_string(FlyString const& name)
|
||||
{
|
||||
if (name.equals_ignoring_ascii_case("after"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::After };
|
||||
return Selector::PseudoElementSelector { PseudoElement::After };
|
||||
} else if (name.equals_ignoring_ascii_case("before"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Before };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Before };
|
||||
} else if (name.equals_ignoring_ascii_case("first-letter"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::FirstLetter };
|
||||
return Selector::PseudoElementSelector { PseudoElement::FirstLetter };
|
||||
} else if (name.equals_ignoring_ascii_case("first-line"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::FirstLine };
|
||||
return Selector::PseudoElementSelector { PseudoElement::FirstLine };
|
||||
} else if (name.equals_ignoring_ascii_case("marker"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Marker };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Marker };
|
||||
} else if (name.equals_ignoring_ascii_case("track"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Track };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Track };
|
||||
} else if (name.equals_ignoring_ascii_case("fill"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Fill };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Fill };
|
||||
} else if (name.equals_ignoring_ascii_case("thumb"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Thumb };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Thumb };
|
||||
} else if (name.equals_ignoring_ascii_case("placeholder"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Placeholder };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Placeholder };
|
||||
} else if (name.equals_ignoring_ascii_case("selection"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Selection };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Selection };
|
||||
} else if (name.equals_ignoring_ascii_case("backdrop"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::Backdrop };
|
||||
return Selector::PseudoElementSelector { PseudoElement::Backdrop };
|
||||
} else if (name.equals_ignoring_ascii_case("file-selector-button"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::FileSelectorButton };
|
||||
return Selector::PseudoElementSelector { PseudoElement::FileSelectorButton };
|
||||
} else if (name.equals_ignoring_ascii_case("details-content"sv)) {
|
||||
return Selector::PseudoElement { Selector::PseudoElement::Type::DetailsContent };
|
||||
return Selector::PseudoElementSelector { PseudoElement::DetailsContent };
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
@ -636,7 +636,7 @@ bool Selector::contains_unknown_webkit_pseudo_element() const
|
|||
}
|
||||
}
|
||||
}
|
||||
if (simple_selector.type == SimpleSelector::Type::PseudoElement && simple_selector.pseudo_element().type() == PseudoElement::Type::UnknownWebKit)
|
||||
if (simple_selector.type == SimpleSelector::Type::PseudoElement && simple_selector.pseudo_element().type() == PseudoElement::UnknownWebKit)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -828,7 +828,7 @@ SelectorList adapt_nested_relative_selector_list(SelectorList const& selectors)
|
|||
}
|
||||
|
||||
// https://drafts.csswg.org/selectors/#has-allowed-pseudo-element
|
||||
bool is_has_allowed_pseudo_element(Selector::PseudoElement::Type)
|
||||
bool is_has_allowed_pseudo_element(PseudoElement)
|
||||
{
|
||||
// No spec currently defines any pseudo-elements that are allowed in :has()
|
||||
return false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue