diff --git a/Userland/Libraries/LibWeb/CSS/Identifiers.json b/Userland/Libraries/LibWeb/CSS/Identifiers.json index 2f66bf8167..1bbb27730d 100644 --- a/Userland/Libraries/LibWeb/CSS/Identifiers.json +++ b/Userland/Libraries/LibWeb/CSS/Identifiers.json @@ -160,6 +160,8 @@ "text", "underline", "uppercase", + "upper-alpha", + "upper-latin", "visible", "vertical-text", "wait", diff --git a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp index 9860bb1254..01bf6b4d68 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp @@ -582,6 +582,10 @@ Optional StyleProperties::list_style_type() const return CSS::ListStyleType::LowerAlpha; case CSS::ValueID::LowerLatin: return CSS::ListStyleType::LowerLatin; + case CSS::ValueID::UpperAlpha: + return CSS::ListStyleType::UpperAlpha; + case CSS::ValueID::UpperLatin: + return CSS::ListStyleType::UpperLatin; default: return {}; } diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index 9a0b472a6d..1a7ca22da2 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -162,6 +162,8 @@ enum class ListStyleType { DecimalLeadingZero, LowerAlpha, LowerLatin, + UpperAlpha, + UpperLatin, }; enum class Overflow : u8 { diff --git a/Userland/Libraries/LibWeb/Layout/ListItemMarkerBox.cpp b/Userland/Libraries/LibWeb/Layout/ListItemMarkerBox.cpp index dc201e4712..1d91d37d84 100644 --- a/Userland/Libraries/LibWeb/Layout/ListItemMarkerBox.cpp +++ b/Userland/Libraries/LibWeb/Layout/ListItemMarkerBox.cpp @@ -12,6 +12,7 @@ namespace Web::Layout { constexpr auto lower_alpha = "abcdefghijklmnopqrstuvwxyz"; +constexpr auto upper_alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; ListItemMarkerBox::ListItemMarkerBox(DOM::Document& document, CSS::ListStyleType style_type, size_t index) : Box(document, nullptr, CSS::StyleProperties::create()) @@ -81,6 +82,10 @@ void ListItemMarkerBox::paint(PaintContext& context, PaintPhase phase) case CSS::ListStyleType::LowerLatin: context.painter().draw_text(enclosing, number_to_alphabet(m_index, lower_alpha), Gfx::TextAlignment::Center); break; + case CSS::ListStyleType::UpperAlpha: + case CSS::ListStyleType::UpperLatin: + context.painter().draw_text(enclosing, number_to_alphabet(m_index, upper_alpha), Gfx::TextAlignment::Center); + break; case CSS::ListStyleType::None: return;