浏览代码

LibWeb: Parse flexible length values for GridTrackSizes

Fix a bug as well as implement new functionality by parsing flexible
length values for GridTrackSizes.
martinfalisse 2 年之前
父节点
当前提交
493c6cf0fd
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp

+ 9 - 0
Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp

@@ -5329,6 +5329,15 @@ RefPtr<StyleValue> Parser::parse_grid_track_sizes(Vector<ComponentValue> const&
             params.append(Length::make_auto());
             params.append(Length::make_auto());
             continue;
             continue;
         }
         }
+        if (component_value.token().type() == Token::Type::Dimension) {
+            float numeric_value = component_value.token().dimension_value();
+            auto unit_string = component_value.token().dimension_unit();
+            if (unit_string.equals_ignoring_case("fr"sv) && numeric_value) {
+                params.append(GridTrackSize(numeric_value));
+                continue;
+            }
+        }
+
         auto dimension = parse_dimension(component_value);
         auto dimension = parse_dimension(component_value);
         if (!dimension.has_value())
         if (!dimension.has_value())
             return GridTrackSizeStyleValue::create({});
             return GridTrackSizeStyleValue::create({});