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

LibWeb: Convert CSS Token::m_unit from StringBuilder to FlyString

This value doesn't change once it's assigned to the Token, so it can be
more lightweight than a StringBuilder.
This commit is contained in:
Sam Atkins 2021-10-28 12:01:15 +01:00 committed by Andreas Kling
parent 9286aa77bc
commit 75e7c2c5c0
3 changed files with 7 additions and 6 deletions

View file

@ -59,12 +59,12 @@ String Token::to_debug_string() const
case Type::Percentage: case Type::Percentage:
builder.append("Percentage: "); builder.append("Percentage: ");
builder.append(m_value.to_string()); builder.append(m_value.to_string());
builder.append(m_unit.to_string()); builder.append('%');
return builder.to_string(); return builder.to_string();
case Type::Dimension: case Type::Dimension:
builder.append("Dimension: "); builder.append("Dimension: ");
builder.append(m_value.to_string()); builder.append(m_value.to_string());
builder.append(m_unit.to_string()); builder.append(m_unit);
return builder.to_string(); return builder.to_string();
case Type::Whitespace: case Type::Whitespace:
builder.append("Whitespace"); builder.append("Whitespace");
@ -140,7 +140,7 @@ String Token::to_debug_string() const
} }
builder.append("', unit: '"); builder.append("', unit: '");
builder.append(m_unit.to_string()); builder.append(m_unit);
} }
builder.append("' }"); builder.append("' }");

View file

@ -7,6 +7,7 @@
#pragma once #pragma once
#include <AK/FlyString.h>
#include <AK/String.h> #include <AK/String.h>
#include <AK/StringBuilder.h> #include <AK/StringBuilder.h>
#include <math.h> #include <math.h>
@ -132,7 +133,7 @@ public:
StringView dimension_unit() const StringView dimension_unit() const
{ {
VERIFY(m_type == Type::Dimension); VERIFY(m_type == Type::Dimension);
return m_unit.string_view(); return m_unit.view();
} }
double dimension_value() const double dimension_value() const
{ {
@ -175,7 +176,7 @@ private:
Type m_type { Type::Invalid }; Type m_type { Type::Invalid };
StringBuilder m_value; StringBuilder m_value;
StringBuilder m_unit; FlyString m_unit;
HashType m_hash_type { HashType::Unrestricted }; HashType m_hash_type { HashType::Unrestricted };
NumberType m_number_type { NumberType::Integer }; NumberType m_number_type { NumberType::Integer };
double m_number_value { 0 }; double m_number_value { 0 };

View file

@ -685,7 +685,7 @@ Token Tokenizer::consume_a_numeric_token()
auto unit = consume_a_name(); auto unit = consume_a_name();
VERIFY(!unit.is_empty() && !unit.is_whitespace()); VERIFY(!unit.is_empty() && !unit.is_whitespace());
token.m_unit.append(unit); token.m_unit = move(unit);
return token; return token;
} }