From 8e20a443804f4252de363ebc0798c358bdd20c97 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 27 Jan 2024 14:31:47 +0100 Subject: [PATCH] LibWeb: Avoid expensive containing_block lookups in PaintableFragment The paintable has the containing block cached, so it's better (and less code in general) to ask for it there. --- Userland/Libraries/LibWeb/Painting/PaintableFragment.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibWeb/Painting/PaintableFragment.cpp b/Userland/Libraries/LibWeb/Painting/PaintableFragment.cpp index 2f15bbbc2d..98638809d0 100644 --- a/Userland/Libraries/LibWeb/Painting/PaintableFragment.cpp +++ b/Userland/Libraries/LibWeb/Painting/PaintableFragment.cpp @@ -24,8 +24,9 @@ PaintableFragment::PaintableFragment(Layout::LineBoxFragment const& fragment) CSSPixelRect const PaintableFragment::absolute_rect() const { CSSPixelRect rect { {}, size() }; - if (m_layout_node->containing_block() && m_layout_node->containing_block()->paintable_box()) - rect.set_location(m_layout_node->containing_block()->paintable_box()->absolute_position()); + auto const* containing_block = paintable().containing_block(); + if (containing_block && containing_block->paintable_box()) + rect.set_location(containing_block->paintable_box()->absolute_position()); rect.translate_by(offset()); return rect; }