diff --git a/Libraries/LibHTML/Layout/LayoutBox.cpp b/Libraries/LibHTML/Layout/LayoutBox.cpp index 54e0b24aad..39d7c494e8 100644 --- a/Libraries/LibHTML/Layout/LayoutBox.cpp +++ b/Libraries/LibHTML/Layout/LayoutBox.cpp @@ -91,10 +91,5 @@ void LayoutBox::set_needs_display() return; } - for_each_fragment_of_this([&](auto& fragment) { - if (&fragment.layout_node() == this || is_ancestor_of(fragment.layout_node())) { - const_cast(frame)->set_needs_display(fragment.rect()); - } - return IterationDecision::Continue; - }); + LayoutNode::set_needs_display(); } diff --git a/Libraries/LibHTML/Layout/LayoutNode.cpp b/Libraries/LibHTML/Layout/LayoutNode.cpp index dbd79398af..95670127ed 100644 --- a/Libraries/LibHTML/Layout/LayoutNode.cpp +++ b/Libraries/LibHTML/Layout/LayoutNode.cpp @@ -76,4 +76,13 @@ void LayoutNode::split_into_lines(LayoutBlock& container) void LayoutNode::set_needs_display() { + auto* frame = document().frame(); + ASSERT(frame); + + for_each_fragment_of_this([&](auto& fragment) { + if (&fragment.layout_node() == this || is_ancestor_of(fragment.layout_node())) { + const_cast(frame)->set_needs_display(fragment.rect()); + } + return IterationDecision::Continue; + }); }