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;
+ });
}