Просмотр исходного кода

LibWeb: Add ComponentValue::is_function(name) and is_ident(name) helpers

Sam Atkins 1 год назад
Родитель
Сommit
2ef5658f31

+ 10 - 0
Userland/Libraries/LibWeb/CSS/Parser/ComponentValue.cpp

@@ -26,6 +26,16 @@ ComponentValue::ComponentValue(NonnullRefPtr<Block> block)
 
 ComponentValue::~ComponentValue() = default;
 
+bool ComponentValue::is_function(StringView name) const
+{
+    return is_function() && function().name().equals_ignoring_ascii_case(name);
+}
+
+bool ComponentValue::is_ident(StringView ident) const
+{
+    return is(Token::Type::Ident) && token().ident().equals_ignoring_ascii_case(ident);
+}
+
 String ComponentValue::to_string() const
 {
     return m_value.visit(

+ 2 - 0
Userland/Libraries/LibWeb/CSS/Parser/ComponentValue.h

@@ -27,11 +27,13 @@ public:
     Block& block() const { return m_value.get<NonnullRefPtr<Block>>(); }
 
     bool is_function() const { return m_value.has<NonnullRefPtr<Function>>(); }
+    bool is_function(StringView name) const;
     Function& function() const { return m_value.get<NonnullRefPtr<Function>>(); }
 
     bool is_token() const { return m_value.has<Token>(); }
     bool is(Token::Type type) const { return is_token() && token().is(type); }
     bool is_delim(u32 delim) const { return is(Token::Type::Delim) && token().delim() == delim; }
+    bool is_ident(StringView ident) const;
     Token const& token() const { return m_value.get<Token>(); }
     operator Token() const { return m_value.get<Token>(); }