LibHTML: Handle CSS declarations that don't end in ';'

This commit is contained in:
Andreas Kling 2019-10-09 18:42:08 +02:00
parent 2ac190dc5f
commit 59795aab41

View file

@ -114,12 +114,14 @@ public:
char consume_specific(char ch)
{
PARSE_ASSERT(peek() == ch);
PARSE_ASSERT(index < css.length());
++index;
return ch;
}
char consume_one()
{
PARSE_ASSERT(index < css.length());
return css[index++];
};
@ -237,12 +239,12 @@ public:
bool is_valid_property_name_char(char ch) const
{
return !isspace(ch) && ch != ':';
return ch && !isspace(ch) && ch != ':';
}
bool is_valid_property_value_char(char ch) const
{
return ch != '!' && ch != ';';
return ch && ch != '!' && ch != ';';
}
Optional<StyleProperty> parse_property()
@ -280,7 +282,7 @@ public:
consume_whitespace();
is_important = true;
}
if (peek() != '}')
if (peek() && peek() != '}')
consume_specific(';');
return StyleProperty { parse_css_property_id(property_name), parse_css_value(property_value), is_important };