mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-19 15:32:31 +00:00
LibWeb/SVG: Implement resolution for a subset of SVG filters
This commit is contained in:
parent
5d85959f5f
commit
635adc8aa7
Notes:
github-actions[bot]
2025-07-09 17:08:27 +00:00
Author: https://github.com/ananas-dev
Commit: 635adc8aa7
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5028
Reviewed-by: https://github.com/gmta ✅
10 changed files with 161 additions and 17 deletions
|
@ -5049,11 +5049,11 @@ RefPtr<CSSStyleValue const> Parser::parse_filter_value_list_value(TokenStream<Co
|
|||
return {};
|
||||
};
|
||||
|
||||
auto parse_filter_function = [&](auto filter_token, auto const& function_values) -> Optional<FilterFunction> {
|
||||
auto parse_filter_function = [&](auto filter_token, auto const& function_values) -> Optional<FilterValue> {
|
||||
TokenStream tokens { function_values };
|
||||
tokens.discard_whitespace();
|
||||
|
||||
auto if_no_more_tokens_return = [&](auto filter) -> Optional<FilterFunction> {
|
||||
auto if_no_more_tokens_return = [&](auto filter) -> Optional<FilterValue> {
|
||||
tokens.discard_whitespace();
|
||||
if (tokens.has_next_token())
|
||||
return {};
|
||||
|
@ -5149,12 +5149,19 @@ RefPtr<CSSStyleValue const> Parser::parse_filter_value_list_value(TokenStream<Co
|
|||
}
|
||||
};
|
||||
|
||||
Vector<FilterFunction> filter_value_list {};
|
||||
Vector<FilterValue> filter_value_list {};
|
||||
|
||||
while (tokens.has_next_token()) {
|
||||
tokens.discard_whitespace();
|
||||
if (!tokens.has_next_token())
|
||||
break;
|
||||
|
||||
auto url_function = parse_url_function(tokens);
|
||||
if (url_function.has_value()) {
|
||||
filter_value_list.append(*url_function);
|
||||
continue;
|
||||
}
|
||||
|
||||
auto& token = tokens.consume_a_token();
|
||||
if (!token.is_function())
|
||||
return nullptr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue