diff --git a/Tests/LibWeb/Text/expected/overflow-with-zero-sized-box.txt b/Tests/LibWeb/Text/expected/overflow-with-zero-sized-box.txt new file mode 100644 index 00000000000..aaecaf93c4a --- /dev/null +++ b/Tests/LibWeb/Text/expected/overflow-with-zero-sized-box.txt @@ -0,0 +1 @@ +PASS (didn't crash) diff --git a/Tests/LibWeb/Text/input/overflow-with-zero-sized-box.html b/Tests/LibWeb/Text/input/overflow-with-zero-sized-box.html new file mode 100644 index 00000000000..2f85c01b53d --- /dev/null +++ b/Tests/LibWeb/Text/input/overflow-with-zero-sized-box.html @@ -0,0 +1,13 @@ + + + diff --git a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp index 1241e83973c..055a0293251 100644 --- a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp +++ b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp @@ -276,6 +276,8 @@ Optional PaintableBox::scroll_thumb_rect(ScrollDirection direction auto scroll_overflow_size = direction == ScrollDirection::Horizontal ? scrollable_overflow_rect.width() : scrollable_overflow_rect.height(); auto scrollport_size = direction == ScrollDirection::Horizontal ? padding_rect.width() : padding_rect.height(); auto scroll_offset = direction == ScrollDirection::Horizontal ? this->scroll_offset().x() : this->scroll_offset().y(); + if (scroll_overflow_size == 0) + return {}; auto thumb_size = scrollport_size * (scrollport_size / scroll_overflow_size); CSSPixels thumb_position = 0;