Skip to content

Commit ca4eed0

Browse files
committed
flex: added validation for flex-grow and flex-shrink (must be positive number)
1 parent d5354e6 commit ca4eed0

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

src/render_flex.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,8 +792,17 @@ std::list<litehtml::render_item_flex::flex_line> litehtml::render_item_flex::get
792792
for( auto& el : m_children)
793793
{
794794
flex_item item(el);
795+
795796
item.grow = (int) (item.el->css().get_flex_grow() * 1000.0);
797+
// Negative numbers are invalid.
798+
// https://www.w3.org/TR/css-flexbox-1/#valdef-flex-grow-number
799+
if(item.grow < 0) item.grow = 0;
800+
796801
item.shrink = (int) (item.el->css().get_flex_shrink() * 1000.0);
802+
// Negative numbers are invalid.
803+
// https://www.w3.org/TR/css-flexbox-1/#valdef-flex-shrink-number
804+
if(item.shrink < 0) item.shrink = 1000.0;
805+
797806
item.el->calc_outlines(self_size.render_width);
798807
item.order = item.el->css().get_order();
799808
item.src_order = src_order++;
577 Bytes
Loading

0 commit comments

Comments
 (0)