diff options
4 files changed, 7 insertions, 2 deletions
diff --git a/Userland/Libraries/LibWeb/CSS/ComputedValues.h b/Userland/Libraries/LibWeb/CSS/ComputedValues.h index 24321e83b1..d328ad71c8 100644 --- a/Userland/Libraries/LibWeb/CSS/ComputedValues.h +++ b/Userland/Libraries/LibWeb/CSS/ComputedValues.h @@ -41,7 +41,7 @@ public: }; struct FlexBasisData { - CSS::FlexBasis type { CSS::FlexBasis::Content }; + CSS::FlexBasis type { CSS::FlexBasis::Auto }; CSS::Length length {}; }; diff --git a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp index 8be326dd77..caefdc203e 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp @@ -285,6 +285,9 @@ Optional<CSS::FlexBasisData> StyleProperties::flex_basis() const if (value.value()->is_identifier() && value.value()->to_identifier() == CSS::ValueID::Content) return { { CSS::FlexBasis::Content, {} } }; + if (value.value()->is_auto()) + return { { CSS::FlexBasis::Auto, {} } }; + if (value.value()->is_length()) return { { CSS::FlexBasis::Length, value.value()->to_length() } }; diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index 52fe6fa632..407becce3b 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -96,7 +96,8 @@ enum class FlexWrap { enum class FlexBasis { Content, - Length + Length, + Auto, }; enum class WhiteSpace { diff --git a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp index 3f9b5f51ef..9407030d3f 100644 --- a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp @@ -311,6 +311,7 @@ void FlexFormattingContext::run(Box& box, LayoutMode) } else { // E // FIXME: This is probably too naive. + // FIXME: Care about FlexBasis::Auto if (has_definite_main_size(child_box)) { flex_item.flex_base_size = specified_main_size(child_box); } else { |