mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 09:45:06 +02:00
LibWeb/CSS: Return unit names as FlyStrings
From the CSS token side, we already have these in FlyString form. From the generated code side, we can easily return FlyStrings instead of StringViews. So, let's do that, and save some work converting back and forth.
This commit is contained in:
committed by
Jelle Raaijmakers
parent
59c4076066
commit
995c19da56
Notes:
github-actions[bot]
2025-09-12 11:47:21 +00:00
Author: https://github.com/AtkinsSJ Commit: https://github.com/LadybirdBrowser/ladybird/commit/995c19da562 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6162 Reviewed-by: https://github.com/gmta ✅
@@ -120,6 +120,7 @@ ErrorOr<void> generate_header_file(JsonObject& dimensions_data, Core::File& file
|
||||
generator.append(R"~~~(
|
||||
#pragma once
|
||||
|
||||
#include <AK/FlyString.h>
|
||||
#include <AK/Optional.h>
|
||||
|
||||
namespace Web::CSS {
|
||||
@@ -157,7 +158,7 @@ enum class @dimension_name:titlecase@Unit : @enum_type@ {
|
||||
enum_generator.append(R"~~~(
|
||||
};
|
||||
Optional<@dimension_name:titlecase@Unit> string_to_@dimension_name:snakecase@_unit(StringView);
|
||||
StringView to_string(@dimension_name:titlecase@Unit);
|
||||
FlyString to_string(@dimension_name:titlecase@Unit);
|
||||
double ratio_between_units(@dimension_name:titlecase@Unit, @dimension_name:titlecase@Unit);
|
||||
)~~~");
|
||||
});
|
||||
@@ -181,7 +182,6 @@ ErrorOr<void> generate_implementation_file(JsonObject& dimensions_data, Core::Fi
|
||||
SourceGenerator generator { builder };
|
||||
|
||||
generator.append(R"~~~(
|
||||
#include <AK/StringView.h>
|
||||
#include <LibWeb/CSS/Units.h>
|
||||
|
||||
namespace Web::CSS {
|
||||
@@ -244,7 +244,7 @@ Optional<@dimension_name:titlecase@Unit> string_to_@dimension_name:snakecase@_un
|
||||
return {};
|
||||
}
|
||||
|
||||
StringView to_string(@dimension_name:titlecase@Unit value)
|
||||
FlyString to_string(@dimension_name:titlecase@Unit value)
|
||||
{
|
||||
switch (value) {)~~~");
|
||||
|
||||
@@ -254,7 +254,7 @@ StringView to_string(@dimension_name:titlecase@Unit value)
|
||||
unit_generator.set("unit_name:titlecase", title_casify(unit_name));
|
||||
unit_generator.append(R"~~~(
|
||||
case @dimension_name:titlecase@Unit::@unit_name:titlecase@:
|
||||
return "@unit_name:lowercase@"sv;)~~~");
|
||||
return "@unit_name:lowercase@"_fly_string;)~~~");
|
||||
});
|
||||
|
||||
dimension_generator.append(R"~~~(
|
||||
|
||||
Reference in New Issue
Block a user