diff --git a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp index 7fc4c2596d..e2e6e70809 100644 --- a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp +++ b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp @@ -289,6 +289,29 @@ ErrorOr> ResolvedCSSStyleDeclaration::style_value_for_p layout_node, [](auto& layer) { return IdentifierStyleValue::create(to_value_id(layer.origin)); }, [] { return IdentifierStyleValue::create(ValueID::PaddingBox); }); + case PropertyID::BackgroundPosition: + return style_value_for_background_property( + layout_node, + [](auto& layer) -> ErrorOr> { + return PositionStyleValue::create( + TRY(EdgeStyleValue::create(layer.position_edge_x, layer.position_offset_x)), + TRY(EdgeStyleValue::create(layer.position_edge_y, layer.position_offset_y))); + }, + []() -> ErrorOr> { + return PositionStyleValue::create( + TRY(EdgeStyleValue::create(PositionEdge::Left, Percentage(0))), + TRY(EdgeStyleValue::create(PositionEdge::Top, Percentage(0)))); + }); + case PropertyID::BackgroundPositionX: + return style_value_for_background_property( + layout_node, + [](auto& layer) { return EdgeStyleValue::create(layer.position_edge_x, layer.position_offset_x); }, + [] { return EdgeStyleValue::create(PositionEdge::Left, Percentage(0)); }); + case PropertyID::BackgroundPositionY: + return style_value_for_background_property( + layout_node, + [](auto& layer) { return EdgeStyleValue::create(layer.position_edge_y, layer.position_offset_y); }, + [] { return EdgeStyleValue::create(PositionEdge::Top, Percentage(0)); }); case PropertyID::BackgroundRepeat: return style_value_for_background_property( layout_node,