LibWeb: Implement ::file-selector-button pseudo element

The button for a file input now matches `::file-selector-button`.
This commit is contained in:
Luke Warlow 2024-11-30 22:41:00 +00:00 committed by Sam Atkins
commit fdee82d203
Notes: github-actions[bot] 2024-12-05 10:50:48 +00:00
8 changed files with 48 additions and 1 deletions

View file

@ -48,7 +48,7 @@ input::placeholder, textarea::placeholder {
line-height: initial;
}
button, input[type=submit], input[type=button], input[type=reset], select {
button, input[type=submit], input[type=button], input[type=reset], select, ::file-selector-button {
padding: 1px 4px;
background-color: ButtonFace;
border: 1px solid ButtonBorder;

View file

@ -518,6 +518,8 @@ StringView Selector::PseudoElement::name(Selector::PseudoElement::Type pseudo_el
return "-webkit-slider-thumb"sv;
case Selector::PseudoElement::Type::Backdrop:
return "backdrop"sv;
case Selector::PseudoElement::Type::FileSelectorButton:
return "file-selector-button"sv;
case Selector::PseudoElement::Type::KnownPseudoElementCount:
break;
case Selector::PseudoElement::Type::UnknownWebKit:
@ -556,6 +558,8 @@ Optional<Selector::PseudoElement> Selector::PseudoElement::from_string(FlyString
return Selector::PseudoElement { Selector::PseudoElement::Type::Selection };
} else if (name.equals_ignoring_ascii_case("backdrop"sv)) {
return Selector::PseudoElement { Selector::PseudoElement::Type::Backdrop };
} else if (name.equals_ignoring_ascii_case("file-selector-button"sv)) {
return Selector::PseudoElement { Selector::PseudoElement::Type::FileSelectorButton };
} else if (name.equals_ignoring_ascii_case("-webkit-slider-runnable-track"sv)) {
return Selector::PseudoElement { Selector::PseudoElement::Type::SliderRunnableTrack };
} else if (name.equals_ignoring_ascii_case("-webkit-slider-thumb"sv)) {

View file

@ -41,6 +41,7 @@ public:
SliderRunnableTrack,
SliderThumb,
Backdrop,
FileSelectorButton,
// Keep this last.
KnownPseudoElementCount,