From c9af6c87bf303579bc435911026ca8bf19d140be Mon Sep 17 00:00:00 2001 From: Gabriel Dinner-David Date: Sun, 2 Jul 2023 22:19:19 -0400 Subject: [PATCH] LibWeb: Add ::selection to pseudo elements --- Userland/Libraries/LibWeb/CSS/Selector.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/Selector.h | 3 +++ Userland/Libraries/LibWeb/Dump.cpp | 3 +++ 3 files changed, 8 insertions(+) diff --git a/Userland/Libraries/LibWeb/CSS/Selector.cpp b/Userland/Libraries/LibWeb/CSS/Selector.cpp index 9fb5d880c7..22fee35c36 100644 --- a/Userland/Libraries/LibWeb/CSS/Selector.cpp +++ b/Userland/Libraries/LibWeb/CSS/Selector.cpp @@ -363,6 +363,8 @@ Optional pseudo_element_from_string(StringView name) return Selector::PseudoElement::ProgressValue; } else if (name.equals_ignoring_ascii_case("placeholder"sv)) { return Selector::PseudoElement::Placeholder; + } else if (name.equals_ignoring_ascii_case("selection"sv)) { + return Selector::PseudoElement::Selection; } return {}; } diff --git a/Userland/Libraries/LibWeb/CSS/Selector.h b/Userland/Libraries/LibWeb/CSS/Selector.h index bd20ad111f..80085a6363 100644 --- a/Userland/Libraries/LibWeb/CSS/Selector.h +++ b/Userland/Libraries/LibWeb/CSS/Selector.h @@ -28,6 +28,7 @@ public: ProgressValue, ProgressBar, Placeholder, + Selection, // Keep this last. PseudoElementCount, @@ -231,6 +232,8 @@ constexpr StringView pseudo_element_name(Selector::PseudoElement pseudo_element) return "-webkit-progress-value"sv; case Selector::PseudoElement::Placeholder: return "placeholder"sv; + case Selector::PseudoElement::Selection: + return "selection"sv; case Selector::PseudoElement::PseudoElementCount: break; } diff --git a/Userland/Libraries/LibWeb/Dump.cpp b/Userland/Libraries/LibWeb/Dump.cpp index fb90ee223e..043ba90f11 100644 --- a/Userland/Libraries/LibWeb/Dump.cpp +++ b/Userland/Libraries/LibWeb/Dump.cpp @@ -595,6 +595,9 @@ void dump_selector(StringBuilder& builder, CSS::Selector const& selector) case CSS::Selector::PseudoElement::Placeholder: pseudo_element_description = "placeholder"; break; + case CSS::Selector::PseudoElement::Selection: + pseudo_element_description = "selection"; + break; case CSS::Selector::PseudoElement::PseudoElementCount: VERIFY_NOT_REACHED(); break;