mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-21 02:08:12 +03:00
LibWeb: Use new StyleValue parsing for content
This commit is contained in:
parent
c8626f2294
commit
7386ed7cfb
Notes:
sideshowbarker
2024-07-17 14:36:19 +09:00
Author: https://github.com/AtkinsSJ Commit: https://github.com/SerenityOS/serenity/commit/7386ed7cfb Pull-request: https://github.com/SerenityOS/serenity/pull/19028
@ -4997,22 +4997,25 @@ ErrorOr<RefPtr<StyleValue>> Parser::parse_content_value(Vector<ComponentValue> c
|
||||
StyleValueVector alt_text_values;
|
||||
bool in_alt_text = false;
|
||||
|
||||
for (auto const& value : component_values) {
|
||||
if (value.is(Token::Type::Delim) && value.token().delim() == '/') {
|
||||
auto tokens = TokenStream { component_values };
|
||||
while (tokens.has_next_token()) {
|
||||
auto& next = tokens.peek_token();
|
||||
if (next.is(Token::Type::Delim) && next.token().delim() == '/') {
|
||||
if (in_alt_text || content_values.is_empty())
|
||||
return nullptr;
|
||||
in_alt_text = true;
|
||||
(void)tokens.next_token();
|
||||
continue;
|
||||
}
|
||||
auto style_value = TRY(parse_css_value(value));
|
||||
if (style_value && property_accepts_value(PropertyID::Content, *style_value)) {
|
||||
|
||||
if (auto style_value = TRY(parse_css_value_for_property(PropertyID::Content, tokens))) {
|
||||
if (is_single_value_identifier(style_value->to_identifier()))
|
||||
return nullptr;
|
||||
|
||||
if (in_alt_text) {
|
||||
alt_text_values.append(style_value.release_nonnull());
|
||||
TRY(alt_text_values.try_append(style_value.release_nonnull()));
|
||||
} else {
|
||||
content_values.append(style_value.release_nonnull());
|
||||
TRY(content_values.try_append(style_value.release_nonnull()));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user