diff --git a/Userland/Libraries/LibWeb/Layout/Node.cpp b/Userland/Libraries/LibWeb/Layout/Node.cpp index 4afc3bacea..49efad6a29 100644 --- a/Userland/Libraries/LibWeb/Layout/Node.cpp +++ b/Userland/Libraries/LibWeb/Layout/Node.cpp @@ -40,15 +40,8 @@ bool Node::can_contain_boxes_with_position_absolute() const const BlockContainer* Node::containing_block() const { - auto nearest_block_ancestor = [this] { - auto* ancestor = parent(); - while (ancestor && !is(*ancestor)) - ancestor = ancestor->parent(); - return static_cast(ancestor); - }; - if (is(*this)) - return nearest_block_ancestor(); + return first_ancestor_of_type(); auto position = computed_values().position(); @@ -64,7 +57,7 @@ const BlockContainer* Node::containing_block() const if (position == CSS::Position::Fixed) return &root(); - return nearest_block_ancestor(); + return first_ancestor_of_type(); } bool Node::establishes_stacking_context() const