diff --git a/Tests/LibWeb/Text/data/iframe-with-border-radius-svg.html b/Tests/LibWeb/Text/data/iframe-with-border-radius-svg.html new file mode 100644 index 0000000000..62434fc1be --- /dev/null +++ b/Tests/LibWeb/Text/data/iframe-with-border-radius-svg.html @@ -0,0 +1,7 @@ + +
Text
diff --git a/Tests/LibWeb/Text/expected/border-radius-div-containing-iframe-with-border-radius-svg.txt b/Tests/LibWeb/Text/expected/border-radius-div-containing-iframe-with-border-radius-svg.txt new file mode 100644 index 0000000000..9f77c42ba3 --- /dev/null +++ b/Tests/LibWeb/Text/expected/border-radius-div-containing-iframe-with-border-radius-svg.txt @@ -0,0 +1 @@ + PASS! (didn't crash) diff --git a/Tests/LibWeb/Text/input/border-radius-div-containing-iframe-with-border-radius-svg.html b/Tests/LibWeb/Text/input/border-radius-div-containing-iframe-with-border-radius-svg.html new file mode 100644 index 0000000000..67cccf1d47 --- /dev/null +++ b/Tests/LibWeb/Text/input/border-radius-div-containing-iframe-with-border-radius-svg.html @@ -0,0 +1,13 @@ + +
+ + diff --git a/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp b/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp index 9f1844c3db..c2b0b1619b 100644 --- a/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp +++ b/Userland/Libraries/LibWeb/Painting/CommandExecutorCPU.cpp @@ -461,7 +461,9 @@ CommandResult CommandExecutorCPU::draw_triangle_wave(Gfx::IntPoint const& p1, Gf CommandResult CommandExecutorCPU::sample_under_corners(u32 id, CornerRadii const& corner_radii, Gfx::IntRect const& border_rect, CornerClip corner_clip) { - m_corner_clippers.resize(id + 1); + if (id >= m_corner_clippers.size()) + m_corner_clippers.resize(id + 1); + auto clipper = BorderRadiusCornerClipper::create(corner_radii, border_rect.to_type(), corner_clip); m_corner_clippers[id] = clipper.release_value_but_fixme_should_propagate_errors(); m_corner_clippers[id]->sample_under_corners(painter());