Bladeren bron

LibWeb: Treat CSS calc() values as "builtin_or_dynamic"

Sam Atkins 4 jaren geleden
bovenliggende
commit
21c59efbb9

+ 3 - 3
Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp

@@ -1386,7 +1386,7 @@ Optional<float> Parser::try_parse_float(StringView string)
     return is_negative ? -value : value;
 }
 
-RefPtr<StyleValue> Parser::parse_keyword_or_custom_value(ParsingContext const&, StyleComponentValueRule const& component_value)
+RefPtr<StyleValue> Parser::parse_builtin_or_dynamic_value(ParsingContext const& context, StyleComponentValueRule const& component_value)
 {
     if (component_value.is(Token::Type::Ident)) {
         auto ident = component_value.token().ident();
@@ -1804,8 +1804,8 @@ RefPtr<StyleValue> Parser::parse_css_value(ParsingContext const& context, Proper
         }
     }
 
-    if (auto keyword_or_custom = parse_keyword_or_custom_value(context, component_value))
-        return keyword_or_custom;
+    if (auto builtin_or_dynamic = parse_builtin_or_dynamic_value(context, component_value))
+        return builtin_or_dynamic;
 
     if (auto length = parse_length_value(context, component_value))
         return length;

+ 1 - 1
Userland/Libraries/LibWeb/CSS/Parser/Parser.h

@@ -169,7 +169,7 @@ private:
     static Optional<Length> parse_length(ParsingContext const&, StyleComponentValueRule const&);
     static Optional<URL> parse_url_function(ParsingContext const&, StyleComponentValueRule const&);
 
-    static RefPtr<StyleValue> parse_keyword_or_custom_value(ParsingContext const&, StyleComponentValueRule const&);
+    static RefPtr<StyleValue> parse_builtin_or_dynamic_value(ParsingContext const&, StyleComponentValueRule const&);
     static RefPtr<StyleValue> parse_length_value(ParsingContext const&, StyleComponentValueRule const&);
     static RefPtr<StyleValue> parse_numeric_value(ParsingContext const&, StyleComponentValueRule const&);
     static RefPtr<StyleValue> parse_identifier_value(ParsingContext const&, StyleComponentValueRule const&);

+ 4 - 11
Userland/Libraries/LibWeb/CSS/StyleValue.h

@@ -241,20 +241,13 @@ public:
     bool is_length() const { return type() == Type::Length; }
     bool is_custom_property() const { return type() == Type::CustomProperty; }
     bool is_numeric() const { return type() == Type::Numeric; }
-    bool is_value_list() const
-    {
-        return type() == Type::ValueList;
-    }
-
-    bool is_builtin_or_dynamic() const
-    {
-        return is_inherit() || is_initial() || is_custom_property();
-    }
+    bool is_value_list() const { return type() == Type::ValueList; }
     bool is_box_shadow() const { return type() == Type::BoxShadow; }
+    bool is_calculated() const { return type() == Type::Calculated; }
 
-    bool is_calculated() const
+    bool is_builtin_or_dynamic() const
     {
-        return type() == Type::Calculated;
+        return is_inherit() || is_initial() || is_custom_property() || is_calculated();
     }
 
     virtual String to_string() const = 0;