浏览代码

LibWeb: Improve resolved style for CSS {min,max}-{width,height}

If the specified value for these properties is "none", we end up storing
it as an "undefined" CSS::Length in the computed values.

We need to convert it back into "none" for getComputedStyle().
Andreas Kling 3 年之前
父节点
当前提交
a31855ae10
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp

+ 8 - 0
Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp

@@ -452,14 +452,22 @@ RefPtr<StyleValue> ResolvedCSSStyleDeclaration::style_value_for_property(Layout:
     case CSS::PropertyID::Width:
         return LengthStyleValue::create(layout_node.computed_values().width());
     case CSS::PropertyID::MinWidth:
+        if (layout_node.computed_values().min_width().is_undefined())
+            return IdentifierStyleValue::create(CSS::ValueID::None);
         return LengthStyleValue::create(layout_node.computed_values().min_width());
     case CSS::PropertyID::MaxWidth:
+        if (layout_node.computed_values().max_width().is_undefined())
+            return IdentifierStyleValue::create(CSS::ValueID::None);
         return LengthStyleValue::create(layout_node.computed_values().max_width());
     case CSS::PropertyID::Height:
         return LengthStyleValue::create(layout_node.computed_values().height());
     case CSS::PropertyID::MinHeight:
+        if (layout_node.computed_values().min_height().is_undefined())
+            return IdentifierStyleValue::create(CSS::ValueID::None);
         return LengthStyleValue::create(layout_node.computed_values().min_height());
     case CSS::PropertyID::MaxHeight:
+        if (layout_node.computed_values().max_height().is_undefined())
+            return IdentifierStyleValue::create(CSS::ValueID::None);
         return LengthStyleValue::create(layout_node.computed_values().max_height());
     case CSS::PropertyID::MarginTop:
         return LengthStyleValue::create(layout_node.computed_values().margin().top);