1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 06:37:43 +00:00

LibWeb: Return FlyString const& from CSS::Parser::Token

This allows us to not need to convert back to a FlyString when we need
one.
This commit is contained in:
Shannon Booth 2023-11-26 10:40:08 +13:00 committed by Andreas Kling
parent b9902fef36
commit 6813dcaff8
3 changed files with 21 additions and 21 deletions

View file

@ -1152,7 +1152,7 @@ Optional<AK::URL> Parser::parse_url_function(ComponentValue const& component_val
{
// FIXME: Handle list of media queries. https://www.w3.org/TR/css-cascade-3/#conditional-import
auto convert_string_to_url = [&](StringView& url_string) -> Optional<AK::URL> {
auto convert_string_to_url = [&](StringView url_string) -> Optional<AK::URL> {
auto url = m_context.complete_url(url_string);
if (url.is_valid())
return url;
@ -1367,9 +1367,9 @@ CSSRule* Parser::convert_to_rule(NonnullRefPtr<Rule> rule)
FlyString namespace_uri;
if (token.is(Token::Type::String)) {
namespace_uri = MUST(FlyString::from_utf8(token.token().string()));
namespace_uri = token.token().string();
} else if (auto url = parse_url_function(token); url.has_value()) {
namespace_uri = MUST(FlyString::from_deprecated_fly_string(url.value().to_deprecated_string()));
namespace_uri = MUST(url.value().to_string());
} else {
dbgln_if(CSS_PARSER_DEBUG, "CSSParser: @namespace rule invalid; discarding.");
return {};
@ -4144,7 +4144,7 @@ CSSRule* Parser::parse_font_face_rule(TokenStream<ComponentValue>& tokens)
if (declaration.name().equals_ignoring_ascii_case("font-family"sv)) {
// FIXME: This is very similar to, but different from, the logic in parse_font_family_value().
// Ideally they could share code.
Vector<DeprecatedString> font_family_parts;
Vector<FlyString> font_family_parts;
bool had_syntax_error = false;
for (size_t i = 0; i < declaration.values().size(); ++i) {
auto const& part = declaration.values()[i];
@ -4171,7 +4171,7 @@ CSSRule* Parser::parse_font_face_rule(TokenStream<ComponentValue>& tokens)
had_syntax_error = true;
break;
}
font_family_parts.append(part.token().ident().bytes_as_string_view());
font_family_parts.append(part.token().ident());
continue;
}