mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-12 02:59:45 +00:00
LibWeb/CSS: Set enum sizes for media query types
This reduces `MediaFeature` from 112 to 104 bytes.
This commit is contained in:
parent
e2fa8cf7a8
commit
c4bcbff59a
Notes:
github-actions[bot]
2025-05-19 22:15:29 +00:00
Author: https://github.com/AtkinsSJ
Commit: c4bcbff59a
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4820
3 changed files with 7 additions and 4 deletions
|
@ -96,7 +96,7 @@ private:
|
||||||
// https://www.w3.org/TR/mediaqueries-4/#mq-features
|
// https://www.w3.org/TR/mediaqueries-4/#mq-features
|
||||||
class MediaFeature final : public BooleanExpression {
|
class MediaFeature final : public BooleanExpression {
|
||||||
public:
|
public:
|
||||||
enum class Comparison {
|
enum class Comparison : u8 {
|
||||||
Equal,
|
Equal,
|
||||||
LessThan,
|
LessThan,
|
||||||
LessThanOrEqual,
|
LessThanOrEqual,
|
||||||
|
@ -151,7 +151,7 @@ public:
|
||||||
virtual void dump(StringBuilder&, int indent_levels = 0) const override;
|
virtual void dump(StringBuilder&, int indent_levels = 0) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum class Type {
|
enum class Type : u8 {
|
||||||
IsTrue,
|
IsTrue,
|
||||||
ExactValue,
|
ExactValue,
|
||||||
MinValue,
|
MinValue,
|
||||||
|
|
|
@ -310,7 +310,7 @@ class URLStyleValue;
|
||||||
class VisualViewport;
|
class VisualViewport;
|
||||||
|
|
||||||
enum class Keyword;
|
enum class Keyword;
|
||||||
enum class MediaFeatureID;
|
enum class MediaFeatureID : u8;
|
||||||
enum class PropertyID;
|
enum class PropertyID;
|
||||||
|
|
||||||
struct BackgroundLayerData;
|
struct BackgroundLayerData;
|
||||||
|
|
|
@ -42,6 +42,9 @@ ErrorOr<void> generate_header_file(JsonObject& media_feature_data, Core::File& f
|
||||||
{
|
{
|
||||||
StringBuilder builder;
|
StringBuilder builder;
|
||||||
SourceGenerator generator { builder };
|
SourceGenerator generator { builder };
|
||||||
|
|
||||||
|
generator.set("media_feature_id_underlying_type", underlying_type_for_enum(media_feature_data.size()));
|
||||||
|
|
||||||
generator.append(R"~~~(#pragma once
|
generator.append(R"~~~(#pragma once
|
||||||
|
|
||||||
#include <AK/StringView.h>
|
#include <AK/StringView.h>
|
||||||
|
@ -58,7 +61,7 @@ enum class MediaFeatureValueType {
|
||||||
Resolution,
|
Resolution,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class MediaFeatureID {)~~~");
|
enum class MediaFeatureID : @media_feature_id_underlying_type@ {)~~~");
|
||||||
|
|
||||||
media_feature_data.for_each_member([&](auto& name, auto&) {
|
media_feature_data.for_each_member([&](auto& name, auto&) {
|
||||||
auto member_generator = generator.fork();
|
auto member_generator = generator.fork();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue