diff --git a/Libraries/LibWeb/CSS/MediaQuery.h b/Libraries/LibWeb/CSS/MediaQuery.h index 3c5edded845..e760c134ca1 100644 --- a/Libraries/LibWeb/CSS/MediaQuery.h +++ b/Libraries/LibWeb/CSS/MediaQuery.h @@ -96,7 +96,7 @@ private: // https://www.w3.org/TR/mediaqueries-4/#mq-features class MediaFeature final : public BooleanExpression { public: - enum class Comparison { + enum class Comparison : u8 { Equal, LessThan, LessThanOrEqual, @@ -151,7 +151,7 @@ public: virtual void dump(StringBuilder&, int indent_levels = 0) const override; private: - enum class Type { + enum class Type : u8 { IsTrue, ExactValue, MinValue, diff --git a/Libraries/LibWeb/Forward.h b/Libraries/LibWeb/Forward.h index 7a857b6fccc..3d863ee4790 100644 --- a/Libraries/LibWeb/Forward.h +++ b/Libraries/LibWeb/Forward.h @@ -310,7 +310,7 @@ class URLStyleValue; class VisualViewport; enum class Keyword; -enum class MediaFeatureID; +enum class MediaFeatureID : u8; enum class PropertyID; struct BackgroundLayerData; diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMediaFeatureID.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMediaFeatureID.cpp index 992952dd459..6816af98db9 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMediaFeatureID.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMediaFeatureID.cpp @@ -42,6 +42,9 @@ ErrorOr generate_header_file(JsonObject& media_feature_data, Core::File& f { StringBuilder builder; SourceGenerator generator { builder }; + + generator.set("media_feature_id_underlying_type", underlying_type_for_enum(media_feature_data.size())); + generator.append(R"~~~(#pragma once #include @@ -58,7 +61,7 @@ enum class MediaFeatureValueType { Resolution, }; -enum class MediaFeatureID {)~~~"); +enum class MediaFeatureID : @media_feature_id_underlying_type@ {)~~~"); media_feature_data.for_each_member([&](auto& name, auto&) { auto member_generator = generator.fork();