diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 92b29019d0..421e83cb46 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -5952,6 +5952,12 @@ Parser::ParseErrorOr> Parser::parse_css_value(Property if (auto parsed_value = parse_math_depth_value(component_values)) return parsed_value.release_nonnull(); return ParseError::SyntaxError; + case PropertyID::ObjectPosition: + // FIXME: This should use a parse_position compatible to VALUES-4 + // and not the background position, which is almost the same. + if (auto parsed_value = parse_comma_separated_value_list(component_values, [this](auto& tokens) { return parse_single_background_position_value(tokens); })) + return parsed_value.release_nonnull(); + return ParseError::SyntaxError; case PropertyID::Overflow: if (auto parsed_value = parse_overflow_value(component_values)) return parsed_value.release_nonnull(); diff --git a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp index c6fec38af1..ce70910be9 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -1007,6 +1008,12 @@ Optional StyleProperties::object_fit() const return value_id_to_object_fit(value->to_identifier()); } +CSS::PositionStyleValue const& StyleProperties::object_position() const +{ + auto value = property(CSS::PropertyID::ObjectPosition); + return value->as_position(); +} + Optional StyleProperties::table_layout() const { auto value = property(CSS::PropertyID::TableLayout); diff --git a/Userland/Libraries/LibWeb/CSS/StyleProperties.h b/Userland/Libraries/LibWeb/CSS/StyleProperties.h index 76f6761646..29f7eac1b7 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleProperties.h +++ b/Userland/Libraries/LibWeb/CSS/StyleProperties.h @@ -117,6 +117,7 @@ public: Vector> grid_template_areas() const; String grid_area() const; Optional object_fit() const; + CSS::PositionStyleValue const& object_position() const; Optional table_layout() const; Vector transformations() const;